Class TAbstractLightNode
Unit
Declaration
type TAbstractLightNode = class(TAbstractChildNode)
Description
Base class for all the light nodes.
Source: src/scene/x3d/x3dnodes_standard_lighting.inc (line 32).
Hierarchy
- TObject
- TPersistent
- TX3DFileItem
- TX3DNode
- TAbstractNode
- TAbstractChildNode
- TAbstractLightNode
Overview
Methods
![]() |
procedure BeforeTraverse(StateStack: TX3DGraphTraverseStateStack); override; |
![]() |
procedure MiddleTraverse(StateStack: TX3DGraphTraverseStateStack); override; |
![]() |
procedure GroupBeforeTraverse(const State: TX3DGraphTraverseState; var WasPointingDeviceSensor: Boolean); override; |
![]() |
constructor Create(const AX3DName: string = ''; const ABaseUrl: String = ''); override; |
![]() |
function CreateLightInstance(const ParentTransformation: TTransformation): TLightInstance; |
![]() |
procedure UpdateLightInstanceTransformation( var LightInstance: TLightInstance; const ParentTransformation: TTransformation); |
![]() |
procedure UpdateLightInstance( var LightInstance: TLightInstance); virtual; |
![]() |
function Scope: TLightScope; virtual; |
![]() |
function Transform: TMatrix4; |
![]() |
function InverseTransform: TMatrix4; |
![]() |
procedure CreateNode; override; |
![]() |
class function ClassX3DType: String; override; |
![]() |
procedure SetEffects(const Value: array of TEffectNode); |
Properties
![]() |
property FdAmbientIntensity: TSFFloat read FFdAmbientIntensity; |
![]() |
property AmbientIntensity: Single read GetAmbientIntensity write SetAmbientIntensity; |
![]() |
property FdColor: TSFColor read FFdColor; |
![]() |
property Color: TCastleColorRGB read GetColor write SetColor; |
![]() |
property FdGlobal: TSFBool read FFdGlobal; |
![]() |
property Global: Boolean read GetGlobal write SetGlobal; |
![]() |
property FdIntensity: TSFFloat read FFdIntensity; |
![]() |
property Intensity: Single read GetIntensity write SetIntensity; |
![]() |
property FdOn: TSFBool read FFdOn; |
![]() |
property IsOn: Boolean read GetIsOn write SetIsOn; |
![]() |
property FdEffects: TMFNode read FFdEffects; |
![]() |
property FdShadowVolumes: TSFBool read FFdShadowVolumes; |
![]() |
property ShadowVolumes: Boolean read GetShadowVolumes write SetShadowVolumes; |
Description
Methods
![]() |
procedure BeforeTraverse(StateStack: TX3DGraphTraverseStateStack); override; |
|
This item has no description. Showing description inherited from TX3DNode.BeforeTraverse. Override these methods to determine what happens when given node is traversed during Traverse call. The main use of this is to operate on TX3DGraphTraverseStateStack. Remember to always call inherited when overriding. In Besides changing StateStack.Top fields, you can do push/pop on the stack. Remember that if you do StateStack.Push in Source: src/scene/x3d/x3dnodes_standard_lighting.inc (line 38). | |
![]() |
procedure MiddleTraverse(StateStack: TX3DGraphTraverseStateStack); override; |
|
This item has no description. Source: src/scene/x3d/x3dnodes_standard_lighting.inc (line 39). | |
![]() |
procedure GroupBeforeTraverse(const State: TX3DGraphTraverseState; var WasPointingDeviceSensor: Boolean); override; |
|
This item has no description. Showing description inherited from TAbstractChildNode.GroupBeforeTraverse. React when this node is processed as an immediate child of a grouping node, within grouping node's BeforeTraverse. Source: src/scene/x3d/x3dnodes_standard_lighting.inc (line 40). | |
![]() |
constructor Create(const AX3DName: string = ''; const ABaseUrl: String = ''); override; |
|
This item has no description. Showing description inherited from TX3DNode.Create. Constructor. Initializes various properties:
Source: src/scene/x3d/x3dnodes_standard_lighting.inc (line 47). | |
![]() |
function CreateLightInstance(const ParentTransformation: TTransformation): TLightInstance; |
|
Create TLightInstance record describing this light node under given State. Source: src/scene/x3d/x3dnodes_standard_lighting.inc (line 51). | |
![]() |
procedure UpdateLightInstanceTransformation( var LightInstance: TLightInstance; const ParentTransformation: TTransformation); |
|
Update TLightInstance record when lighting transformation changes. Assumes that LightInstance.Node = Self. This will set LightInstance.Transform properties, and recalculate all LightInstance properties based on ParentTransformation. Source: src/scene/x3d/x3dnodes_standard_lighting.inc (line 58). | |
![]() |
procedure UpdateLightInstance( var LightInstance: TLightInstance); virtual; |
|
Update TLightInstance record when lighting location/direction (and other properties precalculated on TLightInstance) change. Assumes that LightInstance.Node = Self. Source: src/scene/x3d/x3dnodes_standard_lighting.inc (line 65). | |
![]() |
function Scope: TLightScope; virtual; |
|
Light scope. Default implementation returns lsGlobal or lsLocal, depending on "global" field value (this follows VRML/X3D >= 2.0 rules). Source: src/scene/x3d/x3dnodes_standard_lighting.inc (line 70). | |
![]() |
function Transform: TMatrix4; |
|
Transformation of this light node, to world space. This accounts for transformation to scene space (TCastleScene) and then to viewport root (TCastleViewport.Items) space. Beware: In X3D, light nodes can be instantiated many times within the scene, with different transformations, so this transformation property should not be used in general. Use this only if you you know that light node occurs only once within the scene. For example shadow maps assume this, see [https://castle-engine.io/x3d_extensions.php#section_ext_shadow_maps . For this to work, we multiply transformation from last traverse (BeforeTraverse collects transformation to space) and then use TCastleTransform.WorldTransform. Call this only when scene is part of some TCastleViewport and thus its world transformation is known. Source: src/scene/x3d/x3dnodes_standard_lighting.inc (line 92). | |
![]() |
function InverseTransform: TMatrix4; |
|
This item has no description. Source: src/scene/x3d/x3dnodes_standard_lighting.inc (line 93). | |
![]() |
procedure CreateNode; override; |
|
Create node fields and events. Source: src/scene/x3d/auto_generated_node_helpers/x3dnodes_x3dlightnode.inc (line 41). | |
![]() |
class function ClassX3DType: String; override; |
|
This item has no description. Showing description inherited from TX3DNode.ClassX3DType. Node type name in VRML/X3D, for this class. Normal VRML/X3D node classes should override this to return something non-empty, and then X3DType automatically will return the same value. Empty for classes that don't have a hardcoded VRML/X3D node name, like a special TX3DUnknownNode. Such special classes should override then X3DType to return actual non-empty name there. You usually should call X3DType. The only use of this method is that it works on classes (it's "class function"), without needing at actual instance. Source: src/scene/x3d/auto_generated_node_helpers/x3dnodes_x3dlightnode.inc (line 42). | |
![]() |
procedure SetEffects(const Value: array of TEffectNode); |
|
This item has no description. Source: src/scene/x3d/auto_generated_node_helpers/x3dnodes_x3dlightnode.inc (line 78). | |
Properties
![]() |
property FdAmbientIntensity: TSFFloat read FFdAmbientIntensity; |
|
Internal wrapper for property Source: src/scene/x3d/auto_generated_node_helpers/x3dnodes_x3dlightnode.inc (line 46). | |
![]() |
property AmbientIntensity: Single read GetAmbientIntensity write SetAmbientIntensity; |
|
This item has no description. Source: src/scene/x3d/auto_generated_node_helpers/x3dnodes_x3dlightnode.inc (line 48). | |
![]() |
property FdColor: TSFColor read FFdColor; |
|
Internal wrapper for property Source: src/scene/x3d/auto_generated_node_helpers/x3dnodes_x3dlightnode.inc (line 52). | |
![]() |
property Color: TCastleColorRGB read GetColor write SetColor; |
|
This item has no description. Source: src/scene/x3d/auto_generated_node_helpers/x3dnodes_x3dlightnode.inc (line 54). | |
![]() |
property FdGlobal: TSFBool read FFdGlobal; |
|
Internal wrapper for property Source: src/scene/x3d/auto_generated_node_helpers/x3dnodes_x3dlightnode.inc (line 58). | |
![]() |
property Global: Boolean read GetGlobal write SetGlobal; |
|
This item has no description. Source: src/scene/x3d/auto_generated_node_helpers/x3dnodes_x3dlightnode.inc (line 60). | |
![]() |
property FdIntensity: TSFFloat read FFdIntensity; |
|
Internal wrapper for property Source: src/scene/x3d/auto_generated_node_helpers/x3dnodes_x3dlightnode.inc (line 64). | |
![]() |
property Intensity: Single read GetIntensity write SetIntensity; |
|
This item has no description. Source: src/scene/x3d/auto_generated_node_helpers/x3dnodes_x3dlightnode.inc (line 66). | |
![]() |
property FdOn: TSFBool read FFdOn; |
|
Internal wrapper for property Source: src/scene/x3d/auto_generated_node_helpers/x3dnodes_x3dlightnode.inc (line 70). | |
![]() |
property IsOn: Boolean read GetIsOn write SetIsOn; |
|
This item has no description. Source: src/scene/x3d/auto_generated_node_helpers/x3dnodes_x3dlightnode.inc (line 72). | |
![]() |
property FdEffects: TMFNode read FFdEffects; |
|
Internal wrapper for property Source: src/scene/x3d/auto_generated_node_helpers/x3dnodes_x3dlightnode.inc (line 76). | |
![]() |
property FdShadowVolumes: TSFBool read FFdShadowVolumes; |
|
Internal wrapper for property Source: src/scene/x3d/auto_generated_node_helpers/x3dnodes_x3dlightnode.inc (line 82). | |
![]() |
property ShadowVolumes: Boolean read GetShadowVolumes write SetShadowVolumes; |
|
This item has no description. Source: src/scene/x3d/auto_generated_node_helpers/x3dnodes_x3dlightnode.inc (line 84). | |
Generated by PasDoc 0.17.0.snapshot.

