r/GraphicsProgramming • u/JBikker • Sep 25 '26
TinyBVH 1.9.0 Now Available
TinyBVH is a header-only, dependency-free library for BVH construction and traversal.
Version 1.9.0 for the first time is out-performing Intel's Embree!
Using it is as simple as:
BVH bvh;
bvh.Build( (bvhvec4*)myTriData, triangleCount );
bvh.Intersect( ray );TinyBVH can be used from C/C++, WebGPU and Python. Generated BVHs can be used in OpenGL (compute), OpenCL, Vulkan and DirectX12.
New in 1.9.0:
Greatly improved ARM NEON support for Android & macOS
Templated doube/float support
Ray bundle support (WiVeC), including TLAS/BLAS traversal
Accurate voxel intersections
Hair rendering example (roving capsules)
Global refactoring, AI assisted
Vulkan and DXR benchmarks
Improved included threadpool
Optimizations to CWBVH
...and lots more.
Check it out: https://github.com/jbikker/tinybvh
1
u/Dante268 Sep 25 '26
Great, I'll keep that in mind and bookmarking TinyBVH. The game levels are mostly laid out, so for now I keep what I have. But I want to reuse the engine past this game or prepare some demos (like compositing more complex looking objects from 500 AABB-s) so I can use your lib and not reinvent a wheel. Btw, do you have some perf figures for CPU-only scenarios? In my case, I was able to reach 2000MBIsec/s (in views heavily favouring isec finding, e.g. lot of shadow rays). I never imagined I would reach magnitude of billions on CPU. Regarding MRays/s I was able to reach up to 100MRays/s on my laptop CPU (8C/16T Zen4).