#include <RayTracingAccelerationStructure.h>
Inherits AZ::RHI::MultiDeviceObject.
Public Member Functions | |
| AZ_CLASS_ALLOCATOR (RayTracingBlas, AZ::SystemAllocator, 0) | |
| AZ_RTTI (RayTracingBlas, "{D17E050F-ECC2-4C20-A073-F43008F2D168}", MultiDeviceObject) | |
| AZ_RHI_MULTI_DEVICE_OBJECT_GETTER (RayTracingBlas) | |
| ResultCode | CreateBuffers (MultiDevice::DeviceMask deviceMask, const RayTracingBlasDescriptor *descriptor, const RayTracingBufferPools &rayTracingBufferPools) |
| Creates the internal BLAS buffers from the descriptor. | |
| ResultCode | CreateCompactedBuffers (MultiDevice::DeviceMask deviceMask, const RayTracingBlas &sourceBlas, const AZStd::unordered_map< int, uint64_t > &compactedSizes, const RayTracingBufferPools &rayTracingBufferPools) |
| ResultCode | AddDevice (int deviceIndex, const RayTracingBufferPools &rayTracingBufferPools) |
| ResultCode | AddDeviceCompacted (int deviceIndex, const RayTracingBlas &sourceBlas, uint64_t compactedSize, const RayTracingBufferPools &rayTracingBufferPools) |
| void | RemoveDevice (int deviceIndex) |
| bool | IsValid () const |
| Returns true if the RayTracingBlas has been initialized. | |
Public Member Functions inherited from AZ::RHI::MultiDeviceObject | |
| AZ_RTTI (MultiDeviceObject, "{17D34F71-944C-4AF5-9823-627474C4C0A6}", Object) | |
| bool | IsInitialized () const |
| Returns whether the device object is initialized. | |
| AZ_FORCE_INLINE bool | IsDeviceSet (int deviceIndex) const |
| MultiDevice::DeviceMask | GetDeviceMask () const |
Public Member Functions inherited from AZ::RHI::Object | |
| AZ_RTTI (Object, "{E43378F1-2331-4173-94B8-990ED20E6003}") | |
| void | SetName (const Name &name) |
| Sets the name of the object. | |
| const Name & | GetName () const |
| Returns the name set on the object by SetName. | |
| uint32_t | use_count () |
| Returns the current use count of the object. | |
Additional Inherited Members | |
Static Public Member Functions inherited from AZ::RHI::MultiDeviceObject | |
| template<typename T > | |
| static AZ_FORCE_INLINE void | IterateDevices (MultiDevice::DeviceMask deviceMask, T callback) |
Protected Member Functions inherited from AZ::RHI::MultiDeviceObject | |
| void | Init (MultiDevice::DeviceMask deviceMask) |
| The derived class should call this method to assign the device. | |
| void | Shutdown () override |
| Clears the current bound device to null. | |
| template<typename T > | |
| AZ_FORCE_INLINE void | IterateDevices (T callback) |
| Helper method that will iterate over all selected devices and call the provided callback. | |
| template<typename T , typename U > | |
| AZ_FORCE_INLINE decltype(auto) | IterateObjects (U callback) |
| template<typename T , typename U > | |
| AZ_FORCE_INLINE decltype(auto) | IterateObjects (U callback) const |
| template<typename T > | |
| AZ_FORCE_INLINE Ptr< T > | GetDeviceObject (int deviceIndex) const |
Protected Member Functions inherited from AZ::RHI::Object | |
| void | add_ref () const |
| void | release () const |
Protected Attributes inherited from AZ::RHI::MultiDeviceObject | |
| AZStd::unordered_map< int, Ptr< DeviceObject > > | m_deviceObjects |
| A map of all device-specific objects, indexed by the device index. | |
Protected Attributes inherited from AZ::RHI::Object | |
| AZStd::atomic_int | m_useCount = 0 |
A RayTracingBlas is created from the information in the RayTracingBlasDescriptor.
| ResultCode AZ::RHI::RayTracingBlas::CreateCompactedBuffers | ( | MultiDevice::DeviceMask | deviceMask, |
| const RayTracingBlas & | sourceBlas, | ||
| const AZStd::unordered_map< int, uint64_t > & | compactedSizes, | ||
| const RayTracingBufferPools & | rayTracingBufferPools | ||
| ) |
Creates the internal BLAS buffers for the compacted version of the sourceBlas The compactedBufferSizes can be queried using a RayTracingCompactionQuery