HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RV_VKAccelerationStructure Class Reference

memory allocation More...

#include <RV_VKAccelerationStructure.h>

Public Member Functions

 RV_VKAccelerationStructure (RV_Instance *inst, RV_VKAccelerationStructureBuildInfo *as_info, VkAccelerationStructureKHR vk_as, RV_VKBufferPtr buffer)
 
 ~RV_VKAccelerationStructure ()
 
void setShaderInfoIndex (uint32_t index)
 
uint32_t getShaderInfoIndex () const
 
void setTag (int tag)
 
void setLightId (int light_id)
 
RV_AccelStructShaderInfo getShaderInfo () const
 
VkAccelerationStructureKHR getVkAccelStruct ()
 
exint getScratchSize () const
 
bool isBuilt () const
 
const RV_ResourceIDgetID () const
 
const UT_StringHoldergetName () const
 
exint getSize () const
 
VkDeviceAddress getDeviceAddress ()
 
void addInstance (RV_VKAccelerationStructureInstance as_inst)
 
void clearInstances ()
 
void getVkInstances (UT_Array< VkAccelerationStructureInstanceKHR > &as_insts)
 
void clearInstDirtyFlag ()
 
bool isInstDirty () const
 
void build (RV_VKCommandBuffer *cb, RV_VKBuffer *scratch_buffer)
 
void buildCompact (RV_VKCommandBuffer *cb, exint compact_size, VkAccelerationStructureKHR &compact_vk_as, RV_VKBufferPtr &compact_buffer)
 
void reset ()
 
void update (VkAccelerationStructureKHR compact_vk_as, RV_VKBufferPtr compact_buffer)
 
exint gpuMemoryUsage () const
 
void print () const
 

Static Public Member Functions

static
RV_VKAccelerationStructurePtr 
create (RV_Instance *inst, RV_VKAccelerationStructureBuildInfo *as_info, const UT_StringHolder &name=UT_StringHolder())
 

Static Public Attributes

static constexpr float theCompactSizeThreshold = 0.9f
 

Detailed Description

memory allocation

Definition at line 216 of file RV_VKAccelerationStructure.h.

Constructor & Destructor Documentation

RV_VKAccelerationStructure::RV_VKAccelerationStructure ( RV_Instance inst,
RV_VKAccelerationStructureBuildInfo as_info,
VkAccelerationStructureKHR  vk_as,
RV_VKBufferPtr  buffer 
)
RV_VKAccelerationStructure::~RV_VKAccelerationStructure ( )

Member Function Documentation

void RV_VKAccelerationStructure::addInstance ( RV_VKAccelerationStructureInstance  as_inst)
void RV_VKAccelerationStructure::build ( RV_VKCommandBuffer cb,
RV_VKBuffer scratch_buffer 
)
void RV_VKAccelerationStructure::buildCompact ( RV_VKCommandBuffer cb,
exint  compact_size,
VkAccelerationStructureKHR &  compact_vk_as,
RV_VKBufferPtr compact_buffer 
)
void RV_VKAccelerationStructure::clearInstances ( )
void RV_VKAccelerationStructure::clearInstDirtyFlag ( )
inline

Definition at line 265 of file RV_VKAccelerationStructure.h.

static RV_VKAccelerationStructurePtr RV_VKAccelerationStructure::create ( RV_Instance inst,
RV_VKAccelerationStructureBuildInfo as_info,
const UT_StringHolder name = UT_StringHolder() 
)
static
VkDeviceAddress RV_VKAccelerationStructure::getDeviceAddress ( )
const RV_ResourceID& RV_VKAccelerationStructure::getID ( ) const
inline

Definition at line 252 of file RV_VKAccelerationStructure.h.

const UT_StringHolder& RV_VKAccelerationStructure::getName ( ) const
inline

Definition at line 254 of file RV_VKAccelerationStructure.h.

exint RV_VKAccelerationStructure::getScratchSize ( ) const
inline

Definition at line 248 of file RV_VKAccelerationStructure.h.

RV_AccelStructShaderInfo RV_VKAccelerationStructure::getShaderInfo ( ) const
inline

Definition at line 244 of file RV_VKAccelerationStructure.h.

uint32_t RV_VKAccelerationStructure::getShaderInfoIndex ( ) const
inline

Definition at line 238 of file RV_VKAccelerationStructure.h.

exint RV_VKAccelerationStructure::getSize ( ) const
VkAccelerationStructureKHR RV_VKAccelerationStructure::getVkAccelStruct ( )
inline

Definition at line 246 of file RV_VKAccelerationStructure.h.

void RV_VKAccelerationStructure::getVkInstances ( UT_Array< VkAccelerationStructureInstanceKHR > &  as_insts)
exint RV_VKAccelerationStructure::gpuMemoryUsage ( ) const
bool RV_VKAccelerationStructure::isBuilt ( ) const
inline

Definition at line 250 of file RV_VKAccelerationStructure.h.

bool RV_VKAccelerationStructure::isInstDirty ( ) const
inline

Definition at line 267 of file RV_VKAccelerationStructure.h.

void RV_VKAccelerationStructure::print ( ) const
void RV_VKAccelerationStructure::reset ( )
void RV_VKAccelerationStructure::setLightId ( int  light_id)
inline

Definition at line 242 of file RV_VKAccelerationStructure.h.

void RV_VKAccelerationStructure::setShaderInfoIndex ( uint32_t  index)
inline

Definition at line 236 of file RV_VKAccelerationStructure.h.

void RV_VKAccelerationStructure::setTag ( int  tag)
inline

Definition at line 240 of file RV_VKAccelerationStructure.h.

void RV_VKAccelerationStructure::update ( VkAccelerationStructureKHR  compact_vk_as,
RV_VKBufferPtr  compact_buffer 
)

Member Data Documentation

constexpr float RV_VKAccelerationStructure::theCompactSizeThreshold = 0.9f
static

Definition at line 221 of file RV_VKAccelerationStructure.h.


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