Terrain: Difference between revisions

From Archon Wiki
Jump to navigation Jump to search
(Created page with "The terrain for tiles works using the same system as the original STUB engine. There is however a new system to simplify map construction and produce more realistic rendering...")
 
No edit summary
 
Line 1: Line 1:
The terrain for tiles works using the same system as the original STUB engine.  There is however a new system to simplify map construction and produce more realistic rendering.
The terrain for tiles works using the same system as the original STUB engine.  There is however a new system to simplify map construction and produce more realistic rendering.


= Large Textures =
The new system utilises larger textures which are tiled across the map.  To enable a tile definition as one of these, you need to add
The new system utilises larger textures which are tiled across the map.  To enable a tile definition as one of these, you need to add


Line 15: Line 16:


While you can have different sets of 8 base tiles in each tile set, and they can be mixed in a map, there is a limitation that multiple edges from tiles of the same type, but from different sets, cannot meet on the same tile and both edge correctly.
While you can have different sets of 8 base tiles in each tile set, and they can be mixed in a map, there is a limitation that multiple edges from tiles of the same type, but from different sets, cannot meet on the same tile and both edge correctly.
The shaders for the base and edges are BASETILE.TXT and BASETILEEDGE.TXT.
= Atlas Textures =
These work in the same way as the STUB engine, with the TILES.TXT file defining which tile on an atlas is used.  The basic texture is named TEX<N>.TGA (or DDS obviously), with the most common being TEX0.TGA.
You can also have _N, _S, _C textures which are loaded alongside, e.g. TEX0_N (normal map), TEX0_S (specular), TEX0_C (control).  The usage of these textures is defined in the shader, though note that if _N is missing it is replaced with a default pure green (vertical Y) normal map.  The shader for altas tiles is TILEPATCH.TXT.

Latest revision as of 15:47, 24 March 2017

The terrain for tiles works using the same system as the original STUB engine. There is however a new system to simplify map construction and produce more realistic rendering.

Large Textures

The new system utilises larger textures which are tiled across the map. To enable a tile definition as one of these, you need to add

BASE_0_0 <type>

to the tile definition. The type is an index [0,7] which use matching textures which should be inside the tile folder (with the TILES.TXT definition file). Each type can use 4 different textures, named (e.g. for type 0):

BASE0
NORMAL0
SPEC0
CONTROL0

and are available in the shader in stages 0-3 in the above order. Base tiles edge against other base tiles using the type order to define how (higher types edge out onto lower types). The edging uses a mask in the alpha channel of the BASE texture.

While you can have different sets of 8 base tiles in each tile set, and they can be mixed in a map, there is a limitation that multiple edges from tiles of the same type, but from different sets, cannot meet on the same tile and both edge correctly.

The shaders for the base and edges are BASETILE.TXT and BASETILEEDGE.TXT.

Atlas Textures

These work in the same way as the STUB engine, with the TILES.TXT file defining which tile on an atlas is used. The basic texture is named TEX<N>.TGA (or DDS obviously), with the most common being TEX0.TGA.

You can also have _N, _S, _C textures which are loaded alongside, e.g. TEX0_N (normal map), TEX0_S (specular), TEX0_C (control). The usage of these textures is defined in the shader, though note that if _N is missing it is replaced with a default pure green (vertical Y) normal map. The shader for altas tiles is TILEPATCH.TXT.