#include <RenderTechniquePass.hpp>
|
virtual C3D_API | ~RenderTechniquePass () noexcept=default |
|
virtual C3D_API void | accept (RenderTechniqueVisitor &visitor) |
| Visitor acceptance function.
|
|
virtual C3D_API void | update (CpuUpdater &updater) |
| Updates the render pass, CPU wise.
|
|
virtual 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 =0 |
| Creates the pipeline flags for given configuration.
|
|
virtual C3D_API bool | areValidPassFlags (PassComponentCombine const &passFlags) const noexcept=0 |
|
virtual C3D_API ShaderFlags | getShaderFlags () const noexcept=0 |
|
virtual C3D_API void | countNodes (RenderInfo &info) const noexcept=0 |
| Registers nodes counts to given RenderInfo.
|
|
virtual C3D_API bool | isPassEnabled () const noexcept=0 |
|
|
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 |
|
virtual C3D_API ClustersConfig const * | getClustersConfig () const noexcept=0 |
|
virtual C3D_API bool | hasSsao () const noexcept=0 |
|
Scene const & | getScene () noexcept |
|
Scene const & | getScene () const noexcept |
|
RenderTechnique const & | getTechnique () const noexcept |
|
◆ RenderTechniquePass()
Constructor.
- Parameters
-
[in] | parent | The parent technique. |
[in] | scene | The scene. |
[in] | outputScattering | Defines if the pass outputs scattering data. |
◆ ~RenderTechniquePass()
virtual C3D_API castor3d::RenderTechniquePass::~RenderTechniquePass |
( |
| ) |
|
|
virtualdefaultnoexcept |
◆ accept()
◆ areDebugTargetsEnabled()
C3D_API bool castor3d::RenderTechniquePass::areDebugTargetsEnabled |
( |
| ) |
const |
|
noexcept |
◆ areValidPassFlags()
◆ countNodes()
virtual C3D_API void castor3d::RenderTechniquePass::countNodes |
( |
RenderInfo & | info | ) |
const |
|
pure virtualnoexcept |
◆ createPipelineFlags()
virtual C3D_API PipelineFlags castor3d::RenderTechniquePass::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 |
|
pure virtual |
Creates the pipeline flags for given configuration.
- Parameters
-
[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. |
Implemented in castor3d::VisibilityResolvePass, and castor3d::RenderTechniqueNodesPass.
◆ doAccept()
◆ getClustersConfig()
◆ getDebugConfig()
◆ getEngine()
C3D_API Engine * castor3d::RenderTechniquePass::getEngine |
( |
| ) |
const |
|
noexcept |
◆ getIndirectLighting()
◆ getScene() [1/2]
Scene const & castor3d::RenderTechniquePass::getScene |
( |
| ) |
const |
|
inlinenoexcept |
◆ getScene() [2/2]
Scene const & castor3d::RenderTechniquePass::getScene |
( |
| ) |
|
|
inlinenoexcept |
◆ getShaderFlags()
◆ getTechnique()
RenderTechnique const & castor3d::RenderTechniquePass::getTechnique |
( |
| ) |
const |
|
inlinenoexcept |
◆ hasSsao()
virtual C3D_API bool castor3d::RenderTechniquePass::hasSsao |
( |
| ) |
const |
|
pure virtualnoexcept |
◆ isPassEnabled()
virtual C3D_API bool castor3d::RenderTechniquePass::isPassEnabled |
( |
| ) |
const |
|
pure virtualnoexcept |
◆ update()
◆ m_drawCalls
uint32_t castor3d::RenderTechniquePass::m_drawCalls {} |
|
protected |
◆ m_outputScattering
bool castor3d::RenderTechniquePass::m_outputScattering {} |
|
protected |
◆ m_parent
◆ m_scene
Scene const& castor3d::RenderTechniquePass::m_scene |
|
protected |
The documentation for this class was generated from the following file: