ここをキャンプ地とするブログ

いきあたりばったり

BasicEffectは頂点カラーに対応してない

・・・そうですよ奥さん!

http://higeneko.com/diary.php?Date=2006-09-02#Date2006-09-02

次にBasicEffectは、もともとテクスチャを貼ったモデルを表示させるために設計されているのでライティングやフォグといった機能はあるのですが、頂点カラーを指定してもシェーダーコードはそれを無視するので、いくら頂点カラーを変えても反映されないという問題があります。

うわーそゆことかー。

そもそもヘルプにこうゆう内部の挙動を書いてて欲しいぜ!

#未だにResourceUsageあたりで混乱してます。


もひとつ大事なことに書いてありました。

ここで、VertexPositionNormalTexture構造体を使っているのはBasicEffectは常に法線とテクスチャ座標を参照するので、指定していないと例外エラーの原因になるからです。

よくVertexPositionColorを無理やり指定して動いてたもんですw

つか、ひげねこにっきさんをXNAのヘルプの次くらいにちゃんと読んどいた方がいいと思った。


で、結局XNAチュートリアルにあった頂点カラーだけ

反映するエフェクト(=シェーダって定義なのかな?)を作成&登録。

無事動作したので、カメラの注視点にXYZ軸表示機能追加。

f:id:Kuna:20070224215404j:image

あ、カメラ移動中だけ表示するようにしよ。