Terrain: Difference between revisions
(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.