Castor3D  0.11.0
Multiplatform 3D engine
Fonctions membres publiques | Attributs publics statiques | Fonctions membres protégées | Liste de tous les membres
Référence de la classe castor3d::ShadowMapPassPoint
Graphe d'héritage de castor3d::ShadowMapPassPoint:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::ShadowMapPassPoint:
Collaboration graph
[légende]

Fonctions membres publiques

C3D_API ShadowMapPassPoint (Engine &engine, uint32_t index, MatrixUbo &matrixUbo, SceneCuller &culler, ShadowMap const &shadowMap)
 Constructeur. Plus de détails...
 
C3D_API ~ShadowMapPassPoint ()
 Destructeur. Plus de détails...
 
bool update (CpuUpdater &updater) override
 Met à jour la passe de rendu, au niveau CPU. Plus de détails...
 
void update (GpuUpdater &updater) override
 Met à jour la passe de rendu, au niveau CPU. Plus de détails...
 
- Fonctions membres publiques hérités de castor3d::ShadowMapPass
C3D_API ShadowMapPass (castor::String name, Engine &engine, MatrixUbo &matrixUbo, SceneCuller &culler, ShadowMap const &shadowMap)
 Constructeur. Plus de détails...
 
RenderPassTimergetTimer ()
 
bool isUpToDate () const
 
void setUpToDate ()
 
C3D_API TextureFlags getTexturesMask () const override
 
- Fonctions membres publiques hérités de castor3d::SceneRenderPass
virtual C3D_API ~SceneRenderPass ()=default
 Destructeur. Plus de détails...
 
C3D_API bool initialise (RenderDevice const &device, castor::Size const &size)
 Initialise la passe. Plus de détails...
 
C3D_API bool initialise (RenderDevice const &device, castor::Size const &size, RenderPassTimer &timer, uint32_t index)
 Initialise la passe. Plus de détails...
 
C3D_API void cleanup (RenderDevice const &device)
 Nettoie la passe. Plus de détails...
 
C3D_API void update (CpuUpdater &updater)
 Met à jour la passe de rendu, au niveau CPU. 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 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 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 PipelineFlags prepareBackPipeline (BlendMode colourBlendMode, BlendMode alphaBlendMode, VkCompareOp alphaFunc, PassFlags const &passFlags, TextureFlagsArray const &textures, uint32_t heightMapIndex, ProgramFlags const &programFlags, SceneFlags const &sceneFlags, VkPrimitiveTopology topology, ashes::PipelineVertexInputStateCreateInfoCRefArray const &layouts)
 Prépare le pipeline qui correspond aux indicateurs donnés, pour les noeuds en back face culling. Plus de détails...
 
C3D_API void prepareBackPipeline (PipelineFlags &flags, ashes::PipelineVertexInputStateCreateInfoCRefArray const &layouts)
 Prépare le pipeline qui correspond aux indicateurs donnés, pour les noeuds en back face culling. Plus de détails...
 
C3D_API PipelineFlags prepareFrontPipeline (BlendMode colourBlendMode, BlendMode alphaBlendMode, VkCompareOp alphaFunc, PassFlags const &passFlags, TextureFlagsArray const &textures, uint32_t heightMapIndex, ProgramFlags const &programFlags, SceneFlags const &sceneFlags, VkPrimitiveTopology topology, ashes::PipelineVertexInputStateCreateInfoCRefArray const &layouts)
 Prépare le pipeline qui correspond aux indicateurs donnés, pour les noeuds en front face culling. Plus de détails...
 
C3D_API void prepareFrontPipeline (PipelineFlags &flags, ashes::PipelineVertexInputStateCreateInfoCRefArray const &layouts)
 Prépare le pipeline qui correspond aux indicateurs donnés, pour les noeuds en front face culling. Plus de détails...
 
C3D_API RenderPipelinegetPipelineFront (PipelineFlags flags) const
 Récupère le pipeline qui correspond aux indicateurs donnés, pour les faces avant supprimées. Plus de détails...
 
C3D_API RenderPipelinegetPipelineBack (PipelineFlags flags) const
 Récupère le pipeline qui correspond aux indicateurs donnés, pour les faces arrière supprimées. Plus de détails...
 
C3D_API SkinningRenderNode createSkinningNode (Pass &pass, RenderPipeline &pipeline, Submesh &submesh, Geometry &primitive, AnimatedSkeleton &skeleton)
 Crée un noeud de rendu animé. Plus de détails...
 
C3D_API MorphingRenderNode createMorphingNode (Pass &pass, RenderPipeline &pipeline, Submesh &submesh, Geometry &primitive, AnimatedMesh &mesh)
 Crée un noeud de rendu animé. Plus de détails...
 
C3D_API StaticRenderNode createStaticNode (Pass &pass, RenderPipeline &pipeline, Submesh &submesh, Geometry &primitive)
 Crée un noeud de rendu statique. Plus de détails...
 
C3D_API BillboardRenderNode createBillboardNode (Pass &pass, RenderPipeline &pipeline, BillboardBase &billboard)
 Crée un noeud de rendu statique. Plus de détails...
 
C3D_API void updatePipeline (RenderPipeline &pipeline)
 Met à jour lee pipeline opaque. Plus de détails...
 
C3D_API void initialiseUboDescriptor (ashes::DescriptorSetPool const &descriptorPool, BillboardRenderNode &node)
 Initialise l'ensemble de descripteurs d'UBO pour un noeud de billboard. Plus de détails...
 
C3D_API void initialiseUboDescriptor (ashes::DescriptorSetPool const &descriptorPool, MorphingRenderNode &node)
 Initialise l'ensemble de descripteurs d'UBO pour un noeud de morphing. Plus de détails...
 
C3D_API void initialiseUboDescriptor (ashes::DescriptorSetPool const &descriptorPool, SkinningRenderNode &node)
 Initialise l'ensemble de descripteurs d'UBO pour un noeud de skinning. Plus de détails...
 
C3D_API void initialiseUboDescriptor (ashes::DescriptorSetPool const &descriptorPool, StaticRenderNode &node)
 Initialise l'ensemble de descripteurs d'UBO pour un noeud statique. Plus de détails...
 
C3D_API void initialiseUboDescriptor (ashes::DescriptorSetPool const &descriptorPool, SubmeshSkinninRenderNodesByPassMap &nodes)
 Initialise l'ensemble de descripteurs d'UBO pour des noeuds de skining. Plus de détails...
 
C3D_API void initialiseUboDescriptor (ashes::DescriptorSetPool const &descriptorPool, SubmeshStaticRenderNodesByPassMap &nodes)
 Initialise l'ensemble de descripteurs d'UBO pour des noeuds statiques. Plus de détails...
 
C3D_API void initialiseTextureDescriptor (ashes::DescriptorSetPool const &descriptorPool, BillboardRenderNode &node, ShadowMapLightTypeArray const &shadowMaps)
 Initialise l'ensemble de descripteurs de textures pour un noeud de billboard. Plus de détails...
 
C3D_API void initialiseTextureDescriptor (ashes::DescriptorSetPool const &descriptorPool, MorphingRenderNode &node, ShadowMapLightTypeArray const &shadowMaps)
 Initialise l'ensemble de descripteurs de textures pour un noeud de morphing. Plus de détails...
 
C3D_API void initialiseTextureDescriptor (ashes::DescriptorSetPool const &descriptorPool, SkinningRenderNode &node, ShadowMapLightTypeArray const &shadowMaps)
 Initialise l'ensemble de descripteurs de textures pour un noeud de skinning. Plus de détails...
 
C3D_API void initialiseTextureDescriptor (ashes::DescriptorSetPool const &descriptorPool, StaticRenderNode &node, ShadowMapLightTypeArray const &shadowMaps)
 Initialise l'ensemble de descripteurs de textures pour un noeud statique. Plus de détails...
 
C3D_API void initialiseTextureDescriptor (ashes::DescriptorSetPool const &descriptorPool, SubmeshSkinninRenderNodesByPassMap &nodes, ShadowMapLightTypeArray const &shadowMaps)
 Initialise l'ensemble de descripteurs de textures pour des noeuds de skinning. Plus de détails...
 
C3D_API void initialiseTextureDescriptor (ashes::DescriptorSetPool const &descriptorPool, SubmeshStaticRenderNodesByPassMap &nodes, ShadowMapLightTypeArray const &shadowMaps)
 Initialise l'ensemble de descripteurs de textures pour des noeuds statiques. Plus de détails...
 
C3D_API void updateFlags (PipelineFlags &flags) const
 Modifie les indicateurs donnés pour le faire correspondre au pré-requis de la passe de rendus. Plus de détails...
 
bool isOrderIndependent () const
 
SceneCuller const & getCuller () const
 
SceneCullergetCuller ()
 
SceneUbogetSceneUbo ()
 
SceneUbo const & getSceneUbo () const
 
MatrixUbogetMatrixUbo () const
 
ashes::CommandBuffer const & getCommandBuffer () const
 
bool hasNodes () const
 
ashes::RenderPass const & getRenderPass () const
 
RenderPassTimer const & getTimer () const
 
RenderPassTimergetTimer ()
 
uint32_t getPipelinesCount () const
 
uint32_t getInstanceMult () const
 
bool isDirty () const
 
bool forceTwoSided () const
 

Attributs publics statiques

static C3D_API uint32_t const TextureSize
 

Fonctions membres protégées

void doUpdateNodes (SceneCulledRenderNodes &nodes)
 
- Fonctions membres protégées hérités de castor3d::ShadowMapPass
void doUpdateNodes (SceneCulledRenderNodes &nodes)
 Met à jour les noeuds donnés. Plus de détails...
 
ashes::VkDescriptorSetLayoutBindingArray doCreateTextureBindings (PipelineFlags const &flags) const override
 Crée les attaches de layout de descripteurs communs pour les textures. Plus de détails...
 
- Fonctions membres protégées hérités de castor3d::SceneRenderPass
C3D_API SceneRenderPass (castor::String const &category, castor::String const &name, Engine &engine, MatrixUbo &matrixUbo, SceneCuller &culler, RenderMode mode, bool oit, bool forceTwoSided, SceneNode const *ignored, uint32_t instanceMult)
 
C3D_API SceneRenderPass (castor::String const &category, castor::String const &name, Engine &engine, MatrixUbo &matrixUbo, SceneCuller &culler, uint32_t instanceMult=1u)
 Constructeur pour les noeuds opaques. Plus de détails...
 
C3D_API SceneRenderPass (castor::String const &category, castor::String const &name, Engine &engine, MatrixUbo &matrixUbo, SceneCuller &culler, bool oit, uint32_t instanceMult=1u)
 Constructeur pour les noeuds transparents. Plus de détails...
 
C3D_API SceneRenderPass (castor::String const &category, castor::String const &name, Engine &engine, MatrixUbo &matrixUbo, SceneCuller &culler, SceneNode const *ignored, uint32_t instanceMult=1u)
 Constructeur pour les noeuds opaques. Plus de détails...
 
C3D_API SceneRenderPass (castor::String const &category, castor::String const &name, Engine &engine, MatrixUbo &matrixUbo, SceneCuller &culler, bool oit, SceneNode const *ignored, uint32_t instanceMult=1u)
 Constructeur pour les noeuds transparents. Plus de détails...
 
C3D_API PassRenderNode doCreatePassRenderNode (Pass &pass, RenderPipeline &pipeline)
 Crée un noeud de rendu. Plus de détails...
 
C3D_API SceneRenderNode doCreateSceneRenderNode (Scene &scene, RenderPipeline &pipeline)
 Crée un noeud de rendu de scène. Plus de détails...
 
C3D_API ShaderProgramSPtr doGetProgram (PipelineFlags const &flags) const
 Récupère le programme shader correspondant aux indicateurs donnés. Plus de détails...
 
C3D_API uint32_t doCopyNodesMatrices (StaticRenderNodePtrArray const &renderNodes, std::vector< InstantiationData > &matrixBuffer) const
 Copie les matrices de noeuds instanciés dans le tampon de matrices donné. Plus de détails...
 
C3D_API uint32_t doCopyNodesMatrices (StaticRenderNodePtrArray const &renderNodes, std::vector< InstantiationData > &matrixBuffer, RenderInfo &info) const
 Copie les matrices de noeuds instanciés dans le tampon de matrices donné. Plus de détails...
 
C3D_API uint32_t doCopyNodesMatrices (SkinningRenderNodePtrArray const &renderNodes, std::vector< InstantiationData > &matrixBuffer) const
 Copie les matrices de noeuds instanciés dans le tampon de matrices donné. Plus de détails...
 
C3D_API uint32_t doCopyNodesMatrices (SkinningRenderNodePtrArray const &renderNodes, std::vector< InstantiationData > &matrixBuffer, RenderInfo &info) const
 Copie les matrices de noeuds instanciés dans le tampon de matrices donné. Plus de détails...
 
C3D_API uint32_t doCopyNodesBones (SkinningRenderNodePtrArray const &renderNodes, ShaderBuffer &bonesBuffer) const
 Copie les matrices de noeuds skinnés instanciés dans le tampon de matrices donné. Plus de détails...
 
C3D_API uint32_t doCopyNodesBones (SkinningRenderNodePtrArray const &renderNodes, ShaderBuffer &bonesBuffer, RenderInfo &info) const
 Copie les matrices de noeuds skinnés instanciés dans le tampon de matrices donné. Plus de détails...
 
C3D_API void doUpdate (SubmeshStaticRenderNodesPtrByPipelineMap &nodes)
 Met à jour des sous maillages instanciés. Plus de détails...
 
C3D_API void doUpdate (SubmeshStaticRenderNodesPtrByPipelineMap &nodes, RenderInfo &info)
 Met à jour des sous maillages instanciés. Plus de détails...
 
C3D_API void doUpdate (StaticRenderNodesPtrByPipelineMap &nodes)
 Met à jour des sous maillages non instanciés. Plus de détails...
 
C3D_API void doUpdate (StaticRenderNodesPtrByPipelineMap &nodes, RenderInfo &info)
 Met à jour des sous maillages non instanciés. Plus de détails...
 
C3D_API void doUpdate (SkinningRenderNodesPtrByPipelineMap &nodes)
 Met à jour des sous maillages non instanciés. Plus de détails...
 
C3D_API void doUpdate (SkinningRenderNodesPtrByPipelineMap &nodes, RenderInfo &info)
 Met à jour des sous maillages non instanciés. Plus de détails...
 
C3D_API void doUpdate (SubmeshSkinningRenderNodesPtrByPipelineMap &nodes)
 Met à jour des sous maillages instanciés. Plus de détails...
 
C3D_API void doUpdate (SubmeshSkinningRenderNodesPtrByPipelineMap &nodes, RenderInfo &info)
 Met à jour des sous maillages instanciés. Plus de détails...
 
C3D_API void doUpdate (MorphingRenderNodesPtrByPipelineMap &nodes)
 Met à jour des sous maillages non instanciés. Plus de détails...
 
C3D_API void doUpdate (MorphingRenderNodesPtrByPipelineMap &nodes, RenderInfo &info)
 Met à jour des sous maillages non instanciés. Plus de détails...
 
C3D_API void doUpdate (BillboardRenderNodesPtrByPipelineMap &nodes)
 Met à jour des billboards. Plus de détails...
 
C3D_API void doUpdate (BillboardRenderNodesPtrByPipelineMap &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...
 
C3D_API std::map< PipelineFlags, RenderPipelineUPtr > & doGetFrontPipelines ()
 
C3D_API std::map< PipelineFlags, RenderPipelineUPtr > & doGetBackPipelines ()
 
C3D_API std::map< PipelineFlags, RenderPipelineUPtr > const & doGetFrontPipelines () const
 
C3D_API std::map< PipelineFlags, RenderPipelineUPtr > const & doGetBackPipelines () const
 
virtual C3D_API void doPrepareFrontPipeline (ShaderProgramSPtr program, ashes::PipelineVertexInputStateCreateInfoCRefArray const &layouts, PipelineFlags const &flags)
 Prépare le pipeline de rendu, en supprimant les faces avant. Plus de détails...
 
virtual C3D_API void doPrepareBackPipeline (ShaderProgramSPtr program, ashes::PipelineVertexInputStateCreateInfoCRefArray const &layouts, PipelineFlags const &flags)
 Prépare le pipeline de rendu, en supprimant les faces arrière. Plus de détails...
 

Membres hérités additionnels

- Types publics hérités de castor3d::SceneRenderPass
using DistanceSortedNodeMap = std::multimap< double, std::unique_ptr< DistanceRenderNodeBase > >
 
- Fonctions membres publiques statiques hérités de castor3d::SceneRenderPass
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...
 
- Attributs protégés hérités de castor3d::ShadowMapPass
ShadowMap const & m_shadowMap
 
bool m_initialised { false }
 
bool m_outOfDate { true }
 
ShadowMapUbo m_shadowMapUbo
 
- Attributs protégés hérités de castor3d::SceneRenderPass
RenderSystemm_renderSystem
 
MatrixUbom_matrixUbo
 
SceneCullerm_culler
 
RenderQueue m_renderQueue
 
castor::String m_category
 
RenderMode m_mode { RenderMode::eBoth }
 
bool m_oit { false }
 
bool m_forceTwoSided { false }
 
bool m_isDirty { true }
 
SceneUbo m_sceneUbo
 
ashes::RenderPassPtr m_renderPass
 
RenderPassTimerm_timer { nullptr }
 
uint32_t m_index { 0u }
 
RenderPassTimerSPtr m_ownTimer
 
castor::Size m_size
 
uint32_t const m_instanceMult { 1u }
 
std::map< size_t, UniformBufferOffsetT< ModelInstancesUboConfiguration > > m_modelsInstances
 

Documentation des constructeurs et destructeur

◆ ShadowMapPassPoint()

C3D_API castor3d::ShadowMapPassPoint::ShadowMapPassPoint ( Engine engine,
uint32_t  index,
MatrixUbo matrixUbo,
SceneCuller culler,
ShadowMap const &  shadowMap 
)

Constructeur.

Paramètres
[in]engineLe moteur.
[in]indexL'indice de la passe.
[in]matrixUboL'UBO de matrices de la scène.
[in]cullerLe culler pour cette passe.
[in]shadowMapLa shadow map parente.

◆ ~ShadowMapPassPoint()

C3D_API castor3d::ShadowMapPassPoint::~ShadowMapPassPoint ( )

Destructeur.

Documentation des fonctions membres

◆ doUpdateNodes()

void castor3d::ShadowMapPassPoint::doUpdateNodes ( SceneCulledRenderNodes nodes)
protected

◆ update() [1/2]

bool castor3d::ShadowMapPassPoint::update ( CpuUpdater updater)
overridevirtual

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

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

Implémente castor3d::ShadowMapPass.

◆ update() [2/2]

void castor3d::ShadowMapPassPoint::update ( GpuUpdater updater)
overridevirtual

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

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

Implémente castor3d::ShadowMapPass.

Documentation des données membres

◆ TextureSize

C3D_API uint32_t const castor3d::ShadowMapPassPoint::TextureSize
static

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