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