Direct3D 10 の座標系は、ピクセルとテクセルに対して定義されます。
Direct3D 9 と Direct3D 10 の違い:
- Direct3D 10 は、左上のピクセルの左上隅をレンダー ターゲットの原点として定義します。
- Direct3D 9 は、左上のピクセルの中心をレンダー ターゲットの原点として定義します。
ピクセル座標系 を する
- Direct3D 9 のピクセル座標系の
ピクセル座標系
Direct3D 10 のピクセル座標系は、左上隅にあるレンダー ターゲットの原点を定義します。 次の図に示すように、 ピクセルの中心は、整数の位置から (0.5f,0.5f) オフセットされます。
direct3d 10図
Direct3D 9 のピクセル座標系
参考までに、次の図に示すように、Direct3D 9 のピクセル座標系は、左上のピクセルの中心として原点またはレンダー ターゲットを定義し、左上隅から離れた位置 (0.5,0.5) です。 Direct3D 9 では、ピクセルの中心は整数の位置にあります。
direct3d 9図
テクセル座標系
テクセル座標系は、次の図に示すように、テクスチャの左上隅に原点があります。 これにより、ピクセル座標系がテクセル座標系に揃えられるので、(Direct3D 10 では) 画面に合わせたテクスチャのレンダリングが簡単になります。
テクセル座標系図
テクセル座標系
テクスチャ座標は、正規化された数値またはスケーリングされた数値で表されます。各テクスチャ座標は、次のように特定のテクセルにマップされます。
正規化された座標の場合:
- ポイント サンプリング: テクセル # = floor(U * Width)
- 線形サンプリング: Left テクセル # = floor(U * Width),Right Texel # = Left Texel # + 1
スケーリングされた座標の場合:
- ポイント サンプリング: テクセル # = floor(U)
- 線形サンプリング: 左テクセル # = floor(U - 0.5)、右テクセル # = 左テクセル # + 1
ここで、幅はテクスチャの幅 (テクセル単位) です。
テクスチャ アドレスの折り返しは、テクセルの位置が計算された後に発生します。
関連トピック