Search Results for

    Show / Hide Table of Contents

    Class LightDrawContext

    Handles how a light renders a scene.

    Inheritance
    object
    DisposableObject
    DrawContext
    LightDrawContext
    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.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)
    Namespace: Evergine.Framework.Graphics
    Assembly: Evergine.Framework.dll
    Syntax
    public class LightDrawContext : DrawContext

    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 reference to the pipeline.

    LightRenderPath renderPath

    The reference to the render path.

    Light light

    The light source.

    Fields

    Light

    The light reference.

    Declaration
    public readonly Light Light
    Field Value
    Type Description
    Light

    Properties

    BoundingFrustum

    Gets the bounding frustum of this light.

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

    ClearFlags

    Gets Clear flags used for clearing the 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 cascading index of this light.

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

    FarPlane

    Gets the far plane of the frustum.

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

    FieldOfView

    Gets the field of view of the camera.

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

    MultiviewEyeCount

    Gets the number of views of this draw context.

    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 the ViewIndex strategy, the instance count is 1.

    MultiviewPosition

    Gets the multi-view position array.

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

    MultiviewProjection

    Gets the Multiview projection transformation 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 near plane of the frustum.

    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 inverse projection matrix.

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

    RenderProjection

    Gets the rendered projection transform.

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

    RenderViewProjection

    Gets the render view projection transformation.

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

    ShadowMapIndex

    Gets or sets the shadow map index in 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's 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 contain 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 contain several views (cascade shadows, point light shadows, reflection probe, etc.).

    ViewInverse

    Gets the inverse view 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 inverse of the view-projection transform.

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

    Methods

    BeforeRender()

    Executes actions needed before the camera renders.

    Declaration
    public override bool BeforeRender()
    Returns
    Type Description
    bool

    True if the camera should be rendered.

    Overrides
    DrawContext.BeforeRender()

    FilterObjects(RenderObjectInfo)

    Indicates whether 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)

    Executes the draw action of the draw context.

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

    The command buffer used for rendering.

    Overrides
    DrawContext.Render(CommandBuffer)

    SetPerViewEngineParameters()

    Collects shader resources per view.

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

    Extension Methods

    ReflectionHelper.GetMemberAssembly(object)
    ReflectionHelper.GetTypeName(object)
    In this article
    Back to top
    Generated by DocFX