bonjour !
je dois afficher 119 413 triangles (je sais je suis precis) et pour ce faire j'ai une structure simple :
listePolygone qui est un vector compose de polygone qui lui meme est un vector compose de triangle.
mon but etait de tout mettre dans une display list via le code simplifie suivant :
listOpenGlscene :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 polygon = glGenLists (1); glNewList(polygon, GL_COMPILE); listOpenGlScene->display(); glEndList();
listpolygone :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 // display all polygone for(vector<polygone*>::iterator i = listpolygone.begin(); i != listpolygone.end();++i){ (*i)->display() ; // display current point }
et triangle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 // display all triangle for(vector<triangle*>::iterator i = getlistTriangle().begin(); i != getlistTriangle().end();++i){ (*i)->display() ; // delete current point }
donc a priori rien de vraiment complique mais a l'execution au bout de 5 minutes tout simplement rien n'est affiche a l'ecran (toujours en chargement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 glBegin(GL_TRIANGLES); // point 1 glColor3f(1.0f,0.0f,0.0f); glVertex3f( pt1->getX(), pt1->getY(), pt1->getZ()); // point 2 glColor3f(0.0f,1.0f,0.0f); glVertex3f( pt2->getX(), pt2->getY(), pt2->getZ()); // point 3 glColor3f(0.0f,0.0f,1.0f); glVertex3f( pt2->getX(), pt2->getY(), pt2->getZ()); glEnd();).
je pense donc qu'il y a un probleme car 119 413 triangles c'est pas enorme je me trompe ?
j'ai verifie manuellement en mode debug si les valeurs etaient correct pour les points des triangles (bon bien sur pas tous les triangles c'est un peu long) et tout semble ok.
Partager