bonjour, j'ai de gros soucis avec la transparence dans ma scène:
en effet, je trace une scène 3D avec un stencil à 2. dans cette scène (qui affiche un billard) je simule un trou en dessinant ce dernier avec un stencil de 1 (puis j'affiche la table là ou le stencil est different de 1)
à coté de tout ceci, j'utilise à nouveau le stencil pour afficher un reflet dans un miroir (miroir pour lequel le stencil est à 3)
tout marche trés bien, jusqu'au moment ou je veux afficher un verre sur ledit billard: j'utilise le code suivant
le problème, c'est qu'avec ceci, le verre s'affiche tout noir (alors que la surface est blanche transparente) et seulement là ou le stencil est different de 2 (=au niveau du trou, et devant le miroir). franchement, je comprends pas, je pensais que le blend n'avait aucun rapport avec le stencil.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 glStencilFunc( GL_ALWAYS, 2, 0xffffffff ); glStencilOp( GL_REPLACE, GL_REPLACE, GL_REPLACE ); //je trace differents elements de la scène puis surfaceVerre(); glEnable(GL_BLEND); glBlendFunc(GL_ONE_MINUS_DST_ALPHA, GL_DST_ALPHA); tracerVerre(); glDisable(GL_BLEND);
aidez moi ! please !
merci
Partager