Krita is a free and open source 2D painting and image editing program. It is more similar to Photoshop than to GIMP and features advanced brushes, layers, various blending modes, and TIFF export, making it a viable tool for Halo texturing.


Users familiar with Photoshop's Channels window may be confused by Krita's, which shows the output channels of the whole image and are not directly editable. The recommended document setup for Krita is to have a layer group containing all layers that comprise the texture, then giving that group a transparency mask layer to serve as the alpha channel:

  1. Select all layers which should be in the group (exclude things like UV templates).
  2. Press Ctrl + G to group them.
  3. Right click the group and select Add > Transparency Mask. You can rename this mask layer to alpha if you want its purpose to be more obvious.
  4. Right click this mask/alpha layer and select Split Alpha > Save Merged to export your .tif file. Don't forget to set compression to None since Tool does not support deflate compression.

Don't use File > Export to save TIFF files because this method does not preserve RGB data where the alpha channel is black (transparent). Use the above process instead.

Exporting normal maps

Tool generates a normal map when importing a greyscale texture with height map usage. Sometimes it's better to generate your normal map in external software and import it directly, either to have more control or avoid banding on smooth gradients in the height map. Krita can convert a greyscale layer to a normal map using Filter > Edge Detection > Height to Normal Map. The XYZ setting you should use is X+, Y-, Z+.

One useful technique is generating multiple normal maps as different layers, then using the Combine Normal Map blending mode to create the result. This allows you to separate large scale bumps from fine textures and control the opacity of each layer to adjust their contribution to the result.

Import normal maps as tags with default usage rather than height map to avoid Tool processing them as a height map.