Skip to content

LiteFX::Rendering::Backends::DirectX12RayTracingPipeline

Implements a DirectX 12 RayTracingPipeline.

Synopsis

Declared in <litefx/backends/dx12.hpp>

class [[dllimport, dllexport]] DirectX12RayTracingPipeline final
    : public virtual DirectX12PipelineState
    , public RayTracingPipeline<DirectX12PipelineLayout, DirectX12ShaderProgram>

Description

Note that the ray tracing pipeline does not set its handle, as it is a different base type from the one used to define ray tracing pipelines. Instead to obtain the handle, call DirectX12RayTracingPipeline::stateObject().

At some point it is expected that D3D introduces a unified pipeline architecture based on state objects. At this point, the pipeline state base object will switch to using state objects as its handle type and the stateObject method above will be deprecated.

Base Classes

NameDescription
DirectX12PipelineStateDefines the base class for DirectX 12 pipeline state objects.
RayTracingPipeline<DirectX12PipelineLayout, DirectX12ShaderProgram>Represents a ray-tracing Pipeline.

Type Aliases

Member Functions

NameDescription
DirectX12RayTracingPipeline [constructor]Initializes a new DirectX 12 ray-tracing pipeline.
~DirectX12RayTracingPipeline [destructor] [virtual]Destructor
operator= Assignment operators
allocateShaderBindingTable [virtual]Allocates a buffer that contains the shader binding table containing the shader groups specified by the groups parameter.
handle [virtual]Returns the resource managed by the class.
layout [virtual]Returns the layout of the render pipeline.
maxAttributeSize [virtual]Returns the maximum size of a single ray attribute.
maxPayloadSize [virtual]Returns the maximum size of a single ray payload.
maxRecursionDepth [virtual]Returns the maximum number of ray bounces.
program [virtual]Returns the shader program used by the pipeline.
shaderRecords [virtual]Returns the shader record collection of the ray tracing pipeline.
stateObject Returns the handle of the ray tracing pipeline state object.
use [virtual]Sets the current pipeline state on the commandBuffer.

Protected Member Functions

NameDescription
operator= Assignment operators
handle [virtual]Returns the resource managed by the class.

Protected Using Declarations

Friends

NameDescription
LiteFX::Rendering::Backends::DirectX12RayTracingPipelineBuilderBuilds a DirectX 12 RayTracingPipeline.
LiteFX::Rendering::Backends::DirectX12RayTracingPipeline::DirectX12RayTracingPipelineImpl
LiteFX::PimplPtrA smart pointer that manages an implementation instance for a public interface class.

See Also

DirectX12RenderPipeline

DirectX12RayTracingPipelineBuilder