raytracing renderer option
As a user I want an option for high quality rendering in the browser with realistic lighting, shadows, reflection, ambient occlusion, etc.
One potential solution is to use an "off the shelf" web-based raytracer.
open source options
- https://github.com/gkjohnson/three-gpu-pathtracer
- https://github.com/erichlof/THREE.js-PathTracing-Renderer
closed source options
- https://lgltracer.com/docs/index.html#/
example of gkjohnson with 3dstreet exported gltf in glitch:
- https://raytrace-3dstreet-scene.glitch.me/
options for integration:
- separate page with alternate renderer option
- load "live" with three.js as an alternate renderer that can be switched back and forth
- iframe of the separate page with alternate renderer option. See this SO ticket about how to pass large file across to the iframe: https://stackoverflow.com/questions/58498936/creating-iframe-with-datauri-fails-for-large-files-any-workaround
Alternate approach SSAO, example library: https://github.com/N8python/n8ao
Another approach, progressive shadow map: https://threejs.org/examples/?q=shadow#webgl_shadowmap_progressive
For pathtracer you will need this change https://github.com/aframevr/aframe-inspector/pull/735