LiteFX 0.4.1.2025
Computer Graphics Engine
Loading...
Searching...
No Matches
LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS > Class Template Referenceabstract

Describes a factory that creates objects for a GraphicsDevice. More...

#include <rendering.hpp>

Inherits LiteFX::Rendering::IGraphicsFactory.

Public Types

using descriptor_layout_type = TDescriptorLayout
 
using vertex_buffer_type = TVertexBuffer
 
using vertex_buffer_layout_type = vertex_buffer_type::vertex_buffer_layout_type
 
using index_buffer_type = TIndexBuffer
 
using index_buffer_layout_type = index_buffer_type::index_buffer_layout_type
 
using buffer_type = TBuffer
 
using image_type = TImage
 
using sampler_type = TSampler
 
using bottom_level_acceleration_structure_type = TBLAS
 
using top_level_acceleration_structure_type = TTLAS
 

Public Member Functions

 ~GraphicsFactory () noexcept override=default
 
virtual SharedPtr< TBuffer > createBuffer (BufferType type, ResourceHeap heap, size_t elementSize, UInt32 elements=1, ResourceUsage usage=ResourceUsage::Default) const =0
 
virtual SharedPtr< TBuffer > createBuffer (const String &name, BufferType type, ResourceHeap heap, size_t elementSize, UInt32 elements=1, ResourceUsage usage=ResourceUsage::Default) const =0
 
virtual SharedPtr< TVertexBuffer > createVertexBuffer (const vertex_buffer_layout_type &layout, ResourceHeap heap, UInt32 elements=1, ResourceUsage usage=ResourceUsage::Default) const =0
 
virtual SharedPtr< TVertexBuffer > createVertexBuffer (const String &name, const vertex_buffer_layout_type &layout, ResourceHeap heap, UInt32 elements=1, ResourceUsage usage=ResourceUsage::Default) const =0
 
virtual SharedPtr< TIndexBuffer > createIndexBuffer (const index_buffer_layout_type &layout, ResourceHeap heap, UInt32 elements, ResourceUsage usage=ResourceUsage::Default) const =0
 
virtual SharedPtr< TIndexBuffer > createIndexBuffer (const String &name, const index_buffer_layout_type &layout, ResourceHeap heap, UInt32 elements, ResourceUsage usage=ResourceUsage::Default) const =0
 
virtual SharedPtr< TImage > createTexture (Format format, const Size3d &size, ImageDimensions dimension=ImageDimensions::DIM_2, UInt32 levels=1, UInt32 layers=1, MultiSamplingLevel samples=MultiSamplingLevel::x1, ResourceUsage usage=ResourceUsage::Default) const =0
 
virtual SharedPtr< TImage > createTexture (const String &name, Format format, const Size3d &size, ImageDimensions dimension=ImageDimensions::DIM_2, UInt32 levels=1, UInt32 layers=1, MultiSamplingLevel samples=MultiSamplingLevel::x1, ResourceUsage usage=ResourceUsage::Default) const =0
 
virtual Generator< SharedPtr< TImage > > createTextures (Format format, const Size3d &size, ImageDimensions dimension=ImageDimensions::DIM_2, UInt32 layers=1, UInt32 levels=1, MultiSamplingLevel samples=MultiSamplingLevel::x1, ResourceUsage usage=ResourceUsage::Default) const =0
 
virtual SharedPtr< TSampler > createSampler (FilterMode magFilter=FilterMode::Nearest, FilterMode minFilter=FilterMode::Nearest, BorderMode borderU=BorderMode::Repeat, BorderMode borderV=BorderMode::Repeat, BorderMode borderW=BorderMode::Repeat, MipMapMode mipMapMode=MipMapMode::Nearest, Float mipMapBias=0.f, Float maxLod=std::numeric_limits< Float >::max(), Float minLod=0.f, Float anisotropy=0.f) const =0
 
virtual SharedPtr< TSampler > createSampler (const String &name, FilterMode magFilter=FilterMode::Nearest, FilterMode minFilter=FilterMode::Nearest, BorderMode borderU=BorderMode::Repeat, BorderMode borderV=BorderMode::Repeat, BorderMode borderW=BorderMode::Repeat, MipMapMode mipMapMode=MipMapMode::Nearest, Float mipMapBias=0.f, Float maxLod=std::numeric_limits< Float >::max(), Float minLod=0.f, Float anisotropy=0.f) const =0
 
virtual Generator< SharedPtr< TSampler > > createSamplers (FilterMode magFilter=FilterMode::Nearest, FilterMode minFilter=FilterMode::Nearest, BorderMode borderU=BorderMode::Repeat, BorderMode borderV=BorderMode::Repeat, BorderMode borderW=BorderMode::Repeat, MipMapMode mipMapMode=MipMapMode::Nearest, Float mipMapBias=0.f, Float maxLod=std::numeric_limits< Float >::max(), Float minLod=0.f, Float anisotropy=0.f) const =0
 
UniquePtr< TBLAS > createBottomLevelAccelerationStructure (AccelerationStructureFlags flags) const
 
virtual UniquePtr< TBLAS > createBottomLevelAccelerationStructure (StringView name, AccelerationStructureFlags flags) const =0
 
UniquePtr< TTLAS > createTopLevelAccelerationStructure (AccelerationStructureFlags flags) const
 
virtual UniquePtr< TTLAS > createTopLevelAccelerationStructure (StringView name, AccelerationStructureFlags flags) const =0
 
SharedPtr< IBuffercreateBuffer (const IDescriptorSetLayout &descriptorSet, UInt32 binding, ResourceHeap heap, UInt32 elements=1, ResourceUsage usage=ResourceUsage::Default) const
 Creates a buffer that can be bound to a specific descriptor.
 
SharedPtr< IBuffercreateBuffer (const IDescriptorSetLayout &descriptorSet, UInt32 binding, ResourceHeap heap, UInt32 elementSize, UInt32 elements, ResourceUsage usage=ResourceUsage::Default) const
 Creates a buffer that can be bound to a specific descriptor.
 
SharedPtr< IBuffercreateBuffer (const IPipeline &pipeline, UInt32 space, UInt32 binding, ResourceHeap heap, UInt32 elementSize, UInt32 elements, ResourceUsage usage=ResourceUsage::Default) const
 Creates a buffer that can be bound to a descriptor of a specific descriptor set.
 
SharedPtr< IBuffercreateBuffer (const IPipeline &pipeline, UInt32 space, UInt32 binding, ResourceHeap heap, UInt32 elements=1, ResourceUsage usage=ResourceUsage::Default) const
 Creates a buffer that can be bound to a descriptor of a specific descriptor set.
 
SharedPtr< IBuffercreateBuffer (const String &name, const IDescriptorSetLayout &descriptorSet, UInt32 binding, ResourceHeap heap, UInt32 elements=1, ResourceUsage usage=ResourceUsage::Default) const
 Creates a buffer that can be bound to a specific descriptor.
 
SharedPtr< IBuffercreateBuffer (const String &name, const IDescriptorSetLayout &descriptorSet, UInt32 binding, ResourceHeap heap, size_t elementSize, UInt32 elements, ResourceUsage usage=ResourceUsage::Default) const
 Creates a buffer that can be bound to a specific descriptor.
 
SharedPtr< IBuffercreateBuffer (const String &name, const IPipeline &pipeline, UInt32 space, UInt32 binding, ResourceHeap heap, UInt32 elements=1, ResourceUsage usage=ResourceUsage::Default) const
 Creates a buffer that can be bound to a descriptor of a specific descriptor set.
 
SharedPtr< IBuffercreateBuffer (const String &name, const IPipeline &pipeline, UInt32 space, UInt32 binding, ResourceHeap heap, size_t elementSize, UInt32 elements=1, ResourceUsage usage=ResourceUsage::Default) const
 Creates a buffer that can be bound to a descriptor of a specific descriptor set.
 
SharedPtr< IVertexBuffercreateVertexBuffer (const IVertexBufferLayout &layout, ResourceHeap heap, UInt32 elements=1, ResourceUsage usage=ResourceUsage::Default) const
 Creates a vertex buffer, based on the layout
 
SharedPtr< IVertexBuffercreateVertexBuffer (const String &name, const IVertexBufferLayout &layout, ResourceHeap heap, UInt32 elements=1, ResourceUsage usage=ResourceUsage::Default) const
 Creates a vertex buffer, based on the layout
 
SharedPtr< IIndexBuffercreateIndexBuffer (const IIndexBufferLayout &layout, ResourceHeap heap, UInt32 elements, ResourceUsage usage=ResourceUsage::Default) const
 Creates an index buffer, based on the layout .
 
SharedPtr< IIndexBuffercreateIndexBuffer (const String &name, const IIndexBufferLayout &layout, ResourceHeap heap, UInt32 elements, ResourceUsage usage=ResourceUsage::Default) const
 Creates an index buffer, based on the layout .
 
- Public Member Functions inherited from LiteFX::Rendering::IGraphicsFactory
 ~IGraphicsFactory () noexcept override=default
 
SharedPtr< IBuffercreateBuffer (BufferType type, ResourceHeap heap, size_t elementSize, UInt32 elements=1, ResourceUsage usage=ResourceUsage::Default) const
 Creates a buffer of type type .
 
SharedPtr< IBuffercreateBuffer (const IDescriptorSetLayout &descriptorSet, UInt32 binding, ResourceHeap heap, UInt32 elements=1, ResourceUsage usage=ResourceUsage::Default) const
 Creates a buffer that can be bound to a specific descriptor.
 
SharedPtr< IBuffercreateBuffer (const IDescriptorSetLayout &descriptorSet, UInt32 binding, ResourceHeap heap, UInt32 elementSize, UInt32 elements, ResourceUsage usage=ResourceUsage::Default) const
 Creates a buffer that can be bound to a specific descriptor.
 
SharedPtr< IBuffercreateBuffer (const IPipeline &pipeline, UInt32 space, UInt32 binding, ResourceHeap heap, UInt32 elementSize, UInt32 elements, ResourceUsage usage=ResourceUsage::Default) const
 Creates a buffer that can be bound to a descriptor of a specific descriptor set.
 
SharedPtr< IBuffercreateBuffer (const IPipeline &pipeline, UInt32 space, UInt32 binding, ResourceHeap heap, UInt32 elements=1, ResourceUsage usage=ResourceUsage::Default) const
 Creates a buffer that can be bound to a descriptor of a specific descriptor set.
 
SharedPtr< IBuffercreateBuffer (const String &name, BufferType type, ResourceHeap heap, size_t elementSize, UInt32 elements, ResourceUsage usage=ResourceUsage::Default) const
 Creates a buffer of type type .
 
SharedPtr< IBuffercreateBuffer (const String &name, const IDescriptorSetLayout &descriptorSet, UInt32 binding, ResourceHeap heap, UInt32 elements=1, ResourceUsage usage=ResourceUsage::Default) const
 Creates a buffer that can be bound to a specific descriptor.
 
SharedPtr< IBuffercreateBuffer (const String &name, const IDescriptorSetLayout &descriptorSet, UInt32 binding, ResourceHeap heap, size_t elementSize, UInt32 elements, ResourceUsage usage=ResourceUsage::Default) const
 Creates a buffer that can be bound to a specific descriptor.
 
SharedPtr< IBuffercreateBuffer (const String &name, const IPipeline &pipeline, UInt32 space, UInt32 binding, ResourceHeap heap, UInt32 elements=1, ResourceUsage usage=ResourceUsage::Default) const
 Creates a buffer that can be bound to a descriptor of a specific descriptor set.
 
SharedPtr< IBuffercreateBuffer (const String &name, const IPipeline &pipeline, UInt32 space, UInt32 binding, ResourceHeap heap, size_t elementSize, UInt32 elements=1, ResourceUsage usage=ResourceUsage::Default) const
 Creates a buffer that can be bound to a descriptor of a specific descriptor set.
 
SharedPtr< IVertexBuffercreateVertexBuffer (const IVertexBufferLayout &layout, ResourceHeap heap, UInt32 elements=1, ResourceUsage usage=ResourceUsage::Default) const
 Creates a vertex buffer, based on the layout
 
SharedPtr< IVertexBuffercreateVertexBuffer (const String &name, const IVertexBufferLayout &layout, ResourceHeap heap, UInt32 elements=1, ResourceUsage usage=ResourceUsage::Default) const
 Creates a vertex buffer, based on the layout
 
SharedPtr< IIndexBuffercreateIndexBuffer (const IIndexBufferLayout &layout, ResourceHeap heap, UInt32 elements, ResourceUsage usage=ResourceUsage::Default) const
 Creates an index buffer, based on the layout .
 
SharedPtr< IIndexBuffercreateIndexBuffer (const String &name, const IIndexBufferLayout &layout, ResourceHeap heap, UInt32 elements, ResourceUsage usage=ResourceUsage::Default) const
 Creates an index buffer, based on the layout .
 
SharedPtr< IImagecreateTexture (Format format, const Size3d &size, ImageDimensions dimension=ImageDimensions::DIM_2, UInt32 levels=1, UInt32 layers=1, MultiSamplingLevel samples=MultiSamplingLevel::x1, ResourceUsage usage=ResourceUsage::Default) const
 Creates a texture.
 
SharedPtr< IImagecreateTexture (const String &name, Format format, const Size3d &size, ImageDimensions dimension=ImageDimensions::DIM_2, UInt32 levels=1, UInt32 layers=1, MultiSamplingLevel samples=MultiSamplingLevel::x1, ResourceUsage usage=ResourceUsage::Default) const
 Creates a texture.
 
Generator< SharedPtr< IImage > > createTextures (Format format, const Size3d &size, ImageDimensions dimension=ImageDimensions::DIM_2, UInt32 layers=1, UInt32 levels=1, MultiSamplingLevel samples=MultiSamplingLevel::x1, ResourceUsage usage=ResourceUsage::Default) const
 Creates a series of textures.
 
SharedPtr< ISamplercreateSampler (FilterMode magFilter=FilterMode::Nearest, FilterMode minFilter=FilterMode::Nearest, BorderMode borderU=BorderMode::Repeat, BorderMode borderV=BorderMode::Repeat, BorderMode borderW=BorderMode::Repeat, MipMapMode mipMapMode=MipMapMode::Nearest, Float mipMapBias=0.f, Float maxLod=std::numeric_limits< Float >::max(), Float minLod=0.f, Float anisotropy=0.f) const
 Creates a texture sampler.
 
SharedPtr< ISamplercreateSampler (const String &name, FilterMode magFilter=FilterMode::Nearest, FilterMode minFilter=FilterMode::Nearest, BorderMode borderU=BorderMode::Repeat, BorderMode borderV=BorderMode::Repeat, BorderMode borderW=BorderMode::Repeat, MipMapMode mipMapMode=MipMapMode::Nearest, Float mipMapBias=0.f, Float maxLod=std::numeric_limits< Float >::max(), Float minLod=0.f, Float anisotropy=0.f) const
 Creates a texture sampler.
 
Generator< SharedPtr< ISampler > > createSamplers (FilterMode magFilter=FilterMode::Nearest, FilterMode minFilter=FilterMode::Nearest, BorderMode borderU=BorderMode::Repeat, BorderMode borderV=BorderMode::Repeat, BorderMode borderW=BorderMode::Repeat, MipMapMode mipMapMode=MipMapMode::Nearest, Float mipMapBias=0.f, Float maxLod=std::numeric_limits< Float >::max(), Float minLod=0.f, Float anisotropy=0.f) const
 Creates a series of texture samplers.
 
UniquePtr< IBottomLevelAccelerationStructurecreateBottomLevelAccelerationStructure (AccelerationStructureFlags flags=AccelerationStructureFlags::None) const
 Creates a bottom-level acceleration structure.
 
UniquePtr< IBottomLevelAccelerationStructurecreateBottomLevelAccelerationStructure (StringView name, AccelerationStructureFlags flags=AccelerationStructureFlags::None) const
 Creates a bottom-level acceleration structure.
 
UniquePtr< ITopLevelAccelerationStructurecreateTopLevelAccelerationStructure (AccelerationStructureFlags flags=AccelerationStructureFlags::None) const
 Creates a top-level acceleration structure.
 
UniquePtr< ITopLevelAccelerationStructurecreateTopLevelAccelerationStructure (StringView name, AccelerationStructureFlags flags=AccelerationStructureFlags::None) const
 Creates a top-level acceleration structure.
 
- Public Member Functions inherited from LiteFX::SharedObject
virtual ~SharedObject () noexcept=default
 Destroys the shared object.
 
template<typename TSelf >
auto shared_from_this (this TSelf &&self) noexcept
 Returns a shared pointer to the current object instance.
 
template<typename TSelf >
auto weak_from_this (this TSelf &&self) noexcept -> WeakPtr< std::remove_reference_t< TSelf > >
 Returns a weak pointer to the current object instance.
 

Protected Member Functions

 GraphicsFactory () noexcept=default
 
 GraphicsFactory (GraphicsFactory &&) noexcept=default
 
 GraphicsFactory (const GraphicsFactory &)=default
 
GraphicsFactoryoperator= (GraphicsFactory &&) noexcept=default
 
GraphicsFactoryoperator= (const GraphicsFactory &)=default
 
- Protected Member Functions inherited from LiteFX::Rendering::IGraphicsFactory
 IGraphicsFactory () noexcept=default
 
 IGraphicsFactory (IGraphicsFactory &&) noexcept=default
 
 IGraphicsFactory (const IGraphicsFactory &)=default
 
IGraphicsFactoryoperator= (const IGraphicsFactory &)=default
 
IGraphicsFactoryoperator= (IGraphicsFactory &&) noexcept=default
 
- Protected Member Functions inherited from LiteFX::SharedObject
 SharedObject () noexcept=default
 Initializes a new shared object.
 
 SharedObject (SharedObject &&) noexcept=default
 
 SharedObject (const SharedObject &)=default
 
SharedObjectoperator= (SharedObject &&) noexcept=default
 
SharedObjectoperator= (const SharedObject &)=default
 

Additional Inherited Members

- Static Protected Member Functions inherited from LiteFX::SharedObject
template<typename T , typename... TArgs>
static auto create (TArgs &&... args) -> SharedPtr< T >
 Generic factory method used to create instances of the shared object.
 

Detailed Description

template<typename TDescriptorLayout, typename TBuffer, typename TVertexBuffer, typename TIndexBuffer, typename TImage, typename TSampler, typename TBLAS, typename TTLAS>
requires meta::implements<TDescriptorLayout, IDescriptorLayout> && std::derived_from<TVertexBuffer, VertexBuffer<typename TVertexBuffer::vertex_buffer_layout_type>> && std::derived_from<TIndexBuffer, IndexBuffer<typename TIndexBuffer::index_buffer_layout_type>> && std::derived_from<TImage, IImage> && std::derived_from<TBuffer, IBuffer> && std::derived_from<TSampler, ISampler> && std::derived_from<TBLAS, IBottomLevelAccelerationStructure> && std::derived_from<TTLAS, ITopLevelAccelerationStructure>
class LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >

Describes a factory that creates objects for a GraphicsDevice.

Template Parameters
TDescriptorLayoutThe type of the descriptor layout. Must implement IDescriptorLayout.
TVertexBufferThe type of the vertex buffer. Must implement VertexBuffer.
TIndexBufferThe type of the index buffer. Must implement IndexBuffer.
TImageThe type of the image. Must inherit from IImage.
TBufferThe type of the buffer. Must inherit from IBuffer.
TSamplerThe type of the sampler. Must inherit from ISampler.
TBLASThe type of the bottom-level acceleration structure. Must implement IBottomLevelAccelerationStructure.
TTLASThe type of the top-level acceleration structure. Must implement ITopLevelAccelerationStructure.

Member Typedef Documentation

◆ bottom_level_acceleration_structure_type

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
using LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::bottom_level_acceleration_structure_type = TBLAS

◆ buffer_type

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
using LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::buffer_type = TBuffer

◆ descriptor_layout_type

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
using LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::descriptor_layout_type = TDescriptorLayout

◆ image_type

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
using LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::image_type = TImage

◆ index_buffer_layout_type

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
using LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::index_buffer_layout_type = index_buffer_type::index_buffer_layout_type

◆ index_buffer_type

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
using LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::index_buffer_type = TIndexBuffer

◆ sampler_type

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
using LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::sampler_type = TSampler

◆ top_level_acceleration_structure_type

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
using LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::top_level_acceleration_structure_type = TTLAS

◆ vertex_buffer_layout_type

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
using LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::vertex_buffer_layout_type = vertex_buffer_type::vertex_buffer_layout_type

◆ vertex_buffer_type

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
using LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::vertex_buffer_type = TVertexBuffer

Constructor & Destructor Documentation

◆ GraphicsFactory() [1/3]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::GraphicsFactory ( )
protecteddefaultnoexcept

◆ GraphicsFactory() [2/3]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::GraphicsFactory ( GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS > && )
protecteddefaultnoexcept

◆ GraphicsFactory() [3/3]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::GraphicsFactory ( const GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS > & )
protecteddefault

◆ ~GraphicsFactory()

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::~GraphicsFactory ( )
overridedefaultnoexcept

Member Function Documentation

◆ createBottomLevelAccelerationStructure() [1/2]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
UniquePtr< TBLAS > LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::createBottomLevelAccelerationStructure ( AccelerationStructureFlags flags) const
inline

◆ createBottomLevelAccelerationStructure() [2/2]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
virtual UniquePtr< TBLAS > LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::createBottomLevelAccelerationStructure ( StringView name,
AccelerationStructureFlags flags ) const
pure virtual

◆ createBuffer() [1/10]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
virtual SharedPtr< TBuffer > LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::createBuffer ( BufferType type,
ResourceHeap heap,
size_t elementSize,
UInt32 elements = 1,
ResourceUsage usage = ResourceUsage::Default ) const
pure virtual

◆ createBuffer() [2/10]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
SharedPtr< IBuffer > LiteFX::Rendering::IGraphicsFactory::createBuffer ( const IDescriptorSetLayout & descriptorSet,
UInt32 binding,
ResourceHeap heap,
UInt32 elements = 1,
ResourceUsage usage = ResourceUsage::Default ) const
inline

Creates a buffer that can be bound to a specific descriptor.

Parameters
descriptorSetThe layout of the descriptors parent descriptor set.
bindingThe binding point of the descriptor within the parent descriptor set.
heapThe heap to allocate the buffer on.
elementsThe number of elements in the buffer (in case the buffer is an array).
usageThe intended usage for the buffer.
Returns
The instance of the buffer.

◆ createBuffer() [3/10]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
SharedPtr< IBuffer > LiteFX::Rendering::IGraphicsFactory::createBuffer ( const IDescriptorSetLayout & descriptorSet,
UInt32 binding,
ResourceHeap heap,
UInt32 elementSize,
UInt32 elements,
ResourceUsage usage = ResourceUsage::Default ) const
inline

Creates a buffer that can be bound to a specific descriptor.

Parameters
descriptorSetThe layout of the descriptors parent descriptor set.
bindingThe binding point of the descriptor within the parent descriptor set.
heapThe heap to allocate the buffer on.
elementsThe number of elements in the buffer (in case the buffer is an array).
usageThe intended usage for the buffer.
Returns
The instance of the buffer.

◆ createBuffer() [4/10]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
SharedPtr< IBuffer > LiteFX::Rendering::IGraphicsFactory::createBuffer ( const IPipeline & pipeline,
UInt32 space,
UInt32 binding,
ResourceHeap heap,
UInt32 elements = 1,
ResourceUsage usage = ResourceUsage::Default ) const
inline

Creates a buffer that can be bound to a descriptor of a specific descriptor set.

Parameters
pipelineThe pipeline that provides the descriptor set.
spaceThe space, the descriptor set is bound to.
bindingThe binding point of the descriptor within the parent descriptor set.
heapThe heap to allocate the buffer on.
elementsThe number of elements in the buffer (in case the buffer is an array).
usageThe intended usage for the buffer.
Returns
The instance of the buffer.

◆ createBuffer() [5/10]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
SharedPtr< IBuffer > LiteFX::Rendering::IGraphicsFactory::createBuffer ( const IPipeline & pipeline,
UInt32 space,
UInt32 binding,
ResourceHeap heap,
UInt32 elementSize,
UInt32 elements,
ResourceUsage usage = ResourceUsage::Default ) const
inline

Creates a buffer that can be bound to a descriptor of a specific descriptor set.

Parameters
pipelineThe pipeline that provides the descriptor set.
spaceThe space, the descriptor set is bound to.
bindingThe binding point of the descriptor within the parent descriptor set.
heapThe heap to allocate the buffer on.
elementsThe number of elements in the buffer (in case the buffer is an array).
usageThe intended usage for the buffer.
Returns
The instance of the buffer.

◆ createBuffer() [6/10]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
virtual SharedPtr< TBuffer > LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::createBuffer ( const String & name,
BufferType type,
ResourceHeap heap,
size_t elementSize,
UInt32 elements = 1,
ResourceUsage usage = ResourceUsage::Default ) const
pure virtual

◆ createBuffer() [7/10]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
SharedPtr< IBuffer > LiteFX::Rendering::IGraphicsFactory::createBuffer ( const String & name,
const IDescriptorSetLayout & descriptorSet,
UInt32 binding,
ResourceHeap heap,
size_t elementSize,
UInt32 elements,
ResourceUsage usage = ResourceUsage::Default ) const
inline

Creates a buffer that can be bound to a specific descriptor.

Parameters
nameThe name of the buffer.
descriptorSetThe layout of the descriptors parent descriptor set.
bindingThe binding point of the descriptor within the parent descriptor set.
heapThe heap to allocate the buffer on.
elementSizeThe size of an element in the buffer (in bytes).
elementsThe number of elements in the buffer (in case the buffer is an array).
usageThe intended usage for the buffer.
Returns
The instance of the buffer.

◆ createBuffer() [8/10]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
SharedPtr< IBuffer > LiteFX::Rendering::IGraphicsFactory::createBuffer ( const String & name,
const IDescriptorSetLayout & descriptorSet,
UInt32 binding,
ResourceHeap heap,
UInt32 elements = 1,
ResourceUsage usage = ResourceUsage::Default ) const
inline

Creates a buffer that can be bound to a specific descriptor.

Parameters
nameThe name of the buffer.
descriptorSetThe layout of the descriptors parent descriptor set.
bindingThe binding point of the descriptor within the parent descriptor set.
heapThe heap to allocate the buffer on.
elementsThe number of elements in the buffer (in case the buffer is an array).
usageThe intended usage for the buffer.
Returns
The instance of the buffer.

◆ createBuffer() [9/10]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
SharedPtr< IBuffer > LiteFX::Rendering::IGraphicsFactory::createBuffer ( const String & name,
const IPipeline & pipeline,
UInt32 space,
UInt32 binding,
ResourceHeap heap,
size_t elementSize,
UInt32 elements = 1,
ResourceUsage usage = ResourceUsage::Default ) const
inline

Creates a buffer that can be bound to a descriptor of a specific descriptor set.

Parameters
nameThe name of the buffer.
pipelineThe pipeline that provides the descriptor set.
spaceThe space, the descriptor set is bound to.
bindingThe binding point of the descriptor within the parent descriptor set.
heapThe heap to allocate the buffer on.
elementSizeThe size of an element in the buffer (in bytes).
elementsThe number of elements in the buffer (in case the buffer is an array).
usageThe intended usage for the buffer.
Returns
The instance of the buffer.

◆ createBuffer() [10/10]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
SharedPtr< IBuffer > LiteFX::Rendering::IGraphicsFactory::createBuffer ( const String & name,
const IPipeline & pipeline,
UInt32 space,
UInt32 binding,
ResourceHeap heap,
UInt32 elements = 1,
ResourceUsage usage = ResourceUsage::Default ) const
inline

Creates a buffer that can be bound to a descriptor of a specific descriptor set.

Parameters
nameThe name of the buffer.
pipelineThe pipeline that provides the descriptor set.
spaceThe space, the descriptor set is bound to.
bindingThe binding point of the descriptor within the parent descriptor set.
heapThe heap to allocate the buffer on.
elementsThe number of elements in the buffer (in case the buffer is an array).
usageThe intended usage for the buffer.
Returns
The instance of the buffer.

◆ createIndexBuffer() [1/4]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
SharedPtr< IIndexBuffer > LiteFX::Rendering::IGraphicsFactory::createIndexBuffer ( const IIndexBufferLayout & layout,
ResourceHeap heap,
UInt32 elements,
ResourceUsage usage = ResourceUsage::Default ) const
inline

Creates an index buffer, based on the layout .

An index buffer can be used by different RenderPipelines, as long as they share a common input assembler state.

The size of the buffer is computed from the element size index buffer layout, times the number of elements given by the elements parameter.

Parameters
layoutThe layout of the index buffer.
heapThe heap to allocate the buffer on.
elementsThe number of elements within the vertex buffer (i.e. the number of indices).
usageThe intended usage for the buffer.
Returns
The instance of the index buffer.

◆ createIndexBuffer() [2/4]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
virtual SharedPtr< TIndexBuffer > LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::createIndexBuffer ( const index_buffer_layout_type & layout,
ResourceHeap heap,
UInt32 elements,
ResourceUsage usage = ResourceUsage::Default ) const
pure virtual

◆ createIndexBuffer() [3/4]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
SharedPtr< IIndexBuffer > LiteFX::Rendering::IGraphicsFactory::createIndexBuffer ( const String & name,
const IIndexBufferLayout & layout,
ResourceHeap heap,
UInt32 elements,
ResourceUsage usage = ResourceUsage::Default ) const
inline

Creates an index buffer, based on the layout .

An index buffer can be used by different RenderPipelines, as long as they share a common input assembler state.

The size of the buffer is computed from the element size index buffer layout, times the number of elements given by the elements parameter.

Parameters
nameThe name of the buffer.
layoutThe layout of the index buffer.
heapThe heap to allocate the buffer on.
usageThe intended usage for the buffer.
elementsThe number of elements within the vertex buffer (i.e. the number of indices).
Returns
The instance of the index buffer.

◆ createIndexBuffer() [4/4]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
virtual SharedPtr< TIndexBuffer > LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::createIndexBuffer ( const String & name,
const index_buffer_layout_type & layout,
ResourceHeap heap,
UInt32 elements,
ResourceUsage usage = ResourceUsage::Default ) const
pure virtual

◆ createSampler() [1/2]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
virtual SharedPtr< TSampler > LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::createSampler ( const String & name,
FilterMode magFilter = FilterMode::Nearest,
FilterMode minFilter = FilterMode::Nearest,
BorderMode borderU = BorderMode::Repeat,
BorderMode borderV = BorderMode::Repeat,
BorderMode borderW = BorderMode::Repeat,
MipMapMode mipMapMode = MipMapMode::Nearest,
Float mipMapBias = 0.f,
Float maxLod = std::numeric_limits< Float >::max(),
Float minLod = 0.f,
Float anisotropy = 0.f ) const
pure virtual

◆ createSampler() [2/2]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
virtual SharedPtr< TSampler > LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::createSampler ( FilterMode magFilter = FilterMode::Nearest,
FilterMode minFilter = FilterMode::Nearest,
BorderMode borderU = BorderMode::Repeat,
BorderMode borderV = BorderMode::Repeat,
BorderMode borderW = BorderMode::Repeat,
MipMapMode mipMapMode = MipMapMode::Nearest,
Float mipMapBias = 0.f,
Float maxLod = std::numeric_limits< Float >::max(),
Float minLod = 0.f,
Float anisotropy = 0.f ) const
pure virtual

◆ createSamplers()

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
virtual Generator< SharedPtr< TSampler > > LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::createSamplers ( FilterMode magFilter = FilterMode::Nearest,
FilterMode minFilter = FilterMode::Nearest,
BorderMode borderU = BorderMode::Repeat,
BorderMode borderV = BorderMode::Repeat,
BorderMode borderW = BorderMode::Repeat,
MipMapMode mipMapMode = MipMapMode::Nearest,
Float mipMapBias = 0.f,
Float maxLod = std::numeric_limits< Float >::max(),
Float minLod = 0.f,
Float anisotropy = 0.f ) const
pure virtual

◆ createTexture() [1/2]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
virtual SharedPtr< TImage > LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::createTexture ( const String & name,
Format format,
const Size3d & size,
ImageDimensions dimension = ImageDimensions::DIM_2,
UInt32 levels = 1,
UInt32 layers = 1,
MultiSamplingLevel samples = MultiSamplingLevel::x1,
ResourceUsage usage = ResourceUsage::Default ) const
pure virtual

◆ createTexture() [2/2]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
virtual SharedPtr< TImage > LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::createTexture ( Format format,
const Size3d & size,
ImageDimensions dimension = ImageDimensions::DIM_2,
UInt32 levels = 1,
UInt32 layers = 1,
MultiSamplingLevel samples = MultiSamplingLevel::x1,
ResourceUsage usage = ResourceUsage::Default ) const
pure virtual

◆ createTextures()

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
virtual Generator< SharedPtr< TImage > > LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::createTextures ( Format format,
const Size3d & size,
ImageDimensions dimension = ImageDimensions::DIM_2,
UInt32 layers = 1,
UInt32 levels = 1,
MultiSamplingLevel samples = MultiSamplingLevel::x1,
ResourceUsage usage = ResourceUsage::Default ) const
pure virtual

◆ createTopLevelAccelerationStructure() [1/2]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
UniquePtr< TTLAS > LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::createTopLevelAccelerationStructure ( AccelerationStructureFlags flags) const
inline

◆ createTopLevelAccelerationStructure() [2/2]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
virtual UniquePtr< TTLAS > LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::createTopLevelAccelerationStructure ( StringView name,
AccelerationStructureFlags flags ) const
pure virtual

◆ createVertexBuffer() [1/4]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
SharedPtr< IVertexBuffer > LiteFX::Rendering::IGraphicsFactory::createVertexBuffer ( const IVertexBufferLayout & layout,
ResourceHeap heap,
UInt32 elements = 1,
ResourceUsage usage = ResourceUsage::Default ) const
inline

Creates a vertex buffer, based on the layout

A vertex buffer can be used by different RenderPipelines, as long as they share a common input assembler state.

The size of the buffer is computed from the element size vertex buffer layout, times the number of elements given by the elements parameter.

Parameters
layoutThe layout of the vertex buffer.
heapThe heap to allocate the buffer on.
elementsThe number of elements within the vertex buffer (i.e. the number of vertices).
usageThe intended usage for the buffer.
Returns
The instance of the vertex buffer.

◆ createVertexBuffer() [2/4]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
SharedPtr< IVertexBuffer > LiteFX::Rendering::IGraphicsFactory::createVertexBuffer ( const String & name,
const IVertexBufferLayout & layout,
ResourceHeap heap,
UInt32 elements = 1,
ResourceUsage usage = ResourceUsage::Default ) const
inline

Creates a vertex buffer, based on the layout

A vertex buffer can be used by different RenderPipelines, as long as they share a common input assembler state.

The size of the buffer is computed from the element size vertex buffer layout, times the number of elements given by the elements parameter.

Parameters
nameThe name of the buffer.
layoutThe layout of the vertex buffer.
heapThe heap to allocate the buffer on.
elementsThe number of elements within the vertex buffer (i.e. the number of vertices).
usageThe intended usage for the buffer.
Returns
The instance of the vertex buffer.

◆ createVertexBuffer() [3/4]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
virtual SharedPtr< TVertexBuffer > LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::createVertexBuffer ( const String & name,
const vertex_buffer_layout_type & layout,
ResourceHeap heap,
UInt32 elements = 1,
ResourceUsage usage = ResourceUsage::Default ) const
pure virtual

◆ createVertexBuffer() [4/4]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
virtual SharedPtr< TVertexBuffer > LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::createVertexBuffer ( const vertex_buffer_layout_type & layout,
ResourceHeap heap,
UInt32 elements = 1,
ResourceUsage usage = ResourceUsage::Default ) const
pure virtual

◆ operator=() [1/2]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
GraphicsFactory & LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::operator= ( const GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS > & )
protecteddefault

◆ operator=() [2/2]

template<typename TDescriptorLayout , typename TBuffer , typename TVertexBuffer , typename TIndexBuffer , typename TImage , typename TSampler , typename TBLAS , typename TTLAS >
GraphicsFactory & LiteFX::Rendering::GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS >::operator= ( GraphicsFactory< TDescriptorLayout, TBuffer, TVertexBuffer, TIndexBuffer, TImage, TSampler, TBLAS, TTLAS > && )
protecteddefaultnoexcept