Search Results for

    Show / Hide Table of Contents

    Class LightDrawContext

    Handle how a light render a scene.

    Inheritance
    object
    DisposableObject
    DrawContext
    LightDrawContext
    Implements
    IDisposable
    Inherited Members
    DrawContext.ElapsedTime
    DrawContext.TotalTime
    DrawContext.FrameCount
    DrawContext.RenderPipeline
    DrawContext.RenderPath
    DrawContext.CullingResult
    DrawContext.MultiviewStrategy
    DrawContext.AdditionalEffectDirectives
    DrawContext.passCount
    DrawContext.OnFrameBufferProcessed
    DrawContext.OnCollect
    DrawContext.OnPreRender
    DrawContext.OnPostRender
    DrawContext.EffectAutoParamSource
    DrawContext.drawContextGeneration
    DrawContext.RenderManager
    DrawContext.FrameBuffer
    DrawContext.HighResolutionIntermediateFrameBuffer
    DrawContext.LowResolutionIntermediateFrameBuffer
    DrawContext.SuperResolutionEnabled
    DrawContext.SuperResolutionScaleFactor
    DrawContext.IntermediateFrameBuffer
    DrawContext.RenderFramebuffer
    DrawContext.DrawContextGeneration
    DrawContext.DrawablesToRender
    DrawContext.CullingSystem
    DrawContext.ForceBlitAlphaBlending
    DrawContext.ID
    DrawContext.IsMultiview
    DrawContext.IsGammaColorSpace
    DrawContext.DrawContextResources
    DrawContext.GetPassFramebuffer(int)
    DrawContext.CollectMeshSources()
    DrawContext.BeforeCollect()
    DrawContext.Collect()
    DrawContext.RenderBatches(int, CommandBuffer)
    DrawContext.RenderBatches(int, CommandBuffer, int, int)
    DrawContext.PrepareBatches(CommandBuffer)
    DrawContext.PrepareBatches(CommandBuffer, int, int)
    DrawContext.ProcessDrawables()
    DrawContext.CullObjects()
    DrawContext.CullLights()
    DrawContext.SortObjects()
    DrawContext.CollectBatches()
    DrawContext.CouldBatch(int, RenderObjectInfo, int, RenderObjectInfo)
    DrawContext.EmitBatch(ref RenderBatch)
    DrawContext.CollectBatch(ref RenderBatch)
    DrawContext.CollectMaterials()
    DrawContext.RefreshAdditionalDirectives()
    DrawContext.GetAdditionalDirectives()
    DrawContext.Destroy()
    DrawContext.GetTexture(TextureInfo.TextureSemantic, int)
    DrawContext.FireOnFrameBufferProcessed()
    DisposableObject.Disposed
    DisposableObject.Dispose()
    DisposableObject.Dispose(bool)
    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 class LightDrawContext : DrawContext, IDisposable

    Constructors

    LightDrawContext(RenderPipeline, LightRenderPath, Light)

    Initializes a new instance of the LightDrawContext class.

    Declaration
    public LightDrawContext(RenderPipeline renderPipeline, LightRenderPath renderPath, Light light)
    Parameters
    Type Name Description
    RenderPipeline renderPipeline

    The pipeline reference.

    LightRenderPath renderPath

    The renderpath reference.

    Light light

    The light.

    Fields

    Light

    The light reference.

    Declaration
    public readonly Light Light
    Field Value
    Type Description
    Light

    Properties

    BoundingFrustum

    Gets the boundingFrustum of this light.

    Declaration
    public override BoundingFrustum BoundingFrustum { get; }
    Property Value
    Type Description
    BoundingFrustum
    Overrides
    DrawContext.BoundingFrustum

    ClearFlags

    Gets Clear flags used for clean FrameBuffer, stencilBuffer and ZBuffer.

    Declaration
    public override ClearFlags ClearFlags { get; }
    Property Value
    Type Description
    ClearFlags
    Overrides
    DrawContext.ClearFlags

    ClearValue

    Gets the Clear value for the camera.

    Declaration
    public override ClearValue ClearValue { get; }
    Property Value
    Type Description
    ClearValue
    Overrides
    DrawContext.ClearValue

    CurrentCascadeIndex

    Gets or sets the current cascade index of this light.

    Declaration
    public int CurrentCascadeIndex { get; set; }
    Property Value
    Type Description
    int

    FarPlane

    Gets the frustum far plane.

    Declaration
    public override float FarPlane { get; }
    Property Value
    Type Description
    float
    Overrides
    DrawContext.FarPlane

    MultiviewEyeCount

    Gets the number of views of this drawcontext.

    Declaration
    public override int MultiviewEyeCount { get; }
    Property Value
    Type Description
    int
    Overrides
    DrawContext.MultiviewEyeCount

    MultiviewInstancingCount

    Gets the number of instance count to render all views.

    Declaration
    public override int MultiviewInstancingCount { get; }
    Property Value
    Type Description
    int
    Overrides
    DrawContext.MultiviewInstancingCount
    Remarks

    In a Multiview with RenderTargetIndex strategy the number is MultiviewEyeCount, but in ViewIndex strategy the instanceCount is 1.

    MultiviewPosition

    Gets the Multiview position array.

    Declaration
    public override Vector4[] MultiviewPosition { get; }
    Property Value
    Type Description
    Vector4[]
    Overrides
    DrawContext.MultiviewPosition

    MultiviewProjection

    Gets the Multiview projection transform array.

    Declaration
    public override Matrix4x4[] MultiviewProjection { get; }
    Property Value
    Type Description
    Matrix4x4[]
    Overrides
    DrawContext.MultiviewProjection

    MultiviewProjectionInverse

    Gets the Multiview view projection inverse transform array.

    Declaration
    public override Matrix4x4[] MultiviewProjectionInverse { get; }
    Property Value
    Type Description
    Matrix4x4[]
    Overrides
    DrawContext.MultiviewProjectionInverse

    MultiviewView

    Gets the Multiview view transform array.

    Declaration
    public override Matrix4x4[] MultiviewView { get; }
    Property Value
    Type Description
    Matrix4x4[]
    Overrides
    DrawContext.MultiviewView

    MultiviewViewProjection

    Gets the Multiview view projection transform array.

    Declaration
    public override Matrix4x4[] MultiviewViewProjection { get; }
    Property Value
    Type Description
    Matrix4x4[]
    Overrides
    DrawContext.MultiviewViewProjection

    NearPlane

    Gets the frustum near plane.

    Declaration
    public override float NearPlane { get; }
    Property Value
    Type Description
    float
    Overrides
    DrawContext.NearPlane

    Position

    Gets the position.

    Declaration
    public override Vector3 Position { get; }
    Property Value
    Type Description
    Vector3
    Overrides
    DrawContext.Position

    Projection

    Gets the projection transform.

    Declaration
    public override Matrix4x4 Projection { get; }
    Property Value
    Type Description
    Matrix4x4
    Overrides
    DrawContext.Projection

    ProjectionInverse

    Gets the projection inverse matrix.

    Declaration
    public override Matrix4x4 ProjectionInverse { get; }
    Property Value
    Type Description
    Matrix4x4
    Overrides
    DrawContext.ProjectionInverse

    RenderProjection

    Gets the render projection transform.

    Declaration
    public override Matrix4x4 RenderProjection { get; }
    Property Value
    Type Description
    Matrix4x4
    Overrides
    DrawContext.RenderProjection

    RenderViewProjection

    Gets the render view projection transform.

    Declaration
    public override Matrix4x4 RenderViewProjection { get; }
    Property Value
    Type Description
    Matrix4x4
    Overrides
    DrawContext.RenderViewProjection

    ShadowMapIndex

    Gets or sets the shadow map index of this draw context.

    Declaration
    public int ShadowMapIndex { get; set; }
    Property Value
    Type Description
    int

    ShadowProjectionIndex

    Gets or sets the shadow projection index.

    Declaration
    public int ShadowProjectionIndex { get; set; }
    Property Value
    Type Description
    int

    Transform

    Gets the view object transform.

    Declaration
    public override Transform3D Transform { get; }
    Property Value
    Type Description
    Transform3D
    Overrides
    DrawContext.Transform

    View

    Gets the view transform.

    Declaration
    public override Matrix4x4 View { get; }
    Property Value
    Type Description
    Matrix4x4
    Overrides
    DrawContext.View

    ViewCount

    Gets the number of views of this draw context.

    Declaration
    public override int ViewCount { get; }
    Property Value
    Type Description
    int
    Overrides
    DrawContext.ViewCount
    Remarks

    A draw context can contains several views (cascade shadows, point light shadows, reflection probe, etc...).

    ViewIndex

    Gets the View index of this draw context.

    Declaration
    public override int ViewIndex { get; }
    Property Value
    Type Description
    int
    Overrides
    DrawContext.ViewIndex
    Remarks

    A draw context can contains several views (cascade shadows, point light shadows, reflection probe, etc...).

    ViewInverse

    Gets the view inverse matrix.

    Declaration
    public override Matrix4x4 ViewInverse { get; }
    Property Value
    Type Description
    Matrix4x4
    Overrides
    DrawContext.ViewInverse

    ViewProjection

    Gets the view projection transform.

    Declaration
    public override Matrix4x4 ViewProjection { get; }
    Property Value
    Type Description
    Matrix4x4
    Overrides
    DrawContext.ViewProjection

    ViewProjectionInverse

    Gets the view projection inverse transform.

    Declaration
    public override Matrix4x4 ViewProjectionInverse { get; }
    Property Value
    Type Description
    Matrix4x4
    Overrides
    DrawContext.ViewProjectionInverse

    Methods

    BeforeRender()

    Execute actions needed before camera render.

    Declaration
    public override bool BeforeRender()
    Returns
    Type Description
    bool

    True if the camera should be rendered.

    Overrides
    DrawContext.BeforeRender()

    FilterObjects(RenderObjectInfo)

    Indicates if this object must be filtered.

    Declaration
    public override bool FilterObjects(RenderObjectInfo renderObjectInfo)
    Parameters
    Type Name Description
    RenderObjectInfo renderObjectInfo

    The object info to filter.

    Returns
    Type Description
    bool

    True if the object must be filtered.

    Overrides
    DrawContext.FilterObjects(RenderObjectInfo)

    Render(CommandBuffer)

    Execute the draw action of draw context.

    Declaration
    public override void Render(CommandBuffer commandBuffer)
    Parameters
    Type Name Description
    CommandBuffer commandBuffer

    The command buffer used to render.

    Overrides
    DrawContext.Render(CommandBuffer)

    SetPerViewEngineParameters()

    Collect shader resources per view.

    Declaration
    protected override void SetPerViewEngineParameters()
    Overrides
    DrawContext.SetPerViewEngineParameters()

    Implements

    IDisposable

    Extension Methods

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