我创建了一个多纹理片段着色器,我想在其中翻转其中一个纹理,但是这样做时,我的纹理变得锯齿状。这个问题有解决方案吗?
这是我的片段着色器代码:
void main(void)
{
lowp vec4 camera = texture2D(texture0, destinationTexCoord);
lowp vec4 viewfinder = texture2D(texture1, vec2(destinationTexCoord.x, 1.0 - destinationTexCoord.y));
lowp vec4 result = mix(camera, viewfinder, viewfinder.a);
gl_FragColor = result;
}
我正在使用的纹理过滤:
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
一些背景信息:我在我的片段着色器中混合这些纹理(混合代码被剥离)所以我不是在寻找一个解决方案,我旋转第二个平面并将它们合并到帧缓冲区中。我想知道在我的片段着色器中翻转/旋转纹理坐标是否是个好主意。
最后,我将传递一个统一的说法:旋转或不旋转,从而导致一个纹理是否旋转。