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 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;
Public procedure CreateNode; override;
Public class function ClassX3DType: string; override;

Properties

Public property FdBeamWidth: TSFFloat read FFdBeamWidth;
Public property BeamWidth: Single read GetBeamWidth write SetBeamWidth;
Public property FdCutOffAngle: TSFFloat read FFdCutOffAngle;
Public property CutOffAngle: Single read GetCutOffAngle write SetCutOffAngle;
Public property FdDirection: TSFVec3f read FFdDirection;
Public property Direction: TVector3 read GetDirection write SetDirection;
Public property FdProjectionAngle: TSFFloat read FFdProjectionAngle;
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 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.

Public procedure CreateNode; override;
 
Public class function ClassX3DType: string; override;
 

Properties

Public property FdBeamWidth: TSFFloat read FFdBeamWidth;

Internal wrapper for property BeamWidth. This wrapper API may change, we advise to access simpler BeamWidth instead.

Public property BeamWidth: Single read GetBeamWidth write SetBeamWidth;
 
Public property FdCutOffAngle: TSFFloat read FFdCutOffAngle;

Internal wrapper for property CutOffAngle. This wrapper API may change, we advise to access simpler CutOffAngle instead.

Public property CutOffAngle: Single read GetCutOffAngle write SetCutOffAngle;
 
Public property FdDirection: TSFVec3f read FFdDirection;

Internal wrapper for property Direction. This wrapper API may change, we advise to access simpler Direction instead.

Public property Direction: TVector3 read GetDirection write SetDirection;
 
Public property FdProjectionAngle: TSFFloat read FFdProjectionAngle;

Internal wrapper for property ProjectionAngle. This wrapper API may change, we advise to access simpler ProjectionAngle instead.

Public property ProjectionAngle: Single read GetProjectionAngle write SetProjectionAngle;
 

Generated by PasDoc 0.16.0.