Class LightDrawContext
Handles how a light renders a scene.
Inherited Members
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
ClearFlags
Gets Clear flags used for clearing the FrameBuffer, stencilBuffer, and ZBuffer.
Declaration
public override ClearFlags ClearFlags { get; }
Property Value
Type | Description |
---|---|
ClearFlags |
Overrides
ClearValue
Gets the clear value for the camera.
Declaration
public override ClearValue ClearValue { get; }
Property Value
Type | Description |
---|---|
ClearValue |
Overrides
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
MultiviewEyeCount
Gets the number of views of this draw context.
Declaration
public override int MultiviewEyeCount { get; }
Property Value
Type | Description |
---|---|
int |
Overrides
MultiviewInstancingCount
Gets the number of instance count to render all views.
Declaration
public override int MultiviewInstancingCount { get; }
Property Value
Type | Description |
---|---|
int |
Overrides
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
MultiviewProjection
Gets the Multiview projection transformation array.
Declaration
public override Matrix4x4[] MultiviewProjection { get; }
Property Value
Type | Description |
---|---|
Matrix4x4[] |
Overrides
MultiviewProjectionInverse
Gets the Multiview view projection inverse transform array.
Declaration
public override Matrix4x4[] MultiviewProjectionInverse { get; }
Property Value
Type | Description |
---|---|
Matrix4x4[] |
Overrides
MultiviewView
Gets the multiview view transform array.
Declaration
public override Matrix4x4[] MultiviewView { get; }
Property Value
Type | Description |
---|---|
Matrix4x4[] |
Overrides
MultiviewViewProjection
Gets the multiview view projection transform array.
Declaration
public override Matrix4x4[] MultiviewViewProjection { get; }
Property Value
Type | Description |
---|---|
Matrix4x4[] |
Overrides
NearPlane
Gets the near plane of the frustum.
Declaration
public override float NearPlane { get; }
Property Value
Type | Description |
---|---|
float |
Overrides
Position
Gets the position.
Declaration
public override Vector3 Position { get; }
Property Value
Type | Description |
---|---|
Vector3 |
Overrides
Projection
Gets the projection transform.
Declaration
public override Matrix4x4 Projection { get; }
Property Value
Type | Description |
---|---|
Matrix4x4 |
Overrides
ProjectionInverse
Gets the inverse projection matrix.
Declaration
public override Matrix4x4 ProjectionInverse { get; }
Property Value
Type | Description |
---|---|
Matrix4x4 |
Overrides
RenderProjection
Gets the rendered projection transform.
Declaration
public override Matrix4x4 RenderProjection { get; }
Property Value
Type | Description |
---|---|
Matrix4x4 |
Overrides
RenderViewProjection
Gets the render view projection transformation.
Declaration
public override Matrix4x4 RenderViewProjection { get; }
Property Value
Type | Description |
---|---|
Matrix4x4 |
Overrides
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
View
Gets the view transform.
Declaration
public override Matrix4x4 View { get; }
Property Value
Type | Description |
---|---|
Matrix4x4 |
Overrides
ViewCount
Gets the number of views of this draw context.
Declaration
public override int ViewCount { get; }
Property Value
Type | Description |
---|---|
int |
Overrides
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
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
ViewProjection
Gets the view-projection transform.
Declaration
public override Matrix4x4 ViewProjection { get; }
Property Value
Type | Description |
---|---|
Matrix4x4 |
Overrides
ViewProjectionInverse
Gets the inverse of the view-projection transform.
Declaration
public override Matrix4x4 ViewProjectionInverse { get; }
Property Value
Type | Description |
---|---|
Matrix4x4 |
Overrides
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
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
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
SetPerViewEngineParameters()
Collects shader resources per view.
Declaration
protected override void SetPerViewEngineParameters()