A Realistic, Generic Earth/Atmosphere Model - CS348B Final Project
Author
Dick Brouwer
Overview
Rendering scenes, especially outdoors, generally involves using manually created environment maps or other 'hacks' to realistically render skylight. Especially for twilight scenes with very diverse lightning conditions no suitable tools are available (to my knowledge). I want to create a generic model for rendering a realistic sky for a given position on the earth, season, time of day and atmosphere condition (e.g. foggy, polluted etc.). Developing a flexible model would eliminate the use for many of us to re-create the effects of outdoor lighting. If my model turns out to be very computational intensive, it could at least be used to pre-process realistic environment maps to be re-used in renderings.
To accurately render skylights many atmospheric effects have to be taken into account, inluding:
- solar irradiance spectrum and its absorption in the ozone layer,
- wavelength-dependent refraction of direct sunlight in the atmosphere,
- climate-dependent composition and size distribution of aerosols / dust particles,
- height-dependent air, humidity, and aerosol density,
- Rayleigh scattering (air molecules) and Mie scattering (aerosols),
- radiative transfer (multiple scattering), as well as
- the shadow of the Earth.
While there have been many attemps to take some of these effects into account, not many have tried to do all. 2 papers i) Jorg Haber, Marcus Magnor and Hans-Pieter Seidel: "Physically Based Simulation of Twilight Phenomena" and "Realistic Solar Disc Rendering" by Andrei Lintu, Jorg Haber and Marcus Magnor present a generic approach to tackle these issues and provide a strong basis for me to build off from.
Example images of beautifull skylights are plentifull of course. Here are some examples of the images I would like to reproduce:
Upload new attachment "sunset_water.jpg"
Approach
Step 1: Sun/Earth Positioning
As a first step I need to model the sun's position relative to the earth given certain input parameters. Because this calculation does not need to be dead-on accurate I can make some simplifying assumptions like using a spherical earth. This should make these calculations fairly straighforward. My input parameters would be: "Time-of-day", "Position on Earth (latitude/longitude)" and "Day-of-year (seasonal dependence)".
Next to calculating the position of the sun I need to collect data on atmospheric conditions. Some I will asume fixed (e.g. athmosphere temperature layers etc.) and others will be parameterized like humidity and aerosol distribution.
Step 2: Atmosphere Modeling
to realistically render the sky I need to calculate direct and indirect illumination of the whole atmosphere. A schematic description of the earth is depicted below:
Some different effects I will have to consider are:
- Absorption in the Ozone layer
- Atmospheric Refraction (wavelenght dependent)
- Scattering (both Rayleigh scattering caused by air molucules and Mie scattering caused by aerosol particles)
- Radiative Tranfer (the 'global illumination' in the atmoshpere)
- Reflection from light on the earth's surface up into the sky (probably negligible)
Step 3: Creating Sky Environment Map
Because of the computational intensity of the above-described processes I could potentially output the skylight in an HDRI environment map for re-usage. PBRT can automaticall plug-in this environment map in it's calculation and speed-up multiple renderings using the same skylight.
Project Viability
I am currently researching the extend to which I can make this model 100% physcically accurate given the complex nature of the sky. I might have to use several approximations to speed-up the rendering process and the model the atmosphere. This general model could be re-used and expanded in subsequent research however and will definately get the 'basics' of skylight rendering right.