2012-11-09 65 views
0

因此,最近幾天我開始學習OpenGL 3D編程的一些經驗。我正在使用Java的LWJGL。我創建了一個帶有fps運動的3d相機類。我也用VBO創建了一個立方體。我可以沒有任何問題地渲染這個。OpenGL - 在多個位置繪製VBO

現在,我怎樣才能在另一個位置繪製相同的VBO?現在我的魔方打開(0,0,0),並進入(5,5,5)。如果我想在(10,10,10)到(15,15,15)繪製同一個立方體呢?

謝謝!

回答

0

將立方體的位置向量作爲uniform vec3變量傳遞給頂點着色器。在那裏,將它添加到每個頂點的位置。

如果您想繪製數百個,您可以使用實例化來節省一些性能。爲每個實例的翻譯設置一個針對頂點位置的每個頂點屬性和一個每個實例屬性(通過glVertexAttribDivisor = 1)。詳情請參閱this wiki entry