Castor3D 0.13.0
Multiplatform 3D engine
|
Classe permettant de choisir entre SSBO et TBO. Plus de détails...
#include <StructuredShaderBuffer.hpp>
Types publics | |
using | ElementType = typename ElementTypeTraits::ElementType |
Fonctions membres publiques | |
C3D_API | StructuredShaderBuffer (Engine &engine, ShaderBuffer &buffer, uint32_t &elementID, uint32_t count) |
Constructeur. Plus de détails... | |
C3D_API | ~StructuredShaderBuffer () |
Destructeur. Plus de détails... | |
C3D_API uint32_t | add (ElementType &element) |
Ajoute un élément au tampon. Plus de détails... | |
C3D_API void | remove (ElementType &element) |
Supprime un élément du tampon. Plus de détails... | |
C3D_API void | update () |
Met à jour le tampon. Plus de détails... | |
C3D_API void | bind (uint32_t index) const |
Active le tampon. Plus de détails... | |
Attributs publics statiques | |
static uint32_t constexpr | ElementSize = ElementTypeTraits::ElementSize |
Attributs protégés | |
ShaderBuffer & | m_buffer |
uint32_t & | m_elementID |
ElementTypeTraits | m_traits |
std::vector< ashes::AttributeFormat * > | m_elements |
std::vector< ashes::AttributeFormat const * > | m_dirty |
uint32_t const | m_maxElemCount |
std::vector< typename ElementType::OnChangedConnection > | m_connections |
Classe permettant de choisir entre SSBO et TBO.
using castor3d::StructuredShaderBuffer< ElementTypeTraits >::ElementType = typename ElementTypeTraits::ElementType |
C3D_API castor3d::StructuredShaderBuffer< ElementTypeTraits >::StructuredShaderBuffer | ( | Engine & | engine, |
ShaderBuffer & | buffer, | ||
uint32_t & | elementID, | ||
uint32_t | count | ||
) |
Constructeur.
[in] | engine | Le moteur. |
[in] | buffer | Le tampon shader. |
[in] | elementID | L'ID du prochain élément à ajouter. |
[in] | count | Le nombre maximal d'éléments. |
C3D_API castor3d::StructuredShaderBuffer< ElementTypeTraits >::~StructuredShaderBuffer | ( | ) |
Destructeur.
C3D_API uint32_t castor3d::StructuredShaderBuffer< ElementTypeTraits >::add | ( | ElementType & | element | ) |
Ajoute un élément au tampon.
[in] | element | L'élément. |
C3D_API void castor3d::StructuredShaderBuffer< ElementTypeTraits >::bind | ( | uint32_t | index | ) | const |
Active le tampon.
[in] | index | Le point d'activation. |
C3D_API void castor3d::StructuredShaderBuffer< ElementTypeTraits >::remove | ( | ElementType & | element | ) |
Supprime un élément du tampon.
[in] | element | L'élément. |
C3D_API void castor3d::StructuredShaderBuffer< ElementTypeTraits >::update | ( | ) |
Met à jour le tampon.
|
staticconstexpr |
|
protected |
Le ShaderBuffer.
|
protected |
Les connexions aux signaux de changement des éléments actuels.
|
protected |
Les éléments modifiés.
|
protected |
L'ID de l'élément suivant.
|
protected |
Les éléments actuels.
|
protected |
Le nombre maximal d'éléments.
|
protected |
Les traits.