Castle Game Engine: X3DNodes: Class TSpotLightNode

# Class TSpotLightNode
Description | Hierarchy | Fields | Methods | Properties
## Unit X3DNodes ## Declaration `type TSpotLightNode = class(TAbstractPositionalLightNode)` ## Description no description available, TAbstractPositionalLightNode description follows no description available, TAbstractLightNode description follows Base class for all VRML / X3D light nodes. Note that even the old VRML 1.0 light nodes inherit from this. Although they interpret some bits differently ("ambientIntensity" < 0 has special meaning). But most of the fields behave identically, they only have different default values. ## Hierarchy TPersistent TNonRefCountedInterfacedPersistent TX3DFileItem TX3DNode TAbstractNode TAbstractChildNode TAbstractLightNode TAbstractPositionalLightNode TSpotLightNode ## Overview ### Methods
| `procedure CreateNode; override;`
| `class function ClassNodeTypeName: string; override;`
| `class function URNMatching(const URN: string): boolean; override;`
| `class function ForVRMLVersion(const Version: TX3DVersion): boolean; override;`
| `procedure UpdateLightInstance(var LightInstance: TLightInstance); override;`
| `function ProjectionMatrix: TMatrix4Single; override;`
| `function ModelviewMatrix: TMatrix4Single; override;`
| `function ModelviewRotationMatrix: TMatrix4Single; override;`
| `function ProjectionLocationLocal: TVector3Single; override;`
| `function ProjectionDirectionLocal: TVector3Single; override;`
| `procedure Box3DDistances(const Box: TBox3D; out MinDistance, MaxDistance: Single); override;`
| `function SpotCutoffDeg: Single;`
| `function SpotCosCutoff: Single;`
| `function SpotExponentApproximate: Single;`
### Properties
| `property FdBeamWidth: TSFFloat read FFdBeamWidth;`
| `property FdCutOffAngle: TSFFloat read FFdCutOffAngle;`
| `property FdDirection: TSFVec3f read FFdDirection;`
| `property FdProjectionAngle: TSFFloat read FFdProjectionAngle;`
## Description ### Methods
| `procedure CreateNode; override;`
| `class function ClassNodeTypeName: string; override;`
| `class function URNMatching(const URN: string): boolean; override;`
| `class function ForVRMLVersion(const Version: TX3DVersion): boolean; override;`
| `procedure UpdateLightInstance(var LightInstance: TLightInstance); override;`
| `function ProjectionMatrix: TMatrix4Single; override;`
| `function ModelviewMatrix: TMatrix4Single; override;`
| `function ModelviewRotationMatrix: TMatrix4Single; override;`
| `function ProjectionLocationLocal: TVector3Single; override;`
| `function ProjectionDirectionLocal: TVector3Single; override;`
| `procedure Box3DDistances(const Box: TBox3D; out MinDistance, MaxDistance: Single); override;`
| `function SpotCutoffDeg: Single;`
Spot cutoff angle (based on cutOffAngle). Expressed in degrees, clamped to correct range (since user can input any value in VRML, and also conversion radians -> degrees could accidentally raise value slightly > 90, so cutOffAngle = 1.5708 is in degrees 90.0002104591, which would cause OpenGL fixed-function error).
| `function SpotCosCutoff: Single;`
| `function SpotExponentApproximate: Single;`
Approximate spot exponent that could be used to render this spot light. Do not use this, unless you really don't have to. X3D spot light should have a linear fallback, from beamWidth to cutOffAngle, and there is no sensible way to approximate it by an exponent. Use this only if you have to render spot light with exponent, e.g. for OpenGL fixed-function pipeline.
### Properties
| `property FdBeamWidth: TSFFloat read FFdBeamWidth;`
| `property FdCutOffAngle: TSFFloat read FFdCutOffAngle;`
| `property FdDirection: TSFVec3f read FFdDirection;`
| `property FdProjectionAngle: TSFFloat read FFdProjectionAngle;`
Generated by PasDoc 0.13.0 on 2015-06-15 04:43:15