VulkanEngine 0.1
Graphics engine using Vulkan
Loading...
Searching...
No Matches
VulkanEngine::UniformBuffer< T > Class Template Reference

#include <UniformBuffer.h>

Inheritance diagram for VulkanEngine::UniformBuffer< T >:
VulkanEngine::Buffer VulkanEngine::Descriptor VulkanEngine::StagedBufferDestination VulkanEngine::BufferBase VulkanEngine::SingleUsageCommandBuffer

Public Member Functions

 UniformBuffer (uint32_t _binding, uint32_t _array_size=1, vk::ShaderStageFlags _vk_shader_stage_flags=vk::ShaderStageFlagBits::eAllGraphics)
 
virtual ~UniformBuffer ()
 Destructor.
 
virtual void appendVkDescriptorSets (std::shared_ptr< std::vector< vk::WriteDescriptorSet > > write_descriptor_sets, std::shared_ptr< std::vector< vk::CopyDescriptorSet > > copy_descriptor_sets, const vk::DescriptorSet &destination_set)
 
- Public Member Functions inherited from VulkanEngine::Buffer
 Buffer (size_t _data_size, vk::BufferUsageFlags usage_flags, vk::MemoryPropertyFlags memory_property_flags, VmaMemoryUsage vma_memory_usage)
 
 ~Buffer ()
 Destructor.
 
const vk::Buffer getVkBuffer () const
 
virtual void insertTransferCommand (const vk::CommandBuffer &command_buffer, const vk::Buffer &source_buffer)
 
virtual size_t getStagingBufferSize () const
 
- Public Member Functions inherited from VulkanEngine::BufferBase
virtual void updateBuffer (const void *_data, size_t _data_size)
 
- Public Member Functions inherited from VulkanEngine::Descriptor
 Descriptor (uint32_t _binding, uint32_t _desciptor_count, vk::DescriptorType _vk_descriptor_type, vk::ShaderStageFlags _vk_shader_stage_flags)
 Constructor.
 
 ~Descriptor ()
 Destructor.
 
const vk::DescriptorSetLayoutBinding getVkDescriptorSetLayoutBinding () const
 
const vk::DescriptorPoolSize getVkDescriptorPoolSize () const
 
virtual void appendVkDescriptorSets (std::shared_ptr< std::vector< vk::WriteDescriptorSet > > write_descriptor_sets, std::shared_ptr< std::vector< vk::CopyDescriptorSet > > copy_descriptor_sets, const vk::DescriptorSet &destination_set)=0
 

Additional Inherited Members

- Protected Member Functions inherited from VulkanEngine::SingleUsageCommandBuffer
void beginSingleUsageCommandBuffer ()
 Creates and starts recording the command buffer.
 
void endSingleUsageCommandBuffer ()
 Stops recording and submits the command buffer.
 
- Protected Attributes inherited from VulkanEngine::Buffer
size_t data_size
 The size of the data.
 
- Protected Attributes inherited from VulkanEngine::BufferBase
VmaAllocation vma_allocation
 
- Protected Attributes inherited from VulkanEngine::SingleUsageCommandBuffer
vk::CommandBuffer single_use_command_buffer
 The single use command buffer.
 
- Protected Attributes inherited from VulkanEngine::Descriptor
uint32_t binding
 The binding index.
 
uint32_t descriptor_count
 The number of descriptors represented.
 
vk::DescriptorType vk_descriptor_type
 The type of descriptor represented.
 
vk::ShaderStageFlags vk_shader_stage_flags
 

Detailed Description

template<typename T>
class VulkanEngine::UniformBuffer< T >

Represents a uniform buffer.

Template Parameters
Thedata type this UniformBuffer represents.

Constructor & Destructor Documentation

◆ UniformBuffer()

template<typename T >
VulkanEngine::UniformBuffer< T >::UniformBuffer ( uint32_t  _binding,
uint32_t  _array_size = 1,
vk::ShaderStageFlags  _vk_shader_stage_flags = vk::ShaderStageFlagBits::eAllGraphics 
)

Constructor.

Parameters
_bindingThe binding index.
_array_sizeFor arrays, specify the array size.
_vk_shader_stage_flagsSpecify which shader stages will access the buffer.

Member Function Documentation

◆ appendVkDescriptorSets()

template<typename T >
void VulkanEngine::UniformBuffer< T >::appendVkDescriptorSets ( std::shared_ptr< std::vector< vk::WriteDescriptorSet > >  write_descriptor_sets,
std::shared_ptr< std::vector< vk::CopyDescriptorSet > >  copy_descriptor_sets,
const vk::DescriptorSet &  destination_set 
)
virtual

Appends any write descriptor sets or copy descriptor sets which belong to this Descriptor to the given vectors.

Parameters
[out]write_descriptor_setsAny vk::WriteDescriptorSets of the descriptor should be appended to this vector.
[out]copy_descriptor_setsAny vk::CopyDescriptorSets of the descriptor should be appended to this vector.
destination_setThe destination descriptor set of the write and copy descriptor sets.

Implements VulkanEngine::Descriptor.


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