Apurva Shah - Baking Fur Occlusion

Preview:

DESCRIPTION

This Siggraph presentation by Pixar's Apurva Shah outlines the method used by them in Ratatouille to efficiently store fur occlusion into point clouds and convert them into 2d maps which can be later used in the fur shader.This document is only for study purpose so please do not make profit off it by selling it anywhere on the internet, etc, etc.

Citation preview

Baked Ambient Occlusion for Fur

Apurva Shah, Sajan Skaria

Pixar Animation Studios

1

Introduction

Self-shadowing critical for fur.

Brings out shape of the groom and adds dimension.

Deep shadows typically used for keys and rims.

Not so good for fills and bounces:

For multiple shadowing lights overlap areas tricky.

Expense especially for multiple lights.

2

Why Ambient Occlusion

Shadow computed from the POV of occluded surface and not dependent on light position.

Short falloff distance captures groom detail like locks and clumps but not tied to particular light direction.

Overlapping shadows not a problem.

3

Previous Work

Tim Fontenberry and Pat Conran from ILM presented “Its Not Wise to Upset a Wookiee” at Siggraph Sketches 2005.

Used half dome of lights around character and computing deep shadows for each light.

From this an ambient occlusion and preferred direction approximation was created.

4

Raytraced Occlusion

In our approach we use raytraced occlusion.

Tracing against fur is expensive!

Need a way to bake the result such that it still preserves the fine fur detail.

5

Basic Approach

Wait for character groom to finish.

Bind a bake shader to the fur that runs raytraced occlusion.

Shader stores the result in one of four point clouds based on parametric “v” of the point being shaded.

Index into point cloud is based on scalp (s,t) of hair.

In essence we capture striated occlusion values at tip, tip to mid, mid to root and root.

6

Basic Approach

Point clouds converted into images using “ptrender”.

Takes care of filling gaps and blending overlapping samples.

Finally images turned into texture maps.

Baking valid as long as character groom does not change.

7

Tip Map

8

Tip to Mid Map

9

Mid to Root Map

10

Root Map

11

Basic Approach

Ambient occlusion calculation during render time only requires two texture lookups based on scalp (s,t) and parametric “v” and a blend.

Practically free!

Per light control to decide wether to use deep shadow, ambient occlusion or a combination.

Ambient occlusion some times combined with soft body only shadow.

12

Normal Deep Shadows

13

Without any Shadows

14

Occlusion - No Shadows

15

Occlusion - Soft Body Shadows

16

What About Motion?

Baking was done based on rest pose.

However it worked for an arbitrary pose because the occlusion distance was quite short.

This captured the fur grooming details but not the body pose.

It held up well in motion.

17

All Lights

18

Key with Deep Shadow

19

Fill & Bounce - No Occlusion

20

Fill & Bounce - Baked Occlusion

21

All Lights

22

Conclusion

Baking fur occlusion was the last step in the character build.

Took two to three hours and was often spread out over multiple processors.

Used pretty much through out the film any time you see a rat.

23

Acknowledgments

Bill Reeves for wiring up the occlusion into the build.

Stefan Gronsky for testing from the lighting end.

24

Recommended