OpenGL基础:绘制多色正方形
我想做的是画一个正方形,每个顶点应该有不同的颜色。 这将在正方形内形成一个很好的渐变。 以下是我使用的代码:OpenGL基础:绘制多色正方形,opengl,glut,Opengl,Glut,我想做的是画一个正方形,每个顶点应该有不同的颜色。 这将在正方形内形成一个很好的渐变。 以下是我使用的代码: glBegin(GL_QUADS); glColor3f(0.0f, 0.0f, 1.0f); glVertex2f(((float)(winWidth-redLineWidth))/2.f,((float)(winHeight-redLineWidth))/2.f); glColor3f(0.0f, 0.0f, 0.0f); glVertex2f(((float)(winWidth+r
glBegin(GL_QUADS);
glColor3f(0.0f, 0.0f, 1.0f);
glVertex2f(((float)(winWidth-redLineWidth))/2.f,((float)(winHeight-redLineWidth))/2.f);
glColor3f(0.0f, 0.0f, 0.0f);
glVertex2f(((float)(winWidth+redLineWidth))/2.f,((float)(winHeight-redLineWidth))/2.f);
glColor3f(0.0f, 1.0f, 0.0f);
glVertex2f(((float)(winWidth+redLineWidth))/2.f,((float)(winHeight+redLineWidth))/2.f);
glColor3f(1.0f, 0.0f, 0.0f);
glVertex2f(((float)(winWidth-redLineWidth))/2.f,((float)(winHeight+redLineWidth))/2.f);
glEnd();
请忽略使用的变量。
我画了一个长方形,但它是纯色的。
这里的错误在哪里
我正在Mac OS X上使用GLUT。您似乎不太可能更改此选项,但您可以尝试在绘图代码之前添加一个
glShadeModel(GL\u SMOOTH)
调用。默认行为应该按照您的预期执行,因此问题可能在其他地方。请小心,“((float)(winWidth redLineWidth))/2”会为您提供一个整数。你可能想把“2”改成“2.f”@Geneotech谢谢你!这些都是你多年来一直犯的错误,从来没有想过……顺便问一下,它是什么颜色的?是的,就是它!我这里有一个最小的例子。启用该选项后,它将正常工作。谢谢