Lecture 09: Acceleration structures

Computer graphics in Game development

Ivan Belyavtsev

5.02.2021

Bounding volume

From: https://flylib.com/books/en/2.124.1.130/1/

Axis-aligned bounding boxes (AABB)

From: https://3dengine.org/Bounding_volume/

AABB intersection algorithm

float3 invRaydir = float3(1.0) / ray.direction;
float3 t0 = (aabb_max - ray.position) * invRaydir;
float3 t1 = (aabb_min - ray.position) * invRaydir;
float3 tmin = min(t0, t1);
float3 tmax = max(t0, t1);
return maxelem(tmin) <= minelem(tmax);

[1]

Bounding volume hierarchy

  • Top-level acceleration structures (TLAS)
  • Bottom-level acceleration structures (BLAS)
From: [2]

Lab: Axis-aligned bounding boxes

References

1.
McGuire M. The graphics codex. 2.14 ed. Casual Effects, 2018.
2.
Lefrançois M.-K., Gautron P. DX12 raytracing tutorial - part 2 [Electronic resource]. URL: https://developer.nvidia.com/rtx/raytracing/dxr/DX12-Raytracing-tutorial-Part-2.
// reveal.js plugins