Mapdev:height: Difference between revisions
From Spring
Jump to navigationJump to search
m cleaned up a little. |
m →mapinfo.lua: added line about water. |
||
| Line 10: | Line 10: | ||
= Specification = | = Specification = | ||
== mapinfo.lua == | == mapinfo.lua == | ||
<code><pre>local mapinfo = { | <code><pre>local mapinfo = { | ||
... | ... | ||
| Line 20: | Line 19: | ||
... | ... | ||
}</pre></code> | }</pre></code> | ||
Any values below zero are underwater, see [[Mapdev:water]] | |||
== Image File == | == Image File == | ||
Revision as of 06:55, 28 December 2012
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 Height Map | Ingame Result |
|---|
Specification
mapinfo.lua
local mapinfo = {
...
smf = {
minHeight = 1000,
maxHeight = -300,
...
},
...
}
Any values below zero are underwater, see Mapdev:water
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 |
|---|
+1 pixel
When each pixel represents a vertex you need one extra pixel than the number of quads you are attempting to represent
Additional Information
ROAM terrain engine
- Official ROAM page
- Gamasutra has a nice article on ROAM
- various other implementations of LOD terrain
