Rendering outdoor light scattering in real time
This presentation is the property of its rightful owner.
Sponsored Links
1 / 65

Rendering Outdoor Light Scattering in Real Time PowerPoint PPT Presentation


  • 161 Views
  • Uploaded on
  • Presentation posted in: General

Rendering Outdoor Light Scattering in Real Time. Arcot J Preetham ATI Research [email protected] Naty Hoffman Westwood Studios [email protected] Outline. Basics Atmospheric Light Scattering Radiometric Quantities From Radiance to Pixels Scattering Theory

Download Presentation

Rendering Outdoor Light Scattering in Real Time

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Rendering outdoor light scattering in real time

Rendering Outdoor Light Scattering in Real Time

Arcot J Preetham

ATI Research

[email protected]

Naty Hoffman

Westwood Studios

[email protected]


Outline

Outline

  • Basics

    • Atmospheric Light Scattering

    • Radiometric Quantities

    • From Radiance to Pixels

  • Scattering Theory

    • Absorption, Out-Scattering, In-Scattering

    • Rayleigh and Mie Scattering

  • Implementation

    • Aerial Perspective, Sunlight, Skylight

    • Vertex Shader

  • Future Work


Atmospheric light scattering

Atmospheric Light Scattering

  • Is caused by a variety of particles

    • Molecules, dust, water vapor, etc.

  • These can cause light to be:

    • Scattered into the line of sight (in-scattering)

    • Scattered out of the line of sight (out-scattering)

    • Absorbed altogether (absorption)


Atmospheric light scattering1

Atmospheric Light Scattering

  • Illuminates the sky


Atmospheric light scattering2

Atmospheric Light Scattering

  • Attenuates and colors the Sun


Atmospheric light scattering3

Atmospheric Light Scattering

  • Attenuates and colors distant objects


Atmospheric light scattering4

Atmospheric Light Scattering

  • Varies by

    • Time of Day

    • Weather

    • Pollution


Atmospheric light scattering5

Atmospheric Light Scattering

  • Varies by

    • Time of Day

    • Weather

    • Pollution


Atmospheric light scattering6

Atmospheric Light Scattering

  • Varies by

    • Time of Day

    • Weather

    • Pollution


Atmospheric light scattering7

Atmospheric Light Scattering

  • Varies by

    • Time of Day

    • Weather

    • Pollution


Atmospheric light scattering8

Atmospheric Light Scattering

  • Varies between planets


Atmospheric light scattering9

Atmospheric Light Scattering

  • Extinction (Absorption, Out-scattering)

    • Phenomena which remove light

    • Multiplicative:

  • In-scattering:

    • Phenomenon which adds light

    • Additive:

  • Combined:


Radiometric quantities

Radiometric Quantities

  • Radiant Flux

  • Radiance

  • Irradiance


Radiometric quantities1

Radiometric Quantities

  • Radiant Flux

    • Quantity of light through a surface

    • Radiant power (energy / time)

    • Watt


Radiometric quantities2

Radiometric Quantities

  • Radiance L

    • Quantity of light in a single ray

    • Radiant flux / area / solid angle

    • Watt / (meter2 * steradian)


Radiometric quantities3

Radiometric Quantities

  • Irradiance E

    • Quantity of light incident to a surface point

    • Incident radiant flux / area (Watt / meter2)

    • Radiance integrated over hemisphere


From radiance to pixels

From Radiance to Pixels

  • Compute radiance incident to eye through each screen pixel


From radiance to pixels1

From Radiance to Pixels

  • Pixel value based on radiance

  • But radiance is distributed continuously along the spectrum

    • We need three numbers: R, G, B


From radiance to pixels2

From Radiance to Pixels

  • SPD (Spectral Power Distribution) to RGB

    • Fast approach:

      • Do all math at R, G, B sample wavelengths

    • Correct approach:

      • Use SPDs, convert final radiance to RGB

M

L

S

400nm

500nm

600nm

700nm


Absorption

Absorption

  • Absorption cross section

    • Absorbed radiant flux per unit incident irradiance

    • Units of area (meter2)


Absorption1

Absorption

  • Absorption cross section


Absorption2

Absorption

  • Absorption coefficient

    • Particle densitytimes absorption cross section

    • Units of inverse length (meter-1)


Absorption3

Absorption

  • Total absorption cross section:

  • Probability of absorption:

A

ds


Absorption4

Absorption

  • Attenuation of radiance from travel through a constant-density absorptive medium:

L0

L(s)

s


Out scattering

Out-Scattering

  • Exactly as in the absorption case

    • Scattering cross section

    • Scattering coefficient

    • Attenuation due to out-scattering in a constant-density medium:


Extinction

Extinction

  • Both absorption and out-scattering attenuate light

  • They can be combined as extinction

  • Extinction coefficient

  • Total attenuation from extinction


In scattering

In-Scattering

  • Light is scattered into a view ray from all directions

    • From the sun

    • From the sky

    • From the ground

  • We will only handle in-scattering from the sun


In scattering1

In-Scattering

  • Where does a scattered photon go?

    • Scattering phase function

      • If a photon is scattered, gives the probability it goes in direction

      • Most atmospheric particles are spherical or very small:


In scattering2

In-Scattering

  • How do we usefor in-scattering?

    • In-scatter probability:

    • In-scatter radiance :

Sun

Eye ray


In scattering3

In-Scattering

  • In-scattering over a path

    • Radiance from a single event:

    • Over a distance ds:

  • Angular scattering coefficient

    • In-scattering over ds:

    • Units of: meter-1 * steradian-1


In scattering4

In-Scattering

  • Added radiance from solar in-scattering through a constant-density scattering medium:

s


Extinction and in scattering

Extinction and In-Scattering

s


Extinction and in scattering1

Extinction and In-Scattering

  • Compare to hardware fog:

    • Monochrome extinction

    • Added color completely non-directional


Rayleigh scattering

Rayleigh Scattering

  • Small particles

  • is proportional to


Rayleigh scattering1

Rayleigh Scattering

  • Phase function:


Rayleigh scattering2

Rayleigh Scattering


Mie scattering

Mie Scattering

  • Larger, spherical particles

  • Phase function approximation:

    • Henyey-Greenstein

0.5

0

-0.5

-0.75

0.75


Mie scattering1

Mie Scattering

  • Wavelength dependence

    • Complex and depends on exact size of particle

    • In practice, air usually contains a mix of various sizes of Mie particles

      • In the aggregate these tend to average out any wavelength dependence


Mie scattering2

Mie Scattering


Combined scattering

Combined Scattering

  • In practice, air contains both Rayleigh and Mie scatterers

  • Absorption is usually slight

  • We will use:


Parameters

Parameters

  • Atmospheric parameters:

  • Constant?

    • Affected by extinction

  • Constant:


Rendering outdoor light scattering in real time 1372928

Implementation

How ?

Without scattering

With scattering


Implementation

Implementation

  • Aerial Perspective

    • Extinction & Inscattering

    • Rays low in atmosphere

    • Constant density good approximation

s


Implementation1

Implementation

  • Sunlight

    • is white

    • Density is not constant!

    • Use a more accurate model for Fex?


Implementation2

Implementation

  • Sunlight:

    • Virtual sky dome, use simple model

density

distance


Implementation3

Implementation

  • Sky color:

    • Density is not constant!

    • More accurate model too expensive

      • Many computations needed per frame

  • Sky geometry

    • Virtual sky dome


Implementation4

Implementation

  • Compute:

    • Can be done with textures

      • 1D texture for

        • Texture coordinate is a function of s

      • 2D texture for

        • Texture coords are functions of s,

      • Combine in pixel shader

    • We decided on a different approach


Implementation5

Implementation

  • Compute:

    • Use vertex shader to compute

    • Apply as vertex interpolated colors

      • In pixel shader, or even fixed pipeline

    • Pros:

      • Doesn’t use valuable texture slots

      • Can change atmosphere properties

    • Cons:

      • Somewhat dependent on tessellation


Vertex shader

Vertex Shader

Position

Constants:

Transform Matrix

Outputs:

Vertex

Shader

Sun Direction

Eye Position


Vertex shader1

Vertex Shader


Vertex shader2

Vertex Shader

  • Current Implementation:

    • 33 Instructions

      • Not including macro expansion

      • Could probably be optimized

    • 8 registers


Rendering outdoor light scattering in real time 1372928

Pixel Shader

L = L0 * Fex + Lin

L0

=

X

L0 * Fex

Fex


Rendering outdoor light scattering in real time 1372928

Pixel Shader

L = L0 * Fex + Lin

L0 * Fex

+

=

L = L0 * Fex + Lin

Lin


Results

Results


Rendering outdoor light scattering in real time 1372928

Rayleigh Scattering - high

Mie Scattering - low

Sun Altitude - high


Rendering outdoor light scattering in real time 1372928

Rayleigh Scattering - low

Mie Scattering - high

Sun Altitude - high


Rendering outdoor light scattering in real time 1372928

Rayleigh Scattering - medium

Mie Scattering - medium

Sun Altitude - low


Rendering outdoor light scattering in real time 1372928

Planet Mars like scattering


Rendering outdoor light scattering in real time 1372928

Demo


Conclusion

Conclusion

  • Scattering is easy to implement.

  • Easy to add to an existing rendering framework

    • compute Fex and Lin

    • apply these to existing color to get final color


Future work

Future Work

  • In-scattering from sky

  • Clouds (scattering and extinction)

  • Volumetric cloud shadows

  • Non-uniform density distributions

  • Full-spectrum math?


Acknowledgements

Acknowledgements

  • We would like to thank

    • Kenny Mitchell for the terrain engine used in our demo

    • Solomon Srinivasan for help with the demo movie


References

References

[Blinn1982] J. F. Blinn. Light Reflection Functions for Simulation of Clouds and Dusty Surfaces.

[Dutré2001] P. Dutré. Global Illumination Compendium.

[Henyey1941] L. G. Henyey and J. L. Greenstein. Diffuse Reflection in the Galaxy.

[Hoffman2001] N. Hoffman and K. J. Mitchell. Photorealistic Terrain Lighting in Real Time.

[Klassen1987] R. V. Klassen. Modeling the Effect of the Atmosphere on Light.

[Mie1908] G. Mie. Bietage zur Optik truber Medien Speziell Kolloidaler Metallosungen.

[Preetham1999] A. J. Preetham, P. Shirley, B. E. Smits. A Practical Analytic Model for Daylight.

[Rayleigh1871] J. W. Strutt (Lord Rayleigh). On the light from the sky, its polarization and colour.

[Yee2002] H. Yee, P. Dutré, S. Pattanaik. Fundamentals of Lighting and Perception: The Rendering of Physically Accurate Images.


Thank you

THANK YOU


  • Login