Tentamos replicar os modos de mesclagem mais comuns disponíveis no Photoshop e no Quartz 2D, mas criamos apenas 3 e isso após algumas pesquisas on-line.
Para qualquer pessoa interessada, aqui estão elas:
- Multiplicar = GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA
- Tela = GL_MINUS_DST_COLOR, GL_ONE
- Esquivar linear = GL_ONE, GL_ONE
Você pode experimentar estes e outros modos em ação on-line, neste site muito útil: http://www.andersriggelsen.dk/glblendfunc.php
Agora, gostaríamos que alguém nos fornecesse modos de mesclagem adicionais que podemos recriar dentro do Cocos2D, já que nossa experiência Open GL é muito, muito limitada.
Agradeço antecipadamente!
Argiris
opengl-es
cocos2d-iphone
ios
blending
Argiris
fonte
fonte
Respostas:
A má notícia é que você não pode implementar todos os modos de mesclagem do photoshop com o glBlendFunc, mesmo havendo um bazilhão de combinações que você pode usar.
A boa notícia é que, quando você muda para shaders, o livro laranja (OpenGL Shading Language, http://www.amazon.com/exec/obidos/ASIN/0321637631/khongrou-20 ) contém um capítulo com shaders para emular a mistura do photoshop modos.
Felizmente, tudo o que você provavelmente precisará no mundo pré-shader são os três modos de mistura mais comuns;
EDIT :
Pergunta relacionada (quase duplicada) sobre stackoverflow: /programming/818230/photoshop-blending-mode-to-opengl-es-without-shaders
Shaders de mistura do Photoshop: http://mouaif.wordpress.com/2009/01/05/photoshop-math-with-glsl-shaders/
fonte