2016-11-29 48 views
-1

我使用glPolygonMode(GL_FRONT_AND_BACK, GL_LINE)绘制线模式。 当我画使用glBegin(GL_POLYGON)我得到以下结果多边形,看到蓝色的线:GL_POLYGON未绘制3点闭合多边形

polygon is not closed

,但是当我使用glBegin(GL_TRIANGLES)我得到以下结果得出,看到蓝色的线:

a closed polygon/triangle

我在Windows 10上的VMware虚拟机上。 OpenGL的细节使用glcapsviewer:

OpenGL version: 2.1 Mesa 11.2.0 (git-1d8818d) 
Renderer: Gallium 0.4 on SVGA3D; build: RELEASE; LLVM; 

什么可以在使用GL_POLYGON模式,我没有得到一个封闭的三角形的问题?

+0

在[mcve]中编辑。 – genpfault

+0

这个问题是非常环境和OpenGL实现的具体情况,这两个例子在其他OpenGL实现中都能很好地工作,我会看看我能否得到一个可以在上述环境中产生上述问题的工作示例。我会很感激,如果我能得到一些线索,暗示什么会导致这种不一致。谢谢 – mkashif

回答

2

你的多边形看起来不是凸起的。 OpenGL确实只允许绘制凸多边形。如果你尝试,否则结果是不确定的。

+0

如果角度的方向不重要(即顺时针或逆时针),三角形总是一个凸多边形, – mkashif

+1

@mkashif:是的,但如果你看看你的第一张图片中的形状,这doesn我看起来不像是一个“纯粹”的三角形。对我来说,看起来好像你在那里有外挂的顶点,那就搞乱了你的绘画。这就是说,GL_POLYGON已被弃用。 – datenwolf

+0

感谢您的回复,上面的图片都是用相同的坐标创建的,一个多边形在另一个线条中被关闭,任意绘制(在所有三个三角形中) – mkashif