The engine Baldur’s Gate 3 uses various texture ‘formats’ while utilizing a wide range of ‘compression types’. This can be confusing because there are lots of moving parts and nowhere is it explained how exactly the game handles these texture ‘formats’ and ‘compression types’.
First and foremost it is important to disclose the difference between ‘format’ and the actual file type that the textures are saved as - all textures outside of Virtual Textures are various types of .DDS (DirectDrawSurface) files. When we say format, we mean exclusively to refer to how the game engine interprets the data stored in the .DDS file. This is usually denoted in the name of the file (EX: ‘_HMVY.DDS’ or ‘_NM.DDS’) however it is possible to determine by other methods.
Secondly it is important to note that the types of compression are different (usually*) dependant on what the texture is being used for. (Insert link to Compression writeup here )
*I say ‘usually’ as many textures share the same compression type but this is not guaranteed
Bg3 has ultimately two ‘styles’ of rendering - ‘Skin’ and ‘Hardsurface’ for lack of better wording
The formats are as follows:
Map Syntax | Red Channel | Green Channel | Blue Channel | Alpha Channel | DDS Compression |
---|---|---|---|---|---|
CLEA | Cavity Map | Hair | Makeup(lipstick) | Ambient Occlusion | BC3/DXT5 Linear |
HMVY | Hemoglobin | Melanin | Vein | Yellowing | BC3/DXT5 Linear |
NM | Not used | Y Axis Normals | Z Axis Normals | X Axis Normals | BC3/DXT5 Linear |
MSK | Non-Skin | Melanin Removal | Mucous Map | Not Used | BC1/DXT1 Linear |
For Dragonborn Skin
Format: BC3/DXT5 Linear
C - Curvature/Cavity map - RED channel
L - Lips - GRN channel
E - Eyebrows - BLU channel
A - Ambient occlusion - ALPHA channel
Format: BC3/DXT5 Linear
RED channel - UNUSED BY BG3 ENGINE STORED IN ALPHA
GRN channel - Y Axis Normals
BLU channel - Z Axis Normals
ALPHA channel - X Axis Normals
Format: BC3/DXT5 Linear
H - Hemoglobin - RED channel
M - Melanin - GRN channel
V - Veins - BLU channel
Y - Yellowing - ALPHA channel
MSK (DMSK)
MSK (AccentMSK)
For Hard Surface Objects
Format: BC3/DXT5 Linear?
RED channel - Intensity of Red
GRN channel - Intensity of Green
BLU channel - Intensity of Blue
ALPHA channel - EMPTY
Format: BC3/DXT5 Linear?
RED channel - UNUSED BY BG3 ENGINE STORED IN ALPHA
GRN channel - Y Axis Normals
BLU channel - Z Axis Normals
ALPHA channel - X Axis Normals
Format: BC3/DXT5 Linear?
RED channel - Metallic Intensity
GRN channel - Roughness Amount
BLU channel - Ambient Occlusion (Baked in shadows)
Format: BC3/DXT5 Linear?
Channel makeup is largely irrelevant, Colored mask for segments of different material colors