#include <RayTracingAccelerationStructure.h>
Public Member Functions | |
const RayTracingTlasInstanceVector & | GetInstances () const |
RayTracingTlasInstanceVector & | GetInstances () |
const RHI::Ptr< RHI::Buffer > & | GetInstancesBuffer () const |
RHI::Ptr< RHI::Buffer > & | GetInstancesBuffer () |
uint32_t | GetNumInstancesInBuffer () const |
RayTracingTlasDescriptor * | Build () |
RayTracingTlasDescriptor * | Instance () |
RayTracingTlasDescriptor * | InstanceID (uint32_t instanceID) |
RayTracingTlasDescriptor * | HitGroupIndex (uint32_t hitGroupIndex) |
RayTracingTlasDescriptor * | Transform (const AZ::Transform &transform) |
RayTracingTlasDescriptor * | NonUniformScale (const AZ::Vector3 &nonUniformScale) |
RayTracingTlasDescriptor * | Transparent (bool transparent) |
RayTracingTlasDescriptor * | Blas (const RHI::Ptr< RHI::RayTracingBlas > &blas) |
RayTracingTlasDescriptor * | InstancesBuffer (const RHI::Ptr< RHI::Buffer > &tlasInstances) |
RayTracingTlasDescriptor * | NumInstances (uint32_t numInstancesInBuffer) |
The Build() operation in the descriptor allows the TLAS to be initialized using the following pattern:
RHI::RayTracingTlasDescriptor descriptor; descriptor.Build() ->Instance() ->InstanceID(0) ->HitGroupIndex(0) ->Blas(blas1) ->Transform(transform1) ->Instance() ->InstanceID(1) ->HitGroupIndex(1) ->Blas(blas2) ->Transform(transform2) ;