A Practical Analytic Single Scattering Model for Real Time Rendering - PowerPoint PPT Presentation

1 / 45
About This Presentation
Title:

A Practical Analytic Single Scattering Model for Real Time Rendering

Description:

A Practical Analytic Single Scattering Model for Real Time Rendering Bo Sun Columbia University Ravi Ramamoorthi Columbia University Srinivasa Narasimhan ... – PowerPoint PPT presentation

Number of Views:75
Avg rating:3.0/5.0
Slides: 46
Provided by: cave85
Category:

less

Transcript and Presenter's Notes

Title: A Practical Analytic Single Scattering Model for Real Time Rendering


1
A Practical Analytic Single Scattering Model for
Real Time Rendering
Bo Sun Columbia
University Ravi Ramamoorthi Columbia
University Srinivasa Narasimhan Carnegie
Mellon University Shree Nayar
Columbia University
Sponsors ONR, NSF
2
Light Transport in Scattering Media
Point Source
Viewer
Surface Point
Clear Day
Foggy Day
Clear Day
Foggy Day
3
Our Technical Contributions
  • Explicit compact Airlight formula
  • Explicit Surface Radiance formula
  • - Accurate
  • - Simple fragment shader
  • - Fully interactive
  • Assumptions
  • Isotropic point light sources
  • Homogenous media
  • Single scattering
  • No volumetric shadows

4
The Airlight Integral
Point Source, s
scattering coefficient of the medium
Surface Point, p
Viewer, v
The Airlight Integral
5
The Airlight Integral
Point Source, s
scattering coefficient of the medium
Surface Point, p
Viewer, v
The Airlight Integral
6
The Airlight Integral
Point Source, s
scattering coefficient of the medium
Surface Point, p
Viewer, v
The Airlight Integral
7
The Airlight Integral
Point Source, s
scattering coefficient of the medium
Surface Point, p
Viewer, v
The Airlight Integral
8
The Airlight Integral
Point Source, s
scattering coefficient of the medium
Surface Point, p
Viewer, v
The Airlight Integral
9
The Airlight Integral
Point Source, s
scattering coefficient of the medium
Surface Point, p
Viewer, v
The Airlight Integral
10
The Airlight Integral
Point Source, s
scattering coefficient of the medium
Surface Point, p
Viewer, v
The Airlight Integral
11
The Airlight Model
Originally 4D , , ,
12
The Airlight Model
Originally 4D , , ,
13
The Airlight Model
Originally 4D , , ,
14
Special Function F
  • Well behaved and purely numerical 2D function.
  • Pre-computed once for all and stored as a 2D
    texture.

15
Shader Code for Airlight Model
float AirLight( ) float u
A1(beta, Dsv, gammasv) float v1
0.25PI0.5atan((DvpDsvcos(gammasv))/(Dsvsin(ga
mmasv))) float v2 0.5gammasv
float4 f_1texRECT(F, v1, u)
float4 f_2texRECT(F, v2, u) return
A0(lightIntensity, beta, Dsv, gammasv)(f_1.x-f_2.
x)
16
Shader Code for Airlight Model
float AirLight( ) float u
A1(beta, Dsv, gammasv) float v1
0.25PI0.5atan((DvpDsvcos(gammasv))/(Dsvsin(ga
mmasv))) float v2 0.5gammasv
float4 f_1texRECT(F, v1, u)
float4 f_2texRECT(F, v2, u) return
A0(lightIntensity, beta, Dsv, gammasv)(f_1.x-f_2.
x)
17
Shader Code for Airlight Model
float AirLight( ) float u
A1(beta, Dsv, gammasv) float v1
0.25PI0.5atan((DvpDsvcos(gammasv))/(Dsvsin(ga
mmasv))) float v2 0.5gammasv
float4 f_1texRECT(F, v1, u)
float4 f_2texRECT(F, v2, u) return
A0(lightIntensity, beta, Dsv, gammasv)(f_1.x-f_2.
x)
18
Shader Code for Airlight Model
float AirLight( ) float u
A1(beta, Dsv, gammasv) float v1
0.25PI0.5atan((DvpDsvcos(gammasv))/(Dsvsin(ga
mmasv))) float v2 0.5gammasv
float4 f_1texRECT(F, v1, u)
float4 f_2texRECT(F, v2, u) return
A0(lightIntensity, beta, Dsv, gammasv)(f_1.x-f_2.
x)
19
Shader Code for Airlight Model
float AirLight( ) float u
A1(beta, Dsv, gammasv) float v1
0.25PI0.5atan((DvpDsvcos(gammasv))/(Dsvsin(ga
mmasv))) float v2 0.5gammasv
float4 f_1texRECT(F, v1, u)
float4 f_2texRECT(F, v2, u) return
A0(lightIntensity, beta, Dsv, gammasv)(f_1.x-f_2.
x)
20
Implementation Choices for Airlight
  1. 64x64 floating point texture for F table
  2. Add a skybox to invoke vertex/pixel shader to
    compute Airlight.

Nearest Neighbor Bilinear Interpolation
21
Airlight Demo
Demo
22
The Surface Radiance Model
Point Source, s
BRDF
Viewer, v
Surface Point, p
23
The Surface Radiance Model
Point Source, s
BRDF
Viewer, v
Surface Point, p
24
Special Function G
25
Shader Code for Surface Radiance
float SurfaceRadiance( ) float4 G
texRECT(G_20, Tsp, thetas) return
KsIobeta/(2DspPI)G
26
Shader Code for Surface Radiance
float SurfaceRadiance( ) float4 G
texRECT(G_20, Tsp, thetas) return
KsIobeta/(2DspPI)G
27
Shader Code for Surface Radiance
float SurfaceRadiance( ) float4 G
texRECT(G_20, Tsp, thetas) return
KsIobeta/(2DspPI)G
28
Implementation Choices for Surface Radiance
  1. Need to add radiance contribution from attenuated
    direct lighting.
  2. Attenuate the final radiance according to
    distance to the camera.

Point Source, s
BRDF
Viewer, v
Surface Point, p
29
Implementation Choices for Surface Radiance
  1. Need to add radiance contribution from attenuated
    direct lighting.
  2. Attenuate the final radiance according to
    distance to the camera.

Point Source, s
BRDF
Viewer, v
Surface Point, p
30
Lambertian and Phong Spheres
Clear Day
Lambertian
Phong10
Phong20
Foggy Day
31
The Complete Model
Surface Radiance Model
Airlight Model
32
The Complete Model
Surface Radiance Model
Airlight Model
Image size
Lights
Terms to approximate the phase function
Texture lookups
Analytic expression Maya Plug-in available from
our website.
33
Demo Complex Geometry
Demo
34
Complex Lighting and Material
  • Rendering time is linear in the number of lights.

Viewer, v
Surface Point, p
35
Point Spread Function
  • Assume equidistant point sources
  • Scattering is essentially Point Spread Function
    (PSF).

Input
Output
PSF
36
Point Spread Function
  • Assume equidistant point sources
  • Scattering is essentially Point Spread Function
    (PSF).

Input
Output
PSF
Tsvexp-Tsv Pre-convolved Environment Map
37
Convolution with PSF
BRDF Environment Map
Clear Day Foggy Day
38
Demo PSF for Complex Lighting
Demo
39
Summary
An OpenGL-Like Practical Real-Time Rendering
Technique
  • Analytic Airlight Model

50fps
40fps
40
Summary
An OpenGL-Like Practical Real-Time Rendering
Technique
  • Analytic Airlight Model
  • Analytic Surface Radiance Model

50fps
60fps
41
Summary
An OpenGL-Like Practical Real-Time Rendering
Technique
  • Analytic Airlight Model
  • Analytic Surface Radiance Model
  • PSF for Complex Lighting and Natural Material

100fps
20fps
42
Acknowledgement
  • R. Wang, J. Tran and D. Luebke for the PRT code.
  • S. Premoze for the Monte Carlo simulation code.
  • P. Debevec for the light probes.
  • W. Matusik for the tabulated BRDF.
  • Supported by a Columbia University Presidential
    Fellowship, an ONR Grant, an NSF Grant, an NSF
    CAREER award, and equipment donations from Intel
    and NVIDIA.

43
Thanks for Listening!
Maya Plug-in, 2D tables, and Shader code
http//www.cs.columbia.edu/bosun/research.htm
44
The End
45
The End
Write a Comment
User Comments (0)
About PowerShow.com