「クリップスペース座標」の版間の差分
ナビゲーションに移動
検索に移動
Administrator (トーク | 投稿記録) |
|||
(他の1人の利用者による、間の2版が非表示) | |||
6行目: | 6行目: | ||
クリップ座標のポイントは4つのコンポーネントで表される。 | クリップ座標のポイントは4つのコンポーネントで表される。 | ||
+ | |||
:<math>\begin{pmatrix}x_c\\y_c\\z_c\\w_c\end{pmatrix},</math> | :<math>\begin{pmatrix}x_c\\y_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> | :<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> | ||
− | [[ビュー座標]] | + | [[ビュー座標]](x, y, z)を[[正規化]](その際の倍率をwに保存)したものである。 |
+ | |||
+ | == グラフィックスAPIごとの違い == | ||
+ | xとyの値はどの[[グラフィクスAPI]]でも「-1 〜 +1」の範囲で統一されているが、zの値に関しては「-1 〜 +1」や「0 〜 1」などと範囲が異なる。この違いは[[シェーダー]]を移植する際に意外とハマるポイントである。 | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
− | ! グラフィックスAPI | + | !グラフィックスAPI |
− | ! X軸 | + | !X軸 |
− | ! Y軸 | + | !Y軸 |
− | ! Z軸 | + | !Z軸 |
− | ! 備考 | + | !備考 |
|- | |- | ||
− | | Direct3D | + | |[[Direct3D]] |
− | | (-1,1) | + | [[Metal]] |
− | | (-1,1) | + | |(-1,+1) |
− | | (0,1) | + | |(-1,+1) |
+ | |(0,+1) | ||
+ | | | ||
|- | |- | ||
− | | Vulkan | + | |[[Vulkan]] |
− | | (-1,1) | + | |(-1,+1) |
− | | (1,-1) | + | |(+1,-1) |
− | | (0,1) | + | |(0,+1) |
− | | Direct3DやMetalと同じに見えるがY軸が反転している。 | + | |Direct3DやMetalと同じに見えるがY軸が反転している。 |
|- | |- | ||
− | | OpenGL | + | |[[OpenGL]] |
− | | (-1,1) | + | [[OpenGL ES]] |
− | | (-1,1) | + | |(-1,+1) |
− | | (-1,1) | + | |(-1,+1) |
− | | こいつだけZ軸もマイナスまである。 | + | |(-1,+1) |
+ | |こいつだけZ軸もマイナスまである。 | ||
|} | |} | ||
[[category: 3DCG]] | [[category: 3DCG]] |
2022年6月8日 (水) 06:01時点における最新版
クリップスペース座標(英語: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軸もマイナスまである。 |