昨日のブログに書いた「GeForce2MXだと、色がおかしい (Radeonが正常に表示できてしまうのがおかしい?)」問題ですが、マテリアルの色を変更してみたり、ライトの色を変更してみたりするも、一向に改善されず。
ティーポットのメッシュ自体は法線も持ってるし……と、悩んでいましたがー、色々やったけっか、最初の1フレームだけ期待通りに色が出るようになりまして。
…もしかして、SetRenderState がいけないような気がしてきました。^^;
ゲーム中色々ステート変えてますからねぇ…。
ただ、いろんなところでStateを変更しているため、ぶっちゃけ管理できてません。(あかんがな)
仕方ないので、正常に描画できる最初のフレームと、異常に描画されてしまうそれ以降のフレームで、Stateの違うものの差分を算出し、結果を出力してみることにしました。
まだ差分を出すところまでは出来てませんが、現在のステートの一覧を出力するところは出来てみたり。↓
なんか、こんな感じに出力してくれると結構面白いですねー。(笑
現在の状態が一目瞭然ですわ。
……まぁただ、コレ組むのはちょっと大変でしたけどねー。^^;
MSDNから値と、値の意味を1つ1つ理解しなきゃいけないし、enum値をstringにしないといけなし……。1時間ぐらいやってた気が……
…力技なコードだなぁ…おぃ。(苦笑 ^^;
あとは差分を取るコード書いて…と。
これで問題がRenderStateじゃなかったらどーしましょ。(苦笑