【发布时间】:2015-04-26 17:00:34
【问题描述】:
我正在尝试将颜色从顶点着色器传递到片段着色器并将gl_FragColor 设置为该值。当我似乎这样做时,我制作的物体的颜色会以无法辨别的模式闪烁所有不同的颜色。但是,当我将片段着色器中的颜色设置为类似于 gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0) 的颜色时,颜色是完全白色的,没有闪烁。我将在下面发布我的着色器:
顶点着色器:
#version 130
//not using these for now
//uniform mat4 uniform_modelMatrix;
//uniform mat4 uniform_viewMatrix;
//uniform mat4 uniform_projectionMatrix;
in vec3 in_Position;
in vec4 in_Color;
void main(void)
{
//Set Position to XYZW
vec4 position = vec4(in_Position.xyz, 1.0);
gl_Position = position;
//Set Passed Color to white
out_Color = vec4(1.0, 1.0, 1.0, 1.0);
}
片段着色器:
#version 130
in vec4 pass_Color;
void main(void)
{
//Set Color to color from vertex shader - doesn't work
gl_FragColor = pass_Color;
//Set Color to white anyways - works
//gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);
}
我不知道我是在顶点着色器中错误地传递了值,还是在片段着色器中没有正确接收它们。有人能看出哪里不对吗?
【问题讨论】: