Diligent Engine
 
Loading...
Searching...
No Matches
Diligent::RayTracingPipelineStateCreateInfo Struct Reference

Ray tracing pipeline state initialization information. More...

#include <PipelineState.h>

Inheritance diagram for Diligent::RayTracingPipelineStateCreateInfo:
Diligent::PipelineStateCreateInfo Diligent::PipelineStateCreateInfoX< RayTracingPipelineStateCreateInfoX, RayTracingPipelineStateCreateInfo > Diligent::RayTracingPipelineStateCreateInfoX

Public Attributes

RayTracingPipelineDesc RayTracingPipeline
 Ray tracing pipeline description.
 
const RayTracingGeneralShaderGrouppGeneralShaders = nullptr
 A pointer to an array of GeneralShaderCount RayTracingGeneralShaderGroup structures that contain shader group description.
 
Uint32 GeneralShaderCount = 0
 The number of general shader groups.
 
const RayTracingTriangleHitShaderGrouppTriangleHitShaders = nullptr
 
Uint32 TriangleHitShaderCount = 0
 The number of triangle hit shader groups.
 
const RayTracingProceduralHitShaderGrouppProceduralHitShaders = nullptr
 
Uint32 ProceduralHitShaderCount = 0
 The number of procedural shader groups.
 
const Char * pShaderRecordName = nullptr
 Shader record name.
 
Uint32 MaxAttributeSize = 0
 Direct3D12 only: the maximum hit shader attribute size in bytes.
 
Uint32 MaxPayloadSize = 0
 Direct3D12 only: the maximum payload size in bytes.
 
- Public Attributes inherited from Diligent::PipelineStateCreateInfo
PipelineStateDesc PSODesc
 Pipeline state description.
 
PSO_CREATE_FLAGS Flags = PSO_CREATE_FLAG_NONE
 Pipeline state creation flags, see Diligent::PSO_CREATE_FLAGS.
 
Uint32 ResourceSignaturesCount = 0
 The number of elements in ppResourceSignatures array.
 
IPipelineResourceSignature ** ppResourceSignatures = nullptr
 
IPipelineStateCachepPSOCache = nullptr
 
void * pInternalData = nullptr
 For internal use only. Must always be null.
 

Detailed Description

Ray tracing pipeline state initialization information.

Member Data Documentation

◆ MaxAttributeSize

Uint32 Diligent::RayTracingPipelineStateCreateInfo::MaxAttributeSize = 0

Direct3D12 only: the maximum hit shader attribute size in bytes.

If zero, the maximum allowed size will be used.

◆ MaxPayloadSize

Uint32 Diligent::RayTracingPipelineStateCreateInfo::MaxPayloadSize = 0

Direct3D12 only: the maximum payload size in bytes.

If zero, the maximum allowed size will be used.

◆ pProceduralHitShaders

const RayTracingProceduralHitShaderGroup* Diligent::RayTracingPipelineStateCreateInfo::pProceduralHitShaders = nullptr

A pointer to an array of ProceduralHitShaderCount RayTracingProceduralHitShaderGroup structures that contain shader group description. Can be null.

◆ pShaderRecordName

const Char* Diligent::RayTracingPipelineStateCreateInfo::pShaderRecordName = nullptr

Shader record name.

Direct3D12 only: the name of the constant buffer that will be used by the local root signature. Ignored if RayTracingPipelineDesc::ShaderRecordSize is zero.

  • In Vulkan backend in HLSL, add [[vk::shader_record_ext]] attribute to the constant buffer
  • In GLSL, add shaderRecord layout to buffer.

◆ pTriangleHitShaders

const RayTracingTriangleHitShaderGroup* Diligent::RayTracingPipelineStateCreateInfo::pTriangleHitShaders = nullptr

A pointer to an array of TriangleHitShaderCount RayTracingTriangleHitShaderGroup structures that contain shader group description. Can be null.