#include <RayTracingShaderTable.h>
Public Member Functions | |
const RHI::Ptr< RayTracingPipelineState > & | GetPipelineState () const |
const RayTracingShaderTableRecordList & | GetRayGenerationRecord () const |
RayTracingShaderTableRecordList & | GetRayGenerationRecord () |
const RayTracingShaderTableRecordList & | GetMissRecords () const |
RayTracingShaderTableRecordList & | GetMissRecords () |
const RayTracingShaderTableRecordList & | GetCallableRecords () const |
RayTracingShaderTableRecordList & | GetCallableRecords () |
const RayTracingShaderTableRecordList & | GetHitGroupRecords () const |
RayTracingShaderTableRecordList & | GetHitGroupRecords () |
void | RemoveHitGroupRecords (uint32_t key) |
RayTracingShaderTableDescriptor * | Build (const AZ::Name &name, const RHI::Ptr< RayTracingPipelineState > &rayTracingPipelineState) |
RayTracingShaderTableDescriptor * | RayGenerationRecord (const AZ::Name &name) |
RayTracingShaderTableDescriptor * | MissRecord (const AZ::Name &name) |
RayTracingShaderTableDescriptor * | CallableRecord (const AZ::Name &name) |
RayTracingShaderTableDescriptor * | HitGroupRecord (const AZ::Name &name, uint32_t key=RayTracingShaderTableRecord::InvalidKey) |
RayTracingShaderTableDescriptor * | ShaderResourceGroup (const RHI::ShaderResourceGroup *shaderResourceGroup) |
RayTracingShaderTableDescriptor
The Build() operation in the descriptor allows the shader table to be initialized using the following pattern:
RHI::RayTracingShaderTableDescriptor descriptor; descriptor.Build(AZ::Name("RayTracingExampleShaderTable"), m_rayTracingPipelineState) ->RayGenerationRecord(AZ::Name("RayGenerationShader")) ->MissRecord(AZ::Name("MissShader")) ->ShaderResourceGroup(missSrg) ->HitGroupRecord(AZ::Name("HitGroup1")) ->ShaderResourceGroup(hitGroupSrg1) ->HitGroupRecord(AZ::Name("HitGroup2")) ->ShaderResourceGroup(hitGroupSrg2) ;