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

Conteneur de buffers de géométries. Plus de détails...

+ Graphe de collaboration de castor3d::GeometryBuffers:

Fonctions membres publiques

C3D_API GeometryBuffers (Topology p_topology, ShaderProgram const &p_program)
 Constructeur. Plus de détails...
 
virtual C3D_API ~GeometryBuffers ()
 Destructeur. Plus de détails...
 
C3D_API bool initialise (VertexBufferArray const &p_buffers, IndexBufferRPtr p_index)
 Crée le VAO. Plus de détails...
 
C3D_API void cleanup ()
 Détruit le VAO. Plus de détails...
 
C3D_API void setTopology (Topology p_value)
 Définit la topologie des tampons. Plus de détails...
 
virtual C3D_API bool draw (uint32_t p_size, uint32_t p_index) const =0
 Dessine la géométrie contenue dans les buffers. Plus de détails...
 
virtual C3D_API bool drawInstanced (uint32_t p_size, uint32_t p_index, uint32_t p_count) const =0
 Dessine la géométrie contenue dans les buffers. Plus de détails...
 
ShaderProgram const & getProgram () const
 
Topology getTopology () const
 

Attributs protégés

VertexBufferArray m_buffers
 
IndexBufferRPtr m_indexBuffer { nullptr }
 
ShaderProgram const & m_program
 
Topology m_topology
 

Description détaillée

Conteneur de buffers de géométries.

Auteur
Sylvain DOREMUS
Version
0.7.0.0
Date
18/11/2012
Remarques
Permet aux implémentations d'utiliser les optimisations spécifiques aux API (comme les Vertex arrays objects OpenGL)
Acquiert la responsabilité de ses buffers à la création

Documentation des constructeurs et destructeur

◆ GeometryBuffers()

C3D_API castor3d::GeometryBuffers::GeometryBuffers ( Topology  p_topology,
ShaderProgram const &  p_program 
)

Constructeur.

Paramètres
[in]p_topologyLa topologie des tampons.
[in]p_programLe programme shader.

◆ ~GeometryBuffers()

virtual C3D_API castor3d::GeometryBuffers::~GeometryBuffers ( )
virtual

Destructeur.

Documentation des fonctions membres

◆ cleanup()

C3D_API void castor3d::GeometryBuffers::cleanup ( )

Détruit le VAO.

◆ draw()

virtual C3D_API bool castor3d::GeometryBuffers::draw ( uint32_t  p_size,
uint32_t  p_index 
) const
pure virtual

Dessine la géométrie contenue dans les buffers.

Paramètres
[in]p_sizeSpécifie le nombre de vertices à rendre
[in]p_indexSpécifie l'indice du premier vertice
Renvoie
true si tout s'est bien passé

◆ drawInstanced()

virtual C3D_API bool castor3d::GeometryBuffers::drawInstanced ( uint32_t  p_size,
uint32_t  p_index,
uint32_t  p_count 
) const
pure virtual

Dessine la géométrie contenue dans les buffers.

Paramètres
[in]p_sizeSpécifie le nombre de vertices à rendre
[in]p_indexSpécifie l'indice du premier vertice
[in]p_countLe nombre d'instances à dessiner
Renvoie
true si tout s'est bien passé

◆ getProgram()

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

Références m_program.

◆ getTopology()

Topology castor3d::GeometryBuffers::getTopology ( ) const
inline
Renvoie
La topologie des tampons.

Références m_topology.

◆ initialise()

C3D_API bool castor3d::GeometryBuffers::initialise ( VertexBufferArray const &  p_buffers,
IndexBufferRPtr  p_index 
)

Crée le VAO.

Paramètres
[in]p_buffersLes tampons de sommets, animations, ....
[in]p_indexLe tampon d'indices.
Renvoie
true si ça s'est bien passé.

◆ setTopology()

C3D_API void castor3d::GeometryBuffers::setTopology ( Topology  p_value)

Définit la topologie des tampons.

Paramètres
[in]p_valueLa nouvelle valeur.

Documentation des données membres

◆ m_buffers

VertexBufferArray castor3d::GeometryBuffers::m_buffers
protected

Les tampons de sommets, animations, ....

◆ m_indexBuffer

IndexBufferRPtr castor3d::GeometryBuffers::m_indexBuffer { nullptr }
protected

Le tampon d'indices.

◆ m_program

ShaderProgram const& castor3d::GeometryBuffers::m_program
protected

Le programme de rendu.

Référencé par getProgram().

◆ m_topology

Topology castor3d::GeometryBuffers::m_topology
protected

La topologie des tampons.

Référencé par getTopology().


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