2012-10-06 46 views
1

我有一个与OpenGL相关的问题。每当我尝试使用顶点缓冲区中的四个顶点绘制一个简单的多边形时......什么都不会发生。但是,它将以GL_TRIANGLES或GL_TRIANGLE_STRIP模式绘制形状,尽管失真。难道我做错了什么?OpenGL GL_POLYGON无法正常工作

培训相关的代码:

顶点数组:http://i.imgur.com/nEcbw.png

GL_POLYGON:http://i.imgur.com/idfFT.png

GL_TRIANGLES:http://imgur.com/84ey3,idfFT,nEcbw#0

GL_TRIANGLE_STRIP:http://i.imgur.com/JU3Zl.png

+3

为什么你首先使用多边形?在OpenGL中,多边形必须是凸的,这是相当有限的。因此,多边形已经从OpenGL的更高版本中一并删除(也包括四边形)。坚持三角形,首先不关心多边形。 – datenwolf

+0

...那么为什么它没有绘制多边形模式?我正在使用向前兼容的3.2核心配置文件。 – Shokwav

回答

5

我使用前向兼容3.2核心配置文件

首先,从未使用“向前兼容的核心配置文件”。您应该只使用核心配置文件;停止使用前向兼容性位。没有用。

更重要的是,GL_POLYGON不是核心OpenGL配置文件的一部分。这是removed in 3.1.所以你的代码很可能会给你一个你忽略的错误GL_INVALID_ENUM

最后,总是在您的问题中发布您的OpenGL版本和配置文件。