Class TRenderParams
Unit
Declaration
type TRenderParams = class(TObject)
Description
Information that a TCastleTransform object needs to render. Read-only for TCastleTransform.LocalRender (except Statistics, which should be updated during rendering).
This is mostly an internal class.
You should not need to create it, you should not need to read anything inside or deal with this class otherwise, and actually you should not need to override TCastleTransform.LocalRender during normal engine usage. But it may be useful for special customized rendering.
Hierarchy
- TObject
- TRenderParams
Overview
Fields
Transparent: boolean; |
|
ShadowVolumesReceivers: set of Boolean; |
|
InShadow: boolean; |
|
StencilTest: Cardinal; |
|
InternalPass: TInternalRenderingPass; |
|
UserPass: TUserRenderingPass; |
|
Transform: PMatrix4; |
|
InverseTransform: PMatrix4; |
|
TransformIdentity: boolean; |
|
Statistics: TRenderStatistics; |
|
GlobalFog: TAbstractFogNode; |
|
Frustum: PFrustum; |
|
RenderingCamera: TRenderingCamera; |
|
InMeaningfulParent: Boolean; |
|
ProjectionBox: TBox3DEvent; |
|
ProjectionViewportWidth: Single; |
|
ProjectionViewportHeight: Single; |
Methods
constructor Create; |
|
function GlobalLights: TAbstractLightInstancesList; virtual; abstract; |
|
function RenderTransform: TMatrix4; deprecated 'use Transform'; |
|
function RenderTransformIdentity: boolean; deprecated 'use TransformIdentity'; |
Description
Fields
Transparent: boolean; |
|
Which parts should be rendered: opaque ( |
ShadowVolumesReceivers: set of Boolean; |
|
Should we render parts that may receive shadow volumes, or ones that don't, or both. This should never be []. During rendering, simply check does it match TCastleScene.ReceiveShadowVolumes. This should "filter" the rendered parts by TCastleTransform.LocalRender. |
InShadow: boolean; |
|
If Which means that most lights (ones with shadowVolumes = TRUE) should be turned off, see [https://castle-engine.io/x3d_extensions.php#section_ext_shadows].) |
StencilTest: Cardinal; |
|
Value > 0 means we're inside some stencil test (like for InShadow = |
InternalPass: TInternalRenderingPass; |
|
Rendering pass number, for internal multi-pass rendering, like for shadow volumes. |
UserPass: TUserRenderingPass; |
|
Rendering pass number, for user purposes. Multiplied with InternalPass to get final pass number, that determines shaders used. |
Transform: PMatrix4; |
|
Transformation that should be applied to the rendered result. If TransformIdentity, then Transform and InverseTransform is always identity. |
InverseTransform: PMatrix4; |
|
Transformation that should be applied to the rendered result. If TransformIdentity, then Transform and |
TransformIdentity: boolean; |
|
Statistics: TRenderStatistics; |
|
Current rendering statistics, should be updated by each TCastleTransform.LocalRender call. |
GlobalFog: TAbstractFogNode; |
|
Fog that affects all scenes. |
Frustum: PFrustum; |
|
Camera frustum in local coordinates. Local for the TCastleTransform instance receiving this TRenderParams as TCastleTransform.LocalRender parameter, so it may be different from RenderingCamera.Frustum. As a special exception, it can be |
RenderingCamera: TRenderingCamera; |
|
Camera information for renderer. |
InMeaningfulParent: Boolean; |
|
Are we traversing now only inside parents with MeaningfulParent, i.e. outside of TCastleTransformReference.Reference. |
ProjectionBox: TBox3DEvent; |
|
At design-time, cameras update their own projection, to show camera gizmo. These are parameters to do this. |
ProjectionViewportWidth: Single; |
|
ProjectionViewportHeight: Single; |
|
Methods
constructor Create; |
|
function GlobalLights: TAbstractLightInstancesList; virtual; abstract; |
|
Lights that shine on object (headlight and lights from all scenes with CastGlobalLights). |
function RenderTransform: TMatrix4; deprecated 'use Transform'; |
|
Warning: this symbol is deprecated: use Transform |
function RenderTransformIdentity: boolean; deprecated 'use TransformIdentity'; |
|
Warning: this symbol is deprecated: use TransformIdentity |
Generated by PasDoc 0.16.0.