Code
index types enum
Definition indextype.h:22
Defines a group of primitives as a subset of a vertex buffer and index buffer plus the primitive topo...
Definition primitivegroup.h:20
Format
component format
Definition vertexcomponent.h:25
#define _DECL_ACQUIRE_RELEASE(ty)
Definition idallocator.h:88
#define ID_24_8_TYPE(x)
Definition id.h:132
Acceleration structures are used to enable ray tracing on the GPU by dividing the scene into a BVH.
Definition accelerationstructure.h:24
const SizeT BlasInstanceGetSize()
Get instance size (platform dependent)
Definition vkaccelerationstructure.cc:361
BlasInstanceId CreateBlasInstance(const BlasInstanceCreateInfo &info)
Create an instance to a bottom level acceleration structure.
Definition vkaccelerationstructure.cc:269
TlasId CreateTlas(const TlasCreateInfo &info)
Create top level acceleration structure.
Definition vkaccelerationstructure.cc:370
AccelerationStructureBuildFlags
Definition accelerationstructure.h:27
@ Small
Definition accelerationstructure.h:32
@ FastBuild
Definition accelerationstructure.h:28
@ Dynamic
Definition accelerationstructure.h:30
@ Compact
Definition accelerationstructure.h:31
@ FastTrace
Definition accelerationstructure.h:29
void DestroyBlasInstance(const BlasInstanceId id)
Destroy blas instance.
Definition vkaccelerationstructure.cc:315
void BlasInstanceUpdate(const BlasInstanceId id, const Math::mat4 &transform, CoreGraphics::BufferId buf, uint offset)
Update blas instance and write to buffer.
Definition vkaccelerationstructure.cc:326
BlasInstanceFlags
Definition accelerationstructure.h:57
@ ForceOpaque
Definition accelerationstructure.h:61
@ NoOpaque
Definition accelerationstructure.h:62
@ InvertFace
Definition accelerationstructure.h:60
@ NoFlags
Definition accelerationstructure.h:58
@ FaceCullingDisabled
Definition accelerationstructure.h:59
void TlasInitUpdate(const TlasId tlas)
Initiate Tlas for update.
Definition vkaccelerationstructure.cc:542
BlasId CreateBlas(const BlasCreateInfo &info)
Create bottom level acceleration structure.
Definition vkaccelerationstructure.cc:124
void DestroyBlas(const BlasId blac)
Destroy bottom level acceleration structure.
Definition vkaccelerationstructure.cc:257
void DestroyTlas(const TlasId tlas)
Destroy top level acceleration structure.
Definition vkaccelerationstructure.cc:518
void BlasInstanceSetMask(const BlasInstanceId id, uint mask)
Set blas instance mask, setting it to 0x0 will disable it.
Definition vkaccelerationstructure.cc:351
void TlasInitBuild(const TlasId tlas)
Initiate Tlas for build.
Definition vkaccelerationstructure.cc:531
#define __ImplementEnumComparisonOperators(type)
#define __ImplementEnumBitOperators(type)
Definition accelerationstructure.h:38
CoreGraphics::BufferId ibo
Definition accelerationstructure.h:39
uint64 vertexOffset
Definition accelerationstructure.h:43
uint64 indexOffset
Definition accelerationstructure.h:43
CoreGraphics::IndexType::Code indexType
Definition accelerationstructure.h:40
uint64 stride
Definition accelerationstructure.h:42
CoreGraphics::VertexComponent::Format positionsFormat
Definition accelerationstructure.h:41
CoreGraphics::PrimitiveGroup primGroup
Definition accelerationstructure.h:44
AccelerationStructureBuildFlags flags
Definition accelerationstructure.h:45
CoreGraphics::BufferId vbo
Definition accelerationstructure.h:39
Definition accelerationstructure.h:48
Definition accelerationstructure.h:69
uchar mask
Definition accelerationstructure.h:73
uint shaderOffset
Definition accelerationstructure.h:74
uint instanceIndex
Definition accelerationstructure.h:72
BlasInstanceFlags flags
Definition accelerationstructure.h:75
Math::mat4 transform
Definition accelerationstructure.h:71
CoreGraphics::BlasId blas
Definition accelerationstructure.h:70
Definition accelerationstructure.h:66
Definition accelerationstructure.h:92
CoreGraphics::BufferId instanceBuffer
Definition accelerationstructure.h:94
SizeT numInstances
Definition accelerationstructure.h:93
AccelerationStructureBuildFlags flags
Definition accelerationstructure.h:95
Definition accelerationstructure.h:98
A 4x4 single point precision float matrix.
Definition mat4.h:49
unsigned char uchar
Definition types.h:33
int SizeT
Definition types.h:49
unsigned int uint
Definition types.h:31
uint64_t uint64
Definition types.h:36