Castor3D
..
|
Implémentation du mappage d'ombres pour les lumières spot. Plus de détails...
Fonctions membres publiques | |
ShadowMapDirectional (Engine &engine, Scene &scene) | |
Constructeur. Plus de détails... | |
~ShadowMapDirectional () | |
Destructeur. Plus de détails... | |
void | update (Camera const &camera, RenderQueueArray &queues, Light &light, uint32_t index) override |
Met à jour les passes, en sélectionnant les lumières qui projetteront une ombre. Plus de détails... | |
void | render () override |
Dessine la shadow map de la lumière donnée. Plus de détails... | |
void | debugDisplay (castor::Size const &size, uint32_t index) override |
Dumpe la texture d'ombres sur l'écran. Plus de détails... | |
![]() | |
C3D_API | ShadowMap (Engine &engine, TextureUnit &&shadowMap, TextureUnit &&linearMap, ShadowMapPassSPtr pass) |
Constructeur. Plus de détails... | |
C3D_API | ~ShadowMap () |
Destructeur. Plus de détails... | |
C3D_API bool | initialise () |
Initialise le frame buffer et les données spécifiques au type de source lumineuse. Plus de détails... | |
C3D_API void | cleanup () |
Nettoie le frame buffer et les données spécifiques au type de source lumineuse. 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... | |
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 | 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 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... | |
TextureUnit & | getTexture () |
TextureUnit const & | getTexture () const |
TextureUnit & | getDepth () |
TextureUnit const & | getDepth () const |
Membres hérités additionnels | |
![]() | |
void | doDiscardAlpha (glsl::GlslWriter &writer, TextureChannels const &textureFlags, ComparisonFunc alphaFunc, glsl::Int const &material, shader::Materials const &materials) const |
Défausse les matériaux avec du mélange alpha ou un fonction alpha, si besoin est. Plus de détails... | |
![]() | |
FrameBufferSPtr | m_frameBuffer |
std::set< GeometryBuffersSPtr > | m_geometryBuffers |
ShadowMapPassSPtr | m_pass |
TextureUnit | m_shadowMap |
TextureUnit | m_linearMap |
Implémentation du mappage d'ombres pour les lumières spot.
Constructeur.
[in] | engine | Le moteur. |
[in] | scene | La scène. |
castor3d::ShadowMapDirectional::~ShadowMapDirectional | ( | ) |
Destructeur.
|
overridevirtual |
Dumpe la texture d'ombres sur l'écran.
[in] | size | Les dimensions d'affichage. |
[in] | index | L'indice de la texture d'ombres (pour calculer sa position). |
Implémente castor3d::ShadowMap.
|
overridevirtual |
Dessine la shadow map de la lumière donnée.
Implémente castor3d::ShadowMap.
|
overridevirtual |
Met à jour les passes, en sélectionnant les lumières qui projetteront une ombre.
[in] | camera | La caméra de l'observateur. |
[out] | queues | Reçoit les files de rendu nécessaires pour le dessin de la frame. |
[out] | light | La source lumineuse. |
[out] | index | L'indice de la texture. |
Implémente castor3d::ShadowMap.