レガシ形式: Direct3D 9 形式を Direct3D 10 にマップする

次の表に、Direct3D 10 形式にマップできる Direct3D 9 形式の一覧を示します。 Direct3D 10 形式は Direct3D 9 形式とは異なるため、頂点とテクスチャの形式をマージして、クロスエンディアン アプリケーションを有効にすることができます。

Direct3D 9 テクスチャ/頂点/インデックス形式 同等の Direct3D 10 形式
D3DFMT_UNKNOWN DXGI_FORMAT_UNKNOWN
D3DFMT_R8G8B8 使用できません。
D3DFMT_A8R8G8B8 DXGI_FORMAT_B8G8R8A8_UNORM (DXGI 1.1)
D3DFMT_X8R8G8B8 DXGI_FORMAT_B8G8R8X8_UNORM (DXGI 1.1)
D3DFMT_R5G6B5 DXGI_FORMAT_B5G6R5_UNORM (DXGI 1.2)
D3DFMT_X1R5G5B5 使用できません。
D3DFMT_A1R5G5B5 DXGI_FORMAT_B5G5R5A1_UNORM (DXGI 1.2)
D3DFMT_A4R4G4B4 DXGI_FORMAT_B4G4R4A4_UNORM (DXGI 1.2)
D3DFMT_R3G3B2 使用できません。
D3DFMT_A8 DXGI_FORMAT_A8_UNORM
D3DFMT_A8R3G3B2 使用できません。
D3DFMT_X4R4G4B4 使用できません。
D3DFMT_A2B10G10R10 DXGI_FORMAT_R10G10B10A2
D3DFMT_A8B8G8R8 DXGI_FORMAT_R8G8B8A8_UNORMまたはDXGI_FORMAT_R8G8B8A8_UNORM_SRGB
D3DFMT_X8B8G8R8 使用できません。
D3DFMT_G16R16 DXGI_FORMAT_R16G16_UNORM
D3DFMT_A2R10G10B10 使用できません。
D3DFMT_A16B16G16R16 DXGI_FORMAT_R16G16B16A16_UNORM
D3DFMT_A8P8 使用できません。
D3DFMT_P8 使用できません。
D3DFMT_L8 DXGI_FORMAT_R8_UNORM ¹
D3DFMT_A8L8 使用不可
D3DFMT_A4L4 使用できません。
D3DFMT_V8U8 DXGI_FORMAT_R8G8_SNORM
D3DFMT_L6V5U5 使用できません。
D3DFMT_X8L8V8U8 使用できません。
D3DFMT_Q8W8V8U8 DXGI_FORMAT_R8G8B8A8_SNORM
D3DFMT_V16U16 DXGI_FORMAT_R16G16_SNORM
D3DFMT_W11V11U10 使用できません。
D3DFMT_A2W10V10U10 使用できません。
D3DFMT_UYVY 使用できません。
D3DFMT_R8G8_B8G8 DXGI_FORMAT_G8R8_G8B8_UNORM ²
D3DFMT_YUY2 使用できません。
D3DFMT_G8R8_G8B8 DXGI_FORMAT_R8G8_B8G8_UNORM ²
D3DFMT_DXT1 DXGI_FORMAT_BC1_UNORMまたはDXGI_FORMAT_BC1_UNORM_SRGB
D3DFMT_DXT2 DXGI_FORMAT_BC2_UNORMまたはDXGI_FORMAT_BC2_UNORM_SRGB ²
D3DFMT_DXT3 DXGI_FORMAT_BC2_UNORMまたはDXGI_FORMAT_BC2_UNORM_SRGB
D3DFMT_DXT4 DXGI_FORMAT_BC3_UNORMまたはDXGI_FORMAT_BC3_UNORM_SRGB ²
D3DFMT_DXT5 DXGI_FORMAT_BC3_UNORMまたはDXGI_FORMAT_BC3_UNORM_SRGB
D3DFMT_D16とD3DFMT_D16_LOCKABLE DXGI_FORMAT_D16_UNORM
D3DFMT_D32 使用できません。
D3DFMT_D15S1 使用できません。
D3DFMT_D24S8 使用できません。
D3DFMT_D24X8 使用できません。
D3DFMT_D24X4S4 使用できません。
D3DFMT_D16 DXGI_FORMAT_D16_UNORM
D3DFMT_D32F_LOCKABLE DXGI_FORMAT_D32_FLOAT
D3DFMT_D24FS8 使用できません。
D3DFMT_S1D15 使用できません。
D3DFMT_S8D24 DXGI_FORMAT_D24_UNORM_S8_UINT
D3DFMT_X8D24 使用できません。
D3DFMT_X4S4D24 使用できません。
D3DFMT_L16 DXGI_FORMAT_R16_UNORM ¹
D3DFMT_INDEX16 DXGI_FORMAT_R16_UINT
D3DFMT_INDEX32 DXGI_FORMAT_R32_UINT
D3DFMT_Q16W16V16U16 DXGI_FORMAT_R16G16B16A16_SNORM
D3DFMT_MULTI2_ARGB8 使用できません。
D3DFMT_R16F DXGI_FORMAT_R16_FLOAT
D3DFMT_G16R16F DXGI_FORMAT_R16G16_FLOAT
D3DFMT_A16B16G16R16F DXGI_FORMAT_R16G16B16A16_FLOAT
D3DFMT_R32F DXGI_FORMAT_R32_FLOAT
D3DFMT_G32R32F DXGI_FORMAT_R32G32_FLOAT
D3DFMT_A32B32G32R32F DXGI_FORMAT_R32G32B32A32_FLOAT
D3DFMT_CxV8U8 使用できません。
D3DDECLTYPE_FLOAT1 DXGI_FORMAT_R32_FLOAT
D3DDECLTYPE_FLOAT2 DXGI_FORMAT_R32G32_FLOAT
D3DDECLTYPE_FLOAT3 DXGI_FORMAT_R32G32B32_FLOAT
D3DDECLTYPE_FLOAT4 DXGI_FORMAT_R32G32B32A32_FLOAT
D3DDECLTYPED3DCOLOR 使用できません。
D3DDECLTYPE_UBYTE4 DXGI_FORMAT_R8G8B8A8_UINT ⁴
D3DDECLTYPE_SHORT2 DXGI_FORMAT_R16G16_SINT
D3DDECLTYPE_SHORT4 DXGI_FORMAT_R16G16B16A16_SINT
D3DDECLTYPE_UBYTE4N DXGI_FORMAT_R8G8B8A8_UNORM
D3DDECLTYPE_SHORT2N DXGI_FORMAT_R16G16_SNORM
D3DDECLTYPE_SHORT4N DXGI_FORMAT_R16G16B16A16_SNORM
D3DDECLTYPE_USHORT2N DXGI_FORMAT_R16G16_UNORM
D3DDECLTYPE_USHORT4N DXGI_FORMAT_R16G16B16A16_UNORM
D3DDECLTYPE_UDEC3 使用できません。
D3DDECLTYPE_DEC3N 使用できません。
D3DDECLTYPE_FLOAT16_2 DXGI_FORMAT_R16G16_FLOAT
D3DDECLTYPE_FLOAT16_4 DXGI_FORMAT_R16G16B16A16_FLOAT

 

  1. シェーダーで .r swizzle を使用して他のコンポーネントに赤を複製し、Direct3D 9 の動作を取得します。
  2. Direct3D 9 では、データは 255.0f ずつスケールアップされ、代わりにシェーダー コードで行うことができます。
  3. DXT2 と DXT3 は、API の観点から見ると同じです。DXT4 と DXT5 は、API の観点から見ると同じです。 唯一の違いは、アプリケーションで追跡することができ、別の形式を必要としないプリマルチプライドアルファでした。
  4. シェーダーは UINT 値を取得しますが、Direct3D 9 スタイルの整数が浮動小数点 (0.0f、1.0f...255.f) が必要です。UINT はシェーダーの float32 に変換できます。

リソース (Direct3D 10)