vOOlkan
An object oriented approach to Vulkan
Vulkan::Buffers::IndexBuffer Class Reference

#include <IndexBuffer.h>

Inheritance diagram for Vulkan::Buffers::IndexBuffer:
Vulkan::Buffers::Buffer

Public Member Functions

 IndexBuffer (const LogicalDevice &virtualGpu, const PhysicalDevice &realGpu, size_t size)
 
template<typename... C, template< typename... > class... M>
requires (std::same_as<M<C...>, Objects::Model<C...>> && ...)
void fillBuffer (const M< C... > &... models)
 
unsigned int getIndexesCount () const
 
unsigned int getModelOffset (unsigned int i) const
 
unsigned int getModelIndexesCount (unsigned int i) const
 
unsigned int getModelsCount () const
 
- Public Member Functions inherited from Vulkan::Buffers::Buffer
template<std::same_as< VkMemoryPropertyFlagBits >... P>
 Buffer (const LogicalDevice &virtualGpu, const PhysicalDevice &realGpu, size_t size, int usage, P... requiredMemoryProperties)
 
 Buffer (const Buffer &)=delete
 
Bufferoperator= (const Buffer &)=delete
 
 Buffer (Buffer &&)=default
 
Bufferoperator= (Buffer &&)=default
 
 ~Buffer ()
 
const VkBuffer & operator+ () const
 
VkDeviceMemory & getBufferMemory ()
 

Additional Inherited Members

- Static Public Member Functions inherited from Vulkan::Buffers::Buffer
template<std::same_as< VkMemoryPropertyFlagBits >... P>
static uint32_t findSuitableMemoryIndex (const PhysicalDevice &realGpu, uint32_t suitableTypesBitmask, P... requiredMemoryProperties)
 
- Protected Member Functions inherited from Vulkan::Buffers::Buffer
void createBuffer (const LogicalDevice &virtualGpu, size_t size, int usage)
 
void allocateMemory (uint32_t memoryIndex, VkDeviceSize sizeToAllocate)
 
- Protected Attributes inherited from Vulkan::Buffers::Buffer
VkBuffer buffer
 
VkDeviceMemory bufferMemory
 
const LogicalDevicevirtualGpu
 
const size_t size
 

Constructor & Destructor Documentation

◆ IndexBuffer()

Vulkan::Buffers::IndexBuffer::IndexBuffer ( const LogicalDevice virtualGpu,
const PhysicalDevice realGpu,
size_t  size 
)
inline

Member Function Documentation

◆ fillBuffer()

template<typename... C, template< typename... > class... M>
requires (std::same_as<M<C...>, Objects::Model<C...>> && ...)
void Vulkan::Buffers::IndexBuffer::fillBuffer ( const M< C... > &...  models)
inline

◆ getIndexesCount()

unsigned int Vulkan::Buffers::IndexBuffer::getIndexesCount ( ) const
inline

◆ getModelIndexesCount()

unsigned int Vulkan::Buffers::IndexBuffer::getModelIndexesCount ( unsigned int  i) const
inline

◆ getModelOffset()

unsigned int Vulkan::Buffers::IndexBuffer::getModelOffset ( unsigned int  i) const
inline

◆ getModelsCount()

unsigned int Vulkan::Buffers::IndexBuffer::getModelsCount ( ) const
inline

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