【问题标题】:GL_POLYGON is not drawing a closed polygon for 3 pointsGL_POLYGON 没有为 3 个点绘制闭合多边形
【发布时间】:2017-04-13 10:25:21
【问题描述】:

我正在使用glPolygonMode(GL_FRONT_AND_BACK, GL_LINE) 以线条模式绘图。 当我使用glBegin(GL_POLYGON) 绘制多边形时,我得到以下结果,请参见蓝线:

但是当我使用glBegin(GL_TRIANGLES) 绘制它时,我得到以下结果,请参见蓝线:

我在 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_POLYGON 模式时我没有得到一个闭合的三角形会出现什么问题?

【问题讨论】:

  • 问题是特定于环境和 OpenGL 实现的,这两个示例都可以在其他 OpenGL 实现上完美运行,我将看看是否可以得到一个可以在上述环境中产生上述问题的工作示例。如果我能得到一些线索,关于什么可能导致这种不一致的提示,我将不胜感激。谢谢

标签: opengl polygon


【解决方案1】:

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

【讨论】:

  • 如果角度的方向无关紧要(即顺时针或逆时针),三角形总是凸多边形,
  • @mkashif:没错,但如果你看看你第一张照片中的形状,这对我来说不像是一个“纯”三角形。对我来说,看起来好像你在那里有多余的顶点,这会弄乱你的绘图。话虽如此,GL_POLYGON 无论如何都已被弃用。
  • 感谢回复,以上两张图片都是用相同的坐标创建的,其中一个多边形是封闭的,另一个是任意绘制的线(在所有三个三角形中)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-17
  • 2014-12-05
  • 2013-03-11
  • 1970-01-01
相关资源
最近更新 更多