Class TSpotLightNode

Unit

Declaration

type TSpotLightNode = class(TAbstractPositionalLightNode)

Description

Light source that emits light from a specific point along a specific direction constrained within a cone.

Hierarchy

Overview

Methods

Protected function GetProjectionLocationLocal: TVector3; override;
Protected procedure SetProjectionLocationLocal(const Value: TVector3); override;
Protected function GetProjectionDirectionLocal: TVector3; override;
Protected procedure SetProjectionDirectionLocal(const Value: TVector3); override;
Public procedure CreateNode; override;
Public class function ClassX3DType: string; override;
Public class function URNMatching(const URN: string): boolean; override;
Public class function ForVRMLVersion(const Version: TX3DVersion): boolean; override;
Public procedure UpdateLightInstance(var LightInstance: TLightInstance); override;
Public function ProjectionMatrix: TMatrix4; override;
Public function ModelviewMatrix: TMatrix4; override;
Public function ModelviewRotationMatrix: TMatrix4; override;
Public procedure Box3DDistances(const Box: TBox3D; out MinDistance, MaxDistance: Single); override;
Public function SpotCutoffDeg: Single;
Public function SpotCosCutoff: Single;
Public function SpotExponentApproximate: Single;

Properties

Public property FdBeamWidth: TSFFloat read FFdBeamWidth;
Public property FdCutOffAngle: TSFFloat read FFdCutOffAngle;
Public property FdDirection: TSFVec3f read FFdDirection;
Public property FdProjectionAngle: TSFFloat read FFdProjectionAngle;
Public property Attenuation: TVector3 read GetAttenuation write SetAttenuation;
Public property BeamWidth: Single read GetBeamWidth write SetBeamWidth;
Public property CutOffAngle: Single read GetCutOffAngle write SetCutOffAngle;
Public property Direction: TVector3 read GetDirection write SetDirection;
Public property Location: TVector3 read GetLocation write SetLocation;
Public property Radius: Single read GetRadius write SetRadius;
Public property ProjectionAngle: Single read GetProjectionAngle write SetProjectionAngle;

Description

Methods

Protected function GetProjectionLocationLocal: TVector3; override;
 
Protected procedure SetProjectionLocationLocal(const Value: TVector3); override;
 
Protected function GetProjectionDirectionLocal: TVector3; override;
 
Protected procedure SetProjectionDirectionLocal(const Value: TVector3); override;
 
Public procedure CreateNode; override;
 
Public class function ClassX3DType: string; override;
 
Public class function URNMatching(const URN: string): boolean; override;
 
Public class function ForVRMLVersion(const Version: TX3DVersion): boolean; override;
 
Public procedure UpdateLightInstance(var LightInstance: TLightInstance); override;
 
Public function ProjectionMatrix: TMatrix4; override;
 
Public function ModelviewMatrix: TMatrix4; override;
 
Public function ModelviewRotationMatrix: TMatrix4; override;
 
Public procedure Box3DDistances(const Box: TBox3D; out MinDistance, MaxDistance: Single); override;
 
Public 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).

Public function SpotCosCutoff: Single;
 
Public function SpotExponentApproximate: Single;

Approximate spot exponent that could be used to render this spot light. Do not use this, unless you really 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

Public property FdBeamWidth: TSFFloat read FFdBeamWidth;
 
Public property FdCutOffAngle: TSFFloat read FFdCutOffAngle;
 
Public property FdDirection: TSFVec3f read FFdDirection;
 
Public property FdProjectionAngle: TSFFloat read FFdProjectionAngle;
 
Public property Attenuation: TVector3 read GetAttenuation write SetAttenuation;
 
Public property BeamWidth: Single read GetBeamWidth write SetBeamWidth;
 
Public property CutOffAngle: Single read GetCutOffAngle write SetCutOffAngle;
 
Public property Direction: TVector3 read GetDirection write SetDirection;
 
Public property Location: TVector3 read GetLocation write SetLocation;
 
Public property Radius: Single read GetRadius write SetRadius;
 
Public property ProjectionAngle: Single read GetProjectionAngle write SetProjectionAngle;
 

Generated by PasDoc 0.15.0.