Castor3D  ..
Fonctions membres publiques | Attributs publics | Liste de tous les membres
Référence de la structure castor3d::LightPass::Programabstract

Classe de base pour tous les programmes des passes d'éclairage. Plus de détails...

+ Graphe d'héritage de castor3d::LightPass::Program:

Fonctions membres publiques

 Program (Engine &engine, glsl::Shader const &vtx, glsl::Shader const &pxl)
 Constructeur. Plus de détails...
 
virtual ~Program () noexcept
 Destructeur. Plus de détails...
 
void initialise (VertexBuffer &vbo, MatrixUbo &matrixUbo, SceneUbo &sceneUbo, UniformBuffer &gpInfoUbo, ModelMatrixUbo *modelMatrixUbo)
 Initialise le programme et son pipeline. Plus de détails...
 
void cleanup ()
 Nettoie le programme et son pipeline. Plus de détails...
 
void bind (Light const &light)
 Active une source lumineuse. Plus de détails...
 
void render (castor::Size const &size, uint32_t count, bool first, uint32_t offset) const
 Dessine la passe d'éclairage. Plus de détails...
 

Attributs publics

ShaderProgramSPtr m_program
 
GeometryBuffersSPtr m_geometryBuffers
 
RenderPipelineSPtr m_blendPipeline
 
RenderPipelineSPtr m_firstPipeline
 
PushUniform3fSPtr m_lightColour
 
PushUniform2fSPtr m_lightIntensity
 
PushUniform1fSPtr m_lightFarPlane
 

Description détaillée

Classe de base pour tous les programmes des passes d'éclairage.

Auteur
Sylvain DOREMUS
Version
0.10.0
Date
08/06/2017

Documentation des constructeurs et destructeur

◆ Program()

castor3d::LightPass::Program::Program ( Engine engine,
glsl::Shader const &  vtx,
glsl::Shader const &  pxl 
)

Constructeur.

Paramètres
[in]engineLe moteur.
[in]vtxLe source du vertex shader.
[in]pxlLe source du fagment shader.

◆ ~Program()

virtual castor3d::LightPass::Program::~Program ( )
virtualnoexcept

Documentation des fonctions membres

◆ bind()

void castor3d::LightPass::Program::bind ( Light const &  light)

Active une source lumineuse.

Paramètres
[in]lightLa lumière.

◆ cleanup()

void castor3d::LightPass::Program::cleanup ( )

Nettoie le programme et son pipeline.

◆ initialise()

void castor3d::LightPass::Program::initialise ( VertexBuffer vbo,
MatrixUbo matrixUbo,
SceneUbo sceneUbo,
UniformBuffer gpInfoUbo,
ModelMatrixUbo modelMatrixUbo 
)

Initialise le programme et son pipeline.

Paramètres
[in]vboLe tampon de sommets contenant l'objet à dessiner.
[in]matrixUboL'UBO des matrices.
[in]sceneUboL'UBO de la scène.
[in]gpInfoUboL'UBO de la geometry pass.
[in]modelMatrixUboL'UBO optionnel de matrices modèle.

◆ render()

void castor3d::LightPass::Program::render ( castor::Size const &  size,
uint32_t  count,
bool  first,
uint32_t  offset 
) const

Dessine la passe d'éclairage.

Paramètres
[in]sizeLes dimensions de la zone de rendu.
[in]countLe nombre de primitives à dessiner.
[in]firstDit si cette passe d'éclairage est la première (true) ou pas (false).
[in]offsetL'offset dans le VBO.

Documentation des données membres

◆ m_blendPipeline

RenderPipelineSPtr castor3d::LightPass::Program::m_blendPipeline

Le pipeline utilisé par la passe lumières.

◆ m_firstPipeline

RenderPipelineSPtr castor3d::LightPass::Program::m_firstPipeline

Le pipeline utilisé par la passe lumières.

◆ m_geometryBuffers

GeometryBuffersSPtr castor3d::LightPass::Program::m_geometryBuffers

Conteneur de buffers de géométries.

◆ m_lightColour

PushUniform3fSPtr castor3d::LightPass::Program::m_lightColour

La variable contenant la couleur de la lumière.

◆ m_lightFarPlane

PushUniform1fSPtr castor3d::LightPass::Program::m_lightFarPlane

La variable contenant la position du plan lointain de la lumière.

◆ m_lightIntensity

PushUniform2fSPtr castor3d::LightPass::Program::m_lightIntensity

La variable contenant les intensités de la lumière.

◆ m_program

ShaderProgramSPtr castor3d::LightPass::Program::m_program

Le shader utilisé pour rendre les lumières.


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