Réponse acceptée !
ben en fait c'est tout con, tu passes en revue tous les vertices de ton modele, et si une valeur est plus petite ou plus grande que la précédente, tu l'enregistre.
ex: float Bbox[6]={0,0,0,0,0,0}; // init des vars a 0
pour_tous_les_vertices{ if (vertice[No].x<Bbox[0]) Bbox[0]=vertice[No].x;//minx if (vertice[No].x>Bbox[1]) Bbox[1]=vertice[No].x;//maxx
if (vertice[No].y<Bbox[2]) Bbox[2]=vertice[No].y;//miny etc... }
et tu as un tableau de floats avec ta bounding box, maintenant si tu veux la dessiner tu fais glBegin(GL_LINES);glVertex3f(toutcequetuveux);glEnd();
|