A reference to a BLAS maintained by the TLAS.
More...
#include <foray_blasinstance.hpp>
|
using | TransformUpdateFunc = std::function< void(glm::mat4 &)> |
| Function template used for updating the transform matrix of animated instances.
|
|
|
static void | TranslateTransformMatrix (const glm::mat4 &in, VkTransformMatrixKHR &out) |
| Translates glms column major 4x4 matrix to the row major 4x3 matrix type VkTransformMatrixKHR.
|
|
A reference to a BLAS maintained by the TLAS.
◆ TransformUpdateFunc
Function template used for updating the transform matrix of animated instances.
◆ BlasInstance() [1/3]
foray::as::BlasInstance::BlasInstance |
( |
| ) |
|
|
inline |
◆ BlasInstance() [2/3]
foray::as::BlasInstance::BlasInstance |
( |
uint64_t |
instanceId, |
|
|
const Blas * |
blas, |
|
|
TransformUpdateFunc |
getUpdatedGlobalTransformFunc |
|
) |
| |
◆ BlasInstance() [3/3]
foray::as::BlasInstance::BlasInstance |
( |
uint64_t |
instanceId, |
|
|
const Blas * |
blas, |
|
|
const glm::mat4 & |
globalTransform |
|
) |
| |
◆ AddGeometryInstanceFlag()
BlasInstance & foray::as::BlasInstance::AddGeometryInstanceFlag |
( |
VkGeometryFlagBitsKHR |
flag | ) |
|
|
inline |
◆ GetGeometryInstanceFlags()
VkGeometryInstanceFlagsKHR foray::as::BlasInstance::GetGeometryInstanceFlags |
( |
| ) |
const |
|
inline |
◆ IsAnimated()
bool foray::as::BlasInstance::IsAnimated |
( |
| ) |
const |
|
inline |
◆ SetGeometryInstanceFlags()
BlasInstance & foray::as::BlasInstance::SetGeometryInstanceFlags |
( |
VkGeometryFlagsKHR |
flags | ) |
|
|
inline |
◆ SetGeometryMetaOffset()
void foray::as::BlasInstance::SetGeometryMetaOffset |
( |
uint32_t |
offset | ) |
|
◆ SetShaderBindingTableOffset()
void foray::as::BlasInstance::SetShaderBindingTableOffset |
( |
uint32_t |
offset | ) |
|
Set the offset for shader binding table.
◆ TranslateTransformMatrix()
static void foray::as::BlasInstance::TranslateTransformMatrix |
( |
const glm::mat4 & |
in, |
|
|
VkTransformMatrixKHR & |
out |
|
) |
| |
|
static |
Translates glms column major 4x4 matrix to the row major 4x3 matrix type VkTransformMatrixKHR.
◆ Update()
void foray::as::BlasInstance::Update |
( |
| ) |
|
Updates the transform by fetching a new matrix.
◆ mAsInstance
VkAccelerationStructureInstanceKHR foray::as::BlasInstance::mAsInstance = {} |
|
protected |
Vulkans instance struct, contains the actual reference to the BLAS, the transform and the custom index (used to offset into GeometryMetaBuffer)
◆ mBlas
const Blas* foray::as::BlasInstance::mBlas |
|
protected |
◆ mGetUpdatedGlobalTransformFunc
Function used to update transform (if animated, nullptr otherwise)
◆ mInstanceId
uint64_t foray::as::BlasInstance::mInstanceId = 0UL |
|
protected |
The documentation for this class was generated from the following file: