Mapdev:height

From Spring
Revision as of 02:08, 21 December 2012 by Enetheru (talk | contribs) (added image location info.)
Jump to navigationJump to search

Height

The height of the terrain is generally defined with a greyscale displacement map with black representing the lowest point on the terrain and white the highest. The height of the terrain can also be modified in game via lua scripting.

Example
Example Height Map Ingame Result

Specification

mapinfo.lua

The relevant sections of the mapinfo.lua file that effect the height of the ground are in the SMF subtable

local mapinfo = {
   ...
   smf = {
      minHeight = 1000,
      maxHeight = -300,
      ...
   },
   ...
}

Image File

  • The height map is an intermediary file compiled into the SMF/SMT files using MapConv or MapConvNG.
  • 8 or 16 bpp Greyscale
Spring Map Size* pixels = Spring Map Size * 64 + 1
2 129
4 257
6 385
... ...
32 2049
* must be multiples of 2

8 vs 16 bpp

These two images show the differences in prescision that the bit depth of the image makes. The effect has been exaggerated here for clarity.

8bpp 16bpp

* must be multiples of 2

+1 pixel

When each pixel represents a vertex you need one extra pixel than the number of quads you are attempting to represent

Example
Example

Additional Information

ROAM terrain engine