グラフィックスの基本仕様
座標空間
ワールド座標 (World space)
3D 空間内の座標を指します。
チュートリアルの 3D 座標系の説明 のように、X+ を右、Y+を上、Z+ を前方とする左手座標系です。
スクリーン座標 (Screen space)
解像度と一致する座標空間です。
例えばサイズが 640x480 であるウィンドウの場合、左上を (0.0, 0.0) 、右下を (640.0, 480.0) とします。
UV座標 (UV space)
テクスチャサンプリングに使用する座標系です。
Lumino ではサンプリングソースの左上を (0.0, 0.0)、右下を (1.0, 1.0) とします。
Note
OpenGL 系のグラフィックスバックエンドとは縦方向の向きが逆である点に注意してください。 Lumino はシェーダをクロスコンパイルする際にこの座標系を変換するコードを挿入し、プラットフォームの差を吸収します。
クリップ座標 (Clip space)
左上を (-1.0, +1.0)、右下を (+1.0, -1.0)、遠くの平面を +1.0 とする座標空間です。
この座標空間は、主にシェーダを記述する際に注意する必要があります。
なお、範囲はグラフィックスバックエンドによって異なります。
Note
Direct3D-like: クリップ空間の深さは、near:0.0 ~ far:1.0 となります。
OpenGL-like: クリップ空間の深さは、near:-1.0 ~ far:1.0 となります。
面の正面方向
頂点が右回りである面を表とします。