5

我正在尝试在我的顶点着色器中使用一维数组作为查找表.. 那么为什么当我打电话时

texture1D(tex,gl_TexCoord[0].s);

它返回一个vec4吗?我的意思是我知道这就是它的作用,但是这 4 个值代表什么?我想要的只是基于坐标的纹理中的一个值。

4

1 回答 1

3

因为 texture1D 可以/具有 RGBA 值(红色、绿色、蓝色、alpha)。如果您将 1D 纹理数据存储在红色通道 (GL_RED) 中,您可以通过以下方式访问该数据:

texture1D(tex,gl_TexCoord[0].s).r;

于 2010-11-05T15:41:27.270 回答