获取片段着色器中顶点的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);
}
关于插值/滤波仍然适用的规则全部。
这样我必须将它们提供给顶点着色器。无论如何要从OpenGL状态读取它们吗? – Geosearchef 2014-09-12 13:06:26
@Geosearchef作为一个常量?制服。为什么你不能使用顶点着色器? – 2014-09-12 13:15:24
@Geosearchef:你如何从OpenGL状态读取某些东西,这不是OpenGL状态的一部分?这是**你的**(该死的)工作来指定纹理坐标。通过显式提交它们作为顶点属性,或者通过在着色器中程序化地生成它们。 – datenwolf 2014-09-12 18:33:18