Castor3D  ..
Fonctions membres publiques | Fonctions membres protégées | Attributs protégés | Liste de tous les membres
Référence de la classe Castor3D::ShadowMapPassabstract

Implémentation du mappage d'ombres. Plus de détails...

+ Graphe d'héritage de Castor3D::ShadowMapPass:
+ Graphe de collaboration de Castor3D::ShadowMapPass:

Fonctions membres publiques

C3D_API ShadowMapPass (Engine &p_engine, Light &p_light, ShadowMap const &p_shadowMap)
 Constructeur. Plus de détails...
 
C3D_API ~ShadowMapPass ()
 Destructeur. Plus de détails...
 
C3D_API void Render (uint32_t p_face=0)
 Fonction de rendu. Plus de détails...
 
C3D_API void Update (RenderQueueArray &p_queues, int32_t p_index)
 Met à jour la passe de rendu. Plus de détails...
 
- Fonctions membres publiques hérités de Castor3D::RenderPass
virtual C3D_API ~RenderPass ()
 Destructeur. Plus de détails...
 
C3D_API bool Initialise (Castor::Size const &p_size)
 Initialise la passe. Plus de détails...
 
C3D_API void Cleanup ()
 Nettoie la passe. Plus de détails...
 
C3D_API void Update (RenderQueueArray &p_queues)
 Met à jour la passe de rendu. Plus de détails...
 
C3D_API Castor::String GetVertexShaderSource (TextureChannels const &p_textureFlags, ProgramFlags const &p_programFlags, SceneFlags const &p_sceneFlags, bool p_invertNormals) const
 Récupère le source du vertex shader qui correspond aux indicateurs donnés. Plus de détails...
 
C3D_API Castor::String GetPixelShaderSource (TextureChannels const &p_textureFlags, ProgramFlags const &p_programFlags, SceneFlags const &p_sceneFlags) const
 Récupère le source du pixel shader qui correspond aux indicateurs donnés. Plus de détails...
 
C3D_API Castor::String GetGeometryShaderSource (TextureChannels const &p_textureFlags, ProgramFlags const &p_programFlags, SceneFlags const &p_sceneFlags) const
 Récupère le source du geometry shader qui correspond aux indicateurs donnés. Plus de détails...
 
C3D_API void PreparePipeline (BlendMode p_colourBlendMode, BlendMode p_alphaBlendMode, TextureChannels &p_textureFlags, ProgramFlags &p_programFlags, SceneFlags &p_sceneFlags, bool p_twoSided)
 Prépare le pipeline qui correspond aux indicateurs donnés. Plus de détails...
 
C3D_API RenderPipelineGetPipelineFront (BlendMode p_colourBlendMode, BlendMode p_alphaBlendMode, TextureChannels const &p_textureFlags, ProgramFlags const &p_programFlags, SceneFlags const &p_sceneFlags)
 Récupère le pipeline qui correspond aux indicateurs donnés, pour les faces avant supprimées. Plus de détails...
 
C3D_API RenderPipelineGetPipelineBack (BlendMode p_colourBlendMode, BlendMode p_alphaBlendMode, TextureChannels const &p_textureFlags, ProgramFlags const &p_programFlags, SceneFlags const &p_sceneFlags)
 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 &p_pass, RenderPipeline &p_pipeline, Submesh &p_submesh, Geometry &p_primitive, AnimatedSkeleton &p_skeleton)
 Crée un noeud de rendu animé. Plus de détails...
 
C3D_API MorphingRenderNode CreateMorphingNode (Pass &p_pass, RenderPipeline &p_pipeline, Submesh &p_submesh, Geometry &p_primitive, AnimatedMesh &p_mesh)
 Crée un noeud de rendu animé. Plus de détails...
 
C3D_API StaticRenderNode CreateStaticNode (Pass &p_pass, RenderPipeline &p_pipeline, Submesh &p_submesh, Geometry &p_primitive)
 Crée un noeud de rendu statique. Plus de détails...
 
C3D_API BillboardRenderNode CreateBillboardNode (Pass &p_pass, RenderPipeline &p_pipeline, BillboardBase &p_billboard)
 Crée un noeud de rendu statique. Plus de détails...
 
C3D_API void UpdatePipeline (RenderPipeline &p_pipeline) const
 Met à jour lee pipeline opaque. Plus de détails...
 
bool IsMultisampling () const
 

Fonctions membres protégées

void DoRenderNodes (SceneRenderNodes &p_nodes, Camera const &p_camera)
 Dessine les noeuds donnés. Plus de détails...
 
void DoUpdateFlags (TextureChannels &p_textureFlags, ProgramFlags &p_programFlags, SceneFlags &p_sceneFlags) const override
 Modifie les indicateurs donnés pour le faire correspondre au pré-requis de la passe de rendus. Plus de détails...
 
- Fonctions membres protégées hérités de Castor3D::RenderPass
C3D_API RenderPass (Castor::String const &p_name, Engine &p_engine, bool p_opaque, bool p_multisampling=false)
 Constructeur. Plus de détails...
 
C3D_API PassRenderNode DoCreatePassRenderNode (Pass &p_pass, RenderPipeline &p_pipeline)
 Crée un noeud de rendu. Plus de détails...
 
C3D_API SceneRenderNode DoCreateSceneRenderNode (Scene &p_scene, RenderPipeline &p_pipeline)
 Crée un noeud de rendu de scène. Plus de détails...
 
C3D_API ShaderProgramSPtr DoGetProgram (TextureChannels const &p_textureFlags, ProgramFlags const &p_programFlags, SceneFlags const &p_sceneFlags, bool p_invertNormals) const
 Récupère le programme shader correspondant aux flags donnés. Plus de détails...
 
C3D_API uint32_t DoCopyNodesMatrices (StaticRenderNodeArray const &p_renderNodes, VertexBuffer &p_matrixBuffer)
 Copie les matrices de noeuds instanciés dans le tampon de matrices donné. Plus de détails...
 
C3D_API uint32_t DoCopyNodesMatrices (StaticRenderNodeArray const &p_renderNodes, VertexBuffer &p_matrixBuffer, RenderInfo &p_info)
 Copie les matrices de noeuds instanciés dans le tampon de matrices donné. Plus de détails...
 
C3D_API void DoRenderInstancedSubmeshes (SubmeshStaticRenderNodesByPipelineMap &p_nodes)
 Dessine des sous maillages instanciés. Plus de détails...
 
C3D_API void DoRenderInstancedSubmeshes (SubmeshStaticRenderNodesByPipelineMap &p_nodes, DepthMapArray &p_depthMaps)
 Dessine des sous maillages instanciés. Plus de détails...
 
C3D_API void DoRenderInstancedSubmeshes (SubmeshStaticRenderNodesByPipelineMap &p_nodes, Camera const &p_camera)
 Dessine des sous maillages instanciés. Plus de détails...
 
C3D_API void DoRenderInstancedSubmeshes (SubmeshStaticRenderNodesByPipelineMap &p_nodes, Camera const &p_camera, DepthMapArray &p_depthMaps)
 Dessine des sous maillages instanciés. Plus de détails...
 
C3D_API void DoRenderInstancedSubmeshes (SubmeshStaticRenderNodesByPipelineMap &p_nodes, Camera const &p_camera, DepthMapArray &p_depthMaps, RenderInfo &p_info)
 Dessine des sous maillages instanciés. Plus de détails...
 
C3D_API void DoRenderStaticSubmeshes (StaticRenderNodesByPipelineMap &p_nodes)
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void DoRenderStaticSubmeshes (StaticRenderNodesByPipelineMap &p_nodes, DepthMapArray &p_depthMaps)
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void DoRenderStaticSubmeshes (StaticRenderNodesByPipelineMap &p_nodes, Camera const &p_camera)
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void DoRenderStaticSubmeshes (StaticRenderNodesByPipelineMap &p_nodes, Camera const &p_camera, DepthMapArray &p_depthMaps)
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void DoRenderStaticSubmeshes (StaticRenderNodesByPipelineMap &p_nodes, Camera const &p_camera, DepthMapArray &p_depthMaps, RenderInfo &p_info)
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void DoRenderSkinningSubmeshes (SkinningRenderNodesByPipelineMap &p_nodes)
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void DoRenderSkinningSubmeshes (SkinningRenderNodesByPipelineMap &p_nodes, DepthMapArray &p_depthMaps)
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void DoRenderSkinningSubmeshes (SkinningRenderNodesByPipelineMap &p_nodes, Camera const &p_camera)
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void DoRenderSkinningSubmeshes (SkinningRenderNodesByPipelineMap &p_nodes, Camera const &p_camera, DepthMapArray &p_depthMaps)
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void DoRenderSkinningSubmeshes (SkinningRenderNodesByPipelineMap &p_nodes, Camera const &p_camera, DepthMapArray &p_depthMaps, RenderInfo &p_info)
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void DoRenderMorphingSubmeshes (MorphingRenderNodesByPipelineMap &p_nodes)
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void DoRenderMorphingSubmeshes (MorphingRenderNodesByPipelineMap &p_nodes, DepthMapArray &p_depthMaps)
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void DoRenderMorphingSubmeshes (MorphingRenderNodesByPipelineMap &p_nodes, Camera const &p_camera)
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void DoRenderMorphingSubmeshes (MorphingRenderNodesByPipelineMap &p_nodes, Camera const &p_camera, DepthMapArray &p_depthMaps)
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void DoRenderMorphingSubmeshes (MorphingRenderNodesByPipelineMap &p_nodes, Camera const &p_camera, DepthMapArray &p_depthMaps, RenderInfo &p_info)
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void DoRenderBillboards (BillboardRenderNodesByPipelineMap &p_nodes)
 Dessine des billboards. Plus de détails...
 
C3D_API void DoRenderBillboards (BillboardRenderNodesByPipelineMap &p_nodes, DepthMapArray &p_depthMaps)
 Dessine des billboards. Plus de détails...
 
C3D_API void DoRenderBillboards (BillboardRenderNodesByPipelineMap &p_nodes, Camera const &p_camera)
 Dessine des billboards. Plus de détails...
 
C3D_API void DoRenderBillboards (BillboardRenderNodesByPipelineMap &p_nodes, Camera const &p_camera, DepthMapArray &p_depthMaps)
 Dessine des billboards. Plus de détails...
 
C3D_API void DoRenderBillboards (BillboardRenderNodesByPipelineMap &p_nodes, Camera const &p_camera, DepthMapArray &p_depthMaps, RenderInfo &p_info)
 Dessine des billboards. Plus de détails...
 

Attributs protégés

ShadowMap const & m_shadowMap
 
Lightm_light
 
bool m_initialised { false }
 
int32_t m_index { 0u }
 
- Attributs protégés hérités de Castor3D::RenderPass
RenderSystemm_renderSystem
 
RenderQueue m_renderQueue
 
bool m_opaque { false }
 
std::map< PipelineFlags, RenderPipelineUPtr > m_frontPipelines
 
std::map< PipelineFlags, RenderPipelineUPtr > m_backPipelines
 
std::set< GeometryBuffersSPtr > m_geometryBuffers
 
bool m_multisampling { false }
 
UniformBuffer m_sceneUbo
 
UniformBuffer m_matrixUbo
 
Uniform4x4fSPtr m_projectionUniform { nullptr }
 
Uniform4x4fSPtr m_viewUniform { nullptr }
 
UniformBuffer m_modelMatrixUbo
 
UniformBuffer m_passUbo
 
std::unique_ptr< PassRenderNodeUniformsm_passNode
 
UniformBuffer m_modelUbo
 
UniformBuffer m_billboardUbo
 
UniformBuffer m_skinningUbo
 
UniformBuffer m_morphingUbo
 

Membres hérités additionnels

- Types publics hérités de Castor3D::RenderPass
using DistanceSortedNodeMap = std::multimap< double, std::unique_ptr< DistanceRenderNodeBase > >
 

Description détaillée

Implémentation du mappage d'ombres.

Auteur
Sylvain DOREMUS
Version
0.9.0
Date
30/08/2016

Documentation des constructeurs et destructeur

◆ ShadowMapPass()

C3D_API Castor3D::ShadowMapPass::ShadowMapPass ( Engine p_engine,
Light p_light,
ShadowMap const &  p_shadowMap 
)

Constructeur.

Paramètres
[in]p_engineLe moteur.
[in]p_lightLa source lumineuse.
[in]p_shadowMapLa shadow map parente.

◆ ~ShadowMapPass()

C3D_API Castor3D::ShadowMapPass::~ShadowMapPass ( )

Destructeur.

Documentation des fonctions membres

◆ DoRenderNodes()

void Castor3D::ShadowMapPass::DoRenderNodes ( SceneRenderNodes p_nodes,
Camera const &  p_camera 
)
protected

Dessine les noeuds donnés.

Paramètres
p_nodesLes noeuds à dessiner.
p_cameraLa caméra regardant la scène.

◆ DoUpdateFlags()

void Castor3D::ShadowMapPass::DoUpdateFlags ( TextureChannels &  p_textureFlags,
ProgramFlags &  p_programFlags,
SceneFlags &  p_sceneFlags 
) const
overrideprotectedvirtual

Modifie les indicateurs donnés pour le faire correspondre au pré-requis de la passe de rendus.

Paramètres
[in,out]p_textureFlagsUne combinaison de TextureChannel.
[in,out]p_programFlagsUne combinaison de ProgramFlag.
[in,out]p_sceneFlagsUne combinaison de SceneFlag.

Implémente Castor3D::RenderPass.

◆ Render()

C3D_API void Castor3D::ShadowMapPass::Render ( uint32_t  p_face = 0)

Fonction de rendu.

◆ Update()

C3D_API void Castor3D::ShadowMapPass::Update ( RenderQueueArray p_queues,
int32_t  p_index 
)

Met à jour la passe de rendu.

Remarques
Récupère les files de rendu, pour mise à jour ultérieure.
Paramètres
[out]p_queuesReçoit les files de rendu nécessaires pour le dessin de la frame.
[out]p_indexL'indice de la passe.

Documentation des données membres

◆ m_index

int32_t Castor3D::ShadowMapPass::m_index { 0u }
protected

L'indice de la passe.

◆ m_initialised

bool Castor3D::ShadowMapPass::m_initialised { false }
protected

Dit si la passe est initialisée.

◆ m_light

Light& Castor3D::ShadowMapPass::m_light
protected

La source lumineuse.

◆ m_shadowMap

ShadowMap const& Castor3D::ShadowMapPass::m_shadowMap
protected

La shadow map parente.


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