A work-in-progress attempt for real-time box projected lighting with GI and reflections.
NOTE: Images are taken at high sample counts with animated noise, and TAA on.
This version computes just simple directional lighting from a cubemap shadow mask. It's a direct implementation of the effect from the ARM article.
This version is a little more advanced than the first.
It's an extension of the first version...
- We calculate direct lighting with a cubemap that represents the shadow mask. (just like the ARM article)
- Now in this version we calculate the first bounce from the direct lighting for GI.
For sampling, a cosine-weighted hemisphere oriented with the surface normal is used for better ray convergence.
This version is again, a little more advanced than the last.
It's an extension of the second version...
- We calculate direct lighting with a cubemap that represents the shadow mask. (just like the ARM article)
- We also calculate the first bounce from the direct lighting for GI just like in the second version.
- Now in this version we calculate a first bounce enviornment lighting term.
For sampling once again, a cosine-weighted hemisphere oriented with the surface normal is used for better ray convergence.
This version is again, a little more advanced than the last.
It's an extension of the third version...
- We calculate direct lighting with a cubemap that represents the shadow mask. (just like the ARM article)
- We calculate the first bounce from the direct lighting for GI just like in the second version.
- We also we calculate a first bounce enviornment lighting term just like in the third version.
- Now we calculate enviornment reflections according to PBR material parameters, with a fresnel term.
For sampling once again, a cosine-weighted hemisphere oriented with the surface normal is used for better ray convergence. For the reflections we use an importance sampled GGX function, once again for better ray convergence.
- Use Blue Noise for better convergence.
- Use existing Mip Maps to reduce sample counts.
- Precomputation for material BDRF for the reflection term.
- Other techniques if possible to create better ray convergence at lower sample counts.