Class VkDrawablePool

Inheritance Relationships

Base Type

Class Documentation

class VkDrawablePool : public Azura::DrawablePool

Public Functions

VkDrawablePool(const DrawablePoolCreateInfo &createInfo, VkDevice device, VkQueue graphicsQueue, VkBufferUsageFlags usage, VkMemoryPropertyFlags memoryProperties, VkCommandPool graphicsCommandPool, VkPipelineLayout pipelineLayout, VkDescriptorPool descriptorPool, const Containers::Vector<VkDescriptorSetLayout> &descriptorSetLayouts, const Containers::Vector<VkScopedRenderPass> &renderPasses, const Containers::Vector<VkScopedImage> &renderPassAttachments, const Containers::Vector<VkShader> &allShaders, const ApplicationRequirements &appReq, const ViewportDimensions &viewport, const VkPhysicalDeviceMemoryProperties &phyDeviceMemoryProperties, const VkPhysicalDeviceProperties &physicalDeviceProperties, const VkScopedSwapChain &swapChain, const Containers::Vector<DescriptorSlot> &descriptorSlots, const DescriptorCount &descriptorCount, Memory::Allocator &allocator, Memory::Allocator &allocatorTemporary, Log logger)
DrawableID CreateDrawable(const DrawableCreateInfo &createInfo)
void AddShader(U32 shaderId)
void Submit()
void CleanUp() const
void GetCommandBuffers(Containers::Vector<std::pair<U32, VkCommandBuffer>> &commandBuffers) const
void BindVertexData(DrawableID drawableId, SlotID slot, const U8 *buffer, U32 size)
void BindVertexData(DrawableID drawableId, SlotID slot, U32 sourceBuffer, U32 offset, U32 size)
void BindInstanceData(DrawableID drawableId, SlotID slot, const U8 *buffer, U32 size)
void BindUniformData(DrawableID drawableId, SlotID slot, const U8 *buffer, U32 size)
void BindTextureData(SlotID slot, const TextureDesc &desc, const U8 *buffer)
void BindSampler(SlotID slot, const SamplerDesc &desc)
void SetIndexData(DrawableID drawableId, const U8 *buffer, U32 size)
void AppendToMainBuffer(const U8 *buffer, U32 bufferSize)
void BeginUpdates()
void UpdateUniformData(DrawableID drawableId, SlotID slot, const U8 *buffer, U32 size)
void UpdateVertexData(DrawableID drawableId, SlotID slot, const U8 *buffer, U32 size)
void UpdateInstanceData(DrawableID drawableId, SlotID slot, const U8 *buffer, U32 size)
void UpdateTextureData(SlotID slot, const U8 *buffer)
void SubmitUpdates()