Class D3D12DrawablePool

Inheritance Relationships

Base Type

Class Documentation

class D3D12DrawablePool : public Azura::DrawablePool

Public Functions

D3D12DrawablePool(const Microsoft::WRL::ComPtr<ID3D12Device> &device, const DrawablePoolCreateInfo &createInfo, const DescriptorCount &descriptorCount, const Containers::Vector<DescriptorSlot> &descriptorSlots, const Containers::Vector<D3D12ScopedShader> &shaders, const Containers::Vector<D3D12ScopedRenderPass> &renderPasses, const Containers::Vector<D3D12ScopedBuffer> &gpuBuffers, Microsoft::WRL::ComPtr<ID3D12CommandQueue> commandQueue, Memory::Allocator &mainAllocator, Memory::Allocator &initAllocator, Log log)
DrawableID CreateDrawable(const DrawableCreateInfo &createInfo)
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 SetIndexData(DrawableID drawableId, const U8 *buffer, U32 size)
void AddShader(U32 shaderId)
void BindTextureData(SlotID slot, const TextureDesc &desc, const U8 *buffer)
void BindSampler(SlotID slot, const SamplerDesc &desc)
void Submit()
void BeginUpdates()
void UpdateUniformData(DrawableID drawableId, SlotID slot, const U8 *buffer, U32 size)
void UpdateTextureData(SlotID slot, const U8 *buffer)
void UpdateVertexData(DrawableID drawableId, SlotID slot, const U8 *buffer, U32 size)
void UpdateInstanceData(DrawableID drawableId, SlotID slot, const U8 *buffer, U32 size)
void SubmitUpdates()
const Vector<ID3D12DescriptorHeap *> &GetAllDescriptorHeaps() const
ID3D12PipelineState *GetPipelineState(U32 renderPassId) const
ID3D12GraphicsCommandList *GetSecondaryCommandList(U32 renderPassId) const
void GetRecordEntries(Containers::Vector<std::pair<U32, D3D12RenderPassRecordEntry>> &recordList) const