Castor3D  ..
Classes | Fonctions membres publiques | Fonctions membres protégées | Liste de tous les membres
Référence de la classe castor3d::MeshLightPassabstract

Classe de base pour les passes d'éclairage nécessitant un maillage plutôt qu'un quad. Plus de détails...

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

Classes

struct  Program
 Classe de base pour les programmes de passe d'éclairage nécessitant un maillage plutôt qu'un quad. Plus de détails...
 

Fonctions membres publiques

 MeshLightPass (Engine &engine, FrameBuffer &frameBuffer, FrameBufferAttachment &depthAttach, GpInfoUbo &gpInfoUbo, LightType type, bool hasShadows)
 Constructeur. Plus de détails...
 
 ~MeshLightPass ()
 Destructeur. Plus de détails...
 
void initialise (Scene const &scene, SceneUbo &sceneUbo) override
 Initialise la passe d'éclairage. Plus de détails...
 
void cleanup () override
 Nettoie la passe d'éclairage. Plus de détails...
 
uint32_t getCount () const override
 
- Fonctions membres publiques hérités de castor3d::LightPass
virtual ~LightPass ()=default
 Destructeur. 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...
 

Fonctions membres protégées

void doUpdate (castor::Size const &size, Light const &light, Camera const &camera) override
 Met à jour la passe d'éclairage. Plus de détails...
 
- Fonctions membres protégées hérités de castor3d::LightPass
 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...
 
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 ProgramPtr doCreateProgram (glsl::Shader const &vtx, glsl::Shader const &pxl) const =0
 Crée un programme de passe d'éclairage. Plus de détails...
 

Membres hérités additionnels

- Types protégés hérités de castor3d::LightPass
using ProgramPtr = std::unique_ptr< Program >
 
- Attributs protégés hérités de castor3d::LightPass
Enginem_engine
 
bool m_shadows
 
MatrixUbo m_matrixUbo
 
FrameBufferm_frameBuffer
 
FrameBufferAttachmentm_depthAttach
 
ProgramPtr m_program
 
GpInfoUbom_gpInfoUbo
 
VertexBufferSPtr m_vertexBuffer
 
uint32_t m_offset { 0u }
 

Description détaillée

Classe de base pour les passes d'éclairage nécessitant un maillage plutôt qu'un quad.

Auteur
Sylvain DOREMUS
Version
0.10.0
Date
08/06/2017

Documentation des constructeurs et destructeur

◆ MeshLightPass()

castor3d::MeshLightPass::MeshLightPass ( Engine engine,
FrameBuffer frameBuffer,
FrameBufferAttachment depthAttach,
GpInfoUbo gpInfoUbo,
LightType  type,
bool  hasShadows 
)

Constructeur.

Paramètres
[in]engineLe moteur.
[in]frameBufferLe tampon d'image cible.
[in]depthAttachL'attache du tampon de profondeur.
[in]gpInfoUboL'UBO de la geometry pass.
[in]typeLe type de source lumineuse.
[in]hasShadowsDit si les ombres sont activées pour cette passe d'éclairage.

◆ ~MeshLightPass()

castor3d::MeshLightPass::~MeshLightPass ( )

Destructeur.

Documentation des fonctions membres

◆ cleanup()

void castor3d::MeshLightPass::cleanup ( )
overridevirtual

Nettoie la passe d'éclairage.

Implémente castor3d::LightPass.

◆ doUpdate()

void castor3d::MeshLightPass::doUpdate ( castor::Size const &  size,
Light const &  light,
Camera const &  camera 
)
overrideprotectedvirtual

Met à jour la passe d'éclairage.

Paramètres
[in]sizeLes dimensions de la zone de rendu.
[in]lightLa source lumineuse.
[in]cameraLa caméra.

Implémente castor3d::LightPass.

◆ getCount()

uint32_t castor3d::MeshLightPass::getCount ( ) const
overridevirtual
Renvoie
Le nombre de primitives à dessiner.

Implémente castor3d::LightPass.

◆ initialise()

void castor3d::MeshLightPass::initialise ( Scene const &  scene,
SceneUbo sceneUbo 
)
overridevirtual

Initialise la passe d'éclairage.

Paramètres
[in]sceneLa scène.
[in]sceneUboL'UBO de scène.

Implémente castor3d::LightPass.


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