Point-Based Global Illumination for Movie Production Per - - PowerPoint PPT Presentation

point based global illumination for movie production
SMART_READER_LITE
LIVE PREVIEW

Point-Based Global Illumination for Movie Production Per - - PowerPoint PPT Presentation

Point-Based Global Illumination for Movie Production Per Christensen Pixar Animation Studios SIGGRAPH 2010 Course Overview Point-based global illumination generating direct illumination point cloud rendering GI using point cloud


slide-1
SLIDE 1

Point-Based Global Illumination for Movie Production

Per Christensen Pixar Animation Studios

SIGGRAPH 2010 Course

slide-2
SLIDE 2

Overview

  • Point-based global illumination

– generating direct illumination point cloud – rendering GI using point cloud

  • Examples of use in movies
  • Variations and extensions
  • What’s next?
slide-3
SLIDE 3

Related work

  • Method is inspired by Bunnell’s point-based

GPU method

  • Related to clustering radiosity and point-

based subsurface scattering

slide-4
SLIDE 4

Point-based global illumination

  • Fast, low memory, no noise
  • Handles complex geometry (including

dense polygon meshes, hair, leaves, displacement), many light sources, complex surface shaders, ...

  • Movie-production friendly
  • Part of Pixar’s RenderMan renderer
slide-5
SLIDE 5

Point-based global illumination

  • Three steps:
  • Generate point cloud of directly

illuminated surface colors (radiosity)

  • Organize points into octree; larger

points and spherical harmonics

  • Render: compute diffuse/glossy

global illumination at each shading point

slide-6
SLIDE 6

A point cloud

  • Each point: position, normal, radius, color

= a colored disk

  • Terminology: “point” or “disk” or “surfel”?

point cloud point cloud

slide-7
SLIDE 7

Generate point cloud

  • Render direct illumination image
  • Generate point cloud file at same time

point cloud, 560K points (various views) rendered image

slide-8
SLIDE 8

Generate point cloud

  • Point cloud files from “Up”

key light fill lights

slide-9
SLIDE 9

Organize points into octree

  • Organize points into octree
  • Each cluster of points is represented

by a larger point or a spherical harmonic representation of directional light distribution

slide-10
SLIDE 10

Compute global illum at a point

  • Basic idea: add up color from all other

points!

slide-11
SLIDE 11

Compute global illum at a point

  • For efficiency: use cluster of points for

distant points

  • For higher accuracy: ray trace close

points

slide-12
SLIDE 12

Compute global illum at a point

  • Problem: if all points are added up, even

points “hidden” behind other points will contribute

slide-13
SLIDE 13

Compute global illum at a point

  • Solution: rasterize colors contributing to

a point -- world “as seen” by that point

  • Raster cube examples:

point on teapot lid point on ceiling

slide-14
SLIDE 14

Compute global illum at a point

  • Multiply all raster pixel colors by

reflectance function (BRDF); add

  • Result is diffuse / glossy reflection at

point

slide-15
SLIDE 15

Global illumination result

direct illum (9 sec) direct illum + diffuse GI + glossy GI (21 sec)

slide-16
SLIDE 16

Use in movies

  • Implemented in Pixar’s RenderMan
  • Integrated into lighting pipeline at ILM,

Pixar, Disney, DNeg, MPC, ...

slide-17
SLIDE 17

Use in movies

  • Pirates of the Caribbean 2 & 3, Eragon, Surf’s Up,

Spiderman 3, Harry Potter 5 & 6, Chronicles of Narnia, Fred Claus, Beowulf, Spiderwick Chronicles, Ironman 1 & 2, Indiana Jones, 10,000 BC, Batman: Dark Knight, Quantum of Solace, Cloverfield, Doomsday, Hellboy 2, Inkheart, Wall-E, Bolt, Star Trek, Terminator 4, The Boat that Rocked, Fast & Furious 4, Angels and Demons, Night at the Museum, Up, Transformers 2, 2012, Sherlock Holmes, Percy Jackson, The Green Zone, Prince of Persia, Toy Story 3, ...

slide-18
SLIDE 18

Sony: “Surf’s Up” ambient occlusion

“Surf’s Up” test (Courtesy of Rene Limberger, Sony)

slide-19
SLIDE 19

ILM: Davy Jones

“Pirates of the Caribbean: Dead Man’s Chest” (Courtesy of Industrial Light & Magic)

slide-20
SLIDE 20

(Courtesy of Dale Mayeda, Disney)

Disney: special effects on “Bolt”

slide-21
SLIDE 21

“Up” example without global illum

slide-22
SLIDE 22

“Up” example with global illum

slide-23
SLIDE 23

“Up” example without global illum

slide-24
SLIDE 24

“Up” example with global illum

slide-25
SLIDE 25

“Toy Story 3” examples

slide-26
SLIDE 26

“Toy Story 3” examples

slide-27
SLIDE 27

“Toy Story 3” examples

slide-28
SLIDE 28

“Toy Story 3” examples

slide-29
SLIDE 29

“Toy Story 3” examples

slide-30
SLIDE 30

“Toy Story 3” examples

slide-31
SLIDE 31

Variations and extensions

  • Area light sources
  • Environment illumination
  • Multiple light bounces
  • Final gather for photon maps
  • Ambient/directional/reflection occlusion
  • Volumes
slide-32
SLIDE 32

Area light sources + soft shadows

  • Treat area light sources the same as

surfaces: generate point cloud with color data

  • Light sources can have arbitrary shape and

colors

  • Also write (black) points for shadow-casting
  • bjects
slide-33
SLIDE 33

Area light sources + soft shadows

area light illumination area lights

slide-34
SLIDE 34

Environment illumination -- IBL

  • Use environment color for raster pixels not

covered by points

HDRI env map raster cube

slide-35
SLIDE 35

Multiple light bounces

  • Run the algorithm n times
  • (For efficiency: first n-1 times can be

computed at fewer points)

n = 0 n = 1 n = 2 n = 3

slide-36
SLIDE 36

Final gather for photon mapping

  • Final gather step is usually done with ray

tracing; slowest part of photon mapping

  • Use point-based method instead
slide-37
SLIDE 37

Final gather for photon mapping

direct illum photon map radiance est pt-based GI

slide-38
SLIDE 38

Special case: Ambient occlusion

  • Fraction of hemisphere above a point

that’s covered

  • Similar to shadows on overcast day
  • Values between 0 and 1
slide-39
SLIDE 39

Ambient occlusion

  • Generate point cloud with only position,

normal, radius (no colors)

slide-40
SLIDE 40

Ambient occlusion

slide-41
SLIDE 41

Ambient occlusion (and reflections)

slide-42
SLIDE 42

NEW: Image-based relighting

  • In addition to ambient occlusion, also

compute directional visibility: spherical harmonic coeffs. at each point

  • Compute SH coeffs for environment map
  • (Re-)rendering is just multiplying SH

coefficients -- 9 or 25 mults/point. Fast!

slide-43
SLIDE 43

NEW: Image-based relighting

slide-44
SLIDE 44

Special case: reflection occlusion

  • As ambient occlusion, but narrow cone of

directions (around reflection direction)

slide-45
SLIDE 45

Global illumination in volumes

  • Points don’t have normals: spheres,

not disks

  • Illumination from all directions: entire

raster cube

  • surface volume
  • volume volume
slide-46
SLIDE 46

Global illumination in volumes

surface to volume volume to volume

slide-47
SLIDE 47

Optimization: interpolation

  • If the color bleeding varies only a little in

an area (<2%), we simply interpolate it

  • Technique known from ray tracing

(“irradiance cache”)

slide-48
SLIDE 48

Optimization: interpolation

  • Compute color bleeding at the 4 corners of

surface patch

  • Is the difference between 4 values small?

– yes: interpolate on patch – no: split patch in 2; recurse

surface patch

slide-49
SLIDE 49

Parallel computation

  • Global illumination at each point is

independent

  • Ideal for parallel execution
  • Observed speedups:

– 4 cores: ~3.6 – 8 cores: ~6.6

slide-50
SLIDE 50

More information

  • M. Bunnell, “Dynamic ambient occlusion

and indirect lighting”, GPU Gems 2

  • P. Christensen, “Point-based approximate

color bleeding”, Pixar tech memo #08-01

  • T. Ritschel et al, “Micro-rendering for

scalable, parallel final gathering”, SIGGRAPH Asia 2009

slide-51
SLIDE 51

Summary

  • Point-based diffuse and glossy global

illumination is fast and can handle complex production scenes

  • Also works for area lights, env. map

illumination, multiple bounces, ambient

  • cclusion, reflection occlusion, volumes
  • In Pixar’s RenderMan
  • Widely used in production
slide-52
SLIDE 52

What’s next?

  • “Up” and “Toy Story 3”: 1-bounce PBGI was

used in addition to all the traditional lights

  • Next:

– reduce number of traditional lights? – multiple bounces?

slide-53
SLIDE 53

What’s next?

  • Implementation improvements:

– improved accuracy in rasterization? – baking micropolygon grids? – GPU implementation?

slide-54
SLIDE 54

Acknowledgments

  • RenderMan team: Dana Batali, ...
  • Mike Bunnell, Rene Limberger, Christophe

Hery

  • Pixar: Max P, P Sumo, JC, Stefan, Guido, ...
  • Dale Mayeda (Disney), Philippe Leprince

(DNeg), Anders Langlands (MPC), ...

Thanks!

slide-55
SLIDE 55

Questions?