GL_LINE_STRIP和GL_POLYGON同时OPENGL

时间:2014-11-22 16:58:57

标签: java opengl

我想同时使用线框和填充多边形,我使用黄色和黑色,这样我可以区分彼此

 gl1.glColor3d(0.0, 0.0, 0.0);
 gl1.glBegin(GL_LINE_STRIP);
 gl1.glColor3d(1.0, 1.0, 0.0);
 gl1.glBegin(GL_POLYGON);

但是我收到以下错误:Info:GLDrawableHelper.reshape:pre-exisiting GL error 0x502

嗯,我想这是因为我只能在某个函数中使用一个glBegin(...),还有另外一种方法吗?感谢。

1 个答案:

答案 0 :(得分:1)

你做不到。您只能随时绘制多边形类型。如果想要填充多边形和使用相同顶点的线环,则仍需要绘制两次。

  

嗯,我想这是因为我只能在一些中使用一个glBegin(...)   功能

您无法嵌套glBegin()来电。在glBegin/glEnd块中只允许一个非常小的gl函数子集:基本上,你可以设置顶点的当前属性,并在那里生成顶点。但是你可以在一个函数中拥有尽可能多的glBegin/glEnd块。

我只需要注意在现代OpenGL版本中不推荐使用glBegin/glEnd,你现在不应该在没有充分理由的情况下使用这些东西。