three-mesh-bvh
three-mesh-bvh copied to clipboard
A BVH implementation to speed up raycasting and enable spatial queries against three.js meshes.
**Shader TODO** - Need to track the hit distance in a separate stack - Need to either skip stack (or not add at all) if there was no hit (test...
**Improved bounds traversal on GPU** https://www.nvidia.com/docs/IO/76976/HPG2009-Trace-Efficiency.pdf **Fast BVH Updates / Refinements** https://dspace.cvut.cz/bitstream/handle/10467/15603/2013-Fast-Insertion-Based-Optimization-of-Bounding-Volume-Hierarchies.pdf **Spatiotemporal Path Tracing Filtering** https://cg.ivd.kit.edu/publications/2017/svgf/svgf_preprint.pdf From https://github.com/jan-van-bergen/GPU-Pathtracer ### Other **Disney BSDF** https://schuttejoe.github.io/post/disneybsdf/ **More GPU Traversal** https://research.nvidia.com/publication/2017-07_Efficient-Incoherent-Ray **More Papers...
For BVHs that take a long time to generate it could be best to generate them offline, download them, and apply them to the appropriate geometry. Use Cases: - Non...
With a _really_ complex mesh there may be benefit in performing per-triangle frustum culling or approximate per-triangle sorting to avoid overdraw. In the case of a transparent mesh you may...
Related to #198 Currently "GenerateMeshBVHWorker" cannot be exported because rollup (even with plugins) cannot export a UMD file with a worker in it.
The gpu path tracing demo exhibits a lot of artifacts on Pixel 3. Increasing the ray origin offset by the geometry normal improves the rendering but it's still a problem....
- store depth in the internal nodes so the parent of a node can be derived possibly (only 6-8 bits needed?) - store offset in internal nodes so the node...