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

Le renderer d'incrustation. Plus de détails...

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

Classes

struct  OverlayGeometryBuffers
 Contient les deux geometry buffers utilisés pour dessiner les overlays. Plus de détails...
 
struct  OverlayRenderNode
 Contient les données nécessaires au dessin d'une incrustation. Plus de détails...
 

Fonctions membres publiques

C3D_API OverlayRenderer (RenderSystem &renderSystem)
 Constructeur. Plus de détails...
 
C3D_API ~OverlayRenderer ()
 Destructeur. Plus de détails...
 
C3D_API void initialise ()
 Initialise les tampons. Plus de détails...
 
C3D_API void cleanup ()
 Nettoie le renderer. Plus de détails...
 
C3D_API void drawPanel (PanelOverlay &overlay)
 Fonction de dessin d'un PanelOverlay. Plus de détails...
 
C3D_API void drawBorderPanel (BorderPanelOverlay &overlay)
 Fonction de dessin d'un BorderPanelOverlay. Plus de détails...
 
C3D_API void drawText (TextOverlay &overlay)
 Fonction de dessin d'un TextOverlay. Plus de détails...
 
C3D_API void beginRender (Viewport const &viewport)
 Commence le rendu des incrustations. Plus de détails...
 
C3D_API void endRender ()
 Termine le rendu des incrustations. Plus de détails...
 
castor::Size const & getSize () const
 
bool isSizeChanged () const
 

Fonctions membres protégées

C3D_API OverlayRenderNodedoGetPanelNode (Pass &pass)
 Récupère un programme de panneau compilé en utilisant la passe donnée. Plus de détails...
 
C3D_API OverlayRenderNodedoGetTextNode (Pass &pass)
 Récupère un programme de texte compilé en utilisant la passe donnée. Plus de détails...
 
C3D_API RenderPipelinedoGetPanelPipeline (TextureChannels textureFlags)
 Récupère un programme de panneau compilé en utilisant les indicateurs de texture donnés. Plus de détails...
 
C3D_API RenderPipelinedoGetTextPipeline (TextureChannels textureFlags)
 Récupère un programme de texte compilé en utilisant les indicateurs de texture donnés. Plus de détails...
 
C3D_API RenderPipelinedoGetPipeline (TextureChannels const &textureFlags)
 Récupère un programme compilé en utilisant les indicateurs donnés. Plus de détails...
 
C3D_API OverlayGeometryBuffers doCreateTextGeometryBuffers ()
 Crée un GeometryBuffers pouvant contenir 1000 caractères. Plus de détails...
 
C3D_API void doDrawItem (Material &material, VertexBuffer const &vertexBuffer, OverlayGeometryBuffers const &geometryBuffers, uint32_t count)
 Fonction de dessin d'une incrustation. Plus de détails...
 
C3D_API void doDrawItem (Pass &pass, VertexBuffer const &vertexBuffer, GeometryBuffers const &geometryBuffers, uint32_t count)
 Fonction de dessin d'une incrustation. Plus de détails...
 
C3D_API void doDrawItem (Pass &pass, VertexBuffer const &vertexBuffer, GeometryBuffers const &geometryBuffers, TextureLayout const &texture, Sampler const &sampler, uint32_t count)
 Fonction de dessin d'une incrustation texte. Plus de détails...
 
C3D_API OverlayGeometryBuffers doFillTextPart (int32_t count, TextOverlay::VertexArray::const_iterator &it, uint32_t index)
 Remplit un GeometryBuffers d'une partie d'un tableau de sommets pour texte. Plus de détails...
 
C3D_API ShaderProgramSPtr doCreateOverlayProgram (TextureChannels const &textureFlags)
 Crée un programme shader pour les rendu d'incrustations. Plus de détails...
 

Attributs protégés

VertexBufferSPtr m_panelVertexBuffer
 
VertexBufferSPtr m_borderVertexBuffer
 
std::vector< VertexBufferSPtr > m_textsVertexBuffers
 
OverlayGeometryBuffers m_panelGeometryBuffers
 
OverlayGeometryBuffers m_borderGeometryBuffers
 
std::vector< OverlayGeometryBuffersm_textsGeometryBuffers
 
BufferDeclaration m_declaration
 
BufferDeclaration m_textDeclaration
 
castor::Size m_size
 
std::map< Pass *, OverlayRenderNodem_mapPanelNodes
 
std::map< Pass *, OverlayRenderNodem_mapTextNodes
 
std::map< uint32_t, RenderPipelineUPtr > m_pipelines
 
Uniform1iSPtr m_mapText
 
int m_previousBorderZIndex { 0 }
 
int m_previousPanelZIndex { 0 }
 
int m_previousTextZIndex { 0 }
 
castor::String m_previousCaption
 
std::array< castor3d::BufferElementGroupSPtr, 6 > m_panelVertex
 
std::array< castor3d::BufferElementGroupSPtr, 8 *6 > m_borderVertex
 
bool m_sizeChanged { true }
 
MatrixUbo m_matrixUbo
 
OverlayUbo m_overlayUbo
 

Description détaillée

Le renderer d'incrustation.

Auteur
Sylvain DOREMUS
Date
09/02/2010

Documentation des constructeurs et destructeur

◆ OverlayRenderer()

C3D_API castor3d::OverlayRenderer::OverlayRenderer ( RenderSystem renderSystem)
explicit

Constructeur.

◆ ~OverlayRenderer()

C3D_API castor3d::OverlayRenderer::~OverlayRenderer ( )

Destructeur.

Documentation des fonctions membres

◆ beginRender()

C3D_API void castor3d::OverlayRenderer::beginRender ( Viewport const &  viewport)

Commence le rendu des incrustations.

Paramètres
[in]viewportLe viewport de la fenêtre de rendu.

◆ cleanup()

C3D_API void castor3d::OverlayRenderer::cleanup ( )

Nettoie le renderer.

◆ doCreateOverlayProgram()

C3D_API ShaderProgramSPtr castor3d::OverlayRenderer::doCreateOverlayProgram ( TextureChannels const &  textureFlags)
protected

Crée un programme shader pour les rendu d'incrustations.

Paramètres
[in]textureFlagsCombinaison de TextureChannel.
Renvoie
Le programme créé.

◆ doCreateTextGeometryBuffers()

C3D_API OverlayGeometryBuffers castor3d::OverlayRenderer::doCreateTextGeometryBuffers ( )
protected

Crée un GeometryBuffers pouvant contenir 1000 caractères.

Remarques
Ajoute de GeometryBuffers au tableau de GeometryBuffers de texte.
Renvoie
Le GeometryBuffers créé.

◆ doDrawItem() [1/3]

C3D_API void castor3d::OverlayRenderer::doDrawItem ( Material material,
VertexBuffer const &  vertexBuffer,
OverlayGeometryBuffers const &  geometryBuffers,
uint32_t  count 
)
protected

Fonction de dessin d'une incrustation.

Paramètres
[in]materialLe matériau.
[in]vertexBufferLe tampon de sommets de l'incrustation.
[in]geometryBuffersLes buffer de la géométrie de l'incrustation.
[in]countLe nombre de sommets.

◆ doDrawItem() [2/3]

C3D_API void castor3d::OverlayRenderer::doDrawItem ( Pass pass,
VertexBuffer const &  vertexBuffer,
GeometryBuffers const &  geometryBuffers,
uint32_t  count 
)
protected

Fonction de dessin d'une incrustation.

Paramètres
[in]passLa passe.
[in]vertexBufferLe tampon de sommets de l'incrustation.
[in]geometryBuffersLes buffer de la géométrie de l'incrustation.
[in]countLe nombre de sommets.

◆ doDrawItem() [3/3]

C3D_API void castor3d::OverlayRenderer::doDrawItem ( Pass pass,
VertexBuffer const &  vertexBuffer,
GeometryBuffers const &  geometryBuffers,
TextureLayout const &  texture,
Sampler const &  sampler,
uint32_t  count 
)
protected

Fonction de dessin d'une incrustation texte.

Paramètres
[in]passLa passe.
[in]vertexBufferLe tampon de sommets de l'incrustation.
[in]geometryBuffersLes buffer de la géométrie de l'incrustation.
[in]textureLa texture de polices.
[in]samplerL'échantillonneur de la texture.
[in]countLe nombre de sommets.

◆ doFillTextPart()

C3D_API OverlayGeometryBuffers castor3d::OverlayRenderer::doFillTextPart ( int32_t  count,
TextOverlay::VertexArray::const_iterator &  it,
uint32_t  index 
)
protected

Remplit un GeometryBuffers d'une partie d'un tableau de sommets pour texte.

Paramètres
[in]countLe nombre de sommets à copier dans le GeometryBuffers
[in]itLe début du tableau de sommets
[in]indexL'indice courant dans le tableau de GeometryBuffers de texte
Renvoie
Le GeometryBuffers utilisé.

◆ doGetPanelNode()

C3D_API OverlayRenderNode& castor3d::OverlayRenderer::doGetPanelNode ( Pass pass)
protected

Récupère un programme de panneau compilé en utilisant la passe donnée.

Paramètres
[in]passLa passe.
Renvoie
Le programme.

◆ doGetPanelPipeline()

C3D_API RenderPipeline& castor3d::OverlayRenderer::doGetPanelPipeline ( TextureChannels  textureFlags)
protected

Récupère un programme de panneau compilé en utilisant les indicateurs de texture donnés.

Paramètres
[in]textureFlagsCombinaison de TextureChannel.
Renvoie
Le programme.

◆ doGetPipeline()

C3D_API RenderPipeline& castor3d::OverlayRenderer::doGetPipeline ( TextureChannels const &  textureFlags)
protected

Récupère un programme compilé en utilisant les indicateurs donnés.

Paramètres
[in]textureFlagsCombinaison de TextureChannel.
Renvoie
Le programme

◆ doGetTextNode()

C3D_API OverlayRenderNode& castor3d::OverlayRenderer::doGetTextNode ( Pass pass)
protected

Récupère un programme de texte compilé en utilisant la passe donnée.

Paramètres
[in]passCombinaison de TextureChannel.
Renvoie
Le programme.

◆ doGetTextPipeline()

C3D_API RenderPipeline& castor3d::OverlayRenderer::doGetTextPipeline ( TextureChannels  textureFlags)
protected

Récupère un programme de texte compilé en utilisant les indicateurs de texture donnés.

Paramètres
[in]textureFlagsCombinaison de TextureChannel.
Renvoie
Le programme.

◆ drawBorderPanel()

C3D_API void castor3d::OverlayRenderer::drawBorderPanel ( BorderPanelOverlay overlay)

Fonction de dessin d'un BorderPanelOverlay.

Paramètres
[in]overlayL'incrustation à dessiner.

◆ drawPanel()

C3D_API void castor3d::OverlayRenderer::drawPanel ( PanelOverlay overlay)

Fonction de dessin d'un PanelOverlay.

Paramètres
[in]overlayL'incrustation à dessiner.

◆ drawText()

C3D_API void castor3d::OverlayRenderer::drawText ( TextOverlay overlay)

Fonction de dessin d'un TextOverlay.

Paramètres
[in]overlayL'incrustation à dessiner.

◆ endRender()

C3D_API void castor3d::OverlayRenderer::endRender ( )

Termine le rendu des incrustations.

◆ getSize()

castor::Size const& castor3d::OverlayRenderer::getSize ( ) const
inline
Renvoie
Les dimensions de la cible du rendu courant.

Références m_size.

◆ initialise()

C3D_API void castor3d::OverlayRenderer::initialise ( )

Initialise les tampons.

◆ isSizeChanged()

bool castor3d::OverlayRenderer::isSizeChanged ( ) const
inline
Renvoie
true si la taille de rendu a changé.

Références m_sizeChanged.

Documentation des données membres

◆ m_borderGeometryBuffers

OverlayGeometryBuffers castor3d::OverlayRenderer::m_borderGeometryBuffers
protected

Tampons de géometrie pour les bordures.

◆ m_borderVertex

std::array< castor3d::BufferElementGroupSPtr, 8 * 6 > castor3d::OverlayRenderer::m_borderVertex
protected

Tableau de vertex (définition du quad) pour les incrustations bordure.

◆ m_borderVertexBuffer

VertexBufferSPtr castor3d::OverlayRenderer::m_borderVertexBuffer
protected

Tampons de sommets pour les bordures.

◆ m_declaration

BufferDeclaration castor3d::OverlayRenderer::m_declaration
protected

La déclaration des éléments du tampon.

◆ m_mapPanelNodes

std::map< Pass *, OverlayRenderNode > castor3d::OverlayRenderer::m_mapPanelNodes
protected

Les programmes de shader utilisés pour rendre un panneau (utilisé pour les bords aussi).

◆ m_mapText

Uniform1iSPtr castor3d::OverlayRenderer::m_mapText
protected

Echantillonneur de la texture de texte.

◆ m_mapTextNodes

std::map< Pass *, OverlayRenderNode > castor3d::OverlayRenderer::m_mapTextNodes
protected

Les programmes de shader utilisés pour rendre les textes.

◆ m_matrixUbo

MatrixUbo castor3d::OverlayRenderer::m_matrixUbo
protected

Le tampon d'uniformes contenant les données de matrices.

◆ m_overlayUbo

OverlayUbo castor3d::OverlayRenderer::m_overlayUbo
protected

Le tampon d'uniformes contenant les données d'incrustation.

◆ m_panelGeometryBuffers

OverlayGeometryBuffers castor3d::OverlayRenderer::m_panelGeometryBuffers
protected

Tampons de géometrie pour les panneaux.

◆ m_panelVertex

std::array< castor3d::BufferElementGroupSPtr, 6 > castor3d::OverlayRenderer::m_panelVertex
protected

Tableau de vertex (définition du quad) pour les incrustations panneau.

◆ m_panelVertexBuffer

VertexBufferSPtr castor3d::OverlayRenderer::m_panelVertexBuffer
protected

Tampons de sommets pour les panneaux.

◆ m_pipelines

std::map< uint32_t, RenderPipelineUPtr > castor3d::OverlayRenderer::m_pipelines
protected

Les programmes de shader.

◆ m_previousBorderZIndex

int castor3d::OverlayRenderer::m_previousBorderZIndex { 0 }
protected

Le z-index du précedent BorderPanelOverlay rendu.

◆ m_previousCaption

castor::String castor3d::OverlayRenderer::m_previousCaption
protected

Le texte rendu précédemment.

◆ m_previousPanelZIndex

int castor3d::OverlayRenderer::m_previousPanelZIndex { 0 }
protected

Le z-index du précedent PanelOverlay rendu.

◆ m_previousTextZIndex

int castor3d::OverlayRenderer::m_previousTextZIndex { 0 }
protected

Le z-index du précedent TextOverlay rendu.

◆ m_size

castor::Size castor3d::OverlayRenderer::m_size
protected

Les dimensions de la cible du rendu courant.

Référencé par getSize().

◆ m_sizeChanged

bool castor3d::OverlayRenderer::m_sizeChanged { true }
protected

Dit si les dimension du rendu ont changé.

Référencé par isSizeChanged().

◆ m_textDeclaration

BufferDeclaration castor3d::OverlayRenderer::m_textDeclaration
protected

La déclaration des éléments du tampon, pour les textes.

◆ m_textsGeometryBuffers

std::vector< OverlayGeometryBuffers > castor3d::OverlayRenderer::m_textsGeometryBuffers
protected

Les GeometryBuffers utilisé pour rendre les textes.

◆ m_textsVertexBuffers

std::vector< VertexBufferSPtr > castor3d::OverlayRenderer::m_textsVertexBuffers
protected

Les tampons de sommets utilisés pour rendre les textes.


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