www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 124d59f2b9910bdd57a9a898870b5fcab3b33576
parent 70a210018b1edbf46a2f629ccfcd01cbd6789fec
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date:   Wed, 21 Dec 2011 22:33:36 +0100

Code pour dessiner les AABB.

Diffstat:
Mrules/chose.cpp | 48++++++++++++++++++++++++++++++++++++++++++++++++
Mrules/chose.hh | 1+
Mview.cpp | 7+++++++
3 files changed, 56 insertions(+), 0 deletions(-)

diff --git a/rules/chose.cpp b/rules/chose.cpp @@ -75,4 +75,52 @@ void Chose::updateAABB() { } } +void Chose::displayAABB() { + updateAABB(); + if (children.size() > 0) { + std::vector<Chose*>::iterator it; + for (it = children.begin(); it != children.end(); ++it) { + (*it)->displayAABB(); + } + } else { + // Affiche la AABB. + glVertex3d(lod.aabb[0],lod.aabb[2],lod.aabb[4]); + glVertex3d(lod.aabb[0],lod.aabb[3],lod.aabb[5]); + glVertex3d(lod.aabb[0],lod.aabb[2],lod.aabb[5]); + glVertex3d(lod.aabb[0],lod.aabb[2],lod.aabb[4]); + glVertex3d(lod.aabb[1],lod.aabb[2],lod.aabb[5]); + glVertex3d(lod.aabb[0],lod.aabb[2],lod.aabb[5]); + glVertex3d(lod.aabb[0],lod.aabb[2],lod.aabb[4]); + glVertex3d(lod.aabb[0],lod.aabb[3],lod.aabb[5]); + glVertex3d(lod.aabb[0],lod.aabb[3],lod.aabb[4]); + glVertex3d(lod.aabb[0],lod.aabb[2],lod.aabb[4]); + glVertex3d(lod.aabb[1],lod.aabb[3],lod.aabb[4]); + glVertex3d(lod.aabb[0],lod.aabb[3],lod.aabb[4]); + glVertex3d(lod.aabb[0],lod.aabb[2],lod.aabb[4]); + glVertex3d(lod.aabb[1],lod.aabb[2],lod.aabb[5]); + glVertex3d(lod.aabb[1],lod.aabb[2],lod.aabb[4]); + glVertex3d(lod.aabb[0],lod.aabb[2],lod.aabb[4]); + glVertex3d(lod.aabb[1],lod.aabb[3],lod.aabb[4]); + glVertex3d(lod.aabb[1],lod.aabb[2],lod.aabb[4]); + glVertex3d(lod.aabb[1],lod.aabb[3],lod.aabb[5]); + glVertex3d(lod.aabb[0],lod.aabb[2],lod.aabb[5]); + glVertex3d(lod.aabb[0],lod.aabb[3],lod.aabb[5]); + glVertex3d(lod.aabb[1],lod.aabb[3],lod.aabb[5]); + glVertex3d(lod.aabb[0],lod.aabb[3],lod.aabb[4]); + glVertex3d(lod.aabb[0],lod.aabb[3],lod.aabb[5]); + glVertex3d(lod.aabb[1],lod.aabb[3],lod.aabb[5]); + glVertex3d(lod.aabb[0],lod.aabb[2],lod.aabb[5]); + glVertex3d(lod.aabb[1],lod.aabb[2],lod.aabb[5]); + glVertex3d(lod.aabb[1],lod.aabb[3],lod.aabb[5]); + glVertex3d(lod.aabb[1],lod.aabb[2],lod.aabb[4]); + glVertex3d(lod.aabb[1],lod.aabb[2],lod.aabb[5]); + glVertex3d(lod.aabb[1],lod.aabb[3],lod.aabb[5]); + glVertex3d(lod.aabb[0],lod.aabb[3],lod.aabb[4]); + glVertex3d(lod.aabb[1],lod.aabb[3],lod.aabb[4]); + glVertex3d(lod.aabb[1],lod.aabb[3],lod.aabb[5]); + glVertex3d(lod.aabb[1],lod.aabb[2],lod.aabb[4]); + glVertex3d(lod.aabb[1],lod.aabb[3],lod.aabb[4]); + } +} + unsigned int Chose::initialSeed = 779313522;//random_seed(); diff --git a/rules/chose.hh b/rules/chose.hh @@ -18,6 +18,7 @@ class Chose { public : void display(); + void displayAABB(); virtual bool split() = 0; virtual bool merge(); virtual void triangulation() = 0; diff --git a/view.cpp b/view.cpp @@ -97,6 +97,13 @@ void View::renderScene(int lastTime, int currentTime) { root->display(); glEnd(); + // DEBUG : display AABB + // glDisable(GL_LIGHTING); + // glDisable(GL_TEXTURE_2D); + // glBegin(GL_TRIANGLES); + // root->displayAABB(); + // glEnd(); + glFlush(); SDL_GL_SwapBuffers(); }