CloudLayerNode Class |
Namespace: DigitalRune.Graphics.SceneGraph
The CloudLayerNode type exposes the following members.
Name | Description | |
---|---|---|
CloudLayerNode |
Initializes a new instance of the CloudLayerNode class.
|
Name | Description | |
---|---|---|
Clone |
Creates a new SceneNode that is a clone of the current instance (incl. all
children).
| |
CloneCore |
Makes the instance a clone (deep copy) of the specified SceneNode.
(Overrides SkyNodeCloneCore(SceneNode).) | |
CreateInstanceCore |
When implemented in a derived class, creates a new instance of the
SceneNode derived class.
(Overrides SceneNodeCreateInstanceCore.) | |
Dispose(Boolean) |
Releases all resources used by the scene node and all descendant nodes.
(Inherited from SceneNode.) | |
Dispose(Boolean, Boolean) |
Releases the unmanaged resources used by an instance of the SceneNode class
and optionally releases the managed resources.
(Overrides SceneNodeDispose(Boolean, Boolean).) | |
Equals | (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetTextureCoordinates |
Gets the texture coordinates of the cloud texture in the specified direction.
| |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
Invalidate |
Invalidates this scene node and all children.
(Inherited from SceneNode.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
OnParentChanged |
Called when Parent was changed.
(Inherited from SceneNode.) | |
OnPoseChanged |
Raises the PoseChanged event.
(Inherited from SceneNode.) | |
OnSceneChanged |
Raises the SceneChanged event.
(Inherited from SceneNode.) | |
OnShapeChanged |
Raises the ShapeChanged event.
(Inherited from SceneNode.) | |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Name | Description | |
---|---|---|
ClearLastPose |
Clears the LastPoseWorld property of the current scene node (and its
descendants).
(Defined by SceneHelper.) | |
ClearLastScale |
Clears the LastScaleWorld property of the current scene node (and
its descendants).
(Defined by SceneHelper.) | |
Contains |
Determines whether whether a scene node contains another scene node in its subtree.
(Defined by SceneHelper.) | |
GetAncestors |
Gets the ancestors of the given scene node.
(Defined by SceneHelper.) | |
GetChildren |
Gets the children of the given scene node.
(Defined by SceneHelper.) | |
GetDescendants | Overloaded.
Gets the descendants of the given scene node using a depth-first search.
(Defined by SceneHelper.) | |
GetDescendants(Boolean) | Overloaded.
Gets the descendants of the given scene node using a depth-first or a breadth-first search.
(Defined by SceneHelper.) | |
GetLeaves |
Gets the leaves of the scene node.
(Defined by SceneHelper.) | |
GetRoot |
Gets the root node.
(Defined by SceneHelper.) | |
GetSceneNode |
Gets a scene node by name from the subtree of the specified scene node.
(Defined by SceneHelper.) | |
GetSelfAndAncestors |
Gets the scene node and its ancestors scene.
(Defined by SceneHelper.) | |
GetSubtree | Overloaded.
Gets the subtree (the given scene node and all of its descendants) using a depth-first
search.
(Defined by SceneHelper.) | |
GetSubtree(Boolean) | Overloaded.
Gets the subtree (the given scene node and all of its descendants) using a depth-first or a
breadth-first search.
(Defined by SceneHelper.) | |
GetSubtreeAabb |
Gets the AABB of the current subtree.
(Defined by SceneHelper.) | |
LookAt(Vector3F, Vector3F) | Overloaded.
Rotates the scene node so that it faces a certain direction (in world space).
(Defined by SceneHelper.) | |
LookAt(Vector3F, Vector3F, Vector3F) | Overloaded.
Moves and rotates the scene node so that it faces a certain direction (in world space).
(Defined by SceneHelper.) | |
SetInstanceAlpha |
Sets the opacity (alpha) of a scene node - see remarks.
(Defined by SceneHelper.) | |
SetLastPose |
Sets LastPoseWorld to the current
PoseWorld.
(Defined by SceneHelper.) | |
SetLastScale |
Sets LastScaleWorld to the current
ScaleWorld.
(Defined by SceneHelper.) | |
SupportsInstanceAlpha |
Determines whether the opacity of the scene node can be changed using
SetInstanceAlpha(SceneNode, Single).
(Defined by SceneHelper.) |
Name | Description | |
---|---|---|
Aabb |
Gets the axis-aligned bounding box (AABB) in world space.
(Inherited from SceneNode.) | |
ActualIsEnabled |
Gets a value indicating whether this scene node is actually enabled. (The method checks the
current scene node and its ancestors.)
(Inherited from SceneNode.) | |
Alpha |
Gets or sets the opacity of the clouds.
| |
AmbientLight |
Gets or sets the ambient light intensity used to shade the clouds.
| |
CastsShadows |
Gets or sets a value indicating whether this scene node blocks the light and casts shadows.
(Inherited from SceneNode.) | |
Children |
Gets or sets the children of this scene node.
(Inherited from SceneNode.) | |
CloudMap |
Gets or sets the cloud map that provides the cloud texture.
| |
DrawOrder |
Gets or sets the draw order.
(Inherited from SkyNode.) | |
ForwardScatterExponent |
Gets or sets the forward scatter exponent used to define the range of the forward scatter
effect.
| |
ForwardScatterOffset |
Gets or sets the forward scatter offset used to define the brightness of dark cloud parts
when looking straight at the sun.
| |
ForwardScatterScale |
Gets or sets the forward scatter exponent used to define the intensity of forward scattered
sun light.
| |
HorizonBias |
Gets or sets the horizon bias which moves the horizon down.
| |
HorizonFade |
Gets or sets a value which determines where the clouds start to fade out towards the
horizon.
| |
IsDisposed |
Gets a value indicating whether this scene node has been disposed of.
(Inherited from SceneNode.) | |
IsEnabled |
Gets or sets a value indicating whether this scene node is enabled. (May override children -
see remarks.)
(Inherited from SceneNode.) | |
IsRenderable |
Gets or sets a value indicating whether this scene node can be rendered with a
SceneNodeRenderer.
(Inherited from SceneNode.) | |
IsShadowCasterCulled |
Gets or sets a value indicating whether the occlusion culling determined that this scene
node does not need to be rendered into the shadow map of the directional light.
(Inherited from SceneNode.) | |
IsStatic |
Gets or sets a value indicating whether this scene node is static (immobile).
(Inherited from SceneNode.) | |
LastFrame |
Gets or sets the number of the last frame in which the scene node was rendered.
(Inherited from SceneNode.) | |
LastPoseWorld |
Gets or sets the PoseWorld of the last frame.
(Inherited from SceneNode.) | |
LastScaleWorld |
Gets or sets the ScaleWorld of the last frame.
(Inherited from SceneNode.) | |
MaxDistance |
Gets or sets the maximum distance up to which the scene node is rendered. (Needs to be
normalized - see remarks.)
(Inherited from SceneNode.) | |
Name |
Gets or sets the name of this scene node.
(Inherited from SceneNode.) | |
NumberOfSamples |
Gets or sets the number of samples used to compute cloud lighting in the shader.
| |
Parent |
Gets the parent scene node.
(Inherited from SceneNode.) | |
PoseLocal |
Gets or sets the pose (position and orientation) relative to the parent scene node.
(Inherited from SceneNode.) | |
PoseWorld |
Gets or sets the pose (position and orientation) in world space.
(Inherited from SceneNode.) | |
Proxy |
Gets or sets the proxy node.
(Inherited from SceneNode.) | |
RenderData |
Gets or sets the cached renderer data.
(Inherited from SceneNode.) | |
SampleDistance |
Gets or sets the sample distance for cloud lighting.
| |
ScaleLocal |
Gets or sets the scale relative to the parent scene node.
(Inherited from SceneNode.) | |
ScaleWorld |
Gets the total effective scale (which incorporates the scale factors of parent scene nodes).
(Inherited from SceneNode.) | |
SceneData |
Gets or sets scene data.
(Inherited from SceneNode.) | |
Shape |
Gets or sets the bounding shape of this scene node.
(Inherited from SkyNode.) | |
SkyCurvature |
Gets or sets the sky curvature.
| |
SortTag |
Gets or sets the sort tag.
(Inherited from SceneNode.) | |
SunDirection |
Gets or sets the direction to the sun.
| |
SunLight |
Gets or sets the sun light intensity used to shade the clouds.
| |
SunOcclusion |
Gets the sun occlusion.
| |
SunQuerySize |
Gets or sets the size of the SunOcclusion query.
| |
TextureMatrix |
Gets or sets the matrix used to transform the cloud texture.
| |
UserData |
Gets or sets user-defined data.
(Inherited from SceneNode.) | |
UserFlags |
Gets or sets a 16-bit value which can be used to store user-defined information or flags.
(Inherited from SceneNode.) |
Name | Description | |
---|---|---|
SceneChanged |
Occurs when the local subtree changed.
(Inherited from SceneNode.) | |
ShapeChanged |
Occurs when the Shape or ScaleWorld was changed.
(Inherited from SceneNode.) |
Name | Description | |
---|---|---|
IDisposableDispose |
Releases all resources used by the scene node and all descendant nodes.
(Inherited from SceneNode.) | |
IGeometricObjectClone |
Creates a new IGeometricObject that is a clone (deep copy) of the current
instance.
(Inherited from SceneNode.) | |
IGeometricObjectPose |
Gets the pose (position and orientation) in world space.
(Inherited from SceneNode.) | |
IGeometricObjectPoseChanged |
Occurs when the pose was changed.
(Inherited from SceneNode.) | |
IGeometricObjectScale |
Gets the total effective scale (which incorporates the scale factors of parent scene nodes).
(Inherited from SceneNode.) |
The CloudLayerNode is a SkyNode that renders a distant layer of clouds. CloudLayerNode are rendered by the SkyRenderer. The clouds are alpha-blended over the background. (The renderer does not draw the background sky, only clouds.)
Clouds are defined by a CloudMap, which provides a cloud texture. The cloud texture stores the transmittance of the sky (see Texture for more information). It is possible to use user-defined textures (see UserDefinedCloudMap), or dynamically generate clouds at runtime (see LayeredCloudMap).
The clouds are projected into the sky. The property SkyCurvature can be used to blend between a paraboloid projection (SkyCurvature = 1) or a planar projection (SkyCurvature = 0). A paraboloid projection makes optimal use of the texture resolution. Therefore, high values like 0.9, should be used for SkyCurvature. If a true paraboloid projection is used (SkyCurvature = 1), then the texture fills the whole sky without any tiling. If the SkyCurvature is less than 1, then the texture does not cover the whole sky and tiling (texture wrapping) is used to fill the sky. If the cloud texture is not a seamlessly tiling texture, then TextureMatrix must be used to change the scale of the texture and hide the seams.
The clouds are lit by SunLight and AmbientLight. A forward scattering effect is visible in the SunDirection. ForwardScatterExponent, ForwardScatterScale and ForwardScatterOffset define the range and strength of this effect. The clouds are also lit in other directions and NumberOfSamples/ SampleDistance define the quality of the lighting effect.
Clouds can be faded out to disappear near the horizon. HorizonFade defines the height where clouds start to fade out.
Cloning: When a CloudLayerNode is cloned the CloudMap is copied by reference (shallow copy). The original and the cloned node will reference the same CloudMap instance.