我想知道如何只更改一个颜色通道,并将另外两个颜色通道保持为初始值。
#version 410
layout(location = 0) out vec3 color_out;
precision highp float;
void main()
{
float z = 0.3f;
color_out = vec3(z, my actual value , my actual value)
}
如何检索实际值或只更改一个频道(红色频道)?
我尝试使用此代码进行绘制
glColorMask(true,true ,true, true);
glDrawArrays(GL_TRIANGLES, 0, totalconnectedtriangles_);
glColorMask(true,false,false,false);
此解决方案有效,但在移动窗口时会创建非常奇怪的工件。片段着色器是在glDrawArrays(在我的第二个颜色掩码之后)还是在glDrawArrays之后发生的?