[OpenGL] z-buffer inactif ?

z-buffer inactif ? [OpenGL] - C++ - Programmation

Marsh Posté le 06-11-2004 à 23:21:06    

Bonjour
Donc j'essaye de construire des diagrammes de voronoi à l'aide du Z buffer d'OpenGL, en dessinant des cones qui se couperont entre eux et me donneront au final mon diagramme (mais bon ça on s'en fout, mon problème arrive).
 
Là où je bloque c'est que le Z buffer n'a pas l'air de marcher du tout. Les cônes qui sont censés se couper entre eux se mélangent et au final j'ai une bonne bouillie de pixels.
Donc si quelqu'un pouvait bien me confirmer que ce qui suit est assez pour activer ce foutu Z buffer :
 
dans mon main :
glutInitDisplayMode ( GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH );
 
à l'initialisation j'active le test de profondeur:
glEnable(GL_DEPTH_TEST); // Enable Depth test
 
dans mon display je vide bien le Depth buffer :
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
 
A noter que j'utilise un glOrtho pour l'affichage de la scene (un glOrtho peut marcher avec le Z buffer ouais ?)
 
Merci d'avance pour vos réponses.

Reply

Marsh Posté le 06-11-2004 à 23:21:06   

Reply

Marsh Posté le 06-11-2004 à 23:22:10    

enable du glWrite ?

Reply

Marsh Posté le 07-11-2004 à 00:34:34    

Quelles sont les valeurs de tes plans de clipping proche et éloigné ? Ce sont les deux derniers paramètres de la fonction glOrtho.  
 
Sinon appelle glDepthMask (GL_TRUE) comme le conseille chrisbk même si c'est la valeur par défaut je pense.


Message édité par Zeross le 07-11-2004 à 00:35:06
Reply

Marsh Posté le 07-11-2004 à 14:34:18    

clipping proche 0.1 (on m'a toujours dit que 0.0f pouvait entrainer des trucs bizarres )
clipping éloigné 1000
 
j'ai rajouté glDepthMask (GL_TRUE) mais ça n'a rien changé ... ( J'ai remplacé mon algo de cônes par 2 teapot à des valeurs Z différentes, pour être sur que le problème ne venait pas de mes algo de voronoi, mais non, même résultat, je n'ai pas une teapot devant l'autre mais les 2 se mélangent assez bizarrement ... )

Reply

Marsh Posté le 07-11-2004 à 17:34:27    

Il est possible que la différence entre tes valeurs de clipping soit trop grande, je mettrais entre 1 et 100 si c'est possible.
 
Sinon tu initialises le Z-buffer à 1.0f ? c'est par défaut normalement mais bon on sait jamais :D


Message édité par leto78 le 07-11-2004 à 17:37:04
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed