Hemos estado tratando de replicar los modos de fusión más comunes que están disponibles en Photoshop y Quartz 2D, pero solo hemos encontrado 3 y eso es después de una larga búsqueda en línea.
Para cualquier persona interesada, aquí están:
- Multiplicar = GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA
- Pantalla = GL_MINUS_DST_COLOR, GL_ONE
- Esquiva lineal = GL_ONE, GL_ONE
Puede probar estos y otros modos similares en acción en línea, en este sitio web muy útil: http://www.andersriggelsen.dk/glblendfunc.php
Ahora, agradeceríamos que alguien pudiera proporcionarnos modos de fusión adicionales que podamos recrear dentro de Cocos2D, ya que nuestra experiencia Open GL es muy, muy limitada.
¡Gracias de antemano!
Argiris
opengl-es
cocos2d-iphone
ios
blending
Argiris
fuente
fuente
Respuestas:
La mala noticia es que no puede implementar todos los modos de mezcla de Photoshop con glBlendFunc, aunque hay una gran cantidad de combinaciones que puede usar.
Una buena noticia es que, cuando te mueves a los sombreadores, el libro naranja (OpenGL Shading Language, http://www.amazon.com/exec/obidos/ASIN/0321637631/khongrou-20 ) contiene un capítulo con sombreadores para emular la mezcla del photoshop modos.
Afortunadamente, todo lo que probablemente necesitarás en el mundo de pre-sombreado son los tres modos de mezcla más comunes;
EDITAR :
Pregunta relacionada (casi duplicada) sobre stackoverflow: /programming/818230/photoshop-blending-mode-to-opengl-es-without-shaders
Sombreadores de fusión de Photoshop: http://mouaif.wordpress.com/2009/01/05/photoshop-math-with-glsl-shaders/
fuente