Castor3D  ..
Fonctions membres publiques | Attributs publics statiques | Liste de tous les membres
Référence de la classe castor3d::ShadowMapPassDirectional

Implémentation du mappage d'ombres pour les lumières spot. Plus de détails...

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

Fonctions membres publiques

C3D_API ShadowMapPassDirectional (Engine &engine, Scene &scene, ShadowMap const &shadowMap)
 Constructeur. Plus de détails...
 
C3D_API ~ShadowMapPassDirectional ()
 Destructeur. Plus de détails...
 
void update (Camera const &camera, RenderQueueArray &queues, Light &light, uint32_t index) override
 Met à jour la passe de rendu. Plus de détails...
 
void render (uint32_t index) override
 Fonction de rendu. Plus de détails...
 
CameraSPtr getCamera () const
 
- Fonctions membres publiques hérités de castor3d::ShadowMapPass
C3D_API ShadowMapPass (Engine &engine, Scene &scene, ShadowMap const &shadowMap)
 Constructeur. Plus de détails...
 
C3D_API ~ShadowMapPass ()
 Destructeur. Plus de détails...
 
C3D_API void startTimer ()
 Démarre les timers. Plus de détails...
 
C3D_API void stopTimer ()
 Arrête les timers. 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 ()
 

Attributs publics statiques

static castor::String const ShadowMapUbo
 
static castor::String const FarPlane
 
static uint32_t constexpr UboBindingPoint = 8u
 
static uint32_t constexpr TextureSize = 2048
 

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::ShadowMapPass
void doRenderNodes (SceneRenderNodes &nodes, Camera const &camera)
 Dessine les noeuds donnés. 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::ShadowMapPass
Scenem_scene
 
ShadowMap const & m_shadowMap
 
bool m_initialised { false }
 
- 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

Implémentation du mappage d'ombres pour les lumières spot.

Auteur
Sylvain DOREMUS
Version
0.9.0
Date
30/08/2016

Documentation des constructeurs et destructeur

◆ ShadowMapPassDirectional()

C3D_API castor3d::ShadowMapPassDirectional::ShadowMapPassDirectional ( Engine engine,
Scene scene,
ShadowMap const &  shadowMap 
)

Constructeur.

Paramètres
[in]engineLe moteur.
[in]sceneLa scène.
[in]shadowMapLa shadow map parente.

◆ ~ShadowMapPassDirectional()

C3D_API castor3d::ShadowMapPassDirectional::~ShadowMapPassDirectional ( )

Destructeur.

Documentation des fonctions membres

◆ getCamera()

CameraSPtr castor3d::ShadowMapPassDirectional::getCamera ( ) const
inline
Renvoie
La caméra.

◆ render()

void castor3d::ShadowMapPassDirectional::render ( uint32_t  index)
overridevirtual

Fonction de rendu.

Paramètres
[in]indexL'indice du rendu.

Implémente castor3d::ShadowMapPass.

◆ update()

void castor3d::ShadowMapPassDirectional::update ( Camera const &  camera,
RenderQueueArray queues,
Light light,
uint32_t  index 
)
overridevirtual

Met à jour la passe de rendu.

Remarques
Récupère les files de rendu, pour mise à jour ultérieure.
Paramètres
[in]cameraLa caméra de l'observateur.
[out]queuesReçoit les files de rendu nécessaires pour le dessin de la frame.
[out]lightLa source lumineuse.
[out]indexL'indice de la passe.

Implémente castor3d::ShadowMapPass.

Documentation des données membres

◆ FarPlane

castor::String const castor3d::ShadowMapPassDirectional::FarPlane
static

◆ ShadowMapUbo

castor::String const castor3d::ShadowMapPassDirectional::ShadowMapUbo
static

◆ TextureSize

uint32_t constexpr castor3d::ShadowMapPassDirectional::TextureSize = 2048
static

◆ UboBindingPoint

uint32_t constexpr castor3d::ShadowMapPassDirectional::UboBindingPoint = 8u
static

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