Castor3D 0.16.0
Multiplatform 3D engine
|
#include <VisibilityResolvePass.hpp>
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 Engine * | getEngine () const noexcept |
C3D_API IndirectLightingData const & | getIndirectLighting () const noexcept |
C3D_API DebugConfig & | getDebugConfig () 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 > | |
T | m_name |
Protected Attributes inherited from castor3d::RenderTechniquePass | |
RenderTechnique * | m_parent {} |
Scene const & | m_scene |
uint32_t | m_drawCalls {} |
bool | m_outputScattering {} |
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.
[in] | parent | The parent technique. |
[in] | pass | The parent frame pass. |
[in] | context | The rendering context. |
[in] | graph | The runnable graph. |
[in] | device | The GPU device. |
[in] | category | The pass category name. |
[in] | name | The pass name. |
[in] | nodesPass | The visibility nodes pass. |
[in] | targetImage | The image this pass renders to. |
[in] | targetDepth | The depth image this pass renders to. |
[in] | renderPassDesc | The scene render pass construction data. |
[in] | techniquePassDesc | The technique render pass construction data. |
|
overridevirtual |
Visitor acceptance function.
visitor | The ... visitor. |
Reimplemented from castor3d::RenderTechniquePass.
|
overridevirtualnoexcept |
name Getters.
Implements castor3d::RenderTechniquePass.
|
overridevirtualnoexcept |
Registers nodes counts to given RenderInfo.
[in,out] | info | Receives the counts. |
Implements castor3d::RenderTechniquePass.
|
overridevirtual |
Creates the pipeline flags for given configuration.
[in] | passComponents | The pass components combination. |
[in] | submeshComponents | The submesh components combination. |
[in] | colourBlendMode | The colour blending mode. |
[in] | alphaBlendMode | The alpha blending mode. |
[in] | renderPassTypeId | The render pass type ID. |
[in] | lightingModelId | The lighting model ID. |
[in] | backgroundModelId | The background model ID. |
[in] | alphaFunc | The alpha comparison function (for opaque nodes). |
[in] | blendAlphaFunc | The alpha comparison function (for transparent nodes). |
[in] | textures | The textures configuration. |
[in] | programFlags | A combination of ProgramFlag. |
[in] | sceneFlags | Scene related flags. |
[in] | topology | The render topology. |
[in] | isFrontCulled | true for front face culling, false for back face culling. |
[in] | passLayerIndex | The material pass layer index. |
[in] | morphTargets | The morph targets buffer. |
[in] | submeshData | The submesh render data, if any. |
Implements castor3d::RenderTechniquePass.
|
inlineoverridevirtualnoexcept |
Implements castor3d::RenderTechniquePass.
|
staticnoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
overridevirtualnoexcept |
Implements castor3d::RenderTechniquePass.
|
inlineoverridevirtualnoexcept |
Implements castor3d::RenderTechniquePass.
References castor3d::SsaoConfig::enabled.
|
overridevirtualnoexcept |
Implements castor3d::RenderTechniquePass.
|
overridevirtual |
Updates the render pass, CPU wise.
[in,out] | updater | The update data. |
Reimplemented from castor3d::RenderTechniquePass.
|
staticnoexcept |