aaPhysicalSky is a shader for Solid Angle’s Arnold Renderer. The shader implements the classic paper by Preetham/Shirley et. al on a skylight model,┬átitled “A Practical Analytic Model for Daylight“, which has formed the basis of physically based sun and sky shaders in other renderers such as mental ray, Vray, Modo etc.

The following has been implemented

  • Perez sky model
  • CIE Overcast sky model
  • Aerial Perspective for Mie and Rayleigh scattering effects, using a volume shader
  • Physically-based sun light intensity, as a light filter
  • Wavelengths integrated from 380nm to 750nm at 10nm intervals, using CIE 10-degree observer luminance functions
  • All resulting units in Candelas per square meter

The shader goes beyond the initial prototype set out by the authors of the paper and provides features that are often required by artists, and has been extensively used in productions where a daylight sky model is required. The code has also been optimized via profiling, threading and some SSE2 for the Spectrum class to provide a nice speed increase for per sample evaluation.

Full documentation, source code and download location is available on Solid Angle’s Trac site for SItoA

*Terrain displacement map provided by Simon van de Lagemaat from The Embassy VFX during beta testing of this shader