* Style fixes
* Moved the wait_for_thread in _StopRenderThread() git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32069 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
1c992a5285
commit
3d65021d98
@ -29,7 +29,7 @@ struct Face {
|
||||
|
||||
class Mesh : public Referenceable {
|
||||
public:
|
||||
virtual ~Mesh();
|
||||
virtual ~Mesh();
|
||||
|
||||
virtual Face& GetFace(uint32 index) const = 0;
|
||||
virtual uint32 FaceCount() const = 0;
|
||||
|
@ -105,50 +105,50 @@ MeshInstance::Render()
|
||||
|
||||
// draw face
|
||||
glNormal3f(normal.x(), normal.y(), normal.z());
|
||||
glTexCoord2f(face.v[0].u, face.v[0].v);
|
||||
glVertex3f(face.v[0].p.x(), face.v[0].p.y(), face.v[0].p.z());
|
||||
glTexCoord2f(face.v[0].u, face.v[0].v);
|
||||
glVertex3f(face.v[0].p.x(), face.v[0].p.y(), face.v[0].p.z());
|
||||
|
||||
glNormal3f(normal.x(), normal.y(), normal.z());
|
||||
glTexCoord2f(face.v[1].u, face.v[1].v);
|
||||
glVertex3f(face.v[1].p.x(), face.v[1].p.y(), face.v[1].p.z());
|
||||
glNormal3f(normal.x(), normal.y(), normal.z());
|
||||
glTexCoord2f(face.v[1].u, face.v[1].v);
|
||||
glVertex3f(face.v[1].p.x(), face.v[1].p.y(), face.v[1].p.z());
|
||||
|
||||
glNormal3f(normal.x(), normal.y(), normal.z());
|
||||
glTexCoord2f(face.v[2].u, face.v[2].v);
|
||||
glVertex3f(face.v[2].p.x(), face.v[2].p.y(), face.v[2].p.z());
|
||||
glNormal3f(normal.x(), normal.y(), normal.z());
|
||||
glTexCoord2f(face.v[2].u, face.v[2].v);
|
||||
glVertex3f(face.v[2].p.x(), face.v[2].p.y(), face.v[2].p.z());
|
||||
|
||||
if (face.vertexCount == 4) {
|
||||
glNormal3f(normal.x(), normal.y(), normal.z());
|
||||
glTexCoord2f(face.v[3].u, face.v[3].v);
|
||||
glVertex3f(face.v[3].p.x(), face.v[3].p.y(), face.v[3].p.z());
|
||||
}
|
||||
if (face.vertexCount == 4) {
|
||||
glNormal3f(normal.x(), normal.y(), normal.z());
|
||||
glTexCoord2f(face.v[3].u, face.v[3].v);
|
||||
glVertex3f(face.v[3].p.x(), face.v[3].p.y(), face.v[3].p.z());
|
||||
}
|
||||
|
||||
if (fDoubleSided) {
|
||||
if (face.vertexCount == 4) {
|
||||
glNormal3f(-normal.x(), -normal.y(), -normal.z());
|
||||
glTexCoord2f(face.v[3].u, face.v[3].v);
|
||||
glVertex3f(face.v[3].p.x(), face.v[3].p.y(), face.v[3].p.z());
|
||||
}
|
||||
if (fDoubleSided) {
|
||||
if (face.vertexCount == 4) {
|
||||
glNormal3f(-normal.x(), -normal.y(), -normal.z());
|
||||
glTexCoord2f(face.v[3].u, face.v[3].v);
|
||||
glVertex3f(face.v[3].p.x(), face.v[3].p.y(), face.v[3].p.z());
|
||||
}
|
||||
|
||||
glNormal3f(-normal.x(), -normal.y(), -normal.z());
|
||||
glTexCoord2f(face.v[2].u, face.v[2].v);
|
||||
glVertex3f(face.v[2].p.x(), face.v[2].p.y(), face.v[2].p.z());
|
||||
glNormal3f(-normal.x(), -normal.y(), -normal.z());
|
||||
glTexCoord2f(face.v[2].u, face.v[2].v);
|
||||
glVertex3f(face.v[2].p.x(), face.v[2].p.y(), face.v[2].p.z());
|
||||
|
||||
glNormal3f(-normal.x(), -normal.y(), -normal.z());
|
||||
glTexCoord2f(face.v[1].u, face.v[1].v);
|
||||
glVertex3f(face.v[1].p.x(), face.v[1].p.y(), face.v[1].p.z());
|
||||
glNormal3f(-normal.x(), -normal.y(), -normal.z());
|
||||
glTexCoord2f(face.v[1].u, face.v[1].v);
|
||||
glVertex3f(face.v[1].p.x(), face.v[1].p.y(), face.v[1].p.z());
|
||||
|
||||
glNormal3f(-normal.x(), -normal.y(), -normal.z());
|
||||
glTexCoord2f(face.v[0].u, face.v[0].v);
|
||||
glVertex3f(face.v[0].p.x(), face.v[0].p.y(), face.v[0].p.z());
|
||||
}
|
||||
lastVertexCount = face.vertexCount;
|
||||
glNormal3f(-normal.x(), -normal.y(), -normal.z());
|
||||
glTexCoord2f(face.v[0].u, face.v[0].v);
|
||||
glVertex3f(face.v[0].p.x(), face.v[0].p.y(), face.v[0].p.z());
|
||||
}
|
||||
lastVertexCount = face.vertexCount;
|
||||
}
|
||||
glEnd();
|
||||
//printf("batchCount %d\n", batchCount);
|
||||
|
||||
if (fDrawNormals) {
|
||||
glBegin(GL_LINES);
|
||||
for(uint32 i = 0; i < fMeshReference->FaceCount(); i++) {
|
||||
if (fDrawNormals) {
|
||||
glBegin(GL_LINES);
|
||||
for(uint32 i = 0; i < fMeshReference->FaceCount(); i++) {
|
||||
|
||||
const Face& face = fMeshReference->GetFace(i);
|
||||
|
||||
|
@ -39,10 +39,6 @@ RenderView::RenderView(BRect frame)
|
||||
RenderView::~RenderView()
|
||||
{
|
||||
_StopRenderThread();
|
||||
|
||||
if (fRenderThread >= 0)
|
||||
wait_for_thread(fRenderThread, NULL);
|
||||
|
||||
_DeleteScene();
|
||||
}
|
||||
|
||||
@ -62,10 +58,9 @@ RenderView::AttachedToWindow()
|
||||
uint32
|
||||
RenderView::_CreateRenderThread()
|
||||
{
|
||||
fRenderThread = spawn_thread(RenderView::_RenderThreadEntry,
|
||||
"renderThread",
|
||||
B_NORMAL_PRIORITY,
|
||||
this);
|
||||
fRenderThread = spawn_thread(RenderView::_RenderThreadEntry, "renderThread",
|
||||
B_NORMAL_PRIORITY, this);
|
||||
|
||||
if (fRenderThread < 0)
|
||||
return fRenderThread;
|
||||
|
||||
@ -79,6 +74,9 @@ RenderView::_StopRenderThread()
|
||||
LockGL();
|
||||
fStopRendering = true;
|
||||
UnlockGL();
|
||||
|
||||
if (fRenderThread >= 0)
|
||||
wait_for_thread(fRenderThread, NULL);
|
||||
}
|
||||
|
||||
|
||||
@ -178,10 +176,9 @@ RenderView::_CreateScene()
|
||||
Quaternion(0, 0, 0, 1), 4.0f * timeSpacing);
|
||||
fMeshInstances.push_back(instance);
|
||||
mesh->ReleaseReference();
|
||||
texture->ReleaseReference();
|
||||
|
||||
fMainCamera = new Camera(Vector3(0, 0, 0), Quaternion(0, 0, 0, 1), 50);
|
||||
|
||||
texture->ReleaseReference();
|
||||
}
|
||||
|
||||
|
||||
@ -200,7 +197,7 @@ void
|
||||
RenderView::_UpdateViewport()
|
||||
{
|
||||
if (fNextRes != fRes && fNextRes.x >= 1.0 && fNextRes.y >= 1.0) {
|
||||
glViewport(0, 0, (GLint)fNextRes.x + 1, (GLint)fNextRes.y + 1);
|
||||
glViewport(0, 0, (GLint) fNextRes.x + 1, (GLint) fNextRes.y + 1);
|
||||
fRes = fNextRes;
|
||||
_UpdateCamera();
|
||||
}
|
||||
@ -227,10 +224,10 @@ RenderView::_Render()
|
||||
_UpdateViewport();
|
||||
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
glLoadIdentity();
|
||||
glLoadIdentity();
|
||||
|
||||
bigtime_t time = system_time();
|
||||
float deltaTime = 0.000001 * (float)(time - fLastFrameTime);
|
||||
bigtime_t time = system_time();
|
||||
float deltaTime = 0.000001 * (float)(time - fLastFrameTime);
|
||||
fLastFrameTime = time;
|
||||
|
||||
MeshInstanceList::iterator it = fMeshInstances.begin();
|
||||
@ -243,7 +240,7 @@ RenderView::_Render()
|
||||
UnlockGL();
|
||||
return false;
|
||||
}
|
||||
UnlockGL();
|
||||
UnlockGL();
|
||||
SwapBuffers(false); // true = vsync
|
||||
return true;
|
||||
}
|
||||
|
@ -32,3 +32,9 @@ Texture::Id()
|
||||
{
|
||||
return fId;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
Texture::Update(float dt)
|
||||
{
|
||||
}
|
||||
|
@ -20,7 +20,7 @@ public:
|
||||
|
||||
GLuint Id();
|
||||
|
||||
virtual void Update(float dt) {};
|
||||
virtual void Update(float dt);
|
||||
|
||||
protected:
|
||||
GLuint fId;
|
||||
|
Loading…
x
Reference in New Issue
Block a user