Compartir a través de


Formatos heredados: asignar formatos de Direct3D 9 a Direct3D 10

En esta tabla se enumeran los formatos de Direct3D 9 que se pueden asignar a un formato direct3D 10. Los formatos direct3D 10 han divergido de los formatos direct3D 9 para que los formatos de vértices y texturas se puedan combinar para habilitar aplicaciones entre endian.

Formato de textura/vértice/índice de Direct3D 9 Formato direct3D 10 equivalente
D3DFMT_UNKNOWN DXGI_FORMAT_UNKNOWN
D3DFMT_R8G8B8 No disponible
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 No disponible
D3DFMT_A1R5G5B5 DXGI_FORMAT_B5G5R5A1_UNORM (DXGI 1.2)
D3DFMT_A4R4G4B4 DXGI_FORMAT_B4G4R4A4_UNORM (DXGI 1.2)
D3DFMT_R3G3B2 No disponible
D3DFMT_A8 DXGI_FORMAT_A8_UNORM
D3DFMT_A8R3G3B2 No disponible
D3DFMT_X4R4G4B4 No disponible
D3DFMT_A2B10G10R10 DXGI_FORMAT_R10G10B10A2
D3DFMT_A8B8G8R8 DXGI_FORMAT_R8G8B8A8_UNORM o DXGI_FORMAT_R8G8B8A8_UNORM_SRGB
D3DFMT_X8B8G8R8 No disponible
D3DFMT_G16R16 DXGI_FORMAT_R16G16_UNORM
D3DFMT_A2R10G10B10 No disponible
D3DFMT_A16B16G16R16 DXGI_FORMAT_R16G16B16A16_UNORM
D3DFMT_A8P8 No disponible
D3DFMT_P8 No disponible
D3DFMT_L8 DXGI_FORMAT_R8_UNORM ¹
D3DFMT_A8L8 No disponible
D3DFMT_A4L4 No disponible
D3DFMT_V8U8 DXGI_FORMAT_R8G8_SNORM
D3DFMT_L6V5U5 No disponible
D3DFMT_X8L8V8U8 No disponible
D3DFMT_Q8W8V8U8 DXGI_FORMAT_R8G8B8A8_SNORM
D3DFMT_V16U16 DXGI_FORMAT_R16G16_SNORM
D3DFMT_W11V11U10 No disponible
D3DFMT_A2W10V10U10 No disponible
D3DFMT_UYVY No disponible
D3DFMT_R8G8_B8G8 DXGI_FORMAT_G8R8_G8B8_UNORM ²
D3DFMT_YUY2 No disponible
D3DFMT_G8R8_G8B8 DXGI_FORMAT_R8G8_B8G8_UNORM ²
D3DFMT_DXT1 DXGI_FORMAT_BC1_UNORM o DXGI_FORMAT_BC1_UNORM_SRGB
D3DFMT_DXT2 DXGI_FORMAT_BC2_UNORM o DXGI_FORMAT_BC2_UNORM_SRGB ³
D3DFMT_DXT3 DXGI_FORMAT_BC2_UNORM o DXGI_FORMAT_BC2_UNORM_SRGB
D3DFMT_DXT4 DXGI_FORMAT_BC3_UNORM o DXGI_FORMAT_BC3_UNORM_SRGB ³
D3DFMT_DXT5 DXGI_FORMAT_BC3_UNORM o DXGI_FORMAT_BC3_UNORM_SRGB
D3DFMT_D16 y D3DFMT_D16_LOCKABLE DXGI_FORMAT_D16_UNORM
D3DFMT_D32 No disponible
D3DFMT_D15S1 No disponible
D3DFMT_D24S8 No disponible
D3DFMT_D24X8 No disponible
D3DFMT_D24X4S4 No disponible
D3DFMT_D16 DXGI_FORMAT_D16_UNORM
D3DFMT_D32F_LOCKABLE DXGI_FORMAT_D32_FLOAT
D3DFMT_D24FS8 No disponible
D3DFMT_S1D15 No disponible
D3DFMT_S8D24 DXGI_FORMAT_D24_UNORM_S8_UINT
D3DFMT_X8D24 No disponible
D3DFMT_X4S4D24 No disponible
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 No disponible
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 No disponible
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 No disponible
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 No disponible
D3DDECLTYPE_DEC3N No disponible
D3DDECLTYPE_FLOAT16_2 DXGI_FORMAT_R16G16_FLOAT
D3DDECLTYPE_FLOAT16_4 DXGI_FORMAT_R16G16B16A16_FLOAT

 

  1. Use .r swizzle en un sombreador para duplicar el rojo en otros componentes para obtener el comportamiento de Direct3D 9.
  2. En Direct3D 9, los datos se escalaron verticalmente en 255.0f, lo que se puede hacer en el código del sombreador en su lugar.
  3. DXT2 y DXT3 son los mismos desde una perspectiva de API; DXT4 y DXT5 son los mismos desde una perspectiva de API. La única diferencia era alfa premultiplied, que una aplicación puede realizar el seguimiento y no necesita un formato independiente.
  4. Un sombreador obtiene valores UINT, pero si Direct3D 9 estilo floats enteros (0,0f, 1,0f... Se necesitan 255.f), UINT se puede convertir a float32 en un sombreador.

Recursos (Direct3D 10)