cs_greg63
Messages postés22Date d'inscriptiondimanche 3 août 2003StatutMembreDernière intervention16 décembre 2011
-
12 nov. 2004 à 10:41
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 2010
-
14 nov. 2004 à 19:50
Salut a tous, je débute en OpenGL et j'ai un petit pb avec la transparence : j'ai deux objets transparents qui sont cencés se croiser. C'est a dire que les objets doivent apparaitre transparents qd on en regarde un a travers l'autre.
Le probleme, c'est que d'apres ce que j'ai compris a l'OpenGL, il y a un ordre pour dessiner les objets. Ce qui fait que selon l'ordre dans lequel je dessine, c'est soit le premier que l'ont voit par transparence à travers le deuxieme, soit l'inverse...
Je sais pas si je suis très clair, mais si vous avez compris et que vous avez une reponse, elle sera la bienvenue ! (ou si vous avez pas compris et que vous voulez comprendre...)
Merci
steve_clamage
Messages postés475Date d'inscriptiondimanche 3 octobre 2004StatutMembreDernière intervention11 août 20065 12 nov. 2004 à 11:56
Bonjours,
Ca ne vient pas d'OpenGL mpais du fonctionnement du GPU, en toute logique la face transparente la plus proche du point de vue devra être dessinée en dernier, ou alors désactiver le test alpha lors du dessin des faces transparentes.
cs_greg63
Messages postés22Date d'inscriptiondimanche 3 août 2003StatutMembreDernière intervention16 décembre 20111 12 nov. 2004 à 12:06
Merci bien, mais le probleme, c'est qu'une partie d'un des objets peut très bien se retrouver a l'intérieur de l'autre...Et c'est ça mon probleme, on voit pas cette partie !
Sinon j'ai essayé de désactiver le test alpha, ça change rien...
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 12 nov. 2004 à 15:42
haha la je te souhaite bon courage.
ce que dit steve est tout a fait vrai: pour faire une bonne transparence, il faut activer l'alpha et le z-buffer, trier tes polygones du plus loin au plus pres, puis afficher EN DERNIER.
la évidemment ca pose un probleme puisque les 2 polys se croisent.
2 solutions:
soit tu es sur fond noir (pas de décor ni rien), pas de pb, tu désactives le z-buffer
soit tu as un fond (map, skybox,...) et ...aie!
je pense que la seule solution serait de couper tous tes polygones en 2 (ou plus !) histoire qu'il n'y ait plus d'intersections, puis que tu affiches ca.
cs_greg63
Messages postés22Date d'inscriptiondimanche 3 août 2003StatutMembreDernière intervention16 décembre 20111 12 nov. 2004 à 16:25
Ouais, comme tu dis...
Alors effectivement, je suis sur fond noir et j'avais testé la desactivation du Z-buffer : en effet, ça marche, mais l'inconvenient (j'commence a etre lourd là, hein ?) c'est que l'opacité est réglable...Donc si le gars il met la transparence à 0 (les objets sont dc completement opaques), mes deux objets apparaissent l'un sur l'autre...l'effet est donc pas terrible !
Dc ta deuxieme solution, pourquoi pas..mais j'vois ça un peu mal qd meme !
En tout cas, merci bien de vous interessé a mon cas (qui est de plus en plus désespéré !)
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_greg63
Messages postés22Date d'inscriptiondimanche 3 août 2003StatutMembreDernière intervention16 décembre 20111 14 nov. 2004 à 10:47
Mon exemple est peut etre nul, mais c'est comme ça, la transparence est réglable en direct dans mon appli...C'etait juste pour te repondre au sujet du Z-Buffer !