Post on 24-Feb-2016
description
transcript
computer graphics & visualization
How to make a PIXAR movie
Global Illumination Effects
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Motivation• Realistic illumination of the scene
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Motivation• Soft shadows
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Motivation• Subsurface scattering
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Motivation• Many algorithms exist– Photon mapping– Ambient Occlusion– …
• Common goal: Solving parts of the Rendering Equation
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Problems• Scene changes -> New computation• Still not possible in real-time• Uses Raytracing or Radiosity
Already explained Going to be explained now
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Photons• Have energy
• h: Planck constant• v: Frequency of light
hvE
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Radiometric QuantitiesRadiant energy J
Radiant power W
Irradiance W/m²
Radiosity W/m²
Radiant intensity W/sr
dtdQ
dAdE
dAdB
ddI
Q
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Radiance
cos²
dAddL
• θ: angle between surface‘s normal and ω• cosθ: Lambertian law• Constant along a ray
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Irradiance
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
BRDF
iiii
rrrir dxL
xdLxf
cos),(
),(),,(
Bidirectional reflectance distribution function
How much light is reflected
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Reflection Equation
iiiirirrr dxLxfxL cos),(),,(),(
Integrate over the hemisphere
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Rendering Equation
Sy
yirirrer dAyxGyxVyLxfxLxL
),(),(),(),,(),(),(
Radiance
Emitted light
Surfaces
BRDF
Visibility
Geometry factor
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Radiosity• Ideal diffuse reflection can be simulated with
Radiosity• Uses finite elements• Introduced by Goral et al.
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Radiosity• Origin: Thermal heat transfer• Developed in 1984, still in use• Modelling of diffuse lighting– Doesn‘t account for specular lighting– Independent of viewer– Therefore: Stays constant in constant scene
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Radiosity Equation
j
ijjieii FBBB
RadiosityEmissivity
Reflectivity Form factor
Sy
yirirrer dAyxGyxVyLxfxLxL
),(),(),(),,(),(),(
constant
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Form Factors
i jA A
ijji
iij dAdA
rAF
²coscos1
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Form Factors
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Nusselt Analog• Simple geometric analog for calculating form
factors
B BAFij
A
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Hemicube Algorithm• Hemicube instead of hemisphere
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Hemicube Algorithm• Idea:– Precompute delta form factors analytically– Count covered pixels– Sum up covered delta form factors to the true form
factor
q
qij FF
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Hemicube Example
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Hemicube Algorithm on GPU• Use projection center as viewport• Use current face as viewing plane• Do the rendering• Grab the colour buffer (IDs of patches)• Count coloured pixels• Visibility test performed by depth test
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Radiosity Algorithm• Compute form factors• Solve linear equation system
for i = 1, … , nj
ijjieii FBBB
nnnnnnnnn
n
n
E
EE
B
BB
FFF
FFFFFF
2
1
2
1
21
22222212
11121111
1
11
)1( T
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Von Neumann Series
...
...
...²
)3()2()1()0(
3210
BBBB
ETETETET
BTTEETBEB
0 Bounces 1 Bounce 2 Bounces 3 Bounces
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Jacobi Iteration
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Shooting / Gathering
N
j
kjijii
ki BFEB
X
XX
XXXXX
1
)()1( )(
N
j
kj ij i i
kiB F E B
X
X
XX
X
XX
X
XX
1
) ( ) 1 () (
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Radiosity Result
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Radiosity vs. Ray Tracing
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Radiosity Conclusion• Old, but still in use• Used for simulating diffuse lighting• Result can be used in combination with other GI
algorithms
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Ambient Occlusion Motivation• Ambient term constant in Phong model• Not very realistic• Idea: Compute occlusion of each face
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Ambient Occlusion• Result: Occluded areas appear darker than
brigther ones• Multiply with usual Phong model• 2 possibilities:– Screen space– Object space
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Screen Space Ambient Occlusion• Can be completely done on GPU• No preprocessing• Independent of scene complexity• Idea: Instead of performing full raytracing use
occlusion information from z-buffer
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Screen Space Ambient Occlusion• Take 3D samples around each point• Determine occlusion of each point by testing
against the depth buffer• Far samples with less influence• Use blurring for smooth results
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Screen Space Ambient Occlusion
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Object Space Ambient Occlusion• Define surface element as an oriented disk• Use Heron‘s formula ,• Store position, normal and area in texture for
pixel shader
))()(( csbsass 2
cbas
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Object Space Ambient Occlusion• Compute accessibility value ateach element (% of hemisphere)• Approximation based on thesolid angle of an oriented disk
• Strongly dependent on scenecomplexity
²
)cos4,1max(cos1rA
r RE
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Object Space Ambient Occlusion
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Ambient Occlusion Results
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Ambient Occlusion Results
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Ambient Occlusion Conclusion• Can be preprocessed for each object• Used in the current version of PIXAR‘s
RenderMan
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Outlook• Faster computation– Cheaper– Artists can see results faster
• More realistic lighting
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Conclusion• Very important for any animated movie• Computation time not too important
computer graphics & visualization
Global Illumination EffectsChristian A. Wiesner
Thanks for your attention!