summaryrefslogtreecommitdiffstats
path: root/DisplayClass.cpp
diff options
context:
space:
mode:
authorMatthias Schiffer <matthias@gamezock.de>2009-12-10 11:39:42 +0100
committerMatthias Schiffer <matthias@gamezock.de>2009-12-10 11:39:42 +0100
commite34b6f19888ab063201c7b4f2706b200fa93cd35 (patch)
treecb68a536ea8280734a60d590fd765bc06dc92957 /DisplayClass.cpp
parent4f2236f36446a5b097e28c0f76e4962ce7e115b1 (diff)
parentf31beab9a7160e913da7ff30d946eaf2a721fdc8 (diff)
downloadc3d-e34b6f19888ab063201c7b4f2706b200fa93cd35.tar
c3d-e34b6f19888ab063201c7b4f2706b200fa93cd35.zip
Korrigierte BSPTree-Render-Reihenfolge gemerged
Diffstat (limited to 'DisplayClass.cpp')
-rw-r--r--DisplayClass.cpp14
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();