为什么glsl中的texture1d()返回vec4?
-
29-09-2019 - |
题
我正在尝试将1D阵列用作顶点着色器中的查找表。
texture1D(tex,gl_TexCoord[0].s);
它返回VEC4吗?我的意思是我知道这就是它的作用,但是4个值代表什么?我想要的只是基于坐标的纹理中的一个值。
解决方案
因为纹理1D可以/具有RGBA值(红色,绿色,蓝色,alpha)。如果将1D纹理数据存储在红色通道(GL_RED)中,则可以使用以下方式访问该数据
texture1D(tex,gl_TexCoord[0].s)
.r
;
不隶属于 StackOverflow