Formats hérités : Mapper les formats Direct3D 9 à Direct3D 10
Ce tableau répertorie les formats Direct3D 9 qui peuvent être mappés à un format Direct3D 10. Les formats Direct3D 10 ont divergé des formats Direct3D 9, de sorte que les formats de vertex et de texture peuvent être fusionnés pour permettre des applications inter-endiennes.
Direct3D 9 Texture/Vertex/Index Format | Format Direct3D 10 équivalent |
---|---|
D3DFMT_UNKNOWN | DXGI_FORMAT_UNKNOWN |
D3DFMT_R8G8B8 | Non 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 | Non disponible |
D3DFMT_A1R5G5B5 | DXGI_FORMAT_B5G5R5A1_UNORM (DXGI 1.2) |
D3DFMT_A4R4G4B4 | DXGI_FORMAT_B4G4R4A4_UNORM (DXGI 1.2) |
D3DFMT_R3G3B2 | Non disponible |
D3DFMT_A8 | DXGI_FORMAT_A8_UNORM |
D3DFMT_A8R3G3B2 | Non disponible |
D3DFMT_X4R4G4B4 | Non disponible |
D3DFMT_A2B10G10R10 | DXGI_FORMAT_R10G10B10A2 |
D3DFMT_A8B8G8R8 | DXGI_FORMAT_R8G8B8A8_UNORM ou DXGI_FORMAT_R8G8B8A8_UNORM_SRGB |
D3DFMT_X8B8G8R8 | Non disponible |
D3DFMT_G16R16 | DXGI_FORMAT_R16G16_UNORM |
D3DFMT_A2R10G10B10 | Non disponible |
D3DFMT_A16B16G16R16 | DXGI_FORMAT_R16G16B16A16_UNORM |
D3DFMT_A8P8 | Non disponible |
D3DFMT_P8 | Non disponible |
D3DFMT_L8 | DXGI_FORMAT_R8_UNORM ¹ |
D3DFMT_A8L8 | Non disponible |
D3DFMT_A4L4 | Non disponible |
D3DFMT_V8U8 | DXGI_FORMAT_R8G8_SNORM |
D3DFMT_L6V5U5 | Non disponible |
D3DFMT_X8L8V8U8 | Non disponible |
D3DFMT_Q8W8V8U8 | DXGI_FORMAT_R8G8B8A8_SNORM |
D3DFMT_V16U16 | DXGI_FORMAT_R16G16_SNORM |
D3DFMT_W11V11U10 | Non disponible |
D3DFMT_A2W10V10U10 | Non disponible |
D3DFMT_UYVY | Non disponible |
D3DFMT_R8G8_B8G8 | DXGI_FORMAT_G8R8_G8B8_UNORM ² |
D3DFMT_YUY2 | Non disponible |
D3DFMT_G8R8_G8B8 | DXGI_FORMAT_R8G8_B8G8_UNORM ² |
D3DFMT_DXT1 | DXGI_FORMAT_BC1_UNORM ou DXGI_FORMAT_BC1_UNORM_SRGB |
D3DFMT_DXT2 | DXGI_FORMAT_BC2_UNORM ou DXGI_FORMAT_BC2_UNORM_SRGB ³ |
D3DFMT_DXT3 | DXGI_FORMAT_BC2_UNORM ou DXGI_FORMAT_BC2_UNORM_SRGB |
D3DFMT_DXT4 | DXGI_FORMAT_BC3_UNORM ou DXGI_FORMAT_BC3_UNORM_SRGB ³ |
D3DFMT_DXT5 | DXGI_FORMAT_BC3_UNORM ou DXGI_FORMAT_BC3_UNORM_SRGB |
D3DFMT_D16 et D3DFMT_D16_LOCKABLE | DXGI_FORMAT_D16_UNORM |
D3DFMT_D32 | Non disponible |
D3DFMT_D15S1 | Non disponible |
D3DFMT_D24S8 | Non disponible |
D3DFMT_D24X8 | Non disponible |
D3DFMT_D24X4S4 | Non disponible |
D3DFMT_D16 | DXGI_FORMAT_D16_UNORM |
D3DFMT_D32F_LOCKABLE | DXGI_FORMAT_D32_FLOAT |
D3DFMT_D24FS8 | Non disponible |
D3DFMT_S1D15 | Non disponible |
D3DFMT_S8D24 | DXGI_FORMAT_D24_UNORM_S8_UINT |
D3DFMT_X8D24 | Non disponible |
D3DFMT_X4S4D24 | Non 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 | Non 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 | Non 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 | Non 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 | Non disponible |
D3DDECLTYPE_DEC3N | Non disponible |
D3DDECLTYPE_FLOAT16_2 | DXGI_FORMAT_R16G16_FLOAT |
D3DDECLTYPE_FLOAT16_4 | DXGI_FORMAT_R16G16B16A16_FLOAT |
- Utilisez .r swizzle dans un nuanceur pour dupliquer le rouge vers d’autres composants afin d’obtenir le comportement de Direct3D 9.
- Dans Direct3D 9, les données ont été mises à l’échelle de 255,0f, ce qui peut être effectué dans le code du nuanceur à la place.
- DXT2 et DXT3 sont identiques du point de vue de l’API ; DXT4 et DXT5 sont identiques du point de vue de l’API. La seule différence était l’alpha prémultipliée, qui peut être suivie par une application et n’a pas besoin d’un format distinct.
- Un nuanceur obtient des valeurs UINT, mais si le style Direct3D 9 flotte (0.0f, 1.0f... 255.f) sont nécessaires, UINT peut être converti en float32 dans un nuanceur.
Rubriques connexes