2012-01-28 66 views
3

我得到了使用VBO和IBO的代碼:在解析我的幾何時,我爲三角形構建頂點和索引數組,然後使用GL_TRIANGLES調用glDrawElementsOpenGL Vertex Buffers:我可以沒有索引緩衝區嗎?

我讀到了關於能夠在頁面中間約一半的索引緩衝區here中發信號重啓原始信號。這很好,但是我想知道是否可以完全放棄索引緩衝區,並且通過發送特定的頂點值(比如讓第一個屬性的零值爲無窮大)來發出基本重啓信號?

然後我只需要發送一個緩衝區到GPU之前,我用GL_TRIANGLE_FAN繪製一組凸多邊形。

回答

4

由於明確指出頁面上:

這在技術上是合法的與非索引渲染使用。你不應該這樣做,因爲它不會給你一個有用的結果。

基元重啓用於索引渲染。根據頂點屬性的值無法重新啓動原語。

6

如果你不想使用索引緩衝區,那麼你可以使用glDrawArrays。它將只從頂點緩衝區渲染原始圖像。將它與實例相結合,你將能夠繪製多個三角形風扇,而無需索引緩衝區。

但出於性能原因,如果您的網格三角形共享頂點,您應該使用索引緩衝區。

+0

其他人直接回答我的問題,但您的答案提供了適當的替代方法。我希望我能接受兩個。 – 2012-02-21 16:48:15