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

#include <PrepassRendering.hpp>

Inheritance diagram for castor3d::PrepassRendering:
Inheritance graph
[legend]
Collaboration diagram for castor3d::PrepassRendering:
Collaboration graph
[legend]

Public Member Functions

C3D_API PrepassRendering (RenderTechnique &parent, RenderDevice const &device, crg::FramePassArray const &previousPasses, ProgressBar *progress, bool visbuffer)
 Constructor.
 
C3D_API void listIntermediates (castor::Vector< IntermediateView > &intermediates)
 Lists the intermediate view used by the whole technique.
 
C3D_API void update (CpuUpdater &updater)
 Updates the render pass, CPU wise.
 
C3D_API void update (GpuUpdater &updater)
 Updates the render pass, GPU wise.
 
C3D_API void accept (RenderTechniqueVisitor &visitor)
 Visitor acceptance function.
 
C3D_API EnginegetEngine () const noexcept
 
C3D_API crg::FramePass const & getLastPass () const noexcept
 
C3D_API crg::FramePass const & getDepthRangePass () const noexcept
 
C3D_API bool hasVisibility () const noexcept
 
Texture const & getDepthObj () const noexcept
 
Texture const & getVisibility () const noexcept
 
ashes::Buffer< int32_t > const & getDepthRange () const noexcept
 
bool needsDepthRange () const noexcept
 
void setNeedsDepthRange (bool value) noexcept
 
VisibilityPass const & getVisibilityPass () const noexcept
 
- Public Member Functions inherited from castor::OwnedBy< RenderTechnique >
RenderTechnique * getOwner () const
 

Static Public Member Functions

static uint32_t countInitialisationSteps () noexcept
 

Additional Inherited Members

- Protected Member Functions inherited from castor::OwnedBy< RenderTechnique >
 OwnedBy (RenderTechnique &owner)
 Constructor.
 

Constructor & Destructor Documentation

◆ PrepassRendering()

C3D_API castor3d::PrepassRendering::PrepassRendering ( RenderTechnique & parent,
RenderDevice const & device,
crg::FramePassArray const & previousPasses,
ProgressBar * progress,
bool visbuffer )

Constructor.

Parameters
[in]parentThe parent technique.
[in]deviceThe GPU device.
[in]previousPassesThe passes this pass depends on.
[in]progressThe optional progress bar.
[in]visbuffertrue to enable visibility buffer.

Member Function Documentation

◆ accept()

C3D_API void castor3d::PrepassRendering::accept ( RenderTechniqueVisitor & visitor)

Visitor acceptance function.

Parameters
visitorThe ... visitor.

◆ countInitialisationSteps()

static uint32_t castor3d::PrepassRendering::countInitialisationSteps ( )
staticnoexcept
Returns
The number of steps needed for initialisation, to show progression.

◆ getDepthObj()

Texture const & castor3d::PrepassRendering::getDepthObj ( ) const
inlinenoexcept

References castor3d::eDepthObj.

Referenced by castor3d::RenderTechnique::getDepthObj().

Here is the caller graph for this function:

◆ getDepthRange()

ashes::Buffer< int32_t > const & castor3d::PrepassRendering::getDepthRange ( ) const
inlinenoexcept

References CU_Require.

Referenced by castor3d::RenderTechnique::getDepthRange().

Here is the caller graph for this function:

◆ getDepthRangePass()

C3D_API crg::FramePass const & castor3d::PrepassRendering::getDepthRangePass ( ) const
noexcept

◆ getEngine()

C3D_API Engine * castor3d::PrepassRendering::getEngine ( ) const
noexcept

name Getters.

◆ getLastPass()

C3D_API crg::FramePass const & castor3d::PrepassRendering::getLastPass ( ) const
noexcept

◆ getVisibility()

Texture const & castor3d::PrepassRendering::getVisibility ( ) const
inlinenoexcept

References CU_Require, castor3d::eVisibility, and hasVisibility().

Referenced by castor3d::RenderTechnique::getVisibilityResult().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getVisibilityPass()

VisibilityPass const & castor3d::PrepassRendering::getVisibilityPass ( ) const
inlinenoexcept

References CU_Require.

◆ hasVisibility()

C3D_API bool castor3d::PrepassRendering::hasVisibility ( ) const
noexcept

Referenced by getVisibility(), and castor3d::RenderTechnique::hasVisibility().

Here is the caller graph for this function:

◆ listIntermediates()

C3D_API void castor3d::PrepassRendering::listIntermediates ( castor::Vector< IntermediateView > & intermediates)

Lists the intermediate view used by the whole technique.

Parameters
[out]intermediatesReceives the intermediate views.

◆ needsDepthRange()

bool castor3d::PrepassRendering::needsDepthRange ( ) const
inlinenoexcept

◆ setNeedsDepthRange()

void castor3d::PrepassRendering::setNeedsDepthRange ( bool value)
inlinenoexcept

Referenced by castor3d::RenderTechnique::setNeedsDepthRange().

Here is the caller graph for this function:

◆ update() [1/2]

C3D_API void castor3d::PrepassRendering::update ( CpuUpdater & updater)

Updates the render pass, CPU wise.

Parameters
[in,out]updaterThe update data.

◆ update() [2/2]

C3D_API void castor3d::PrepassRendering::update ( GpuUpdater & updater)

Updates the render pass, GPU wise.

Parameters
[in,out]updaterThe update data.

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