| Description | Hierarchy | Fields | Methods | Properties |
type TFBU_Effect = class(TObject)
This class is meant to be the ancestor class of an effect implementation to use with the manager. Therefore, the Update, Render and SetRenderMode methods are abstract and must be overwritten in your effect implementation.
![]() |
FPosition: TFB_Vectorf3; |
![]() |
FMinExtremePoint: TFB_Vectorf3; |
![]() |
FMaxExtremePoint: TFB_Vectorf3; |
![]() |
FWind: TFB_Vectorf3; |
![]() |
FRotationMatrix: TFB_Matrixf3; |
![]() |
FFinishedCallback: TFBU_NotifyEvent; |
![]() |
FPreUpdateCallback: TFBU_NotifyEvent; |
![]() |
FPostUpdateCallback: TFBU_NotifyEvent; |
![]() |
FPreRenderCallback: TFBU_NotifyEvent; |
![]() |
FPostRenderCallback: TFBU_NotifyEvent; |
![]() |
FTerminateEffect: Boolean; |
![]() |
FUseFrustum: Boolean; |
![]() |
constructor Create; virtual; |
![]() |
procedure SetMatrix(ARef: Pointer); |
![]() |
procedure SetPosition(x, y, z: Single); overload; |
![]() |
procedure SetPosition(ARef: Pointer); overload; |
![]() |
procedure SetWind(x, y, z: Single); overload; virtual; |
![]() |
procedure SetWind(ARef: Pointer); overload; virtual; |
![]() |
procedure Update(ADeltaTime: Single); virtual; abstract; |
![]() |
procedure Render(APrepareGL: Boolean); virtual; abstract; |
![]() |
procedure SetVertexStorage(AVertexStorage: Cardinal); virtual; abstract; |
![]() |
procedure Terminate; |
![]() |
property FinishedCallback: TFBU_NotifyEvent read FFinishedCallback write FFinishedCallback; |
![]() |
property PreUpdateCallback: TFBU_NotifyEvent read FPreUpdateCallback write FPreUpdateCallback; |
![]() |
property PostUpdateCallback: TFBU_NotifyEvent read FPostUpdateCallback write FPostUpdateCallback; |
![]() |
property PreRenderCallback: TFBU_NotifyEvent read FPreRenderCallback write FPreRenderCallback; |
![]() |
property PostRenderCallback: TFBU_NotifyEvent read FPostRenderCallback write FPostRenderCallback; |
![]() |
property Wind: TFB_Vectorf3 read FWind; |
![]() |
property Position: TFB_Vectorf3 read FPosition; |
![]() |
FMinExtremePoint: TFB_Vectorf3; |
|
The extreme points of the effect (only necessary if Frustum Culling is used) | |
![]() |
FMaxExtremePoint: TFB_Vectorf3; |
|
The extreme points of the effect (only necessary if Frustum Culling is used) | |
![]() |
FWind: TFB_Vectorf3; |
|
Wind vector for the containers | |
![]() |
FRotationMatrix: TFB_Matrixf3; |
|
Rotation Matrix | |
![]() |
FFinishedCallback: TFBU_NotifyEvent; |
|
Callback to remove the effect from the manager and free the instance in the next update cycle. It is automatically defined by the manager | |
![]() |
FPreUpdateCallback: TFBU_NotifyEvent; |
|
Called before update | |
![]() |
FPostUpdateCallback: TFBU_NotifyEvent; |
|
Called after update | |
![]() |
FPreRenderCallback: TFBU_NotifyEvent; |
|
Callback which is called directly before the render-method of the effect is called. You may want to set up some shaders here or so. | |
![]() |
FPostRenderCallback: TFBU_NotifyEvent; |
|
Same as above, but called after the render-method has been called. | |
![]() |
FUseFrustum: Boolean; |
|
When true, the effect is neither calculated nor rendered if outside field of view | |
![]() |
constructor Create; virtual; |
|
Class constructor | |
![]() |
procedure SetPosition(x, y, z: Single); overload; |
|
Convenience method to set the effects position. | |
![]() |
procedure SetWind(x, y, z: Single); overload; virtual; |
|
Sets the FWind field. You may override it to directly setup your contexts. | |
![]() |
procedure Render(APrepareGL: Boolean); virtual; abstract; |
|
Render method, which is called at least every frame | |
![]() |
procedure SetVertexStorage(AVertexStorage: Cardinal); virtual; abstract; |
|
This method is called by the manager when its method TFBU_EffectManager.SetVertexStorage is called. Parameters
See also | |
![]() |
procedure Terminate; |
|
Simply sets FTerminateEffect to | |
![]() |
property FinishedCallback: TFBU_NotifyEvent read FFinishedCallback write FFinishedCallback; |
|
Sets FFinishedCallback. You actually should not set the callback if you don't know what you are doing | |
![]() |
property PreUpdateCallback: TFBU_NotifyEvent read FPreUpdateCallback write FPreUpdateCallback; |
|
Callback which is called directly before the update-method of the effect is called. You may want to set up some shaders here or so. | |
![]() |
property PostUpdateCallback: TFBU_NotifyEvent read FPostUpdateCallback write FPostUpdateCallback; |
|
Same as above, but called after the update-method has been called. | |
![]() |
property PreRenderCallback: TFBU_NotifyEvent read FPreRenderCallback write FPreRenderCallback; |
|
Callback which is called directly before the render-method of the effect is called. You may want to set up some shaders here or so. | |
![]() |
property PostRenderCallback: TFBU_NotifyEvent read FPostRenderCallback write FPostRenderCallback; |
|
Same as above, but called after the render-method has been called. | |
![]() |
property Wind: TFB_Vectorf3 read FWind; |
|
Wind speeds | |
![]() |
property Position: TFB_Vectorf3 read FPosition; |
|
Effect Position | |