Castor3D 0.17.0
Multiplatform 3D engine
Public Member Functions | Public Attributes | List of all members
castor3d::RenderNodesPassDesc Struct Reference

#include <RenderNodesPass.hpp>

Collaboration diagram for castor3d::RenderNodesPassDesc:
Collaboration graph
[legend]

Public Member Functions

 RenderNodesPassDesc (VkExtent3D size, CameraUbo const &cameraUbo, SceneUbo const &sceneUbo, SceneCuller &culler, RenderFilters filters, bool oit, bool forceTwoSided)
 
 RenderNodesPassDesc (VkExtent3D size, CameraUbo const &cameraUbo, SceneCuller &culler)
 Constructor for shadow passes.
 
 RenderNodesPassDesc (VkExtent3D size, CameraUbo const &cameraUbo, SceneUbo const &sceneUbo, SceneCuller &culler)
 Constructor for opaque passes.
 
 RenderNodesPassDesc (VkExtent3D size, CameraUbo const &cameraUbo, SceneUbo const &sceneUbo, SceneCuller &culler, bool oit)
 Constructor for transparent passes.
 
NodesPassDesc const & base () const noexcept
 
RenderNodesPassDescsafeBand (bool value)
 
RenderNodesPassDescisStatic (bool value)
 
RenderNodesPassDesccomponentModeFlags (ComponentModeFlags value)
 
RenderNodesPassDescignored (SceneNode const &value)
 
RenderNodesPassDescpassCount (uint32_t value)
 
RenderNodesPassDescresettable (bool value)
 
RenderNodesPassDescimplicitAction (crg::ImageViewId view, crg::RecordContext::ImplicitAction action)
 
RenderNodesPassDescprePassAction (crg::RecordContext::ImplicitAction action)
 
RenderNodesPassDescpostPassAction (crg::RecordContext::ImplicitAction action)
 
RenderNodesPassDescmeshShading (bool value)
 
RenderNodesPassDescallowClusteredLighting (bool value=true)
 
RenderNodesPassDescdeferredLightingFilter (DeferredLightingFilter value)
 
RenderNodesPassDescparallaxOcclusionFilter (ParallaxOcclusionFilter value)
 

Public Attributes

NodesPassDesc m_base
 
SceneCullerm_culler
 
bool m_oit
 
bool m_forceTwoSided
 
bool m_meshShading {}
 
SceneNode const * m_ignored {}
 
crg::ru::Config m_ruConfig { 1u, true }
 
bool m_allowClusteredLighting {}
 
DeferredLightingFilter m_deferredLightingFilter { DeferredLightingFilter::eIgnore }
 
ParallaxOcclusionFilter m_parallaxOcclusionFilter { ParallaxOcclusionFilter::eIgnore }
 

Constructor & Destructor Documentation

◆ RenderNodesPassDesc() [1/4]

castor3d::RenderNodesPassDesc::RenderNodesPassDesc ( VkExtent3D size,
CameraUbo const & cameraUbo,
SceneUbo const & sceneUbo,
SceneCuller & culler,
RenderFilters filters,
bool oit,
bool forceTwoSided )
inline

◆ RenderNodesPassDesc() [2/4]

castor3d::RenderNodesPassDesc::RenderNodesPassDesc ( VkExtent3D size,
CameraUbo const & cameraUbo,
SceneCuller & culler )
inline

Constructor for shadow passes.

Parameters
[in]sizeThe render area dimensions.
[in]cameraUboThe scene matrices UBO.
[in]cullerThe scene culler for this pass.

◆ RenderNodesPassDesc() [3/4]

castor3d::RenderNodesPassDesc::RenderNodesPassDesc ( VkExtent3D size,
CameraUbo const & cameraUbo,
SceneUbo const & sceneUbo,
SceneCuller & culler )
inline

Constructor for opaque passes.

Parameters
[in]sizeThe render area dimensions.
[in]cameraUboThe scene matrices UBO.
[in]sceneUboThe scene UBO.
[in]cullerThe scene culler for this pass.

◆ RenderNodesPassDesc() [4/4]

castor3d::RenderNodesPassDesc::RenderNodesPassDesc ( VkExtent3D size,
CameraUbo const & cameraUbo,
SceneUbo const & sceneUbo,
SceneCuller & culler,
bool oit )
inline

Constructor for transparent passes.

Parameters
[in]sizeThe render area dimensions.
[in]cameraUboThe scene matrices UBO.
[in]sceneUboThe scene UBO.
[in]cullerThe scene culler for this pass.
[in]oitThe order independant status.

Member Function Documentation

◆ allowClusteredLighting()

RenderNodesPassDesc & castor3d::RenderNodesPassDesc::allowClusteredLighting ( bool value = true)
inline
Parameters
[in]valuetrue if the pass supports clustered lighting.

References m_allowClusteredLighting.

◆ base()

NodesPassDesc const & castor3d::RenderNodesPassDesc::base ( ) const
inlinenoexcept
Returns
The base NodesPassDesc.

References m_base.

◆ componentModeFlags()

RenderNodesPassDesc & castor3d::RenderNodesPassDesc::componentModeFlags ( ComponentModeFlags value)
inline
Parameters
[in]valueThe nodes pass components flags.

References castor3d::NodesPassDesc::componentModeFlags(), and m_base.

Here is the call graph for this function:

◆ deferredLightingFilter()

RenderNodesPassDesc & castor3d::RenderNodesPassDesc::deferredLightingFilter ( DeferredLightingFilter value)
inline
Parameters
[in]valueThe deferred lighting filtering mode.

References m_deferredLightingFilter.

◆ ignored()

RenderNodesPassDesc & castor3d::RenderNodesPassDesc::ignored ( SceneNode const & value)
inline
Parameters
[in]valueThe scene node to ignore during rendering.

References m_ignored.

◆ implicitAction()

RenderNodesPassDesc & castor3d::RenderNodesPassDesc::implicitAction ( crg::ImageViewId view,
crg::RecordContext::ImplicitAction action )
inline
Parameters
[in]viewThe image view which the action is applied to.
[in]actionThe action.

References implicitAction(), and m_ruConfig.

Referenced by implicitAction().

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

◆ isStatic()

RenderNodesPassDesc & castor3d::RenderNodesPassDesc::isStatic ( bool value)
inline
Parameters
[in]valuetrue if the pass is for static nodes.

References castor3d::NodesPassDesc::isStatic(), and m_base.

Here is the call graph for this function:

◆ meshShading()

RenderNodesPassDesc & castor3d::RenderNodesPassDesc::meshShading ( bool value)
inline
Parameters
[in]valueThe use of mesh shaders status.

References m_meshShading.

◆ parallaxOcclusionFilter()

RenderNodesPassDesc & castor3d::RenderNodesPassDesc::parallaxOcclusionFilter ( ParallaxOcclusionFilter value)
inline
Parameters
[in]valueThe parallax occlusion filtering mode.

References m_parallaxOcclusionFilter.

◆ passCount()

RenderNodesPassDesc & castor3d::RenderNodesPassDesc::passCount ( uint32_t value)
inline
Parameters
[in]valueThe max frame pass variants count.

References m_ruConfig.

◆ postPassAction()

RenderNodesPassDesc & castor3d::RenderNodesPassDesc::postPassAction ( crg::RecordContext::ImplicitAction action)
inline
Parameters
[in]actionThe action to run after the pass recording.

References m_ruConfig, and postPassAction().

Referenced by postPassAction().

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

◆ prePassAction()

RenderNodesPassDesc & castor3d::RenderNodesPassDesc::prePassAction ( crg::RecordContext::ImplicitAction action)
inline
Parameters
[in]actionThe action to run before the pass recording.

References m_ruConfig, and prePassAction().

Referenced by prePassAction().

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

◆ resettable()

RenderNodesPassDesc & castor3d::RenderNodesPassDesc::resettable ( bool value)
inline
Parameters
[in]valueThe frame pass resettable status.

References m_ruConfig, and resettable().

Referenced by resettable().

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

◆ safeBand()

RenderNodesPassDesc & castor3d::RenderNodesPassDesc::safeBand ( bool value)
inline
Parameters
[in]valueThe scene node to ignore during rendering.

References m_base, and castor3d::NodesPassDesc::safeBand().

Here is the call graph for this function:

Member Data Documentation

◆ m_allowClusteredLighting

bool castor3d::RenderNodesPassDesc::m_allowClusteredLighting {}

Referenced by allowClusteredLighting().

◆ m_base

NodesPassDesc castor3d::RenderNodesPassDesc::m_base

◆ m_culler

SceneCuller& castor3d::RenderNodesPassDesc::m_culler

◆ m_deferredLightingFilter

DeferredLightingFilter castor3d::RenderNodesPassDesc::m_deferredLightingFilter { DeferredLightingFilter::eIgnore }

Referenced by deferredLightingFilter().

◆ m_forceTwoSided

bool castor3d::RenderNodesPassDesc::m_forceTwoSided

◆ m_ignored

SceneNode const* castor3d::RenderNodesPassDesc::m_ignored {}

Referenced by ignored().

◆ m_meshShading

bool castor3d::RenderNodesPassDesc::m_meshShading {}

Referenced by meshShading().

◆ m_oit

bool castor3d::RenderNodesPassDesc::m_oit

◆ m_parallaxOcclusionFilter

ParallaxOcclusionFilter castor3d::RenderNodesPassDesc::m_parallaxOcclusionFilter { ParallaxOcclusionFilter::eIgnore }

Referenced by parallaxOcclusionFilter().

◆ m_ruConfig

crg::ru::Config castor3d::RenderNodesPassDesc::m_ruConfig { 1u, true }

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