我正在尝试像photoshop一样实现图层功能。 这是我想要画的..
但它如下所示
它使用两层。用2个纹理框架缓冲区制作 一个用于背景,另一个用于绘图。 纹理与片段着色器混合。
mediump vec4 tex0_color = texture2D(texunit0,TexCoordOut); // bg texture
mediump vec4 tex1_color = texture2D(texunit1,TexCoordOut); // drawing texture
mediump vec4 mix_color = mix(tex0_color,tex1_color,tex1_color.a);
并且使用顶点精灵
执行绘图图层上的每个绘制highp float a = DestinationColor.a * texture2D(texunit0,gl_PointCoord).a;
gl_FragColor = vec4(DestinationColor.rgb,a);
和混合函数设置如下..
glEnable (GL_BLEND);
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
你可以给我一些建议吗?