{"repo":"CodyJasonBennett/three-rc","free":true,"listed":false,"github":"https://github.com/CodyJasonBennett/three-rc","clone":"git clone https://github.com/CodyJasonBennett/three-rc.git","description":"Implementation of Radiance Cascades GI in 3D using three.js and three-mesh-bvh.","language":"JavaScript","stars":76,"topics":["bvh","cascades","gi","global","illumination","radiance","rc","three-mesh-bvh","threejs","webgl"],"license":null,"category":"analytics","readme_excerpt":"three-rc An implementation of \"Radiance Cascades: A Novel Approach to Calculating Global Illumination\" [1] in 3D using screen-space probes and a BVH [2] . This algorithm captures any number of offscreen occluders or emitters and results in noise-free diffuse and specular global illumination without any temporal accumulation. Probe storage is fixed-cost and stored in a screen-sized texture. A novel upscaler by Alexander Sannikov [3] is used for depth-aware interpolation, which cannot be licensed. I have omitted a license here for this reason. Tracing can be made fixed-cost or scene-independent with a different tracing function, such as a screen-space raymarcher. Below, it uses the raymarcher from Tiny Glade [4] for fast and accurate tracing but no longer models offscreen occluders or emitters. Prefiltering and min/max probes can be added without much performance penalty to stabilize probes during camera motion while under high depth complexity. Future work would include a more robust TLAS and material lookup to scale to more complex scenes (poor Bistro below does not look up emissive triangles in the correct order). I did not want to spend time on a bespoke BVH implementation in WebGL due to its tight performance constraints and cross-platform bugs. Additionally, a short gather pass in screen-space can be performed for pixel-perfect contact effects without much added performance penalty and would allow aggressive upscaling (e.g., 16x) without much quality loss. [1]: https://dr","default_branch":null,"files":null,"tree":[],"storefront":"/r/CodyJasonBennett","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/CodyJasonBennett/three-rc/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}