3つの違いを知ることができますか?良い例も追加されます。
3つの違いを知ることができますか?良い例も追加されます。
回答:
世界座標はゲーム世界の基盤にあります。すべてのオブジェクトの3D位置は、直接またはノード階層を通じて、最終的にワールド空間で指定されます。地面、建物、樹木、その他の固定物は、ワールド空間に固定されます。ゲームプレイの計算と物理学は、世界空間で行われます(世界が大きい場合は、おそらく精度を高めるためにローカルで再センタリングを行います)。多くの場合、世界座標の軸は、X =東、Y =北、Z =上などのコンパスの方向を表すために使用されます。
ローカル座標はオブジェクトにアタッチされます(各オブジェクトに1つのローカル座標空間があります)。軸は、オブジェクトにとって意味のあるものを表す場合があります。たとえば、固有の方向を持つキャラクター、乗り物、銃などのオブジェクトの場合、X =前方、Y =左、Z =上です。オブジェクトが動き回ると、ローカル空間とワールド空間の関係(変換マトリックスで表される)が変化します。たとえば、車を上下逆さまにすると、そのローカルZ軸(ローカル空間では「上」)はワールド空間で「下」を指すようになります。
カメラまたはビューの座標は、カメラにアタッチされたローカル座標です。これはまだ3D座標系であり、投影などは一切ありませんが、軸は画面の向きに一致するように配置されています。通常はX =右、Y =上、Z =後方です。ワールドからビュースペースへの変換は、多くの場合「ビューマトリックス」として知られています。
クリップ空間座標は、頂点シェーダーによって出力される座標です。投影マトリックスが適用された座標ですが、遠近法による分割ではありません。これは4D(均質)スペースです。(ワールド、ローカル、およびビュースペースは、暗黙的なw = 1の3Dです。)これは、ビューの錐台のクリッピングとカリングが行われる(少なくとも概念的には)スペースであるため、そのように名付けられました。
正規化されたデバイス座標は、一般に「画面空間」とも呼ばれますが、その用語は少しゆるいですが、パース空間分割をクリップ空間座標に適用した後に得られるものです。3D座標は、画面上のポイントの2D位置を表し、[-1、1]のXとY、および深度バッファ範囲内の深度、D3Dの[0、1]または[-1、1]のZ ] OpenGLの場合。軸の向きはX =右、Y =上、およびZは深度バッファー構成に応じて前方または後方のいずれかになります。
デバイス座標は、レンダーターゲット内の2Dピクセル座標で、左上隅に(0、0)があり、X =右、Y =下です。正規化されたデバイス座標にビューポート変換を適用することにより、デバイス座標に到達します。ビューポートは、レンダーターゲットに表示される画像のピクセルオフセットと解像度を制御します。注意すべき重要な点の1つは、デバイス座標が整数値ではないことです。それらはピクセルのインデックスではありません。ピクセルサイズの単位を使用した連続2D座標系ですが、小数(サブピクセル)値は完全に有効です。この座標系では、ピクセルの中心は0.5オフセット(0.5、1.5、2.5など)にあります。