2012-12-19 28 views
0

我有一個問題(其實有一些)
1)如何用頂點緩衝區對象渲染Python中的立方體?
2)我該如何重新定位該立方體多次
3)我該如何解決不在其上渲染某些面部的問題? (我有一個八叉樹存儲的位置,我想沒有渲染觸摸海誓山盟面)
感謝PyOpenGL用VBOs繪製一個多維數據集

回答

1

1:我使用這個模塊來呈現立方體在OpenGL 3+

Render Cube with VBO

如果您沒有模型視圖/投影矩陣,只需傳入'numpy.identity(4)',這將使頂點集中在原點附近。 這也意味着相機將出現在立方體內部,因此它可能不可見。你不需要'重新定位'對象,你可以改變模型視圖/投影矩陣並再次渲染VBO。

立方體的頂點不知道在3D空間中駐留的位置,它們相對於原點。當你渲染它時,你應用一個移動立方體頂點的矩陣(投影*模型視圖)。

3:有許多方法可以做到這一點:

A.每個面創建VAO/VBO,只呈現你想要的面孔​​。

B.爲每個面對應的每個頂點分配一個頂點屬性。然後,使用統一的值,爲頂點/片段着色器傳遞足夠的信息以知道它們是否應該渲染。 你可以用一個整數很容易地實現它,並用一個位來表示每個面。

我會使用B,因爲您不是經常更改VAO/VBO狀態,只是更改6個值(每個面1個)。

+0

您的鏈接提供了一個404頁面。 – jakebird451

+0

感謝您的通知,我更新了鏈接=) – Rebs