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

Classe de base d'une passe de rendu. Plus de détails...

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

Types publics

using DistanceSortedNodeMap = std::multimap< double, std::unique_ptr< DistanceRenderNodeBase > >
 

Fonctions membres publiques

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

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

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
 

Description détaillée

Classe de base d'une passe de rendu.

Auteur
Sylvain DOREMUS
Version
0.9.0
Date
30/08/2016

Documentation des définitions de type membres

◆ DistanceSortedNodeMap

using Castor3D::RenderPass::DistanceSortedNodeMap = std::multimap< double, std::unique_ptr< DistanceRenderNodeBase > >

Documentation des constructeurs et destructeur

◆ RenderPass()

C3D_API Castor3D::RenderPass::RenderPass ( Castor::String const &  p_name,
Engine p_engine,
bool  p_opaque,
bool  p_multisampling = false 
)
protected

Constructeur.

Paramètres
[in]p_nameLe nom de la passe.
[in]p_engineLe moteur.
[in]p_opaqueDit si cette passe de rendu est pour les noeuds opaques.
[in]p_multisamplingLe statut de multiéchantillonnage.

◆ ~RenderPass()

virtual C3D_API Castor3D::RenderPass::~RenderPass ( )
virtual

Destructeur.

Documentation des fonctions membres

◆ Cleanup()

C3D_API void Castor3D::RenderPass::Cleanup ( )

Nettoie la passe.

◆ CreateBillboardNode()

C3D_API BillboardRenderNode Castor3D::RenderPass::CreateBillboardNode ( Pass p_pass,
RenderPipeline p_pipeline,
BillboardBase p_billboard 
)

Crée un noeud de rendu statique.

Paramètres
[in]p_passLa passe.
[in]p_pipelineLe pipeline.
[in]p_billboardLe billboard.
Renvoie
Le noeud de rendu.

◆ CreateMorphingNode()

C3D_API MorphingRenderNode Castor3D::RenderPass::CreateMorphingNode ( Pass p_pass,
RenderPipeline p_pipeline,
Submesh p_submesh,
Geometry p_primitive,
AnimatedMesh p_mesh 
)

Crée un noeud de rendu animé.

Paramètres
[in]p_passLa passe.
[in]p_pipelineLe pipeline.
[in]p_submeshLe sous-maillage.
[in]p_primitiveLa géométrie.
[in]p_meshLe maillage animé.
Renvoie
Le noeud de rendu.

◆ CreateSkinningNode()

C3D_API SkinningRenderNode Castor3D::RenderPass::CreateSkinningNode ( Pass p_pass,
RenderPipeline p_pipeline,
Submesh p_submesh,
Geometry p_primitive,
AnimatedSkeleton p_skeleton 
)

Crée un noeud de rendu animé.

Paramètres
[in]p_passLa passe.
[in]p_pipelineLe pipeline.
[in]p_submeshLe sous-maillage.
[in]p_primitiveLa géométrie.
[in]p_skeletonLe squelette animé.
Renvoie
Le noeud de rendu.

◆ CreateStaticNode()

C3D_API StaticRenderNode Castor3D::RenderPass::CreateStaticNode ( Pass p_pass,
RenderPipeline p_pipeline,
Submesh p_submesh,
Geometry p_primitive 
)

Crée un noeud de rendu statique.

Paramètres
[in]p_passLa passe.
[in]p_pipelineLe pipeline.
[in]p_submeshLe sous-maillage.
[in]p_primitiveLa géométrie.
Renvoie
Le noeud de rendu.

◆ DoCopyNodesMatrices() [1/2]

C3D_API uint32_t Castor3D::RenderPass::DoCopyNodesMatrices ( StaticRenderNodeArray const &  p_renderNodes,
VertexBuffer p_matrixBuffer 
)
protected

Copie les matrices de noeuds instanciés dans le tampon de matrices donné.

Paramètres
[in]p_renderNodesLes noeuds instanciés.
[in]p_matrixBufferLe tampon de matrices.

Référencé par IsMultisampling().

+ Voici le graphe des appelants de cette fonction :

◆ DoCopyNodesMatrices() [2/2]

C3D_API uint32_t Castor3D::RenderPass::DoCopyNodesMatrices ( StaticRenderNodeArray const &  p_renderNodes,
VertexBuffer p_matrixBuffer,
RenderInfo p_info 
)
protected

Copie les matrices de noeuds instanciés dans le tampon de matrices donné.

Remarques
Les noeuds pour lesquels les matrices sont copiées seront enregistrés dans la liste des noeuds dessinés.
Paramètres
[in]p_renderNodesLes noeuds instanciés.
[in]p_matrixBufferLe tampon de matrices.
[in,out]p_infoReçoit les informations de rendu.

◆ DoCreatePassRenderNode()

C3D_API PassRenderNode Castor3D::RenderPass::DoCreatePassRenderNode ( Pass p_pass,
RenderPipeline p_pipeline 
)
protected

Crée un noeud de rendu.

Paramètres
[in]p_passLa passe.
[in]p_pipelineLe pipeline.
Renvoie
Le noeud de rendu.

Référencé par IsMultisampling().

+ Voici le graphe des appelants de cette fonction :

◆ DoCreateSceneRenderNode()

C3D_API SceneRenderNode Castor3D::RenderPass::DoCreateSceneRenderNode ( Scene p_scene,
RenderPipeline p_pipeline 
)
protected

Crée un noeud de rendu de scène.

Paramètres
[in]p_sceneLa scène.
[in]p_pipelineLe pipeline.
Renvoie
Le noeud de rendu.

Référencé par IsMultisampling().

+ Voici le graphe des appelants de cette fonction :

◆ DoGetProgram()

C3D_API ShaderProgramSPtr Castor3D::RenderPass::DoGetProgram ( TextureChannels const &  p_textureFlags,
ProgramFlags const &  p_programFlags,
SceneFlags const &  p_sceneFlags,
bool  p_invertNormals 
) const
protected

Récupère le programme shader correspondant aux flags donnés.

Paramètres
[in]p_textureFlagsUne combinaison de TextureChannel.
[in]p_programFlagsUne combinaison de ProgramFlag.
[in]p_sceneFlagsLes indicateurs relatifs à la scène.
[in]p_invertNormalsDit si les normales doivent être inversées, dans le programme.

Référencé par IsMultisampling().

+ Voici le graphe des appelants de cette fonction :

◆ DoRenderBillboards() [1/5]

C3D_API void Castor3D::RenderPass::DoRenderBillboards ( BillboardRenderNodesByPipelineMap &  p_nodes)
protected

Dessine des billboards.

Paramètres
[in]p_nodesLes noeuds de rendu.

Référencé par IsMultisampling().

+ Voici le graphe des appelants de cette fonction :

◆ DoRenderBillboards() [2/5]

C3D_API void Castor3D::RenderPass::DoRenderBillboards ( BillboardRenderNodesByPipelineMap &  p_nodes,
DepthMapArray &  p_depthMaps 
)
protected

Dessine des billboards.

Paramètres
[in]p_nodesLes noeuds de rendu.
[in]p_depthMapsLes textures de profondeur (ombres et autres).

◆ DoRenderBillboards() [3/5]

C3D_API void Castor3D::RenderPass::DoRenderBillboards ( BillboardRenderNodesByPipelineMap &  p_nodes,
Camera const &  p_camera 
)
protected

Dessine des billboards.

Paramètres
[in]p_nodesLes noeuds de rendu.
p_cameraLa caméra regardant la scène.

◆ DoRenderBillboards() [4/5]

C3D_API void Castor3D::RenderPass::DoRenderBillboards ( BillboardRenderNodesByPipelineMap &  p_nodes,
Camera const &  p_camera,
DepthMapArray &  p_depthMaps 
)
protected

Dessine des billboards.

Paramètres
[in]p_nodesLes noeuds de rendu.
p_cameraLa caméra regardant la scène.
[in]p_depthMapsLes textures de profondeur (ombres et autres).

◆ DoRenderBillboards() [5/5]

C3D_API void Castor3D::RenderPass::DoRenderBillboards ( BillboardRenderNodesByPipelineMap &  p_nodes,
Camera const &  p_camera,
DepthMapArray &  p_depthMaps,
RenderInfo p_info 
)
protected

Dessine des billboards.

Paramètres
[in]p_nodesLes noeuds de rendu.
p_cameraLa caméra regardant la scène.
[in]p_depthMapsLes textures de profondeur (ombres et autres).
[in,out]p_infoReçoit les informations de rendu.

◆ DoRenderInstancedSubmeshes() [1/5]

C3D_API void Castor3D::RenderPass::DoRenderInstancedSubmeshes ( SubmeshStaticRenderNodesByPipelineMap &  p_nodes)
protected

Dessine des sous maillages instanciés.

Paramètres
[in]p_nodesLes noeuds de rendu.

Référencé par IsMultisampling().

+ Voici le graphe des appelants de cette fonction :

◆ DoRenderInstancedSubmeshes() [2/5]

C3D_API void Castor3D::RenderPass::DoRenderInstancedSubmeshes ( SubmeshStaticRenderNodesByPipelineMap &  p_nodes,
DepthMapArray &  p_depthMaps 
)
protected

Dessine des sous maillages instanciés.

Paramètres
[in]p_nodesLes noeuds de rendu.
[in]p_depthMapsLes textures de profondeur (ombres et autres).

◆ DoRenderInstancedSubmeshes() [3/5]

C3D_API void Castor3D::RenderPass::DoRenderInstancedSubmeshes ( SubmeshStaticRenderNodesByPipelineMap &  p_nodes,
Camera const &  p_camera 
)
protected

Dessine des sous maillages instanciés.

Paramètres
[in]p_nodesLes noeuds de rendu.
p_cameraLa caméra regardant la scène.

◆ DoRenderInstancedSubmeshes() [4/5]

C3D_API void Castor3D::RenderPass::DoRenderInstancedSubmeshes ( SubmeshStaticRenderNodesByPipelineMap &  p_nodes,
Camera const &  p_camera,
DepthMapArray &  p_depthMaps 
)
protected

Dessine des sous maillages instanciés.

Paramètres
[in]p_nodesLes noeuds de rendu.
p_cameraLa caméra regardant la scène.
[in]p_depthMapsLes textures de profondeur (ombres et autres).

◆ DoRenderInstancedSubmeshes() [5/5]

C3D_API void Castor3D::RenderPass::DoRenderInstancedSubmeshes ( SubmeshStaticRenderNodesByPipelineMap &  p_nodes,
Camera const &  p_camera,
DepthMapArray &  p_depthMaps,
RenderInfo p_info 
)
protected

Dessine des sous maillages instanciés.

Paramètres
[in]p_nodesLes noeuds de rendu.
p_cameraLa caméra regardant la scène.
[in]p_depthMapsLes textures de profondeur (ombres et autres).
[in,out]p_infoReçoit les informations de rendu.

◆ DoRenderMorphingSubmeshes() [1/5]

C3D_API void Castor3D::RenderPass::DoRenderMorphingSubmeshes ( MorphingRenderNodesByPipelineMap &  p_nodes)
protected

Dessine des sous maillages non instanciés.

Paramètres
[in]p_nodesLes noeuds de rendu.

Référencé par IsMultisampling().

+ Voici le graphe des appelants de cette fonction :

◆ DoRenderMorphingSubmeshes() [2/5]

C3D_API void Castor3D::RenderPass::DoRenderMorphingSubmeshes ( MorphingRenderNodesByPipelineMap &  p_nodes,
DepthMapArray &  p_depthMaps 
)
protected

Dessine des sous maillages non instanciés.

Paramètres
[in]p_nodesLes noeuds de rendu.
[in]p_depthMapsLes textures de profondeur (ombres et autres).

◆ DoRenderMorphingSubmeshes() [3/5]

C3D_API void Castor3D::RenderPass::DoRenderMorphingSubmeshes ( MorphingRenderNodesByPipelineMap &  p_nodes,
Camera const &  p_camera 
)
protected

Dessine des sous maillages non instanciés.

Paramètres
[in]p_nodesLes noeuds de rendu.
p_cameraLa caméra regardant la scène.

◆ DoRenderMorphingSubmeshes() [4/5]

C3D_API void Castor3D::RenderPass::DoRenderMorphingSubmeshes ( MorphingRenderNodesByPipelineMap &  p_nodes,
Camera const &  p_camera,
DepthMapArray &  p_depthMaps 
)
protected

Dessine des sous maillages non instanciés.

Paramètres
[in]p_nodesLes noeuds de rendu.
p_cameraLa caméra regardant la scène.
[in]p_depthMapsLes textures de profondeur (ombres et autres).

◆ DoRenderMorphingSubmeshes() [5/5]

C3D_API void Castor3D::RenderPass::DoRenderMorphingSubmeshes ( MorphingRenderNodesByPipelineMap &  p_nodes,
Camera const &  p_camera,
DepthMapArray &  p_depthMaps,
RenderInfo p_info 
)
protected

Dessine des sous maillages non instanciés.

Paramètres
[in]p_nodesLes noeuds de rendu.
p_cameraLa caméra regardant la scène.
[in]p_depthMapsLes textures de profondeur (ombres et autres).
[in,out]p_infoReçoit les informations de rendu.

◆ DoRenderSkinningSubmeshes() [1/5]

C3D_API void Castor3D::RenderPass::DoRenderSkinningSubmeshes ( SkinningRenderNodesByPipelineMap &  p_nodes)
protected

Dessine des sous maillages non instanciés.

Paramètres
[in]p_nodesLes noeuds de rendu.

Référencé par IsMultisampling().

+ Voici le graphe des appelants de cette fonction :

◆ DoRenderSkinningSubmeshes() [2/5]

C3D_API void Castor3D::RenderPass::DoRenderSkinningSubmeshes ( SkinningRenderNodesByPipelineMap &  p_nodes,
DepthMapArray &  p_depthMaps 
)
protected

Dessine des sous maillages non instanciés.

Paramètres
[in]p_nodesLes noeuds de rendu.
[in]p_depthMapsLes textures de profondeur (ombres et autres).

◆ DoRenderSkinningSubmeshes() [3/5]

C3D_API void Castor3D::RenderPass::DoRenderSkinningSubmeshes ( SkinningRenderNodesByPipelineMap &  p_nodes,
Camera const &  p_camera 
)
protected

Dessine des sous maillages non instanciés.

Paramètres
[in]p_nodesLes noeuds de rendu.
p_cameraLa caméra regardant la scène.

◆ DoRenderSkinningSubmeshes() [4/5]

C3D_API void Castor3D::RenderPass::DoRenderSkinningSubmeshes ( SkinningRenderNodesByPipelineMap &  p_nodes,
Camera const &  p_camera,
DepthMapArray &  p_depthMaps 
)
protected

Dessine des sous maillages non instanciés.

Paramètres
[in]p_nodesLes noeuds de rendu.
p_cameraLa caméra regardant la scène.
[in]p_depthMapsLes textures de profondeur (ombres et autres).

◆ DoRenderSkinningSubmeshes() [5/5]

C3D_API void Castor3D::RenderPass::DoRenderSkinningSubmeshes ( SkinningRenderNodesByPipelineMap &  p_nodes,
Camera const &  p_camera,
DepthMapArray &  p_depthMaps,
RenderInfo p_info 
)
protected

Dessine des sous maillages non instanciés.

Paramètres
[in]p_nodesLes noeuds de rendu.
p_cameraLa caméra regardant la scène.
[in]p_depthMapsLes textures de profondeur (ombres et autres).
[in,out]p_infoReçoit les informations de rendu.

◆ DoRenderStaticSubmeshes() [1/5]

C3D_API void Castor3D::RenderPass::DoRenderStaticSubmeshes ( StaticRenderNodesByPipelineMap &  p_nodes)
protected

Dessine des sous maillages non instanciés.

Paramètres
[in]p_nodesLes noeuds de rendu.

Référencé par IsMultisampling().

+ Voici le graphe des appelants de cette fonction :

◆ DoRenderStaticSubmeshes() [2/5]

C3D_API void Castor3D::RenderPass::DoRenderStaticSubmeshes ( StaticRenderNodesByPipelineMap &  p_nodes,
DepthMapArray &  p_depthMaps 
)
protected

Dessine des sous maillages non instanciés.

Paramètres
[in]p_nodesLes noeuds de rendu.
[in]p_depthMapsLes textures de profondeur (ombres et autres).

◆ DoRenderStaticSubmeshes() [3/5]

C3D_API void Castor3D::RenderPass::DoRenderStaticSubmeshes ( StaticRenderNodesByPipelineMap &  p_nodes,
Camera const &  p_camera 
)
protected

Dessine des sous maillages non instanciés.

Paramètres
[in]p_nodesLes noeuds de rendu.
p_cameraLa caméra regardant la scène.

◆ DoRenderStaticSubmeshes() [4/5]

C3D_API void Castor3D::RenderPass::DoRenderStaticSubmeshes ( StaticRenderNodesByPipelineMap &  p_nodes,
Camera const &  p_camera,
DepthMapArray &  p_depthMaps 
)
protected

Dessine des sous maillages non instanciés.

Paramètres
[in]p_nodesLes noeuds de rendu.
p_cameraLa caméra regardant la scène.
[in]p_depthMapsLes textures de profondeur (ombres et autres).

◆ DoRenderStaticSubmeshes() [5/5]

C3D_API void Castor3D::RenderPass::DoRenderStaticSubmeshes ( StaticRenderNodesByPipelineMap &  p_nodes,
Camera const &  p_camera,
DepthMapArray &  p_depthMaps,
RenderInfo p_info 
)
protected

Dessine des sous maillages non instanciés.

Paramètres
[in]p_nodesLes noeuds de rendu.
p_cameraLa caméra regardant la scène.
[in]p_depthMapsLes textures de profondeur (ombres et autres).
[in,out]p_infoReçoit les informations de rendu.

◆ GetGeometryShaderSource()

C3D_API Castor::String Castor3D::RenderPass::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.

Paramètres
[in]p_textureFlagsUne combinaison de TextureChannel.
[in]p_programFlagsUne combinaison de ProgramFlag.
[in]p_sceneFlagsLes indicateurs relatifs à la scène.

◆ GetPipelineBack()

C3D_API RenderPipeline* Castor3D::RenderPass::GetPipelineBack ( 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.

Paramètres
[in]p_colourBlendModeLe mode de mélange de couleurs.
[in]p_alphaBlendModeLe mode de mélange alpha.
[in]p_textureFlagsUne combinaison de TextureChannel.
[in]p_programFlagsUne combinaison de ProgramFlag.
[in]p_sceneFlagsLes indicateurs relatifs à la scène.
Renvoie
Le pipeline prêt à l'utilisation, nullptr si aucun pipeline n'est disponible pour la configuration voulue.

◆ GetPipelineFront()

C3D_API RenderPipeline* Castor3D::RenderPass::GetPipelineFront ( 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.

Paramètres
[in]p_colourBlendModeLe mode de mélange de couleurs.
[in]p_alphaBlendModeLe mode de mélange alpha.
[in]p_textureFlagsUne combinaison de TextureChannel.
[in]p_programFlagsUne combinaison de ProgramFlag.
[in]p_sceneFlagsLes indicateurs relatifs à la scène.
Renvoie
Le pipeline prêt à l'utilisation, nullptr si aucun pipeline n'est disponible pour la configuration voulue.

◆ GetPixelShaderSource()

C3D_API Castor::String Castor3D::RenderPass::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.

Paramètres
[in]p_textureFlagsUne combinaison de TextureChannel.
[in]p_programFlagsUne combinaison de ProgramFlag.
[in]p_sceneFlagsLes indicateurs relatifs à la scène.

◆ GetVertexShaderSource()

C3D_API Castor::String Castor3D::RenderPass::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.

Paramètres
[in]p_textureFlagsCombinaison de TextureChannel.
[in]p_programFlagsCombinaison de ProgramFlag.
[in]p_sceneFlagsLes indicateurs relatifs à la scène.
[in]p_invertNormalsDit si les normales doivent être inversées, dans le programme.

◆ Initialise()

C3D_API bool Castor3D::RenderPass::Initialise ( Castor::Size const &  p_size)

Initialise la passe.

Paramètres
p_sizeLes dimensions voulues pour la passe.
Renvoie
true si tout s'est bien passé.

◆ IsMultisampling()

bool Castor3D::RenderPass::IsMultisampling ( ) const
inline

◆ PreparePipeline()

C3D_API void Castor3D::RenderPass::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.

Paramètres
[in]p_colourBlendModeLe mode de mélange de couleurs.
[in]p_alphaBlendModeLe mode de mélange alpha.
[in]p_textureFlagsUne combinaison de TextureChannel.
[in]p_programFlagsUne combinaison de ProgramFlag.
[in]p_sceneFlagsLes indicateurs relatifs à la scène.
[in]p_twoSidedDit si la passe est sur les deux faces.

◆ Update()

C3D_API void Castor3D::RenderPass::Update ( RenderQueueArray p_queues)

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.

◆ UpdatePipeline()

C3D_API void Castor3D::RenderPass::UpdatePipeline ( RenderPipeline p_pipeline) const

Met à jour lee pipeline opaque.

Paramètres
[in]p_pipelineLe pipeline de rendu.

Documentation des données membres

◆ m_backPipelines

std::map< PipelineFlags, RenderPipelineUPtr > Castor3D::RenderPass::m_backPipelines
protected

Les pipelines de rendu utilisés pour dessiner les faces avant noeuds.

◆ m_billboardUbo

UniformBuffer Castor3D::RenderPass::m_billboardUbo
protected

Le tampon d'uniformes contenant les données de billboard.

◆ m_frontPipelines

std::map< PipelineFlags, RenderPipelineUPtr > Castor3D::RenderPass::m_frontPipelines
protected

Les pipelines de rendu utilisés pour dessiner les faces arrière des noeuds.

◆ m_geometryBuffers

std::set< GeometryBuffersSPtr > Castor3D::RenderPass::m_geometryBuffers
protected

Les tampons de géométries.

◆ m_matrixUbo

UniformBuffer Castor3D::RenderPass::m_matrixUbo
protected

Le tampon d'uniformes contenant les données de matrices.

◆ m_modelMatrixUbo

UniformBuffer Castor3D::RenderPass::m_modelMatrixUbo
protected

Le tampon d'uniformes contenant les données de matrices.

◆ m_modelUbo

UniformBuffer Castor3D::RenderPass::m_modelUbo
protected

Le tampon d'uniformes contenant les données du modèle.

◆ m_morphingUbo

UniformBuffer Castor3D::RenderPass::m_morphingUbo
protected

Le tampon d'uniformes contenant les données d'animation de morphing.

◆ m_multisampling

bool Castor3D::RenderPass::m_multisampling { false }
protected

Dit si la technique utilise le multiéchantillonnage.

Référencé par IsMultisampling().

◆ m_opaque

bool Castor3D::RenderPass::m_opaque { false }
protected

Dit si cette passe est utilisée pour les noeuds de rendu opaques.

◆ m_passNode

std::unique_ptr< PassRenderNodeUniforms > Castor3D::RenderPass::m_passNode
protected

Le noeud de rendu de passe.

◆ m_passUbo

UniformBuffer Castor3D::RenderPass::m_passUbo
protected

Le tampon d'uniformes contenant les données de passe.

◆ m_projectionUniform

Uniform4x4fSPtr Castor3D::RenderPass::m_projectionUniform { nullptr }
protected

La variable uniforme contenant la matrice projection.

◆ m_renderQueue

RenderQueue Castor3D::RenderPass::m_renderQueue
protected

La file de rendu.

◆ m_renderSystem

RenderSystem& Castor3D::RenderPass::m_renderSystem
protected

Le render system.

◆ m_sceneUbo

UniformBuffer Castor3D::RenderPass::m_sceneUbo
protected

Le tampon d'uniformes contenant les données de scène.

◆ m_skinningUbo

UniformBuffer Castor3D::RenderPass::m_skinningUbo
protected

Le tampon d'uniformes contenant les données d'animation de skinning.

◆ m_viewUniform

Uniform4x4fSPtr Castor3D::RenderPass::m_viewUniform { nullptr }
protected

La variable uniforme contenant la matrice vue.


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