Castor3D
..
|
Classe de base pour toutes les passes d'éclairage. Plus de détails...
Classes | |
struct | Program |
Classe de base pour tous les programmes des passes d'éclairage. Plus de détails... | |
Fonctions membres publiques | |
virtual | ~LightPass ()=default |
Destructeur. Plus de détails... | |
virtual void | initialise (Scene const &scene, SceneUbo &sceneUbo)=0 |
Initialise la passe d'éclairage. Plus de détails... | |
virtual void | cleanup ()=0 |
Nettoie la passe d'éclairage. Plus de détails... | |
virtual void | render (castor::Size const &size, GeometryPassResult const &gp, Light const &light, Camera const &camera, bool first, ShadowMap *shadowMapOpt) |
Dessine la passe d'éclairage sur le tampon d'image donné. Plus de détails... | |
virtual uint32_t | getCount () const =0 |
Types protégés | |
using | ProgramPtr = std::unique_ptr< Program > |
Fonctions membres protégées | |
LightPass (Engine &engine, FrameBuffer &frameBuffer, FrameBufferAttachment &depthAttach, GpInfoUbo &gpInfoUbo, bool hasShadows) | |
Constructeur. Plus de détails... | |
void | doInitialise (Scene const &scene, LightType type, VertexBuffer &vbo, SceneUbo &sceneUbo, ModelMatrixUbo *modelMatrixUbo) |
Initialise la passe d'éclairage. Plus de détails... | |
void | doCleanup () |
Nettoie la passe d'éclairage. Plus de détails... | |
virtual void | doUpdate (castor::Size const &size, Light const &light, Camera const &camera)=0 |
Met à jour la passe d'éclairage. Plus de détails... | |
void | doRender (castor::Size const &size, GeometryPassResult const &gp, bool first) |
Dessine la passe d'éclairage sur le tampon d'image donné. Plus de détails... | |
virtual glsl::Shader | doGetLegacyPixelShaderSource (SceneFlags const &sceneFlags, LightType type) const |
Récupère le source du pixel shader pour cette passe lumineuse. Plus de détails... | |
virtual glsl::Shader | doGetPbrMRPixelShaderSource (SceneFlags const &sceneFlags, LightType type) const |
Récupère le source du pixel shader pour cette passe lumineuse. Plus de détails... | |
virtual glsl::Shader | doGetPbrSGPixelShaderSource (SceneFlags const &sceneFlags, LightType type) const |
Récupère le source du pixel shader pour cette passe lumineuse. Plus de détails... | |
virtual glsl::Shader | doGetVertexShaderSource (SceneFlags const &sceneFlags) const =0 |
Récupère le source du vertex shader pour cette passe lumineuse. Plus de détails... | |
virtual ProgramPtr | doCreateProgram (glsl::Shader const &vtx, glsl::Shader const &pxl) const =0 |
Crée un programme de passe d'éclairage. Plus de détails... | |
Attributs protégés | |
Engine & | m_engine |
bool | m_shadows |
MatrixUbo | m_matrixUbo |
FrameBuffer & | m_frameBuffer |
FrameBufferAttachment & | m_depthAttach |
ProgramPtr | m_program |
GpInfoUbo & | m_gpInfoUbo |
VertexBufferSPtr | m_vertexBuffer |
uint32_t | m_offset { 0u } |
Classe de base pour toutes les passes d'éclairage.
|
protected |
|
virtualdefault |
Destructeur.
|
protected |
Constructeur.
[in] | engine | Le moteur. |
[in] | frameBuffer | Le tampon d'image cible. |
[in] | depthAttach | L'attache du tampon de profondeur. |
[in] | gpInfoUbo | L'UBO de la geometry pass. |
[in] | hasShadows | Dit si les ombres sont activées pour cette passe d'éclairage. |
|
pure virtual |
Nettoie la passe d'éclairage.
Implémenté dans castor3d::MeshLightPass, et castor3d::DirectionalLightPass.
|
protected |
Nettoie la passe d'éclairage.
|
protectedpure virtual |
Crée un programme de passe d'éclairage.
[in] | vtx | Le source du vertex shader. |
[in] | pxl | Le source du fagment shader. |
|
protectedvirtual |
Récupère le source du pixel shader pour cette passe lumineuse.
[in] | sceneFlags | Les indicateurs de scène. |
[in] | type | Le type de source lumineuse. |
|
protectedvirtual |
Récupère le source du pixel shader pour cette passe lumineuse.
[in] | sceneFlags | Les indicateurs de scène. |
[in] | type | Le type de source lumineuse. |
|
protectedvirtual |
Récupère le source du pixel shader pour cette passe lumineuse.
[in] | sceneFlags | Les indicateurs de scène. |
[in] | type | Le type de source lumineuse. |
|
protectedpure virtual |
Récupère le source du vertex shader pour cette passe lumineuse.
[in] | sceneFlags | Les indicateurs de scène. |
|
protected |
Initialise la passe d'éclairage.
[in] | scene | La scène. |
[in] | type | Le type de source lumineuse. |
[in] | vbo | Le VBO. |
[in] | sceneUbo | L'UBO de scène. |
[in] | modelMatrixUbo | L'UBO optionnel de matrices modèle. |
|
protected |
Dessine la passe d'éclairage sur le tampon d'image donné.
[in] | size | Les dimensions de la zone de rendu. |
[in] | gp | Le résultat de la geometry pass. |
[in] | first | Dit si cette passe d'éclairage est la première (true ) ou pas (false ). |
|
protectedpure virtual |
Met à jour la passe d'éclairage.
[in] | size | Les dimensions de la zone de rendu. |
[in] | light | La source lumineuse. |
[in] | camera | La caméra. |
Implémenté dans castor3d::MeshLightPass, et castor3d::DirectionalLightPass.
|
pure virtual |
Implémenté dans castor3d::MeshLightPass, et castor3d::DirectionalLightPass.
|
pure virtual |
Initialise la passe d'éclairage.
[in] | scene | La scène. |
[in] | sceneUbo | L'UBO de scène. |
Implémenté dans castor3d::MeshLightPass, et castor3d::DirectionalLightPass.
|
virtual |
Dessine la passe d'éclairage sur le tampon d'image donné.
[in] | size | Les dimensions de la zone de rendu. |
[in] | gp | Le résultat de la geometry pass. |
[in] | light | La source lumineuse. |
[in] | camera | La caméra. |
[in] | first | Dit si cette passe d'éclairage est la première (true ) ou pas (false ). |
[in] | shadowMapOpt | Les textures d'ombres optionnelles. |
|
protected |
L'attache de RBO cible.
|
protected |
Le moteur.
|
protected |
Le FBO cible.
|
protected |
Les informations de la passe de géométrie.
|
protected |
Le tampon d'uniformes contenant les données de matrices.
|
protected |
Le décalage du tampon d'indices.
|
protected |
Le programme de la passe de lumière.
|
protected |
Dit si les ombres sont activées.
|
protected |
Le tampon de sommets.