У меня есть проходные вершинные и фрагментарные шейдеры.
vertex shader
void main(void)
{
gl_TexCoord[0] = gl_MultiTexCoord0;
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
}
фрагментарный шейдер
void main(void)
{
gl_FragColor = gl_Color;
}
Те производят пустой рендеринг (черный цвет не такой как glClearBuffer).
Если я модифицирую вершинный шейдер, чтобы установить gl_FrontColor в gl_Color, он отображает нетронутый буфер OpenGl... с ожидаемым поведением сквозных шейдеров.
void main(void)
{
gl_FrontColor = gl_Color; //Added line
gl_TexCoord[0] = gl_MultiTexCoord0;
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
}
Я смущен, как настройки gl_FrontColor в вершинном шейдере могут изменить значение gl_Color во фрагменте? Что мне не хватает?