LiteFX 0.3.1.2022
Computer Graphics Engine
LiteFX::Rendering::Backends Namespace Reference

Namespaces

namespace  DX12
 Contains conversion helpers for DirectX 12.
 
namespace  Vk
 Contains conversion helpers for Vulkan.
 

Classes

struct  D3D12MADeleter
 
class  DirectX12Backend
 Implements the DirectX 12 RenderBackend. More...
 
class  DirectX12Barrier
 Implements a DirectX 12 resource barrier. More...
 
class  DirectX12Buffer
 Implements a DirectX 12 IBuffer. More...
 
class  DirectX12CommandBuffer
 Records commands for a DirectX12CommandQueue More...
 
class  DirectX12ComputePipeline
 Implements a DirectX 12 ComputePipeline. More...
 
class  DirectX12DescriptorLayout
 Implements a DirectX 12 IDescriptorLayout More...
 
class  DirectX12DescriptorSet
 Implements a DirectX 12 DescriptorSet. More...
 
class  DirectX12DescriptorSetLayout
 Implements a DirectX 12 DescriptorSetLayout. More...
 
class  DirectX12Device
 Implements a DirectX 12 graphics device. More...
 
class  DirectX12FrameBuffer
 Implements a DirectX 12 frame buffer. More...
 
class  DirectX12GraphicsAdapter
 Implements a DirectX12 IGraphicsAdapter. More...
 
class  DirectX12GraphicsFactory
 A graphics factory that produces objects for a DirectX12Device. More...
 
class  DirectX12Image
 Implements a DirectX12 IImage. More...
 
class  DirectX12IndexBuffer
 Implements a DirectX 12 IIndexBuffer. More...
 
class  DirectX12IndexBufferLayout
 Implements a DirectX 12 index buffer layout. More...
 
class  DirectX12InputAssembler
 Implements the DirectX 12 input assembler state. More...
 
class  DirectX12InputAttachmentMapping
 Implements a IInputAttachmentMapping. More...
 
class  DirectX12PipelineLayout
 Implements a DirectX 12 PipelineLayout. More...
 
class  DirectX12PipelineState
 Defines the base class for DirectX 12 pipeline state objects. More...
 
class  DirectX12PushConstantsLayout
 Implements the DirectX 12 PushConstantsLayout. More...
 
class  DirectX12PushConstantsRange
 Implements the DirectX 12 IPushConstantsRange. More...
 
class  DirectX12Queue
 Implements a DirectX 12 command queue. More...
 
class  DirectX12Rasterizer
 Implements a DirectX 12 IRasterizer. More...
 
class  DirectX12RenderPass
 Implements a DirectX 12 render pass. More...
 
class  DirectX12RenderPipeline
 Implements a DirectX 12 RenderPipeline. More...
 
class  DirectX12Sampler
 Implements a DirectX 12 ISampler. More...
 
class  DirectX12ShaderModule
 Implements a DirectX 12 IShaderModule. More...
 
class  DirectX12ShaderProgram
 Implements a DirectX 12 ShaderProgram. More...
 
class  DirectX12Surface
 Implements a DirectX12 ISurface. More...
 
class  DirectX12SwapChain
 Implements a DirectX 12 swap chain. More...
 
class  DirectX12VertexBuffer
 Implements a DirectX 12 IVertexBuffer. More...
 
class  DirectX12VertexBufferLayout
 Implements a DirectX 12 vertex buffer layout. More...
 
class  IDirectX12Buffer
 Represents the base interface for a DirectX 12 buffer implementation. More...
 
class  IDirectX12Image
 Represents a DirectX 12 sampled image or the base interface for a texture. More...
 
class  IDirectX12IndexBuffer
 Represents a DirectX 12 index buffer. More...
 
class  IDirectX12Sampler
 Represents a DirectX 12 sampler. More...
 
class  IDirectX12VertexBuffer
 Represents a DirectX 12 vertex buffer. More...
 
class  IVulkanBuffer
 Represents the base interface for a Vulkan buffer implementation. More...
 
class  IVulkanImage
 Represents a Vulkan sampled image or the base interface for a texture. More...
 
class  IVulkanIndexBuffer
 Represents a Vulkan index buffer. More...
 
class  IVulkanSampler
 Represents a Vulkan sampler. More...
 
class  IVulkanVertexBuffer
 Represents a Vulkan vertex buffer. More...
 
class  VulkanBackend
 Defines a rendering backend that creates a Vulkan device. More...
 
class  VulkanBarrier
 Implements a Vulkan resource barrier. More...
 
class  VulkanBuffer
 Implements a Vulkan IBuffer. More...
 
class  VulkanCommandBuffer
 Records commands for a VulkanCommandQueue More...
 
class  VulkanComputePipeline
 Implements a Vulkan ComputePipeline. More...
 
class  VulkanDescriptorLayout
 Implements a Vulkan IDescriptorLayout More...
 
class  VulkanDescriptorSet
 Implements a Vulkan DescriptorSet. More...
 
class  VulkanDescriptorSetLayout
 Implements a Vulkan DescriptorSetLayout. More...
 
class  VulkanDevice
 Implements a Vulkan graphics device. More...
 
class  VulkanFrameBuffer
 Implements a Vulkan frame buffer. More...
 
class  VulkanGraphicsAdapter
 Represents a Vulkan IGraphicsAdapter. More...
 
class  VulkanGraphicsFactory
 A graphics factory that produces objects for a VulkanDevice. More...
 
class  VulkanImage
 Implements a Vulkan IImage. More...
 
class  VulkanIndexBuffer
 Implements a Vulkan IIndexBuffer. More...
 
class  VulkanIndexBufferLayout
 Implements a Vulkan index buffer layout. More...
 
class  VulkanInputAssembler
 Implements the Vulkan input assembler state. More...
 
class  VulkanInputAttachmentMapping
 Implements a IInputAttachmentMapping. More...
 
class  VulkanPipelineLayout
 Implements a Vulkan PipelineLayout. More...
 
class  VulkanPipelineState
 Defines the base class for Vulkan pipeline state objects. More...
 
class  VulkanPushConstantsLayout
 Implements the Vulkan PushConstantsLayout. More...
 
class  VulkanPushConstantsRange
 Implements the Vulkan IPushConstantsRange. More...
 
class  VulkanQueue
 Implements a Vulkan command queue. More...
 
class  VulkanRasterizer
 Implements a Vulkan IRasterizer. More...
 
class  VulkanRenderPass
 Implements a Vulkan render pass. More...
 
class  VulkanRenderPipeline
 Implements a Vulkan RenderPipeline. More...
 
class  VulkanSampler
 Implements a Vulkan ISampler. More...
 
class  VulkanShaderModule
 Implements a Vulkan IShaderModule. More...
 
class  VulkanShaderProgram
 Implements a Vulkan ShaderProgram. More...
 
class  VulkanSurface
 Represents a Vulkan ISurface. More...
 
class  VulkanSwapChain
 Implements a Vulkan swap chain. More...
 
class  VulkanVertexBuffer
 Implements a Vulkan IVertexBuffer. More...
 
class  VulkanVertexBufferLayout
 Implements a Vulkan vertex buffer layout. More...
 

Typedefs

template<class THandle >
using ComResource = Resource< ComPtr< THandle > >
 A resource that is hold by a ComPtr. More...
 
typedef SharedPtr< D3D12MA::Allocator > AllocatorPtr
 
typedef UniquePtr< D3D12MA::Allocation, D3D12MADeleterAllocationPtr
 

Functions

 DEFINE_EXCEPTION (DX12PlatformException, std::runtime_error)
 
template<typename TException , typename ... TArgs>
void raiseIfFailed (HRESULT hr, StringView message, TArgs &&... args)
 
 DEFINE_EXCEPTION (VulkanPlatformException, std::runtime_error)
 
template<typename TException , typename ... TArgs>
void raiseIfFailed (VkResult result, StringView message, TArgs &&... args)
 

Variables

constexpr char DIRECTX12_LOG [] = "Backend::DirectX12"
 
constexpr char VULKAN_LOG [] = "Backend::Vulkan"
 

Typedef Documentation

◆ AllocationPtr

◆ AllocatorPtr

◆ ComResource

template<class THandle >
using LiteFX::Rendering::Backends::ComResource = typedef Resource<ComPtr<THandle> >

A resource that is hold by a ComPtr.

Template Parameters
THandleThe type of the resource interface.

Function Documentation

◆ DEFINE_EXCEPTION() [1/2]

LiteFX::Rendering::Backends::DEFINE_EXCEPTION ( DX12PlatformException  ,
std::runtime_error   
)

◆ DEFINE_EXCEPTION() [2/2]

LiteFX::Rendering::Backends::DEFINE_EXCEPTION ( VulkanPlatformException  ,
std::runtime_error   
)

◆ raiseIfFailed() [1/2]

template<typename TException , typename ... TArgs>
void LiteFX::Rendering::Backends::raiseIfFailed ( HRESULT  hr,
StringView  message,
TArgs &&...  args 
)
inline

◆ raiseIfFailed() [2/2]

template<typename TException , typename ... TArgs>
void LiteFX::Rendering::Backends::raiseIfFailed ( VkResult  result,
StringView  message,
TArgs &&...  args 
)
inline

Template Parameters
TException
...TArgs
Parameters
result
message
...args

Variable Documentation

◆ DIRECTX12_LOG

constexpr char LiteFX::Rendering::Backends::DIRECTX12_LOG[] = "Backend::DirectX12"
constexpr

◆ VULKAN_LOG

constexpr char LiteFX::Rendering::Backends::VULKAN_LOG[] = "Backend::Vulkan"
constexpr