差分

ナビゲーションに移動 検索に移動

クリップスペース座標

103 バイト追加, 2022年6月8日 (水) 06:01
編集の要約なし
クリップ座標のポイントは4つのコンポーネントで表される。
 
:<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>
[[ビュー座標]](x, y, z)を[[正規化]]したものであり、一般的には「−1〜+1」もしくは「0〜+1」の範囲に正規化された数値で表される。この範囲は(その際の倍率をwに保存)したものである。 == グラフィックスAPIごとの違い ==xとyの値はどの[[グラフィックスAPIグラフィクスAPI]]ごとに異なる。でも「-1 〜 +1」の範囲で統一されているが、zの値に関しては「-1 〜 +1」や「0 〜 1」などと範囲が異なる。この違いは[[シェーダー]]を移植する際にこの違いに気がつかないとハマる。を移植する際に意外とハマるポイントである。
{| class="wikitable"
|+
! グラフィックス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軸もマイナスまである。
|}
[[category: 3DCG]]
匿名利用者

案内メニュー