Castor3D 0.16.0
Multiplatform 3D engine
Types publics | Fonctions membres publiques | Attributs publics statiques | Attributs protégés | Liste de tous les membres
Référence du modèle de la classe castor3d::StructuredShaderBuffer< ElementTypeTraits >

Classe permettant de choisir entre SSBO et TBO. Plus de détails...

#include <StructuredShaderBuffer.hpp>

Graphe de collaboration de castor3d::StructuredShaderBuffer< ElementTypeTraits >:
Collaboration graph
[légende]

Types publics

using ElementType = typename ElementTypeTraits::ElementType
 

Fonctions membres publiques

C3D_API StructuredShaderBuffer (Engine &engine, ShaderBuffer &buffer, uint32_t &elementID, uint32_t count)
 Constructeur.
 
C3D_API uint32_t add (ElementType &element)
 Ajoute un élément au tampon.
 
C3D_API void remove (ElementType &element)
 Supprime un élément du tampon.
 
C3D_API void update ()
 Met à jour le tampon.
 
C3D_API void bind (uint32_t index) const
 Active le tampon.
 

Attributs publics statiques

static uint32_t constexpr ElementSize = ElementTypeTraits::ElementSize
 

Attributs protégés

ShaderBufferm_buffer
 
uint32_t & m_elementID
 
ElementTypeTraits m_traits
 
castor::Vector< ashes::AttributeFormat * > m_elements
 
castor::Vector< ashes::AttributeFormat const * > m_dirty
 
uint32_t const m_maxElemCount
 
castor::Vector< typename ElementType::OnChangedConnection > m_connections
 

Description détaillée

template<typename ElementTypeTraits>
class castor3d::StructuredShaderBuffer< ElementTypeTraits >

Classe permettant de choisir entre SSBO et TBO.

Remarques
Permet d'utiliser l'un comme l'autre de la même manière.

Documentation des définitions de type membres

◆ ElementType

template<typename ElementTypeTraits >
using castor3d::StructuredShaderBuffer< ElementTypeTraits >::ElementType = typename ElementTypeTraits::ElementType

Documentation des constructeurs et destructeur

◆ StructuredShaderBuffer()

template<typename ElementTypeTraits >
C3D_API castor3d::StructuredShaderBuffer< ElementTypeTraits >::StructuredShaderBuffer ( Engine & engine,
ShaderBuffer & buffer,
uint32_t & elementID,
uint32_t count )

Constructeur.

Paramètres
[in]engineLe moteur.
[in]bufferLe tampon shader.
[in]elementIDL'ID du prochain élément à ajouter.
[in]countLe nombre maximal d'éléments.

Documentation des fonctions membres

◆ add()

template<typename ElementTypeTraits >
C3D_API uint32_t castor3d::StructuredShaderBuffer< ElementTypeTraits >::add ( ElementType & element)

Ajoute un élément au tampon.

Remarques
Définit l'ID de l'élément.
Paramètres
[in]elementL'élément.

◆ bind()

template<typename ElementTypeTraits >
C3D_API void castor3d::StructuredShaderBuffer< ElementTypeTraits >::bind ( uint32_t index) const

Active le tampon.

Paramètres
[in]indexLe point d'activation.

◆ remove()

template<typename ElementTypeTraits >
C3D_API void castor3d::StructuredShaderBuffer< ElementTypeTraits >::remove ( ElementType & element)

Supprime un élément du tampon.

Paramètres
[in]elementL'élément.

◆ update()

template<typename ElementTypeTraits >
C3D_API void castor3d::StructuredShaderBuffer< ElementTypeTraits >::update ( )

Met à jour le tampon.

Documentation des données membres

◆ ElementSize

template<typename ElementTypeTraits >
uint32_t constexpr castor3d::StructuredShaderBuffer< ElementTypeTraits >::ElementSize = ElementTypeTraits::ElementSize
staticconstexpr

◆ m_buffer

template<typename ElementTypeTraits >
ShaderBuffer& castor3d::StructuredShaderBuffer< ElementTypeTraits >::m_buffer
protected

◆ m_connections

template<typename ElementTypeTraits >
castor::Vector< typename ElementType::OnChangedConnection > castor3d::StructuredShaderBuffer< ElementTypeTraits >::m_connections
protected

Les connexions aux signaux de changement des éléments actuels.

◆ m_dirty

template<typename ElementTypeTraits >
castor::Vector< ashes::AttributeFormat const * > castor3d::StructuredShaderBuffer< ElementTypeTraits >::m_dirty
protected

Les éléments modifiés.

◆ m_elementID

template<typename ElementTypeTraits >
uint32_t& castor3d::StructuredShaderBuffer< ElementTypeTraits >::m_elementID
protected

L'ID de l'élément suivant.

◆ m_elements

template<typename ElementTypeTraits >
castor::Vector< ashes::AttributeFormat * > castor3d::StructuredShaderBuffer< ElementTypeTraits >::m_elements
protected

Les éléments actuels.

◆ m_maxElemCount

template<typename ElementTypeTraits >
uint32_t const castor3d::StructuredShaderBuffer< ElementTypeTraits >::m_maxElemCount
protected

Le nombre maximal d'éléments.

◆ m_traits

template<typename ElementTypeTraits >
ElementTypeTraits castor3d::StructuredShaderBuffer< ElementTypeTraits >::m_traits
protected

Les traits.


La documentation de cette classe a été générée à partir des fichiers suivants :