class ASManager

The Acceleration Structure manager used to update and build various rt acceleration structures.

File location: framework/cauldron/framework/inc/render/rtresources.h

Methods

Return type

Description

static ASManager*

ASManager instance creation function. Implemented per api/platform to return the correct internal resource type.

void

Update (CommandList * pCmdList) = 0
Updates all managed “ASInstance“ s and build the top level acceleration structure.

const TLAS *

GetTLAS () const
Returns the top level acceleration structure.

void

PushInstance ( const Mesh * pMesh, const Mat4 & transform, const BLAS * animatedBlas = nullptr )
Pushes a new “ASInstance“ for a “Mesh“ to the managed list of instances.

Detailed description

The Acceleration Structure manager used to update and build various rt acceleration structures.

Methods

CreateASManager

Copied!

static ASManager* CreateASManager ()

ASManager instance creation function. Implemented per api/platform to return the correct internal resource type.


Update

Copied!

virtual void Update (CommandList * pCmdList) = 0

Updates all managed ASInstance s and build the top level acceleration structure.


GetTLAS

Copied!

const TLAS * GetTLAS () const

Returns the top level acceleration structure.


PushInstance

Copied!

void PushInstance (
    const Mesh * pMesh,
    const Mat4 & transform,
    const BLAS * animatedBlas = nullptr
)

Pushes a new ASInstance for a Mesh to the managed list of instances.