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, size_t offset)
 Update blas instance and write to buffer.
void CoreGraphics::BlasInstanceUpdate (const BlasInstanceId id, CoreGraphics::BufferId buf, size_t 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.