我正在尝试将一维数组用作顶点着色器中的查找表..为什么当我调用
texture1D(tex,gl_TexCoord[0].s);
它返回vec4吗?我的意思是我知道它的作用,但是这四个值代表什么?我想要的只是基于坐标的纹理中的一个值。

最佳答案

因为texture1D可以/具有RGBA值(红色,绿色,蓝色,alpha)。如果将1D纹理数据存储在红色 channel (GL_RED)中,则可以使用以下方式访问该数据:
texture1D(tex,gl_TexCoord[0].s) .r ;

关于glsl - 为什么GLSL中的texture1d()返回vec4?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4103905/

10-12 18:03