获取片段着色器中顶点的TexCoords

问题描述:

是否有任何方法可以在片段着色器中获取顶点的TexCoords,或从顶点着色器中将顶点的TexCoords赋予片段着色器,而无需将它们从普通代码提供给顶点着色器?获取片段着色器中顶点的TexCoords

如果您已阅读任何教程,您会知道这对于任何合理的纹理都是非常必要的。

VS:

attribute vec2 in_texCoord; 
out vec2 fs_texCoord; 

main() { 
    fs_texCoord = in_texCoord; 
} 

FS:

in vec2 fs_texCoord; 
out vec4 out_color; 

main() { 
    out_color = vec4(fs_texCoord, 0.0, 1.0); 
} 

关于插值/滤波仍然适用的规则全部。

+0

这样我必须将它们提供给顶点着色器。无论如何要从OpenGL状态读取它们吗? – Geosearchef 2014-09-12 13:06:26

+1

@Geosearchef作为一个常量?制服。为什么你不能使用顶点着色器? – 2014-09-12 13:15:24

+1

@Geosearchef:你如何从OpenGL状态读取某些东西,这不是OpenGL状态的一部分?这是**你的**(该死的)工作来指定纹理坐标。通过显式提交它们作为顶点属性,或者通过在着色器中程序化地生成它们。 – datenwolf 2014-09-12 18:33:18