Open Inventor Release 2024.2.0
 
Loading...
Searching...
No Matches
SoHeightFieldProperty

The SoHeightFieldProperty node is also analogous to (and derived from) SoVolumeData. This node defines a set of values on a uniform grid in the XY plane that can be used to color the height field defined by an SoHeightFieldGeometry node when rendered using an SoHeightFieldRender node. Similar to SoHeightFieldGeometry, a height field property data set is a volume, whose Z dimension must be 1. The volume can be loaded using any of the usual mechanisms.

An SoHeightFieldProperty node is not required to render a height field. If there is no property associated with the height field, it will be rendered using the current material (see SoMaterial) like any other geometry. If you want to map the height values themselves to colors, create an SoHeightFieldProperty node and set its volume to the same values as the SoHeightFieldGeometry node. For example, if the height values are loaded from a data file on disk, simply set the fileName field to the same string as the SoHeightFieldGeometry node.

Typically the property volume will contain scalar values and those values will be mapped to colors using the current data range (see SoDataRange) and color map (see SoTransferFunction). However the property volume may contain RGBA values, for example aerial imagery to be draped over terrain.

figure_a0ad823c-6f77-46d8-9f51-255b651ced5fNo propertyFigure 1.86. No property figure_3b608a2c-2ac2-476b-981d-f0dd1a3eafb2Property = height valuesFigure 1.87. Property = height values figure_9666e019-3027-4252-bab7-5e3ba9f3edf4Property = RGBA imageFigure 1.88. Property = RGBA image

| Terrain (LIDAR) data |

Multiple SoHeightFieldProperty nodes can be inserted in a scene graph and combined together in the GPU to do render compositing. However the default fragment shader only handles one property (the first one). To combine multiple properties use a custom shader program (see SoVolumeShader and Shaders).

It is not necessary (or useful) to set the extent field. SoHeightFieldRender will automatically use the extent associated with the SoHeightFieldGeometry node.