diff options
author | Matthias Schiffer <matthias@gamezock.de> | 2009-12-10 11:39:42 +0100 |
---|---|---|
committer | Matthias Schiffer <matthias@gamezock.de> | 2009-12-10 11:39:42 +0100 |
commit | e34b6f19888ab063201c7b4f2706b200fa93cd35 (patch) | |
tree | cb68a536ea8280734a60d590fd765bc06dc92957 /DisplayClass.cpp | |
parent | 4f2236f36446a5b097e28c0f76e4962ce7e115b1 (diff) | |
parent | f31beab9a7160e913da7ff30d946eaf2a721fdc8 (diff) | |
download | c3d-e34b6f19888ab063201c7b4f2706b200fa93cd35.tar c3d-e34b6f19888ab063201c7b4f2706b200fa93cd35.zip |
Korrigierte BSPTree-Render-Reihenfolge gemerged
Diffstat (limited to 'DisplayClass.cpp')
-rw-r--r-- | DisplayClass.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/DisplayClass.cpp b/DisplayClass.cpp index 69c4c17..cf7a0f9 100644 --- a/DisplayClass.cpp +++ b/DisplayClass.cpp @@ -3,8 +3,7 @@ #include "BSPTree.h" -DisplayClass::OpaqueRenderer DisplayClass::opaqueRenderer; -DisplayClass::TransparentRenderer DisplayClass::transparentRenderer; +DisplayClass::Renderer DisplayClass::renderer; DisplayClass::DisplayClass() { @@ -27,8 +26,6 @@ void DisplayClass::renderScene(unsigned long delta) glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - std::list<Triangle> triangles; - glLoadIdentity(); // Clean up matrix glTranslatef(0.0, 0.0, -30.0); // Then set up transformation glRotatef(angle, 0.0, 1.0, 0.0); @@ -37,6 +34,8 @@ void DisplayClass::renderScene(unsigned long delta) glRotatef(-angle*5, 1.0, 1.0, 1.0); + std::list<Triangle> triangles; + for(int i = 0; i < 8; ++i) { std::list<Triangle> t = cubeing[i].getTriangles(); triangles.splice(triangles.end(), t); @@ -48,12 +47,11 @@ void DisplayClass::renderScene(unsigned long delta) glGetFloatv(GL_MODELVIEW_MATRIX, transform.array); transform.inverse(inverseTransform); - inverseTransform.set_translation(vmml::vec3f()); - vmml::vec3f viewVector = inverseTransform*vmml::vec3f(0, 0, -1); + + vmml::vec3f viewPoint = inverseTransform*vmml::vec3f(0, 0, 0); glBegin(GL_TRIANGLES); - tree.visit(opaqueRenderer, -viewVector); - tree.visit(transparentRenderer, viewVector); + tree.visit(renderer, viewPoint); glEnd(); glFlush(); |