opengl:lefthand
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
opengl:lefthand [2014/04/16 16:24] – [OpenGL と Direct3D の座標系の違い] oga | opengl:lefthand [2014/04/16 17:57] (現在) – [OpenGL で Direct3D 座標系を使う (またはその逆)] oga | ||
---|---|---|---|
行 29: | 行 29: | ||
+ | GPU ハードウエア的には両 API に対応するのが当たり前なので、一部の GPU を除いてどちらでも問題ありません。 | ||
===== OpenGL と Direct3D の座標系の違い ===== | ===== OpenGL と Direct3D の座標系の違い ===== | ||
行 35: | 行 35: | ||
^ ^ Direct3D | ^ ^ Direct3D | ||
^ 3D 座標系 | ^ 3D 座標系 | ||
- | ^ Clip (device) 座標系 | + | ^ Clip (device) 座標系 |
^ Screen 座標系 | ^ Screen 座標系 | ||
^ UV 座標系 | ^ UV 座標系 | ||
行 157: | 行 157: | ||
===== Screen 座標系 ===== | ===== Screen 座標系 ===== | ||
- | OpenGL | + | OpenGL |
- | 例えば Viewport や Scissor 範囲の設定がこれに相当します。 | + | 関連する API 郡、例えば Viewport や Scissor 範囲の設定も左下原点です。 |
- | API による固定機能なので自由に座標系を決めることができません。 | + | 固定機能なので自由に座標系を決めることができません。 |
- | RenderBuffer | + | また Texture へのレンダリングを行った場合も左下原点とみなすため、 |
- | OpenGL は左下原点で格納されるために、D3D とちょうど上下逆のイメージが生成されます。 | + | 生成されたイメージは Direct3D |
- | ===== Tangent 座標系 ===== | + | |
+ | |||
+ | |||
+ | ===== Tangent 座標系 | ||
行 181: | 行 184: | ||
Matrix (Normal, Binormal, Tangent) で表現する場合は座標系の自由度が高いこと、 | Matrix (Normal, Binormal, Tangent) で表現する場合は座標系の自由度が高いこと、 | ||
API と関係なく Shader 内部の事情にすぎないことから、特に問題なく相互利用が可能となります。 | API と関係なく Shader 内部の事情にすぎないことから、特に問題なく相互利用が可能となります。 | ||
- | + | なお、Quaternion が用いられている場合は軸(座標系)が固定になるので要注意。 | |
- | + | ||
opengl/lefthand.txt · 最終更新: 2014/04/16 17:57 by oga