Yaay, it works! Smth like radiosity GI, but on voxels. In essence I spawn 4 surfels in corners of each visible face, and run real-time MC irradiance integration on them assuming diffuse materials.

A lot can be done to improve convergence, but it's already fun to play with 🤩

Typically in path tracing the N-th sample gets blended to the total sum with a factor of 1/N. I can't do this here because the scene can change, so I use a fixed factor. Larger factor means too much noise, smaller factor means slower convergence. Are there any alternatives?
@lisyarus An improvement is to tweak the fixed factor based on the variance overtime https://youtu.be/MyTOGHqyquU?t=2027
DD2018: Tomasz Stachowiak - Stochastic all the things: raytracing in hybrid real-time rendering

YouTube
@fclem Oh, this is great, thank you!

@lisyarus @fclem There's an MIT released version of the algorithm here: https://github.com/Apress/ray-tracing-gems/blob/master/Ch_25_Hybrid_Rendering_for_Real-Time_Ray_Tracing/MultiscaleMeanEstimator.hlsl

One of the best adaptive hysteresis solutions that I've tried. (I had an experimental one that used moments, but chose to go with the battle hardened one that's in use on variety of EA projects)

ray-tracing-gems/Ch_25_Hybrid_Rendering_for_Real-Time_Ray_Tracing/MultiscaleMeanEstimator.hlsl at master · Apress/ray-tracing-gems

Source Code for "Ray Tracing Gems: High-Quality and Real-Time Rendering with DXR and Other APIs" by Eric Haines and Tomas Akenine-Möller - Apress/ray-tracing-gems

GitHub