Class TAbstractPunctualLightNode
Unit
Declaration
type TAbstractPunctualLightNode = class(TAbstractLightNode)
Description
Base class for all "punctual" light nodes (that have a position and/or direction).
Hierarchy
- TObject
- TPersistent
- TX3DFileItem
- TX3DNode
- TAbstractNode
- TAbstractChildNode
- TAbstractLightNode
- TAbstractPunctualLightNode
Overview
Methods
function GetProjectionLocationLocal: TVector3; virtual; |
|
procedure SetProjectionLocationLocal(const Value: TVector3); virtual; |
|
function GetProjectionDirectionLocal: TVector3; virtual; |
|
procedure SetProjectionDirectionLocal(const Value: TVector3); virtual; |
|
function ProjectionMatrix: TMatrix4; virtual; |
|
function ModelviewMatrix: TMatrix4; virtual; |
|
function ModelviewRotationMatrix: TMatrix4; virtual; |
|
function GetProjectorMatrix: TMatrix4; |
|
procedure GetView(out Pos, Dir, Side, Up: TVector3); overload; |
|
procedure GetView(out View: TViewVectors); overload; |
|
procedure Box3DDistances(const Box: TBox3D; out MinDistance, MaxDistance: Single); virtual; abstract; |
|
function PositionAndDirection: TVector4; virtual; abstract; |
|
procedure CreateNode; override; |
|
class function ClassX3DType: String; override; |
Properties
property ProjectionLocationLocal: TVector3
read GetProjectionLocationLocal
write SetProjectionLocationLocal; |
|
property ProjectionDirectionLocal: TVector3
read GetProjectionDirectionLocal
write SetProjectionDirectionLocal; |
|
property ProjectionWorldLocation: TVector3
read GetProjectionWorldLocation
write SetProjectionWorldLocation; |
|
property ProjectionWorldDirection: TVector3
read GetProjectionWorldDirection
write SetProjectionWorldDirection; |
|
property FdShadows: TSFBool read FFdShadows; |
|
property Shadows: Boolean read GetShadows write SetShadows; |
|
property FdShadowVolumesMain: TSFBool read FFdShadowVolumesMain; |
|
property ShadowVolumesMain: Boolean read GetShadowVolumesMain write SetShadowVolumesMain; |
|
property FdShowProxyGeometry: TSFBool read FFdShowProxyGeometry; |
|
property ShowProxyGeometry: Boolean read GetShowProxyGeometry write SetShowProxyGeometry; |
|
property FdProjectionNear: TSFFloat read FFdProjectionNear; |
|
property ProjectionNear: Single read GetProjectionNear write SetProjectionNear; |
|
property FdProjectionFar: TSFFloat read FFdProjectionFar; |
|
property ProjectionFar: Single read GetProjectionFar write SetProjectionFar; |
|
property FdUp: TSFVec3f read FFdUp; |
|
property Up: TVector3 read GetUp write SetUp; |
|
property FdDefaultShadowMap: TSFNode read FFdDefaultShadowMap; |
|
property DefaultShadowMap: TGeneratedShadowMapNode read GetDefaultShadowMap write SetDefaultShadowMap; |
Description
Methods
function GetProjectionLocationLocal: TVector3; virtual; |
|
This item has no description. |
procedure SetProjectionLocationLocal(const Value: TVector3); virtual; |
|
This item has no description. |
function GetProjectionDirectionLocal: TVector3; virtual; |
|
This item has no description. |
procedure SetProjectionDirectionLocal(const Value: TVector3); virtual; |
|
This item has no description. |
function ProjectionMatrix: TMatrix4; virtual; |
|
Matrices for rendering shadow map from this light. Identity in this class, override for subclasses able to do shadow mapping. |
function ModelviewMatrix: TMatrix4; virtual; |
|
This item has no description. |
function ModelviewRotationMatrix: TMatrix4; virtual; |
|
This item has no description. |
function GetProjectorMatrix: TMatrix4; |
|
This item has no description. |
procedure GetView(out Pos, Dir, Side, Up: TVector3); overload; |
|
This item has no description. |
procedure GetView(out View: TViewVectors); overload; |
|
This item has no description. |
procedure Box3DDistances(const Box: TBox3D; out MinDistance, MaxDistance: Single); virtual; abstract; |
|
Calculate distances between the given Box and this light source. This is intended to capture the depth distances where the box resides, useful for calculating e.g. depth ranges to capture in the shadow maps. Depending on light source type, various distance measures may be used, appropriate to light sources projection. Always MinDistance <= MaxDistance. They may be negative when we measure along the light's direction. Exceptions raised
|
function PositionAndDirection: TVector4; virtual; abstract; |
|
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. |
procedure CreateNode; override; |
|
Create node fields and events. |
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. |
Properties
property ProjectionLocationLocal: TVector3
read GetProjectionLocationLocal
write SetProjectionLocationLocal; |
|
Light location, direction and up vectors, for projection. Useful when you think of lights as cameras (for shadow maps). ProjectionDirectionLocal will always be exactly zero for a PointLight (that doesn't have a direction). The GetView returns vectors in global (scene) space. It guarantees that Direction, Side and Up are normalized and orthogonal to each other. |
property ProjectionDirectionLocal: TVector3
read GetProjectionDirectionLocal
write SetProjectionDirectionLocal; |
|
This item has no description. |
property ProjectionWorldLocation: TVector3
read GetProjectionWorldLocation
write SetProjectionWorldLocation; |
|
This item has no description. |
property ProjectionWorldDirection: TVector3
read GetProjectionWorldDirection
write SetProjectionWorldDirection; |
|
This item has no description. |
property FdShadows: TSFBool read FFdShadows; |
|
Internal wrapper for property |
property Shadows: Boolean read GetShadows write SetShadows; |
|
This item has no description. |
property FdShadowVolumesMain: TSFBool read FFdShadowVolumesMain; |
|
Internal wrapper for property |
property ShadowVolumesMain: Boolean read GetShadowVolumesMain write SetShadowVolumesMain; |
|
Does this light determine shadows (when using shadow volumes). Ignored if not ShadowVolumes. |
property FdShowProxyGeometry: TSFBool read FFdShowProxyGeometry; |
|
Internal wrapper for property |
property ShowProxyGeometry: Boolean read GetShowProxyGeometry write SetShowProxyGeometry; |
|
InstantReality extension, see [http://instant-reality.com/documentation/nodetype/Light/]. |
property FdProjectionNear: TSFFloat read FFdProjectionNear; |
|
Internal wrapper for property |
property ProjectionNear: Single read GetProjectionNear write SetProjectionNear; |
|
Projection near, for shadow maps. See https://castle-engine.io/x3d_extensions_shadow_maps.php |
property FdProjectionFar: TSFFloat read FFdProjectionFar; |
|
Internal wrapper for property |
property ProjectionFar: Single read GetProjectionFar write SetProjectionFar; |
|
Projection far, for shadow maps. See https://castle-engine.io/x3d_extensions_shadow_maps.php |
property FdUp: TSFVec3f read FFdUp; |
|
Internal wrapper for property |
property Up: TVector3 read GetUp write SetUp; |
|
View up vector, for shadow maps. See https://castle-engine.io/x3d_extensions_shadow_maps.php |
property FdDefaultShadowMap: TSFNode read FFdDefaultShadowMap; |
|
Internal wrapper for property |
property DefaultShadowMap: TGeneratedShadowMapNode read GetDefaultShadowMap write SetDefaultShadowMap; |
|
Shadow map used by this light source. See https://castle-engine.io/x3d_extensions_shadow_maps.php |
Generated by PasDoc 0.16.0-snapshot.