Castor3D  ..
Fonctions membres publiques | Attributs publics statiques | Attributs protégés | Liste de tous les membres
Référence de la classe castor3d::RenderPipelineabstract

Le pipeline de rendu. Plus de détails...

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

Fonctions membres publiques

C3D_API RenderPipeline (RenderSystem &renderSystem, DepthStencilState &&dsState, RasteriserState &&rsState, BlendState &&blState, MultisampleState &&msState, ShaderProgram &program, PipelineFlags const &flags)
 Constructeur. Plus de détails...
 
virtual C3D_API ~RenderPipeline ()
 Destructeur. Plus de détails...
 
C3D_API void cleanup ()
 Nettoie le pipeline. Plus de détails...
 
virtual C3D_API void apply () const =0
 Applique le pipeline. Plus de détails...
 
C3D_API void addUniformBuffer (UniformBuffer &ubo)
 Ajoute un tampon d'uniformes à ce pipeline. Plus de détails...
 
C3D_API GeometryBuffersSPtr getGeometryBuffers (Submesh &submesh)
 Récupère un GeometryBuffers pour le sous-maillage donné. Plus de détails...
 
C3D_API GeometryBuffersSPtr getGeometryBuffers (BillboardBase &billboard)
 Récupère un GeometryBuffers pour le billboard donné. Plus de détails...
 
ShaderProgram const & getProgram () const
 
ShaderProgramgetProgram ()
 
BindingArray const & getBindings () const
 
PipelineFlags const & getFlags () const
 
uint32_t getTexturesCount ()
 
PushUniform1sgetDirectionalShadowMapsVariable ()
 
PushUniform1sgetSpotShadowMapsVariable ()
 
PushUniform1sgetPointShadowMapsVariable ()
 
PushUniform1sgetEnvironmentMapVariable ()
 
PushUniform1sgetIrradianceMapVariable ()
 
PushUniform1sgetPrefilteredMapVariable ()
 
PushUniform1sgetBrdfMapVariable ()
 

Attributs publics statiques

static C3D_API const castor::String MtxTexture [C3D_MAX_TEXTURE_MATRICES]
 

Attributs protégés

DepthStencilState m_dsState
 
RasteriserState m_rsState
 
BlendState m_blState
 
MultisampleState m_msState
 
ShaderProgramm_program
 
PushUniform1sSPtr m_directionalShadowMaps
 
PushUniform1sSPtr m_spotShadowMaps
 
PushUniform1sSPtr m_pointShadowMaps
 
PushUniform1sSPtr m_environmentMap
 
PushUniform1sSPtr m_irradianceMap
 
PushUniform1sSPtr m_prefilteredMap
 
PushUniform1sSPtr m_brdfMap
 
PipelineFlags m_flags
 
uint32_t m_textureCount { 0u }
 
BindingArray m_bindings
 
std::unordered_map< Submesh *, GeometryBuffersSPtr > m_meshGeometryBuffers
 
std::unordered_map< BillboardBase *, GeometryBuffersSPtr > m_billboardGeometryBuffers
 

Description détaillée

Le pipeline de rendu.

Auteur
Sylvain DOREMUS
Version
0.6.1.0
Date
03/01/2011
Remarques
Définit les diverses matrices, applique les transformations supportées.

Documentation des constructeurs et destructeur

◆ RenderPipeline()

C3D_API castor3d::RenderPipeline::RenderPipeline ( RenderSystem renderSystem,
DepthStencilState &&  dsState,
RasteriserState &&  rsState,
BlendState &&  blState,
MultisampleState &&  msState,
ShaderProgram program,
PipelineFlags const &  flags 
)
explicit

Constructeur.

Paramètres
[in]renderSystemLe RenderSystem parent.
[in]dsStateL'état de stencil et profondeur.
[in]rsStateL'état de rastériseur.
[in]blStateL'état de mélange.
[in]msStateL'état de multi-échantillonnage.
[in]programLe programme shader.
[in]flagsLes indicateurs de création.

◆ ~RenderPipeline()

virtual C3D_API castor3d::RenderPipeline::~RenderPipeline ( )
virtual

Destructeur.

Documentation des fonctions membres

◆ addUniformBuffer()

C3D_API void castor3d::RenderPipeline::addUniformBuffer ( UniformBuffer ubo)

Ajoute un tampon d'uniformes à ce pipeline.

Remarques
Crée le binding pour ce tampon, en utilisant le programme de ce pipeline.

◆ apply()

virtual C3D_API void castor3d::RenderPipeline::apply ( ) const
pure virtual

Applique le pipeline.

◆ cleanup()

C3D_API void castor3d::RenderPipeline::cleanup ( )

Nettoie le pipeline.

◆ getBindings()

BindingArray const& castor3d::RenderPipeline::getBindings ( ) const
inline
Renvoie
Les bindings des tampons de variables uniformes.

Références m_bindings.

◆ getBrdfMapVariable()

PushUniform1s& castor3d::RenderPipeline::getBrdfMapVariable ( )
inline
Renvoie
La variable shader de la texture de BRDF.

Références m_brdfMap.

Référencé par castor3d::doFillShaderPbrMaps().

+ Voici le graphe des appelants de cette fonction :

◆ getDirectionalShadowMapsVariable()

PushUniform1s& castor3d::RenderPipeline::getDirectionalShadowMapsVariable ( )
inline
Renvoie
La variable shader des maps d'ombres pour les lumières directionnelles.

Références m_directionalShadowMaps.

Référencé par castor3d::doFillShaderShadowMaps().

+ Voici le graphe des appelants de cette fonction :

◆ getEnvironmentMapVariable()

PushUniform1s& castor3d::RenderPipeline::getEnvironmentMapVariable ( )
inline
Renvoie
La variable shader de la reflection map.

Références m_environmentMap.

Référencé par castor3d::doBindPass().

+ Voici le graphe des appelants de cette fonction :

◆ getFlags()

PipelineFlags const& castor3d::RenderPipeline::getFlags ( ) const
inline
Renvoie
Les indicateurs de création.

Références m_flags.

Référencé par castor3d::doBindPass(), castor3d::doFillShaderShadowMaps(), et castor3d::doRenderNodeNoPass().

+ Voici le graphe des appelants de cette fonction :

◆ getGeometryBuffers() [1/2]

C3D_API GeometryBuffersSPtr castor3d::RenderPipeline::getGeometryBuffers ( Submesh submesh)

Récupère un GeometryBuffers pour le sous-maillage donné.

Paramètres
[in]submeshLe sous-maillage.

◆ getGeometryBuffers() [2/2]

C3D_API GeometryBuffersSPtr castor3d::RenderPipeline::getGeometryBuffers ( BillboardBase billboard)

Récupère un GeometryBuffers pour le billboard donné.

Paramètres
[in]billboardLe billboard.

◆ getIrradianceMapVariable()

PushUniform1s& castor3d::RenderPipeline::getIrradianceMapVariable ( )
inline
Renvoie
La variable shader de la texture d'irradiance.

Références m_irradianceMap.

Référencé par castor3d::doFillShaderPbrMaps().

+ Voici le graphe des appelants de cette fonction :

◆ getPointShadowMapsVariable()

PushUniform1s& castor3d::RenderPipeline::getPointShadowMapsVariable ( )
inline
Renvoie
La variable shader des maps d'ombres pour les lumières ponctuelles.

Références m_pointShadowMaps.

Référencé par castor3d::doFillShaderShadowMaps().

+ Voici le graphe des appelants de cette fonction :

◆ getPrefilteredMapVariable()

PushUniform1s& castor3d::RenderPipeline::getPrefilteredMapVariable ( )
inline
Renvoie
La variable shader de la texture d'irradiance.

Références m_prefilteredMap.

Référencé par castor3d::doFillShaderPbrMaps().

+ Voici le graphe des appelants de cette fonction :

◆ getProgram() [1/2]

ShaderProgram const& castor3d::RenderPipeline::getProgram ( ) const
inline
Renvoie
Le programme shader.

Références m_program.

◆ getProgram() [2/2]

ShaderProgram& castor3d::RenderPipeline::getProgram ( )
inline
Renvoie
Le programme shader.

Références m_program.

◆ getSpotShadowMapsVariable()

PushUniform1s& castor3d::RenderPipeline::getSpotShadowMapsVariable ( )
inline
Renvoie
La variable shader des maps d'ombres pour les lumières spots.

Références m_spotShadowMaps.

Référencé par castor3d::doFillShaderShadowMaps().

+ Voici le graphe des appelants de cette fonction :

◆ getTexturesCount()

uint32_t castor3d::RenderPipeline::getTexturesCount ( )
inline
Renvoie
Le nombre de textures utilisées par le programme.

Références m_textureCount.

Référencé par castor3d::doBindPass().

+ Voici le graphe des appelants de cette fonction :

Documentation des données membres

◆ m_billboardGeometryBuffers

std::unordered_map< BillboardBase *, GeometryBuffersSPtr > castor3d::RenderPipeline::m_billboardGeometryBuffers
protected

Les GeometryBuffers utilisés avec ce pipeline.

◆ m_bindings

BindingArray castor3d::RenderPipeline::m_bindings
protected

Les bindings de tampons d'uniformes.

Référencé par getBindings().

◆ m_blState

BlendState castor3d::RenderPipeline::m_blState
protected

L'état de mélange.

◆ m_brdfMap

PushUniform1sSPtr castor3d::RenderPipeline::m_brdfMap
protected

La variable shader pour la texture de BRDF.

Référencé par getBrdfMapVariable().

◆ m_directionalShadowMaps

PushUniform1sSPtr castor3d::RenderPipeline::m_directionalShadowMaps
protected

La variable shader pour les maps d'ombres des lumières directionnelles.

Référencé par getDirectionalShadowMapsVariable().

◆ m_dsState

DepthStencilState castor3d::RenderPipeline::m_dsState
protected

L'état de stencil et profondeur.

◆ m_environmentMap

PushUniform1sSPtr castor3d::RenderPipeline::m_environmentMap
protected

La variable shader pour la texture d'environnement.

Référencé par getEnvironmentMapVariable().

◆ m_flags

PipelineFlags castor3d::RenderPipeline::m_flags
protected

Les indicateurs de création.

Référencé par getFlags().

◆ m_irradianceMap

PushUniform1sSPtr castor3d::RenderPipeline::m_irradianceMap
protected

La variable shader pour la texture d'irradiance.

Référencé par getIrradianceMapVariable().

◆ m_meshGeometryBuffers

std::unordered_map< Submesh *, GeometryBuffersSPtr > castor3d::RenderPipeline::m_meshGeometryBuffers
protected

Les GeometryBuffers utilisés avec ce pipeline.

◆ m_msState

MultisampleState castor3d::RenderPipeline::m_msState
protected

L'état de multi-échantillonnage.

◆ m_pointShadowMaps

PushUniform1sSPtr castor3d::RenderPipeline::m_pointShadowMaps
protected

La variable shader pour les maps d'ombres des lumières ponctuelles.

Référencé par getPointShadowMapsVariable().

◆ m_prefilteredMap

PushUniform1sSPtr castor3d::RenderPipeline::m_prefilteredMap
protected

La variable shader pour la texture d'environnement préfiltrée.

Référencé par getPrefilteredMapVariable().

◆ m_program

ShaderProgram& castor3d::RenderPipeline::m_program
protected

Le programme shader.

Référencé par getProgram().

◆ m_rsState

RasteriserState castor3d::RenderPipeline::m_rsState
protected

L'état de rastériseur.

◆ m_spotShadowMaps

PushUniform1sSPtr castor3d::RenderPipeline::m_spotShadowMaps
protected

La variable shader pour les maps d'ombres des lumières spot.

Référencé par getSpotShadowMapsVariable().

◆ m_textureCount

uint32_t castor3d::RenderPipeline::m_textureCount { 0u }
protected

Le nombre de textures utilisées par le programme.

Référencé par getTexturesCount().

◆ MtxTexture

C3D_API const castor::String castor3d::RenderPipeline::MtxTexture[C3D_MAX_TEXTURE_MATRICES]
static

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