Skip to content

frostbone25/Unity-Box-Projected-Lighting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unity-Box-Projected-Lighting

A work-in-progress attempt for real-time box projected lighting with GI and reflections.

v4.png

NOTE: Images are taken at high sample counts with animated noise, and TAA on.

Version 1

This version computes just simple directional lighting from a cubemap shadow mask. It's a direct implementation of the effect from the ARM article.

v1.png

Version 2

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.

v2.png

Version 3

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.

v3.png

Version 4

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.

v4.png

TODO

  • 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.

References

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published