2010-05-19
■[M3G] ピッキングの続き
Meshだけだがおおむね正しくピッキング出来るようになった。
が、周辺数ピクセルの結果が正しくない。なぜー
まだまだ。
透視投影でスケーリング?
平行投影だと完璧。透視投影だとトライアングルが10%ぐらい大きく判定される。
PROJECTION行列に何か問題があるのは間違えない。
うーむ
数字は合っている
全部座標を表示して自分で手計算してみたが全部合っている。
むしろ画面に表示されている図形が不当に小さいんじゃ???
今まで全く気がつかなかったが。
Worldの座標変換成分が反映されていない
原因は分かった。Worldクラスの座標変換が反映されていない。
原因は分かったが何故だ!?
Worldの座標変換で画像が変化する方がおかしい気がする
待てよ? wld->translate(0,0,-10) で何故全体が奥に移動するんだ??
カメラもワールドの構成物なのでオブジェクトと一緒に移動するのが正しい動作のハズ。
とするとレンダリング画像は変化しないはずだが……
(ピッキングでは変化してないのでレンダリングとピッキングの結果が異なる)
修正した
ああ確かにカメラの座標変換しかMODELVIEW行列にセットしていなかった。
カメラはWorldクラスのgetActiveCamera()で直接飛んでしまうため。
正しくシーン階層をさかのぼって全部反映させた。
コメントを書く