Nous avons essayé de reproduire les modes de fusion les plus courants disponibles dans Photoshop et Quartz 2D, mais nous n'en avons proposé que 3 et c'est après une longue recherche en ligne.
Pour toute personne intéressée, les voici:
- Multiplier = GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA
- Écran = GL_MINUS_DST_COLOR, GL_ONE
- Esquive linéaire = GL_ONE, GL_ONE
Vous pouvez essayer ces modes et d'autres en action en ligne, sur ce site très utile: http://www.andersriggelsen.dk/glblendfunc.php
Maintenant, nous apprécierions que quelqu'un puisse nous fournir des modes de mélange supplémentaires que nous pouvons recréer dans Cocos2D, car notre expérience Open GL est vraiment, vraiment limitée.
Merci d'avance!
Argiris
opengl-es
cocos2d-iphone
ios
blending
Argiris
la source
la source
Réponses:
La mauvaise nouvelle est que vous ne pouvez pas implémenter tous les modes de fusion de Photoshop avec glBlendFunc, même s'il existe un bazillion de combinaisons que vous pouvez utiliser.
La bonne nouvelle est que lorsque vous passez aux shaders, le livre orange (OpenGL Shading Language, http://www.amazon.com/exec/obidos/ASIN/0321637631/khongrou-20 ) contient un chapitre avec des shaders pour émuler le mélange de Photoshop. modes.
Heureusement, tout ce dont vous aurez probablement besoin dans le monde du pré-shader sont les trois modes de mélange les plus courants;
MODIFIER :
Question connexe (presque en double) sur stackoverflow: /programming/818230/photoshop-blending-mode-to-opengl-es-without-shaders
Shaders de mélange Photoshop: http://mouaif.wordpress.com/2009/01/05/photoshop-math-with-glsl-shaders/
la source