Bonjour,
J'essaye de dessiner un objet opaque (sans transparence) devant un objet texturé et je commence à devenir fou
avec la fonction glBlendFunc . J'ai essayé pas mal de combinaisons mais pas la bonne malheureusement .
Les objets sont dessinés dans l'ordre du plus loin vers le plus proche (vers la camera).
L'objet texturé avec ma texture :
L'objet (non texturé) seulement une couleur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public void draw(GL10 gl) .... gl.glColor4f(1f, 1f, 1f, 1f); gl.glEnable(GL10.GL_TEXTURE_2D); gl.glEnable(GL10.GL_BLEND); gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA); ....
Avec une couleur argb(255,255,0,0) par exemple, l'objet prend une saturation en fonction de la couleur local des pixels de la texture de dessous.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public void draw(GL10 gl) .... gl.glColorPointer(4, GL11.GL_UNSIGNED_BYTE, 0, mColorBuffer); gl.glEnableClientState(GL10.GL_COLOR_ARRAY); gl.glEnable(GL10.GL_BLEND); gl.glBlendFunc(GL10.GL_ONE, GL10.GL_SRC_COLOR); ....
Et l'objet est transparent (je vois la texture).
Bref, j'aurai voulu un rouge vif opaque dans un premier temps.
Ensuite si je peux jouer un peu sur la transparence de mon objet ça serait pas mal, mais pas la saturation.
Merci
Partager