2011-07-05 7 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

私の質問は、すべてのノードが独自の描画を実行する必要があります(とにかく私には大丈夫とは思わない自分のシェイダーを持っている)か、すべての描画とシーンのノードはそのクラスのレンダリングメソッドを呼び出しますか? – rgngl

+0

面白いです。他の誰かが正確にこれをちょうど最近尋ねました、私の答えはここにあります:http://stackoverflow.com/questions/6583024/oo-architecture-for-rendering-in-shader-based-games/6583203#6583203 – datenwolf

+0

ありがとうございました。今それは明らかです。 – rgngl