0

http://www.cs.uaf.edu/2007/spring/cs481/lecture/01_23_matrices.html

これを読み終えたところですが、掛け算について 2 つの質問があります。

gl_Position = gl_ProjectionMatrix*gl_ModelViewMatrix*gl_Vertex

これは、それらすべてを乗算したときの最終的な画面座標 (x,y) です。gl_ModelViewMatrix*gl_Vertex または gl_ProjectionMatrix*gl_Vertex のみを乗算するとどうなりますか? そして、gl_Vertex は単独で何を意味するのでしょうか?

4

2 に答える 2

2

gl_Vertex は、ワールド空間での頂点座標です。頂点と目は、ワールド空間で任意に配置および方向付けることができます。

ModelViewMatrix で乗算した後、「eye-space」で頂点座標を取得します。これは、目が 0,0,0 の座標系です。射影行列を掛けると(そして同次座標系の除算を行うと)、スクリーン空間の座標が得られます。これらはまだピクセル座標ではありませんが、画面/ウィンドウの中心が 0,0,0 の正規化された座標系です。ビューポート変換は最後です。イメージをウィンドウ (ピクセル?) 座標にマップします。

説明は次のとおりです。

http://www.srk.fer.hr/~unreal/theredbook/ 第 3 章。

于 2013-02-08T10:40:05.683 に答える
1

gl_ModelViewMatrix*gl_Vertex または gl_ProjectionMatrix*gl_Vertex のみを乗算するとどうなりますか?

その場合、射影行列 (1 番目のケース) またはモデル ビュー マトリックス (2 番目のケース) は有効になりません。それらが恒等行列である場合、効果は見られません。そうでない場合は、視野角または位置が間違っている可能性があります。

そして、gl_Vertex は単独で何を意味するのでしょうか?

gl_Vertexパイプラインの入力に渡される頂点座標です。

于 2013-02-08T10:24:51.753 に答える