Mapdev:height: Difference between revisions
From Spring
Jump to navigationJump to search
m added image location info. |
m cleaned up a little. |
||
| Line 8: | Line 8: | ||
! Example Height Map !! Ingame Result | ! Example Height Map !! Ingame Result | ||
|}</center> | |}</center> | ||
= Specification = | |||
== mapinfo.lua == | |||
The relevant sections of the mapinfo.lua file that effect the height of the ground are in the [[Map_Making:mapinfo.lua#smf|SMF]] subtable | The relevant sections of the mapinfo.lua file that effect the height of the ground are in the [[Map_Making:mapinfo.lua#smf|SMF]] subtable | ||
<code><pre>local mapinfo = { | <code><pre>local mapinfo = { | ||
| Line 21: | Line 21: | ||
}</pre></code> | }</pre></code> | ||
== Image File == | |||
* The height map is an intermediary file compiled into the SMF/SMT files using [[MapConv]] or [[MapConvNG]]. | * The height map is an intermediary file compiled into the SMF/SMT files using [[MapConv]] or [[MapConvNG]]. | ||
* 8 or 16 bpp Greyscale | * 8 or 16 bpp Greyscale | ||
<center> | |||
{| class="wikitable" style="text-align: center;" | {| class="wikitable" style="text-align: center;" | ||
! Spring Map Size<sup>*</sup> | ! Spring Map Size<sup>*</sup> | ||
| Line 44: | Line 45: | ||
|- | |- | ||
| style="text-align: left;font-style:italic" colspan=2 | * must be multiples of 2 | | style="text-align: left;font-style:italic" colspan=2 | * must be multiples of 2 | ||
|} | |}</center> | ||
=== 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. | These two images show the differences in prescision that the bit depth of the image makes. The effect has been exaggerated here for clarity. | ||
<center> | <center> | ||
| Line 58: | Line 59: | ||
</center> | </center> | ||
=== +1 pixel === | |||
When each pixel represents a vertex you need one extra pixel than the number of quads you are attempting to represent | When each pixel represents a vertex you need one extra pixel than the number of quads you are attempting to represent | ||
<center> | |||
{| class="wikitable" style="text-align: center;" | {| class="wikitable" style="text-align: center;" | ||
|[[File:Height_texture_map_vertex_example.png| | |+ Representation | ||
|[[File:Height_texture_map_vertex_example.png|384px|Example]] | |||
|}</center> | |||
|} | |||
= Additional Information = | |||
== ROAM terrain engine == | |||
* Official ROAM [http://www.cognigraph.com/ROAM_homepage/ page] | * Official ROAM [http://www.cognigraph.com/ROAM_homepage/ page] | ||
* Gamasutra has a nice [http://www.gamasutra.com/view/feature/3188/realtime_dynamic_level_of_detail_.php article] on ROAM | * Gamasutra has a nice [http://www.gamasutra.com/view/feature/3188/realtime_dynamic_level_of_detail_.php article] on ROAM | ||
Revision as of 06:20, 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
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 |
|---|
+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
