Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opengl GL_多边形没有为3个点绘制闭合多边形_Opengl_Polygon - Fatal编程技术网

Opengl GL_多边形没有为3个点绘制闭合多边形

Opengl GL_多边形没有为3个点绘制闭合多边形,opengl,polygon,Opengl,Polygon,我使用glPolygonMode(GL\u-FRONT\u和GL\u-BACK,GL\u-line)以直线模式绘制。 当我使用glBegin(GL\u polygon)绘制多边形时,我得到以下结果,请参见蓝色线: 但是,当我使用glBegin(GL\u三角形)绘制它时,我得到以下结果,请参见蓝色线: 我在Windows 10上,在VMware虚拟机上。使用glcapsviewer的OpenGL详细信息: OpenGL version: 2.1 Mesa 11.2.0 (git-1d8818d

我使用
glPolygonMode(GL\u-FRONT\u和GL\u-BACK,GL\u-line)
以直线模式绘制。 当我使用
glBegin(GL\u polygon)
绘制多边形时,我得到以下结果,请参见蓝色线:

但是,当我使用
glBegin(GL\u三角形)
绘制它时,我得到以下结果,请参见蓝色线:

我在Windows 10上,在VMware虚拟机上。使用glcapsviewer的OpenGL详细信息:

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

使用
GL\u POLYGON
模式时,我没有得到一个闭合三角形会有什么问题?

您的多边形看起来不是凸的。OpenGL只允许绘制凸多边形。如果您尝试其他方法,则结果是未定义的。

在a中编辑。问题是非常特定于环境和OpenGL实现的,这两个示例在其他OpenGL实现上都非常有效,我将看看是否可以获得一个可以在上述环境中产生上述问题的工作示例。如果我能得到一些线索,关于什么会导致这种不一致的提示,我将不胜感激。谢谢如果角度的方向不重要(即顺时针或逆时针),三角形总是一个凸多边形,@mkashif:没错,但是如果你看第一张照片中的形状,我觉得这不像是一个“纯”三角形。对我来说,它看起来就像你有多余的顶点在那里,这打乱了你的画。也就是说,GL_多边形已经被弃用了。感谢回复,上面两张图片都是用相同的坐标创建的,其中一个多边形是闭合的,另一个是任意绘制的直线(在所有三个三角形中)