La plupart des modes de mélange photoshop sont basés sur les modes de fusion Porter-Duff.
Ceci nécessite que toutes vos images (textures, rendus) soient dans un espace couleur prémultiplié. Cela se fait généralement en multipliant toutes les valeurs de pixel par la valeur alpha avant de les stocker dans une texture. Par exemple. un pixel entièrement transparent ressemblera à du noir dans un espace colorimétrique non prémultiplié. Si vous n'êtes pas familier avec cet espace de couleur, passez une heure ou deux à lire à ce sujet sur le Web. C'est un concept soigné et bon et requis pour les compositions photoshop.
Quoi qu'il en soit - une fois que vous avez vos images dans ce format, vous pouvez activer l'écran en utilisant:
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_COLOR)
Le mode MULTIPLIER complet est impossible avec l'OpenGL | ES pipeline. Si vous ne travaillez avec pixels opaques, vous pouvez truquer utiliser:
glBlendFunc(GL_ZERO, GL_SRC_COLOR)
Les résultats pour les pixels transparents, soit dans votre texture et votre framebuffer aurez tort cependant.
[This] (http://www.pegtop.net/delphi/articles/blendmodes/) page a beaucoup de détails sur la façon dont fonctionne chaque mode de fusion (avec des diagrammes) – bobobobo