2013-07-06 137 views
0

是否可以繪製多個OpenGL圖元形狀和一次對glDrawElements或glDrawArrays的調用?在glDrawElements/glDrawArrays中繪製多個OpenGL圖元形狀

例如:

在頂點[0到N ...]使用GL_TRIANGLE_STRIP而在頂點[N到M]使用GL_QUADS?

或者還有什麼其他方法可以解決這種問題嗎?

因爲我想限制glDrawers的呼叫。

我該如何使用GL_TRIANGLE *來實現這樣的效果?

enter image description here

它的假設是有色的矩形。

+1

聲音很像[在XY問題](http://meta.stackexchange.com/q/66377/218740)。你真的想要達到什麼目標? –

+0

@RogerRowland是的,我總是這樣問,等等我會更新我的文章 – mr5

+0

Numberi轉角會簡化提及它們 –

回答

1

最接近你可以得到的是使用glDrawElements和GL_TRIANGLES,根據需要重用相應形狀的點(已經用這個將begin ... end序列轉換爲更少繪製調用的現代GL)。例如,如果要繪製GL_QUAD,請將角座標存儲在頂點數組中(與您對glDrawArrays()所做的操作相同),然後將0,1,2,0,2,3存儲在元素數組中打造四出兩個三角形的

見線134個FF這個例子中(這是Java源代碼,但它應該是直截了當地建立用C類似的東西++): https://code.google.com/p/playn-gl11-emulation/source/browse/src/main/java/playn/gl11emulation/MeshBuilder.java