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¶
| Name | Description |
|---|---|
DirectX12PipelineState | Defines the base class for DirectX 12 pipeline state objects. |
RayTracingPipeline<DirectX12PipelineLayout, DirectX12ShaderProgram> | Represents a ray-tracing Pipeline. |
Type Aliases¶
| Name |
|---|
base_type |
buffer_type |
builder_type |
descriptor_layout_type |
descriptor_set_layout_type |
descriptor_set_type |
handle_type |
image_type |
pipeline_layout_type |
sampler_type |
shader_program_type |
Member Functions¶
| Name | Description |
|---|---|
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¶
| Name | Description |
|---|---|
operator= | Assignment operators |
handle [virtual] | Returns the resource managed by the class. |
Protected Using Declarations¶
Friends¶
| Name | Description |
|---|---|
LiteFX::Rendering::Backends::DirectX12RayTracingPipelineBuilder | Builds a DirectX 12 RayTracingPipeline. |
LiteFX::Rendering::Backends::DirectX12RayTracingPipeline::DirectX12RayTracingPipelineImpl | |
LiteFX::PimplPtr | A smart pointer that manages an implementation instance for a public interface class. |
See Also¶
DirectX12RenderPipeline
DirectX12RayTracingPipelineBuilder