Image tools for Unvanquished
Contents
Free and libre image editors
There is plenty of open-source image and photo editing applications that fits the need, to name a few:
Bitmap image editors
- GIMP — Fully-featured raster graphics image editor available for Linux, Windows, and macOS. With version 2.8, the user interface may be used in single-window mode, hardware-acceleration is being added, and in future releases, higher bit-depth support will be added.
✅️ Recommended; - Krita — Originally intended for photo-editing, Krita is now intended much more as a painting tool, although it is still suitable for both. Has support for high bit depths.
Vector image editors
- Inkscape — Fully-featured vector image editor available for Linux, Windows, and macOS.
✅️ Recommended.
Free and libre image converters
Note
When contributing to Unvanquished, the contributor is asked to provide lossless images if possible, conversion to optimized formats are expected to only be done at build time, in an automated manner. The Urcheon tool knows how to do the conversions. It's very unlikely an Unvanquished contributor will have to produce CRN, DDS or lossless WebP files. A modder not using Urcheon may use those tools though.
Tools to convert to CRN or DDS formats
While most graphics application that is worth using can export natively to PNG, JPEG, and TGA, most applications currently cannot export directly to DDS. Converters and plug-ins are available, however:
- Dæmon Crunch (Unity/Dæmon variant) for creating CRN or DDS files, ✅️ Recommended;
- Nvidia's DDS tools;
- ATI/AMD's Compressonator for creating DDS images on Windows only;
- The GIMP DDS Plug-in for creating DDS images with GIMP version 2.8.
Quick Crunch Tutorial for the Unvanquished game and the Dæmon engine
The recommended way to convert non-normalmap images to CRN with crunch is to do:
crunch -quality 255 -noNormalDetection -file file_d.tga -out file_d.crn
The recommended way to convert normalmap files without heightmap in alpha channel to CRN with crunch is to do:
crunch -quality 255 -dxn -renormalize -rtopmip -file file_n.tga -out file_n.crn
The recommended way to convert normalmap files with heightmap in alpha channel to CRN with crunch is to do:
crunch -quality 255 -renormalize -rtopmip -file file_nh.tga -out file_nh.crn
Tools to convert to the WebP format
The WebP formats begin to be widely supported and editors like GIMP can edit them, many image viewers now support this format and in all case, web browsers can now display it.
- cwebp is a WebP image converter by Google, ✅️ Recommended.
Quick WebP Tutorial for the Unvanquished game and the Dæmon engine
The best way to produce the smallest lossless WebP images with cwebp is to do:
cwebp -mt -exact -lossless -z 9 file.png -o file.webp
The recommended way to produce lossy WebP images with cwebp is to do:
cwebp -mt -exact -m 6 -q 95 -pass 10 file.png -o file.webp
Warning: Use Exact With Lossless WebP!
Always use -exact with -lossless when using cwebp.
Using -lossless without -exact will produce an image with lossless RGB channels but with a lossy alpha channel.
This is not wanted as game images may store something else than transparency in the alpha channel.
Tools to convert to the PNG format
Note
ImageMagick's convert tool was previously recommended but it became unreliable with time, especially at converting from TGA which is a format that is used a lot in idTech 3 games and engines projects (it was the default format for Quake 3), and which is a format produced by many tools we use (like Q3map2) so we need a reliable TGA to PNG converter, something ImageMagick's convert is not. The Dæmon Crunch tool is reliable.
The recommended tool to convert TGA images to the PNG format is Dæmon Crunch.
Recommended image formats
Those are recommended image formats to be used in Unvanquished source repositories and in game to be delivered to players, and related tools.
We recommend using the Crunch CRN format for packaged game textures when it fits, and widely accepted lossless formats in repositories like PNG and Exact Lossless WebP.
| Purpose | Kind | Format | Editor |
|---|---|---|---|
| Source | Bitmap | Exact Lossless WeBP | GIMP |
| Source | Bitmap | PNG | GIMP |
| Source | Vector | SVG | Inkscape |
| Purpose | Kind | Format | Tool |
| Release | Generic image | CRN | Crunch (with -noNormalDetection)
|
| Release | Normal map | Normalized CRN | Crunch (with -rtopmip option)
|
| Release | Skybox | Lossy WebP | cwebp |
| Release | Lightmap, deluxemap | Lossless WebP | cwebp |
