1

openGles では、面に近い錐台を減らすと (ここで見られるように)、オブジェクトがより近くに表示されます。私は 3D から来ました。たとえば Vray では、ニア クリップ プレーンを変更しても距離は変更されず、一部のジオメトリがクリップされるだけです。

錐台の近い面を変更すると、オブジェクトがより近くに見えるのはなぜですか?

4

1 に答える 1

1

錐台を変更すると、ここで説明する効果があると思います。

したがって、ドキュメントによると、この関数を呼び出すと

void glFrustum(GLdouble  left,  GLdouble  right,  GLdouble  bottom,  GLdouble  top,  GLdouble  nearVal,  GLdouble  farVal);

あなたがしているのは、現在の射影行列に、パラメータで指定された値から構築された行列を掛けることです。

その行列がどのように構築されているかを見ると、スケーリング行列に非常に似ていることがわかります。C3,3 の要素 (ドキュメント ページではの名前になっています) は と同じ-(far+near)/(far-near)です。これは、減らしnearてそのままfarにしておくと、Cゼロに近づくことを意味します。行列の乗算が行われると、これは Z 座標のダウンスケーリングのように機能します。

そのため、near 値を小さくすると、頂点は Z 座標に比例して原点に近づいたように見えます。もちろん、この減少は X 座標と Y 座標にも影響し、オブジェクトが中心に向かってより「圧縮」されたように見えるはずです。その効果は、ニアクリッピングプレーンを視点に近づけることから直感的に期待されるものとより一致していると思います.

于 2014-05-05T22:55:38.417 に答える