![]() |
Castor3D 0.17.0
Multiplatform 3D engine
|
#include <NodesPass.hpp>


Public Member Functions | |
| virtual | ~NodesPass () noexcept=default |
| C3D_API void | update (CpuUpdater &updater) |
| Updates the render pass, CPU wise. | |
| C3D_API SubmeshComponentCombine | adjustFlags (SubmeshComponentCombine const &submeshCombine) const |
| Adjusts given flags to match the render pass requirements. | |
| C3D_API PassComponentCombine | adjustFlags (PassComponentCombine const &passCombine) const |
| Adjusts given flags to match the render pass requirements. | |
| C3D_API TextureCombine | adjustFlags (TextureCombine const &textureCombine) const |
| Filters the given textures flags using this pass needed textures. | |
| C3D_API SceneFlags | adjustFlags (SceneFlags flags) const |
| Adjusts given flags to match the render pass requirements. | |
| C3D_API bool | areValidPassFlags (PassComponentCombine const &passFlags) const noexcept |
| virtual C3D_API bool | isPassEnabled () const noexcept |
| C3D_API bool | isValidPass (Pass const &pass) const noexcept |
| C3D_API bool | isValidRenderable (RenderedObject const &object) const noexcept |
| C3D_API bool | isValidNode (SceneNode const &node) const noexcept |
| ComponentModeFlags | getComponentsMask () const noexcept |
| bool | isDirty () const noexcept |
| RenderFilters | getRenderFilters () const noexcept |
| castor::String const & | getTypeName () const noexcept |
| RenderPassTypeID | getTypeID () const noexcept |
| bool | filtersStatic () const noexcept |
| bool | filtersNonStatic () const noexcept |
| bool | handleStatic () const noexcept |
Public Member Functions inherited from castor::OwnedBy< Engine > | |
| Engine * | getOwner () const noexcept |
| void | setOwner (Engine &owner) noexcept |
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 |
Static Public Member Functions | |
| static C3D_API void | addShadowBindings (SceneFlags const &sceneFlags, ashes::VkDescriptorSetLayoutBindingArray &bindings, VkShaderStageFlags shaderStages, uint32_t &index) |
| Adds shadow maps descriptor layout bindings to given list. | |
| static C3D_API void | addShadowBindings (ashes::VkDescriptorSetLayoutBindingArray &bindings, VkShaderStageFlags shaderStages, uint32_t &index) |
| Adds shadow maps descriptor layout bindings to given list. | |
| static C3D_API void | addBackgroundBindings (SceneBackground const &background, ashes::VkDescriptorSetLayoutBindingArray &bindings, VkShaderStageFlags shaderStages, uint32_t &index) |
| Adds background descriptor layout bindings to given list. | |
| static C3D_API void | addGIBindings (SceneFlags flags, IndirectLightingData const &indirectLighting, ashes::VkDescriptorSetLayoutBindingArray &bindings, VkShaderStageFlags shaderStages, uint32_t &index) |
| Adds indirect lighting descriptor layout bindings to given list. | |
| static C3D_API void | addClusteredLightingBindings (FrustumClusters const &frustumClusters, ashes::VkDescriptorSetLayoutBindingArray &bindings, VkShaderStageFlags shaderStages, uint32_t &index) |
| Adds clusters descriptor layout bindings to given list. | |
| static C3D_API void | addShadowDescriptor (RenderSystem const &renderSystem, crg::RunnableGraph &graph, ashes::WriteDescriptorSetArray &descriptorWrites, ShadowMapLightTypeArray const &shadowMaps, ShadowBuffer const &shadowBuffer, uint32_t &index) |
| static C3D_API void | addShadowDescriptor (RenderSystem const &renderSystem, crg::RunnableGraph &graph, SceneFlags const &sceneFlags, ashes::WriteDescriptorSetArray &descriptorWrites, ShadowMapLightTypeArray const &shadowMaps, ShadowBuffer const &shadowBuffer, uint32_t &index) |
| static C3D_API void | addBackgroundDescriptor (SceneBackground const &background, ashes::WriteDescriptorSetArray &descriptorWrites, crg::ImageViewIdArray const &targetImage, uint32_t &index) |
| static C3D_API void | addGIDescriptor (SceneFlags sceneFlags, IndirectLightingData const &indirectLighting, ashes::WriteDescriptorSetArray &descriptorWrites, uint32_t &index) |
| static C3D_API void | addClusteredLightingDescriptor (FrustumClusters const &frustumClusters, ashes::WriteDescriptorSetArray &descriptorWrites, uint32_t &index) |
Public Attributes | |
| NodesPassChangeSignal | onSortNodes |
Protected Member Functions | |
| C3D_API | NodesPass (RenderDevice const &device, castor::String const &categoryName, castor::String const &typeName, castor::String const &fullName, crg::ImageViewIdArray targetImage, crg::ImageViewIdArray targetDepth, NodesPassDesc const &desc) |
| Constructor. | |
| virtual C3D_API void | doUpdate (CpuUpdater &updater)=0 |
| Updates the render pass, CPU wise. | |
| virtual C3D_API bool | doIsValidPass (Pass const &pass) const noexcept |
| virtual C3D_API bool | doIsValidRenderable (RenderedObject const &object) const noexcept |
| virtual C3D_API SubmeshComponentCombine | doAdjustSubmeshComponents (SubmeshComponentCombine submeshCombine) const |
| virtual C3D_API SceneFlags | doAdjustSceneFlags (SceneFlags flags) const |
| virtual C3D_API bool | doAreValidPassFlags (PassComponentCombine const &passFlags) const noexcept=0 |
| virtual C3D_API bool | doIsValidNode (SceneNode const &node) const noexcept=0 |
Protected Member Functions inherited from castor::OwnedBy< Engine > | |
| OwnedBy (Engine &owner) noexcept | |
| Constructor. | |
Protected Attributes | |
| RenderDevice const & | m_device |
| RenderSystem & | m_renderSystem |
| CameraUbo const & | m_cameraUbo |
| crg::ImageViewIdArray | m_targetImage |
| crg::ImageViewIdArray | m_targetDepth |
| castor::String | m_typeName |
| RenderPassTypeID | m_typeID {} |
| RenderFilters | m_filters { RenderFilter::eNone } |
| castor::String | m_category |
| castor::Size | m_size |
| bool | m_safeBand { false } |
| bool | m_isDirty { true } |
| SceneUbo const * | m_sceneUbo {} |
| uint32_t | m_index { 0u } |
| std::optional< bool > | m_handleStatic { std::nullopt } |
| ComponentModeFlags | m_componentsMask {} |
Protected Attributes inherited from castor::NamedBaseT< T > | |
| T | m_name |
|
protected |
Constructor.
| [in] | device | The GPU device. |
| [in] | categoryName | The category name. |
| [in] | typeName | The type name. |
| [in] | fullName | The pass name. |
| [in] | targetImage | The image this pass renders to. |
| [in] | targetDepth | The depth image this pass renders to. |
| [in] | desc | The construction data. |
|
virtualdefaultnoexcept |
|
static |
Adds background descriptor layout bindings to given list.
| [in] | background | The background. |
| [in,out] | bindings | Receives the bindings. |
| [in] | shaderStages | The impacted shader stages. |
| [in,out] | index | The current binding index. |
|
static |
|
static |
Adds clusters descriptor layout bindings to given list.
| [in] | frustumClusters | The clusters. |
| [in,out] | bindings | Receives the bindings. |
| [in] | shaderStages | The impacted shader stages. |
| [in,out] | index | The current binding index. |
|
static |
|
static |
Adds indirect lighting descriptor layout bindings to given list.
| [in] | flags | The scene flags. |
| [in] | indirectLighting | The indirect lighting data. |
| [in,out] | bindings | Receives the bindings. |
| [in] | shaderStages | The impacted shader stages. |
| [in,out] | index | The current binding index. |
|
static |
|
static |
Adds shadow maps descriptor layout bindings to given list.
| [in,out] | bindings | Receives the bindings. |
| [in] | shaderStages | The impacted shader stages. |
| [in,out] | index | The current binding index. |
|
static |
Adds shadow maps descriptor layout bindings to given list.
| [in] | sceneFlags | Used to define what shadow maps need to be bound. |
| [in,out] | bindings | Receives the bindings. |
| [in] | shaderStages | The impacted shader stages. |
| [in,out] | index | The current binding index. |
|
static |
|
static |
| C3D_API PassComponentCombine castor3d::NodesPass::adjustFlags | ( | PassComponentCombine const & | passCombine | ) | const |
Adjusts given flags to match the render pass requirements.
| [in] | passCombine | The flags. |
| C3D_API SceneFlags castor3d::NodesPass::adjustFlags | ( | SceneFlags | flags | ) | const |
Adjusts given flags to match the render pass requirements.
| [in] | flags | The flags. |
| C3D_API SubmeshComponentCombine castor3d::NodesPass::adjustFlags | ( | SubmeshComponentCombine const & | submeshCombine | ) | const |
Adjusts given flags to match the render pass requirements.
| [in] | submeshCombine | The flags. |
| C3D_API TextureCombine castor3d::NodesPass::adjustFlags | ( | TextureCombine const & | textureCombine | ) | const |
Filters the given textures flags using this pass needed textures.
| [in] | textureCombine | The textures flags. |
|
noexcept |
name Getters.
Referenced by castor3d::RenderTechniqueNodesPass::areValidPassFlags().

|
protectedvirtual |
Reimplemented in castor3d::RenderNodesPass, and castor3d::RenderTechniqueNodesPass.
|
protectedvirtual |
Reimplemented in castor3d::RenderNodesPass.
|
protectedpure virtualnoexcept |
Implemented in castor3d::RenderNodesPass.
|
protectedpure virtualnoexcept |
Implemented in castor3d::RenderNodesPass.
|
protectedvirtualnoexcept |
| [in] | pass | The material pass. |
true if the pass is rendered through this nodes pass. Reimplemented in castor3d::RenderNodesPass.
|
protectedvirtualnoexcept |
| [in] | object | The rendered object. |
true if the object is rendered through this nodes pass. Reimplemented in castor3d::RenderNodesPass.
|
protectedpure virtual |
Updates the render pass, CPU wise.
| [in,out] | updater | The update data. |
Implemented in castor3d::RenderNodesPass.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
References m_componentsMask.
|
inlinenoexcept |
References m_filters.
|
inlinenoexcept |
References m_typeID.
|
inlinenoexcept |
References m_typeName.
|
inlinenoexcept |
References m_handleStatic.
Referenced by filtersNonStatic(), and filtersStatic().

|
inlinenoexcept |
References m_isDirty.
|
virtualnoexcept |
Reimplemented in castor3d::VoxelizePass, castor3d::RenderNodesPass, castor3d::RenderTechniqueNodesPass, and castor3d::ShadowMapPass.
Referenced by castor3d::IsNodesPassEnabled::operator()().

|
noexcept |
| C3D_API void castor3d::NodesPass::update | ( | CpuUpdater & | updater | ) |
Updates the render pass, CPU wise.
| [in,out] | updater | The update data. |
|
protected |
Referenced by castor3d::RenderNodesPass::getMatrixUbo().
|
protected |
|
protected |
Referenced by getComponentsMask().
|
protected |
|
protected |
Referenced by getRenderFilters().
|
protected |
Referenced by filtersNonStatic(), filtersStatic(), and handleStatic().
|
protected |
|
protected |
Referenced by isDirty().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by getTypeID().
|
protected |
Referenced by getTypeName().
|
mutable |