片段着色器和 glDrawArrays
fragment shader and glDrawArrays
是否可以使用片段着色器来设置渲染的一个颜色通道并且
glColorPointer(...);
glDrawArray();
设置其他 2 个颜色通道。
如果是,我该怎么做?
如果您正在使用可编程管道,那么我还建议您不要使用 glColorPointer
glVertexPointer
和矩阵堆栈,而是使用 glVertexAttribPointer
并将转换矩阵作为统一传递。
在片段着色器中你会做
gl_FragColor = vec4(channel1, channels2_3.xy, 1);
其中 channel1 和 channel2_3 可以来自统一或从顶点着色器传递的属性。
是否可以使用片段着色器来设置渲染的一个颜色通道并且
glColorPointer(...);
glDrawArray();
设置其他 2 个颜色通道。 如果是,我该怎么做?
如果您正在使用可编程管道,那么我还建议您不要使用 glColorPointer
glVertexPointer
和矩阵堆栈,而是使用 glVertexAttribPointer
并将转换矩阵作为统一传递。
在片段着色器中你会做
gl_FragColor = vec4(channel1, channels2_3.xy, 1);
其中 channel1 和 channel2_3 可以来自统一或从顶点着色器传递的属性。