Castor3D 0.16.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.
 
RenderNodesPassDescignored (SceneNode const &value)
 
RenderNodesPassDescsafeBand (bool value)
 
RenderNodesPassDescpassCount (uint32_t value)
 
RenderNodesPassDescisStatic (bool value)
 
RenderNodesPassDescresettable (bool value)
 
RenderNodesPassDescimplicitAction (crg::ImageViewId view, crg::RecordContext::ImplicitAction action)
 
RenderNodesPassDescmeshShading (bool value)
 
RenderNodesPassDesccomponentModeFlags (ComponentModeFlags value)
 
RenderNodesPassDescallowClusteredLighting (bool value=true)
 
RenderNodesPassDescdeferredLightingFilter (DeferredLightingFilter value)
 
RenderNodesPassDescparallaxOcclusionFilter (ParallaxOcclusionFilter value)
 

Public Attributes

VkExtent3D m_size
 
CameraUbo const & m_cameraUbo
 
SceneUbo const * m_sceneUbo {}
 
SceneCullerm_culler
 
RenderFilters m_filters
 
bool m_oit
 
bool m_forceTwoSided
 
bool m_safeBand {}
 
bool m_meshShading {}
 
SceneNode const * m_ignored {}
 
uint32_t m_index { 0u }
 
std::optional< bool > m_handleStatic { std::nullopt }
 
crg::ru::Config m_ruConfig { 1u, true }
 
ComponentModeFlags m_componentModeFlags { ComponentModeFlag::eAll }
 
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.

◆ componentModeFlags()

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

References m_componentModeFlags.

◆ 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 m_handleStatic.

◆ 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.

◆ 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_safeBand.

Member Data Documentation

◆ m_allowClusteredLighting

bool castor3d::RenderNodesPassDesc::m_allowClusteredLighting {}

Referenced by allowClusteredLighting().

◆ m_cameraUbo

CameraUbo const& castor3d::RenderNodesPassDesc::m_cameraUbo

◆ m_componentModeFlags

ComponentModeFlags castor3d::RenderNodesPassDesc::m_componentModeFlags { ComponentModeFlag::eAll }

Referenced by componentModeFlags().

◆ m_culler

SceneCuller& castor3d::RenderNodesPassDesc::m_culler

◆ m_deferredLightingFilter

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

Referenced by deferredLightingFilter().

◆ m_filters

RenderFilters castor3d::RenderNodesPassDesc::m_filters

◆ m_forceTwoSided

bool castor3d::RenderNodesPassDesc::m_forceTwoSided

◆ m_handleStatic

std::optional< bool > castor3d::RenderNodesPassDesc::m_handleStatic { std::nullopt }

Referenced by isStatic().

◆ m_ignored

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

Referenced by ignored().

◆ m_index

uint32_t castor3d::RenderNodesPassDesc::m_index { 0u }

◆ 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 }

◆ m_safeBand

bool castor3d::RenderNodesPassDesc::m_safeBand {}

Referenced by safeBand().

◆ m_sceneUbo

SceneUbo const* castor3d::RenderNodesPassDesc::m_sceneUbo {}

◆ m_size

VkExtent3D castor3d::RenderNodesPassDesc::m_size

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