クリップスペース座標
ナビゲーションに移動
検索に移動
クリップスペース座標(英語:clip space coordinates)とは、表示範囲(クリッピング)を表す座標系のことである。長い名称なので「クリップ空間」や「クリップ座標」とも呼ばれる。
主に3D空間で視界よりも外側にあるかどうかの判断に使われている。
OpenGLとVulkanでは頂点シェーダーの実行結果はクリップ座標内にあると見なされる。
クリップ座標のポイントは4つのコンポーネントで表される。
等式
ビュー座標(x, y, z)を正規化(その際の倍率をwに保存)したものである。
グラフィックスAPIごとの違い
xとyの値はどのグラフィクスAPIでも「-1 〜 +1」の範囲で統一されているが、zの値に関しては「-1 〜 +1」や「0 〜 1」などと範囲が異なる。この違いはシェーダーを移植する際に意外とハマるポイントである。
グラフィックスAPI | X軸 | Y軸 | Z軸 | 備考 |
---|---|---|---|---|
Direct3D | (-1,+1) | (-1,+1) | (0,+1) | |
Vulkan | (-1,+1) | (+1,-1) | (0,+1) | Direct3DやMetalと同じに見えるがY軸が反転している。 |
OpenGL | (-1,+1) | (-1,+1) | (-1,+1) | こいつだけZ軸もマイナスまである。 |