VulkanEngine 0.1
Graphics engine using Vulkan
Loading...
Searching...
No Matches
VulkanEngine::Attribute Class Reference

Abstract base class for shader attributes. More...

#include <Attribute.h>

Inheritance diagram for VulkanEngine::Attribute:
VulkanEngine::StagedBuffer< Buffer > VulkanEngine::Buffer VulkanEngine::StagedBufferDestination VulkanEngine::BufferBase VulkanEngine::SingleUsageCommandBuffer VulkanEngine::IndexAttribute< T > VulkanEngine::VertexAttribute< T >

Public Member Functions

 Attribute (size_t _num_elements, size_t _element_size, vk::BufferUsageFlags flags)
 
 ~Attribute ()
 Destructor.
 
size_t getNumElements () const
 
- Public Member Functions inherited from VulkanEngine::StagedBuffer< Buffer >
 StagedBuffer (DestinationClassArgs... args)
 
 ~StagedBuffer ()
 Destructor.
 
void transferBuffer (const vk::CommandBuffer &command_buffer=nullptr)
 
void updateBuffer (const void *_data, size_t _data_size) override
 
- 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
 
virtual void updateBuffer (const void *_data, size_t _data_size)
 

Protected Attributes

size_t num_elements
 The number of elements in this attribute.
 
size_t element_size
 The data size of the elements which this attribute is represented by.
 
- Protected Attributes inherited from VulkanEngine::StagedBuffer< Buffer >
Buffer source_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.
 

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.
 

Detailed Description

Abstract base class for shader attributes.

Constructor & Destructor Documentation

◆ Attribute()

VulkanEngine::Attribute::Attribute ( size_t  _num_elements,
size_t  _element_size,
vk::BufferUsageFlags  flags 
)

Constructor.

Parameters
_num_elementsThe number of elements in this attribute buffer
_element_sizeThe size of a single element in the attribute buffer
flagsThe attribute's vk::BufferUsageFlags

Member Function Documentation

◆ getNumElements()

size_t VulkanEngine::Attribute::getNumElements ( ) const
Returns
The number of elements in this Attribute.

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