Search Results for

    Show / Hide Table of Contents

    Class Light

    This class represent all properties for a light.

    Inheritance
    object
    IdentifiableObject
    DependencyObject
    AttachableObject
    PrefabInstanceObject
    Component
    Light
    DirectionalLight
    VolumeLight
    Implements
    IDependencyObject
    Inherited Members
    Component.Owner
    Component.Managers
    Component.ShouldBeActivated
    Component.Clone()
    Component.Attach(Entity)
    Component.OnLoaded()
    Component.OnActivated()
    Component.Start()
    Component.OnDeactivated()
    Component.OnDestroy()
    PrefabInstanceObject.PrefabSource
    PrefabInstanceObject.PrefabElementId
    PrefabInstanceObject.IsPrefabInstance
    PrefabInstanceObject.IsMissingPrefabSource
    AttachableObject.AttachableStateChanged
    AttachableObject.IsEnabled
    AttachableObject.State
    AttachableObject.IsLoaded
    AttachableObject.IsAttached
    AttachableObject.IsActivated
    AttachableObject.IsStarted
    AttachableObject.IsDestroyed
    AttachableObject.Destroy()
    AttachableObject.DependencyBroken()
    DependencyObject.Dependencies
    DependencyObject.OnDependencyRemoved
    IdentifiableObject.Id
    IdentifiableObject.IdHasChanged(Guid)
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Evergine.Framework.Graphics
    Assembly: Evergine.Framework.dll
    Syntax
    public abstract class Light : Component, IDependencyObject

    Constructors

    Light()

    Initializes a new instance of the Light class.

    Declaration
    public Light()

    Fields

    ShadowMapManager

    The shadow map manager instance.

    Declaration
    protected ShadowMapProvider ShadowMapManager
    Field Value
    Type Description
    ShadowMapProvider

    Transform

    Transform 2D or 3D.

    Declaration
    [BindComponent(true, true, BindComponentSource.Owner, null, true)]
    public Transform3D Transform
    Field Value
    Type Description
    Transform3D

    boundingFrustum

    The bounding frustum.

    Declaration
    protected BoundingFrustum boundingFrustum
    Field Value
    Type Description
    BoundingFrustum

    color

    The color.

    Declaration
    protected LinearColor color
    Field Value
    Type Description
    LinearColor

    projection

    The projection.

    Declaration
    protected Matrix4x4 projection
    Field Value
    Type Description
    Matrix4x4

    renderProjection

    The projection.

    Declaration
    protected Matrix4x4 renderProjection
    Field Value
    Type Description
    Matrix4x4

    renderViewProjection

    The view projection.

    Declaration
    protected Matrix4x4 renderViewProjection
    Field Value
    Type Description
    Matrix4x4

    shadowBias

    the depth bias.

    Declaration
    protected float shadowBias
    Field Value
    Type Description
    float

    shadowOpacity

    The opacity of the shadow. 0 represent transparent and 1 opaque.

    Declaration
    protected float shadowOpacity
    Field Value
    Type Description
    float

    view

    The view.

    Declaration
    protected Matrix4x4 view
    Field Value
    Type Description
    Matrix4x4

    viewProjection

    The view projection.

    Declaration
    protected Matrix4x4 viewProjection
    Field Value
    Type Description
    Matrix4x4

    Properties

    BoundingFrustum

    Gets the light bounding frustum.

    Declaration
    public BoundingFrustum BoundingFrustum { get; }
    Property Value
    Type Description
    BoundingFrustum

    CascadeCount

    Gets the number of cascades associated to this light.

    Declaration
    public abstract int CascadeCount { get; }
    Property Value
    Type Description
    int

    Color

    Gets or sets the light color.

    Declaration
    public virtual Color Color { get; set; }
    Property Value
    Type Description
    Color

    The color of the diffuse.

    Intensity

    Gets or sets the light intensity.

    Declaration
    public virtual float Intensity { get; set; }
    Property Value
    Type Description
    float

    IsShadowEnabled

    Gets or sets a value indicating whether shadows are enable.

    Declaration
    [RenderProperty(Tag = 1, CustomPropertyName = "Shadow enabled")]
    public virtual bool IsShadowEnabled { get; set; }
    Property Value
    Type Description
    bool

    LightDrawContext

    Gets the associated Light draw context.

    Declaration
    public LightDrawContext LightDrawContext { get; }
    Property Value
    Type Description
    LightDrawContext

    LightType

    Gets the light type.

    Declaration
    public abstract LightType LightType { get; }
    Property Value
    Type Description
    LightType

    LinearColor

    Gets or sets the light color in linear space.

    Declaration
    public LinearColor LinearColor { get; set; }
    Property Value
    Type Description
    LinearColor

    Projection

    Gets the projection matrix.

    Declaration
    public Matrix4x4 Projection { get; }
    Property Value
    Type Description
    Matrix4x4

    RenderProjection

    Gets the render projection matrix.

    Declaration
    public Matrix4x4 RenderProjection { get; }
    Property Value
    Type Description
    Matrix4x4

    RenderViewProjection

    Gets the render view projection.

    Declaration
    public Matrix4x4 RenderViewProjection { get; }
    Property Value
    Type Description
    Matrix4x4

    ShadowBias

    Gets or sets the shadows depthBias.

    Declaration
    [RenderProperty(AttachToTag = 1, AttachToValue = true, CustomPropertyName = "Shadow Bias")]
    public virtual float ShadowBias { get; set; }
    Property Value
    Type Description
    float

    ShadowOpacity

    Gets or sets the shadows opacity value, this property must be in the range 0.0 (transparent) to 1.0 (opaque). The default value is 0.0.

    Declaration
    [RenderPropertyAsFInput(AsSlider = true, MaxLimit = 1, MinLimit = 0, AttachToTag = 1, AttachToValue = true, CustomPropertyName = "Shadow Opacity")]
    public virtual float ShadowOpacity { get; set; }
    Property Value
    Type Description
    float

    View

    Gets the view matrix.

    Declaration
    public Matrix4x4 View { get; }
    Property Value
    Type Description
    Matrix4x4

    ViewProjection

    Gets the view projection.

    Declaration
    public Matrix4x4 ViewProjection { get; }
    Property Value
    Type Description
    Matrix4x4

    Methods

    ComputeBoundingBox(out BoundingBox)

    Compute the bounding box of the light.

    Declaration
    public abstract void ComputeBoundingBox(out BoundingBox boundingBox)
    Parameters
    Type Name Description
    BoundingBox boundingBox

    The bounding box.

    FireOnShadowEnabledChanged()

    Fire the OnShadowEnabledChanged event.

    Declaration
    protected void FireOnShadowEnabledChanged()

    Intersects(ref BoundingBox)

    Check if the current light intersect with the specified bbox.

    Declaration
    public abstract bool Intersects(ref BoundingBox aabb)
    Parameters
    Type Name Description
    BoundingBox aabb

    The frustum.

    Returns
    Type Description
    bool

    Whether the light is inside frustum view.

    Intersects(ref BoundingFrustum)

    Check if the current light is inside the specified frustum.

    Declaration
    public abstract bool Intersects(ref BoundingFrustum frustum)
    Parameters
    Type Name Description
    BoundingFrustum frustum

    The frustum.

    Returns
    Type Description
    bool

    Whether the light is inside frustum view.

    OnAttached()

    Attach the camera to the system.

    Declaration
    protected override bool OnAttached()
    Returns
    Type Description
    bool

    True if all is OK.

    Overrides
    Component.OnAttached()

    OnDetach()

    Detach the camera to the system.

    Declaration
    protected override void OnDetach()
    Overrides
    Component.OnDetach()

    Events

    OnColorChanged

    Event fired when the color of the light has been changed.

    Declaration
    public event EventHandler<Color> OnColorChanged
    Event Type
    Type Description
    EventHandler<Color>

    OnIntensityChanged

    Event fired when the intensity of the light has been changed.

    Declaration
    public event EventHandler<float> OnIntensityChanged
    Event Type
    Type Description
    EventHandler<float>

    OnShadowEnabledChanged

    OnShadowEnabledChanged is called when the light shadow enable property changed.

    Declaration
    public event EventHandler<bool> OnShadowEnabledChanged
    Event Type
    Type Description
    EventHandler<bool>

    Implements

    IDependencyObject

    Extension Methods

    ReflectionHelper.GetMemberAssembly(object)
    ReflectionHelper.GetTypeName(object)
    In This Article
    Back to top
    Generated by DocFX