Jump to content

Texture splatting

From Wikipedia, the free encyclopedia
Example of texture splatting, except an additional alphamap is applied

In computer graphics, texture splatting is a method for combining different textures. It works by applying an alphamap (also called a "weightmap" or a "splat map") to the higher levels, thereby revealing the layers underneath where the alphamap is partially or completely transparent. The term was coined by Roger Crawfis and Nelson Max.[1]

Optimizations

[edit]

Since texture splatting is commonly used for terrain rendering in computer games, various optimizations are required. Because the underlying principle is for each texture to have its own alpha channel, large amounts of memory can easily be consumed. As a solution to this problem, multiple alpha maps can be combined into one texture using the red channel for one map, the blue for another, and so on. This effectively uses a single texture to supply alpha maps for four real-color textures. The alpha textures can also use a lower resolution than the color textures, and often the color textures can be tiled.

Terrains can also be split into chunks where each chunk can have its own textures. Say there is a certain texture on one part of the terrain that doesn’t appear anywhere else on it: it would be a waste of memory and processing time if the alpha map extended over the whole terrain if only 10% of it was actually required. If the terrain is split into chunks then the alpha map can also be split up according to the chunks and so now instead of 90% of that specific map being wasted only 20% may be.

[edit]

Alpha-based texture splatting, though simple, gives rather unnatural transitions. Height-based texture blending attempts to improve on quality by blending based on a heightmap of each texture.[2]

See also

[edit]

References

[edit]
  1. ^ Texture Splats for 3D Vector and Scalar Field Visualization
  2. ^ Mishkinis, Andrey (July 16, 2013). "Advanced Terrain Texture Splatting". www.gamasutra.com. Archived from the original on August 25, 2021.{{cite web}}: CS1 maint: unfit URL (link)
[edit]