-
-
Notifications
You must be signed in to change notification settings - Fork 80
Custom Textures
Custom textures are accepted in the form of DDS files.
DDS is a container format for GPU-native textures. The image data is ready to be uploaded to the GPU.
The image data of a DDS file can use various raw and compressed formats, with some of these focusing on specific use cases.
These formats are generally available on all modern desktop+laptop GPUs. For ARM SoC's and such, you may need to do your own research.
Some of the common compression formats and their use cases:
-
BC1: When low VRAM use is desired. No transparency. (aka DXT1) -
BC3: When transparency and/or fast compression times are desired. (aka DXT5) -
BC7: When transparency and/or high quality is desired.
BC7 is recommended for skyboxes, as it shows less banding artifacts.
Texpresso does not support BC7, so if you're working on a skybox, try Compressonator instead!
Texpresso is available via Cargo:
cargo install texpresso_cliUsage example:
texpresso compress --format BC3 path/to/image.pngThe resulting .dds file will be placed in your working directory.
Compressonator is a set of open-source graphics utilities by AMD.
Compressonator Website・Download Compressonator
Example usage:
compressonatorcli -nomipmap -fd BC7 ~/Downloads/table_mountain_2_puresky.png ~/.config/wayvr/table_mountain_2.ddsGIMP supports .dds image import/export out of the box.
To export it, go to File -> Export As..., and then select your output filename with .dds at the end.
Select your compression type, for example BC3.
Be aware GIMP doesn't support BC7 compression.