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 &p_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 &p_pPanelOverlay)
 Fonction de dessin d'un PanelOverlay. Plus de détails...
 
C3D_API void DrawBorderPanel (BorderPanelOverlay &p_pBorderPanelOverlay)
 Fonction de dessin d'un BorderPanelOverlay. Plus de détails...
 
C3D_API void DrawText (TextOverlay &p_pTextPanelOverlay)
 Fonction de dessin d'un TextOverlay. Plus de détails...
 
C3D_API void BeginRender (Viewport const &p_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 &p_pass)
 Récupère un programme de panneau compilé en utilisant la passe donnée. Plus de détails...
 
C3D_API OverlayRenderNodeDoGetTextNode (Pass &p_pass)
 Récupère un programme de texte compilé en utilisant la passe donnée. Plus de détails...
 
C3D_API RenderPipelineDoGetPanelPipeline (TextureChannels p_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 p_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 &p_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 &p_material, OverlayGeometryBuffers const &p_geometryBuffers, uint32_t p_count)
 Fonction de dessin d'une incrustation. Plus de détails...
 
C3D_API void DoDrawItem (Pass &p_pass, GeometryBuffers const &p_geometryBuffers, uint32_t p_count)
 Fonction de dessin d'une incrustation. Plus de détails...
 
C3D_API void DoDrawItem (Pass &p_pass, GeometryBuffers const &p_geometryBuffers, TextureLayout const &p_texture, Sampler const &p_sampler, uint32_t p_count)
 Fonction de dessin d'une incrustation texte. Plus de détails...
 
C3D_API OverlayGeometryBuffers DoFillTextPart (int32_t p_count, TextOverlay::VertexArray::const_iterator &p_it, uint32_t &p_index)
 Remplit un GeometryBuffers d'une partie d'un tableau de sommets pour texte. Plus de détails...
 
C3D_API ShaderProgramSPtr DoCreateOverlayProgram (TextureChannels const &p_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 }
 
UniformBuffer m_matrixUbo
 
Uniform4x4fSPtr m_projectionUniform { nullptr }
 
Uniform4x4fSPtr m_viewUniform { nullptr }
 
UniformBuffer m_overlayUbo
 
Uniform2iSPtr m_overlayPosition { nullptr }
 
UniformBuffer m_passUbo
 

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 p_renderSystem)
explicit

Constructeur.

◆ ~OverlayRenderer()

C3D_API Castor3D::OverlayRenderer::~OverlayRenderer ( )

Destructeur.

Documentation des fonctions membres

◆ BeginRender()

C3D_API void Castor3D::OverlayRenderer::BeginRender ( Viewport const &  p_viewport)

Commence le rendu des incrustations.

Paramètres
[in]p_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 &  p_textureFlags)
protected

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

Paramètres
[in]p_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 p_material,
OverlayGeometryBuffers const &  p_geometryBuffers,
uint32_t  p_count 
)
protected

Fonction de dessin d'une incrustation.

Paramètres
[in]p_materialLe matériau.
[in]p_geometryBuffersLes buffer de la géométrie de l'incrustation.
[in]p_countLe nombre de sommets.

◆ DoDrawItem() [2/3]

C3D_API void Castor3D::OverlayRenderer::DoDrawItem ( Pass p_pass,
GeometryBuffers const &  p_geometryBuffers,
uint32_t  p_count 
)
protected

Fonction de dessin d'une incrustation.

Paramètres
[in]p_passLa passe.
[in]p_geometryBuffersLes buffer de la géométrie de l'incrustation.
[in]p_countLe nombre de sommets.

◆ DoDrawItem() [3/3]

C3D_API void Castor3D::OverlayRenderer::DoDrawItem ( Pass p_pass,
GeometryBuffers const &  p_geometryBuffers,
TextureLayout const &  p_texture,
Sampler const &  p_sampler,
uint32_t  p_count 
)
protected

Fonction de dessin d'une incrustation texte.

Paramètres
[in]p_passLa passe.
[in]p_geometryBuffersLes buffer de la géométrie de l'incrustation.
[in]p_textureLa texture de polices.
[in]p_samplerL'échantillonneur de la texture.
[in]p_countLe nombre de sommets.

◆ DoFillTextPart()

C3D_API OverlayGeometryBuffers Castor3D::OverlayRenderer::DoFillTextPart ( int32_t  p_count,
TextOverlay::VertexArray::const_iterator &  p_it,
uint32_t &  p_index 
)
protected

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

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

◆ DoGetPanelNode()

C3D_API OverlayRenderNode& Castor3D::OverlayRenderer::DoGetPanelNode ( Pass p_pass)
protected

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

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

◆ DoGetPanelPipeline()

C3D_API RenderPipeline& Castor3D::OverlayRenderer::DoGetPanelPipeline ( TextureChannels  p_textureFlags)
protected

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

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

◆ DoGetPipeline()

C3D_API RenderPipeline& Castor3D::OverlayRenderer::DoGetPipeline ( TextureChannels const &  p_textureFlags)
protected

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

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

◆ DoGetTextNode()

C3D_API OverlayRenderNode& Castor3D::OverlayRenderer::DoGetTextNode ( Pass p_pass)
protected

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

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

◆ DoGetTextPipeline()

C3D_API RenderPipeline& Castor3D::OverlayRenderer::DoGetTextPipeline ( TextureChannels  p_textureFlags)
protected

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

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

◆ DrawBorderPanel()

C3D_API void Castor3D::OverlayRenderer::DrawBorderPanel ( BorderPanelOverlay p_pBorderPanelOverlay)

Fonction de dessin d'un BorderPanelOverlay.

◆ DrawPanel()

C3D_API void Castor3D::OverlayRenderer::DrawPanel ( PanelOverlay p_pPanelOverlay)

Fonction de dessin d'un PanelOverlay.

◆ DrawText()

C3D_API void Castor3D::OverlayRenderer::DrawText ( TextOverlay p_pTextPanelOverlay)

Fonction de dessin d'un TextOverlay.

◆ 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

UniformBuffer Castor3D::OverlayRenderer::m_matrixUbo
protected

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

◆ m_overlayPosition

Uniform2iSPtr Castor3D::OverlayRenderer::m_overlayPosition { nullptr }
protected

La variable uniforme contenant la position de l'incrustation.

◆ m_overlayUbo

UniformBuffer 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_passUbo

UniformBuffer Castor3D::OverlayRenderer::m_passUbo
protected

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

◆ 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_projectionUniform

Uniform4x4fSPtr Castor3D::OverlayRenderer::m_projectionUniform { nullptr }
protected

La variable uniforme contenant la matrice projection.

◆ 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.

◆ m_viewUniform

Uniform4x4fSPtr Castor3D::OverlayRenderer::m_viewUniform { nullptr }
protected

La variable uniforme contenant la matrice vue.


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