シェーダー対応その後

シェーダーに対応したぜーというところまでは良かったのですが、固定機能を使っているところとの混在が面倒な感じだなーということで、その辺に手をいれることにした。
そうするかーってことなんだけど、とりあえず何から始めればいいのかよくわからないので、DrawIndexesPrimitiveを使うように変更することに。
ってことはーXファイルからその辺の情報を拾ってくることになるんだからーということでVertexBufferとIndexBufferを作るところから始める。
ものっすごい前にクラスを作ってから使われることがなかったものがようやく陽の目を見ることになりました! とかクラスライブラリを作ってる人にしかわからない話を交えつつぽちぽちと作ってみたら他にも色々なものが必要というのがわかってきまして、あれやこれややることになりました。

描画をするのにマテリアルの数でDrawSubsetしていたのですが、アトリビュートの数で描画をしなくちゃいけなくなるので、ID3DXMesh::GetAttributeTableなんてものを呼び出して拾おうとしたら、Optimizeしてからじゃないと拾えませんとヘルプに書いてあって、なんじゃそりゃーと思ったりしました。DrawSubsetは引数がアトリビュートIDなんだからきっとどっかでやってるんだろうし、勝手にやってくれればいいのにとかね。
贅沢な話でしょうかw

最終的に出ることは出たのですが、なんか色々とめんどうだなーとか思ったり思わなかったり。
IndexBufferを使わないでも描画するDrawメソッド用意しておかないと面倒そうです・・・。

コメントする