Castor3D 0.16.0
Multiplatform 3D engine
Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
castor3d::TextureConfigurationBuffer Class Reference

#include <TextureConfigurationBuffer.hpp>

Classes

struct  Data
 

Public Types

using TextureConfigurationsData = castor::ArrayView< Data >
 

Public Member Functions

C3D_API TextureConfigurationBuffer (Engine &engine, RenderDevice const &device, uint32_t count)
 Constructor.
 
C3D_API uint32_t addTextureConfiguration (TextureUnit &unit)
 Adds a configuration to the buffer.
 
C3D_API void removeTextureConfiguration (TextureUnit &unit) noexcept
 Removes a configuration from the buffer.
 
C3D_API void update (UploadData &uploader)
 Updates the configurations buffer.
 
C3D_API VkDescriptorSetLayoutBinding createLayoutBinding (uint32_t binding, 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
 Creates the descriptor set layout binding.
 
C3D_API ashes::WriteDescriptorSet getBinding (uint32_t binding) const
 Creates the descriptor write for this buffer.
 
C3D_API void createBinding (ashes::DescriptorSet &descriptorSet, VkDescriptorSetLayoutBinding const &binding) const
 Creates the descriptor set binding at given point.
 
C3D_API RenderDevice const & getDevice () const
 
uint8_t * getPtr ()
 

Static Public Attributes

static uint32_t constexpr DataSize = uint32_t( sizeof( Data ) )
 

Member Typedef Documentation

◆ TextureConfigurationsData

Constructor & Destructor Documentation

◆ TextureConfigurationBuffer()

C3D_API castor3d::TextureConfigurationBuffer::TextureConfigurationBuffer ( Engine & engine,
RenderDevice const & device,
uint32_t count )

Constructor.

Parameters
[in]engineThe engine.
[in]deviceThe GPU device.
[in]countThe max configurations count.

Member Function Documentation

◆ addTextureConfiguration()

C3D_API uint32_t castor3d::TextureConfigurationBuffer::addTextureConfiguration ( TextureUnit & unit)

Adds a configuration to the buffer.

Parameters
[in]unitThe texture.

◆ createBinding()

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

Creates the descriptor set binding at given point.

Parameters
[in]descriptorSetThe descriptor set that receives the binding.
[in]bindingThe descriptor set layout binding.

◆ createLayoutBinding()

C3D_API VkDescriptorSetLayoutBinding castor3d::TextureConfigurationBuffer::createLayoutBinding ( uint32_t binding,
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

Creates the descriptor set layout binding.

◆ getBinding()

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

Creates the descriptor write for this buffer.

◆ getDevice()

C3D_API RenderDevice const & castor3d::TextureConfigurationBuffer::getDevice ( ) const

◆ getPtr()

uint8_t * castor3d::TextureConfigurationBuffer::getPtr ( )
inline
Returns
The pointer to the buffer.

References castor3d::ShaderBuffer::getPtr().

Here is the call graph for this function:

◆ removeTextureConfiguration()

C3D_API void castor3d::TextureConfigurationBuffer::removeTextureConfiguration ( TextureUnit & unit)
noexcept

Removes a configuration from the buffer.

Parameters
[in]unitThe texture.

◆ update()

C3D_API void castor3d::TextureConfigurationBuffer::update ( UploadData & uploader)

Updates the configurations buffer.

Member Data Documentation

◆ DataSize

uint32_t constexpr castor3d::TextureConfigurationBuffer::DataSize = uint32_t( sizeof( Data ) )
staticconstexpr

The documentation for this class was generated from the following file: