2017-03-11 16 views
0

私はシーン内にオブジェクトを描画するのにOpenGLを使用していますが、回転するのではなくカメラの周りを回転させるように見えません。カメラの周りのオブジェクトを回転させ、変換された座標を取得していますか?

代わりにカメラを回るようにするにはどうすればよいですか?私はカメラ/ビュー空間で描画することができることを知っていますが、変換後にオブジェクトの位置と回転を取得する必要があります(そのオブジェクトにBulletで剛体を与えることができます)。ビュー空間でレンダリングされたオブジェクトから位置と回転を取得できる場合は、投稿の最初の部分は無視してください。言い換えれば

、どのように私は移動し、カメラの周りにオブジェクトを回転させると、私はこれらを埋めることができるように、それはModelMatrixからの座標と回転だ得ることができます。

glm::vec3 objectPosition; 
glm::quat objectRotation; 

私はそれをオンライン同様の記事を見てきました古いOpenGL/MVPフレームワークではないので、私はこれを行う方法がわかりません。乾杯。

+0

_negative_カメラの位置に変換し、回転させ、元に戻す必要があります。それ以外の場合は、オブジェクトを原点に移動し、それを回転させるともちろん、それは自軸の周りだけになります。最初の行をコメントアウトしてみてください。 – Psi

+0

私はそれに運がないようです。私は最初に - getPosition()を使って翻訳を試みました。回転してgetPosition()に変換してみました。 –

答えて

0

MVP2を投影行列なしで使用しようとしましたか?投影行列が画面に表示されます。だから、それを取り除くと助けになるかもしれない。

+0

それはいくつか面白い効果があります。それはカメラに従っていますが、回転と平行移動はもはや実際には動きにマッチしません。 –

関連する問題