SoVolumeRenderingQualitydeferredLighting Property |
Enable screen space lighting (computed on the GPU).
Namespace: OIV.VolumeViz.Nodes
Default is true. Deferred lighting is computed based on the final image depth buffer instead using the data gradients. It is much faster than gradient based lighting (see the OIV.VolumeViz.Nodes.SoVolumeRenderingQuality.lighting field) and supports multiple light sources (up to 8). Because it is not based on data gradients, it does not have problems with small/random gradients and it gives a much better result when using clipping nodes like OIV.VolumeViz.Nodes.SoVolumeClippingGroup or OIV.VolumeViz.Nodes.SoUniformGridClipping. Light sources are defined by Open Inventor OIV.Inventor.Nodes.SoDirectionalLight nodes.
Notes:
Since Open Inventor 9.3, deferred lighting supports up to 8 light sources.
Both deferred lighting and gradient lighting may be enabled at the same time, but the intent is that the application should use one or the other.
Gradient related fields, e.g. surfaceScalarExponent, have no effect on deferred lighting.
In any case, do not use the OIV.VolumeViz.Nodes.SoVolumeRender.lighting field.
The lighting model used by deferred lighting is the Phong reflection model. Its parameters are defined by the current OIV.Inventor.Nodes.SoMaterial on state.
This effect is only applied on voxels that are considered to be "solid" (non-transparent). The "solid" transparency threshold is controlled by the value of OIV.VolumeViz.Nodes.SoVolumeRender.opacityThreshold.
LIMITATIONS
Only directional lights (OIV.Inventor.Nodes.SoDirectionalLight) are supported.
If you use deferredLighting, you should set the OIV.VolumeViz.Nodes.SoVolumeRender.samplingAlignment field to BOUNDARY_ALIGNED or SMOOTH_BOUNDARY_ALIGNED to reduce "slicing" artifacts.
The light color is taken into account, but not the light intensity field. You can get the same effect as reduced intensity by reducing the light color values.
Deferred lighting works best when
The volume data can be considered to contain "surfaces", for example bones (etc) in medical data or metal parts in NDT data, and
The transfer function makes the surface material relatively opaque and the surrounding material relatively transparent.
Note |
---|
Field available since Open Inventor 9.2 |