「クリップスペース座標」の版間の差分
ナビゲーションに移動
検索に移動
Administrator (トーク | 投稿記録) |
Administrator (トーク | 投稿記録) |
||
11行目: | 11行目: | ||
:<math>\begin{pmatrix}x_n\\y_n\\z_n\end{pmatrix} = \begin{pmatrix}x_c / w_c\\y_c / w_c\\z_c / w_c\end{pmatrix}.</math> | :<math>\begin{pmatrix}x_n\\y_n\\z_n\end{pmatrix} = \begin{pmatrix}x_c / w_c\\y_c / w_c\\z_c / w_c\end{pmatrix}.</math> | ||
− | [[ビュー座標]]を[[正規化]] | + | [[ビュー座標]]を[[正規化]]したものであり、一般的には「−1〜+1」もしくは「0〜+1」の範囲に正規化された数値で表される。この範囲は[[グラフィックスAPI]]ごとに異なる。[[シェーダー]]を移植する際にこの違いに気がつかないとハマる。 |
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
20行目: | 20行目: | ||
! 備考 | ! 備考 | ||
|- | |- | ||
− | | Direct3D, Metal | + | | [[Direct3D]], [[Metal]] |
| (-1,1) | | (-1,1) | ||
| (-1,1) | | (-1,1) | ||
| (0,1) | | (0,1) | ||
|- | |- | ||
− | | Vulkan | + | | [[Vulkan]] |
| (-1,1) | | (-1,1) | ||
| (1,-1) | | (1,-1) | ||
31行目: | 31行目: | ||
| Direct3DやMetalと同じに見えるがY軸が反転している。 | | Direct3DやMetalと同じに見えるがY軸が反転している。 | ||
|- | |- | ||
− | | OpenGL, OpenGL ES | + | | [[OpenGL]], [[OpenGL ES]] |
| (-1,1) | | (-1,1) | ||
| (-1,1) | | (-1,1) |
2020年3月11日 (水) 01:50時点における版
クリップスペース座標(英語: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軸もマイナスまである。 |