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, IndexBufferSPtr p_index)
 Crée le VAO. Plus de détails...
 
C3D_API void Cleanup ()
 Détruit le VAO. 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
 
void SetTopology (Topology p_value)
 Définit la topologie des tampons. Plus de détails...
 

Attributs protégés

VertexBufferArray m_buffers
 
IndexBufferSPtr 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,
IndexBufferSPtr  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()

void Castor3D::GeometryBuffers::SetTopology ( Topology  p_value)
inline

Définit la topologie des tampons.

Paramètres
[in]p_valueLa nouvelle valeur.

Références C3D_API, et m_topology.

Documentation des données membres

◆ m_buffers

VertexBufferArray Castor3D::GeometryBuffers::m_buffers
protected

Les tampons de sommets, animations, ....

◆ m_indexBuffer

IndexBufferSPtr 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(), et SetTopology().


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