「クリップスペース座標」を編集中

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

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。

最新版 編集中の文章
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に保存)したものである。
+
[[ビュー座標]][[正規化]]したものであり、一般的には「−1〜+1」もしくは「0〜+1」の範囲に正規化された数値で表される。この範囲は[[グラフィックスAPI]]ごとに異なる。[[シェーダー]]を移植する際にこの違いに気がつかないとハマる。
 
 
== グラフィックス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]], [[Metal]]
[[Metal]]
+
| (-1,1)
|(-1,+1)
+
| (-1,1)
|(-1,+1)
+
| (0,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]], [[OpenGL ES]]
[[OpenGL ES]]
+
| (-1,1)
|(-1,+1)
+
| (-1,1)
|(-1,+1)
+
| (-1,1)
|(-1,+1)
+
| こいつだけZ軸もマイナスまである。
|こいつだけZ軸もマイナスまである。
 
 
|}
 
|}
  
 
[[category: 3DCG]]
 
[[category: 3DCG]]

MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMonoBook:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)