2011-01-23 9 views
0

私は2つのメッシュをDirectX 9でレンダリングし、カメラは0,0,0を見ています。 1つのメッシュは0,0,0にあり、もう1つは5,0,0にあります。どのようにしてカメラを0,0,0の周りに回転させると、新しい位置から2つのメッシュを常に見ることができますか?キーボードの矢印キーを押してカメラを回転できるようにしたいモデルの中心にカメラを回す

+0

はそれが本当に必要なのDirect3D9とDirectX9の両方で質問をタグ付けしました参照してください? – Puppy

+0

両方のメッシュが回転しているように見せたいのですか? – Alex

+0

私は0,0,0の位置にすべての3Dモデルを回転させるので、私はそれらを別の位置から見ることができます。カメラやメッシュを回転させる方が簡単かどうかわかりません... – Stefano

答えて

2

lookat関数からカメラマトリックスを構築します。適切な行列を構築するためのd3dx関数があります。

あなたがしたいことは、カメラの周りを円で囲むことができるようにカメラをセットアップすることです。 2.5,0,0を中心とする半径10の円を描く。周りわからないIamは何を回転させたいが、私は、zと仮定軸(及びX):詳細情報については

// pseudo 
cameraposition= vec3(sin(x)*10.0 + 2.5,0,cos(x)*10) 
cameralookat= vec3(2.5,0,0) 

http://msdn.microsoft.com/en-us/library/bb397804.aspx