L'utisation du blending dans son mode le plus courant (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
ne donne pas les même résultats si on inverse la source et
la destination (puisque les facteurs changent)
Lorsqu'on dessine en 3D, l'ordre de dessin va varier en fonction de la
position des objets et de la caméra
Si on utilise le Z-Buffer, on ne pourra pas rendre les effets de transparence
car le pixel le plus près impose sa couleur.
Il faudra donc fonctionner de la manière suivante
Le Z-Buffer devra procéder à l'élimination des parties
de la scène cachées par les objets opaques, que ces parties
soient opaques ou transparentes.
Mais si un objet transparent est plus près qu'un objet opaque, on
veut mélanger sa couleur avec celle de l'objet opaque
On peut y parvenir en mettant le Z-Buffer en lecture seule avec glDepthMask(GL_FALSE)
lorsqu'on dessine les objets transparents.
On dessinera donc d'abord tous les objets opaques, avec le Z-Buffer en
mode normal , puis on rend le Z-Buffer read-only. Les distances seront
toujours comparées mais si un objet transparent est devant, on mélangera
les couleurs.