#include <RayTracingPipelineState.h>
Public Member Functions | |
const RayTracingConfiguration & | GetConfiguration () const |
RayTracingConfiguration & | GetConfiguration () |
const RHI::PipelineState * | GetPipelineState () const |
const RayTracingShaderLibraryVector & | GetShaderLibraries () const |
RayTracingShaderLibraryVector & | GetShaderLibraries () |
const RayTracingHitGroupVector & | GetHitGroups () const |
RayTracingHitGroupVector & | GetHitGroups () |
RayTracingPipelineStateDescriptor * | Build () |
RayTracingPipelineStateDescriptor * | MaxPayloadSize (uint32_t maxPayloadSize) |
RayTracingPipelineStateDescriptor * | MaxAttributeSize (uint32_t maxAttributeSize) |
RayTracingPipelineStateDescriptor * | MaxRecursionDepth (uint32_t maxRecursionDepth) |
RayTracingPipelineStateDescriptor * | PipelineState (const RHI::PipelineState *pipelineState) |
RayTracingPipelineStateDescriptor * | ShaderLibrary (RHI::PipelineStateDescriptorForRayTracing &descriptor) |
RayTracingPipelineStateDescriptor * | RayGenerationShaderName (const AZ::Name &name) |
RayTracingPipelineStateDescriptor * | MissShaderName (const AZ::Name &name) |
RayTracingPipelineStateDescriptor * | CallableShaderName (const AZ::Name &callableShaderName) |
RayTracingPipelineStateDescriptor * | ClosestHitShaderName (const AZ::Name &closestHitShaderName) |
RayTracingPipelineStateDescriptor * | AnyHitShaderName (const AZ::Name &anyHitShaderName) |
RayTracingPipelineStateDescriptor * | HitGroup (const AZ::Name &name) |
RayTracingPipelineStateDescriptor
The Build() operation in the descriptor allows the pipeline state to be initialized using the following pattern:
RHI::RayTracingPipelineStateDescriptor descriptor; descriptor.Build() ->ShaderLibrary(shaderDescriptor) ->RayGenerationShaderName(AZ::Name("RayGenerationShader")) ->ShaderLibrary(missShaderDescriptor) ->MissShaderName(AZ::Name("MissShader")) ->ShaderLibrary(closestHitShader1Descriptor) ->ClosestHitShaderName(AZ::Name("ClosestHitShader1")) ->ShaderLibrary(closestHitShader2Descriptor) ->ClosestHitShaderName(AZ::Name("ClosestHitShader2")) ->HitGroup(AZ::Name("HitGroup1")) ->ClosestHitShaderName(AZ::Name("ClosestHitShader1")) ->HitGroup(AZ::Name("HitGroup2")) ->ClosestHitShaderName(AZ::Name("ClosestHitShader2")) ;