Skip to main content

How 3D Terrain Works

· 3 min read
Evgen Bodunov
Evgen Bodunov
CEO @ Globus Software

A mountain map should show more than roads and contour lines. It should make the shape of the landscape immediately clear: the valley ahead, the ridge beside a route, and the elevation separating two nearby points.

GLMap SDK 2.0 turns the map itself into that landscape. The same vector map rises with the terrain, while labels, tracks, markers, and elevation overlays stay in place.

Terrain is one of the headline features in the GLMap 2.0 release. Here is what it adds and how little an application needs to change to use it.

From a flat map to a landscape

Terrain is controlled by one property: altitudeScale. Keep it at 0 for a flat map, set it to 1 for natural elevation, or animate between values when the user enters a terrain view.

mapView.mapPitch = 45
mapView.drawHillshades = true
mapView.drawElevationLines = true
mapView.altitudeScale = 1

The Android API has the same compact shape:

renderer.mapPitch = 45f
renderer.drawHillshades = true
renderer.drawElevationLines = true
renderer.altitudeScale = 1f

There is no separate 3D scene to maintain. Existing map content follows the terrain automatically, so a route remains a route and a marker remains a marker — they simply appear at the right elevation.

Choose how the terrain reads

Applications can combine terrain with the elevation views that fit their purpose:

  • Hillshades make ridges and valleys readable at a glance.
  • Slope shading highlights steep ground.
  • Elevation lines add precise contour context.
  • Rotating hillshade light keeps relief legible as the map turns.

Each view is independent. A hiking app can pair terrain with contours, a ski app can emphasize slopes, and a general navigation app can use subtle hillshading without changing its map style.

Online when connected, offline when needed

Elevation is an optional data set in the same GLMap download flow as maps and navigation data. An app chooses the regions it needs, downloads their elevation data, and can then render terrain without a network connection.

That makes the feature useful where terrain matters most: trails, ski areas, off-road routes, remote field work, and any product that cannot assume continuous coverage.

One feature on iOS and Android

3D terrain is available on both platforms from the same 2.0 release. GLMap uses Metal on Apple devices and Vulkan or OpenGL ES on Android, while the application-facing controls stay aligned.

The reference applications include complete Chamonix examples:

Both examples download map and elevation data for the same area, enable terrain, and keep the rest of the screen ordinary application code.

If you are building an outdoor, off-road, navigation, or GIS product and want to evaluate terrain with your own data and style, write us at [email protected].