La maggior parte delle modalità di fusione di Photoshop si basa sui metodi di fusione Porter-Duff.
Questi richiede che tutte le immagini (trame, renderbuffer) siano nello spazio colore preminciaplicato. Questo di solito viene fatto moltiplicando tutti i valori dei pixel con il valore alfa prima di memorizzarli in una trama. Per esempio. un pixel completamente trasparente apparirà nero nello spazio colore non premoltiplicato. Se non conosci questo spazio colore, trascorri un'ora o due a leggerlo sul web. È un concetto pulito e buono e richiesto per le composizioni di tipo photoshop.
In ogni caso - una volta che avete le vostre immagini in questo formato è possibile attivare schermo utilizzando:
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_COLOR)
La modalità full MULTIPLY non è possibile con l'OpenGL | ES pipeline. Se si lavora solo con i pixel opachi pieni si può fingere utilizza:
glBlendFunc(GL_ZERO, GL_SRC_COLOR)
I risultati per pixel trasparenti sia nella vostra consistenza e il framebuffer sarà sbagliata però.
fonte
2009-05-03 23:29:22
[Questa] (http://www.pegtop.net/delphi/articles/blendmodes/) pagina presenta _un sacco_di dettagli su come funziona ogni modalità di fusione (con diagrammi) – bobobobo