Global Namespace¶
Namespaces¶
| Name |
|---|
LiteFX |
Macros¶
| Name | Description |
|---|---|
LITEFX_IMPLEMENTATION | Declares the implementation for the public interface of a class. |
Using Namespace Directives¶
LiteFX namespace¶
Namespaces¶
| Name | Description |
|---|---|
Graphics | |
Logging | |
Math | |
Rendering | |
meta | Contains type traits and meta-programming features for compile-time evaluation. |
Types¶
| Name | Description |
|---|---|
App | The base class for an application. |
AppBuilder | Creates a new builder for an App. |
AppVersion | Contains the version of an App. |
ArgumentNotInitializedException | An exception that is thrown, if a provided non-optional argument was not initialized. |
ArgumentOutOfRangeException | An exception that is thrown, if a provided argument is not within the expected range. |
Builder | Describes an generic builder type. |
CovariantIterator | Wraps an iterator and returns covariants of type T of the iterated value. |
Delegate | Represents a handler for an Event, that is assigned a unique token when created, so that it can be identified later. |
Enumerable | An input range over another range, where the returned values of type T are covariants of the values stored by the underlying range. |
Event | A class that is used to declare an event, which a number of listeners can subscribe to. |
EventArgs | Base class for additional event arguments. |
Exception | The base class for exceptions thrown by the SDK. |
IBackend | The base class for an app backend. |
IResource | Provides access to a resource managed by the class. |
InvalidArgumentException | An exception that is thrown, if a provided argument is not valid. |
PimplPtr | A smart pointer that manages an implementation instance for a public interface class. |
ResizeEventArgs | Stores event arguments of a window resize event. |
Resource | Implements the IResource interface. |
RuntimeException | An exception that is thrown, if a requested operation could not be executed. |
SharedObject | Base class for an object that can be shared. |
type_switch | A switch that can be used to select a callable from a parameter type. |
Type Aliases¶
| Name | Description |
|---|---|
Array | Represents a dynamic array. |
Dictionary | Represents a dictionary that maps a key to a certain value. |
Generator | Describes an intermediate container for elements of type T. |
Handle | Represents a handle type. |
Optional | Represents an optional value. |
Queue | Represents a queue. |
Ref | Represents a copyable and assignable reference wrapper. |
SharedPtr | Represents a shared pointer, that expresses non-exclusive ownership. |
Span | Represents a view of an array. |
String | |
StringView | |
Tuple | Represents a tuple of multiple objects. |
UniquePtr | Represents a unique pointer, that expresses exclusive ownership. |
Variant | Represents a variant of objects. |
WString | |
WStringView | |
WeakPtr | Represents a weak pointer, that expresses a reference to a shared pointer instance. |
Enums¶
Functions¶
| Name | Description |
|---|---|
Join | |
Narrow | Converts an UTF-16 multi-byte encoded string into an UTF-8 representation. |
WJoin | |
Widen | Converts an UTF-8 single-byte encoded string into an UTF-16 representation. |
asShared | Transfers a unique pointer to a shared pointer. The unique pointer will be released during this process. |
makeShared | Creates a new shared pointer. |
makeUnique | Creates a new unique pointer. |
operator""_hash | Computes the FNVa hash for string. |
Variables¶
| Name |
|---|
VALID_BACKEND_TYPES |
Concepts¶
| Name | Description |
|---|---|
backend | Concept that can be used to refer to backend implementations. |
covariant_forward_iterator | Evaluates, if an iterator of type TIterator iterates values that are covariant to TValue. |
is_covariant | Evaluates if a type TCovariant behaves covariant to a value type TValue. In this context, covariance is expressed as the type TCovariant can be assigned a value of type TValue or can be constructed from a value of TValue. |
Using Namespace Directives¶
| Name |
|---|
Logging |
LiteFX::Graphics namespace¶
Types¶
| Name | Description |
|---|---|
Blitter | Utility class that can be used to issue blit commands and generate mip maps. |
Vertex | Default definition for a simple vertex. |
Using Namespace Directives¶
LiteFX::Logging namespace¶
Types¶
| Name | Description |
|---|---|
ConsoleSink | Writes log messages to the console. |
ISink | Interface for a class that receives log messages. |
Log | A log to which messages are written to. |
Logger | A provider for Log instances. |
RollingFileSink | Writes log messages to a rolling file. |
TerminationSink | Forcefully terminates the application, if a log message of a certain level or higher is output. |
Enums¶
| Name | Description |
|---|---|
LogLevel | Defines the various log levels. |
Using Namespace Directives¶
| Name |
|---|
LiteFX |
LiteFX::Math namespace¶
Namespaces¶
| Name | Description |
|---|---|
Vectors | Contains additional exported vector types. |
Types¶
| Name | Description |
|---|---|
Matrix | An algebraic matrix type. |
Rect | |
RectF | |
RectI | |
Size2d | |
Size3d | |
Size4d | |
Vector | An algebraic vector type. The value type of a vector must be in standard layout (i.e., std::is_standard_layout_v<T> must evaluate to true). This constraint is enforced at compile time and ensures that vector types can be binary marshaled. For example, the LiteFX::Graphics::Vertex type stores nothing more than a series of vectors. The standard layout constraint ensures that a set of vertices can be converted into a plain byte array and back. |
Vector1f | A vector that contains a single float. |
Vector1u | A vector that contains a single unsigned integer. |
Vector2f | A vector that contains two floats. |
Vector2i | A vector that contains two signed integers. |
Vector2u | A vector that contains two unsigned integers. |
Vector3f | A vector that stores three floats. |
Vector3i | |
Vector3u | |
Vector4f | |
Vector4i | |
Vector4u |
Type Aliases¶
| Name | Description |
|---|---|
Byte | A type for a single byte of raw memory. |
Double | A type for a floating point value with double precision. |
Float | A type for a floating point value with single precision. |
Int16 | A type for a signed 16 bit integer. |
Int32 | A type for a signed 32 bit integer. |
Int64 | A type for a signed 64 bit integer. |
TMatrix2 | A generic matrix with 2 rows and 2 columns. |
TMatrix3 | A generic matrix with 3 rows and 3 columns. |
TMatrix3x4 | A generic matrix with 3 rows and 4 columns. |
TMatrix4 | A generic matrix with 4 rows and 4 columns. |
TVector1 | A generic vector with one component. |
TVector2 | A generic vector with two components. |
TVector3 | A generic vector with three components. |
TVector4 | A generic vector with four components. |
UInt16 | A type for an unsigned 16 bit integer. |
UInt32 | A type for an unsigned 32 bit integer. |
UInt64 | A type for an unsigned 64 bit integer. |
UInt8 | A type for an unsigned 8 bit integer. |
Functions¶
| Name | Description |
|---|---|
align | Aligns a value size to an alignment alignment. |
operator""_b | A literal to define a byte. |
operator""_f32 | A literal to define a floating point value with single precision. |
operator""_f64 | A literal to define a floating point value with double precision. |
operator""_i16 | A literal to define a 16 bit integer. |
operator""_i32 | A literal to define a 32 bit integer. |
operator""_i64 | A literal to define a 64 bit integer. |
operator""_ui16 | A literal to define a 16 bit unsigned integer. |
operator""_ui32 | A literal to define a 32 bit unsigned integer. |
operator""_ui64 | A literal to define a 64 bit unsigned integer. |
operator""_ui8 | A literal to define a 8 bit unsigned integer. |
Using Namespace Directives¶
| Name |
|---|
LiteFX |
LiteFX::Math::Vectors namespace¶
Contains additional exported vector types.
Type Aliases¶
| Name | Description |
|---|---|
ByteVector1 | A vector that contains a single byte. |
ByteVector2 | A vector that contains two bytes. |
ByteVector3 | A vector that contains three bytes. |
ByteVector4 | A vector that contains four bytes. |
DoubleVector1 | A vector that contains a single floating point value with double precision. |
DoubleVector2 | A vector that contains two floating point values with double precision. |
DoubleVector3 | A vector that contains three floating point values with double precision. |
DoubleVector4 | A vector that contains four floating point values with double precision. |
FloatVector1 | A vector that contains a single floating point value with single precision. |
FloatVector2 | A vector that contains two floating point values with single precision. |
FloatVector3 | A vector that contains three floating point values with single precision. |
FloatVector4 | A vector that contains four floating point values with single precision. |
Int16Vector1 | A vector that contains a single 16 bit signed integer. |
Int16Vector2 | A vector that contains two 16 bit signed integers. |
Int16Vector3 | A vector that contains three 16 bit signed integers. |
Int16Vector4 | A vector that contains four 16 bit signed integers. |
Int32Vector1 | A vector that contains a single 32 bit signed integer. |
Int32Vector2 | A vector that contains two 32 bit signed integers. |
Int32Vector3 | A vector that contains three 32 bit signed integers. |
Int32Vector4 | A vector that contains four 32 bit signed integers. |
Int64Vector1 | A vector that contains a single 64 bit signed integer. |
Int64Vector2 | A vector that contains two 64 bit signed integers. |
Int64Vector3 | A vector that contains three 64 bit signed integers. |
Int64Vector4 | A vector that contains four 64 bit signed integers. |
UInt16Vector1 | A vector that contains a single 16 bit unsigned integer. |
UInt16Vector2 | A vector that contains two 16 bit unsigned integers. |
UInt16Vector3 | A vector that contains three 16 bit unsigned integers. |
UInt16Vector4 | A vector that contains four 16 bit unsigned integers. |
UInt32Vector1 | A vector that contains a single 32 bit unsigned integer. |
UInt32Vector2 | A vector that contains two 32 bit unsigned integers. |
UInt32Vector3 | A vector that contains three 32 bit unsigned integers. |
UInt32Vector4 | A vector that contains four 32 bit unsigned integers. |
UInt64Vector1 | A vector that contains a single 64 bit unsigned integer. |
UInt64Vector2 | A vector that contains two 64 bit unsigned integers. |
UInt64Vector3 | A vector that contains three 64 bit unsigned integers. |
UInt64Vector4 | A vector that contains four 64 bit unsigned integers. |
LiteFX::Rendering namespace¶
Namespaces¶
| Name |
|---|
Backends |
Types¶
| Name | Description |
|---|---|
Barrier | A barrier used for GPU resource synchronization. |
BarrierBuilder | Base class for a builder that builds a Barrier. |
BufferAttribute | Stores meta data about a buffer attribute, i.e. a member or field of a descriptor or buffer. |
CommandBuffer | Represents a command buffer, that buffers commands that should be submitted to a CommandQueue. |
CommandQueue | Represents a command queue. |
ComputePipeline | Represents a compute Pipeline. |
ComputePipelineBuilder | Describes the interface of a compute pipeline builder. |
DepthStencilState | Stores the depth/stencil state of a see IRasterizer. |
DescriptorBinding | Describes a resource binding to a descriptor or descriptor set. |
DescriptorBindingPoint | Describes a single descriptor binding point within a IShaderModule. |
DescriptorSet | Defines a set of descriptors. |
DescriptorSetLayout | Describes the layout of a descriptor set. |
DescriptorSetLayoutBuilder | Builds a DescriptorSetLayout for a PipelineLayout. |
DetailedMemoryStatistics | Stores extended memory statistics, that can be queried by calling IGraphicsFactory::detailedMemoryStatistics. |
DeviceState | A class that can be used to manage the state of a IGraphicsDevice. |
FrameBuffer | Stores the images used by a RenderPass to either read from using input attachments or write to using render targets. |
FrameBuffer | Stores the images used by a RenderPass to either read from using input attachments or write to using render targets. |
GraphicsDevice | Represents the graphics device that a rendering back-end is doing work on. |
GraphicsDeviceFeatures | Describes optional features that can be supported by a device. |
GraphicsFactory | Describes a factory that creates objects for a GraphicsDevice. |
IAccelerationStructure | Base interface for a ray tracing acceleration structure. |
IBarrier | The interface for a barrier. |
IBottomLevelAccelerationStructure | A structure that holds a singular entity of geometry for hardware ray-tracing. |
IBuffer | Base interface for buffer objects. |
IBufferLayout | Describes a buffer layout. |
ICommandBuffer | The interface for a command buffer. |
ICommandQueue | The interface for a command queue. |
IComputePipeline | The interface for a compute pipeline. |
IDescriptorLayout | Describes a the layout of a single descriptor within a DescriptorSet. |
IDescriptorSet | The interface for a descriptor set. |
IDescriptorSetLayout | The interface for a descriptor set layout. |
IDeviceMemory | Describes a chunk of device memory. |
IFrameBuffer | The interface for a frame buffer. |
IGraphicsAdapter | Represents a physical graphics adapter. |
IGraphicsDevice | The interface for a graphics device that. |
IGraphicsFactory | The interface for a graphics factory. |
IImage | Describes a generic image. |
IIndexBuffer | The interface for an index buffer. |
IIndexBufferLayout | Describes a index buffer layout. |
IInputAssembler | The interface for an input assembler state. |
IMappable | Allows for data to be mapped into the object. |
IPipeline | The interface for a pipeline. |
IPipelineLayout | The interface for a pipeline layout. |
IPushConstantsLayout | The interface for a push constants layout. |
IPushConstantsRange | Describes a range within a IPushConstantsLayout. |
IRasterizer | Represents the rasterizer state of a RenderPipeline. |
IRayTracingPipeline | The interface for a ray tracing pipeline. |
IRenderBackend | The interface to access a render backend. |
IRenderPass | The interface for a render pass. |
IRenderPipeline | The interface for a render pipeline. |
IRenderTarget | Represents a render target, i.e. an abstract view of the output of an RenderPass. |
ISampler | Describes a texture sampler. |
IScissor | The interface of a scissor. |
IShaderModule | Represents a single shader module, i.e. a part of a IShaderProgram. |
IShaderProgram | The interface for a shader program. |
IShaderRecord | Describes a record within a shader binding table. |
IStateResource | The interface for a state resource. |
ISurface | Represents a surface to render to. |
ISwapChain | Interface for a swap chain. |
ITopLevelAccelerationStructure | A structure that stores the instance data for a IBottomLevelAccelerationStructure. |
IVertexBuffer | The interface for a vertex buffer. |
IVertexBufferLayout | Describes a vertex buffer layout. |
IViewport | Interface for a viewport. |
IndexBuffer | Describes an index buffer. |
IndirectBatch | An indirect batch used to execute an standard draw call. |
IndirectDispatchBatch | An indirect batch used to dispatch a compute shader kernel. |
IndirectIndexedBatch | An indirect batch used to execute an indexed draw call. |
InputAssembler | Represents a the input assembler state of a RenderPipeline. |
InputAssemblerBuilder | Builds a InputAssembler. |
MemoryHeapStatistics | Stores simple memory heap statistics, that can be quickly queried by calling IGraphicsFactory::memoryStatistics |
Pipeline | Represents a pipeline state. |
Pipeline | Represents a pipeline state. |
PipelineBindingHint | A hint used during shader reflection to control the pipeline layout. |
PipelineLayout | Represents a the layout of a RenderPipeline, ComputePipeline or RayTracingPipeline. |
PipelineLayoutBuilder | Base class for a builder of a PipelineLayout. |
PushConstantsLayout | Describes the layout of the pipelines push constant ranges. |
PushConstantsLayoutBuilder | Builds a PushConstantsLayout for a PipelineLayout. |
Rasterizer | Implements a IRasterizer. |
RasterizerBuilder | Builds a Rasterizer. |
RayTracingPipeline | Represents a ray-tracing Pipeline. |
RayTracingPipelineBuilder | Describes the interface of a ray-tracing pipeline builder. |
RenderBackend | Defines a back-end, that provides a device instance for a certain surface and graphics adapter. |
RenderPass | Represents a render pass. |
RenderPass | Represents a render pass. |
RenderPassBuilder | Describes the interface of a render pass builder. |
RenderPassDependency | Represents a mapping between a set of RenderTarget instances and the input attachments of a IRenderPass. |
RenderPipeline | Represents a graphics Pipeline. |
RenderPipeline | Represents a graphics Pipeline. |
RenderPipelineBuilder | Describes the interface of a render pipeline builder. |
RenderTarget | Implements a render target. |
ResourceAllocationInfo | Contains the parameters for a resource allocation. |
ResourceAllocationResult | Stores the result of a resource allocation. |
Scissor | Implements a scissor. |
ShaderBindingTableOffsets | Describes the offsets and sizes of a shader group within a shader binding table buffer. |
ShaderProgram | Represents a shader program, consisting of multiple IShaderModule "IShaderModules". |
ShaderProgramBuilder | Base class for a builder that builds a ShaderProgram. |
ShaderRecord | Defines a generic shader record. |
ShaderRecordCollection | Stores a set of IShaderRecord "IShaderRecords" in that later form a shader binding table used for ray-tracing. |
StateResource | Base class for a resource that can be identified by a name string within a DeviceState. |
SwapChain | Represents a swap chain, i.e. a chain of multiple IImage instances, that can be presented to a ISurface. |
TimingEvent | An event that is used to measure timestamps in a command queue. |
VertexBuffer | Describes a vertex buffer. |
VertexBufferLayoutBuilder | Builds a IVertexBufferLayout. |
Viewport | Implements a viewport. |
VirtualAllocator | Represents a virtual allocator that manages memory distribution from a piece of raw memory. |
Enums¶
| Name | Description |
|---|---|
AccelerationStructureFlags | Controls how an acceleration structure should be built. |
AllocationAlgorithm | The allocation algorithm used by VirtualAllocator "VirtualAllocators". |
AllocationBehavior | Controls the allocation behavior of IGraphicsFactory. |
AllocationStrategy | The allocation strategy used by allocators (IGraphicsFactory and VirtualAllocator) when allocating new chunks of memory. |
AttributeSemantic | Describes the semantic of a buffer attribute. |
BlendFactor | Specifies a blend factor. |
BlendOperation | Specifies a blend operation. |
BorderMode | Describes how to treat texture coordinates that are outside the domain [0..1]. |
BufferFormat | Describes a buffer attribute format. |
BufferType | Describes the type of a IBuffer. |
CompareOperation | Describes the operation used to compare depth or stencil values during depth/stencil tests. |
CullMode | Describes which faces are culled by the Rasterizer stage. |
CullOrder | Describes the order or vertex winding, that is used to determine, whether a polygon is facing towards or away from the camera. |
DefragmentationStrategy | The strategy to apply to a defragmentation pass. |
DescriptorHeapType | The target heap type for a descriptor. |
DescriptorType | Describes the type of a IDescriptorLayout. |
FilterMode | Describes the filter operation when accessing a pixel from a texture coordinate. |
Format | Describes a texel format. |
GeometryFlags | Controls how a geometry that is part of a bottom-level acceleration structure (BLAS) behaves during ray-tracing. |
GpuPreference | Provides a preference setting when selecting an adapter. |
GraphicsAdapterType | Defines different types of graphics adapters. |
ImageDimensions | Describes the dimensions of a image resource, i.e. the dimensions that are required to access a texel or describe the image extent. |
ImageLayout | Specifies the layout of an IImage resource. |
IndexType | Describes the element type of an index buffer. |
InstanceFlags | Controls how an instance within a ITopLevelAccelerationStructure behaves during ray-tracing. |
MipMapMode | Describes the filter operation between two mip-map levels. |
MultiSamplingLevel | Describes the number of samples with which a IImage is sampled. |
PipelineStage | Defines pipeline stages as points where synchronization may occur. |
PolygonMode | Describes the draw mode for polygons. |
PrimitiveTopology | Describes the topology of a mesh primitive. |
QueuePriority | Specifies the priority with which a queue is scheduled on the GPU. |
QueueType | Represents the type of a CommandQueue. |
RenderTargetFlags | Describes the behavior of render targets. |
RenderTargetType | Describes the type of a render target. |
ResourceAccess | Defines how a IBuffer or IImage resource is accessed. |
ResourceHeap | Defines where a resource (buffer or image) memory is located and from where it can be accessed. |
ResourceUsage | Describes the intended usage for a resource. |
ShaderBindingGroup | Describes a group or combination of groups of a shader binding table. |
ShaderRecordType | Describes the type of a shader module record within a shader collection or shader binting table. |
ShaderStage | Describes the valid shader stages of a graphics pipeline. |
StencilOperation | An operation that is applied to the stencil buffer. |
VertexBufferInputRate | The rate at which a vertex buffer of a certain IVertexBufferLayout is made available for vertex shaders. |
WriteMask | Specifies a write mask for a color buffer. |
Functions¶
| Name | Description |
|---|---|
getBufferFormatChannelSize | Returns the number of bytes used by a channel of a buffer format. |
getBufferFormatChannels | Returns the number of channels for a buffer format. |
getBufferFormatType | Returns the underlying data type of a buffer format. |
getSize | Returns the size of an element of a specified format. |
hasDepth | Returns true, if the format contains a depth channel. |
hasStencil | Returns true, if the format contains a stencil channel. |
operator& | Bitwise conjunction operators |
operator&= | Bitwise conjunction assignment operators |
operator| | Bitwise disjunction operators |
operator|= | Bitwise disjunction assignment operators |
Variables¶
| Name | Description |
|---|---|
SHADER_RECORD_LOCAL_DATA_ALIGNMENT | The size (in bytes) to which shader record local data must be aligned. |
Concepts¶
| Name | Description |
|---|---|
render_backend | Concept that can be used to refer to render backend implementations. |
Using Namespace Directives¶
LiteFX::Rendering::Backends namespace¶
Namespaces¶
| Name | Description |
|---|---|
DX12 | Contains conversion helpers for DirectX 12. |
Vk | Contains conversion helpers for Vulkan. |
Types¶
| Name | Description |
|---|---|
DX12PlatformException | An exception that is thrown, if a requested D3D12 operation could not be executed. |
DirectX12Backend | Implements the DirectX 12 RenderBackend. |
DirectX12Barrier | Implements a DirectX 12 resource barrier. |
DirectX12BarrierBuilder | Builds a DirectX 12 Barrier. |
DirectX12BottomLevelAccelerationStructure | Implements a DirectX 12 bottom-level acceleration structure (BLAS). |
DirectX12CommandBuffer | Records commands for a DirectX12Queue |
DirectX12ComputePipeline | Implements a DirectX 12 ComputePipeline. |
DirectX12ComputePipelineBuilder | Builds a DirectX 12 ComputePipeline. |
DirectX12DescriptorLayout | Implements a DirectX 12 IDescriptorLayout |
DirectX12DescriptorSet | Implements a DirectX 12 DescriptorSet. |
DirectX12DescriptorSetLayout | Implements a DirectX 12 DescriptorSetLayout. |
DirectX12DescriptorSetLayoutBuilder | Builds a DirectX12DescriptorSetLayout for a pipeline layout. |
DirectX12Device | Implements a DirectX 12 graphics device. |
DirectX12FrameBuffer | Implements a DirectX 12 frame buffer. |
DirectX12GraphicsAdapter | Implements a DirectX12 IGraphicsAdapter. |
DirectX12GraphicsFactory | A graphics factory that produces objects for a DirectX12Device. |
DirectX12Image | Implements a DirectX12 IImage. |
DirectX12IndexBufferLayout | Implements a DirectX 12 index buffer layout. |
DirectX12InputAssembler | Implements the DirectX 12 input assembler state. |
DirectX12InputAssemblerBuilder | Builds a DirectX12InputAssembler. |
DirectX12PipelineLayout | Implements a DirectX 12 PipelineLayout. |
DirectX12PipelineLayoutBuilder | Builds a DirectX 12 PipelineLayout for a pipeline. |
DirectX12PipelineState | Defines the base class for DirectX 12 pipeline state objects. |
DirectX12PushConstantsLayout | Implements the DirectX 12 PushConstantsLayout. |
DirectX12PushConstantsLayoutBuilder | Builds a DirectX 12 PushConstantsLayout for a pipeline layout. |
DirectX12PushConstantsRange | Implements the DirectX 12 IPushConstantsRange. |
DirectX12Queue | Implements a DirectX 12 command queue. |
DirectX12Rasterizer | Implements a DirectX 12 IRasterizer. |
DirectX12RasterizerBuilder | Builds a DirectX 12 IRasterizer. |
DirectX12RayTracingPipeline | Implements a DirectX 12 RayTracingPipeline. |
DirectX12RayTracingPipelineBuilder | Builds a DirectX 12 RayTracingPipeline. |
DirectX12RenderPass | Implements a DirectX 12 render pass. |
DirectX12RenderPassBuilder | Implements the DirectX 12 RenderPassBuilder. |
DirectX12RenderPipeline | Implements a DirectX 12 RenderPipeline. |
DirectX12RenderPipelineBuilder | Builds a DirectX 12 RenderPipeline. |
DirectX12ShaderModule | Implements a DirectX 12 IShaderModule. |
DirectX12ShaderProgram | Implements a DirectX 12 ShaderProgram. |
DirectX12ShaderProgramBuilder | Builds a DirectX 12 ShaderProgram. |
DirectX12Surface | Implements a DirectX12 ISurface. |
DirectX12SwapChain | Implements a DirectX 12 swap chain. |
DirectX12TopLevelAccelerationStructure | Implements a DirectX 12 top-level acceleration structure (TLAS). |
DirectX12VertexBufferLayout | Implements a DirectX 12 vertex buffer layout. |
DirectX12VertexBufferLayoutBuilder | Builds a see DirectX12VertexBufferLayout. |
IDirectX12AccelerationStructure | Represents the base interface for a DirectX 12 acceleration structure implementation. |
IDirectX12Buffer | Represents the base interface for a DirectX 12 buffer implementation. |
IDirectX12Image | Represents a DirectX 12 sampled image or the base interface for a texture. |
IDirectX12IndexBuffer | Represents a DirectX 12 index buffer. |
IDirectX12Sampler | Represents a DirectX 12 sampler. |
IDirectX12VertexBuffer | Represents a DirectX 12 vertex buffer. |
IVulkanAccelerationStructure | Represents the base interface for a Vulkan acceleration structure implementation. |
IVulkanBuffer | Represents the base interface for a Vulkan buffer implementation. |
IVulkanImage | Represents a Vulkan sampled image or the base interface for a texture. |
IVulkanIndexBuffer | Represents a Vulkan index buffer. |
IVulkanSampler | Represents a Vulkan sampler. |
IVulkanVertexBuffer | Represents a Vulkan vertex buffer. |
VulkanBackend | Defines a rendering backend that creates a Vulkan device. |
VulkanBarrier | Implements a Vulkan resource barrier. |
VulkanBarrierBuilder | Builds a Vulkan Barrier. |
VulkanBottomLevelAccelerationStructure | Implements a Vulkan bottom-level acceleration structure (BLAS). |
VulkanCommandBuffer | Records commands for a VulkanQueue |
VulkanComputePipeline | Implements a Vulkan ComputePipeline. |
VulkanComputePipelineBuilder | Builds a Vulkan ComputePipeline. |
VulkanDescriptorLayout | Implements a Vulkan IDescriptorLayout |
VulkanDescriptorSet | Implements a Vulkan DescriptorSet. |
VulkanDescriptorSetLayout | Implements a Vulkan DescriptorSetLayout. |
VulkanDescriptorSetLayoutBuilder | Builds a VulkanDescriptorSetLayout for a VulkanPipelineLayout. |
VulkanDevice | Implements a Vulkan graphics device. |
VulkanFrameBuffer | Implements a Vulkan frame buffer. |
VulkanGraphicsAdapter | Represents a Vulkan IGraphicsAdapter. |
VulkanGraphicsFactory | A graphics factory that produces objects for a VulkanDevice. |
VulkanImage | Implements a Vulkan IImage. |
VulkanIndexBufferLayout | Implements a Vulkan index buffer layout. |
VulkanInputAssembler | Implements the Vulkan input assembler state. |
VulkanInputAssemblerBuilder | Builds a VulkanInputAssembler. |
VulkanPipelineLayout | Implements a Vulkan PipelineLayout. |
VulkanPipelineLayoutBuilder | Builds a Vulkan PipelineLayout for a pipeline. |
VulkanPipelineState | Defines the base class for Vulkan pipeline state objects. |
VulkanPlatformException | An exception that is thrown, if a requested Vulkan operation could not be executed. |
VulkanPushConstantsLayout | Implements the Vulkan PushConstantsLayout. |
VulkanPushConstantsLayoutBuilder | Builds a Vulkan PushConstantsLayout for a VulkanPipelineLayout. |
VulkanPushConstantsRange | Implements the Vulkan IPushConstantsRange. |
VulkanQueue | Implements a Vulkan command queue. |
VulkanRasterizer | Implements a Vulkan IRasterizer. |
VulkanRasterizerBuilder | Builds a Vulkan IRasterizer. |
VulkanRayTracingPipeline | Implements a Vulkan RayTracingPipeline. |
VulkanRayTracingPipelineBuilder | Builds a Vulkan RayTracingPipeline. |
VulkanRenderPass | Implements a Vulkan render pass. |
VulkanRenderPassBuilder | Implements the Vulkan RenderPassBuilder. |
VulkanRenderPipeline | Implements a Vulkan RenderPipeline. |
VulkanRenderPipelineBuilder | Builds a Vulkan RenderPipeline. |
VulkanShaderModule | Implements a Vulkan IShaderModule. |
VulkanShaderProgram | Implements a Vulkan ShaderProgram. |
VulkanShaderProgramBuilder | Builds a Vulkan ShaderProgram. |
VulkanSurface | Represents a Vulkan ISurface. |
VulkanSwapChain | Implements a Vulkan swap chain. |
VulkanTopLevelAccelerationStructure | Implements a Vulkan top-level acceleration structure (TLAS). |
VulkanVertexBufferLayout | Implements a Vulkan vertex buffer layout. |
VulkanVertexBufferLayoutBuilder | Builds a see VulkanVertexBufferLayout. |
Type Aliases¶
| Name | Description |
|---|---|
ComResource | A resource that is hold by a ComPtr. |
Functions¶
| Name | Description |
|---|---|
raiseIfFailed | raiseIfFailed overloads |
Variables¶
| Name |
|---|
DIRECTX12_LOG |
VULKAN_LOG |
Using Namespace Directives¶
LiteFX::Rendering::Backends::DX12 namespace¶
Contains conversion helpers for DirectX 12.
Functions¶
LiteFX::Rendering::Backends::Vk namespace¶
Contains conversion helpers for Vulkan.
Functions¶
LiteFX::meta namespace¶
Contains type traits and meta-programming features for compile-time evaluation.
Types¶
| Name | Description |
|---|---|
has_builder_t | Trait that is evaluated, if a class does not have an builder member type defined. |
is_explicitly_constructible_t | Evaluates to either true or false, if T can be constructed using the provided arguments, whilst not being able to be converted from TArg. |
is_implicitly_constructible_t | Evaluates to either true or false, if T can be constructed using the provided arguments and at the same time can also be converted from TArg. |
Variables¶
| Name | Description |
|---|---|
has_builder_v | Evaluates to either true or false, if T contains an builder member definition. |
is_explicitly_constructible_v | Evalues to true or false, depending if T contains an explicit constructor that takes TArg and TArgs as arguments. |
is_implicitly_constructible_v | Evalues to true or false, depending if T contains an implicit constructor that takes TArg and TArgs as arguments. |
Concepts¶
| Name | Description |
|---|---|
are_same | Checks if a set of types are all equal to the type T. |
has_builder | Checks if a type contains a builder. |
implements | Checks if a type TDerived is derived from another type TBase and is non-abstract. |
is_explicitly_constructible | Checks if a type can be constructed using the provided arguments, whilst not being able to be converted from TArg. |
is_implicitly_constructible | Checks if a type can be constructed using the provided arguments and at the same time can also be converted from TArg. |