LiteFX 0.3.1.2022
Computer Graphics Engine
|
Describes the layout of a descriptor set. More...
#include <rendering.hpp>
Inherits LiteFX::Rendering::IDescriptorSetLayout.
Public Types | |
using | descriptor_layout_type = TDescriptorLayout |
using | descriptor_set_type = TDescriptorSet |
Public Member Functions | |
virtual | ~DescriptorSetLayout () noexcept=default |
virtual Array< const descriptor_layout_type * > | descriptors () const noexcept=0 |
virtual const descriptor_layout_type & | descriptor (const UInt32 &binding) const =0 |
Returns the descriptor layout for the descriptor bound to the binding point provided with binding . More... | |
virtual UniquePtr< descriptor_set_type > | allocate (const UInt32 &descriptors=0) const =0 |
virtual Array< UniquePtr< descriptor_set_type > > | allocateMultiple (const UInt32 &descriptorSets, const UInt32 &descriptors=0) const =0 |
virtual void | free (const descriptor_set_type &descriptorSet) const noexcept=0 |
Public Member Functions inherited from LiteFX::Rendering::IDescriptorSetLayout | |
virtual | ~IDescriptorSetLayout () noexcept=default |
Array< const IDescriptorLayout * > | descriptors () const noexcept |
Returns the layouts of the descriptors within the descriptor set. More... | |
virtual const IDescriptorLayout & | descriptor (const UInt32 &binding) const =0 |
Returns the descriptor layout for the descriptor bound to the binding point provided with binding . More... | |
virtual const UInt32 & | space () const noexcept=0 |
Returns the space index of the descriptor set. More... | |
virtual const ShaderStage & | shaderStages () const noexcept=0 |
Returns the shader stages, the descriptor set is used in. More... | |
virtual UInt32 | uniforms () const noexcept=0 |
Returns the number of uniform/constant buffer descriptors within the descriptor set. More... | |
virtual UInt32 | storages () const noexcept=0 |
Returns the number of structured and byte address buffer descriptors within the descriptor set. More... | |
virtual UInt32 | images () const noexcept=0 |
Returns the number of image (i.e. texture) descriptors within the descriptor set. More... | |
virtual UInt32 | buffers () const noexcept=0 |
Returns the number of texel buffer descriptors within the descriptor set. More... | |
virtual UInt32 | samplers () const noexcept=0 |
Returns the number of dynamic sampler descriptors within the descriptor set. More... | |
virtual UInt32 | staticSamplers () const noexcept=0 |
Returns the number of static or immutable sampler descriptors within the descriptor set. More... | |
virtual UInt32 | inputAttachments () const noexcept=0 |
Returns the number of input attachment descriptors within the descriptor set. More... | |
UniquePtr< IDescriptorSet > | allocate (const UInt32 &descriptors=0) const |
Allocates a new descriptor set or returns an instance of an unused descriptor set. More... | |
Array< UniquePtr< IDescriptorSet > > | allocateMultiple (const UInt32 &descriptorSets, const UInt32 &descriptors=0) const |
Allocates an array of descriptor sets. More... | |
void | free (const IDescriptorSet &descriptorSet) const noexcept |
Marks a descriptor set as unused, so that it can be handed out again instead of allocating a new one. More... | |
Describes the layout of a descriptor set.
A descriptor set groups together multiple descriptors. This concept is identified by the set
keyword in GLSL and space
in HLSL.
For more information on buffer binding and resource management, refer to the remarks of the DescriptorSet interface.
TDescriptorLayout | The type of the descriptor layout. Must implement IDescriptorLayout. |
TDescriptorSet | The type of the descriptor set. Must implement DescriptorSet. |
using LiteFX::Rendering::DescriptorSetLayout< TDescriptorLayout, TDescriptorSet >::descriptor_layout_type = TDescriptorLayout |
using LiteFX::Rendering::DescriptorSetLayout< TDescriptorLayout, TDescriptorSet >::descriptor_set_type = TDescriptorSet |
|
virtualdefaultnoexcept |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Returns the descriptor layout for the descriptor bound to the binding point provided with binding .
Implements LiteFX::Rendering::IDescriptorSetLayout.
Implemented in LiteFX::Rendering::Backends::DirectX12DescriptorSetLayout, and LiteFX::Rendering::Backends::VulkanDescriptorSetLayout.
|
pure virtualnoexcept |
|
pure virtualnoexcept |