Class TAbstractPositionalLightNode
Unit
Declaration
type TAbstractPositionalLightNode = class(TAbstractPunctualLightNode)
Description
Base class for all positional lights.
Source: scene/x3d/x3dnodes_standard_lighting.inc (line 195).
Hierarchy
- TObject
- TPersistent
- TX3DFileItem
- TX3DNode
- TAbstractNode
- TAbstractChildNode
- TAbstractLightNode
- TAbstractPunctualLightNode
- TAbstractPositionalLightNode
Overview
Methods
| Public | constructor Create(const AX3DName: string = ''; const ABaseUrl: String = ''); override; |
| Public | function DistanceNeededForAttenuation: boolean; |
| Public | function CalculateAttenuation(const DistanceToLight: Single): Single; overload; |
| Public | function HasAttenuation: boolean; |
| Public | function HasRadius: boolean; virtual; |
| Public | procedure UpdateLightInstance(var LightInstance: TLightInstance); override; |
| Public | function PositionAndDirection: TVector4; override; |
| Public | procedure CreateNode; override; |
| Public | class function ClassX3DType: String; override; |
Properties
| Public | property FdAttenuation: TSFVec3f read FFdAttenuation; |
| Public | property Attenuation: TVector3 read GetAttenuation write SetAttenuation; |
| Public | property FdLocation: TSFVec3f read FFdLocation; |
| Public | property Location: TVector3 read GetLocation write SetLocation; |
| Public | property FdRadius: TSFFloat read FFdRadius; |
| Public | property Radius: Single read GetRadius write SetRadius; |
Description
Methods
| Public | 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: scene/x3d/x3dnodes_standard_lighting.inc (line 197). | |
| Public | function DistanceNeededForAttenuation: boolean; |
|
Calculate light intensity drop because of the distance to the light. This follows the equation Since calculating the DistanceToLight for the Attenuation method may be time-consuming in some situations, you can check The DistanceToLight should be a distance in the light source local coordinate system. TODO: although our renderers currently ignore this: ray-tracer uses global coord system, OpenGL (fixed-function and shader) renderer uses eye coord system (should be equal to global coord system for normal cameras). Source: scene/x3d/x3dnodes_standard_lighting.inc (line 217). | |
| Public | function CalculateAttenuation(const DistanceToLight: Single): Single; overload; |
|
This item has no description. Source: scene/x3d/x3dnodes_standard_lighting.inc (line 218). | |
| Public | function HasAttenuation: boolean; |
|
Is attenuation relevant. When Source: scene/x3d/x3dnodes_standard_lighting.inc (line 223). | |
| Public | function HasRadius: boolean; virtual; |
|
Should the "radius" field be taken into account. Source: scene/x3d/x3dnodes_standard_lighting.inc (line 226). | |
| Public | procedure UpdateLightInstance(var LightInstance: TLightInstance); override; |
|
This item has no description. Showing description inherited from TAbstractLightNode.UpdateLightInstance. Update TLightInstance record when lighting location/direction (and other properties precalculated on TLightInstance) change. Assumes that LightInstance.Node = Self. Source: scene/x3d/x3dnodes_standard_lighting.inc (line 228). | |
| Public | function PositionAndDirection: TVector4; override; |
|
This item has no description. Showing description inherited from TAbstractPunctualLightNode.PositionAndDirection. Position and direction expressed in homogeneous coordinates. For positional lights, the last component is always 1. For directional lights, the last component is always 0. Note that this is expressed in the local light node coordinate system. Source: scene/x3d/x3dnodes_standard_lighting.inc (line 229). | |
| Public | procedure CreateNode; override; |
|
Create node fields and events. Source: scene/x3d/auto_generated_node_helpers/x3dnodes_x3dpositionallightnode.inc (line 35). | |
| Public | 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: scene/x3d/auto_generated_node_helpers/x3dnodes_x3dpositionallightnode.inc (line 36). | |
Properties
| Public | property FdAttenuation: TSFVec3f read FFdAttenuation; |
|
Internal wrapper for property Source: scene/x3d/auto_generated_node_helpers/x3dnodes_x3dpositionallightnode.inc (line 40). | |
| Public | property Attenuation: TVector3 read GetAttenuation write SetAttenuation; |
|
This item has no description. Source: scene/x3d/auto_generated_node_helpers/x3dnodes_x3dpositionallightnode.inc (line 42). | |
| Public | property FdLocation: TSFVec3f read FFdLocation; |
|
Internal wrapper for property Source: scene/x3d/auto_generated_node_helpers/x3dnodes_x3dpositionallightnode.inc (line 46). | |
| Public | property Location: TVector3 read GetLocation write SetLocation; |
|
This item has no description. Source: scene/x3d/auto_generated_node_helpers/x3dnodes_x3dpositionallightnode.inc (line 48). | |
| Public | property FdRadius: TSFFloat read FFdRadius; |
|
Internal wrapper for property Source: scene/x3d/auto_generated_node_helpers/x3dnodes_x3dpositionallightnode.inc (line 52). | |
| Public | property Radius: Single read GetRadius write SetRadius; |
|
This item has no description. Source: scene/x3d/auto_generated_node_helpers/x3dnodes_x3dpositionallightnode.inc (line 54). | |
Generated by PasDoc 0.17.0.snapshot.