Skip to content

greje656/Brunetons-Improved-Atmospheric-Scattering

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 

Repository files navigation

Brunetons-Improved-Atmospheric-Scattering

This is a fork from the Scrawk repo. It uses the exposed interface "IBeforeCameraRender" (available from Unity's Scriptable LightweightPipeline) to generate and bind the Bruneton resources required to light a scene. This is a work in progress and is fairly clunky to set up.

How to use:

  1. Import the Assets from this repository into a project
  2. Assign the BrunetonSkyboxMaterial as the Skybox Material
  3. Add a script compopnent to the main camera of your project and assign the BrunetonCameraScript to it
  4. Assign the Precomputation shader as the compute shader for the BrunetonCameraScript

To use the lookups to light the scene:

  1. Merge "Lighting.hlsl.txt" with "Lighweight RP\ShaderLibrary\Lighting.hlsl"
  2. Merge "LitForwardPass.hlsl.txt" with "Lighweight RP\Shaders\LitForwardPass.hlsl"

To tweak the Sky settings edit the BrunetonSkyboxMaterial properties:

  • Mie Scattering (Scattering caused by particles with size comparable to the wavelengths of visible light)
  • Rayleigh Scattering (Scattering caused by particles with sizemuch smaller than the wavelengths of visible light)
  • Ozone (Scattering caused by the particles in the ozone layer)
  • Phase (The Henyey-Greenstein phase function term)
  • Fog (Amount of fog)
  • Sun Size (Size of the sun)
  • Sun Edge (Size of the edge of the sun)

AtmosphericScatter0

AtmosphericScatter1

About

A Unity port of Brunetons improved atmospheric scattering

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 47.1%
  • HLSL 42.6%
  • GLSL 10.3%