纹理颜色无法正确显示

时间:2013-10-15 20:38:40

标签: opengl-es opengl-es-2.0

我正在尝试为我的图像做一些过滤器。

使用我的着色器我可以渲染纹理但是当我对纹素进行一些修改时,纹理颜色无法正确显示。颜色变得奇怪。我没有关于颜色的解释。

这是着色器

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);

0 个答案:

没有答案