你可以绕过片段着色器使用glColor3f()吗?

时间:2015-07-30 16:04:54

标签: opengl glsl shader

我正在编写一个OpenGL程序,使用顶点着色器和片段着色器渲染三角形网格。在我的片段着色器中,我将所有这些三角形设置为绿色。我现在也想绘制模型坐标系的轴。但是,我不想通过创建一个三角形网格来做到这一点,因为这看起来有些过分,所以我想使用老式的绘制线条的方法,例如:

glLineWidth(2.5);
glBegin(GL_LINES);
glColor3f(1.0, 0.0, 0.0);
glVertex3f(0.0, 0.0, 0.0);
glVertex3f(10, 0, 0);
glEnd();

在这里,我希望这些轴为红色。问题是轴总是以绿色绘制。我认为这是因为我的片段着色器设置为以绿色绘制所有内容:

#version 330

void main()
{
    gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);
}

那么,是否可以使用glColor3f()这样的函数来确定一条线的颜色,然后不被片段着色器覆盖?

0 个答案:

没有答案