Castor3D 0.15.0
Multiplatform 3D engine
Fonctions membres publiques | Liste de tous les membres
Référence de la classe castor3d::ShaderBuffer

#include <ShaderBuffer.hpp>

Fonctions membres publiques

C3D_API ShaderBuffer (Engine &engine, RenderDevice const &device, VkDeviceSize size, castor::String name, crg::AccessState wantedState={ VK_ACCESS_SHADER_READ_BIT, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT })
 Constructeur.
 
C3D_API void upload (ashes::CommandBuffer const &commandBuffer) const
 Met à jour le tampon.
 
C3D_API void upload (ashes::CommandBuffer const &commandBuffer, VkDeviceSize offset, VkDeviceSize size) const
 Met à jour le tampon sur le GPU.
 
C3D_API VkDescriptorSetLayoutBinding createLayoutBinding (uint32_t index=0u, VkShaderStageFlags stages=(VK_SHADER_STAGE_FRAGMENT_BIT|VK_SHADER_STAGE_GEOMETRY_BIT|VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT|VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT|VK_SHADER_STAGE_VERTEX_BIT)) const
 Crée une attache de layout de set de descripteurs au point donné.
 
C3D_API void createPassBinding (crg::FramePass &pass, castor::String const &name, uint32_t binding) const
 Crée une attache de frame pass.
 
C3D_API ashes::WriteDescriptorSet getSingleBinding (uint32_t binding, VkDeviceSize offset, VkDeviceSize size) const
 Crée le descriptor write pour ce tampon.
 
C3D_API ashes::WriteDescriptorSet getBinding (uint32_t binding) const
 Crée le descriptor write pour ce tampon.
 
C3D_API void createBinding (ashes::DescriptorSet &descriptorSet, VkDescriptorSetLayoutBinding const &binding) const
 Crée une attache de set de descripteurs au point donné.
 
uint8_t * getPtr ()
 
VkDeviceSize getSize ()
 
RenderDevice const & getDevice () const
 
ashes::BufferBase const & getBuffer () const
 
void setFirstCount (uint32_t value)
 
void setSecondCount (uint32_t value)
 
void setThirdCount (uint32_t value)
 
void setFourthCount (uint32_t value)
 
void setCount (uint32_t value)
 

Documentation des constructeurs et destructeur

◆ ShaderBuffer()

C3D_API castor3d::ShaderBuffer::ShaderBuffer ( Engine engine,
RenderDevice const &  device,
VkDeviceSize  size,
castor::String  name,
crg::AccessState  wantedState = { VK_ACCESS_SHADER_READ_BIT, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT } 
)

Constructeur.

Paramètres
[in]engineLe moteur.
[in]deviceLe device GPU.
[in]sizeLa taille du tampon.
[in]nameLe nom du tampon shader.
[in]wantedStateL'accès souhaité après l'upload.

Documentation des fonctions membres

◆ createBinding()

C3D_API void castor3d::ShaderBuffer::createBinding ( ashes::DescriptorSet &  descriptorSet,
VkDescriptorSetLayoutBinding const &  binding 
) const

Crée une attache de set de descripteurs au point donné.

Paramètres
[in,out]descriptorSetReçoit l'attache créée.
[in]bindingL'attache de layout de set de descripteurs.

◆ createLayoutBinding()

C3D_API VkDescriptorSetLayoutBinding castor3d::ShaderBuffer::createLayoutBinding ( uint32_t  index = 0u,
VkShaderStageFlags  stages = (VK_SHADER_STAGE_FRAGMENT_BIT|VK_SHADER_STAGE_GEOMETRY_BIT|VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT|VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT|VK_SHADER_STAGE_VERTEX_BIT) 
) const

Crée une attache de layout de set de descripteurs au point donné.

Paramètres
[in]indexL'indice du point d'attache.
[in]stagesLes shader stages.

◆ createPassBinding()

C3D_API void castor3d::ShaderBuffer::createPassBinding ( crg::FramePass &  pass,
castor::String const &  name,
uint32_t  binding 
) const

Crée une attache de frame pass.

◆ getBinding()

C3D_API ashes::WriteDescriptorSet castor3d::ShaderBuffer::getBinding ( uint32_t  binding) const

Crée le descriptor write pour ce tampon.

Paramètres
[in]bindingL'attache de layout de set de descripteurs.

◆ getBuffer()

ashes::BufferBase const & castor3d::ShaderBuffer::getBuffer ( ) const
inline

Référencé par castor3d::FontGlyphBuffer::getBuffer().

Voici le graphe des appelants de cette fonction :

◆ getDevice()

RenderDevice const & castor3d::ShaderBuffer::getDevice ( ) const
inline

◆ getPtr()

uint8_t * castor3d::ShaderBuffer::getPtr ( )
inline

◆ getSingleBinding()

C3D_API ashes::WriteDescriptorSet castor3d::ShaderBuffer::getSingleBinding ( uint32_t  binding,
VkDeviceSize  offset,
VkDeviceSize  size 
) const

Crée le descriptor write pour ce tampon.

Paramètres
[in]bindingL'attache de layout de set de descripteurs.
[in]offset,sizeL'intervalle à mettre à jour.

◆ getSize()

VkDeviceSize castor3d::ShaderBuffer::getSize ( )
inline

◆ setCount()

void castor3d::ShaderBuffer::setCount ( uint32_t  value)
inline

Références setFirstCount().

Voici le graphe d'appel pour cette fonction :

◆ setFirstCount()

void castor3d::ShaderBuffer::setFirstCount ( uint32_t  value)
inline

name Mutateurs.

Référencé par setCount().

Voici le graphe des appelants de cette fonction :

◆ setFourthCount()

void castor3d::ShaderBuffer::setFourthCount ( uint32_t  value)
inline

Référencé par castor3d::FontGlyphBuffer::setImgHeight().

Voici le graphe des appelants de cette fonction :

◆ setSecondCount()

void castor3d::ShaderBuffer::setSecondCount ( uint32_t  value)
inline

Référencé par castor3d::FontGlyphBuffer::setMaxHeight().

Voici le graphe des appelants de cette fonction :

◆ setThirdCount()

void castor3d::ShaderBuffer::setThirdCount ( uint32_t  value)
inline

Référencé par castor3d::FontGlyphBuffer::setImgWidth().

Voici le graphe des appelants de cette fonction :

◆ upload() [1/2]

C3D_API void castor3d::ShaderBuffer::upload ( ashes::CommandBuffer const &  commandBuffer) const

Met à jour le tampon.

Paramètres
[in]commandBufferLe command buffer recevant les commandes d'upload.

◆ upload() [2/2]

C3D_API void castor3d::ShaderBuffer::upload ( ashes::CommandBuffer const &  commandBuffer,
VkDeviceSize  offset,
VkDeviceSize  size 
) const

Met à jour le tampon sur le GPU.

Paramètres
[in]commandBufferLe command buffer recevant les commandes d'upload.
[in]offset,sizeL'intervalle à mettre à jour.

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