LiteFX::Rendering::Backends::DirectX12GraphicsFactory¶
A graphics factory that produces objects for a DirectX12Device.
Synopsis¶
Declared in <litefx/backends/dx12.hpp>
class [[dllimport, dllexport]] DirectX12GraphicsFactory final
: public GraphicsFactory<DirectX12DescriptorLayout, IDirectX12Buffer, IDirectX12VertexBuffer, IDirectX12IndexBuffer, IDirectX12Image, IDirectX12Sampler, DirectX12BottomLevelAccelerationStructure, DirectX12TopLevelAccelerationStructure>
Description¶
The DX12 graphics factory is implemented using D3D12 Memory Allocator.
Base Classes¶
| Name | Description |
|---|---|
GraphicsFactory<DirectX12DescriptorLayout, IDirectX12Buffer, IDirectX12VertexBuffer, IDirectX12IndexBuffer, IDirectX12Image, IDirectX12Sampler, DirectX12BottomLevelAccelerationStructure, DirectX12TopLevelAccelerationStructure> | Describes a factory that creates objects for a GraphicsDevice. |
Type Aliases¶
Member Functions¶
| Name | Description |
|---|---|
~DirectX12GraphicsFactory [destructor] [virtual] | Destructor |
allocate [virtual] | Allocates a set of resources as described by allocationInfos. |
beginDefragmentation [virtual] | Starts a defragmentation process for the resources allocated from the factory. |
beginDefragmentationPass [virtual] | Starts a new defragmentation pass. |
canAlias [virtual] | Checks if the resources described by allocationInfos can be overlapped. |
createAllocator [virtual] | Creates a virtual allocator that can be used to manage allocation from a custom block of memory. |
createBottomLevelAccelerationStructure | Creates a bottom-level acceleration structure. |
createBuffer | Creates a buffer of type type. |
createIndexBuffer | Creates an index buffer, based on the layout. |
createSampler | Creates a texture sampler. |
createSamplers [virtual] | Creates a series of texture samplers. |
createTexture | Creates a texture. |
createTextures | Creates a series of textures. |
createTopLevelAccelerationStructure | Creates a top-level acceleration structure. |
createVertexBuffer | Creates a vertex buffer, based on the layout. |
detailedMemoryStatistics [virtual] | Returns detailed memory statistics. |
endDefragmentationPass [virtual] | Ends a defragmentation pass. |
memoryStatistics [virtual] | Returns an array of objects, that contain information about the current memory usage and available memory for a memory heap. |
supportsResizableBaseAddressRegister [virtual] | Returns true, if the GPU supports resizable base address register (ReBAR) and false otherwise. |
tryCreateBuffer | Tries to create a buffer of type type. |
tryCreateIndexBuffer | Tries to create an index buffer, based on the layout. |
tryCreateTexture | Tries to create a texture. |
tryCreateVertexBuffer | Tries to create a vertex buffer, based on the layout. |
Using Declarations¶
| Name |
|---|
allocate |
createBuffer |
createIndexBuffer |
createSampler |
createSamplers |
createTexture |
createTextures |
createVertexBuffer |
tryCreateBuffer |
tryCreateIndexBuffer |
tryCreateTexture |
tryCreateVertexBuffer |
Protected Member Functions¶
| Name | Description |
|---|---|
operator= | Assignment operators |
Friends¶
| Name | Description |
|---|---|
LiteFX::SharedObject::Allocator | An allocator used to allocate the shared object. |
LiteFX::Rendering::Backends::DirectX12Device | Implements a DirectX 12 graphics device. |
LiteFX::Rendering::Backends::DirectX12GraphicsFactory::DirectX12GraphicsFactoryImpl | |
LiteFX::PimplPtr | A smart pointer that manages an implementation instance for a public interface class. |