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

#include <VisibilityResolvePass.hpp>

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

Public Member Functions

C3D_API VisibilityResolvePass (RenderTechnique *parent, crg::FramePass const &pass, crg::GraphContext &context, crg::RunnableGraph &graph, RenderDevice const &device, castor::String const &category, castor::String const &name, RenderNodesPass const &nodesPass, crg::ImageViewIdArray targetImage, crg::ImageViewIdArray targetDepth, RenderNodesPassDesc const &renderPassDesc, RenderTechniquePassDesc const &techniquePassDesc)
 Constructor.
 
C3D_API void accept (RenderTechniqueVisitor &visitor) override
 Visitor acceptance function.
 
C3D_API void update (CpuUpdater &updater) override
 Updates the render pass, CPU wise.
 
C3D_API PipelineFlags createPipelineFlags (PassComponentCombine const &passComponents, SubmeshComponentCombine const &submeshComponents, BlendMode colourBlendMode, BlendMode alphaBlendMode, RenderPassTypeID renderPassTypeId, LightingModelID lightingModelId, BackgroundModelID backgroundModelId, VkCompareOp alphaFunc, VkCompareOp blendAlphaFunc, TextureCombine const &textures, ProgramFlags const &programFlags, SceneFlags const &sceneFlags, VkPrimitiveTopology topology, bool isFrontCulled, uint32_t passLayerIndex, GpuBufferOffsetT< castor::Point4f > const &morphTargets, SubmeshRenderData *submeshData) const override
 Creates the pipeline flags for given configuration.
 
C3D_API bool areValidPassFlags (PassComponentCombine const &passFlags) const noexcept override
 
C3D_API ShaderFlags getShaderFlags () const noexcept override
 
C3D_API void countNodes (RenderInfo &info) const noexcept override
 Registers nodes counts to given RenderInfo.
 
C3D_API bool isPassEnabled () const noexcept override
 
DeferredLightingFilter getDeferredLightingFilter () const noexcept
 
ParallaxOcclusionFilter getParallaxOcclusionFilter () const noexcept
 
bool hasSsao () const noexcept override
 
ClustersConfig const * getClustersConfig () const noexcept override
 
- Public Member Functions inherited from castor::NamedBaseT< T >
 NamedBaseT (T name) noexcept
 Constructor.
 
T const & getName () const noexcept
 Retrieves the name.
 
void rename (T name) noexcept
 
- Public Member Functions inherited from castor3d::RenderTechniquePass
virtual C3D_API ~RenderTechniquePass () noexcept=default
 
C3D_API EnginegetEngine () const noexcept
 
C3D_API IndirectLightingData const & getIndirectLighting () const noexcept
 
C3D_API DebugConfiggetDebugConfig () const noexcept
 
C3D_API bool areDebugTargetsEnabled () const noexcept
 
Scene const & getScene () noexcept
 
Scene const & getScene () const noexcept
 
RenderTechnique const & getTechnique () const noexcept
 

Static Public Member Functions

static C3D_API ComponentModeFlags getComponentsMask () noexcept
 
static C3D_API bool useCompute () noexcept
 

Additional Inherited Members

- Protected Member Functions inherited from castor3d::RenderTechniquePass
C3D_API RenderTechniquePass (RenderTechnique *parent, Scene const &scene, bool outputScattering)
 Constructor.
 
- Protected Attributes inherited from castor::NamedBaseT< T >
m_name
 
- Protected Attributes inherited from castor3d::RenderTechniquePass
RenderTechniquem_parent {}
 
Scene const & m_scene
 
uint32_t m_drawCalls {}
 
bool m_outputScattering {}
 

Constructor & Destructor Documentation

◆ VisibilityResolvePass()

C3D_API castor3d::VisibilityResolvePass::VisibilityResolvePass ( RenderTechnique * parent,
crg::FramePass const & pass,
crg::GraphContext & context,
crg::RunnableGraph & graph,
RenderDevice const & device,
castor::String const & category,
castor::String const & name,
RenderNodesPass const & nodesPass,
crg::ImageViewIdArray targetImage,
crg::ImageViewIdArray targetDepth,
RenderNodesPassDesc const & renderPassDesc,
RenderTechniquePassDesc const & techniquePassDesc )

Constructor.

Parameters
[in]parentThe parent technique.
[in]passThe parent frame pass.
[in]contextThe rendering context.
[in]graphThe runnable graph.
[in]deviceThe GPU device.
[in]categoryThe pass category name.
[in]nameThe pass name.
[in]nodesPassThe visibility nodes pass.
[in]targetImageThe image this pass renders to.
[in]targetDepthThe depth image this pass renders to.
[in]renderPassDescThe scene render pass construction data.
[in]techniquePassDescThe technique render pass construction data.

Member Function Documentation

◆ accept()

C3D_API void castor3d::VisibilityResolvePass::accept ( RenderTechniqueVisitor & visitor)
overridevirtual

Visitor acceptance function.

Parameters
visitorThe ... visitor.

Reimplemented from castor3d::RenderTechniquePass.

◆ areValidPassFlags()

C3D_API bool castor3d::VisibilityResolvePass::areValidPassFlags ( PassComponentCombine const & passFlags) const
overridevirtualnoexcept

name Getters.

Implements castor3d::RenderTechniquePass.

◆ countNodes()

C3D_API void castor3d::VisibilityResolvePass::countNodes ( RenderInfo & info) const
overridevirtualnoexcept

Registers nodes counts to given RenderInfo.

Parameters
[in,out]infoReceives the counts.

Implements castor3d::RenderTechniquePass.

◆ createPipelineFlags()

C3D_API PipelineFlags castor3d::VisibilityResolvePass::createPipelineFlags ( PassComponentCombine const & passComponents,
SubmeshComponentCombine const & submeshComponents,
BlendMode colourBlendMode,
BlendMode alphaBlendMode,
RenderPassTypeID renderPassTypeId,
LightingModelID lightingModelId,
BackgroundModelID backgroundModelId,
VkCompareOp alphaFunc,
VkCompareOp blendAlphaFunc,
TextureCombine const & textures,
ProgramFlags const & programFlags,
SceneFlags const & sceneFlags,
VkPrimitiveTopology topology,
bool isFrontCulled,
uint32_t passLayerIndex,
GpuBufferOffsetT< castor::Point4f > const & morphTargets,
SubmeshRenderData * submeshData ) const
overridevirtual

Creates the pipeline flags for given configuration.

Parameters
[in]passComponentsThe pass components combination.
[in]submeshComponentsThe submesh components combination.
[in]colourBlendModeThe colour blending mode.
[in]alphaBlendModeThe alpha blending mode.
[in]renderPassTypeIdThe render pass type ID.
[in]lightingModelIdThe lighting model ID.
[in]backgroundModelIdThe background model ID.
[in]alphaFuncThe alpha comparison function (for opaque nodes).
[in]blendAlphaFuncThe alpha comparison function (for transparent nodes).
[in]texturesThe textures configuration.
[in]programFlagsA combination of ProgramFlag.
[in]sceneFlagsScene related flags.
[in]topologyThe render topology.
[in]isFrontCulledtrue for front face culling, false for back face culling.
[in]passLayerIndexThe material pass layer index.
[in]morphTargetsThe morph targets buffer.
[in]submeshDataThe submesh render data, if any.

Implements castor3d::RenderTechniquePass.

◆ getClustersConfig()

ClustersConfig const * castor3d::VisibilityResolvePass::getClustersConfig ( ) const
inlineoverridevirtualnoexcept

◆ getComponentsMask()

static C3D_API ComponentModeFlags castor3d::VisibilityResolvePass::getComponentsMask ( )
staticnoexcept

◆ getDeferredLightingFilter()

DeferredLightingFilter castor3d::VisibilityResolvePass::getDeferredLightingFilter ( ) const
inlinenoexcept

◆ getParallaxOcclusionFilter()

ParallaxOcclusionFilter castor3d::VisibilityResolvePass::getParallaxOcclusionFilter ( ) const
inlinenoexcept

◆ getShaderFlags()

C3D_API ShaderFlags castor3d::VisibilityResolvePass::getShaderFlags ( ) const
overridevirtualnoexcept

◆ hasSsao()

bool castor3d::VisibilityResolvePass::hasSsao ( ) const
inlineoverridevirtualnoexcept

◆ isPassEnabled()

C3D_API bool castor3d::VisibilityResolvePass::isPassEnabled ( ) const
overridevirtualnoexcept

◆ update()

C3D_API void castor3d::VisibilityResolvePass::update ( CpuUpdater & updater)
overridevirtual

Updates the render pass, CPU wise.

Parameters
[in,out]updaterThe update data.

Reimplemented from castor3d::RenderTechniquePass.

◆ useCompute()

static C3D_API bool castor3d::VisibilityResolvePass::useCompute ( )
staticnoexcept

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