Layered Terrain Surface Representation – Talk

From Bohemia Interactive Community
Jump to navigation Jump to search
m (No need for this note any more.)
No edit summary
Line 1: Line 1:
==Layered Terrain Surface Representation For Dummies?==


''mods, is this information worthy of addition? I don't want to dumb the main page down.''
This information is based on observations of SaraLite in the ArmA Demo. It is intended to be a more simplistic reference than Suma's technobabble. The aim to understand the work required for new terrain (island) creation.
==Textures==
*Satalite map provides basic colour information for distant terrain. Satalite map and layer map are divided into segments for game use, each 512x512 pixels. On SaraLite each 512 pixel segment covers ~1000m, and each segment overlaps with neighbouring segments by 32 pixels. Note that terrain is visable beyond the range that objects are, therefore basic representations of objects such as trees, roads, ocean and buildings are all included on the satalite map.
*Layer map determines which details textures to use for each pixel of the satalite map. Each primary colour defined in the legend = one terrain type, blends of details seem to be allowed, although very rarely used on SaraLite (presumably to improve performance?). Different blended colours appear to be able to have different detail texture scales.
*MCO texture is used to add detail to the satalite map at middle distance (before the detail texture becomes visable). Each 1024x1024 MCO covers ~40m (may be flexible). There is an overlap between the MCO fade out and the detail texture fade in, meaning it is possible to see all 3 terrain textures at once.
*CO texture provides the detailed ground texture. On SaraLite each 1024x1024 detail generally covers ~4m (may be flexible).
*NO(*) texture provides the normal map used with the CO detail.
Satalite map segments are named s_XXX_YYY_lco.paa, where XXX = column number from west to east starting with 000, YYY = row number from north to south starting with 000. Layer map segments are named m_XXX_YYY_lco.paa, where XXX = column number from west to east starting with 000, YYY = row number from north to south starting with 000. For example, s_005_002_lco.paa would be the 6th segment from the east, 3rd from the north.
== RVMAT Configs ==
Each segment has several binarized config files. These are generally named p_XXX-YYY_AAA_BBB_CCC_DDD.rvmat, where XXX = column number from west to east starting with 000, YYY = row number from north to south starting with 000. AAA,BBB,CCC,DDD are of either "n" or "l##". If of format l##, AAA is always lower than BBB,CCC and DDD. "n" apparently corresponds with no terrain, while each of the l## correlates with a single terrain type. Some have only 1,2 or 3 letters (eg p_009-006_l01_l02_n.rvmat), depending on the maximum number of terrain types in that segment. I believe these configs have something to do with transitions or blends between detail textures. These configs seem to specify transformation and scaling of the detail textures.

Revision as of 18:33, 20 January 2007

Layered Terrain Surface Representation For Dummies?

mods, is this information worthy of addition? I don't want to dumb the main page down.

This information is based on observations of SaraLite in the ArmA Demo. It is intended to be a more simplistic reference than Suma's technobabble. The aim to understand the work required for new terrain (island) creation.

Textures

  • Satalite map provides basic colour information for distant terrain. Satalite map and layer map are divided into segments for game use, each 512x512 pixels. On SaraLite each 512 pixel segment covers ~1000m, and each segment overlaps with neighbouring segments by 32 pixels. Note that terrain is visable beyond the range that objects are, therefore basic representations of objects such as trees, roads, ocean and buildings are all included on the satalite map.
  • Layer map determines which details textures to use for each pixel of the satalite map. Each primary colour defined in the legend = one terrain type, blends of details seem to be allowed, although very rarely used on SaraLite (presumably to improve performance?). Different blended colours appear to be able to have different detail texture scales.
  • MCO texture is used to add detail to the satalite map at middle distance (before the detail texture becomes visable). Each 1024x1024 MCO covers ~40m (may be flexible). There is an overlap between the MCO fade out and the detail texture fade in, meaning it is possible to see all 3 terrain textures at once.
  • CO texture provides the detailed ground texture. On SaraLite each 1024x1024 detail generally covers ~4m (may be flexible).
  • NO(*) texture provides the normal map used with the CO detail.

Satalite map segments are named s_XXX_YYY_lco.paa, where XXX = column number from west to east starting with 000, YYY = row number from north to south starting with 000. Layer map segments are named m_XXX_YYY_lco.paa, where XXX = column number from west to east starting with 000, YYY = row number from north to south starting with 000. For example, s_005_002_lco.paa would be the 6th segment from the east, 3rd from the north.

RVMAT Configs

Each segment has several binarized config files. These are generally named p_XXX-YYY_AAA_BBB_CCC_DDD.rvmat, where XXX = column number from west to east starting with 000, YYY = row number from north to south starting with 000. AAA,BBB,CCC,DDD are of either "n" or "l##". If of format l##, AAA is always lower than BBB,CCC and DDD. "n" apparently corresponds with no terrain, while each of the l## correlates with a single terrain type. Some have only 1,2 or 3 letters (eg p_009-006_l01_l02_n.rvmat), depending on the maximum number of terrain types in that segment. I believe these configs have something to do with transitions or blends between detail textures. These configs seem to specify transformation and scaling of the detail textures.