次の方法で共有


座標系 (Direct3D 10)

Direct3D 10 の座標系は、ピクセルおよびテクセルに関して定義されています。

Direct3D 9 と Direct3D 10 の違い

Direct3D 10 では、左上ピクセルの左上隅がレンダー ターゲットの原点として定義されています。

Direct3D 9 では、左上ピクセルの中央がレンダー ターゲットの原点として定義されています。

  • ピクセル座標系
  • テクセル座標系

ピクセル座標系

Direct3D 10 でのピクセル座標系では、レンダー ターゲットの原点が左上隅に定義されています。ピクセル中心は、整数値の位置から (0.5f, 0.5f) だけオフセットされています。

図形 1.  Direct3D 10 でのピクセル座標系

Ee415731.d3d10_CoordsPix10(ja-jp,VS.85).png

Direct3D 9 のピクセル座標系

参考のために、ここで Direct3D 9 のピクセル座標系を示します。このピクセル座標系では、レンダー ターゲットの原点が左上隅から (0.5, 0.5) 離れた、左上ピクセルの中央として定義されています。Direct3D 9 では、ピクセルの中心は整数値の位置となります。

図形 2.  Direct3D 9 でのピクセル座標系

Ee415731.d3d10_CoordsPix9(ja-jp,VS.85).png

テクセル座標系

テクセル座標系は、テクスチャーの左上隅を原点とします。これにより、ピクセル座標系はテクセル座標系とアライメントされているので、スクリーンにアライメントされたテクスチャーは、わずかにレンダリングされます (Direct3D 10 の場合)。

図形 3.  テクセル座標系

Ee415731.d3d10_CoordsTex10(ja-jp,VS.85).png

テクセル座標系

テクスチャー座標は、正規化された数値またはスケーリングされた数値のいずれかで表現され、各テクスチャー座標は、次のように特定のテクセルにマッピングされます。

正規化された座標の場合 :

  • ポイントのサンプリング :テクセル # = floor(U × 幅)
  • 線のサンプリング :左テクセル # = floor(U × 幅)、右テクセル # = 左テクセル # + 1

スケーリングされた座標の場合 :

  • ポイントのサンプリング :テクセル # = floor(U)
  • 線のサンプリング :左テクセル # = floor(U - 0.5)、右テクセル # = 左テクセル # + 1

ここで幅はテクスチャーの幅 (テクセル単位) です。

テクスチャー アドレス ラッピングは、テクセル位置が計算された後に発生します。

関連項目

リソース (Direct3D 10)