three-mesh-bvh icon indicating copy to clipboard operation
three-mesh-bvh copied to clipboard

Shader Performance Improvement Options

Open gkjohnson opened this issue 3 years ago • 1 comments

  • Require that a BVH have at most 1 triangle per bound which removes an internal for loop
    • Fix build logic so the BVH is arbitrarily split into individual triangles until the leaves if no split is found.
  • Improved triangle intersect functions
  • Improve bounds intersect functions
  • Improved bounds traversal logic
  • #346
  • #332
    • https://www.nvidia.com/docs/IO/76976/HPG2009-Trace-Efficiency.pdf
    • https://research.nvidia.com/publication/2017-07_Efficient-Incoherent-Ray

Other

  • ~Unpack vertex buffers so no index buffer sample is needed?~
    • too complicated, hopefully unnecessary

gkjohnson avatar Oct 29 '21 18:10 gkjohnson

"QBVH" seems to be a popular choice for GPU-based path tracers.

  • https://hb3p8.github.io/papers/QBVH_gtc_2016.pdf
  • https://www.uni-ulm.de/fileadmin/website_uni_ulm/iui.inst.100/institut/Papers/QBVH.pdf

gkjohnson avatar Jan 12 '22 07:01 gkjohnson