OpenGL Superbible を読んで、OpenGL の基本を学ぼうとしています。
私は第 4 章の最初にいますが、変換について質問があります。
まず、関連リンク: http://www.songho.ca/opengl/gl_transform.html
このパイプラインを(いわば)正しく理解している場合、私のコードで次のようなものがあれば
const float vertexPositions[] = {
0.75f, 0.75f, 0.0f, 1.0f,
0.75f, -0.75f, 0.0f, 1.0f,
-0.75f, -0.75f, 0.0f, 1.0f,
};
これらの座標は、いわゆるオブジェクト空間座標にあり、各値を[-1,1]
範囲内の何かとして指定できます。
ビューモデルマトリックスを適用した後、各頂点座標は任意の数になり、それらの座標はいわゆる目の座標になります。
射影行列 (透視射影であっても) を適用した後、クリップ スペースに入りますが、数値は任意の値を持つことができます。
さて、ここが気になるポイントです。このページでは、各頂点x,y,z
座標を 4 番目の値w
で割っています。これは同次座標系を使用しているため存在し、分割後はx,y,z
範囲内にあります[-1,1]
。
私の質問は、これらすべての変換後に の値w
が十分であり、それで割った後x,y,z
に範囲内の何かが得られることをどのように確認できる[-1,1]
でしょうか?