Class TFBU_CustomEmitter

DescriptionHierarchyFieldsMethodsProperties

Unit

Declaration

type TFBU_CustomEmitter = class(TFBU_Effect)

Description

Abstract emitter class

Hierarchy

Overview

Fields

Protected FElapsedTime: Single;
Protected FFillDelay: Single;
Protected FLODFactor: Single;
Protected FLODDistance: Single;
Protected FEmitterLifeSpan: Single;
Protected FAutoRefill: Boolean;
Protected FCountAsMaximum: Boolean;
Protected FParticleCount: Integer;
Protected FMinLifeSpan: Single;
Protected FMaxLifeSpan: Single;
Protected FVelocityOrientation: TFB_Vectorf3;
Protected FTransVlOrientation: TFB_Vectorf3;
Protected FVelocityMagnitude: Single;
Protected FVelocityRot: TFB_Matrixf3;
Protected FVelocityOffset: TFB_Vectorf3;
Protected FVelocityAmplitude: TFB_Vectorf3;
Protected FVelocityMode: Cardinal;
Protected FStaticOrientation: Boolean;
Protected FHasContext: Boolean;
Protected FContext: TFB_Context;
Protected FRenderPasses: Array of TFBU_Renderpass;

Methods

Protected procedure SetContext(AValue: TFB_Context);
Protected procedure SetAutoRefill(AValue: Boolean);
Protected function GetMissingParticleCount: Integer;
Protected function GetVelocity(AOrigin: TFB_Vectorf3): TFB_Vectorf3;
Public constructor Create; override;
Public destructor Destroy; override;
Public procedure ClearRenderpasses;
Public procedure AddRenderpass(ASrc, ADst: Cardinal);
Public procedure SetVelocityOrientation(x, y, z: Single); overload;
Public procedure SetVelocityOrientation(ARef: Pointer); overload;
Public procedure SetVelocityAmplitude(x, y, z: Single); overload;
Public procedure SetVelocityAmplitude(ARef: Pointer); overload;
Public procedure SetVelocityOffset(x, y, z: Single); overload;
Public procedure SetVelocityOffset(ARef: Pointer); overload;
Public procedure SetVelocityMatrix(ARef: Pointer);
Public procedure SetWind(x, y, z: Single); override;
Public procedure SetWind(ARef: Pointer); override;
Public procedure Refill; virtual; abstract;
Public procedure Reset; virtual;
Public procedure RestartTimer;
Public procedure Update(ADeltaTime: Single); override;
Public procedure Render(APrepareGL: Boolean); override;
Public procedure SetVertexStorage(AVertexStorage: Cardinal); override;

Properties

Public property FillDelay: Single read FFillDelay write FFillDelay;
Public property EmitterLifeSpan: Single read FEmitterLifeSpan write FEmitterLifeSpan;
Public property AutoRefill: Boolean read FAutoRefill write SetAutoRefill;
Public property CountAsMaximum: Boolean read FCountAsMaximum write FCountAsMaximum;
Public property LODDistance: Single read FLODDistance write FLODDistance;
Public property UseFrustum: Boolean read FUseFrustum write FUseFrustum;
Public property ParticleCount: Integer read FParticleCount write FParticleCount;
Public property MinLifeSpan: Single read FMinLifeSpan write FMinLifeSpan;
Public property MaxLifeSpan: Single read FMaxLifeSpan write FMaxLifeSpan;
Public property VelocityMagnitude: Single read FVelocityMagnitude write FVelocityMagnitude;
Public property StaticOrientation: Boolean read FStaticOrientation write FStaticOrientation;
Public property VelocityMode: Cardinal read FVelocityMode write FVelocityMode;
Public property Context: TFB_Context read FContext write SetContext;

Description

Fields

Protected FElapsedTime: Single;
 
Protected FFillDelay: Single;
 
Protected FLODFactor: Single;
 
Protected FLODDistance: Single;
 
Protected FEmitterLifeSpan: Single;
 
Protected FAutoRefill: Boolean;
 
Protected FCountAsMaximum: Boolean;
 
Protected FParticleCount: Integer;
 
Protected FMinLifeSpan: Single;
 
Protected FMaxLifeSpan: Single;
 
Protected FVelocityOrientation: TFB_Vectorf3;
 
Protected FTransVlOrientation: TFB_Vectorf3;
 
Protected FVelocityMagnitude: Single;
 
Protected FVelocityRot: TFB_Matrixf3;
 
Protected FVelocityOffset: TFB_Vectorf3;
 
Protected FVelocityAmplitude: TFB_Vectorf3;
 
Protected FVelocityMode: Cardinal;
 
Protected FStaticOrientation: Boolean;
 
Protected FHasContext: Boolean;
 
Protected FContext: TFB_Context;
 
Protected FRenderPasses: Array of TFBU_Renderpass;
 

Methods

Protected procedure SetContext(AValue: TFB_Context);
 
Protected procedure SetAutoRefill(AValue: Boolean);
 
Protected function GetMissingParticleCount: Integer;
 
Protected function GetVelocity(AOrigin: TFB_Vectorf3): TFB_Vectorf3;
 
Public constructor Create; override;

Class constructor

Public destructor Destroy; override;

Class destructor

Public procedure ClearRenderpasses;

Removes all renderpasses

Public procedure AddRenderpass(ASrc, ADst: Cardinal);

Adds a renderpass.

Parameters
ASrc
OpenGL blending source function
ADst
OpenGL blending destination function
Public procedure SetVelocityOrientation(x, y, z: Single); overload;

Sets a relative or absolute point from which the particles will fly away.

See also
TFBU_CustomEmitter.StaticOrientation
Public procedure SetVelocityOrientation(ARef: Pointer); overload;

Sets a relative or absolute point from which the particles will fly away. which represent the position.

Parameters
ARef
Pointer to a sequence of three Single values in xyz format,
See also
TFBU_CustomEmitter.StaticOrientation
Public procedure SetVelocityAmplitude(x, y, z: Single); overload;

Maximum value (+-value/2) which the random value can have.in the specific coordinates.

Public procedure SetVelocityAmplitude(ARef: Pointer); overload;

Maximum value (+-value/2) which the random value can have.in the specific coordinates. which represent the position.

Parameters
Pointer
to a sequence of three Single values in xyz format,
Public procedure SetVelocityOffset(x, y, z: Single); overload;

Value which will be added to the random value in the specific corrdinare.

Public procedure SetVelocityOffset(ARef: Pointer); overload;

Value which will be added to the random value in the specific corrdinare. which represent the position.

Parameters
ARef
Pointer to a sequence of three Single values in xyz format,
Public procedure SetVelocityMatrix(ARef: Pointer);

Rotation matrix, which is used to rotate the velocity vector. 3x3 rotation matrix.

Parameters
ARef
Pointer to a sequence of 9 Single values, which represent an OpenGL compatible
Public procedure SetWind(x, y, z: Single); override;
 
See also
TFBU_Effect.SetWind
Public procedure SetWind(ARef: Pointer); override;
 
See also
TFBU_Effect.SetWind
Public procedure Refill; virtual; abstract;

Refills the context to the current particle count.

Public procedure Reset; virtual;

Resets the emitter to default values.

Public procedure RestartTimer;

Restarts the FillDelay-Timer.

Public procedure Update(ADeltaTime: Single); override;
 
See also
TFBU_Effect.Update
Public procedure Render(APrepareGL: Boolean); override;
 
See also
TFBU_Effect.Render
Public procedure SetVertexStorage(AVertexStorage: Cardinal); override;
 
See also
TFBU_Effect.SetVertexStorage

Properties

Public property FillDelay: Single read FFillDelay write FFillDelay;

Time until the full particle count will be reached

Public property EmitterLifeSpan: Single read FEmitterLifeSpan write FEmitterLifeSpan;

Time until the emitter will destroy itself (0 = infinite lifespan).

Public property AutoRefill: Boolean read FAutoRefill write SetAutoRefill;

If true, the context will automatically be refilled with each update. Default: True

Public property CountAsMaximum: Boolean read FCountAsMaximum write FCountAsMaximum;

If true, the emitter will add at most ParticleCount particles to the context. Default: True

Public property LODDistance: Single read FLODDistance write FLODDistance;

Distance after which the particle count will reach zero (0 = full particle count on each distance).

Public property UseFrustum: Boolean read FUseFrustum write FUseFrustum;

Only necessary if used with TFB_EffectManager. If true, the effect managers frustum calculation will be used.

Public property ParticleCount: Integer read FParticleCount write FParticleCount;

Maximum particle count

Public property MinLifeSpan: Single read FMinLifeSpan write FMinLifeSpan;

Minimal lifespan of a particle

Public property MaxLifeSpan: Single read FMaxLifeSpan write FMaxLifeSpan;

Maxmial lifespan of a particle

Public property VelocityMagnitude: Single read FVelocityMagnitude write FVelocityMagnitude;

Length of the velocity vector

Public property StaticOrientation: Boolean read FStaticOrientation write FStaticOrientation;

If true, the Velocity Orientation Point will be interpretated as absolute, otherwise as relative to the emitter position.

Public property VelocityMode: Cardinal read FVelocityMode write FVelocityMode;

The emitters velocity mode.

See also
FB_VELOCITYMODE_ORIENTATION
FB_VELOCITYMODE_RANDOM
Public property Context: TFB_Context read FContext write SetContext;

The context on which will be operated on.


Generated by PasDoc 0.11.0 on 2009-06-29 23:12:34