生活時間がめちゃくちゃだ。土日で早寝早起きに戻そうと思ったのに逆に遅い方にずれたよ!
さっさと仕事切り上げて帰って寝よう。と思ってたらめちゃくちゃ頭いたくなったのでだいぶ早く帰って寝た。まだちょっと気持ち悪いかも。
もう先日動画上げた通り、動くようになった。
上げた動画ではちょっと描画とかおかしかったんだけど、そこも今はなんとか直した。シェーディングがおかしいのはおいといて。しかしもうちょいなんとか整理したいなぁ。
問題がでたのは描画順。
3D物と2D物を同じパスで描くようにしていたので、その後のパスで描いてた3D物の線が2D物の上に来ちゃった。
前回はレイヤー毎に描画コマンドの解決をしちゃってたんで問題でなかったんだけど、今やレイヤーは関係なくなっちゃってるからなぁ。
スクリーン 3Dレイヤー 2Dレイヤー
とかいう構造になってると、3Dレイヤーの描画を全パス終わらせてから2Dレイヤーの描画に入ってたんだけど、今は最後に全部描画だ。
うーん、レイヤーごとに描画解決された方が便利ではあるなぁ。
しかしレイヤーの子にレイヤーがくっつく構造にもできるので、そのときには描画解決されちゃうと困るかもとかなんとか。あんまり困らんかな。
レイヤー以外にCompositeパターンを実現するものを作ればいいだけなんだけどな。
あとGLSLシェーダのクラスがなんか変だったので修正。そういや普通にCgとGLSLごっちゃに使ってるけど問題でてないなぁ。便利…ってほどではないが助かる。
Projection行列とかのuniform変数名をちゃんときめないとまずいかも。こういうのって適当に決めちゃえばいいんだろうか。
その辺きめちゃえばあとは特に問題ない感じかなぁ。もう6月入っちゃったし、プロファイルとって高速化していくか。
たぶんuniform変数ひたすら設定してるところが結構重いのでまとめて変数設定できるようにするのがいいんだろうな。uniform bufferなんかにも対応できるようになるし。