GLSL с программой построения теней фрагмента представляет только черный GL_POINTS

Я пытаюсь добавить некоторые программы построения теней к своей старой программе OpenGL, которая тянет много GL_POINTS и некоторого GL_LINES.

Я создал эти две программы построения теней:

Вершинный шейдер:

void main()
{ 
    vec4 v = vec4(gl_Vertex);
    v.z = v.z + sin(v.x*v.x + v.y*v.y)/10.0;
    gl_Position = gl_ModelViewProjectionMatrix * v;
}

Программа построения теней фрагмента:

#version 120 

void main()
{
    vec4 myOutputColor = gl_Color;
    gl_FragColor = myOutputColor;
    //gl_FragColor.r = 0.5;
}

Эти две программы построения теней компиляция и ссылка без проблем. И вершинный шейдер работает отлично, я вижу, что GL_POINTS переместил использование, которые грешат в вершинном шейдере. Но проблема, я могу только видеть свой GL_POINTS и GL_LINES, если цвет фона не является черным, потому что все точки и строки представляются черные. Кажется, что весь набор цветов с glColor3f в коде рендеринга проигнорирован. Если я некомментирую прокомментированную строку в своей программе построения теней фрагмента, я могу сделать все строки и точки красными, но не был должен gl_Color соответствовать цвету, который был выбран с glColor3f для каждой точки?

Есть ли что-либо еще в моем коде OpenGL, который мог вызвать это поведение?

6
задан genpfault 8 April 2013 в 13:14
поделиться