Castor3D
..
|
Implémentation du mappage d'ombres. Plus de détails...
Fonctions membres publiques | |
C3D_API | ShadowMap (Engine &p_engine) |
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 | AddLight (Light &p_light) |
Ajoute une source lumineuse, créant une passe de shadow mapping pour elle. Plus de détails... | |
C3D_API void | UpdateFlags (TextureChannels &p_textureFlags, ProgramFlags &p_programFlags, SceneFlags &p_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 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... | |
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 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... | |
SortedPasses & | GetPasses () |
SortedPasses const & | GetPasses () const |
Types protégés | |
using | ShadowMapLightMap = std::map< Light const *, ShadowMapPassSPtr > |
using | SortedPasses = std::map< double, ShadowMapPassSPtr > |
Attributs protégés | |
FrameBufferSPtr | m_frameBuffer |
std::set< GeometryBuffersSPtr > | m_geometryBuffers |
ShadowMapLightMap | m_passes |
SortedPasses | m_sorted |
Implémentation du mappage d'ombres.
|
protected |
|
protected |
Constructeur.
[in] | p_engine | Le moteur. |
C3D_API Castor3D::ShadowMap::~ShadowMap | ( | ) |
Destructeur.
Ajoute une source lumineuse, créant une passe de shadow mapping pour elle.
[in] | p_light | La source lumineuse. |
C3D_API void Castor3D::ShadowMap::Cleanup | ( | ) |
Nettoie le frame buffer et les données spécifiques au type de source lumineuse.
Castor::String Castor3D::ShadowMap::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.
[in] | p_textureFlags | Une combinaison de TextureChannel. |
[in] | p_programFlags | Une combinaison de ProgramFlag. |
[in] | p_sceneFlags | Les indicateurs relatifs à la scène. |
|
inline |
Références m_sorted.
|
inline |
C3D_API Castor::String Castor3D::ShadowMap::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.
[in] | p_textureFlags | Une combinaison de TextureChannel. |
[in] | p_programFlags | Une combinaison de ProgramFlag. |
[in] | p_sceneFlags | Les indicateurs relatifs à la scène. |
C3D_API Castor::String Castor3D::ShadowMap::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.
[in] | p_textureFlags | Combinaison de TextureChannel. |
[in] | p_programFlags | Combinaison de ProgramFlag. |
[in] | p_sceneFlags | Les indicateurs relatifs à la scène. |
[in] | p_invertNormals | Dit si les normales doivent être inversées, dans le programme. |
C3D_API bool Castor3D::ShadowMap::Initialise | ( | ) |
Initialise le frame buffer et les données spécifiques au type de source lumineuse.
C3D_API void Castor3D::ShadowMap::UpdateFlags | ( | TextureChannels & | p_textureFlags, |
ProgramFlags & | p_programFlags, | ||
SceneFlags & | p_sceneFlags | ||
) | const |
Modifie les indicateurs donnés pour le faire correspondre au pré-requis de la passe de rendus.
[in,out] | p_textureFlags | Une combinaison de TextureChannel. |
[in,out] | p_programFlags | Une combinaison de ProgramFlag. |
[in,out] | p_sceneFlags | Une combinaison de SceneFlag. |
|
protected |
Le tampon d'image.
|
protected |
Les tampons de géométrie.
|
protected |
Les passes de shadow mapping utilisées pendant le rendu.
|
protected |
~english The shadow mapping passes, sorted by light source's distance to the camera. Les passes de shadow mapping, triées par distance de la source lumineuse à la caméra.
Référencé par GetPasses().