Texturesheets

From Mod Wiki

Texturesheets are larger sheets of separate textures combined into a single image to reduce draw calls and improve performance. Texturesheets can easily be created and controlled using the Atlas Editor.

Texturesheet Example

An example of a texturesheet (Click for full-size)

On the right you can see an example of a 256x1024 pixel texturesheet. Note that the borders of each texture fall on 32-pixel grid lines, for ease of applying to brushwork in a level.

Texturesheet Considerations

The aim of using texturesheets is to improve performance by reducing batches. If you have a single building textured with 4 regular tiling textures, the building will be drawn using at least 4 batches (one per material used). Therefore it makes sense to try and compile all of those textures onto a single sheet, which should mean the whole building will be drawn with 1 batch, leading to faster rendering.

One of the downsides of texturesheets is that you can only tile the textures on a single axis. A regular tiling concrete texture could be tiled indefinitely across a brush or model, while the same texture included in a texturesheet could only be tiled on one axis. The solution then is to split up geometry and apply the same texture to each set of faces. This will still result in a single batch.

To this end, it is worth considering before you texture a level, which textures it's better to use in a texturesheet, and which it is better to leave as a tiling texture. If you have areas of the level which require textures tiling a lot in both X and Y direction, it's probably better to leave these as square tiling textures (for example, floors and ceilings, or large expanses of concrete and stone), but for more specific detail like the walls of houses, pavements and brushwork with lots of trims, it's definitely advantageous to set up a good texturesheet before you texture the level.

Creating Texturesheets

The easiest way to create a texture sheet is to piece together existing tiling textures in the Atlas Editor.

However, if you plan it well, you could create one large texture which contains several different surface types (wood, concrete, brick, metal) in a manner that makes sense, so that the texturesheet can be used as efficiently as possible. This way, the textures would all "make sense" when viewed as a whole, yet still be able to be used as trims or surfaces on their own.