Castor3D 0.12.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::ShadowMapPass

#include <ShadowMapPass.hpp>

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

Fonctions membres publiques

C3D_API ShadowMapPass (crg::FramePass const &pass, crg::GraphContext &context, crg::RunnableGraph &graph, RenderDevice const &device, castor::String const &typeName, castor::String name, MatrixUbo &matrixUbo, SceneCuller &culler, ShadowMap const &shadowMap)
 Constructeur. Plus de détails...
 
bool isUpToDate () const
 
TextureFlags getTexturesMask () const override
 
ShaderFlags getShaderFlags () const override
 
void setUpToDate ()
 
- 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...
 
virtual C3D_API void update (GpuUpdater &updater)
 Met à jour la passe de rendu, au niveau GPU. 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 PassFlags adjustFlags (PassFlags 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 PipelineFlags createPipelineFlags (BlendMode colourBlendMode, BlendMode alphaBlendMode, PassFlags passFlags, RenderPassTypeID renderPassTypeID, PassTypeID passTypeID, uint32_t heightTextureIndex, VkCompareOp alphaFunc, VkCompareOp blendAlphaFunc, TextureFlagsArray const &textures, ProgramFlags const &programFlags, SceneFlags const &sceneFlags, VkPrimitiveTopology topology, bool isFrontCulled)
 Crée les indicateurs de pipeline pour la configuration donnée. Plus de détails...
 
C3D_API PipelineFlags createPipelineFlags (Pass const &pass, TextureFlagsArray const &textures, ProgramFlags const &programFlags, SceneFlags const &sceneFlags, VkPrimitiveTopology topology, bool isFrontCulled)
 Crée les indicateurs de pipeline pour la configuration donnée. Plus de détails...
 
C3D_API RenderPipelineprepareBackPipeline (PipelineFlags pipelineFlags, ashes::PipelineVertexInputStateCreateInfoCRefArray const &vertexLayouts)
 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)
 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)
 Initialise l'ensemble de descripteurs additionnels pour un noeud de billboard. Plus de détails...
 
C3D_API FilteredTextureFlags filterTexturesFlags (TextureFlagsArray const &textures) const
 Filtre les indicateurs de textures donnés en utilisant ceux voulus par cette passe. Plus de détails...
 
C3D_API void setIgnoredNode (SceneNode const &node)
 Définit le noeud ignoré. Plus de détails...
 
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
 
bool isOrderIndependent () const
 
SceneCuller const & getCuller () const
 
SceneCullergetCuller ()
 
SceneUbogetSceneUbo ()
 
SceneUbo const & getSceneUbo () const
 
MatrixUbogetMatrixUbo () const
 
uint32_t getPipelinesCount () const
 
bool isDirty () const
 
bool forceTwoSided () const
 
RenderMode getRenderMode () const
 
castor::String const & getTypeName () const
 
RenderPassTypeID getTypeID () const
 

Fonctions membres protégées

void doUpdateNodes (QueueRenderNodes &nodes)
 Met à jour les noeuds donnés. Plus de détails...
 
- 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, castor::String const &category, castor::String const &name, RenderNodesPassDesc const &desc)
 Constructeur. Plus de détails...
 
C3D_API void doUpdate (SubmeshRenderNodesPtrByPipelineMap &nodes)
 Met à jour des sous maillages instanciés. Plus de détails...
 
C3D_API void doUpdate (SubmeshRenderNodesPtrByPipelineMap &nodes, RenderInfo &info)
 Met à jour des sous maillages instanciés. Plus de détails...
 
C3D_API void doUpdate (SubmeshRenderNodePtrByPipelineMap &nodes)
 Met à jour des sous maillages non instanciés. Plus de détails...
 
C3D_API void doUpdate (SubmeshRenderNodePtrByPipelineMap &nodes, RenderInfo &info)
 Met à jour des sous maillages non instanciés. Plus de détails...
 
C3D_API void doUpdate (BillboardRenderNodePtrByPipelineMap &nodes)
 Met à jour des billboards. Plus de détails...
 
C3D_API void doUpdate (BillboardRenderNodePtrByPipelineMap &nodes, RenderInfo &info)
 Met à jour des billboards. Plus de détails...
 
virtual C3D_API void doUpdate (RenderQueueArray &queues)
 Met les données spécifiques. 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 doAreValidPassFlags (PassFlags const &passFlags) const
 
virtual C3D_API bool doIsValidPass (Pass const &pass) const
 
virtual C3D_API bool doIsValidRenderable (RenderedObject const &object) const
 
virtual C3D_API PassFlags doAdjustPassFlags (PassFlags 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)
 

Attributs protégés

ShadowMap const & m_shadowMap
 
bool m_initialised { false }
 
bool m_outOfDate { true }
 
ShadowMapUbo m_shadowMapUbo
 
- Attributs protégés hérités de castor3d::RenderNodesPass
RenderDevice const & m_device
 
RenderSystemm_renderSystem
 
MatrixUbom_matrixUbo
 
SceneCullerm_culler
 
castor::String m_typeName
 
RenderPassTypeID m_typeID {}
 
RenderQueueUPtr m_renderQueue
 
castor::String m_category
 
castor::Size m_size
 
RenderMode m_mode { RenderMode::eBoth }
 
bool m_oit { false }
 
bool m_forceTwoSided { false }
 
bool m_safeBand { false }
 
bool m_isDirty { true }
 
SceneUbo m_sceneUbo
 
uint32_t m_index { 0u }
 
std::array< PassDescriptors, size_t(RenderNodeType::eCount) > m_additionalDescriptors
 

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

◆ ShadowMapPass()

C3D_API castor3d::ShadowMapPass::ShadowMapPass ( crg::FramePass const &  pass,
crg::GraphContext &  context,
crg::RunnableGraph &  graph,
RenderDevice const &  device,
castor::String const &  typeName,
castor::String  name,
MatrixUbo matrixUbo,
SceneCuller culler,
ShadowMap const &  shadowMap 
)

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 passe de shadow map.
[in]nameLe nom de la passe.
[in]matrixUboL'UBO de matrices de la scène.
[in]cullerLe culler pour cette passe.
[in]shadowMapLa shadow map parente.

Documentation des fonctions membres

◆ doUpdateNodes()

void castor3d::ShadowMapPass::doUpdateNodes ( QueueRenderNodes nodes)
protected

Met à jour les noeuds donnés.

Paramètres
nodesLes noeuds.

◆ getShaderFlags()

ShaderFlags castor3d::ShadowMapPass::getShaderFlags ( ) const
inlineoverridevirtual

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

Références castor3d::eTangentSpace, et castor3d::eWorldSpace.

◆ getTexturesMask()

TextureFlags castor3d::ShadowMapPass::getTexturesMask ( ) const
inlineoverridevirtual

name Accesseurs.

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

Références castor3d::ShadowMap::textureFlags.

◆ isUpToDate()

bool castor3d::ShadowMapPass::isUpToDate ( ) const
inline

name Accesseurs.

Références m_outOfDate.

◆ setUpToDate()

void castor3d::ShadowMapPass::setUpToDate ( )
inline

name Mutateurs.

Références m_outOfDate.

Documentation des données membres

◆ m_initialised

bool castor3d::ShadowMapPass::m_initialised { false }
mutableprotected

◆ m_outOfDate

bool castor3d::ShadowMapPass::m_outOfDate { true }
protected

Référencé par isUpToDate(), et setUpToDate().

◆ m_shadowMap

ShadowMap const& castor3d::ShadowMapPass::m_shadowMap
protected

◆ m_shadowMapUbo

ShadowMapUbo castor3d::ShadowMapPass::m_shadowMapUbo
protected

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