gkjohnson / three-gpu-pathtracer

Path tracing renderer and utilities for three.js built on top of three-mesh-bvh.
https://gkjohnson.github.io/three-gpu-pathtracer/example/bundle/index.html
MIT License
1.27k stars 125 forks source link

Always use float buffers #621

Closed gkjohnson closed 2 months ago

gkjohnson commented 2 months ago

Related to #466

Possibly related to #468, #481

The pathtracer no longer performs harding rendering of linear interpolation on the primary float buffers so the filtering is changed to "NEAREST" which addresses situations where OES_texture_float_linear is not supported.

To address issues of hardware blending into float buffers (EXT_float_blend) we force manual blending of textures in a custom shader.

cc @robertoranon this changes some of the logic from #466 and hopefully ensures more consistent behavior across platforms. It would be great if you could make sure ios rendering still works.