LiteFX 0.4.1.2025
Computer Graphics Engine
|
Represents a ray-tracing Pipeline. More...
#include <rendering.hpp>
Inherits LiteFX::Rendering::IRayTracingPipeline, and LiteFX::Rendering::Pipeline< TPipelineLayout, TShaderProgram >.
Public Types | |
using | base_type = Pipeline<TPipelineLayout, TShaderProgram> |
using | descriptor_set_layout_type = base_type::pipeline_layout_type::descriptor_set_layout_type |
using | descriptor_set_type = descriptor_set_layout_type::descriptor_set_type |
using | descriptor_layout_type = descriptor_set_layout_type::descriptor_layout_type |
using | buffer_type = descriptor_set_type::buffer_type |
using | image_type = descriptor_set_type::image_type |
using | sampler_type = descriptor_set_type::sampler_type |
![]() | |
using | shader_program_type = TShaderProgram |
using | pipeline_layout_type = TPipelineLayout |
Public Member Functions | |
~RayTracingPipeline () noexcept override=default | |
virtual SharedPtr< buffer_type > | allocateShaderBindingTable (ShaderBindingTableOffsets &offsets, ShaderBindingGroup groups=ShaderBindingGroup::All) const =0 |
![]() | |
~IRayTracingPipeline () noexcept override=default | |
virtual const ShaderRecordCollection & | shaderRecords () const noexcept=0 |
Returns the shader record collection of the ray tracing pipeline. | |
virtual UInt32 | maxRecursionDepth () const noexcept=0 |
Returns the maximum number of ray bounces. | |
virtual UInt32 | maxPayloadSize () const noexcept=0 |
Returns the maximum size of a single ray payload. | |
virtual UInt32 | maxAttributeSize () const noexcept=0 |
Returns the maximum size of a single ray attribute. | |
SharedPtr< IBuffer > | allocateShaderBindingTable (ShaderBindingTableOffsets &offsets, ShaderBindingGroup groups=ShaderBindingGroup::All) const |
Allocates a buffer that contains the shader binding table containing the shader groups specified by the groups parameter. | |
![]() | |
~IPipeline () noexcept override=default | |
SharedPtr< const IShaderProgram > | program () const noexcept |
Returns the shader program used by the pipeline. | |
SharedPtr< const IPipelineLayout > | layout () const noexcept |
Returns the layout of the render pipeline. | |
![]() | |
virtual | ~IStateResource () noexcept=default |
Releases the state resource instance. | |
![]() | |
~Pipeline () noexcept override=default | |
virtual SharedPtr< const shader_program_type > | program () const noexcept=0 |
virtual SharedPtr< const pipeline_layout_type > | layout () const noexcept=0 |
![]() | |
~StateResource () noexcept override | |
Releases the state resource instance. | |
const String & | name () const noexcept override |
Returns the name of the resource.
| |
Represents a ray-tracing Pipeline.
TPipelineLayout | The type of the render pipeline layout. Must implement PipelineLayout. |
TShaderProgram | The type of the shader program. Must implement ShaderProgram. |
using LiteFX::Rendering::RayTracingPipeline< TPipelineLayout, TShaderProgram >::base_type = Pipeline<TPipelineLayout, TShaderProgram> |
using LiteFX::Rendering::RayTracingPipeline< TPipelineLayout, TShaderProgram >::buffer_type = descriptor_set_type::buffer_type |
using LiteFX::Rendering::RayTracingPipeline< TPipelineLayout, TShaderProgram >::descriptor_layout_type = descriptor_set_layout_type::descriptor_layout_type |
using LiteFX::Rendering::RayTracingPipeline< TPipelineLayout, TShaderProgram >::descriptor_set_layout_type = base_type::pipeline_layout_type::descriptor_set_layout_type |
using LiteFX::Rendering::RayTracingPipeline< TPipelineLayout, TShaderProgram >::descriptor_set_type = descriptor_set_layout_type::descriptor_set_type |
using LiteFX::Rendering::RayTracingPipeline< TPipelineLayout, TShaderProgram >::image_type = descriptor_set_type::image_type |
using LiteFX::Rendering::RayTracingPipeline< TPipelineLayout, TShaderProgram >::sampler_type = descriptor_set_type::sampler_type |
|
protecteddefaultnoexcept |
|
protecteddefaultnoexcept |
|
protecteddefault |
|
overridedefaultnoexcept |
|
pure virtual |
|
protecteddefault |
|
protecteddefaultnoexcept |