Click or drag to resize
DigitalRuneBillboardOrientation Structure
Defines the orientation of a billboard.

Namespace: DigitalRune.Graphics
Assembly: DigitalRune.Graphics (in DigitalRune.Graphics.dll) Version: 1.2.0.0 (1.2.1.14562)
Syntax
[SerializableAttribute]
public struct BillboardOrientation : IEquatable<BillboardOrientation>

The BillboardOrientation type exposes the following members.

Constructors
  NameDescription
Public methodBillboardOrientation
Initializes a new instance of the BillboardOrientation struct.
Top
Methods
  NameDescription
Public methodEquals(Object)
Determines whether the specified Object is equal to this instance.
(Overrides ValueTypeEquals(Object).)
Public methodEquals(BillboardOrientation)
Determines whether the specified BillboardOrientation is equal to this instance.
Public methodGetHashCode
Returns a hash code for this instance.
(Overrides ValueTypeGetHashCode.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodToString
Returns the fully qualified type name of this instance.
(Inherited from ValueType.)
Top
Operators
  NameDescription
Public operatorStatic memberEquality
Compares two objects to determine whether they are the same.
Public operatorStatic memberInequality
Compares two objects to determine whether they are different.
Top
Fields
  NameDescription
Public fieldStatic memberAxialViewPlaneAligned
Settings for axial billboards parallel to the view plane.
Public fieldStatic memberAxialViewpointOriented
Settings for axial billboards oriented towards the viewer.
Public fieldStatic memberScreenAligned
Settings for screen-aligned billboards.
Public fieldStatic memberViewPlaneAligned
Settings for view plane-aligned billboards.
Public fieldStatic memberViewpointOriented
Settings for viewpoint-oriented billboards.
Public fieldStatic memberWorldOriented
Settings for billboards with a free orientation in world space.
Top
Properties
  NameDescription
Public propertyIsAxisFixed
Gets a value indicating whether the billboard normal or the billboard axis is the fixed axis.
Public propertyIsAxisInViewSpace
Gets a value indicating whether the billboard axis is given in view space.
Public propertyNormal
Gets a value indicating which normal vector is used for rendering the billboard.
Top
Remarks

Billboards are oriented, textured polygons (usually quads) used for drawing particles and other effects. Billboards can have various orientations depending on the type of effect.

The BillboardOrientation class defines various standard orientations, but can also be used to define custom billboard orientations.

The orientation of a billboard is defined by two vectors: the normal vector and the axis vector.

  • Billboard Normal -

    The normal vector of a billboard is the vector that points away from the billboard plane, usually towards the viewpoint (camera). The property Normal is an enumeration that defines how the normal vector is chosen.

    If not chosen automatically, the normal vector of a regular Billboard is given by the BillboardNode. The normal vector is defined by the local z-axis (0, 0, 1) of the scene node.

    The normal vector of particles is defined by a particle parameter. The ParticleSystem needs to have a uniform or varying particle parameter called "Normal".

  • Billboard Axis -

    The axis vector of a billboard is a vector that lies in the billboard plane. All billboard rotations are relative to this vector. Normally, the up-vector in world space or view space is used. Different axis vectors must be used for effects that have a direction (e.g. laser beams). IsAxisInViewSpace determines if this vectors is interpreted as a vector in view space or in world space.

    The axis vector of a regular Billboard is set in defined by the BillboardNode. The axis vector is given by the local up direction (0, 1, 0) of the scene node.

    The axis vector of particles is defined by a particle parameter. The ParticleSystem needs to have a uniform or varying particle parameter called "Axis".

If the normal and the axis vectors are not perpendicular, then one vector is kept constant and the second vector is made orthonormal to the first vector. For most effects, the normal vector should be the fixed axis (e.g. fire, smoke). For billboards with a fixed direction in world space (e.g. distant trees), the axis vector should be the fixed vector. The property IsAxisFixed determines, which axis is fixed.

See Also