Class LightDrawContext
Handle how a light render a scene.
Implements
Inherited Members
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
ClearFlags
Gets Clear flags used for clean 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 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
MultiviewEyeCount
Gets the number of views of this drawcontext.
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 ViewIndex strategy the instanceCount is 1.
MultiviewPosition
Gets the Multiview position array.
Declaration
public override Vector4[] MultiviewPosition { get; }
Property Value
Type | Description |
---|---|
Vector4[] |
Overrides
MultiviewProjection
Gets the Multiview projection transform 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 frustum near plane.
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 projection inverse matrix.
Declaration
public override Matrix4x4 ProjectionInverse { get; }
Property Value
Type | Description |
---|---|
Matrix4x4 |
Overrides
RenderProjection
Gets the render projection transform.
Declaration
public override Matrix4x4 RenderProjection { get; }
Property Value
Type | Description |
---|---|
Matrix4x4 |
Overrides
RenderViewProjection
Gets the render view projection transform.
Declaration
public override Matrix4x4 RenderViewProjection { get; }
Property Value
Type | Description |
---|---|
Matrix4x4 |
Overrides
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
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 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
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
ViewProjection
Gets the view projection transform.
Declaration
public override Matrix4x4 ViewProjection { get; }
Property Value
Type | Description |
---|---|
Matrix4x4 |
Overrides
ViewProjectionInverse
Gets the view projection inverse transform.
Declaration
public override Matrix4x4 ViewProjectionInverse { get; }
Property Value
Type | Description |
---|---|
Matrix4x4 |
Overrides
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
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
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
SetPerViewEngineParameters()
Collect shader resources per view.
Declaration
protected override void SetPerViewEngineParameters()