0
我有我製作一個立方體的代碼(使用12個三角形),它在z方向上來回移動。在不創建新緩衝區的情況下渲染對象
有沒有辦法在空間的不同位置同時渲染這個立方體(比如說)5次。到目前爲止,我將不得不爲每個立方體創建一個新的緩衝區,這似乎是錯誤的。
我有我製作一個立方體的代碼(使用12個三角形),它在z方向上來回移動。在不創建新緩衝區的情況下渲染對象
有沒有辦法在空間的不同位置同時渲染這個立方體(比如說)5次。到目前爲止,我將不得不爲每個立方體創建一個新的緩衝區,這似乎是錯誤的。
如果CubeObj.draw()是你的立方體的繪製函數(可能glVertexPointer然後glDrawElements調用),
glPushMatrix(); //save the current matrix
glTranslatef(translatex, translatey, translatez);
//glRotatef(), glScale, etc.
CubeObj.draw();
glPopMatrix(); //restore the matrix
的glPush/PopMatrix()調用確保塊變換命令只適用於該特定的立方體。
您可以多次調用對象的繪圖函數而無需重建對象。 也就是說,您可以擁有上述代碼的另一個副本並更改轉換命令,並且您似乎有2個獨立的多維數據集。
希望這有助於。
編輯:
確保你在你的顯示功能的頂部有glLoadIdentity()的調用
謝謝你這麼多。我會嘗試推/流行設置! – Eugene 2010-11-19 01:48:41