クリップスペース座標
2020年3月11日 (水) 01:50時点におけるAdministrator (トーク | 投稿記録)による版
クリップスペース座標(英語:clip space coordinates)とは、表示範囲(クリッピング)を表す座標系のことである。長い名称なので「クリップ空間」や「クリップ座標」とも呼ばれる。
主に3D空間で視界よりも外側にあるかどうかの判断に使われている。
OpenGLとVulkanでは頂点シェーダーの実行結果はクリップ座標内にあると見なされる。
クリップ座標のポイントは4つのコンポーネントで表される。
等式
ビュー座標を正規化したものであり、一般的には「−1〜+1」もしくは「0〜+1」の範囲に正規化された数値で表される。この範囲はグラフィックスAPIごとに異なる。シェーダーを移植する際にこの違いに気がつかないとハマる。
グラフィックスAPI | X軸 | Y軸 | Z軸 | 備考 |
---|---|---|---|---|
Direct3D, Metal | (-1,1) | (-1,1) | (0,1) | |
Vulkan | (-1,1) | (1,-1) | (0,1) | Direct3DやMetalと同じに見えるがY軸が反転している。 |
OpenGL, OpenGL ES | (-1,1) | (-1,1) | (-1,1) | こいつだけZ軸もマイナスまである。 |