Castor3D
..
|
Le renderer d'incrustation. Plus de détails...
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 OverlayRenderNode & | doGetPanelNode (Pass &pass) |
Récupère un programme de panneau compilé en utilisant la passe donnée. Plus de détails... | |
C3D_API OverlayRenderNode & | doGetTextNode (Pass &pass) |
Récupère un programme de texte compilé en utilisant la passe donnée. Plus de détails... | |
C3D_API RenderPipeline & | doGetPanelPipeline (TextureChannels textureFlags) |
Récupère un programme de panneau compilé en utilisant les indicateurs de texture donnés. Plus de détails... | |
C3D_API RenderPipeline & | doGetTextPipeline (TextureChannels textureFlags) |
Récupère un programme de texte compilé en utilisant les indicateurs de texture donnés. Plus de détails... | |
C3D_API RenderPipeline & | doGetPipeline (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< OverlayGeometryBuffers > | m_textsGeometryBuffers |
BufferDeclaration | m_declaration |
BufferDeclaration | m_textDeclaration |
castor::Size | m_size |
std::map< Pass *, OverlayRenderNode > | m_mapPanelNodes |
std::map< Pass *, OverlayRenderNode > | m_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 |
Le renderer d'incrustation.
|
explicit |
Constructeur.
C3D_API castor3d::OverlayRenderer::~OverlayRenderer | ( | ) |
Destructeur.
Commence le rendu des incrustations.
[in] | viewport | Le viewport de la fenêtre de rendu. |
C3D_API void castor3d::OverlayRenderer::cleanup | ( | ) |
Nettoie le renderer.
|
protected |
Crée un programme shader pour les rendu d'incrustations.
[in] | textureFlags | Combinaison de TextureChannel. |
|
protected |
Crée un GeometryBuffers pouvant contenir 1000 caractères.
|
protected |
Fonction de dessin d'une incrustation.
[in] | material | Le matériau. |
[in] | vertexBuffer | Le tampon de sommets de l'incrustation. |
[in] | geometryBuffers | Les buffer de la géométrie de l'incrustation. |
[in] | count | Le nombre de sommets. |
|
protected |
Fonction de dessin d'une incrustation.
[in] | pass | La passe. |
[in] | vertexBuffer | Le tampon de sommets de l'incrustation. |
[in] | geometryBuffers | Les buffer de la géométrie de l'incrustation. |
[in] | count | Le nombre de sommets. |
|
protected |
Fonction de dessin d'une incrustation texte.
[in] | pass | La passe. |
[in] | vertexBuffer | Le tampon de sommets de l'incrustation. |
[in] | geometryBuffers | Les buffer de la géométrie de l'incrustation. |
[in] | texture | La texture de polices. |
[in] | sampler | L'échantillonneur de la texture. |
[in] | count | Le nombre de sommets. |
|
protected |
Remplit un GeometryBuffers d'une partie d'un tableau de sommets pour texte.
[in] | count | Le nombre de sommets à copier dans le GeometryBuffers |
[in] | it | Le début du tableau de sommets |
[in] | index | L'indice courant dans le tableau de GeometryBuffers de texte |
|
protected |
Récupère un programme de panneau compilé en utilisant la passe donnée.
[in] | pass | La passe. |
|
protected |
Récupère un programme de panneau compilé en utilisant les indicateurs de texture donnés.
[in] | textureFlags | Combinaison de TextureChannel. |
|
protected |
Récupère un programme compilé en utilisant les indicateurs donnés.
[in] | textureFlags | Combinaison de TextureChannel. |
|
protected |
Récupère un programme de texte compilé en utilisant la passe donnée.
[in] | pass | Combinaison de TextureChannel. |
|
protected |
Récupère un programme de texte compilé en utilisant les indicateurs de texture donnés.
[in] | textureFlags | Combinaison de TextureChannel. |
C3D_API void castor3d::OverlayRenderer::drawBorderPanel | ( | BorderPanelOverlay & | overlay | ) |
Fonction de dessin d'un BorderPanelOverlay.
[in] | overlay | L'incrustation à dessiner. |
C3D_API void castor3d::OverlayRenderer::drawPanel | ( | PanelOverlay & | overlay | ) |
Fonction de dessin d'un PanelOverlay.
[in] | overlay | L'incrustation à dessiner. |
C3D_API void castor3d::OverlayRenderer::drawText | ( | TextOverlay & | overlay | ) |
Fonction de dessin d'un TextOverlay.
[in] | overlay | L'incrustation à dessiner. |
C3D_API void castor3d::OverlayRenderer::endRender | ( | ) |
Termine le rendu des incrustations.
|
inline |
Références m_size.
C3D_API void castor3d::OverlayRenderer::initialise | ( | ) |
Initialise les tampons.
|
inline |
true
si la taille de rendu a changé. Références m_sizeChanged.
|
protected |
Tampons de géometrie pour les bordures.
|
protected |
Tableau de vertex (définition du quad) pour les incrustations bordure.
|
protected |
Tampons de sommets pour les bordures.
|
protected |
La déclaration des éléments du tampon.
|
protected |
Les programmes de shader utilisés pour rendre un panneau (utilisé pour les bords aussi).
|
protected |
Echantillonneur de la texture de texte.
|
protected |
Les programmes de shader utilisés pour rendre les textes.
|
protected |
Le tampon d'uniformes contenant les données de matrices.
|
protected |
Le tampon d'uniformes contenant les données d'incrustation.
|
protected |
Tampons de géometrie pour les panneaux.
|
protected |
Tableau de vertex (définition du quad) pour les incrustations panneau.
|
protected |
Tampons de sommets pour les panneaux.
|
protected |
Les programmes de shader.
|
protected |
Le z-index du précedent BorderPanelOverlay rendu.
|
protected |
Le texte rendu précédemment.
|
protected |
Le z-index du précedent PanelOverlay rendu.
|
protected |
Le z-index du précedent TextOverlay rendu.
|
protected |
Les dimensions de la cible du rendu courant.
Référencé par getSize().
|
protected |
Dit si les dimension du rendu ont changé.
Référencé par isSizeChanged().
|
protected |
La déclaration des éléments du tampon, pour les textes.
|
protected |
Les GeometryBuffers utilisé pour rendre les textes.
|
protected |
Les tampons de sommets utilisés pour rendre les textes.