【问题标题】:OpenGL basics : drawing a multi-color squareOpenGL基础:绘制多色方块
【发布时间】:2012-03-27 05:29:01
【问题描述】:

我想做的是画一个正方形,每个顶点应该有不同的颜色。 这应该会在正方形内形成一个很好的渐变。 这是我正在使用的代码:

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。

【问题讨论】:

  • 小心,"((float)(winWidth-redLineWidth))/2" 给你一个整数。您可能希望将“2”更改为“2.f”
  • @Geneotech 谢谢你!这些是你多年来一直在思考的错误......
  • 顺便问一下,它是什么颜色的?

标签: opengl glut


【解决方案1】:

您似乎不太可能更改此设置,但您可以尝试在绘图代码之前添加glShadeModel(GL_SMOOTH) 调用。不过,默认行为应该如您所愿,因此问题可能出在其他地方。

【讨论】:

  • 是的,就是这样!我在这里有一个最小的例子。启用该选项后,它可以正常工作。谢谢。
猜你喜欢
  • 1970-01-01
  • 2012-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-01
  • 2020-04-15
  • 1970-01-01
相关资源
最近更新 更多