bonsoir, je perd la raison depuis ce matin ! j´ai un probleme assez embetant avec cette extension ( que j´avais pas avec NV_occlusion_query) ! J´ai implementé les occlusions queries avec l´exemple a la fin de cette doc
(http://oss.sgi.com/projects/ogl-sample/registry/A<BR>RB/occlusion_query.txt ), et le fait est que ca marche, mais pas completement. Le code que l´arb donne genereusement est a peu pres le suivant :
glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);
glDepthMask(GL_FALSE);
for ( i; AllObjects; i++){
glBeginQueryARB(GL_SAMPLES_PASSED_ARB, queries[i]);
/ / On rend le bounding volume i
glEndQueryARB(GL_SAMPLES_PASSED_ARB);
}
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
glDepthMask(GL_TRUE);
/ / ON RECUPERE LE NOMBRE DE PIXELS VISIBLE POUR CHAQUE OBJET ET ON AFFICHE.
Bref, le probleme c´est les fonctions colormask et depthmask ( si j´ai bien compris). Quand elles sont activées, les occlusions queries fonctionnent a moitié ( le nombre de pixels renvoyé est celui de la zone ecran, c.a.d que meme si un objet en cache un autre, l´objet caché renverra quand meme le nombre de pixels qui auraient ete affichés si il n´etait pas caché ( ...)).
Par contre lorsque je desactive les fonctions ColorMask et DepthMask, ca marche du feu de dieu, les objets cachés par un autre plus proche renvoient bien ZERO en pixels visibles. Probleme, l´objet bouding que j´avais utilisé pour le test d´occlusion devient alors visible ( et il est polygoné de surcroit, erk!)
Que faire ? ! et que sont glColorMask et glDepthMask ?
C´est un peu long, dsl 