現在、Xファイルの自作読み込みと格闘中です。
むこうのアイツにいってやりたい、マテリアルとサブセットの
クラスをいちいち分けるんじゃない、と。
とりあえず途中までは読み込めたようなので、試しに
やっつけRender関数を組んでみたところ…。(画像参照)
おー、これがうわさの頂点爆発か(遠い目)。
そういえば、マテリアル読み込み部分を調べてるときに
気がついたのですが、どうも僕のXファイルのマテリアルには
先頭にxof_defaultなる見慣れないマテリアルが存在していました。
それでマテリアル数を調べてみると、なぜか一つだけ少ない値を
とっていて、試しにそのマテリアル定義の部分だけ消して
プログラムを実行してみると…。何事もなく動くという。
うーん。何なんだろ。ボーン用マテリアルかと思ったけど
Xファイルはボーンじゃなくてフレーム構造で動かしてるし。
LWのスケルゴンの成れの果てかと思ったけど、だとしたら
何でマテリアル数としてカウントされてないんだろ。
標準のXファイル読み込みはxof_defaultのマテリアルが
存在した場合は読み飛ばす処理をさせてるんだろか。
さらに、今回は別の問題も発見。
何と一度スタンバイモードにしてから元に戻すとXファイルで
読み込んだデータだけ表示されなくなってしまいました。
おそらくデバイスロストあたりの問題なんだろけど、デバイスロスト時の
関数も既に導入済みなので、よく分かりません。
デバイスロストはレンダリングループ毎だけにチェックさせてるのですが、
デバイスロストも定期点検が必要なんですかね。