回答編集履歴
1
追記
answer
CHANGED
@@ -1,6 +1,17 @@
|
|
1
1
|
長らくOpenGLを触っていないので、詳しい手順を書くことは出来ませんが、特定の点を中心に回転するカメラ、ということでしたら、以下の手順でビュー行列を計算するとできるのではないでしょうか。
|
2
2
|
|
3
|
+
0. カメラの基準点Aへ移動する平行移動行列T1を求めます。
|
3
4
|
0. 回転角から回転行列Rを求めます。
|
4
|
-
0. カメラの距離の移動分の平行移動行列
|
5
|
+
0. カメラの距離の移動分の平行移動行列T2を求めます。
|
5
|
-
0. 行列R
|
6
|
+
0. 行列T1、R、T2を掛けあわせ、行列Vとします。
|
6
|
-
0. 行列
|
7
|
+
0. 行列Vの逆行列IVを求めます。これがビュー行列となる…と思います。
|
8
|
+
|
9
|
+
###追記
|
10
|
+
もしかして、一定角から一定角まで動いた画像を、魚眼レンズで覗いたような1枚のパノラマとして描画したい、ということでしょうか?だとすれば開始角度をa、終了角度をbとしたとき、
|
11
|
+
0. glClearでまっさらにする
|
12
|
+
0. glViewportで画面の左端だけを描画するようにする
|
13
|
+
0. aの角度で描画する
|
14
|
+
0. glViewportで少しだけ右に描画範囲を動かす
|
15
|
+
0. aの角度に少し角度を足して描画する
|
16
|
+
0. この手順をbの角度まで繰り返す
|
17
|
+
こんなかんじになる…かもしれません。ちょっと私もやったことがないのでこれで動くか自信はないですが…
|