From 3d65021d98a4345edfe1048a0af82b22f01a8b6f Mon Sep 17 00:00:00 2001 From: Alexandre Deckner Date: Mon, 3 Aug 2009 10:55:13 +0000 Subject: [PATCH] * 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 --- src/apps/haiku3d/Mesh.h | 2 +- src/apps/haiku3d/MeshInstance.cpp | 66 +++++++++++++++---------------- src/apps/haiku3d/RenderView.cpp | 27 ++++++------- src/apps/haiku3d/Texture.cpp | 6 +++ src/apps/haiku3d/Texture.h | 2 +- 5 files changed, 53 insertions(+), 50 deletions(-) diff --git a/src/apps/haiku3d/Mesh.h b/src/apps/haiku3d/Mesh.h index 4999d2b2c9..b3d69b93e8 100644 --- a/src/apps/haiku3d/Mesh.h +++ b/src/apps/haiku3d/Mesh.h @@ -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; diff --git a/src/apps/haiku3d/MeshInstance.cpp b/src/apps/haiku3d/MeshInstance.cpp index 3db9c8cbf6..772275e2c4 100644 --- a/src/apps/haiku3d/MeshInstance.cpp +++ b/src/apps/haiku3d/MeshInstance.cpp @@ -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); diff --git a/src/apps/haiku3d/RenderView.cpp b/src/apps/haiku3d/RenderView.cpp index e836ea7e30..a544c907f2 100644 --- a/src/apps/haiku3d/RenderView.cpp +++ b/src/apps/haiku3d/RenderView.cpp @@ -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; } diff --git a/src/apps/haiku3d/Texture.cpp b/src/apps/haiku3d/Texture.cpp index a16a75e8ab..6893d93afc 100644 --- a/src/apps/haiku3d/Texture.cpp +++ b/src/apps/haiku3d/Texture.cpp @@ -32,3 +32,9 @@ Texture::Id() { return fId; } + + +void +Texture::Update(float dt) +{ +} diff --git a/src/apps/haiku3d/Texture.h b/src/apps/haiku3d/Texture.h index 65127a327d..28a214df72 100644 --- a/src/apps/haiku3d/Texture.h +++ b/src/apps/haiku3d/Texture.h @@ -20,7 +20,7 @@ public: GLuint Id(); - virtual void Update(float dt) {}; + virtual void Update(float dt); protected: GLuint fId;