LiteFX::Rendering::Backends::VulkanDescriptorSet::bindToHeap¶
Binds a resource directly to a descriptor heap and returns the index that can be used to access it.
Synopsis¶
Declared in <litefx/backends/vulkan.hpp>
[[dllimport, dllexport]] virtual UInt32 bindToHeap(
DescriptorType bindingType,
UInt32 descriptor,
IVulkanBuffer const& buffer,
UInt32 bufferElement = 0,
UInt32 elements = 0,
Format texelFormat = Format::None) const override;
Description¶
This method is used with the GraphicsDeviceFeatures::DynamicDescriptors feature and allows to bind a descriptor to the underlying descriptor heap directly by providing the corresponding resource type (indicated by bindingType) at bind time. The method directly returns the global heap index of the resource, that can be used by the shader to access it using the ResourceDescriptorHeap syntax (in HLSL).
If the descriptor set does not contain a descriptor of type DescriptorType::ResourceDescriptorHeap, this method will throw an exception.
Return Value¶
The global heap index that can be used to access the resource from the shader.
Parameters¶
| Name | Description |
|---|---|
| bindingType | The type of the descriptor used to bind buffer to the heap. |
| descriptor | The index of the descriptor in the heap to bind buffer to. |
| buffer | The buffer to bind. |
| bufferElement | The index of an element inside buffer that should be bound. |
| elements | The number of elements from the buffer to bind to the descriptor set. A value of 0 binds all available elements, starting at bufferElement. |
| texelFormat | The format used to read a texel buffer. Required if binding binds a texel buffer and ignored otherwise. |