2011-07-05 76 views
2

我正在尋找一種在OpenGL ES 2.0中實現一些基本場景管理的方法,這裏沒有固定的功能管道。在OpenGL ES 2.0上實現場景圖形

通常我會執行,將應用其轉變與glTranslateglRotate節點基類,畫本身(如果有什麼畫),然後調用它的子節點的繪製方法。

有沒有人用OpenGL ES 2.0(或OpenGL 3.0)實現過這個例子?

回答

5

關鍵的區別在於,您不是調用glRotate,glTranslate,glScale等,而是自己構建轉換矩陣,也可能是一些轉換層次。然後,在渲染有問題的對象之前,通過Uniform提供它的變換矩陣。

這需要的代碼非常簡單,只需4個向量和4×4矩陣的一堆線性代數 - 如果要使用它們,還需要四元數。

+0

對不起,堅持做一個noob :)那麼我的問題是每個節點應該執行自己的繪圖(並且擁有自己的着色器,這對我來說聽起來不太合適),或者應該有一個類負責所有繪圖和場景中的節點調用該類中的渲染方法? – rgngl

+0

有趣的你應該問。最近有人問到這一點,請參閱我的答案:http://stackoverflow.com/questions/6583024/oo-architecture-for-rendering-in-shader-based-games/6583203#6583203 – datenwolf

+0

感謝您的解釋。現在它更清晰。 – rgngl