ゲームエンジン総合スレ★2at GAMEDEV
ゲームエンジン総合スレ★2 - 暇つぶし2ch857: ◆qSKP3eYtY6
12/07/04 10:25:33.70 ZninQWD9
Uniform変数の実装について。
今現在よくある実装はSahderProgramやVertexBufferみたいなクラスに
いきなり値をSetUniform("Alpha", 1.0f)みたいに突っ込むがこれは良くない習慣だと思っている
(1) この関数を呼んだ時に値がセットされるので毎フレームOnDraw()の中で呼ぶ必要がある
(2) 毎回呼ぶので依存関係がわかりにくい。

DDDでは「データ構造と操作の分離」を基本思想としているので、以下のように実装しようと思う
ShaderArrayクラス。使用するUniform変数の情報を保存するコンテナクラス
AddUniform(name, object, property)でどのオブジェクトのどのプロパティをどの変数でエクスポートするかセットする
この段階ではまだ値はセットされず、後のRender()関数内部でこの情報に従って値がセットされる(データ構造と操作の分離)

※ 型とサイズ(vec2,3,4)はシェーダーをコンパイルした時に判定するのでここでは必要ない
※ Uniform変数の配列は当面なし。どう実装すべきか良いアイディアがない








次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch