diff options
Diffstat (limited to 'DisplayClass.cpp')
-rw-r--r-- | DisplayClass.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/DisplayClass.cpp b/DisplayClass.cpp index cefa6ae..f320f3c 100644 --- a/DisplayClass.cpp +++ b/DisplayClass.cpp @@ -6,6 +6,11 @@ #include "BSPTree.h" +void DisplayClass::RenderVisitor::operator() (const Triangle &t) const { + t.render(); +} + + DisplayClass::DisplayClass() { static const float pos[5] = {-3.0, -2.0, 0.0, 2.0, 3.0}; @@ -78,10 +83,13 @@ void DisplayClass::renderScene(unsigned long delta) //glLoadIdentity(); + BSPTree tree(triangles); + glBegin(GL_TRIANGLES); - for(std::list<Triangle>::reverse_iterator t = triangles.rbegin(); t != triangles.rend(); ++t) { + /*for(std::list<Triangle>::reverse_iterator t = triangles.rbegin(); t != triangles.rend(); ++t) { t->render(); - } + }*/ + tree.visit(RenderVisitor(), Vector(0, 0, -1)); glEnd(); glFlush(); |