Изображения и маска в OpenGL ES 2.0
я изучаю OpenGL ES 2.0 и яЯ хотел бы создать приложение, чтобы лучше понять, как оно работает. В приложении есть набор фильтров, которые пользователь может применять к изображениям (я знаю, ничего нового: P).
Один из этих фильтров берет два изображения и маску и смешивает два изображения, показывая их через маску (здесь изображение, чтобы лучше объяснить, что я хочу получить)
На данный момент яЯ действительно смущен, и я неНе знаю, с чего начать создавать этот эффект. Я могу'Я не понимаю, нужно ли мне работать с несколькими текстурами и несколькими FrameBuffers, или я могу просто работать с одним шейдером.
Есть ли у вас подсказка, чтобы помочь мне в этом проекте?
EDIT -------- Я
мы нашли это решение, но когда я использую в качестве линий маски вместо кружков, результат действительно "шероховатый»особенно если линии повернуты.
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);
}
}
Возможно, лучше использовать буфер трафарета или смешивание?