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); |
|
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 ProjectionSceneLocation: TVector3
read GetProjectionSceneLocation
write SetProjectionSceneLocation; |
|
property ProjectionSceneDirection: TVector3
read GetProjectionSceneDirection
write SetProjectionSceneDirection; |
|
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; |
|
procedure SetProjectionLocationLocal(const Value: TVector3); virtual; |
|
function GetProjectionDirectionLocal: TVector3; virtual; |
|
procedure SetProjectionDirectionLocal(const Value: TVector3); virtual; |
|
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; |
|
function ModelviewRotationMatrix: TMatrix4; virtual; |
|
function GetProjectorMatrix: TMatrix4; |
|
procedure GetView(out Pos, Dir, Side, Up: TVector3); |
|
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; |
|
class function ClassX3DType: string; override; |
|
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; |
|
property ProjectionSceneLocation: TVector3
read GetProjectionSceneLocation
write SetProjectionSceneLocation; |
|
property ProjectionSceneDirection: TVector3
read GetProjectionSceneDirection
write SetProjectionSceneDirection; |
|
property FdShadows: TSFBool read FFdShadows; |
|
Internal wrapper for property Shadows. This wrapper API may change, we advise to access simpler Shadows instead. |
property Shadows: Boolean read GetShadows write SetShadows; |
|
property FdShadowVolumesMain: TSFBool read FFdShadowVolumesMain; |
|
Internal wrapper for property ShadowVolumesMain. This wrapper API may change, we advise to access simpler ShadowVolumesMain instead. |
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 ShowProxyGeometry. This wrapper API may change, we advise to access simpler ShowProxyGeometry instead. |
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 ProjectionNear. This wrapper API may change, we advise to access simpler ProjectionNear instead. |
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 ProjectionFar. This wrapper API may change, we advise to access simpler ProjectionFar instead. |
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 Up. This wrapper API may change, we advise to access simpler Up instead. |
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 DefaultShadowMap. This wrapper API may change, we advise to access simpler DefaultShadowMap instead. |
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.