SoEnvironment Class |
Global environment node.
Namespace: OIV.Inventor.Nodes
The SoEnvironment type exposes the following members.
Name | Description | |
---|---|---|
SoEnvironment | Creates an environment node with default settings. |
Name | Description | |
---|---|---|
AffectsState | Returns true if a node has an effect on the state during traversal. | |
Callback | (Overrides SoNodeCallback(SoCallbackAction).) | |
Copy | Calls Copy(false). (Inherited from SoNode.) | |
Copy(Boolean) | Creates and returns an exact copy of the node. | |
CopyFieldValues(SoFieldContainer) | Calls CopyFieldValues(fc, false). (Inherited from SoFieldContainer.) | |
CopyFieldValues(SoFieldContainer, Boolean) | Copies the contents of fc's fields into this object's fields. | |
Dispose |
Releases all resources used by SoDisposable.
(Inherited from SoDisposable.) | |
Distribute | (Inherited from SoNode.) | |
DoAction | (Overrides SoNodeDoAction(SoAction).) | |
EnableNotify | Notification at this Field Container is enabled (if flag == true) or disabled (if flag == false). | |
Equals | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) | |
FieldsAreEqual | Returns true if this object's fields are exactly equal to fc's fields. | |
Get | Returns the values of the fields of this object in the Open Inventor ASCII file format in the given string. | |
GetAllFields | Returns a list of fields, including the eventIn's and eventOut's. | |
GetAlternateRep | This method is called by actions to allow the node to provide an "alternate representation" when appropriate (typically depending on the action type). | |
GetBoundingBox | (Inherited from SoNode.) | |
GetEventIn | Returns a the eventIn with the given name. | |
GetEventOut | Returns the eventOut with the given name. | |
GetField | Returns a the field of this object whose name is fieldName. | |
GetFieldName | Returns the name of the given field in the fieldName argument. | |
GetFields | Appends references to all of this object's fields to resultList, and returns the number of fields appended. | |
GetHashCode |
Overrides GetHashCode().
(Inherited from SoNetBase.) | |
GetMatrix | (Inherited from SoNode.) | |
GetName | Returns the name of an instance. | |
GetPrimitiveCount | (Inherited from SoNode.) | |
GetRenderEngineMode | Returns the supported Render engine mode. | |
GetRenderUnitID | (Inherited from SoNode.) | |
GetStringName | (Inherited from SoBase.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
GLRender | (Overrides SoNodeGLRender(SoGLRenderAction).) | |
GLRenderBelowPath | (Inherited from SoNode.) | |
GLRenderInPath | (Inherited from SoNode.) | |
GLRenderOffPath | (Inherited from SoNode.) | |
GrabEventsCleanup | (Inherited from SoNode.) | |
GrabEventsSetup | (Inherited from SoNode.) | |
HandleEvent | (Inherited from SoNode.) | |
HasDefaultValues | Returns true if all of the object's fields have their default values. | |
IsBoundingBoxIgnoring | This method is used by getBoundingBox action traversal to know if the current node must be traversed or not, ie the bounding should be ignored. | |
IsNotifyEnabled | Notification is the process of telling interested objects that this object has changed. | |
IsOverride | Returns the state of the overridden field. | |
IsSynchronizable | Gets the ScaleViz synchronizable state of this object. | |
Pick | (Inherited from SoNode.) | |
RayPick | (Inherited from SoNode.) | |
Search | (Inherited from SoNode.) | |
Set | Sets one or more fields in this object to the values specified in the given string, which should be a string in the Open Inventor file format. | |
SetName | (Inherited from SoBase.) | |
SetOverride | Sets the state of the overridden field. | |
SetSynchronizable | Sets this to be a ScaleViz synchronizable object. | |
SetToDefaults | Sets all fields in this object to their default values. | |
ToString |
Converts this SoBase structure to a human readable string.
(Inherited from SoBase.) | |
Touch | Marks an instance as modified, simulating a change to it. | |
Write | (Inherited from SoNode.) |
Name | Description | |
---|---|---|
ambientColor | RGB color of ambient lighting (for Phong lighting). | |
ambientIntensity | Intensity of ambient light (for Phong lighting). | |
ambientOcclusion | If set to true, ambient occlusion is activated. | |
ambientOcclusionIntensity | Intensity of ambient occlusion: the higher the value, the darker the scene. | |
ambientOcclusionRadius | Specifies the radius of the "sphere" (in world space) beyond which the ambient occlusion has no more effect. | |
attenuation | Squared, linear, and constant light attenuation coefficients (in that order). | |
fogColor | Fog color. | |
fogStart | Distance at which the linear fog HAZE starts to be applied. | |
fogType | Type of fog. | |
fogVisibility | Fog visibility distance, which is the distance at which fog totally obscures objects. | |
IsDisposable | ISafeDisposable interface implementation.
(Inherited from SoDisposable.) | |
UserData |
Gets or sets the user data to be contained by the field container.
(Inherited from SoFieldContainer.) |
This node describes global environmental attributes such as ambient lighting, light attenuation, ambient occlusion and fog.
Ambient light (OIV.Inventor.Nodes.SoEnvironment.ambientIntensity and OIV.Inventor.Nodes.SoEnvironment.ambientColor) is the amount of global light impinging on each surface point when the lighting model is Phong (see OIV.Inventor.Nodes.SoLightModel). The ambient light values effectively specify a minimum brightness for all shapes. Even if no light source is directly shining on a surface, the ambient component will light up the surface a little bit to prevent it from being pure black.
Light attenuation (OIV.Inventor.Nodes.SoEnvironment.attenuation) is the loss of light intensity over distance. The greater the distance from the light source, the lower the intensity. Attenuation affects all subsequent Point and Spot lights in a scene (see OIV.Inventor.Nodes.SoLight). See OIV.Inventor.Nodes.SoEnvironment.attenuation field for more details.
Ambient occlusion (OIV.Inventor.Nodes.SoEnvironment.ambientOcclusion) is a rendering effect that simulates how much of the global ambient light can reach different parts of a shape. Parts that are less exposed to the ambient light, i.e. more occluded, will appear darker. This effect is very useful to better discern the shapes of objects. The OIV.Inventor.Nodes.SoEnvironment.ambientOcclusion field controls this effect for shape nodes other than OIV.VolumeViz.Nodes.SoVolumeRendering and point sets. (although point sets can "generate" ambient occlusion). OIV.VolumeViz.Nodes.SoVolumeRendering also supports ambient occlusion, but it must be enabled using an OIV.VolumeViz.Nodes.SoVolumeRenderingQuality node. Ambient occlusion limitations:
Important performance penalty can be experienced on Intel HD and UHD Graphics integrated GPU
No Ambient Occlusion | Ambient Occlusion |
Example with a lineset extracted from a DTI |
Fog has one of four types, each of which blends each surface point with the specified fog color (usually set equal to the rendering window background color). Each type interprets the OIV.Inventor.Nodes.SoEnvironment.fogVisibility field to be the distance at which fog totally obscures objects. A fogVisibility value of 0 (the default) causes the OIV.Inventor.Nodes.SoEnvironment node to set up fog so that the visibility is the distance to the far clipping plane of the current camera. Using a fog of type HAZE results in a linear fog between the OIV.Inventor.Nodes.SoEnvironment.fogStart value and the fogVisibility value.
Environment {
ambientIntensity | 0.2 |
ambientColor | 1 1 1 |
attenuation | 0 0 1 |
ambientOcclusion | false |
ambientOcclusionIntensity | 1.0 |
ambientOcclusionRadius | 4.0 |
fogType | NONE |
fogColor | 1 1 1 |
fogStart | 0 |
fogVisibility | 0 |
OIV.Inventor.Actions.SoGLRenderAction Sets the current environment parameters to those specified with this node. Successive geometries will be rendered using this environment. Sets: OIV.Inventor.Elements.SoEnvironmentElement, OIV.Inventor.Elements.SoLightAttenuationElement