- 857 名前: ◆qSKP3eYtY6 mailto:sage [2012/07/04(水) 10:25:33.70 ID:ZninQWD9]
- Uniform変数の実装について。
今現在よくある実装はSahderProgramやVertexBufferみたいなクラスに いきなり値をSetUniform("Alpha", 1.0f)みたいに突っ込むがこれは良くない習慣だと思っている (1) この関数を呼んだ時に値がセットされるので毎フレームOnDraw()の中で呼ぶ必要がある (2) 毎回呼ぶので依存関係がわかりにくい。 DDDでは「データ構造と操作の分離」を基本思想としているので、以下のように実装しようと思う ShaderArrayクラス。使用するUniform変数の情報を保存するコンテナクラス AddUniform(name, object, property)でどのオブジェクトのどのプロパティをどの変数でエクスポートするかセットする この段階ではまだ値はセットされず、後のRender()関数内部でこの情報に従って値がセットされる(データ構造と操作の分離) ※ 型とサイズ(vec2,3,4)はシェーダーをコンパイルした時に判定するのでここでは必要ない ※ Uniform変数の配列は当面なし。どう実装すべきか良いアイディアがない
|

|