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 |
- Use .r swizzle en un sombreador para duplicar el rojo en otros componentes para obtener el comportamiento de Direct3D 9.
- 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.
- 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.
- 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.
Temas relacionados