Castor3D 0.14.0
Multiplatform 3D engine
Fonctions membres publiques | Fonctions membres protégées | Attributs protégés | Liste de tous les membres
Référence de la classe castor3d::RenderTechniqueNodesPass

#include <RenderTechniquePass.hpp>

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

Fonctions membres publiques

C3D_API void accept (RenderTechniqueVisitor &visitor) override
 Fonction d'acceptation de visiteur. Plus de détails...
 
C3D_API void update (CpuUpdater &updater) override
 Met à jour la passe de rendu, au niveau CPU. Plus de détails...
 
C3D_API PipelineFlags createPipelineFlags (PassComponentCombine components, BlendMode colourBlendMode, BlendMode alphaBlendMode, RenderPassTypeID renderPassTypeID, PassTypeID passTypeID, VkCompareOp alphaFunc, VkCompareOp blendAlphaFunc, TextureCombine const &textures, SubmeshFlags const &submeshFlags, ProgramFlags const &programFlags, SceneFlags const &sceneFlags, VkPrimitiveTopology topology, bool isFrontCulled, uint32_t passLayerIndex, GpuBufferOffsetT< castor::Point4f > const &morphTargets) const override
 Crée les indicateurs de pipeline pour la configuration donnée. Plus de détails...
 
C3D_API ShaderFlags getShaderFlags () const override
 
C3D_API bool areValidPassFlags (PassComponentCombine const &passFlags) const override
 
EnginegetEngine () const
 
Scene const & getScene () const
 
RenderTechnique const & getTechnique () const
 
- Fonctions membres publiques hérités de castor3d::RenderNodesPass
C3D_API ~RenderNodesPass () override
 Destructeur. Plus de détails...
 
virtual C3D_API void update (CpuUpdater &updater)
 Met à jour la passe de rendu, au niveau CPU. Plus de détails...
 
C3D_API ShaderPtr getTaskShaderSource (PipelineFlags const &flags) const
 Récupère le source du task shader qui correspond aux indicateurs donnés. Plus de détails...
 
C3D_API ShaderPtr getMeshShaderSource (PipelineFlags const &flags) const
 Récupère le source du mesh shader qui correspond aux indicateurs donnés. Plus de détails...
 
C3D_API ShaderPtr getVertexShaderSource (PipelineFlags const &flags) const
 Récupère le source du vertex shader qui correspond aux indicateurs donnés. Plus de détails...
 
C3D_API ShaderPtr getHullShaderSource (PipelineFlags const &flags) const
 Récupère le source du hull shader qui correspond aux indicateurs donnés. Plus de détails...
 
C3D_API ShaderPtr getDomainShaderSource (PipelineFlags const &flags) const
 Récupère le source du domain shader qui correspond aux indicateurs donnés. Plus de détails...
 
C3D_API ShaderPtr getGeometryShaderSource (PipelineFlags const &flags) const
 Récupère le source du geometry shader qui correspond aux indicateurs donnés. Plus de détails...
 
C3D_API ShaderPtr getPixelShaderSource (PipelineFlags const &flags) const
 Récupère le source du pixel shader qui correspond aux indicateurs donnés. Plus de détails...
 
C3D_API SubmeshFlags adjustFlags (SubmeshFlags flags) const
 Ajuste les flags donnés pour qu'ils correspondent aux pré-requis de la passe. Plus de détails...
 
C3D_API PassComponentCombine adjustFlags (PassComponentCombine flags) const
 Ajuste les flags donnés pour qu'ils correspondent aux pré-requis de la passe. Plus de détails...
 
C3D_API ProgramFlags adjustFlags (ProgramFlags flags) const
 Ajuste les flags donnés pour qu'ils correspondent aux pré-requis de la passe. Plus de détails...
 
C3D_API SceneFlags adjustFlags (SceneFlags flags) const
 Ajuste les flags donnés pour qu'ils correspondent aux pré-requis de la passe. Plus de détails...
 
C3D_API TextureCombine adjustFlags (TextureCombine texturesFlags) const
 Filtre les indicateurs de textures donnés en utilisant ceux voulus par cette passe. Plus de détails...
 
C3D_API PipelineFlags createPipelineFlags (PassComponentCombine components, BlendMode colourBlendMode, BlendMode alphaBlendMode, RenderPassTypeID renderPassTypeID, PassTypeID passTypeID, VkCompareOp alphaFunc, VkCompareOp blendAlphaFunc, TextureCombine const &textures, SubmeshFlags const &submeshFlags, ProgramFlags const &programFlags, SceneFlags const &sceneFlags, VkPrimitiveTopology topology, bool isFrontCulled, uint32_t passLayerIndex, GpuBufferOffsetT< castor::Point4f > const &morphTargets) const
 Crée les indicateurs de pipeline pour la configuration donnée. Plus de détails...
 
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. Plus de détails...
 
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. Plus de détails...
 
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. Plus de détails...
 
C3D_API void initialiseAdditionalDescriptor (RenderPipeline &pipeline, ShadowMapLightTypeArray const &shadowMaps, GpuBufferOffsetT< castor::Point4f > const &morphTargets)
 Initialise l'ensemble de descripteurs additionnels. Plus de détails...
 
C3D_API void setIgnoredNode (SceneNode const &node)
 Définit le noeud ignoré. Plus de détails...
 
virtual C3D_API ComponentModeFlags getComponentsMask () const
 
C3D_API bool isValidPass (Pass const &pass) const
 
C3D_API bool isValidRenderable (RenderedObject const &object) const
 
C3D_API bool hasNodes () const
 
C3D_API bool isPassEnabled () const
 
C3D_API ScenegetScene () const
 
C3D_API SceneNode const * getIgnoredNode () const
 
C3D_API bool isMeshShading () const
 
bool isOrderIndependent () const
 
SceneCullergetCuller () const
 
MatrixUbogetMatrixUbo () const
 
uint32_t getPipelinesCount () const
 
bool isDirty () const
 
bool forceTwoSided () const
 
RenderFilters getRenderFilters () const
 
castor::String const & getTypeName () const
 
RenderPassTypeID getTypeID () const
 
- Fonctions membres publiques hérités de castor3d::RenderTechniquePass
virtual C3D_API ~RenderTechniquePass ()=default
 
virtual C3D_API void accept (RenderTechniqueVisitor &visitor)
 Fonction d'acceptation de visiteur. Plus de détails...
 
virtual C3D_API void update (CpuUpdater &updater)
 Met à jour la passe de rendu, au niveau CPU. Plus de détails...
 
virtual C3D_API PipelineFlags createPipelineFlags (PassComponentCombine components, BlendMode colourBlendMode, BlendMode alphaBlendMode, RenderPassTypeID renderPassTypeID, PassTypeID passTypeID, VkCompareOp alphaFunc, VkCompareOp blendAlphaFunc, TextureCombine const &textures, SubmeshFlags const &submeshFlags, ProgramFlags const &programFlags, SceneFlags const &sceneFlags, VkPrimitiveTopology topology, bool isFrontCulled, uint32_t passLayerIndex, GpuBufferOffsetT< castor::Point4f > const &morphTargets) const =0
 Crée les indicateurs de pipeline pour la configuration donnée. Plus de détails...
 
virtual C3D_API bool areValidPassFlags (PassComponentCombine const &passFlags) const =0
 
virtual C3D_API ShaderFlags getShaderFlags () const =0
 
C3D_API EnginegetEngine () const
 
Scene const & getScene ()
 
Scene const & getScene () const
 
RenderTechnique const & getTechnique () const
 

Fonctions membres protégées

C3D_API RenderTechniqueNodesPass (RenderTechnique *parent, crg::FramePass const &pass, crg::GraphContext &context, crg::RunnableGraph &graph, RenderDevice const &device, castor::String const &typeName, crg::ImageData const *targetImage, RenderNodesPassDesc const &renderPassDesc, RenderTechniquePassDesc const &techniquePassDesc)
 Constructeur. Plus de détails...
 
C3D_API ProgramFlags doAdjustProgramFlags (ProgramFlags flags) const override
 
C3D_API SceneFlags doAdjustSceneFlags (SceneFlags flags) const override
 
C3D_API void doAddShadowBindings (ashes::VkDescriptorSetLayoutBindingArray &bindings, uint32_t &index) const
 
C3D_API void doAddBackgroundBindings (ashes::VkDescriptorSetLayoutBindingArray &bindings, uint32_t &index) const
 
C3D_API void doAddEnvBindings (ashes::VkDescriptorSetLayoutBindingArray &bindings, uint32_t &index) const
 
C3D_API void doAddGIBindings (ashes::VkDescriptorSetLayoutBindingArray &bindings, uint32_t &index) const
 
C3D_API void doAddPassSpecificsBindings (ashes::VkDescriptorSetLayoutBindingArray &bindings, uint32_t &index) const
 
C3D_API void doAddShadowDescriptor (ashes::WriteDescriptorSetArray &descriptorWrites, ShadowMapLightTypeArray const &shadowMaps, uint32_t &index) const
 
C3D_API void doAddBackgroundDescriptor (ashes::WriteDescriptorSetArray &descriptorWrites, crg::ImageData const &targetImage, uint32_t &index) const
 
C3D_API void doAddEnvDescriptor (ashes::WriteDescriptorSetArray &descriptorWrites, uint32_t &index) const
 
C3D_API void doAddGIDescriptor (ashes::WriteDescriptorSetArray &descriptorWrites, uint32_t &index) const
 
C3D_API void doAddPassSpecificsDescriptor (ashes::WriteDescriptorSetArray &descriptorWrites, uint32_t &index) const
 
- Fonctions membres protégées hérités de castor3d::RenderNodesPass
C3D_API RenderNodesPass (crg::FramePass const &pass, crg::GraphContext &context, crg::RunnableGraph &graph, RenderDevice const &device, castor::String const &typeName, crg::ImageData const *targetImage, RenderNodesPassDesc const &desc)
 Constructeur. Plus de détails...
 
virtual C3D_API void doUpdateUbos (CpuUpdater &updater)
 Met à jour la passe de rendu, au niveau CPU. Plus de détails...
 
virtual C3D_API void doFillAdditionalBindings (ashes::VkDescriptorSetLayoutBindingArray &bindings) const =0
 Remplit les attaches de layout de descripteurs spécifiques à une passe de rendu. Plus de détails...
 
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 ShaderProgramSPtr doGetProgram (PipelineFlags const &flags, VkCullModeFlags cullMode=VK_CULL_MODE_NONE)
 
C3D_API void doUpdateFlags (PipelineFlags &flags) const
 
- Fonctions membres protégées hérités de castor3d::RenderTechniquePass
C3D_API RenderTechniquePass (RenderTechnique *parent, Scene const &scene)
 Constructeur. Plus de détails...
 

Attributs protégés

Cameram_camera { nullptr }
 
ShaderFlags m_shaderFlags {}
 
SsaoConfig m_ssaoConfig
 
Texture const * m_ssao
 
LpvGridConfigUbo const * m_lpvConfigUbo
 
LayeredLpvGridConfigUbo const * m_llpvConfigUbo
 
VoxelizerUbo const * m_vctConfigUbo
 
LightVolumePassResult const * m_lpvResult
 
LightVolumePassResultArray const * m_llpvResult
 
Texture const * m_vctFirstBounce
 
Texture const * m_vctSecondaryBounce
 
- Attributs protégés hérités de castor3d::RenderNodesPass
RenderDevice const & m_device
 
RenderSystemm_renderSystem
 
MatrixUbom_matrixUbo
 
SceneCullerm_culler
 
crg::ImageData const * m_targetImage
 
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
 
SceneUbom_sceneUbo
 
uint32_t m_index { 0u }
 
std::map< size_t, PassDescriptorsm_additionalDescriptors
 
- Attributs protégés hérités de castor3d::RenderTechniquePass
RenderTechniquem_parent {}
 
Scene const & m_scene
 

Membres hérités additionnels

- Fonctions membres publiques statiques hérités de castor3d::RenderNodesPass
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. Plus de détails...
 

Documentation des constructeurs et destructeur

◆ RenderTechniqueNodesPass()

C3D_API castor3d::RenderTechniqueNodesPass::RenderTechniqueNodesPass ( RenderTechnique parent,
crg::FramePass const &  pass,
crg::GraphContext &  context,
crg::RunnableGraph &  graph,
RenderDevice const &  device,
castor::String const &  typeName,
crg::ImageData const *  targetImage,
RenderNodesPassDesc const &  renderPassDesc,
RenderTechniquePassDesc const &  techniquePassDesc 
)
protected

Constructeur.

Paramètres
[in]parentLa technique parente.
[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]renderPassDescLes données de construction de passe de rendu de scène.
[in]techniquePassDescLes données de construction de passe de rendu de technique.

Documentation des fonctions membres

◆ accept()

C3D_API void castor3d::RenderTechniqueNodesPass::accept ( RenderTechniqueVisitor visitor)
overridevirtual

Fonction d'acceptation de visiteur.

Paramètres
visitorLe ... visiteur.

Réimplémentée à partir de castor3d::RenderTechniquePass.

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

◆ areValidPassFlags()

C3D_API bool castor3d::RenderTechniqueNodesPass::areValidPassFlags ( PassComponentCombine const &  passFlags) const
inlineoverridevirtual

Réimplémentée à partir de castor3d::RenderNodesPass.

Références castor3d::RenderNodesPass::areValidPassFlags().

Voici le graphe d'appel pour cette fonction :

◆ createPipelineFlags()

C3D_API PipelineFlags castor3d::RenderTechniqueNodesPass::createPipelineFlags ( PassComponentCombine  components,
BlendMode  colourBlendMode,
BlendMode  alphaBlendMode,
RenderPassTypeID  renderPassTypeID,
PassTypeID  passTypeID,
VkCompareOp  alphaFunc,
VkCompareOp  blendAlphaFunc,
TextureCombine const &  textures,
SubmeshFlags const &  submeshFlags,
ProgramFlags const &  programFlags,
SceneFlags const &  sceneFlags,
VkPrimitiveTopology  topology,
bool  isFrontCulled,
uint32_t  passLayerIndex,
GpuBufferOffsetT< castor::Point4f > const &  morphTargets 
) const
overridevirtual

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]passTypeIDL'ID du type de passe de matériau.
[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]passLayerIndexL'indice de la couche de la passe de matériau.
[in]morphTargetsLe buffer de morph targets.

Implémente castor3d::RenderTechniquePass.

◆ doAddBackgroundBindings()

C3D_API void castor3d::RenderTechniqueNodesPass::doAddBackgroundBindings ( ashes::VkDescriptorSetLayoutBindingArray &  bindings,
uint32_t &  index 
) const
protected

◆ doAddBackgroundDescriptor()

C3D_API void castor3d::RenderTechniqueNodesPass::doAddBackgroundDescriptor ( ashes::WriteDescriptorSetArray &  descriptorWrites,
crg::ImageData const &  targetImage,
uint32_t &  index 
) const
protected

◆ doAddEnvBindings()

C3D_API void castor3d::RenderTechniqueNodesPass::doAddEnvBindings ( ashes::VkDescriptorSetLayoutBindingArray &  bindings,
uint32_t &  index 
) const
protected

◆ doAddEnvDescriptor()

C3D_API void castor3d::RenderTechniqueNodesPass::doAddEnvDescriptor ( ashes::WriteDescriptorSetArray &  descriptorWrites,
uint32_t &  index 
) const
protected

◆ doAddGIBindings()

C3D_API void castor3d::RenderTechniqueNodesPass::doAddGIBindings ( ashes::VkDescriptorSetLayoutBindingArray &  bindings,
uint32_t &  index 
) const
protected

◆ doAddGIDescriptor()

C3D_API void castor3d::RenderTechniqueNodesPass::doAddGIDescriptor ( ashes::WriteDescriptorSetArray &  descriptorWrites,
uint32_t &  index 
) const
protected

◆ doAddPassSpecificsBindings()

C3D_API void castor3d::RenderTechniqueNodesPass::doAddPassSpecificsBindings ( ashes::VkDescriptorSetLayoutBindingArray &  bindings,
uint32_t &  index 
) const
protected

◆ doAddPassSpecificsDescriptor()

C3D_API void castor3d::RenderTechniqueNodesPass::doAddPassSpecificsDescriptor ( ashes::WriteDescriptorSetArray &  descriptorWrites,
uint32_t &  index 
) const
protected

◆ doAddShadowBindings()

C3D_API void castor3d::RenderTechniqueNodesPass::doAddShadowBindings ( ashes::VkDescriptorSetLayoutBindingArray &  bindings,
uint32_t &  index 
) const
protected

◆ doAddShadowDescriptor()

C3D_API void castor3d::RenderTechniqueNodesPass::doAddShadowDescriptor ( ashes::WriteDescriptorSetArray &  descriptorWrites,
ShadowMapLightTypeArray const &  shadowMaps,
uint32_t &  index 
) const
protected

◆ doAdjustProgramFlags()

C3D_API ProgramFlags castor3d::RenderTechniqueNodesPass::doAdjustProgramFlags ( ProgramFlags  flags) const
overrideprotectedvirtual

Réimplémentée à partir de castor3d::RenderNodesPass.

◆ doAdjustSceneFlags()

C3D_API SceneFlags castor3d::RenderTechniqueNodesPass::doAdjustSceneFlags ( SceneFlags  flags) const
overrideprotectedvirtual

Réimplémentée à partir de castor3d::RenderNodesPass.

◆ getEngine()

Engine * castor3d::RenderTechniqueNodesPass::getEngine ( ) const
inline

name Accesseurs.

Références castor3d::RenderTechniquePass::getEngine().

Voici le graphe d'appel pour cette fonction :

◆ getScene()

Scene const & castor3d::RenderTechniqueNodesPass::getScene ( ) const
inline

Références castor3d::RenderTechniquePass::getScene().

Voici le graphe d'appel pour cette fonction :

◆ getShaderFlags()

C3D_API ShaderFlags castor3d::RenderTechniqueNodesPass::getShaderFlags ( ) const
inlineoverridevirtual

Réimplémentée à partir de castor3d::RenderNodesPass.

Références m_shaderFlags.

◆ getTechnique()

RenderTechnique const & castor3d::RenderTechniqueNodesPass::getTechnique ( ) const
inline

Références castor3d::RenderTechniquePass::getTechnique().

Voici le graphe d'appel pour cette fonction :

◆ update()

C3D_API void castor3d::RenderTechniqueNodesPass::update ( CpuUpdater updater)
overridevirtual

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

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

Réimplémentée à partir de castor3d::RenderNodesPass.

Documentation des données membres

◆ m_camera

Camera* castor3d::RenderTechniqueNodesPass::m_camera { nullptr }
protected

◆ m_llpvConfigUbo

LayeredLpvGridConfigUbo const* castor3d::RenderTechniqueNodesPass::m_llpvConfigUbo
protected

◆ m_llpvResult

LightVolumePassResultArray const* castor3d::RenderTechniqueNodesPass::m_llpvResult
protected

◆ m_lpvConfigUbo

LpvGridConfigUbo const* castor3d::RenderTechniqueNodesPass::m_lpvConfigUbo
protected

◆ m_lpvResult

LightVolumePassResult const* castor3d::RenderTechniqueNodesPass::m_lpvResult
protected

◆ m_shaderFlags

ShaderFlags castor3d::RenderTechniqueNodesPass::m_shaderFlags {}
protected

Référencé par getShaderFlags().

◆ m_ssao

Texture const* castor3d::RenderTechniqueNodesPass::m_ssao
protected

◆ m_ssaoConfig

SsaoConfig castor3d::RenderTechniqueNodesPass::m_ssaoConfig
protected

◆ m_vctConfigUbo

VoxelizerUbo const* castor3d::RenderTechniqueNodesPass::m_vctConfigUbo
protected

◆ m_vctFirstBounce

Texture const* castor3d::RenderTechniqueNodesPass::m_vctFirstBounce
protected

◆ m_vctSecondaryBounce

Texture const* castor3d::RenderTechniqueNodesPass::m_vctSecondaryBounce
protected

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