Castor3D
..
|
Buffer de variables de shader. Plus de détails...
Classes | |
class | TextWriter |
Loader de UniformBuffer. Plus de détails... | |
Fonctions membres publiques | |
UniformBuffer (UniformBuffer const &)=delete | |
UniformBuffer (UniformBuffer &&)=default | |
UniformBuffer & | operator= (UniformBuffer const &)=delete |
UniformBuffer & | operator= (UniformBuffer &&)=default |
C3D_API | UniformBuffer (castor::String const &name, RenderSystem &renderSystem, uint32_t bindingPoint) |
Constructeur. Plus de détails... | |
virtual C3D_API | ~UniformBuffer () |
Destructeur. Plus de détails... | |
C3D_API void | cleanup () |
Nettoie toutes les variables et le tampon GPU associé. Plus de détails... | |
C3D_API void | update () const |
Met à jour le stockage GPU. Plus de détails... | |
C3D_API void | bindTo (uint32_t index) const |
Définit le point d'attache du tampon. Plus de détails... | |
C3D_API uint32_t | getBindingPoint () const |
C3D_API UniformBufferBinding & | createBinding (ShaderProgram &program) |
Crée un binding entre ce tampon d'uniformes et le porgramme donné. Plus de détails... | |
C3D_API UniformBufferBinding & | getBinding (ShaderProgram &program) const |
Récupère le binding pour le programme donné. Plus de détails... | |
C3D_API UniformSPtr | createUniform (UniformType type, castor::String const &name, uint32_t occurences=1) |
Crée une variable du type demandé. Plus de détails... | |
template<UniformType Type> | |
std::shared_ptr< typename UniformTypeTraits< Type >::type > | createUniform (castor::String const &name, int occurences=1) |
Crée une variable. Plus de détails... | |
C3D_API void | removeUniform (castor::String const &name) |
Supprime une variable de ce tampon. Plus de détails... | |
template<UniformType Type> | |
std::shared_ptr< TUniform< Type > > | getUniform (castor::String const &name) const |
Récupère une variable par son nom. Plus de détails... | |
GpuBuffer & | getStorage () const |
UniformList::iterator | begin () |
UniformList::const_iterator | begin () const |
UniformList::iterator | end () |
UniformList::const_iterator | end () const |
Attributs protégés | |
UniformList | m_listVariables |
UniformMap | m_mapVariables |
castor::ByteArray | m_buffer |
GpuBufferSPtr | m_storage |
uint32_t | m_offset { 0u } |
UniformBufferBindingMap | m_bindings |
uint32_t | m_bindingPoint { 0u } |
Amis | |
class | castor::TextWriter< castor3d::UniformBuffer > |
Buffer de variables de shader.
|
delete |
|
default |
C3D_API castor3d::UniformBuffer::UniformBuffer | ( | castor::String const & | name, |
RenderSystem & | renderSystem, | ||
uint32_t | bindingPoint | ||
) |
Constructeur.
[in] | name | Le nom du tampon. |
[in] | renderSystem | Le render system. |
[in] | bindingPoint | Le point d'attache. |
|
virtual |
Destructeur.
|
inline |
Références m_listVariables.
|
inline |
Références m_listVariables.
C3D_API void castor3d::UniformBuffer::bindTo | ( | uint32_t | index | ) | const |
Définit le point d'attache du tampon.
[in] | index | Le point d'attache. |
C3D_API void castor3d::UniformBuffer::cleanup | ( | ) |
Nettoie toutes les variables et le tampon GPU associé.
C3D_API UniformBufferBinding& castor3d::UniformBuffer::createBinding | ( | ShaderProgram & | program | ) |
Crée un binding entre ce tampon d'uniformes et le porgramme donné.
[in] | program | Le programme. |
C3D_API UniformSPtr castor3d::UniformBuffer::createUniform | ( | UniformType | type, |
castor::String const & | name, | ||
uint32_t | occurences = 1 |
||
) |
Crée une variable du type demandé.
[in] | type | Le type voulu. |
[in] | name | Le nom de la variable. |
[in] | occurences | Les dimensions du tableau. |
Référencé par createUniform().
|
inline |
Crée une variable.
[in] | name | Le nom de la variable. |
[in] | occurences | Les dimensions du tableau. |
Références C3D_API, createUniform(), getUniform(), et removeUniform().
|
inline |
Références m_listVariables.
|
inline |
Références m_listVariables.
C3D_API UniformBufferBinding& castor3d::UniformBuffer::getBinding | ( | ShaderProgram & | program | ) | const |
Récupère le binding pour le programme donné.
[in] | program | Le programme. |
C3D_API uint32_t castor3d::UniformBuffer::getBindingPoint | ( | ) | const |
|
inline |
Références m_storage.
|
inline |
Récupère une variable par son nom.
[in] | name | Le nom de la variable. |
Référencé par createUniform().
|
delete |
|
default |
C3D_API void castor3d::UniformBuffer::removeUniform | ( | castor::String const & | name | ) |
Supprime une variable de ce tampon.
[in] | name | Le nom de la variable. |
Référencé par createUniform().
C3D_API void castor3d::UniformBuffer::update | ( | ) | const |
Met à jour le stockage GPU.
|
friend |
|
protected |
Le point d'attache initial.
|
protected |
Les bindings par programme.
|
protected |
Le tampon de données.
|
protected |
|
protected |
Les variables, triées par nom.
|
protected |
Le décalage dans le tampon GPU.
|
protected |
Le tampon GPU.
Référencé par getStorage().