Gorilla.Controller.Passes.GlobalIllumination
Unit Gorilla.Controller.Passes.GlobalIllumination.pasClasses
- TGlobalIllumMaterial = class ( TGorillaRenderPassMaterial )
- TGlobalIllumMaterialSource = class ( TGorillaRenderPassMaterialSource )
- TGorillaRenderPassGlobalIllum = class ( TGorillaRenderPassController )
- TGorillaRenderPassEmbeddedGlobalIllum = class ( TGorillaRenderPassGlobalIllum )
Records
- record TGlobalIllumShaderData
Constants
- const GORILLA_GLOBALILLUM_MAX_LIGHTS : Integer = $8;
Mics. types
- type PGlobalIllumShaderData = pointer to TGlobalIllumShaderData;
TGlobalIllumMaterial
Ancestors
Members
Fields
- protected FPositionTexture :
TTexture
- protected FNormalsTexture :
TTexture
- protected FShaderData :
TGlobalIllumShaderData
- protected FShaderDataRegistered :
Boolean
Methods
- public constructor Create ( const ASource : TGlobalIllumMaterialSource ) ;
- public destructor Destroy ( ) ;
- protected procedure DoApply ( const Context : TContext3D ) ; override;
- protected procedure DoInitialize ( ) ; override;
- protected procedure DoUpdateShaderUniformBuffers ( const Context : TContext3D; AProgram : TShaderProgram ) ;
- protected procedure SetPositionTexture ( const Value : TTexture ) ; virtual;
- protected procedure SetNormalsTexture ( const Value : TTexture ) ; virtual;
Properties
TGlobalIllumMaterialSource
Ancestors
Members
TGorillaRenderPassGlobalIllum
Ancestors
Members
Fields
Methods
- public constructor Create ( AOwner : TComponent; const AId : string = GlobalIllum ) ;
- public destructor Destroy ( ) ;
- protected procedure DoCreateRenderer ( ) ; override;
- protected function GetPositionTexture ( ) : TTexture ;
- protected procedure SetPositionTexture ( AValue : TTexture ) ;
- protected function GetNormalsTexture ( ) : TTexture ;
- protected procedure SetNormalsTexture ( AValue : TTexture ) ;
- protected function GetVoxelGeometry ( ) : TGorillaRenderPassController ;
- protected procedure SetVoxelGeometry ( const AValue : TGorillaRenderPassController ) ;
- protected function GetShadowStrength ( ) : Single ;
- protected procedure SetShadowStrength ( const AValue : Single ) ;
- protected function GetReflectionStrength ( ) : Single ;
- protected procedure SetReflectionStrength ( const AValue : Single ) ;
- protected procedure DoSetupTexturesByViewport ( const AContext : TContext3D; const AWidth : Integer; const AHeight : Integer ) ; override;
- protected procedure DoOnBeginRenderPassSetup ( const ACount : Integer; const APass : TRenderPass ) ; override;
- protected procedure DoOnEndRenderPassSetup ( const ACount : Integer; const APass : TRenderPass ) ; override;
- protected function CreateMaterialSource ( ) : TGorillaRenderPassMaterialSource ; override;
- protected procedure Notification ( AComponent : TComponent; Operation : TOperation ) ; override;
- public procedure AfterConstruction ( ) ; override;
- public function IsInternalRenderPass ( ) : Boolean ; class override;
- public function GetOutputTexture ( ) : TTexture ; override;
Properties
- published Position : TTexture
Get or set a pre-rendered 2D position texture (RGBA) for the visible vertices in the current screen rect. This texture getting applied in TRenderer from default forward rendering pipeline. The position render target will be automatically linked here.
read GetPositionTexture
write SetPositionTexture - published Normals : TTexture
Get or set a pre-rendered 2D normals texture (RGB) for the visible vertices in the current screen rect. This texture getting applied in TRenderer from default forward rendering pipeline. The normals render target will be automatically linked here.
read GetNormalsTexture
write SetNormalsTexture - published VoxelGeometry : TGorillaRenderPassController
For global illumination rendering we need a pre-rendered voxel geometry of our scenery. To build this kind of data use a TGorillaRenderPassVoxelize instance and link it to this property.
read GetVoxelGeometry
write SetVoxelGeometry - published ShadowStrength : Single
Get or set strength of shadow computation. Values between 0.0 and 10.0 are allowed, while higher values meaning darker shadows.
read GetShadowStrength
write SetShadowStrength - published ReflectionStrength : Single
Get or set intensity of reflection color. Values between 0.0 an 10.0 are allowed, while higher values meaning more intense reflection color.
read GetReflectionStrength
write SetReflectionStrength
TGorillaRenderPassEmbeddedGlobalIllum
To provide an embedded variant of the global illumination render pass we introduce the TGorillaRenderPassEmbeddedGlobalIllum with the overwritten IsInternalRenderPass() routine.