XII Release 0.1.0
Loading...
Searching...
No Matches
xiiGALTopLevelAS Class Referenceabstract

Interface that defines methods to manipulate a top level acceleration structure (TLAS) object. More...

#include <TopLevelAS.h>

Inheritance diagram for xiiGALTopLevelAS:
[legend]

Public Member Functions

XII_ALWAYS_INLINE const xiiGALTopLevelASCreationDescriptionGetDescription () const
 This returns the creation description for this object.
 
virtual xiiGALTopLevelASInstanceDescription GetInstanceDescription (xiiStringView sName) const =0
 This returns the instance description that can be used in the shader binding table.
 
virtual xiiGALTopLevelASBuildDescription GetBuildDescription () const =0
 This returns the top level acceleration structure state after the last build or update operation.
 
virtual xiiGALScratchBufferSizeDescription GetScratchBufferSizeDescription () const =0
 This returns the scratch buffer information for the current acceleration structure.
 
- Public Member Functions inherited from xiiGALResource
virtual void SetResourceState (xiiBitflags< xiiGALResourceStateFlags > stateFlags)
 This sets the buffer usage state.
 
virtual XII_ALWAYS_INLINE xiiBitflags< xiiGALResourceStateFlagsGetResourceState () const
 This returns the buffer state.
 
XII_ALWAYS_INLINE bool IsInKnownState () const
 This returns true if the resource is in known state by the engine.
 
XII_ALWAYS_INLINE bool CheckState (xiiBitflags< xiiGALResourceStateFlags > resourceState) const
 This returns true if the given resource state is set.
 
XII_ALWAYS_INLINE bool CheckAnyState (xiiBitflags< xiiGALResourceStateFlags > resourceState) const
 This returns true if any of the given resource state are set.
 
- Public Member Functions inherited from xiiGALDeviceObject
XII_ALWAYS_INLINE xiiSharedPtr< xiiGALDeviceGetDevice () const
 Returns the xiiGALDevice that created this resource.
 
- Public Member Functions inherited from xiiGALObject
XII_ALWAYS_INLINE xiiStringView GetDebugName () const
 Returns the debug name of this resource.
 
void SetDebugName (xiiStringView sDebugName) const
 Sets the debug name for this resource.
 
- Public Member Functions inherited from xiiReflectedClass
virtual const xiiRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const xiiRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T>
XII_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 
- Public Member Functions inherited from xiiRefCounted
virtual ~xiiRefCounted ()=default
 Adds a virtual destructor.
 
- Public Member Functions inherited from xiiRefCountingImpl
 xiiRefCountingImpl ()=default
 Constructor.
 
 xiiRefCountingImpl (const xiiRefCountingImpl &rhs)
 
void operator= (const xiiRefCountingImpl &rhs)
 
xiiUInt32 AddRef () const
 Increments the reference counter. Returns the new reference count.
 
xiiUInt32 ReleaseRef () const
 Decrements the reference counter. Returns the new reference count.
 
bool IsReferenced () const
 Returns true if the reference count is greater than 0, false otherwise.
 
xiiUInt32 GetRefCount () const
 Returns the current reference count.
 

Protected Member Functions

 xiiGALTopLevelAS (xiiSharedPtr< xiiGALDevice > pDevice, const xiiGALTopLevelASCreationDescription &creationDescription)
 
virtual xiiResult InitPlatform ()=0
 
- Protected Member Functions inherited from xiiGALResource
 xiiGALResource (xiiSharedPtr< xiiGALDevice > pDevice)
 
- Protected Member Functions inherited from xiiGALDeviceObject
 xiiGALDeviceObject (xiiSharedPtr< xiiGALDevice > pDevice)
 
- Protected Member Functions inherited from xiiGALObject
virtual XII_ALWAYS_INLINE void SetDebugNamePlatform (xiiStringView sName) const
 

Protected Attributes

xiiGALTopLevelASCreationDescription m_Description
 
- Protected Attributes inherited from xiiGALResource
xiiBitflags< xiiGALResourceStateFlagsm_ResourceState
 
- Protected Attributes inherited from xiiGALDeviceObject
xiiSharedPtr< xiiGALDevicem_pDevice
 

Friends

class xiiGALDevice
 
class xiiMemoryUtils
 

Additional Inherited Members

- Static Public Member Functions inherited from xiiNoBase
static const xiiRTTIGetStaticRTTI ()
 

Detailed Description

Interface that defines methods to manipulate a top level acceleration structure (TLAS) object.

Member Function Documentation

◆ GetBuildDescription()

virtual xiiGALTopLevelASBuildDescription xiiGALTopLevelAS::GetBuildDescription ( ) const
nodiscardpure virtual

This returns the top level acceleration structure state after the last build or update operation.

Returns
The top level acceleration structure build description, see xiiGALTopLevelASBuildDescription.
Note
Access to the top level acceleration structure must be externally synchronized.

Implemented in xiiGALTopLevelASVulkan.

◆ GetInstanceDescription()

virtual xiiGALTopLevelASInstanceDescription xiiGALTopLevelAS::GetInstanceDescription ( xiiStringView sName) const
nodiscardpure virtual

This returns the instance description that can be used in the shader binding table.

Parameters
sName- The instance name that is specified in the xiiGALTLASBuildInstanceData.
Returns
The top level acceleration structure instance description, see xiiGALTopLevelASInstanceDescription. If the instance does not exist, then the contribution to hit group index and instance index are set to xiiInvalidIndex.
Note
Access to the top level acceleration structure must be externally synchronized.

Implemented in xiiGALTopLevelASVulkan.

◆ GetScratchBufferSizeDescription()

virtual xiiGALScratchBufferSizeDescription xiiGALTopLevelAS::GetScratchBufferSizeDescription ( ) const
nodiscardpure virtual

This returns the scratch buffer information for the current acceleration structure.

Returns
The scratch buffer size description, see xiiGALScratchBufferSizeDescription.

Implemented in xiiGALTopLevelASVulkan.


The documentation for this class was generated from the following files: