0

チュートリアルや書籍はたくさんありますが、ビューポート、近距離および遠距離などを使用して遠近法/錐台行列を計算する方法を理解できません。

learningwebgl のレッスンを受けましたが.... ビューポートと 3D 空間の調整がどのように行われるかわかりません.... 初期ウィンドウの投影サイズは? 三角形と四角形が z = -7 に配置されているのはなぜですか。

私が理解していない別のこと。0.001 のニア プレーンは、鼻のすぐ前にウィンドウ プロジェクションを作成しますか? では、私の投影ウィンドウの寸法は?

私は非常に深く基本的な助けが必要です.... 誰か助けてくれますか? いくつかの本当に便利なリンク? 錐台の計算方法を示して教えるグラフィカルな例が必要です。

ありがとう

4

1 に答える 1

0

これがあります

http://games.greggman.com/game/webgl-3d-perspective/

あなたが2Dにいると想像してください。200x100 ピクセルのキャンバスがあります。x=201で描くとキャンバスからはみ出してしまいます。同様に x = -1 ではキャンバスから外れます。

WebGL では、x、y、z で -1 から +1 までの 3D 空間で機能します。パースペクティブ/フラスタム マトリックスは、3D シーンを取り、それをこの -1 / +1 空間に変換するマトリックスです。near 値と far 値は、ワールド空間のどの範囲が -1 / +1 の「クリップスペース」に変換されるかを定義します。その範囲外のものは、2D の例と同様にクリップされます。near を 10 に、far を 100 に設定すると、Z = 9 の何かが近すぎるためにクリップされ、101 の何かも遠すぎるものとしてクリップされます。より具体的には、近距離と遠距離の設定は行列を形成し、点が Z = 近くにある場合は行列を掛けると -1 になり、Z = 遠くにある場合は行列を掛けると +1 になります。

ビューポート設定は、-1 から +1 のスペースをピクセルに変換する方法を WebGL に指示します。

于 2013-09-25T22:52:47.227 に答える