Я пытаюсь передать цвет из вершинного шейдера в шейдер фрагмента и установить gl_FragColor
этому значению. Когда я, кажется, делаю это, цвет объекта, который я создал, мигает всеми разными цветами без видимого рисунка. Однако, когда я устанавливаю цвет в шейдере фрагмента примерно так же, как это gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0)
, цвет совершенно белый, без мигания. Я выложу свои шейдеры ниже:OpenGL - цвет вершинного шейдера не передается в фрагмент-шейдер
Vertex Shader:
#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);
}
Фрагмент Shader:
#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);
}
Я не знаю, если я передаю значение неправильно в вершинном шейдере, или если я не получаю их должным образом в шейдере фрагментов. Может ли кто-нибудь заметить что-то не так?