我在 GL_UNSIGNED_BYTE r,g,b 中有颜色,但我想使用 alpha 通道来放置一个自定义值,该值将在像素着色器中使用,以不同地为几何图形着色。现在有两个可能的值 0 和 127 我的问题是当我在顶点着色器中执行此操作时:
[顶点]
varying float factor;
factor = gl_Color.w
似乎该因子始终为 1.0,因为如果我这样做:
[分段]
varying float factor;
factor = factor;
gl_FragColor = vec4(factor, 0.0, 0.0, 1.0)
输出总是红色的,为什么我会期望两种不同的颜色,一种是因子为零时,另一种是因子为 127 时。
因此,如果我分配两个值 0 和 127,我应该进入顶点着色器 0/0.5 吗?这个对吗?
[编辑] 好的,我现在看到两个不同的值,但我不知道为什么我得到它们,GPU 在 gl_Colow.w 组件中执行的任何操作我不知道?
[Edit2] 正如 Nicholas 指出的那样,我正在使用 glColorPointer(4...);