2012-10-06 44 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版本和配置文件。