Top Banner
Point-Based Color Bleeding Per Christensen Pixar Animation Studios June 2009
47

Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

May 17, 2018

Download

Documents

dangtuyen
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Point-Based Color Bleeding

Per Christensen

Pixar Animation Studios

June 2009

Page 2: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Overview

• What is color bleeding?

• Other computation methods

• Point-based color bleeding– generating direct illumination point cloud

– rendering using point cloud

• Examples of use in movies

• Variations and extensions

Page 3: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Color bleeding

• Soft indirect illumination between matte surfaces

Page 4: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Computation methods

• Faking it: adding extra light sources– tedious; labor intensive

• Radiosity (finite elements)– requires entire scene geometry in memory

• Ray tracing– requires many rays + shader evaluations: slow

• Point-based– little memory, no shader evaluations

Page 5: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Computation methods

• Faking it: adding extra light sources– tedious; labor intensive

• Radiosity (finite elements)– requires entire scene geometry in memory

• Ray tracing– requires many rays + shader evaluations: slow

• Point-based– little memory, no shader evaluations

Page 6: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Point-based color bleeding

• Handles complex geometry (including dense polygon meshes, hair, leaves, displacement), many light sources, complex surface shaders, ...

• Very movie-production friendly

• Part of Pixar’s RenderMan renderer

Page 7: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Point-based color bleeding

• Two steps:

• Generate point cloud of directly illuminated surface colors (radiosity)

• Render: compute color bleeding at each shading point

Page 8: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

A point cloud

• Each point: position, normal, radius, color: a colored disk

• Terminology: “point” or “disk”?

point cloudpoint cloud

Page 9: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Generate point cloud

• Render direct illumination image

• Generate point cloud file at same time

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

Page 10: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Generate point cloud

• Point cloud files from “Up”

key light fill lights

Page 11: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Compute color bleeding at a point

• Basic idea: add up color from all other points!

Page 12: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Compute color bleeding at a point

• For efficiency: use cluster of points for distant points

• For higher accuracy: ray trace close points

Page 13: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Compute color bleeding at a point

• Problem: if all points are added up, even points “hidden” behind other points will contribute

Page 14: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Compute color bleeding at a point

• Solution: rasterize colors contributing to a point -- world “as seen” by that point

• Raster cube examples:

point on teapot lidpoint on ceiling

Page 15: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Compute color bleeding at a point

• Multiply all raster pixel colors by reflectance function (BRDF); add

• Result is color bleeding at point

Page 16: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Color bleeding results

direct illum direct illum + color bleeding

Page 17: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Use in movies

• Pirates of the Carribean 2 & 3, Eragon, Surf’s Up, Spiderman 3, Harry Potter 5 & 6, Chronicles of Narnia, Fred Claus, Beowulf, Spiderwick Chronicles, Ironman, Indiana Jones, 10,000 BC, Batman: Dark Knight, Quantum of Solace, Cloverfield, Doomsday, Hellboy 2, Inkheart, Wall-E, Star Trek, Terminator 4, The Boat that Rocked, Fast & Furious 4, Angels and Demons, Up, ...

Page 18: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Davy Jones

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

Page 19: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

“Up” example without color bleeding

Page 20: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

“Up” example with color bleeding

Page 21: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

“Up” example without color bleeding

Page 22: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

“Up” example with color bleeding

Page 23: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

“Up” example without color bleeding

Page 24: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

“Up” example with color bleeding

Page 25: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Variations and extensions

• Glossy reflection

• Area light sources

• Environment illumination

• Multiple light bounces

• Ambient occlusion, reflection occlusion

• Volumes

Page 26: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Glossy reflection

• Only collect illumination from within a small cone of directions

• Raster cube example:

• Multiply raster pixel colors by glossy reflectance function (BRDF)

Page 27: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Glossy reflection

wide glossy reflectionnarrow glossy reflection

Page 28: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Glossy reflection

point cloud glossy reflection

Page 29: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Area light sources

• 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 objects

Page 30: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Area light sources

area light illumination

area lights

Page 31: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Environment illumination

• Use environment color for raster pixels not covered by points

HDRI env map

raster cube

Page 32: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

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

Page 33: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Special case: Ambient occlusion

• Fraction of hemisphere above a point that’s covered

• Similar to shadows on overcast day

• Values between 0 and 1

Page 34: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Ambient occlusion

• Generate point cloud with only position, normal, radius (no colors)

Page 35: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Ambient occlusion

Page 36: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Ambient occlusion (and reflections)

Page 37: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Ambient occlusion

“Surf’s Up” test (Courtesy of Sony Imageworks)

Page 38: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Special case: reflection occlusion

• As ambient occlusion, but narrow cone of directions (around reflection direction)

narrow reflection wider reflection

Page 39: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Other result types

• Given the raster cube it is also fast to compute: – average unoccluded direction (“bent normal”)

– average illumination direction

Page 40: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Color bleeding in volumes

• Points don’t have normals: spheres, not disks

• Color bleeding from all directions: entire raster cube

• surface volume

• volume volume

Page 41: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

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”)

Page 42: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

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

Page 43: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Parallel computation

• Color bleeding at each point is independent

• Ideal for parallel execution

• Observed speedups:– 4 cores: 3.6

– 8 cores: 6.6

Page 44: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Summary

• Point-based color bleeding is fast and can handle complex production scenes

• Also works for glossy reflection, area lights, env. map illumination, multiple bounces, ambient occlusion, reflection occlusion, volumes

• In Pixar’s RenderMan

• Is gaining widespread use in production

Page 45: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

More information

• “Point-Based Graphics” book by Gross & Pfister

• Pixar technical report #08-01: “Point-based approximate color bleeding”

• Talk this afternoon: Making of “Partly Cloudy” and “Up”

Page 46: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Acknowledgments

• RenderMan team, Jean-Claude Kalache

• Rene Broca, Cedric Guiard, Marine Lamblin

• You for listening

Thanks!

Page 47: Point-Based Color Bleeding - Pixar · (Courtesy of Industrial Light & Magic) ... Special case: Ambient occlusion ... • Point-based color bleeding is fast and can

Questions?