Castor3D 0.12.0
Multiplatform 3D engine
Public Member Functions | Static Public Member Functions | List of all members
castor3d::DeferredRendering Class Reference

#include <DeferredRendering.hpp>

Public Member Functions

C3D_API DeferredRendering (crg::FramePassGroup &graph, crg::FramePass const &opaquePass, RenderDevice const &device, ProgressBar *progress, Texture const &depth, OpaquePassResult const &opaquePassResult, Texture const &resultTexture, ShadowMapResult const &smDirectionalResult, ShadowMapResult const &smPointResult, ShadowMapResult const &smSpotResult, LightVolumePassResult const &lpvResult, LightVolumePassResultArray const &llpvResult, Texture const &vctFirstBounce, Texture const &vctSecondaryBounce, Texture const &ssao, castor::Size const &size, Scene &scene, SceneUbo const &sceneUbo, HdrConfigUbo const &hdrConfigUbo, GpInfoUbo const &gpInfoUbo, LpvGridConfigUbo const &lpvConfigUbo, LayeredLpvGridConfigUbo const &llpvConfigUbo, VoxelizerUbo const &vctConfigUbo, SsaoConfig &ssaoConfig)
 Initialises deferred rendering related stuff. More...
 
C3D_API void update (CpuUpdater &updater)
 Updates the render pass, CPU wise. More...
 
C3D_API void accept (RenderTechniqueVisitor &visitor)
 Visitor acceptance function. More...
 
C3D_API crg::ImageViewId const & getLightDepthImgView () const
 
C3D_API Texture const & getLightDiffuse ()
 
crg::FramePass const & getLastPass () const
 

Static Public Member Functions

static uint32_t countInitialisationSteps ()
 

Constructor & Destructor Documentation

◆ DeferredRendering()

C3D_API castor3d::DeferredRendering::DeferredRendering ( crg::FramePassGroup &  graph,
crg::FramePass const &  opaquePass,
RenderDevice const &  device,
ProgressBar progress,
Texture const &  depth,
OpaquePassResult const &  opaquePassResult,
Texture const &  resultTexture,
ShadowMapResult const &  smDirectionalResult,
ShadowMapResult const &  smPointResult,
ShadowMapResult const &  smSpotResult,
LightVolumePassResult const &  lpvResult,
LightVolumePassResultArray const &  llpvResult,
Texture const &  vctFirstBounce,
Texture const &  vctSecondaryBounce,
Texture const &  ssao,
castor::Size const &  size,
Scene scene,
SceneUbo const &  sceneUbo,
HdrConfigUbo const &  hdrConfigUbo,
GpInfoUbo const &  gpInfoUbo,
LpvGridConfigUbo const &  lpvConfigUbo,
LayeredLpvGridConfigUbo const &  llpvConfigUbo,
VoxelizerUbo const &  vctConfigUbo,
SsaoConfig ssaoConfig 
)

Initialises deferred rendering related stuff.

Parameters
[in]graphThe graph passes group.
[in]opaquePassThe opaque nodes render pass.
[in]deviceThe GPU device.
[in]progressThe progress status.
[in]depthThe render target depth texture.
[in]opaquePassResultThe geometry pass buffers.
[in]resultTextureThe render technique texture.
[in]smDirectionalResultThe directional lights shadow map.
[in]smPointResultThe point lights shadow map.
[in]smSpotResultThe spot lights shadow map.
[in]lpvResultThe LPV result.
[in]llpvResultThe Layered LPV result.
[in]vctFirstBounceThe VCT first bounce result.
[in]vctSecondaryBounceThe VCT secondary bounce result.
[in]ssaoThe SSAO result.
[in]sizeThe render dimensions.
[in]sceneThe rendered scene.
[in]sceneUboThe scene configuration UBO.
[in]hdrConfigUboThe HDR configuration UBO.
[in]gpInfoUboThe GBuffer configuration UBO.
[in]lpvConfigUboThe LPV configuration UBO.
[in]llpvConfigUboThe Layered LPV configuration UBO.
[in]vctConfigUboThe VCT configuration UBO.
[in]ssaoConfigThe SSAO configuration.

Member Function Documentation

◆ accept()

C3D_API void castor3d::DeferredRendering::accept ( RenderTechniqueVisitor visitor)

Visitor acceptance function.

Parameters
visitorThe ... visitor.

◆ countInitialisationSteps()

static uint32_t castor3d::DeferredRendering::countInitialisationSteps ( )
inlinestatic

◆ getLastPass()

crg::FramePass const & castor3d::DeferredRendering::getLastPass ( ) const
inline

◆ getLightDepthImgView()

C3D_API crg::ImageViewId const & castor3d::DeferredRendering::getLightDepthImgView ( ) const

◆ getLightDiffuse()

C3D_API Texture const & castor3d::DeferredRendering::getLightDiffuse ( )

◆ update()

C3D_API void castor3d::DeferredRendering::update ( CpuUpdater updater)

Updates the render pass, CPU wise.

Parameters
[in,out]updaterThe update data.

The documentation for this class was generated from the following file: