Class TCastleSpotLight
Unit
Declaration
type TCastleSpotLight = class(TCastlePunctualLight)
Description
Spot light shines a cone of light, from a given location, along a direction (-Z in local coordinates).
See X3D SpotLight specification for various details.
Hierarchy
- TObject
- TPersistent
- TComponent
- TCastleComponent
- TCastleTransform
- TCastleAbstractLight
- TCastlePunctualLight
- TCastleSpotLight
Overview
Fields
nested const DefaultBeamWidth = Pi * 3 / 16; |
|
nested const DefaultCutOffAngle = Pi / 4; |
|
nested const DefaultRadius = 100.0; |
|
nested const DefaultIntensity = 100.0; |
Methods
constructor Create(AOwner: TComponent); override; |
|
destructor Destroy; override; |
|
function PropertySections(const PropertyName: String): TPropertySections; override; |
Properties
property Color: TCastleColorRGB read FColor write SetColor; |
|
property Attenuation: TVector3 read FAttenuation write SetAttenuation; |
|
property Intensity: Single read FIntensity write SetIntensity default DefaultIntensity; |
|
property Radius: Single read FRadius write SetRadius default DefaultRadius; |
|
property BeamWidth: Single read FBeamWidth write SetBeamWidth default DefaultBeamWidth; |
|
property CutOffAngle: Single read FCutOffAngle write SetCutOffAngle default DefaultCutOffAngle; |
|
property ColorPersistent: TCastleColorRGBPersistent read FColorPersistent ; |
|
property AttenuationPersistent: TCastleVector3Persistent read FAttenuationPersistent ; |
Description
Fields
nested const DefaultBeamWidth = Pi * 3 / 16; |
|
This item has no description. |
nested const DefaultCutOffAngle = Pi / 4; |
|
This item has no description. |
nested const DefaultRadius = 100.0; |
|
This item has no description. |
nested const DefaultIntensity = 100.0; |
|
This item has no description. |
Methods
constructor Create(AOwner: TComponent); override; |
|
This item has no description. |
destructor Destroy; override; |
|
This item has no description. |
function PropertySections(const PropertyName: String): TPropertySections; override; |
|
This item has no description. Showing description inherited from TCastleComponent.PropertySections. Section where to show property in the editor. |
Properties
property Color: TCastleColorRGB read FColor write SetColor; |
|
Light color shining over surface. By default white. |
property Attenuation: TVector3 read FAttenuation write SetAttenuation; |
|
Attenuation determines how quickly light intensity falls off with distance. By default Vector3(0, 0, 1), which means light falls off according to inverse square law. |
property Intensity: Single read FIntensity write SetIntensity default DefaultIntensity; |
|
Intensity, multiplied by color. Can be anything >= 0. Intuitively, how bright is the light. Following glTF lights specification, the spot light's intensity physical unit is luminous intensity in candela (lm/sr). This is exactly like TCastlePointLight, but different than TCastleDirectionalLight. The default intensity is 100.0, which is a reasonable value for a point/spot light, it remains bright for a few meters around the light source. |
property Radius: Single read FRadius write SetRadius default DefaultRadius; |
|
Light doesn't shine at all outside of a sphere with this radius. For performance reasons, set this as small as possible, to avoid even considering this light at further shapes. Set to -1 to have no limit. |
property BeamWidth: Single read FBeamWidth write SetBeamWidth default DefaultBeamWidth; |
|
Angle within which the spot light has maximum intensity. If this is >= CutOffAngle (which is the default case), then the light has maximum intensity within CutOffAngle, and zero intensity outside CutOffAngle, and there it no smooth falloff. You need to make |
property CutOffAngle: Single read FCutOffAngle write SetCutOffAngle default DefaultCutOffAngle; |
|
Angle within which the spot light has any intensity. If BeamWidth < The light intensity is always zero outside of |
property ColorPersistent: TCastleColorRGBPersistent read FColorPersistent ; |
|
Color that can be visually edited in Castle Game Engine Editor, Lazarus and Delphi. Normal user code does not need to deal with this, instead read or write Color directly. See also
|
property AttenuationPersistent: TCastleVector3Persistent read FAttenuationPersistent ; |
|
Attenuation that can be visually edited in Castle Game Engine Editor, Lazarus and Delphi. Normal user code does not need to deal with this, instead read or write Attenuation directly. See also
|
Generated by PasDoc 0.16.0-snapshot.