簡易的な3Dモデリングソフトを作ろうとしていて、OpenGLとGLFW、C++を用いてやっているのですが、どうしてもマウスを用いてカメラを回転させる手法が分かりません。
3Dモデリングソフトのメタセコイア等で言えば「右クリックしながらドラックすると中心の軸とマウスの方向に合わせて回転する」という機能です。
まず、下記のソースを元にglMultiMatrixdとクォータニオンによる方法をやってみたのですが、何故か意図しない方向に高速に回転して上手く行きませんでした。
https://www21.atwiki.jp/opengl/pages/49.html
次にglRotatefを用いて回転させようとしたのですが、今度はglRotatefの回転軸を計算する方法は分かったものの、角度を計算する方法が分かりません。
他にも様々なサイトを巡ってはみたのですが、全く具体的なやり方が書いておらず、どうすればいいのか全く見当がつきません。githubでC++の簡易的な3Dビューワのソフトは無いかと探しましたが、それも有りませんでした。
どうすればいいのでしょうか。よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー