Diligent Engine
 
Loading...
Searching...
No Matches
Diligent::TopLevelASBase< EngineImplTraits > Class Template Reference

Template class implementing base functionality of the top-level acceleration structure object. More...

#include <TopLevelASBase.hpp>

Inheritance diagram for Diligent::TopLevelASBase< EngineImplTraits >:
Diligent::DeviceObjectBase< EngineImplTraits::TopLevelASInterface, EngineImplTraits::RenderDeviceImplType, TopLevelASDesc > Diligent::ObjectBase< EngineImplTraits::TopLevelASInterface > Diligent::RefCountedObject< EngineImplTraits::TopLevelASInterface >

Public Member Functions

 TopLevelASBase (IReferenceCounters *pRefCounters, RenderDeviceImplType *pDevice, const TopLevelASDesc &Desc, bool bIsDeviceInternal=false)
 
virtual TLASInstanceDesc DILIGENT_CALL_TYPE GetInstanceDesc (const char *Name) const override final
 Implementation of ITopLevelAS::GetInstanceDesc().
 
virtual TLASBuildInfo DILIGENT_CALL_TYPE GetBuildInfo () const override final
 Implementation of ITopLevelAS::GetBuildInfo().
 
virtual void DILIGENT_CALL_TYPE SetState (RESOURCE_STATE State) override final
 Implementation of ITopLevelAS::SetState().
 
virtual RESOURCE_STATE DILIGENT_CALL_TYPE GetState () const override final
 Implementation of ITopLevelAS::GetState().
 
virtual ScratchBufferSizes DILIGENT_CALL_TYPE GetScratchBufferSizes () const override final
 Implementation of ITopLevelAS::GetScratchBufferSizes().
 
- Public Member Functions inherited from Diligent::DeviceObjectBase< EngineImplTraits::TopLevelASInterface, EngineImplTraits::RenderDeviceImplType, TopLevelASDesc >
 DeviceObjectBase (IReferenceCounters *pRefCounters, RenderDeviceImplType *pDevice, const TopLevelASDesc &ObjDesc, bool bIsDeviceInternal=false)
 
virtual Int32 DILIGENT_CALL_TYPE GetUniqueID () const override final
 Returns unique identifier.
 
virtual void DILIGENT_CALL_TYPE SetUserData (IObject *pUserData) override final
 Implementation of IDeviceObject::SetUserData.
 
virtual IObject *DILIGENT_CALL_TYPE GetUserData () const override final
 Implementation of IDeviceObject::GetUserData.
 

Additional Inherited Members

- Protected Attributes inherited from Diligent::DeviceObjectBase< EngineImplTraits::TopLevelASInterface, EngineImplTraits::RenderDeviceImplType, TopLevelASDesc >
RenderDeviceImplType *const m_pDevice
 Pointer to the device.
 
TopLevelASDesc m_Desc
 Object description.
 

Detailed Description

template<typename EngineImplTraits>
class Diligent::TopLevelASBase< EngineImplTraits >

Template class implementing base functionality of the top-level acceleration structure object.

Template Parameters
EngineImplTraits- Engine implementation type traits.

Constructor & Destructor Documentation

◆ TopLevelASBase()

template<typename EngineImplTraits>
Diligent::TopLevelASBase< EngineImplTraits >::TopLevelASBase ( IReferenceCounters * pRefCounters,
RenderDeviceImplType * pDevice,
const TopLevelASDesc & Desc,
bool bIsDeviceInternal = false )
inline
Parameters
pRefCounters- Reference counters object that controls the lifetime of this TLAS.
pDevice- Pointer to the device.
Desc- TLAS description.
bIsDeviceInternal- Flag indicating if the TLAS is an internal device object and must not keep a strong reference to the device.