Castor3D 0.15.0
Multiplatform 3D engine
Classes | Fonctions membres publiques | Fonctions membres publiques statiques | Attributs publics | Fonctions membres protégées | Attributs protégés | Liste de tous les membres
Référence de la classe castor3d::RenderNodesPassabstract

#include <RenderNodesPass.hpp>

Graphe d'héritage de castor3d::RenderNodesPass:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::RenderNodesPass:
Collaboration graph
[légende]

Fonctions membres publiques

C3D_API ~RenderNodesPass () override
 Destructeur.
 
virtual C3D_API void update (CpuUpdater &updater)
 Met à jour la passe de rendu, au niveau CPU.
 
C3D_API ShaderPtr getTaskShaderSource (PipelineFlags const &flags) const
 Récupère le source du task shader qui correspond aux indicateurs donnés.
 
C3D_API ShaderPtr getMeshShaderSource (PipelineFlags const &flags) const
 Récupère le source du mesh shader qui correspond aux indicateurs donnés.
 
C3D_API ShaderPtr getVertexShaderSource (PipelineFlags const &flags) const
 Récupère le source du vertex shader qui correspond aux indicateurs donnés.
 
C3D_API ShaderPtr getHullShaderSource (PipelineFlags const &flags) const
 Récupère le source du hull shader qui correspond aux indicateurs donnés.
 
C3D_API ShaderPtr getDomainShaderSource (PipelineFlags const &flags) const
 Récupère le source du domain shader qui correspond aux indicateurs donnés.
 
C3D_API ShaderPtr getGeometryShaderSource (PipelineFlags const &flags) const
 Récupère le source du geometry shader qui correspond aux indicateurs donnés.
 
C3D_API ShaderPtr getPixelShaderSource (PipelineFlags const &flags) const
 Récupère le source du pixel shader qui correspond aux indicateurs donnés.
 
C3D_API SubmeshFlags adjustFlags (SubmeshFlags flags) const
 Ajuste les flags donnés pour qu'ils correspondent aux pré-requis de la passe.
 
C3D_API PassComponentCombine adjustFlags (PassComponentCombine flags) const
 Ajuste les flags donnés pour qu'ils correspondent aux pré-requis de la passe.
 
C3D_API ProgramFlags adjustFlags (ProgramFlags flags) const
 Ajuste les flags donnés pour qu'ils correspondent aux pré-requis de la passe.
 
C3D_API SceneFlags adjustFlags (SceneFlags flags) const
 Ajuste les flags donnés pour qu'ils correspondent aux pré-requis de la passe.
 
C3D_API TextureCombine adjustFlags (TextureCombine texturesFlags) const
 Filtre les indicateurs de textures donnés en utilisant ceux voulus par cette passe.
 
C3D_API PipelineFlags createPipelineFlags (PassComponentCombine components, BlendMode colourBlendMode, BlendMode alphaBlendMode, RenderPassTypeID renderPassTypeId, LightingModelID lightingModelId, BackgroundModelID backgroundModelId, VkCompareOp alphaFunc, VkCompareOp blendAlphaFunc, TextureCombine const &textures, SubmeshFlags const &submeshFlags, ProgramFlags const &programFlags, SceneFlags const &sceneFlags, VkPrimitiveTopology topology, bool isFrontCulled, bool invertNormals, uint32_t passLayerIndex, GpuBufferOffsetT< castor::Point4f > const &morphTargets) const
 Crée les indicateurs de pipeline pour la configuration donnée.
 
C3D_API PipelineFlags createPipelineFlags (Pass const &pass, TextureCombine const &textures, SubmeshFlags const &submeshFlags, ProgramFlags const &programFlags, SceneFlags const &sceneFlags, VkPrimitiveTopology topology, bool isFrontCulled, GpuBufferOffsetT< castor::Point4f > const &morphTargets) const
 Crée les indicateurs de pipeline pour la configuration donnée.
 
C3D_API RenderPipelineprepareBackPipeline (PipelineFlags pipelineFlags, ashes::PipelineVertexInputStateCreateInfoCRefArray const &vertexLayouts, ashes::DescriptorSetLayout const *meshletDescriptorLayout)
 Prépare le pipeline qui correspond aux indicateurs donnés, pour les noeuds en back face culling.
 
C3D_API RenderPipelineprepareFrontPipeline (PipelineFlags pipelineFlags, ashes::PipelineVertexInputStateCreateInfoCRefArray const &vertexLayouts, ashes::DescriptorSetLayout const *meshletDescriptorLayout)
 Prépare le pipeline qui correspond aux indicateurs donnés, pour les noeuds en front face culling.
 
C3D_API void initialiseAdditionalDescriptor (RenderPipeline &pipeline, ShadowMapLightTypeArray const &shadowMaps, GpuBufferOffsetT< castor::Point4f > const &morphTargets)
 Initialise l'ensemble de descripteurs additionnels.
 
C3D_API void setIgnoredNode (SceneNode const &node)
 Définit le noeud ignoré.
 
C3D_API void countNodes (RenderInfo &info) const
 Enregistre les comptes de noeuds dans le RenderInfo donné.
 
virtual C3D_API ComponentModeFlags getComponentsMask () const
 
virtual C3D_API bool areValidPassFlags (PassComponentCombine const &passFlags) const
 
virtual C3D_API bool isPassEnabled () const
 
virtual C3D_API ShaderFlags getShaderFlags () const
 
C3D_API bool isValidPass (Pass const &pass) const
 
C3D_API bool isValidRenderable (RenderedObject const &object) const
 
C3D_API bool isValidNode (SceneNode const &node) const
 
C3D_API bool hasNodes () const
 
C3D_API ScenegetScene () const
 
C3D_API SceneNode const * getIgnoredNode () const
 
C3D_API bool isMeshShading () const
 
C3D_API NodePtrByPipelineMapT< SubmeshRenderNode > const & getSubmeshNodes () const
 
C3D_API ObjectNodesPtrByPipelineMapT< SubmeshRenderNode > const & getInstancedSubmeshNodes () const
 
C3D_API NodePtrByPipelineMapT< BillboardRenderNode > const & getBillboardNodes () const
 
C3D_API std::pair< uint32_t, uint32_t > fillPipelinesIds (castor::ArrayView< uint32_t > nodesPipelinesIds) const
 
C3D_API PipelineBufferArray const & getPassPipelineNodes () const
 
C3D_API uint32_t getPipelineNodesIndex (PipelineBaseHash const &hash, ashes::BufferBase const &buffer) const
 
C3D_API uint32_t getDrawCallsCount () const
 
bool isOrderIndependent () const
 
SceneCullergetCuller () const
 
CameraUbo const & getMatrixUbo () const
 
uint32_t getPipelinesCount () const
 
bool isDirty () const
 
bool forceTwoSided () const
 
RenderFilters getRenderFilters () const
 
castor::String const & getTypeName () const
 
RenderPassTypeID getTypeID () const
 
bool filtersStatic () const
 
bool filtersNonStatic () const
 
bool handleStatic () const
 

Fonctions membres publiques statiques

static C3D_API ashes::PipelineColorBlendStateCreateInfo createBlendState (BlendMode colourBlendMode, BlendMode alphaBlendMode, uint32_t attachesCount)
 Crée un état de mélange correspondant aux modes de mélange donnés.
 

Attributs publics

PassSortNodesSignal onSortNodes
 

Fonctions membres protégées

C3D_API RenderNodesPass (crg::FramePass const &pass, crg::GraphContext &context, crg::RunnableGraph &graph, RenderDevice const &device, castor::String const &typeName, crg::ImageViewIdArray targetImage, crg::ImageViewIdArray targetDepth, RenderNodesPassDesc const &desc)
 Constructeur.
 
virtual C3D_API void doUpdateUbos (CpuUpdater &updater)
 Met à jour la passe de rendu, au niveau CPU.
 
virtual C3D_API void doFillAdditionalBindings (PipelineFlags const &flags, ashes::VkDescriptorSetLayoutBindingArray &bindings) const =0
 Remplit les attaches de layout de descripteurs spécifiques à une passe de rendu.
 
virtual C3D_API bool doIsValidPass (Pass const &pass) const
 
virtual C3D_API bool doIsValidRenderable (RenderedObject const &object) const
 
virtual C3D_API SubmeshFlags doAdjustSubmeshFlags (SubmeshFlags flags) const
 
virtual C3D_API ProgramFlags doAdjustProgramFlags (ProgramFlags flags) const
 
virtual C3D_API SceneFlags doAdjustSceneFlags (SceneFlags flags) const
 
C3D_API ShaderProgramRPtr doGetProgram (PipelineFlags const &flags, VkCullModeFlags cullMode=VK_CULL_MODE_NONE)
 
C3D_API void doUpdateFlags (PipelineFlags &flags) const
 
C3D_API void doAddShadowBindings (Scene const &scene, PipelineFlags const &flags, ashes::VkDescriptorSetLayoutBindingArray &bindings, uint32_t &index) const
 
C3D_API void doAddBackgroundBindings (Scene const &scene, PipelineFlags const &flags, ashes::VkDescriptorSetLayoutBindingArray &bindings, uint32_t &index) const
 
C3D_API void doAddShadowDescriptor (Scene const &scene, PipelineFlags const &flags, ashes::WriteDescriptorSetArray &descriptorWrites, ShadowMapLightTypeArray const &shadowMaps, uint32_t &index) const
 
C3D_API void doAddBackgroundDescriptor (Scene const &scene, PipelineFlags const &flags, ashes::WriteDescriptorSetArray &descriptorWrites, crg::ImageViewIdArray const &targetImage, uint32_t &index) const
 

Attributs protégés

RenderDevice const & m_device
 
RenderSystemm_renderSystem
 
CameraUbo const & m_cameraUbo
 
SceneCullerm_culler
 
crg::ImageViewIdArray m_targetImage
 
crg::ImageViewIdArray m_targetDepth
 
castor::String m_typeName
 
RenderPassTypeID m_typeID {}
 
RenderFilters m_filters { RenderFilter::eNone }
 
RenderQueueUPtr m_renderQueue
 
castor::String m_category
 
castor::Size m_size
 
bool m_oit { false }
 
bool m_forceTwoSided { false }
 
bool m_safeBand { false }
 
bool m_isDirty { true }
 
bool m_meshShading {}
 
SceneUbo const * m_sceneUbo {}
 
uint32_t m_index { 0u }
 
std::optional< bool > m_handleStatic { std::nullopt }
 

Documentation des constructeurs et destructeur

◆ RenderNodesPass()

C3D_API castor3d::RenderNodesPass::RenderNodesPass ( crg::FramePass const &  pass,
crg::GraphContext &  context,
crg::RunnableGraph &  graph,
RenderDevice const &  device,
castor::String const &  typeName,
crg::ImageViewIdArray  targetImage,
crg::ImageViewIdArray  targetDepth,
RenderNodesPassDesc const &  desc 
)
protected

Constructeur.

Paramètres
[in]passLa frame pass parente.
[in]contextLe contexte de rendu.
[in]graphLe runnable graph.
[in]deviceLe device GPU.
[in]typeNameLe nom du type de la passe.
[in]targetImageL'image dans laquelle cette passe fait son rendu.
[in]targetDepthL'image de profondeur dans laquelle cette passe fait son rendu.
[in]descLes données de construction.

◆ ~RenderNodesPass()

C3D_API castor3d::RenderNodesPass::~RenderNodesPass ( )
override

Destructeur.

Documentation des fonctions membres

◆ adjustFlags() [1/5]

C3D_API PassComponentCombine castor3d::RenderNodesPass::adjustFlags ( PassComponentCombine  flags) const

Ajuste les flags donnés pour qu'ils correspondent aux pré-requis de la passe.

Paramètres
[in]flagsLes flags.

◆ adjustFlags() [2/5]

C3D_API ProgramFlags castor3d::RenderNodesPass::adjustFlags ( ProgramFlags  flags) const

Ajuste les flags donnés pour qu'ils correspondent aux pré-requis de la passe.

Paramètres
[in]flagsLes flags.

◆ adjustFlags() [3/5]

C3D_API SceneFlags castor3d::RenderNodesPass::adjustFlags ( SceneFlags  flags) const

Ajuste les flags donnés pour qu'ils correspondent aux pré-requis de la passe.

Paramètres
[in]flagsLes flags.

◆ adjustFlags() [4/5]

C3D_API SubmeshFlags castor3d::RenderNodesPass::adjustFlags ( SubmeshFlags  flags) const

Ajuste les flags donnés pour qu'ils correspondent aux pré-requis de la passe.

Paramètres
[in]flagsLes flags.

◆ adjustFlags() [5/5]

C3D_API TextureCombine castor3d::RenderNodesPass::adjustFlags ( TextureCombine  texturesFlags) const

Filtre les indicateurs de textures donnés en utilisant ceux voulus par cette passe.

Paramètres
[in]texturesFlagsLes indicateurs de textures.
Renvoie
Les indicateurs filtrés.

◆ areValidPassFlags()

virtual C3D_API bool castor3d::RenderNodesPass::areValidPassFlags ( PassComponentCombine const &  passFlags) const
virtual

Réimplémentée dans castor3d::RenderTechniqueNodesPass.

Référencé par castor3d::RenderTechniqueNodesPass::areValidPassFlags().

Voici le graphe des appelants de cette fonction :

◆ countNodes()

C3D_API void castor3d::RenderNodesPass::countNodes ( RenderInfo info) const

Enregistre les comptes de noeuds dans le RenderInfo donné.

Paramètres
[in,out]infoReçoit les comptes.

Référencé par castor3d::RenderTechniqueNodesPass::countNodes().

Voici le graphe des appelants de cette fonction :

◆ createBlendState()

static C3D_API ashes::PipelineColorBlendStateCreateInfo castor3d::RenderNodesPass::createBlendState ( BlendMode  colourBlendMode,
BlendMode  alphaBlendMode,
uint32_t  attachesCount 
)
static

Crée un état de mélange correspondant aux modes de mélange donnés.

Paramètres
[in]colourBlendModeLe mode de mélange couleurs.
[in]alphaBlendModeLe mode de mélange alpha.
[in]attachesCountLe nombre d'attaches de mélange voulues.
Renvoie

◆ createPipelineFlags() [1/2]

C3D_API PipelineFlags castor3d::RenderNodesPass::createPipelineFlags ( Pass const &  pass,
TextureCombine const &  textures,
SubmeshFlags const &  submeshFlags,
ProgramFlags const &  programFlags,
SceneFlags const &  sceneFlags,
VkPrimitiveTopology  topology,
bool  isFrontCulled,
GpuBufferOffsetT< castor::Point4f > const &  morphTargets 
) const

Crée les indicateurs de pipeline pour la configuration donnée.

Paramètres
[in]passLa passe pour laquelle le pipeline est créé.
[in]texturesLa configuration des textures.
[in]submeshFlagsUne combinaison de SubmeshFlag.
[in]programFlagsUne combinaison de ProgramFlag.
[in]sceneFlagsLes indicateurs relatifs à la scène.
[in]topologyLa topologie de rendu.
[in]isFrontCulledtrue pour front face culling, false pour back face culling.
[in]morphTargetsLe buffer de morph targets.

◆ createPipelineFlags() [2/2]

C3D_API PipelineFlags castor3d::RenderNodesPass::createPipelineFlags ( PassComponentCombine  components,
BlendMode  colourBlendMode,
BlendMode  alphaBlendMode,
RenderPassTypeID  renderPassTypeId,
LightingModelID  lightingModelId,
BackgroundModelID  backgroundModelId,
VkCompareOp  alphaFunc,
VkCompareOp  blendAlphaFunc,
TextureCombine const &  textures,
SubmeshFlags const &  submeshFlags,
ProgramFlags const &  programFlags,
SceneFlags const &  sceneFlags,
VkPrimitiveTopology  topology,
bool  isFrontCulled,
bool  invertNormals,
uint32_t  passLayerIndex,
GpuBufferOffsetT< castor::Point4f > const &  morphTargets 
) const

Crée les indicateurs de pipeline pour la configuration donnée.

Paramètres
[in]componentsLa combinaison de composants.
[in]colourBlendModeLe mode de mélange de couleurs.
[in]alphaBlendModeLe mode de mélange de l'alpha
[in]renderPassTypeIdL'ID du type de render pass.
[in]lightingModelIdL'ID du modèle d'éclairage.
[in]backgroundModelIdL'ID du modèle de fond.
[in]alphaFuncLa fonction de comparaison de l'alpha (pour les noeuds opaques).
[in]blendAlphaFuncLa fonction de comparaison de l'alpha (pour les noeuds transparents).
[in]texturesLa configuration des textures.
[in]submeshFlagsUne combinaison de SubmeshFlag.
[in]programFlagsUne combinaison de ProgramFlag.
[in]sceneFlagsLes indicateurs relatifs à la scène.
[in]topologyLa topologie de rendu.
[in]isFrontCulledtrue pour front face culling, false pour back face culling.
[in]invertNormalstrue pour inverser les normales.
[in]passLayerIndexL'indice de la couche de la passe de matériau.
[in]morphTargetsLe buffer de morph targets.

◆ doAddBackgroundBindings()

C3D_API void castor3d::RenderNodesPass::doAddBackgroundBindings ( Scene const &  scene,
PipelineFlags const &  flags,
ashes::VkDescriptorSetLayoutBindingArray &  bindings,
uint32_t &  index 
) const
protected

◆ doAddBackgroundDescriptor()

C3D_API void castor3d::RenderNodesPass::doAddBackgroundDescriptor ( Scene const &  scene,
PipelineFlags const &  flags,
ashes::WriteDescriptorSetArray &  descriptorWrites,
crg::ImageViewIdArray const &  targetImage,
uint32_t &  index 
) const
protected

◆ doAddShadowBindings()

C3D_API void castor3d::RenderNodesPass::doAddShadowBindings ( Scene const &  scene,
PipelineFlags const &  flags,
ashes::VkDescriptorSetLayoutBindingArray &  bindings,
uint32_t &  index 
) const
protected

◆ doAddShadowDescriptor()

C3D_API void castor3d::RenderNodesPass::doAddShadowDescriptor ( Scene const &  scene,
PipelineFlags const &  flags,
ashes::WriteDescriptorSetArray &  descriptorWrites,
ShadowMapLightTypeArray const &  shadowMaps,
uint32_t &  index 
) const
protected

◆ doAdjustProgramFlags()

virtual C3D_API ProgramFlags castor3d::RenderNodesPass::doAdjustProgramFlags ( ProgramFlags  flags) const
protectedvirtual

Réimplémentée dans castor3d::RenderTechniqueNodesPass.

◆ doAdjustSceneFlags()

virtual C3D_API SceneFlags castor3d::RenderNodesPass::doAdjustSceneFlags ( SceneFlags  flags) const
protectedvirtual

Réimplémentée dans castor3d::RenderTechniqueNodesPass.

◆ doAdjustSubmeshFlags()

virtual C3D_API SubmeshFlags castor3d::RenderNodesPass::doAdjustSubmeshFlags ( SubmeshFlags  flags) const
protectedvirtual

◆ doFillAdditionalBindings()

virtual C3D_API void castor3d::RenderNodesPass::doFillAdditionalBindings ( PipelineFlags const &  flags,
ashes::VkDescriptorSetLayoutBindingArray &  bindings 
) const
protectedpure virtual

Remplit les attaches de layout de descripteurs spécifiques à une passe de rendu.

Paramètres
[in]flagsLes indicateurs de pipeline.
[in,out]bindingsReçoit les attaches additionnelles.

◆ doGetProgram()

C3D_API ShaderProgramRPtr castor3d::RenderNodesPass::doGetProgram ( PipelineFlags const &  flags,
VkCullModeFlags  cullMode = VK_CULL_MODE_NONE 
)
protected

◆ doIsValidPass()

virtual C3D_API bool castor3d::RenderNodesPass::doIsValidPass ( Pass const &  pass) const
protectedvirtual
Paramètres
[in]passLa passe de matériau.
Renvoie
true si la passe est rendue via cette passe de noeuds.

◆ doIsValidRenderable()

virtual C3D_API bool castor3d::RenderNodesPass::doIsValidRenderable ( RenderedObject const &  object) const
protectedvirtual
Paramètres
[in]objectL'objet rendu.
Renvoie
true si l'objet est rendu via cette passe de noeuds.

◆ doUpdateFlags()

C3D_API void castor3d::RenderNodesPass::doUpdateFlags ( PipelineFlags flags) const
protected

◆ doUpdateUbos()

virtual C3D_API void castor3d::RenderNodesPass::doUpdateUbos ( CpuUpdater updater)
protectedvirtual

Met à jour la passe de rendu, au niveau CPU.

Paramètres
[in,out]updaterLes données d'update.

◆ fillPipelinesIds()

C3D_API std::pair< uint32_t, uint32_t > castor3d::RenderNodesPass::fillPipelinesIds ( castor::ArrayView< uint32_t >  nodesPipelinesIds) const

◆ filtersNonStatic()

bool castor3d::RenderNodesPass::filtersNonStatic ( ) const
inline

Références handleStatic(), et m_handleStatic.

Voici le graphe d'appel pour cette fonction :

◆ filtersStatic()

bool castor3d::RenderNodesPass::filtersStatic ( ) const
inline

Références handleStatic(), et m_handleStatic.

Voici le graphe d'appel pour cette fonction :

◆ forceTwoSided()

bool castor3d::RenderNodesPass::forceTwoSided ( ) const
inline

Références m_forceTwoSided.

◆ getBillboardNodes()

C3D_API NodePtrByPipelineMapT< BillboardRenderNode > const & castor3d::RenderNodesPass::getBillboardNodes ( ) const

◆ getComponentsMask()

virtual C3D_API ComponentModeFlags castor3d::RenderNodesPass::getComponentsMask ( ) const
virtual

◆ getCuller()

SceneCuller & castor3d::RenderNodesPass::getCuller ( ) const
inline

Références m_culler.

◆ getDomainShaderSource()

C3D_API ShaderPtr castor3d::RenderNodesPass::getDomainShaderSource ( PipelineFlags const &  flags) const

Récupère le source du domain shader qui correspond aux indicateurs donnés.

Paramètres
[in]flagsLes indicateurs de pipeline.

◆ getDrawCallsCount()

C3D_API uint32_t castor3d::RenderNodesPass::getDrawCallsCount ( ) const

◆ getGeometryShaderSource()

C3D_API ShaderPtr castor3d::RenderNodesPass::getGeometryShaderSource ( PipelineFlags const &  flags) const

Récupère le source du geometry shader qui correspond aux indicateurs donnés.

Paramètres
[in]flagsLes indicateurs de pipeline.

◆ getHullShaderSource()

C3D_API ShaderPtr castor3d::RenderNodesPass::getHullShaderSource ( PipelineFlags const &  flags) const

Récupère le source du hull shader qui correspond aux indicateurs donnés.

Paramètres
[in]flagsLes indicateurs de pipeline.

◆ getIgnoredNode()

C3D_API SceneNode const * castor3d::RenderNodesPass::getIgnoredNode ( ) const

◆ getInstancedSubmeshNodes()

C3D_API ObjectNodesPtrByPipelineMapT< SubmeshRenderNode > const & castor3d::RenderNodesPass::getInstancedSubmeshNodes ( ) const

◆ getMatrixUbo()

CameraUbo const & castor3d::RenderNodesPass::getMatrixUbo ( ) const
inline

Références m_cameraUbo.

◆ getMeshShaderSource()

C3D_API ShaderPtr castor3d::RenderNodesPass::getMeshShaderSource ( PipelineFlags const &  flags) const

Récupère le source du mesh shader qui correspond aux indicateurs donnés.

Paramètres
[in]flagsLes indicateurs de pipeline.

◆ getPassPipelineNodes()

C3D_API PipelineBufferArray const & castor3d::RenderNodesPass::getPassPipelineNodes ( ) const

◆ getPipelineNodesIndex()

C3D_API uint32_t castor3d::RenderNodesPass::getPipelineNodesIndex ( PipelineBaseHash const &  hash,
ashes::BufferBase const &  buffer 
) const

◆ getPipelinesCount()

uint32_t castor3d::RenderNodesPass::getPipelinesCount ( ) const
inline

◆ getPixelShaderSource()

C3D_API ShaderPtr castor3d::RenderNodesPass::getPixelShaderSource ( PipelineFlags const &  flags) const

Récupère le source du pixel shader qui correspond aux indicateurs donnés.

Paramètres
[in]flagsLes indicateurs de pipeline.

◆ getRenderFilters()

RenderFilters castor3d::RenderNodesPass::getRenderFilters ( ) const
inline

Références m_filters.

◆ getScene()

C3D_API Scene & castor3d::RenderNodesPass::getScene ( ) const

◆ getShaderFlags()

virtual C3D_API ShaderFlags castor3d::RenderNodesPass::getShaderFlags ( ) const
virtual

◆ getSubmeshNodes()

C3D_API NodePtrByPipelineMapT< SubmeshRenderNode > const & castor3d::RenderNodesPass::getSubmeshNodes ( ) const

◆ getTaskShaderSource()

C3D_API ShaderPtr castor3d::RenderNodesPass::getTaskShaderSource ( PipelineFlags const &  flags) const

Récupère le source du task shader qui correspond aux indicateurs donnés.

Paramètres
[in]flagsLes indicateurs de pipeline.

◆ getTypeID()

RenderPassTypeID castor3d::RenderNodesPass::getTypeID ( ) const
inline

Références m_typeID.

◆ getTypeName()

castor::String const & castor3d::RenderNodesPass::getTypeName ( ) const
inline

Références m_typeName.

◆ getVertexShaderSource()

C3D_API ShaderPtr castor3d::RenderNodesPass::getVertexShaderSource ( PipelineFlags const &  flags) const

Récupère le source du vertex shader qui correspond aux indicateurs donnés.

Paramètres
[in]flagsLes indicateurs de pipeline.

◆ handleStatic()

bool castor3d::RenderNodesPass::handleStatic ( ) const
inline

Références m_handleStatic.

Référencé par filtersNonStatic(), et filtersStatic().

Voici le graphe des appelants de cette fonction :

◆ hasNodes()

C3D_API bool castor3d::RenderNodesPass::hasNodes ( ) const

◆ initialiseAdditionalDescriptor()

C3D_API void castor3d::RenderNodesPass::initialiseAdditionalDescriptor ( RenderPipeline pipeline,
ShadowMapLightTypeArray const &  shadowMaps,
GpuBufferOffsetT< castor::Point4f > const &  morphTargets 
)

Initialise l'ensemble de descripteurs additionnels.

Paramètres
[in]pipelineLe render pipeline.
[in]shadowMapsLes shadow maps.
[in]morphTargetsLe buffer de morph targets.

◆ isDirty()

bool castor3d::RenderNodesPass::isDirty ( ) const
inline

Références m_isDirty.

◆ isMeshShading()

C3D_API bool castor3d::RenderNodesPass::isMeshShading ( ) const

◆ isOrderIndependent()

bool castor3d::RenderNodesPass::isOrderIndependent ( ) const
inline

Références m_oit.

◆ isPassEnabled()

virtual C3D_API bool castor3d::RenderNodesPass::isPassEnabled ( ) const
virtual

◆ isValidNode()

C3D_API bool castor3d::RenderNodesPass::isValidNode ( SceneNode const &  node) const

◆ isValidPass()

C3D_API bool castor3d::RenderNodesPass::isValidPass ( Pass const &  pass) const

◆ isValidRenderable()

C3D_API bool castor3d::RenderNodesPass::isValidRenderable ( RenderedObject const &  object) const

◆ prepareBackPipeline()

C3D_API RenderPipeline & castor3d::RenderNodesPass::prepareBackPipeline ( PipelineFlags  pipelineFlags,
ashes::PipelineVertexInputStateCreateInfoCRefArray const &  vertexLayouts,
ashes::DescriptorSetLayout const *  meshletDescriptorLayout 
)

Prépare le pipeline qui correspond aux indicateurs donnés, pour les noeuds en back face culling.

Paramètres
[in]pipelineFlagsLes indicateurs de pipeline.
[in]vertexLayoutsLes layouts des tampons de sommets.
[in]meshletDescriptorLayoutLes layouts optionnels de descripteurs de meshlets.

◆ prepareFrontPipeline()

C3D_API RenderPipeline & castor3d::RenderNodesPass::prepareFrontPipeline ( PipelineFlags  pipelineFlags,
ashes::PipelineVertexInputStateCreateInfoCRefArray const &  vertexLayouts,
ashes::DescriptorSetLayout const *  meshletDescriptorLayout 
)

Prépare le pipeline qui correspond aux indicateurs donnés, pour les noeuds en front face culling.

Paramètres
[in]pipelineFlagsLes indicateurs de pipeline.
[in]vertexLayoutsLes layouts des tampons de sommets.
[in]meshletDescriptorLayoutLes layouts optionnels de descripteurs de meshlets.

◆ setIgnoredNode()

C3D_API void castor3d::RenderNodesPass::setIgnoredNode ( SceneNode const &  node)

Définit le noeud ignoré.

Remarques
Tous les objets liés à ce noued seront ignorés lors du rendu.
Paramètres
[in]nodeLe noeud.

◆ update()

virtual C3D_API void castor3d::RenderNodesPass::update ( CpuUpdater updater)
virtual

Met à jour la passe de rendu, au niveau CPU.

Paramètres
[in,out]updaterLes données d'update.

Réimplémentée dans castor3d::VoxelizePass, castor3d::RenderTechniqueNodesPass, castor3d::ShadowMapPassDirectional, castor3d::ShadowMapPassPoint, et castor3d::ShadowMapPassSpot.

Documentation des données membres

◆ m_cameraUbo

CameraUbo const& castor3d::RenderNodesPass::m_cameraUbo
protected

Référencé par getMatrixUbo().

◆ m_category

castor::String castor3d::RenderNodesPass::m_category
protected

◆ m_culler

SceneCuller& castor3d::RenderNodesPass::m_culler
protected

Référencé par getCuller().

◆ m_device

RenderDevice const& castor3d::RenderNodesPass::m_device
protected

◆ m_filters

RenderFilters castor3d::RenderNodesPass::m_filters { RenderFilter::eNone }
protected

Référencé par getRenderFilters().

◆ m_forceTwoSided

bool castor3d::RenderNodesPass::m_forceTwoSided { false }
protected

Référencé par forceTwoSided().

◆ m_handleStatic

std::optional< bool > castor3d::RenderNodesPass::m_handleStatic { std::nullopt }
protected

◆ m_index

uint32_t castor3d::RenderNodesPass::m_index { 0u }
protected

◆ m_isDirty

bool castor3d::RenderNodesPass::m_isDirty { true }
protected

Référencé par isDirty().

◆ m_meshShading

bool castor3d::RenderNodesPass::m_meshShading {}
protected

◆ m_oit

bool castor3d::RenderNodesPass::m_oit { false }
protected

Référencé par isOrderIndependent().

◆ m_renderQueue

RenderQueueUPtr castor3d::RenderNodesPass::m_renderQueue
protected

◆ m_renderSystem

RenderSystem& castor3d::RenderNodesPass::m_renderSystem
protected

◆ m_safeBand

bool castor3d::RenderNodesPass::m_safeBand { false }
protected

◆ m_sceneUbo

SceneUbo const* castor3d::RenderNodesPass::m_sceneUbo {}
protected

◆ m_size

castor::Size castor3d::RenderNodesPass::m_size
protected

◆ m_targetDepth

crg::ImageViewIdArray castor3d::RenderNodesPass::m_targetDepth
protected

◆ m_targetImage

crg::ImageViewIdArray castor3d::RenderNodesPass::m_targetImage
protected

◆ m_typeID

RenderPassTypeID castor3d::RenderNodesPass::m_typeID {}
protected

Référencé par getTypeID().

◆ m_typeName

castor::String castor3d::RenderNodesPass::m_typeName
protected

Référencé par getTypeName().

◆ onSortNodes

PassSortNodesSignal castor3d::RenderNodesPass::onSortNodes
mutable

La documentation de cette classe a été générée à partir du fichier suivant :