2013-10-05 106 views
0

因此,我有一個很酷的程序,可以在屏幕中心呈現一個漂亮的立方體。OpenGL 3.2+在現有頂點周圍繪製立方體

我想現在在現有的立方體(所以8個小立方體)的每個角落上創建一個小立方體,集中在每個現有的立方體角落(或頂點)。

我假設一個有效的方式來實現這將與一種循環,以儘量減少代碼量。

我的查詢是,這是如何影響VAO/VBO的?即使在一個循環中,每個人都需要它自己的緩衝區,或者他們都可以同時發送...

其次,如果可以做到,這個循環的結構會是什麼樣子由於每個頂點都有不同的座標,所以每個頂點都有不同的頂點...

+2

您應該有一個從對象座標轉換爲世界座標的矩陣。您可以修改每個立方體的矩陣,讓它在世界的另一個位置繪製。 –

+1

幾何着色器,任何人? – n0rd

回答

0

正如Vaughn Cato所說,每個對象(使用相同的VBOs)可以簡單地繪製在世界空間的不同位置,因此您無需單獨定義每個對象的VBO。

要完成此任務,只需循環修改給定的矩陣,然後將每個矩陣渲染到屏幕上以更改繪製每個立方體的位置的起點。