Heightmap

Heightmap
A heightmap created with Terragen
The same heightmap converted to a 3D mesh and rendered with Anim8or

In computer graphics, a heightmap or heightfield is a raster image used to store values, such as surface elevation data, for display in 3D computer graphics. A heightmap can be used in bump mapping to calculate where this 3D data would create shadow in a material, in displacement mapping to displace the actual geometric position of points over the textured surface, or for terrain where the heightmap is converted into a 3D mesh.

A heightmap contains one channel interpreted as a distance of displacement or “height” from the “floor” of a surface and sometimes visualized as luma of a grayscale image, with black representing minimum height and white representing maximum height. When the map is rendered, the designer can specify the amount of displacement for each unit of the height channel, which corresponds to the “contrast” of the image. Heightmaps can be stored by themselves in existing grayscale image formats, with or without specialized metadata, or in specialized file formats such as Daylon Leveller, GenesisIV and Terragen documents.

One may also exploit the use of individual color channels to increase detail. For example, a standard RGB 8-bit image can only show 256 values of grey and hence only 256 heights. By using colors, a greater number of heights can be stored (for an 8-bit image, 2563 = 16,777,216 heights can be represented (2564 = 4,294,967,296 if the alpha channel is also used)). This technique is especially useful where height varies slightly over a large area. Using only grey values, because the heights must be mapped to only 256 values, the rendered terrain appears flat, with "steps" in certain places.

Heightmaps are commonly used in geographic information systems, where they are called digital elevation models.

Contents

Creating of heightmaps

Heightmaps can be created by hand with a classical paint program or a special terrain editor. These editors visualise the terrain in 3D and allow the user to modify the surface. Normally there are tools to raise, lower, smooth or erode the terrain. Another way to create a terrain is to use a terrain generation algorithm. This can be for example a 2D Perlin noise function[1]. Another method is to use real world data for example from satellites.

Programs that use heightmaps

Heightmaps are widely used in terrain rendering software and modern video games. Heightmaps are an ideal way to store digital terrain elevations; compared to a regular polygonal mesh, they require substantially less memory for a given level of detail.

In the earliest games using software rendering, the elements often represented heights of columns of voxels rendered with ray casting. In most newer games, the elements represent the height coordinate of polygons in a mesh.

Rendering software

  • Terragen – terrain renderer
  • Picogen – terrain renderer and heightmap creation tool

Generating software

Many 3D video games use heightmaps to store and generate terrain data. Benefits of such a system include ease of implementation as well as modding. Players can easily generate their own heightmaps for use within the game using widely available software. Heightmaps are usually complemented by texture maps that are then applied to the terrain in-game for extra detail and realism.

  • Quake3 and a host of subsequent or derivative games, use the GtkRadiant level editor to prepare the [mapname].map level files. This editor in its many bespoke formats, comes with a plugin "gensurf" that uses a greyscale bitmap to preview and generate terrain polygons for use in the map.
  • NovaLogic's Comanche series – first popular computer game to use heightmap terrain, advertised as a “Voxel Space” engine
  • Battlefield 1942 and Battlefield 2 use heightmaps generated using Terragen and modified in the respective editors.
  • CryENGINE 2's Sandbox editor
  • Far Cry level editor – level editor that imports heightmaps
  • Neverwinter Nights 2 – The Electron toolset can be used to create heightmaps, while the Electron engine is used to traverse them
  • OpenTTD scenario editor
  • AC3D
  • Earthsculptor - Edit/Create a terrain then generate a heightmap
  • Myth
  • Outcast
  • Spring – Open source 3D RTS engine
  • Terra Nova: Strike Force Centauri
  • SimCity Societies – Uses height maps for terrain generation.
  • Crashday – Uses Heightmaps in its Track Editor. Custom maps can also be imported by copying them into the heightmap folder
  • Grome – Advanced outdoor editor that uses multiple layers, brushes and procedural generation (fractals, erosion) to operate on terrain heightmaps.
  • L3DT - Has tools to create a terrain, then generates a heightmap from the designed terrain
  • Unreal Development Kit - Uses Heightmaps to create terrain as of its June 2011 build
  • Artifex Terra 3D – Advanced freeware 3D terrain editor and painter based on the Ogre3D engine, brush-centric editing, triplanar texturing, can import and export heightmaps.

See also

References

  1. ^ Artificial Terrain Generation

External links


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Heightmap — Höhenfelder sind zweidimensionale skalare Felder, die ein Höhenrelief beschreiben. Jedem Ort ist hier also ein Wert zugeordnet, der eine Position in der dritten räumlichen Dimension angibt, eine Höhe. So können z. B. die Höhenreliefs von… …   Deutsch Wikipedia

  • heightmap — noun A two dimensional raster image used to store surface elevations that can later be applied to a three dimensional object. Syn: heightfield …   Wiktionary

  • Bump-Mapping — Bumpmapping, auch Reliefzuordnung, ist eine Technik zur Darstellung von extrem detailreichen Objekten, ohne die Geometriekomplexität des Objekts zu erhöhen, die vor allem in 3D Visualisierungsprogrammen zum Einsatz kommt. Der Trick dabei ist,… …   Deutsch Wikipedia

  • Bump Mapping — Bumpmapping, auch Reliefzuordnung, ist eine Technik zur Darstellung von extrem detailreichen Objekten, ohne die Geometriekomplexität des Objekts zu erhöhen, die vor allem in 3D Visualisierungsprogrammen zum Einsatz kommt. Der Trick dabei ist,… …   Deutsch Wikipedia

  • Bump mapping — Bumpmapping, auch Reliefzuordnung, ist eine Technik zur Darstellung von extrem detailreichen Objekten, ohne die Geometriekomplexität des Objekts zu erhöhen, die vor allem in 3D Visualisierungsprogrammen zum Einsatz kommt. Der Trick dabei ist,… …   Deutsch Wikipedia

  • Bump maps — Bumpmapping, auch Reliefzuordnung, ist eine Technik zur Darstellung von extrem detailreichen Objekten, ohne die Geometriekomplexität des Objekts zu erhöhen, die vor allem in 3D Visualisierungsprogrammen zum Einsatz kommt. Der Trick dabei ist,… …   Deutsch Wikipedia

  • Bumpmap — Bumpmapping, auch Reliefzuordnung, ist eine Technik zur Darstellung von extrem detailreichen Objekten, ohne die Geometriekomplexität des Objekts zu erhöhen, die vor allem in 3D Visualisierungsprogrammen zum Einsatz kommt. Der Trick dabei ist,… …   Deutsch Wikipedia

  • Reliefzuordnung — Bumpmapping, auch Reliefzuordnung, ist eine Technik zur Darstellung von extrem detailreichen Objekten, ohne die Geometriekomplexität des Objekts zu erhöhen, die vor allem in 3D Visualisierungsprogrammen zum Einsatz kommt. Der Trick dabei ist,… …   Deutsch Wikipedia

  • Bump mapping — is a computer graphics technique where at each pixel, a perturbation to the surface normal of the object being rendered is looked up in a heightmap and applied before the illumination calculation is done (see, for instance, Phong shading). The… …   Wikipedia

  • Leveldesign — 2D Level Editor (Kmud Mapper) Ein Leveldesigner entwirft und gestaltet virtuelle Welten für Computerspiele. Es gibt dabei verschiedene Arten von Leveldesign, da sich der Aufbau von Computerspielen stark unterscheiden kann. Der Leveldesigner hat… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”