Castor3D
..
|
Interface de tampon de stockage shader. Plus de détails...
Fonctions membres publiques | |
C3D_API | ShaderStorageBuffer (Castor::String const &p_name, ShaderProgram &p_program) |
Constructeur. Plus de détails... | |
virtual C3D_API | ~ShaderStorageBuffer () |
Destructeur. Plus de détails... | |
C3D_API bool | Initialise (uint32_t p_size, uint32_t p_index, BufferAccessType p_type, BufferAccessNature p_nature) |
Initialise le tampon GPU. Plus de détails... | |
C3D_API void | Cleanup () |
Nettoie toutes les variables et le tampon GPU associé. Plus de détails... | |
C3D_API uint8_t * | Lock (uint32_t p_offset, uint32_t p_count, AccessTypes const &p_flags) |
Locke le tampon, càd le mappe en mémoire ram afin d'y autoriser des modifications. Plus de détails... | |
C3D_API void | Unlock () |
Un locke le tampon, càd l'unmappe de la mémoire ram afin de ne plus autoriser de modifications dessus. Plus de détails... | |
C3D_API void | Upload (uint32_t p_offset, uint32_t p_count, uint8_t const *p_buffer) |
Transfère des données au tampon GPU à partir de la RAM. Plus de détails... | |
C3D_API void | Download (uint32_t p_offset, uint32_t p_count, uint8_t *p_buffer) |
Transfère des données du tampon GPU vers la RAM. Plus de détails... | |
C3D_API void | Bind () |
Fonction d'activation, pour dire au GPU qu'il est activé. Plus de détails... | |
C3D_API void | BindTo (uint32_t p_point) |
Active le tampon au point d'attache donné. Plus de détails... | |
C3D_API void | Unbind () |
Fonction de désactivation, pour dire au GPU qu'il est désactivé. Plus de détails... | |
C3D_API void | Copy (GpuBuffer< uint8_t > const &p_src, uint32_t p_size) |
Copie les données du tampon donné dans celui-ci. Plus de détails... | |
GpuBuffer< uint8_t > const & | GetGpuBuffer () const |
Attributs protégés | |
GpuBufferUPtr | m_gpuBuffer |
Interface de tampon de stockage shader.
C3D_API Castor3D::ShaderStorageBuffer::ShaderStorageBuffer | ( | Castor::String const & | p_name, |
ShaderProgram & | p_program | ||
) |
Constructeur.
[in] | p_name | Le nom du tampon. |
[in] | p_program | Le programme parent. |
|
virtual |
Destructeur.
C3D_API void Castor3D::ShaderStorageBuffer::Bind | ( | ) |
Fonction d'activation, pour dire au GPU qu'il est activé.
C3D_API void Castor3D::ShaderStorageBuffer::BindTo | ( | uint32_t | p_point | ) |
Active le tampon au point d'attache donné.
[in] | p_point | Le point d'attache. |
C3D_API void Castor3D::ShaderStorageBuffer::Cleanup | ( | ) |
Nettoie toutes les variables et le tampon GPU associé.
C3D_API void Castor3D::ShaderStorageBuffer::Copy | ( | GpuBuffer< uint8_t > const & | p_src, |
uint32_t | p_size | ||
) |
Copie les données du tampon donné dans celui-ci.
[in] | p_src | Le tampon source. |
[in] | p_size | Le nombre d'éléments à copier. |
C3D_API void Castor3D::ShaderStorageBuffer::Download | ( | uint32_t | p_offset, |
uint32_t | p_count, | ||
uint8_t * | p_buffer | ||
) |
Transfère des données du tampon GPU vers la RAM.
[in] | p_offset | L'offset de départ. |
[in] | p_count | Nombre d'éléments. |
[out] | p_buffer | Les données. |
|
inline |
Références m_gpuBuffer.
C3D_API bool Castor3D::ShaderStorageBuffer::Initialise | ( | uint32_t | p_size, |
uint32_t | p_index, | ||
BufferAccessType | p_type, | ||
BufferAccessNature | p_nature | ||
) |
Initialise le tampon GPU.
[in] | p_size | Taille du tampon. |
[in] | p_index | L'index d'attache. |
[in] | p_type | Type d'accès du tampon. |
[in] | p_nature | Nature d'accès du tampon. |
false
if any problem occured. C3D_API uint8_t* Castor3D::ShaderStorageBuffer::Lock | ( | uint32_t | p_offset, |
uint32_t | p_count, | ||
AccessTypes const & | p_flags | ||
) |
Locke le tampon, càd le mappe en mémoire ram afin d'y autoriser des modifications.
[in] | p_offset | L'offset de départ. |
[in] | p_count | Le nombre d'éléments à mapper. |
[in] | p_flags | Les flags de lock. |
C3D_API void Castor3D::ShaderStorageBuffer::Unbind | ( | ) |
Fonction de désactivation, pour dire au GPU qu'il est désactivé.
C3D_API void Castor3D::ShaderStorageBuffer::Unlock | ( | ) |
Un locke le tampon, càd l'unmappe de la mémoire ram afin de ne plus autoriser de modifications dessus.
C3D_API void Castor3D::ShaderStorageBuffer::Upload | ( | uint32_t | p_offset, |
uint32_t | p_count, | ||
uint8_t const * | p_buffer | ||
) |
Transfère des données au tampon GPU à partir de la RAM.
[in] | p_offset | L'offset de départ. |
[in] | p_count | Nombre d'éléments. |
[in] | p_buffer | Les données. |
|
protected |
Le tampon GPU.
Référencé par GetGpuBuffer().