Castor3D  ..
Fonctions membres publiques | Liste de tous les membres
Référence de la classe castor3d::ForwardRenderTechniquePass

Classe de passe de technique de rendu de type forward. Plus de détails...

+ Graphe d'héritage de castor3d::ForwardRenderTechniquePass:
+ Graphe de collaboration de castor3d::ForwardRenderTechniquePass:

Fonctions membres publiques

C3D_API ForwardRenderTechniquePass (castor::String const &name, Scene &scene, Camera *camera, bool environment, SceneNode const *ignored, SsaoConfig const &config)
 Constructeur pour les noeuds opaques. Plus de détails...
 
C3D_API ForwardRenderTechniquePass (castor::String const &name, Scene &scene, Camera *camera, bool oit, bool environment, SceneNode const *ignored, SsaoConfig const &config)
 Constructeur pour les noeuds transparents. Plus de détails...
 
virtual C3D_API ~ForwardRenderTechniquePass ()
 Destructeur. Plus de détails...
 
C3D_API void render (RenderInfo &info, ShadowMapLightTypeArray &shadowMaps, castor::Point2r const &jitter) override
 Fonction de rendu. Plus de détails...
 
- Fonctions membres publiques hérités de castor3d::RenderTechniquePass
virtual C3D_API ~RenderTechniquePass ()
 Destructeur. 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 &size)
 Initialise la passe. Plus de détails...
 
C3D_API void cleanup ()
 Nettoie la passe. Plus de détails...
 
C3D_API void update (RenderQueueArray &queues)
 Met à jour la passe de rendu. Plus de détails...
 
C3D_API glsl::Shader getVertexShaderSource (PassFlags const &passFlags, TextureChannels const &textureFlags, ProgramFlags const &programFlags, SceneFlags const &sceneFlags, bool invertNormals) const
 Récupère le source du vertex shader qui correspond aux indicateurs donnés. Plus de détails...
 
C3D_API glsl::Shader getPixelShaderSource (PassFlags const &passFlags, TextureChannels const &textureFlags, ProgramFlags const &programFlags, SceneFlags const &sceneFlags, ComparisonFunc alphaFunc) const
 Récupère le source du pixel shader qui correspond aux indicateurs donnés. Plus de détails...
 
C3D_API glsl::Shader getGeometryShaderSource (PassFlags const &passFlags, TextureChannels const &textureFlags, ProgramFlags const &programFlags, SceneFlags const &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 colourBlendMode, BlendMode alphaBlendMode, ComparisonFunc alphaFunc, PassFlags &passFlags, TextureChannels &textureFlags, ProgramFlags &programFlags, SceneFlags &sceneFlags, bool twoSided)
 Prépare le pipeline qui correspond aux indicateurs donnés. Plus de détails...
 
C3D_API RenderPipelinegetPipelineFront (BlendMode colourBlendMode, BlendMode alphaBlendMode, ComparisonFunc alphaFunc, PassFlags const &passFlags, TextureChannels const &textureFlags, ProgramFlags const &programFlags, SceneFlags const &sceneFlags) 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 (BlendMode colourBlendMode, BlendMode alphaBlendMode, ComparisonFunc alphaFunc, PassFlags const &passFlags, TextureChannels const &textureFlags, ProgramFlags const &programFlags, SceneFlags const &sceneFlags) 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) const
 Met à jour lee pipeline opaque. Plus de détails...
 
C3D_API void updateFlags (PassFlags &passFlags, TextureChannels &textureFlags, ProgramFlags &programFlags, SceneFlags &sceneFlags) 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
 
SceneUbogetSceneUbo ()
 

Membres hérités additionnels

- Types publics hérités de castor3d::RenderPass
using DistanceSortedNodeMap = std::multimap< double, std::unique_ptr< DistanceRenderNodeBase > >
 
- Fonctions membres protégées hérités de castor3d::RenderTechniquePass
C3D_API RenderTechniquePass (castor::String const &name, Scene const &scene, Camera *camera, bool environment, SceneNode const *ignored, SsaoConfig const &config)
 Constructeur pour les noeuds opaques. Plus de détails...
 
C3D_API RenderTechniquePass (castor::String const &name, Scene &scene, Camera *camera, bool oit, bool environment, SceneNode const *ignored, SsaoConfig const &config)
 Constructeur pour les noeuds transparents. Plus de détails...
 
C3D_API void doRender (RenderInfo &info, ShadowMapLightTypeArray &shadowMaps, castor::Point2r const &jitter=castor::Point2r{})
 Fonction de rendu. Plus de détails...
 
- Fonctions membres protégées hérités de castor3d::RenderPass
C3D_API RenderPass (castor::String const &name, Engine &engine, SceneNode const *ignored)
 Constructeur pour les noeuds opaques. Plus de détails...
 
C3D_API RenderPass (castor::String const &name, Engine &engine, bool oit, SceneNode const *ignored)
 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 (PassFlags const &passFlags, TextureChannels const &textureFlags, ProgramFlags const &programFlags, SceneFlags const &sceneFlags, ComparisonFunc alphaFunc, bool invertNormals) const
 Récupère le programme shader correspondant aux flags donnés. Plus de détails...
 
C3D_API uint32_t doCopyNodesMatrices (StaticRenderNodeArray const &renderNodes, VertexBuffer &matrixBuffer) const
 Copie les matrices de noeuds instanciés dans le tampon de matrices donné. Plus de détails...
 
C3D_API uint32_t doCopyNodesMatrices (StaticRenderNodeArray const &renderNodes, VertexBuffer &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 (SkinningRenderNodeArray const &renderNodes, VertexBuffer &matrixBuffer) const
 Copie les matrices de noeuds instanciés dans le tampon de matrices donné. Plus de détails...
 
C3D_API uint32_t doCopyNodesMatrices (SkinningRenderNodeArray const &renderNodes, VertexBuffer &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 (StaticRenderNodeArray const &renderNodes, Camera const &camera, VertexBuffer &matrixBuffer) const
 Copie les matrices de noeuds instanciés dans le tampon de matrices donné. Plus de détails...
 
C3D_API uint32_t doCopyNodesMatrices (StaticRenderNodeArray const &renderNodes, Camera const &camera, VertexBuffer &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 (SkinningRenderNodeArray const &renderNodes, Camera const &camera, VertexBuffer &matrixBuffer) const
 Copie les matrices de noeuds instanciés dans le tampon de matrices donné. Plus de détails...
 
C3D_API uint32_t doCopyNodesMatrices (SkinningRenderNodeArray const &renderNodes, Camera const &camera, VertexBuffer &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 (SkinningRenderNodeArray const &renderNodes, ShaderStorageBuffer &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 (SkinningRenderNodeArray const &renderNodes, ShaderStorageBuffer &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 doRender (SubmeshStaticRenderNodesByPipelineMap &nodes) const
 Dessine des sous maillages instanciés. Plus de détails...
 
C3D_API void doRender (SubmeshStaticRenderNodesByPipelineMap &nodes, ShadowMapLightTypeArray &shadowMaps) const
 Dessine des sous maillages instanciés. Plus de détails...
 
C3D_API void doRender (SubmeshStaticRenderNodesByPipelineMap &nodes, Camera const &camera) const
 Dessine des sous maillages instanciés. Plus de détails...
 
C3D_API void doRender (SubmeshStaticRenderNodesByPipelineMap &nodes, Camera const &camera, ShadowMapLightTypeArray &shadowMaps) const
 Dessine des sous maillages instanciés. Plus de détails...
 
C3D_API void doRender (SubmeshStaticRenderNodesByPipelineMap &nodes, Camera const &camera, ShadowMapLightTypeArray &shadowMaps, RenderInfo &info) const
 Dessine des sous maillages instanciés. Plus de détails...
 
C3D_API void doRender (StaticRenderNodesByPipelineMap &nodes) const
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void doRender (StaticRenderNodesByPipelineMap &nodes, ShadowMapLightTypeArray &shadowMaps) const
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void doRender (StaticRenderNodesByPipelineMap &nodes, Camera const &camera) const
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void doRender (StaticRenderNodesByPipelineMap &nodes, Camera const &camera, ShadowMapLightTypeArray &shadowMaps) const
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void doRender (StaticRenderNodesByPipelineMap &nodes, Camera const &camera, ShadowMapLightTypeArray &shadowMaps, RenderInfo &info) const
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void doRender (SkinningRenderNodesByPipelineMap &nodes) const
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void doRender (SkinningRenderNodesByPipelineMap &nodes, ShadowMapLightTypeArray &shadowMaps) const
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void doRender (SkinningRenderNodesByPipelineMap &nodes, Camera const &camera) const
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void doRender (SkinningRenderNodesByPipelineMap &nodes, Camera const &camera, ShadowMapLightTypeArray &shadowMaps) const
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void doRender (SkinningRenderNodesByPipelineMap &nodes, Camera const &camera, ShadowMapLightTypeArray &shadowMaps, RenderInfo &info) const
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void doRender (SubmeshSkinningRenderNodesByPipelineMap &nodes) const
 Dessine des sous maillages instanciés. Plus de détails...
 
C3D_API void doRender (SubmeshSkinningRenderNodesByPipelineMap &nodes, ShadowMapLightTypeArray &shadowMaps) const
 Dessine des sous maillages instanciés. Plus de détails...
 
C3D_API void doRender (SubmeshSkinningRenderNodesByPipelineMap &nodes, Camera const &camera) const
 Dessine des sous maillages instanciés. Plus de détails...
 
C3D_API void doRender (SubmeshSkinningRenderNodesByPipelineMap &nodes, Camera const &camera, ShadowMapLightTypeArray &shadowMaps) const
 Dessine des sous maillages instanciés. Plus de détails...
 
C3D_API void doRender (SubmeshSkinningRenderNodesByPipelineMap &nodes, Camera const &camera, ShadowMapLightTypeArray &shadowMaps, RenderInfo &info) const
 Dessine des sous maillages instanciés. Plus de détails...
 
C3D_API void doRender (MorphingRenderNodesByPipelineMap &nodes) const
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void doRender (MorphingRenderNodesByPipelineMap &nodes, ShadowMapLightTypeArray &shadowMaps) const
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void doRender (MorphingRenderNodesByPipelineMap &nodes, Camera const &camera) const
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void doRender (MorphingRenderNodesByPipelineMap &nodes, Camera const &camera, ShadowMapLightTypeArray &shadowMaps) const
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void doRender (MorphingRenderNodesByPipelineMap &nodes, Camera const &camera, ShadowMapLightTypeArray &shadowMaps, RenderInfo &info) const
 Dessine des sous maillages non instanciés. Plus de détails...
 
C3D_API void doRender (BillboardRenderNodesByPipelineMap &nodes) const
 Dessine des billboards. Plus de détails...
 
C3D_API void doRender (BillboardRenderNodesByPipelineMap &nodes, ShadowMapLightTypeArray &shadowMaps) const
 Dessine des billboards. Plus de détails...
 
C3D_API void doRender (BillboardRenderNodesByPipelineMap &nodes, Camera const &camera) const
 Dessine des billboards. Plus de détails...
 
C3D_API void doRender (BillboardRenderNodesByPipelineMap &nodes, Camera const &camera, ShadowMapLightTypeArray &shadowMaps) const
 Dessine des billboards. Plus de détails...
 
C3D_API void doRender (BillboardRenderNodesByPipelineMap &nodes, Camera const &camera, ShadowMapLightTypeArray &shadowMaps, RenderInfo &info) const
 Dessine des billboards. Plus de détails...
 
- Attributs protégés hérités de castor3d::RenderTechniquePass
Scene const & m_scene
 
Cameram_camera { nullptr }
 
SceneRenderNode m_sceneNode
 
bool m_environment { false }
 
SsaoConfig m_ssaoConfig
 
- 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_oit { false }
 
SceneUbo m_sceneUbo
 
MatrixUbo m_matrixUbo
 
ModelUbo m_modelUbo
 
ModelMatrixUbo m_modelMatrixUbo
 
BillboardUbo m_billboardUbo
 
SkinningUbo m_skinningUbo
 
MorphingUbo m_morphingUbo
 
RenderPassTimerSPtr m_timer
 

Description détaillée

Classe de passe de technique de rendu de type forward.

Auteur
Sylvain DOREMUS
Version
0.9.0
Date
08/12/2016

Documentation des constructeurs et destructeur

◆ ForwardRenderTechniquePass() [1/2]

C3D_API castor3d::ForwardRenderTechniquePass::ForwardRenderTechniquePass ( castor::String const &  name,
Scene scene,
Camera camera,
bool  environment,
SceneNode const *  ignored,
SsaoConfig const &  config 
)

Constructeur pour les noeuds opaques.

Paramètres
[in]nameLe nom de la technique.
[in]sceneLa scène pour cette technique.
[in]cameraLa caméra pour cette technique (peut être nulle).
[in]environmentPasse utilisée pour le rendu d'une texture d'environnement.
[in]ignoredLes géométries attachées à ce noeud seront ignorées lors du rendu.
[in]configLa configuration du SSAO.

◆ ForwardRenderTechniquePass() [2/2]

C3D_API castor3d::ForwardRenderTechniquePass::ForwardRenderTechniquePass ( castor::String const &  name,
Scene scene,
Camera camera,
bool  oit,
bool  environment,
SceneNode const *  ignored,
SsaoConfig const &  config 
)

Constructeur pour les noeuds transparents.

Paramètres
[in]nameLe nom de la technique.
[in]sceneLa scène pour cette technique.
[in]cameraLa caméra pour cette technique (peut être nulle).
[in]oitLe statut d'OIT.
[in]environmentPasse utilisée pour le rendu d'une texture d'environnement.
[in]ignoredLes géométries attachées à ce noeud seront ignorées lors du rendu.
[in]configLa configuration du SSAO.

◆ ~ForwardRenderTechniquePass()

virtual C3D_API castor3d::ForwardRenderTechniquePass::~ForwardRenderTechniquePass ( )
virtual

Destructeur.

Documentation des fonctions membres

◆ render()

C3D_API void castor3d::ForwardRenderTechniquePass::render ( RenderInfo info,
ShadowMapLightTypeArray shadowMaps,
castor::Point2r const &  jitter 
)
overridevirtual

Fonction de rendu.

Paramètres
[out]infoReçoit les informations de rendu.
[out]shadowMapsLes textures d'ombres.
[out]jitterLa valeur de jittering.

Implémente castor3d::RenderTechniquePass.


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