mirror of
https://github.com/bkaradzic/bimg.git
synced 2026-02-17 12:42:35 +01:00
DDS: Recognize more formats.
This commit is contained in:
319
src/image.cpp
319
src/image.cpp
@@ -3390,42 +3390,72 @@ namespace bimg
|
|||||||
#define DDS_G32R32F 115
|
#define DDS_G32R32F 115
|
||||||
#define DDS_A32B32G32R32F 116
|
#define DDS_A32B32G32R32F 116
|
||||||
|
|
||||||
#define DDS_FORMAT_R32G32B32A32_FLOAT 2
|
#define DDS_FORMAT_R32G32B32A32_FLOAT 2
|
||||||
#define DDS_FORMAT_R32G32B32A32_UINT 3
|
#define DDS_FORMAT_R32G32B32A32_UINT 3
|
||||||
#define DDS_FORMAT_R16G16B16A16_FLOAT 10
|
#define DDS_FORMAT_R16G16B16A16_FLOAT 10
|
||||||
#define DDS_FORMAT_R16G16B16A16_UNORM 11
|
#define DDS_FORMAT_R16G16B16A16_UNORM 11
|
||||||
#define DDS_FORMAT_R16G16B16A16_UINT 12
|
#define DDS_FORMAT_R16G16B16A16_UINT 12
|
||||||
#define DDS_FORMAT_R32G32_FLOAT 16
|
#define DDS_FORMAT_R32G32_FLOAT 16
|
||||||
#define DDS_FORMAT_R32G32_UINT 17
|
#define DDS_FORMAT_R32G32_UINT 17
|
||||||
#define DDS_FORMAT_R10G10B10A2_UNORM 24
|
#define DDS_FORMAT_R10G10B10A2_UNORM 24
|
||||||
#define DDS_FORMAT_R11G11B10_FLOAT 26
|
#define DDS_FORMAT_R11G11B10_FLOAT 26
|
||||||
#define DDS_FORMAT_R8G8B8A8_UNORM 28
|
#define DDS_FORMAT_R8G8B8A8_UNORM 28
|
||||||
#define DDS_FORMAT_R8G8B8A8_UNORM_SRGB 29
|
#define DDS_FORMAT_R8G8B8A8_UNORM_SRGB 29
|
||||||
#define DDS_FORMAT_R16G16_FLOAT 34
|
#define DDS_FORMAT_R16G16_FLOAT 34
|
||||||
#define DDS_FORMAT_R16G16_UNORM 35
|
#define DDS_FORMAT_R16G16_UNORM 35
|
||||||
#define DDS_FORMAT_R32_FLOAT 41
|
#define DDS_FORMAT_R32_FLOAT 41
|
||||||
#define DDS_FORMAT_R32_UINT 42
|
#define DDS_FORMAT_R32_UINT 42
|
||||||
#define DDS_FORMAT_R8G8_UNORM 49
|
#define DDS_FORMAT_R8G8_UNORM 49
|
||||||
#define DDS_FORMAT_R16_FLOAT 54
|
#define DDS_FORMAT_R16_FLOAT 54
|
||||||
#define DDS_FORMAT_R16_UNORM 56
|
#define DDS_FORMAT_R16_UNORM 56
|
||||||
#define DDS_FORMAT_R8_UNORM 61
|
#define DDS_FORMAT_R8_UNORM 61
|
||||||
#define DDS_FORMAT_R1_UNORM 66
|
#define DDS_FORMAT_A8_UNORM 65
|
||||||
#define DDS_FORMAT_BC1_UNORM 71
|
#define DDS_FORMAT_R1_UNORM 66
|
||||||
#define DDS_FORMAT_BC1_UNORM_SRGB 72
|
#define DDS_FORMAT_BC1_UNORM 71
|
||||||
#define DDS_FORMAT_BC2_UNORM 74
|
#define DDS_FORMAT_BC1_UNORM_SRGB 72
|
||||||
#define DDS_FORMAT_BC2_UNORM_SRGB 75
|
#define DDS_FORMAT_BC2_UNORM 74
|
||||||
#define DDS_FORMAT_BC3_UNORM 77
|
#define DDS_FORMAT_BC2_UNORM_SRGB 75
|
||||||
#define DDS_FORMAT_BC3_UNORM_SRGB 78
|
#define DDS_FORMAT_BC3_UNORM 77
|
||||||
#define DDS_FORMAT_BC4_UNORM 80
|
#define DDS_FORMAT_BC3_UNORM_SRGB 78
|
||||||
#define DDS_FORMAT_BC5_UNORM 83
|
#define DDS_FORMAT_BC4_UNORM 80
|
||||||
#define DDS_FORMAT_B5G6R5_UNORM 85
|
#define DDS_FORMAT_BC5_UNORM 83
|
||||||
#define DDS_FORMAT_B5G5R5A1_UNORM 86
|
#define DDS_FORMAT_B5G6R5_UNORM 85
|
||||||
#define DDS_FORMAT_B8G8R8A8_UNORM 87
|
#define DDS_FORMAT_B5G5R5A1_UNORM 86
|
||||||
#define DDS_FORMAT_B8G8R8A8_UNORM_SRGB 91
|
#define DDS_FORMAT_B8G8R8A8_UNORM 87
|
||||||
#define DDS_FORMAT_BC6H_SF16 96
|
#define DDS_FORMAT_B8G8R8A8_UNORM_SRGB 91
|
||||||
#define DDS_FORMAT_BC7_UNORM 98
|
#define DDS_FORMAT_BC6H_SF16 96
|
||||||
#define DDS_FORMAT_BC7_UNORM_SRGB 99
|
#define DDS_FORMAT_BC7_UNORM 98
|
||||||
#define DDS_FORMAT_B4G4R4A4_UNORM 115
|
#define DDS_FORMAT_BC7_UNORM_SRGB 99
|
||||||
|
#define DDS_FORMAT_B4G4R4A4_UNORM 115
|
||||||
|
#define DDS_FORMAT_ASTC_4X4_UNORM 134
|
||||||
|
#define DDS_FORMAT_ASTC_4X4_UNORM_SRGB 135
|
||||||
|
#define DDS_FORMAT_ASTC_5X4_UNORM 138
|
||||||
|
#define DDS_FORMAT_ASTC_5X4_UNORM_SRGB 139
|
||||||
|
#define DDS_FORMAT_ASTC_5X5_UNORM 142
|
||||||
|
#define DDS_FORMAT_ASTC_5X5_UNORM_SRGB 143
|
||||||
|
#define DDS_FORMAT_ASTC_6X5_UNORM 146
|
||||||
|
#define DDS_FORMAT_ASTC_6X5_UNORM_SRGB 147
|
||||||
|
#define DDS_FORMAT_ASTC_6X6_UNORM 150
|
||||||
|
#define DDS_FORMAT_ASTC_6X6_UNORM_SRGB 151
|
||||||
|
#define DDS_FORMAT_ASTC_8X5_UNORM 154
|
||||||
|
#define DDS_FORMAT_ASTC_8X5_UNORM_SRGB 155
|
||||||
|
#define DDS_FORMAT_ASTC_8X6_UNORM 158
|
||||||
|
#define DDS_FORMAT_ASTC_8X6_UNORM_SRGB 159
|
||||||
|
#define DDS_FORMAT_ASTC_8X8_UNORM 162
|
||||||
|
#define DDS_FORMAT_ASTC_8X8_UNORM_SRGB 163
|
||||||
|
#define DDS_FORMAT_ASTC_10X5_UNORM 166
|
||||||
|
#define DDS_FORMAT_ASTC_10X5_UNORM_SRGB 167
|
||||||
|
#define DDS_FORMAT_ASTC_10X6_UNORM 170
|
||||||
|
#define DDS_FORMAT_ASTC_10X6_UNORM_SRGB 171
|
||||||
|
#define DDS_FORMAT_ASTC_10X8_UNORM 174
|
||||||
|
#define DDS_FORMAT_ASTC_10X8_UNORM_SRGB 175
|
||||||
|
#define DDS_FORMAT_ASTC_10X10_UNORM 178
|
||||||
|
#define DDS_FORMAT_ASTC_10X10_UNORM_SRGB 179
|
||||||
|
#define DDS_FORMAT_ASTC_12X10_UNORM 182
|
||||||
|
#define DDS_FORMAT_ASTC_12X10_UNORM_SRGB 183
|
||||||
|
#define DDS_FORMAT_ASTC_12X12_UNORM 186
|
||||||
|
#define DDS_FORMAT_ASTC_12X12_UNORM_SRGB 187
|
||||||
|
|
||||||
|
|
||||||
#define DDS_DX10_DIMENSION_TEXTURE2D 3
|
#define DDS_DX10_DIMENSION_TEXTURE2D 3
|
||||||
#define DDS_DX10_DIMENSION_TEXTURE3D 4
|
#define DDS_DX10_DIMENSION_TEXTURE3D 4
|
||||||
@@ -3480,107 +3510,135 @@ namespace bimg
|
|||||||
|
|
||||||
static const TranslateDdsFormat s_translateDdsFourccFormat[] =
|
static const TranslateDdsFormat s_translateDdsFourccFormat[] =
|
||||||
{
|
{
|
||||||
{ DDS_DXT1, TextureFormat::BC1, false },
|
{ DDS_DXT1, TextureFormat::BC1, false },
|
||||||
{ DDS_DXT2, TextureFormat::BC2, false },
|
{ DDS_DXT2, TextureFormat::BC2, false },
|
||||||
{ DDS_DXT3, TextureFormat::BC2, false },
|
{ DDS_DXT3, TextureFormat::BC2, false },
|
||||||
{ DDS_DXT4, TextureFormat::BC3, false },
|
{ DDS_DXT4, TextureFormat::BC3, false },
|
||||||
{ DDS_DXT5, TextureFormat::BC3, false },
|
{ DDS_DXT5, TextureFormat::BC3, false },
|
||||||
{ DDS_ATI1, TextureFormat::BC4, false },
|
{ DDS_ATI1, TextureFormat::BC4, false },
|
||||||
{ DDS_BC4U, TextureFormat::BC4, false },
|
{ DDS_BC4U, TextureFormat::BC4, false },
|
||||||
{ DDS_ATI2, TextureFormat::BC5, false },
|
{ DDS_ATI2, TextureFormat::BC5, false },
|
||||||
{ DDS_BC5U, TextureFormat::BC5, false },
|
{ DDS_BC5U, TextureFormat::BC5, false },
|
||||||
|
|
||||||
{ DDS_ETC1, TextureFormat::ETC1, false },
|
{ DDS_ETC1, TextureFormat::ETC1, false },
|
||||||
{ DDS_ETC2, TextureFormat::ETC2, false },
|
{ DDS_ETC2, TextureFormat::ETC2, false },
|
||||||
{ DDS_ET2A, TextureFormat::ETC2A, false },
|
{ DDS_ET2A, TextureFormat::ETC2A, false },
|
||||||
{ DDS_PTC2, TextureFormat::PTC12A, false },
|
{ DDS_PTC2, TextureFormat::PTC12A, false },
|
||||||
{ DDS_PTC4, TextureFormat::PTC14A, false },
|
{ DDS_PTC4, TextureFormat::PTC14A, false },
|
||||||
{ DDS_ATC , TextureFormat::ATC, false },
|
{ DDS_ATC , TextureFormat::ATC, false },
|
||||||
{ DDS_ATCE, TextureFormat::ATCE, false },
|
{ DDS_ATCE, TextureFormat::ATCE, false },
|
||||||
{ DDS_ATCI, TextureFormat::ATCI, false },
|
{ DDS_ATCI, TextureFormat::ATCI, false },
|
||||||
{ DDS_ASTC4x4, TextureFormat::ASTC4x4, false },
|
{ DDS_ASTC4x4, TextureFormat::ASTC4x4, false },
|
||||||
{ DDS_ASTC5x4, TextureFormat::ASTC5x4, false },
|
{ DDS_ASTC5x4, TextureFormat::ASTC5x4, false },
|
||||||
{ DDS_ASTC5x5, TextureFormat::ASTC5x5, false },
|
{ DDS_ASTC5x5, TextureFormat::ASTC5x5, false },
|
||||||
{ DDS_ASTC6x5, TextureFormat::ASTC6x5, false },
|
{ DDS_ASTC6x5, TextureFormat::ASTC6x5, false },
|
||||||
{ DDS_ASTC6x6, TextureFormat::ASTC6x6, false },
|
{ DDS_ASTC6x6, TextureFormat::ASTC6x6, false },
|
||||||
{ DDS_ASTC8x5, TextureFormat::ASTC8x5, false },
|
{ DDS_ASTC8x5, TextureFormat::ASTC8x5, false },
|
||||||
{ DDS_ASTC8x6, TextureFormat::ASTC8x6, false },
|
{ DDS_ASTC8x6, TextureFormat::ASTC8x6, false },
|
||||||
{ DDS_ASTC8x8, TextureFormat::ASTC8x8, false },
|
{ DDS_ASTC8x8, TextureFormat::ASTC8x8, false },
|
||||||
{ DDS_ASTC10x5, TextureFormat::ASTC10x5, false },
|
{ DDS_ASTC10x5, TextureFormat::ASTC10x5, false },
|
||||||
{ DDS_ASTC10x6, TextureFormat::ASTC10x6, false },
|
{ DDS_ASTC10x6, TextureFormat::ASTC10x6, false },
|
||||||
{ DDS_ASTC10x8, TextureFormat::ASTC10x8, false },
|
{ DDS_ASTC10x8, TextureFormat::ASTC10x8, false },
|
||||||
{ DDS_ASTC10x10, TextureFormat::ASTC10x10,false },
|
{ DDS_ASTC10x10, TextureFormat::ASTC10x10, false },
|
||||||
{ DDS_ASTC12x10, TextureFormat::ASTC12x10,false },
|
{ DDS_ASTC12x10, TextureFormat::ASTC12x10, false },
|
||||||
{ DDS_ASTC12x12, TextureFormat::ASTC12x12,false },
|
{ DDS_ASTC12x12, TextureFormat::ASTC12x12, false },
|
||||||
|
|
||||||
{ DDS_A16B16G16R16, TextureFormat::RGBA16, false },
|
{ DDS_A16B16G16R16, TextureFormat::RGBA16, false },
|
||||||
{ DDS_A16B16G16R16F, TextureFormat::RGBA16F, false },
|
{ DDS_A16B16G16R16F, TextureFormat::RGBA16F, false },
|
||||||
{ DDPF_RGB|DDPF_ALPHAPIXELS, TextureFormat::BGRA8, false },
|
{ DDPF_RGB|DDPF_ALPHAPIXELS, TextureFormat::BGRA8, false },
|
||||||
{ DDPF_INDEXED, TextureFormat::R8, false },
|
{ DDPF_INDEXED, TextureFormat::R8, false },
|
||||||
{ DDPF_LUMINANCE, TextureFormat::R8, false },
|
{ DDPF_LUMINANCE, TextureFormat::R8, false },
|
||||||
{ DDPF_ALPHA, TextureFormat::R8, false },
|
{ DDPF_ALPHA, TextureFormat::R8, false },
|
||||||
{ DDS_R16F, TextureFormat::R16F, false },
|
{ DDS_R16F, TextureFormat::R16F, false },
|
||||||
{ DDS_R32F, TextureFormat::R32F, false },
|
{ DDS_R32F, TextureFormat::R32F, false },
|
||||||
{ DDS_A8L8, TextureFormat::RG8, false },
|
{ DDS_A8L8, TextureFormat::RG8, false },
|
||||||
{ DDS_G16R16, TextureFormat::RG16, false },
|
{ DDS_G16R16, TextureFormat::RG16, false },
|
||||||
{ DDS_G16R16F, TextureFormat::RG16F, false },
|
{ DDS_G16R16F, TextureFormat::RG16F, false },
|
||||||
{ DDS_G32R32F, TextureFormat::RG32F, false },
|
{ DDS_G32R32F, TextureFormat::RG32F, false },
|
||||||
{ DDS_R8G8B8, TextureFormat::RGB8, false },
|
{ DDS_R8G8B8, TextureFormat::RGB8, false },
|
||||||
{ DDS_A8R8G8B8, TextureFormat::BGRA8, false },
|
{ DDS_A8R8G8B8, TextureFormat::BGRA8, false },
|
||||||
{ DDS_A16B16G16R16, TextureFormat::RGBA16, false },
|
{ DDS_A16B16G16R16, TextureFormat::RGBA16, false },
|
||||||
{ DDS_A16B16G16R16F, TextureFormat::RGBA16F, false },
|
{ DDS_A16B16G16R16F, TextureFormat::RGBA16F, false },
|
||||||
{ DDS_A32B32G32R32F, TextureFormat::RGBA32F, false },
|
{ DDS_A32B32G32R32F, TextureFormat::RGBA32F, false },
|
||||||
{ DDS_R5G6B5, TextureFormat::B5G6R5, false },
|
{ DDS_R5G6B5, TextureFormat::B5G6R5, false },
|
||||||
{ DDS_R5G6B5, TextureFormat::R5G6B5, false },
|
{ DDS_R5G6B5, TextureFormat::R5G6B5, false },
|
||||||
{ DDS_A4R4G4B4, TextureFormat::BGRA4, false },
|
{ DDS_A4R4G4B4, TextureFormat::BGRA4, false },
|
||||||
{ DDS_A4R4G4B4, TextureFormat::RGBA4, false },
|
{ DDS_A4R4G4B4, TextureFormat::RGBA4, false },
|
||||||
{ DDS_A1R5G5B5, TextureFormat::BGR5A1, false },
|
{ DDS_A1R5G5B5, TextureFormat::BGR5A1, false },
|
||||||
{ DDS_A1R5G5B5, TextureFormat::RGB5A1, false },
|
{ DDS_A1R5G5B5, TextureFormat::RGB5A1, false },
|
||||||
{ DDS_A2B10G10R10, TextureFormat::RGB10A2, false },
|
{ DDS_A2B10G10R10, TextureFormat::RGB10A2, false },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
static const TranslateDdsFormat s_translateDxgiFormat[] =
|
static const TranslateDdsFormat s_translateDxgiFormat[] =
|
||||||
{
|
{
|
||||||
{ DDS_FORMAT_BC1_UNORM, TextureFormat::BC1, false },
|
{ DDS_FORMAT_BC1_UNORM, TextureFormat::BC1, false },
|
||||||
{ DDS_FORMAT_BC1_UNORM_SRGB, TextureFormat::BC1, true },
|
{ DDS_FORMAT_BC1_UNORM_SRGB, TextureFormat::BC1, true },
|
||||||
{ DDS_FORMAT_BC2_UNORM, TextureFormat::BC2, false },
|
{ DDS_FORMAT_BC2_UNORM, TextureFormat::BC2, false },
|
||||||
{ DDS_FORMAT_BC2_UNORM_SRGB, TextureFormat::BC2, true },
|
{ DDS_FORMAT_BC2_UNORM_SRGB, TextureFormat::BC2, true },
|
||||||
{ DDS_FORMAT_BC3_UNORM, TextureFormat::BC3, false },
|
{ DDS_FORMAT_BC3_UNORM, TextureFormat::BC3, false },
|
||||||
{ DDS_FORMAT_BC3_UNORM_SRGB, TextureFormat::BC3, true },
|
{ DDS_FORMAT_BC3_UNORM_SRGB, TextureFormat::BC3, true },
|
||||||
{ DDS_FORMAT_BC4_UNORM, TextureFormat::BC4, false },
|
{ DDS_FORMAT_BC4_UNORM, TextureFormat::BC4, false },
|
||||||
{ DDS_FORMAT_BC5_UNORM, TextureFormat::BC5, false },
|
{ DDS_FORMAT_BC5_UNORM, TextureFormat::BC5, false },
|
||||||
{ DDS_FORMAT_BC6H_SF16, TextureFormat::BC6H, false },
|
{ DDS_FORMAT_BC6H_SF16, TextureFormat::BC6H, false },
|
||||||
{ DDS_FORMAT_BC7_UNORM, TextureFormat::BC7, false },
|
{ DDS_FORMAT_BC7_UNORM, TextureFormat::BC7, false },
|
||||||
{ DDS_FORMAT_BC7_UNORM_SRGB, TextureFormat::BC7, true },
|
{ DDS_FORMAT_BC7_UNORM_SRGB, TextureFormat::BC7, true },
|
||||||
|
{ DDS_FORMAT_ASTC_4X4_UNORM, TextureFormat::ASTC4x4, false },
|
||||||
|
{ DDS_FORMAT_ASTC_4X4_UNORM_SRGB, TextureFormat::ASTC4x4, true },
|
||||||
|
{ DDS_FORMAT_ASTC_5X4_UNORM, TextureFormat::ASTC5x4, false },
|
||||||
|
{ DDS_FORMAT_ASTC_5X4_UNORM_SRGB, TextureFormat::ASTC5x4, true },
|
||||||
|
{ DDS_FORMAT_ASTC_5X5_UNORM, TextureFormat::ASTC5x5, false },
|
||||||
|
{ DDS_FORMAT_ASTC_5X5_UNORM_SRGB, TextureFormat::ASTC5x5, true },
|
||||||
|
{ DDS_FORMAT_ASTC_6X5_UNORM, TextureFormat::ASTC6x5, false },
|
||||||
|
{ DDS_FORMAT_ASTC_6X5_UNORM_SRGB, TextureFormat::ASTC6x5, true },
|
||||||
|
{ DDS_FORMAT_ASTC_6X6_UNORM, TextureFormat::ASTC6x6, false },
|
||||||
|
{ DDS_FORMAT_ASTC_6X6_UNORM_SRGB, TextureFormat::ASTC6x6, true },
|
||||||
|
{ DDS_FORMAT_ASTC_8X5_UNORM, TextureFormat::ASTC8x5, false },
|
||||||
|
{ DDS_FORMAT_ASTC_8X5_UNORM_SRGB, TextureFormat::ASTC8x5, true },
|
||||||
|
{ DDS_FORMAT_ASTC_8X6_UNORM, TextureFormat::ASTC8x6, false },
|
||||||
|
{ DDS_FORMAT_ASTC_8X6_UNORM_SRGB, TextureFormat::ASTC8x6, true },
|
||||||
|
{ DDS_FORMAT_ASTC_8X8_UNORM, TextureFormat::ASTC8x8, false },
|
||||||
|
{ DDS_FORMAT_ASTC_8X8_UNORM_SRGB, TextureFormat::ASTC8x8, true },
|
||||||
|
{ DDS_FORMAT_ASTC_10X5_UNORM, TextureFormat::ASTC10x5, false },
|
||||||
|
{ DDS_FORMAT_ASTC_10X5_UNORM_SRGB, TextureFormat::ASTC10x5, true },
|
||||||
|
{ DDS_FORMAT_ASTC_10X6_UNORM, TextureFormat::ASTC10x6, false },
|
||||||
|
{ DDS_FORMAT_ASTC_10X6_UNORM_SRGB, TextureFormat::ASTC10x6, true },
|
||||||
|
{ DDS_FORMAT_ASTC_10X8_UNORM, TextureFormat::ASTC10x8, false },
|
||||||
|
{ DDS_FORMAT_ASTC_10X8_UNORM_SRGB, TextureFormat::ASTC10x8, true },
|
||||||
|
{ DDS_FORMAT_ASTC_10X10_UNORM, TextureFormat::ASTC10x10, false },
|
||||||
|
{ DDS_FORMAT_ASTC_10X10_UNORM_SRGB, TextureFormat::ASTC10x10, true },
|
||||||
|
{ DDS_FORMAT_ASTC_12X10_UNORM, TextureFormat::ASTC12x10, false },
|
||||||
|
{ DDS_FORMAT_ASTC_12X10_UNORM_SRGB, TextureFormat::ASTC12x10, true },
|
||||||
|
{ DDS_FORMAT_ASTC_12X12_UNORM, TextureFormat::ASTC12x12, false },
|
||||||
|
|
||||||
{ DDS_FORMAT_R1_UNORM, TextureFormat::R1, false },
|
{ DDS_FORMAT_R1_UNORM, TextureFormat::R1, false },
|
||||||
{ DDS_FORMAT_R8_UNORM, TextureFormat::R8, false },
|
{ DDS_FORMAT_R8_UNORM, TextureFormat::R8, false },
|
||||||
{ DDS_FORMAT_R16_UNORM, TextureFormat::R16, false },
|
{ DDS_FORMAT_A8_UNORM, TextureFormat::R8, false },
|
||||||
{ DDS_FORMAT_R16_FLOAT, TextureFormat::R16F, false },
|
{ DDS_FORMAT_R16_UNORM, TextureFormat::R16, false },
|
||||||
{ DDS_FORMAT_R32_UINT, TextureFormat::R32U, false },
|
{ DDS_FORMAT_R16_FLOAT, TextureFormat::R16F, false },
|
||||||
{ DDS_FORMAT_R32_FLOAT, TextureFormat::R32F, false },
|
{ DDS_FORMAT_R32_UINT, TextureFormat::R32U, false },
|
||||||
{ DDS_FORMAT_R8G8_UNORM, TextureFormat::RG8, false },
|
{ DDS_FORMAT_R32_FLOAT, TextureFormat::R32F, false },
|
||||||
{ DDS_FORMAT_R16G16_UNORM, TextureFormat::RG16, false },
|
{ DDS_FORMAT_R8G8_UNORM, TextureFormat::RG8, false },
|
||||||
{ DDS_FORMAT_R16G16_FLOAT, TextureFormat::RG16F, false },
|
{ DDS_FORMAT_R16G16_UNORM, TextureFormat::RG16, false },
|
||||||
{ DDS_FORMAT_R32G32_UINT, TextureFormat::RG32U, false },
|
{ DDS_FORMAT_R16G16_FLOAT, TextureFormat::RG16F, false },
|
||||||
{ DDS_FORMAT_R32G32_FLOAT, TextureFormat::RG32F, false },
|
{ DDS_FORMAT_R32G32_UINT, TextureFormat::RG32U, false },
|
||||||
{ DDS_FORMAT_B8G8R8A8_UNORM, TextureFormat::BGRA8, false },
|
{ DDS_FORMAT_R32G32_FLOAT, TextureFormat::RG32F, false },
|
||||||
{ DDS_FORMAT_B8G8R8A8_UNORM_SRGB, TextureFormat::BGRA8, true },
|
{ DDS_FORMAT_B8G8R8A8_UNORM, TextureFormat::BGRA8, false },
|
||||||
{ DDS_FORMAT_R8G8B8A8_UNORM, TextureFormat::RGBA8, false },
|
{ DDS_FORMAT_B8G8R8A8_UNORM_SRGB, TextureFormat::BGRA8, true },
|
||||||
{ DDS_FORMAT_R8G8B8A8_UNORM_SRGB, TextureFormat::RGBA8, true },
|
{ DDS_FORMAT_R8G8B8A8_UNORM, TextureFormat::RGBA8, false },
|
||||||
{ DDS_FORMAT_R16G16B16A16_UNORM, TextureFormat::RGBA16, false },
|
{ DDS_FORMAT_R8G8B8A8_UNORM_SRGB, TextureFormat::RGBA8, true },
|
||||||
{ DDS_FORMAT_R16G16B16A16_FLOAT, TextureFormat::RGBA16F, false },
|
{ DDS_FORMAT_R16G16B16A16_UNORM, TextureFormat::RGBA16, false },
|
||||||
{ DDS_FORMAT_R32G32B32A32_UINT, TextureFormat::RGBA32U, false },
|
{ DDS_FORMAT_R16G16B16A16_FLOAT, TextureFormat::RGBA16F, false },
|
||||||
{ DDS_FORMAT_R32G32B32A32_FLOAT, TextureFormat::RGBA32F, false },
|
{ DDS_FORMAT_R32G32B32A32_UINT, TextureFormat::RGBA32U, false },
|
||||||
{ DDS_FORMAT_B5G6R5_UNORM, TextureFormat::B5G6R5, false },
|
{ DDS_FORMAT_R32G32B32A32_FLOAT, TextureFormat::RGBA32F, false },
|
||||||
{ DDS_FORMAT_B5G6R5_UNORM, TextureFormat::R5G6B5, false },
|
{ DDS_FORMAT_B5G6R5_UNORM, TextureFormat::B5G6R5, false },
|
||||||
{ DDS_FORMAT_B4G4R4A4_UNORM, TextureFormat::BGRA4, false },
|
{ DDS_FORMAT_B5G6R5_UNORM, TextureFormat::R5G6B5, false },
|
||||||
{ DDS_FORMAT_B4G4R4A4_UNORM, TextureFormat::RGBA4, false },
|
{ DDS_FORMAT_B4G4R4A4_UNORM, TextureFormat::BGRA4, false },
|
||||||
{ DDS_FORMAT_B5G5R5A1_UNORM, TextureFormat::BGR5A1, false },
|
{ DDS_FORMAT_B4G4R4A4_UNORM, TextureFormat::RGBA4, false },
|
||||||
{ DDS_FORMAT_B5G5R5A1_UNORM, TextureFormat::RGB5A1, false },
|
{ DDS_FORMAT_B5G5R5A1_UNORM, TextureFormat::BGR5A1, false },
|
||||||
{ DDS_FORMAT_R10G10B10A2_UNORM, TextureFormat::RGB10A2, false },
|
{ DDS_FORMAT_B5G5R5A1_UNORM, TextureFormat::RGB5A1, false },
|
||||||
{ DDS_FORMAT_R11G11B10_FLOAT, TextureFormat::RG11B10F, false },
|
{ DDS_FORMAT_R10G10B10A2_UNORM, TextureFormat::RGB10A2, false },
|
||||||
|
{ DDS_FORMAT_R11G11B10_FLOAT, TextureFormat::RG11B10F, false },
|
||||||
};
|
};
|
||||||
|
|
||||||
struct TranslateDdsPixelFormat
|
struct TranslateDdsPixelFormat
|
||||||
@@ -3594,6 +3652,7 @@ namespace bimg
|
|||||||
static const TranslateDdsPixelFormat s_translateDdsPixelFormat[] =
|
static const TranslateDdsPixelFormat s_translateDdsPixelFormat[] =
|
||||||
{
|
{
|
||||||
{ 8, DDPF_LUMINANCE, { 0x000000ff, 0x00000000, 0x00000000, 0x00000000 }, TextureFormat::R8 },
|
{ 8, DDPF_LUMINANCE, { 0x000000ff, 0x00000000, 0x00000000, 0x00000000 }, TextureFormat::R8 },
|
||||||
|
{ 8, DDPF_ALPHA, { 0x00000000, 0x00000000, 0x00000000, 0x000000ff }, TextureFormat::R8 },
|
||||||
{ 16, DDPF_BUMPDUDV, { 0x000000ff, 0x0000ff00, 0x00000000, 0x00000000 }, TextureFormat::RG8S },
|
{ 16, DDPF_BUMPDUDV, { 0x000000ff, 0x0000ff00, 0x00000000, 0x00000000 }, TextureFormat::RG8S },
|
||||||
{ 16, DDPF_RGB, { 0x0000ffff, 0x00000000, 0x00000000, 0x00000000 }, TextureFormat::R16U },
|
{ 16, DDPF_RGB, { 0x0000ffff, 0x00000000, 0x00000000, 0x00000000 }, TextureFormat::R16U },
|
||||||
{ 16, DDPF_RGB|DDPF_ALPHAPIXELS, { 0x0000000f, 0x000000f0, 0x00000f00, 0x0000f000 }, TextureFormat::BGRA4 },
|
{ 16, DDPF_RGB|DDPF_ALPHAPIXELS, { 0x0000000f, 0x000000f0, 0x00000f00, 0x0000f000 }, TextureFormat::BGRA4 },
|
||||||
@@ -4155,7 +4214,7 @@ namespace bimg
|
|||||||
|
|
||||||
if (s_translateKtxFormat[ii].m_internalFmtSrgb == glInternalFormat
|
if (s_translateKtxFormat[ii].m_internalFmtSrgb == glInternalFormat
|
||||||
&& s_translateKtxFormat[ii].m_fmt == glBaseInternalFormat)
|
&& s_translateKtxFormat[ii].m_fmt == glBaseInternalFormat)
|
||||||
{
|
{
|
||||||
format = TextureFormat::Enum(ii);
|
format = TextureFormat::Enum(ii);
|
||||||
srgb = true;
|
srgb = true;
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user