我正在尝试为我的图像做一些过滤器。
使用我的着色器我可以渲染纹理但是当我对纹素进行一些修改时,纹理颜色无法正确显示。颜色变得奇怪。我没有关于颜色的解释。
这是着色器
highp vec3 texel = texture2D(texture, texCoordVarying).rgb;
highp vec2 tc = (3.0 * texCoordVarying) - 2.0;
highp float d = dot(tc, tc);
highp vec2 lookup = vec2(d, texel.r);
texel.r = texture2D(texture3, lookup).r;
lookup.y = texel.g;
texel.g = texture2D(texture3, lookup).g;
lookup.y = texel.b;
texel.b = texture2D(texture3, lookup).b;
gl_FragColor = vec4(texel,1);
但是当我做一些简单的混合两个纹理的东西时,我会得到一个正常的纹理。
highp vec4 texture_color = texture2D(texture,texCoordVarying);
highp vec4 texel = texture2D(texture3,texCoordVarying);
gl_FragColor = mix(texture_color,texel,0.5);