Class TSpotLightNode_1

Unit

Declaration

type TSpotLightNode_1 = class(TAbstractPositionalLightNode)

Description

No description available, ancestor TAbstractPositionalLightNode description follows

Base class for all positional lights.

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 function SpotExponent: Single;
Public function SpotCutoffDeg: Single;
Public function SpotCosCutoff: Single;
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 HasRadius: boolean; override;
Public function Scope: TLightScope; override;

Properties

Public property FdDirection: TSFVec3f read FFdDirection;
Public property FdDropOffRate: TSFFloat read FFdDropOffRate;
Public property FdCutOffAngle: TSFFloat read FFdCutOffAngle;

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 function SpotExponent: Single;

Spot exponent (based on dropOffRate). Not normalized (i.e. is a real exponent, in VRML 1.0 expresses in [0..1] range to mean exponents [0..128]). Clamp to correct range.

Public function SpotCutoffDeg: Single;

Spot cutoff angle (based on cutOffAngle).

Expressed in degrees, clamped to correct range (see TSpotLightNode.SpotCutoffDeg for reasons). (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 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 HasRadius: boolean; override;
 
Public function Scope: TLightScope; override;
 

Properties

Public property FdDirection: TSFVec3f read FFdDirection;
 
Public property FdDropOffRate: TSFFloat read FFdDropOffRate;
 
Public property FdCutOffAngle: TSFFloat read FFdCutOffAngle;
 

Generated by PasDoc 0.16.0.