Imágenes y máscara en OpenGL ES 2.0.
Estoy aprendiendo OpenGL ES 2.0 y me gustaría crear una aplicación para comprender mejor cómo funciona. La aplicación tiene un conjunto de filtros que el usuario puede aplicar a las imágenes (lo sé, nada nuevo: P).
Uno de este filtro toma dos imágenes y una máscara y mezcla las dos imágenes mostrándolas a través de la máscara (aquí hay una imagen para explicar mejor lo que quiero obtener)
En este momento estoy realmente confundido y no sé por dónde empezar a crear este efecto. No puedo entender si tengo que trabajar con múltiples texturas y múltiples FrameBuffers o simplemente puedo trabajar con un solo sombreador.
¿Tiene algún consejo que me ayude a hacer este proyecto?
EDITAR--------
He encontrado esta solución, pero cuando uso líneas de máscara en lugar de círculos, el resultado es realmente "sucio", especialmente si las líneas están rotadas.
precision highp float;
varying vec4 FragColor;
varying highp vec2 TexCoordOut;
uniform sampler2D textureA;
uniform sampler2D textureB;
uniform sampler2D mask;
void main(void){
vec4 mask_color = texture2D(mask, TexCoordOut);
if (mask_color.a > 0.0){
gl_FragColor = texture2D(textureA, TexCoordOut);
}else {
gl_FragColor = texture2D(textureB, TexCoordOut);
}
}
¿Es probable que sea mejor usar el tampón Stencil o la mezcla?