Back


Android - OpenGL ES 1 - Tutorial 7 - Miscelazione Colori

Nel seguente screenshot i due quadrati hanno un area in comune e i loro colori si sono miscelati:


Per ottenere questo risultato, basta abilitare l'operazione e definire la modalità di miscelazione. Lo facciamo nel metodo "onSurfaceCreated()":
// Enable blending.
gl.glEnable(GL10.GL_BLEND);
// Blending function.
gl.glBlendFunc(GL10.GL_ONE, GL10.GL_ONE);
La formula generale è:

output = (source factor * source fragment) + (destination factor * destination fragment)

dove:
- source factor è il primo parametro della funzione (GL_ONE)
- source fragment è il quadrato verde
- destination factor è il secondo parametro della funzione (GL_ONE)
- destination fragment è il quadrato rosso

Nel nostro caso, le componenti RGBA del quadrato verde vengono moltiplicate per 1 e sommate alle componenti RGBA del quadrato rosso moltiplicate per 1.

Per ottenere l'effetto trasparenza quando vengono sovrapposte due texture:


dobbiamo impostare la funzione nel seguente modo:
// Blending function.
gl.glBlendFunc(GL10.GL_ONE, GL10.GL_ONE_MINUS_SRC_ALPHA);
Download Project:
OpenGL ES 1 Tutorial 7
OpenGL ES 1 Tutorial 7b

Per maggiori approfondimenti sulle istruzioni, rimando a: khronos.org/registry/OpenGL-Refpages/es1.1/xhtml/

Pagina creata il 20/07/2020.






  Back


2007-2020 © Incastro.com
All rights reserved