我正在使用OpenGL,並在我的程序中繪製各種幾何形狀(正方形,三角形等),每個對象具有不同的紋理。在不同的紋理上繪製不同的對象在同一個VBO OpenGL
我測試了使用VBO和着色器執行渲染,並且這很好地爲每個對象創建一個VBO。
glDrawElements (GL_TRIANGLES, 6, GL_UNSIGNED_INT, 0);
我發現,最好的辦法是建立一個單一的VBO其中包含所有頂點:當大量對象(150和200之間)的......這意味着很多調用函數glDrawElements()
出現問題繪製(頂點,紋理座標,索引等)。
問題在於,我無法爲每個對象使用不同的紋理,因爲VBO會繪製所有幾何圖形一次。
問題是......執行我所需要的最佳方式(最佳)是什麼?而不使用已被棄用的函數或方法glBegin()
/glEnd()
或glDrawArrays()
(我正在使用開放GL 3.0及更高版本)。
PD:我使用OpenGL和C++。
非常感謝您的理解 – user2303826 2013-10-03 04:07:45
如果回答了您的問題,請將其標記爲已接受的答案。謝謝! – fintelia 2013-10-04 14:17:00