Texture Formats

Search our Site

Bright supports a handful of texture formats for you to choose from in your projects. The DDS format is the industry standard and for good reason, while you have the freedom to choose which formats you work with, it is strongly recommended you use DDS for your textures. Remember your textures must follow the Quadratic Rule when it comes to resolutions for example, 512x512, 1024x512, 1024x1024, 2048x1024, 2048x2048, 4096x2048, and 4096x4096 etc.


Why DDS is the only format you should be using for Model Textures
Direct Draw Surface was a format introduced to the world in the days of DirectX7. Developed by Microsoft and perfected by NVIDIA, the DDS format allows for a direct stream of information into your GPU without needing to decompress the texture. This leads to very fast loading times and drawing speeds for real-time rendering. The other biggest advantage of the DDS format is pre-compiled Mipmaps. These are essential for processes such as pre-convoluted light-probes. By having already stored them inside the texture means less resources are needed to generate them when they are loaded. There are other more technical advantages such as HDR value storage but these are the critical ones as they provide a huge boost to performance and quality to your game. While TGA PNG and BMP are at your disposal they are all no match for DDS since you can use higher resolution DDS textures for the same amount of memory.

DDS has a lot of variations on how they can be saved, the easiest to work with are DXT1, DXT3 and DXT5. They all remain compressed in the V-Ram which is what you want for high performance. There isn't much difference between these DDS formats other than how Alpha is handled. DXT1 does not support Alpha at all but makes up for it by having a smaller file size. DXT3 supports alpha but at a low resolution which is fine if you aren't working with any form of Gradient Alpha maps. DXT5 has interpolated Alpha support making it the perfect option for Gradient Alpha Maps.

Format Technical Specification
DXT1 4-bit RGB (no alpha)
DXT1a 4-bit RGBA (1-bit alpha)
DXT3 8-bit RGBA (explicit alpha)
DXT5 8-bit RGBA (interpolated alpha)
Uncompressed Formats
5.5.5 16-bit RGBA
5.6.5 16-bit RGBA 16-bit RGBA (suitable for normal maps) 16-bit RGBA
8.8.8 24-bit RGB 32-bit RGBA (suitable for normal maps)
16f.16f.16f.16f 64-bit RGBA
32f.32f.32f.32f 128-bit RGBA

Be aware that textures in DDS format need to be saved vertically flipped!

The PSD format is something we introduced to help the artists, if you have an unfinished texture in Photoshop you can apply them to models before they are done and come back to finish them later.