Gorilla.Controller.Passes.Deferred.Composite
Unit Gorilla.Controller.Passes.Deferred.Composite.pasClasses
- TDeferredCompositeMaterial = class ( TGorillaRenderPassMaterial )
- TDeferredCompositeMaterialSource = class ( TGorillaRenderPassMaterialSource )
- TGorillaRenderPassDeferredComposite = class ( TGorillaRenderPassController )
Records
- record TCompositeShaderData
Constants
- const VOXEL_MAX_LIGHTS : Integer = $8;
Mics. types
- type PCompositeShaderData = pointer to TCompositeShaderData;
TDeferredCompositeMaterial
Ancestors
Members
Fields
- protected FAlbedoTexture :
TTexture
- protected FTranslucentAlbedoTexture :
TTexture
- protected FAlphaTexture :
TTexture
- protected FPositionTexture :
TTexture
- protected FNormalsTexture :
TTexture
- protected FEmissiveTexture :
TTexture
- protected FShaderData :
TCompositeShaderData
- protected FShaderDataRegistered :
Boolean
Methods
- public constructor Create ( const ASource : TDeferredCompositeMaterialSource ) ;
- public destructor Destroy ( ) ;
- protected procedure DoApply ( const Context : TContext3D ) ; override;
- protected procedure DoInitialize ( ) ; override;
- protected procedure DoUpdateShaderUniformBuffers ( const Context : TContext3D; AProgram : TShaderProgram ) ;
- protected procedure SetAlbedoTexture ( const Value : TTexture ) ; virtual;
- protected procedure SetTranslucentAlbedoTexture ( const Value : TTexture ) ; virtual;
- protected procedure SetAlphaTexture ( const Value : TTexture ) ; virtual;
- protected procedure SetPositionTexture ( const Value : TTexture ) ; virtual;
- protected procedure SetNormalsTexture ( const Value : TTexture ) ; virtual;
- protected procedure SetEmissiveTexture ( const Value : TTexture ) ; virtual;
- protected function GetSaturation ( ) : TPoint3D ;
- protected procedure SetSaturation ( const AValue : TPoint3D ) ;
- protected function GetEmissiveBlur ( ) : Integer ;
- protected procedure SetEmissiveBlur ( const AValue : Integer ) ;
Properties
- public AlbedoTexture : TTexture
- public TranslucentAlbedoTexture : TTexture
- public AlphaTexture : TTexture
- public PositionTexture : TTexture
- public NormalsTexture : TTexture
- public EmissiveTexture : TTexture
- public Saturation : TPoint3D
Get or set saturation values applied while color merging. The 3D vector property contains of 3 parts for opaque, translucent and composite saturation. This allows you to fully control each part of the rendering. If value is zero no saturation algorithm will be applied to the specific part.
read GetSaturation
write SetSaturation - public EmissiveBlur : Integer
Get or set emissive rendering blurring intensity. This value has massive influence on performance. It controls the number of blurring iterations and the wideness of blurring. Setting this value to zero deactivates emissive blurring.
read GetEmissiveBlur
write SetEmissiveBlur
TDeferredCompositeMaterialSource
Ancestors
Members
TGorillaRenderPassDeferredComposite
The deferred composite render pass is the final stage for merging render targets from previous steps. It takes the albedo, translucent-albedo, positions, normals, emissive texture and global illumination texture to generate a final image of your rendering scene. This embedded render pass is used by the default forward-renderer.
Ancestors
Members
Fields
Methods
- public constructor Create ( AOwner : TComponent; const AId : string = DeferredComposite ) ;
- public destructor Destroy ( ) ;
- protected procedure DoCreateRenderer ( ) ; override;
- protected function GetAlbedoTexture ( ) : TTexture ;
- protected procedure SetAlbedoTexture ( AValue : TTexture ) ;
- protected function GetTranslucentAlbedoTexture ( ) : TTexture ;
- protected procedure SetTranslucentAlbedoTexture ( AValue : TTexture ) ;
- protected function GetAlphaTexture ( ) : TTexture ;
- protected procedure SetAlphaTexture ( AValue : TTexture ) ;
- protected function GetPositionTexture ( ) : TTexture ;
- protected procedure SetPositionTexture ( AValue : TTexture ) ;
- protected function GetNormalsTexture ( ) : TTexture ;
- protected procedure SetNormalsTexture ( AValue : TTexture ) ;
- protected function GetEmissiveTexture ( ) : TTexture ;
- protected procedure SetEmissiveTexture ( AValue : TTexture ) ;
- protected function GetSaturation ( ) : TPoint3D ;
- protected procedure SetSaturation ( const AValue : TPoint3D ) ;
- protected function GetEmissiveBlur ( ) : Integer ;
- protected procedure SetEmissiveBlur ( const AValue : Integer ) ;
- protected function GetGlobalIllumPass ( ) : TGorillaRenderPassController ;
- protected procedure SetGlobalIllumPass ( const AValue : TGorillaRenderPassController ) ;
- 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 Albedo : TTexture
- published TranslucentAlbedo : TTexture
- published Alpha : TTexture
- published Position : TTexture
- published Normals : TTexture
- published Emissive : TTexture
- published Saturation : TPoint3D
Get or set saturation values applied while color merging. The 3D vector property contains of 3 parts for opaque, translucent and composite saturation. This allows you to fully control each part of the rendering. If value is zero no saturation algorithm will be applied to the specific part.
read GetSaturation
write SetSaturation - published EmissiveBlur : Integer
Get or set emissive rendering blurring intensity. This value has massive influence on performance. It controls the number of blurring iterations and the wideness of blurring. Setting this value to zero deactivates emissive blurring.
read GetEmissiveBlur
write SetEmissiveBlur - published GlobalIllumPass : TGorillaRenderPassController
For global illumination a prerendered global illumination renderpass is needed. This is getting automatically instanciated and linked by the TCompositeRenderer. So you do not have to take care of that property when using the DeferredCompositing in regular render pipeline.
read GetGlobalIllumPass
write SetGlobalIllumPass