Height Mapping

Height mapping displaces surface vertices along the normal vector based on values from a height map.  Black corresponds to the low areas and white corresponds to the high areas in the map. 

Note: Height mapped surface are not directly involved with CSG functions, rather the underlying surface from which the vertices are displaced from is used (visible in wire frame mode).

Setting a Height Mapped Surface

1st select a surface as Surface A and create a double sided surface.  Only double sided surfaces can be height mapped.  Select the double sided surface as Surface A, go to Height Map tab in Surface Effects dialog and enable height mapping.  Default height map uses luminance value from base texture map.  Height map can be changed using the Texture dialog.  Height map controls include options for scale and vertex granularity.

Example height map applied to a surface, note surface it was created from is shown below.

 Adding a Detail Height Map

Detail height map is a secondary map used to apply surface features at a different scale then the height map.  Generally this allows for smaller features  to be applied while using full range of the map.   Add a detail map to the surface using Texture dialog, detail map can be configured by selecting Detail map in the Height Map tab.  To disable detail map set Scale to 0.

Example of Detail Height map


Single/Double Sided Height Map Surfaces

Double sided surfaces are visible on either side (when viewed from front or back).  For height mapped surfaces that are known to only be visible from front/top side (terrains for example) single sided option should be used.  This allows backface culling to be enabled and improves render performance.

Underlying Base Surface

Height map may be considered a virtual surface with it's underlying base surface not visible except in wireframe mode.  Base surface maintains S, T, N orientation vectors for the height map.  To view base surface vector directions enable Render: Surface Axis Guides menu option.

Wireframe view of height map, green outline is the base surface.

Tri-Planar Texture Mapping

Planar (s,t) texture coordinates are 2D and a height map creates 3D features from a planar surface.  Areas within a height map that feature large changes in height over a short distance cause texture stretching and distortion.  Tri-planar mapping is a 3D texturing technique that chooses the planar projection matching a surface's facing direction (similar to cube mapping). 

Example rendering of a height map surface which steep features using 2D (s,t) texturing

With Tri-planar mapping option enabled in Height Map dialog