Bonjour à tous !
Je développe un petit outil en ce moment et j'utilise OpenGL pour visualiser des bateaux (pour expliquer les images qui viennent). Mais récemment mon programme s'est mis à me donner des images qui ne me plaisent pas du tout :
http://www.developpez.net/forums/att...1&d=1179921086
Vous voyez, et c'est notable sur la première image, que normalement on ne doit pas voir la partie du pont du bateau qui est sous la cabine. Or comme le montre l'image précédente, il y a un certain problème, comme un crénelage et plus on s'approche plus il disparait..
Donc je voulais savoir si quelqu'un avait déjà eu ce problème.
Voici mon InitGL() :
donc j'utilise normalement bien le depth test.. En plus avant je n'avais pas ce problème :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 /* buffers setting */ glClearColor(0.0f, 0.0f, 0.0f, 0.0f); // Black Background glClearDepth(1.0f); // Depth Buffer Setup glEnable(GL_DEPTH_TEST); // Active le test de profondeur /* polygon render */ glPolygonMode(GL_FRONT,GL_LINE); // Set the render mode to wireframe by default glEnable(GL_CULL_FACE); // Precises that backfaces don't have to be drawn glCullFace(GL_BACK); glShadeModel(GL_SMOOTH); // Enable Gourand Shading glEnable(GL_SHADE_MODEL) ; glMatrixMode(GL_MODELVIEW); glLoadIdentity() ; glEnable(GL_LIGHTING); // enable lighting glEnable(GL_LIGHT0); // enable light n°0 int MatSpec [4] = {1,1,1,1}; glMaterialiv(GL_FRONT_AND_BACK,GL_SPECULAR,MatSpec); glMateriali(GL_FRONT_AND_BACK,GL_SHININESS,100); glEnable ( GL_COLOR_MATERIAL ) ; glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
http://www.developpez.net/forums/att...1&d=1179921434
a noter qu'entre les 2 types de rendu le premier est en gouraud shading et l'autre en gouraud mais avec des normales foireuses.
Partager