Nebula
Loading...
Searching...
No Matches
accelerationstructure.h File Reference
#include "mesh.h"

Go to the source code of this file.

Classes

struct  CoreGraphics::BlasCreateInfo
 
struct  CoreGraphics::BlasId
 
struct  CoreGraphics::BlasInstanceId
 
struct  CoreGraphics::BlasInstanceCreateInfo
 
struct  CoreGraphics::TlasCreateInfo
 
struct  CoreGraphics::TlasId
 

Namespaces

namespace  CoreGraphics
 Acceleration structures are used to enable ray tracing on the GPU by dividing the scene into a BVH.
 

Enumerations

enum class  CoreGraphics::AccelerationStructureBuildFlags {
  CoreGraphics::FastBuild = 0x1 , CoreGraphics::FastTrace = 0x2 , CoreGraphics::Dynamic = 0x4 , CoreGraphics::Compact = 0x8 ,
  CoreGraphics::Small = 0x10
}
 
enum  CoreGraphics::BlasInstanceFlags {
  CoreGraphics::NoFlags = 0x0 , CoreGraphics::FaceCullingDisabled = 0x1 , CoreGraphics::InvertFace = 0x2 , CoreGraphics::ForceOpaque = 0x4 ,
  CoreGraphics::NoOpaque = 0x8
}
 

Functions

 CoreGraphics::__ImplementEnumBitOperators (AccelerationStructureBuildFlags)
 
 CoreGraphics::__ImplementEnumComparisonOperators (AccelerationStructureBuildFlags)
 
 CoreGraphics::_DECL_ACQUIRE_RELEASE (BlasId)
 
BlasId CoreGraphics::CreateBlas (const BlasCreateInfo &info)
 Create bottom level acceleration structure.
 
void CoreGraphics::DestroyBlas (const BlasId blac)
 Destroy bottom level acceleration structure.
 
 CoreGraphics::__ImplementEnumBitOperators (BlasInstanceFlags)
 
 CoreGraphics::_DECL_ACQUIRE_RELEASE (BlasInstanceId)
 
BlasInstanceId CoreGraphics::CreateBlasInstance (const BlasInstanceCreateInfo &info)
 Create an instance to a bottom level acceleration structure.
 
void CoreGraphics::DestroyBlasInstance (const BlasInstanceId id)
 Destroy blas instance.
 
void CoreGraphics::BlasInstanceUpdate (const BlasInstanceId id, const Math::mat4 &transform, CoreGraphics::BufferId buf, uint offset)
 Update blas instance and write to buffer.
 
void CoreGraphics::BlasInstanceUpdate (const BlasInstanceId id, CoreGraphics::BufferId buf, uint offset)
 Update blas instance and write to buffer.
 
void CoreGraphics::BlasInstanceSetMask (const BlasInstanceId id, uint mask)
 Set blas instance mask, setting it to 0x0 will disable it.
 
const SizeT CoreGraphics::BlasInstanceGetSize ()
 Get instance size (platform dependent)
 
TlasId CoreGraphics::CreateTlas (const TlasCreateInfo &info)
 Create top level acceleration structure.
 
void CoreGraphics::DestroyTlas (const TlasId tlas)
 Destroy top level acceleration structure.
 
void CoreGraphics::TlasInitBuild (const TlasId tlas)
 Initiate Tlas for build.
 
void CoreGraphics::TlasInitUpdate (const TlasId tlas)
 Initiate Tlas for update.