ink line rendering for film production daniel teece walt disney feature animation...

35

Upload: christine-sullivan

Post on 05-Jan-2016

223 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com
Page 2: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Ink Line Rendering for Ink Line Rendering for Film ProductionFilm ProductionInk Line Rendering for Ink Line Rendering for Film ProductionFilm Production

Daniel TeeceWalt Disney Feature Animation

[email protected]

Daniel TeeceWalt Disney Feature Animation

[email protected]

Page 3: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

IntroductionIntroductionIntroductionIntroduction

Coming up…

• Background

• Four routes to an ink line image

• Production examples

Coming up…

• Background

• Four routes to an ink line image

• Production examples

Page 4: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Ink Lines and NPRInk Lines and NPRInk Lines and NPRInk Lines and NPR

The bigger picture• “Natural Media Emulation”

• Several commercial ‘toon renderers’

• Research papers:– Winkenbach– Elber– Gooch & Gooch– Amongst others

• Books (Gooch & Gooch, Apodaca & Gritz)

The bigger picture• “Natural Media Emulation”

• Several commercial ‘toon renderers’

• Research papers:– Winkenbach– Elber– Gooch & Gooch– Amongst others

• Books (Gooch & Gooch, Apodaca & Gritz)

Page 5: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

ApplicationsApplicationsApplicationsApplications

Why do we need to render lines? • Outlines convey information minimally

• Simplicity of a line, variety of styles

• For Disney - merging with traditionally animated artwork

• Various uses, various approaches

Why do we need to render lines? • Outlines convey information minimally

• Simplicity of a line, variety of styles

• For Disney - merging with traditionally animated artwork

• Various uses, various approaches

Page 6: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Surface ShadersSurface ShadersSurface ShadersSurface Shaders

The shortest route• Surface normal tested against view vector,

and dot product compared to threshold value

• No rendering code needed (just a shader)

• Easy integration with rendering pipeline

• Able to take advantage of standard features in scanline renderer

• Difficult to control line width

The shortest route• Surface normal tested against view vector,

and dot product compared to threshold value

• No rendering code needed (just a shader)

• Easy integration with rendering pipeline

• Able to take advantage of standard features in scanline renderer

• Difficult to control line width

Page 7: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Surface ShadersSurface ShadersSurface ShadersSurface Shaders

Shader example:

float angle = abs(normalize(N) . normalize(I));

float border = 1 - step (0.3, angle);

Ci = mix (Ci, color 0, border);

(from [Apodaca, Gritz 00])

Shader example:

float angle = abs(normalize(N) . normalize(I));

float border = 1 - step (0.3, angle);

Ci = mix (Ci, color 0, border);

(from [Apodaca, Gritz 00])

Page 8: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Image Buffers and Edge Image Buffers and Edge DetectionDetectionImage Buffers and Edge Image Buffers and Edge DetectionDetection

An established and proven approach • Sobel edge detection on reference images

• High resolution (often 4K or higher)

• Various render passes:– Z Depth (one float per pixel)– Surface Normal (one 3D vector per pixel) or N.I– Object / Surface IDs (one or more ints per pixel)

An established and proven approach • Sobel edge detection on reference images

• High resolution (often 4K or higher)

• Various render passes:– Z Depth (one float per pixel)– Surface Normal (one 3D vector per pixel) or N.I– Object / Surface IDs (one or more ints per pixel)

Page 9: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Image Buffers and Edge Image Buffers and Edge DetectionDetectionImage Buffers and Edge Image Buffers and Edge DetectionDetection

Strengths and Weaknesses • Proven approach, production tested

• A lot comes “for free” - e.g. intersection lines, visibility

• Slow due to image size / multiple passes

• Finding threshold values can be difficult - limited fine-grain control

Strengths and Weaknesses • Proven approach, production tested

• A lot comes “for free” - e.g. intersection lines, visibility

• Slow due to image size / multiple passes

• Finding threshold values can be difficult - limited fine-grain control

Page 10: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Image Buffers and Edge Image Buffers and Edge DetectionDetectionImage Buffers and Edge Image Buffers and Edge DetectionDetection

Technical illustration using edge detectionTechnical illustration using edge detection

Page 11: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Image Buffers and Edge Image Buffers and Edge DetectionDetectionImage Buffers and Edge Image Buffers and Edge DetectionDetection

Examples of production use• Hercules - the Hydra

• Mulan - the Hun charge

• The Iron Giant - the Giant

• Osmosis Jones - Drix

Examples of production use• Hercules - the Hydra

• Mulan - the Hun charge

• The Iron Giant - the Giant

• Osmosis Jones - Drix

Page 12: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Inverted Surface Inverted Surface Outline RenderingOutline RenderingInverted Surface Inverted Surface Outline RenderingOutline Rendering

A novel alternative • Standard back face culling creates outlines

from surfaces

• Each original surface has two surfaces, one flipped and slightly larger than original

• The offset between the surfaces is the line

A novel alternative • Standard back face culling creates outlines

from surfaces

• Each original surface has two surfaces, one flipped and slightly larger than original

• The offset between the surfaces is the line

Page 13: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Inverted Surface Inverted Surface Outline RenderingOutline RenderingInverted Surface Inverted Surface Outline RenderingOutline Rendering

A simple exampleA simple example

Page 14: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Inverted Surface Inverted Surface Outline RenderingOutline RenderingInverted Surface Inverted Surface Outline RenderingOutline Rendering

© Disney

© Disney

© DisneyImages courtesy of Hiroki Itokazu, George Taylor and Lance Williams

Page 15: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Inverted Surface Inverted Surface Outline RenderingOutline RenderingInverted Surface Inverted Surface Outline RenderingOutline Rendering

• Rendering can be completely off-the-shelf

• Focus shifts to modeling

• No line parameterization

• Surface intersections problematic

• Rendering can be completely off-the-shelf

• Focus shifts to modeling

• No line parameterization

• Surface intersections problematic

Page 16: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Geometry-based Ink Geometry-based Ink Line RenderingLine RenderingGeometry-based Ink Geometry-based Ink Line RenderingLine Rendering

Edge detection in object space• Lines typically generated from polygonal data

• Rendering is more easily separated from line extraction

• NURBS edge extraction has also been explored [Gooch98] [Elber,Cohen90]

• Memory use shifts from image buffers to geometrical data structures

Edge detection in object space• Lines typically generated from polygonal data

• Rendering is more easily separated from line extraction

• NURBS edge extraction has also been explored [Gooch98] [Elber,Cohen90]

• Memory use shifts from image buffers to geometrical data structures

Page 17: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Geometry-based Ink Geometry-based Ink Line RenderingLine RenderingGeometry-based Ink Geometry-based Ink Line RenderingLine Rendering

Silhouette detection refinements• Interpolation (edges across faces)

• Probabilistic Searching [Markosian et al 97]

• Edge buffer [Buchanan, Sousa 00]

• Other approaches:

– Dual Surface [Hertzmann, Zorin 00]

– Gauss Maps [Gooch et al 99]

Silhouette detection refinements• Interpolation (edges across faces)

• Probabilistic Searching [Markosian et al 97]

• Edge buffer [Buchanan, Sousa 00]

• Other approaches:

– Dual Surface [Hertzmann, Zorin 00]

– Gauss Maps [Gooch et al 99]

Page 18: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Geometry-based Ink Geometry-based Ink Line RenderingLine RenderingGeometry-based Ink Geometry-based Ink Line RenderingLine Rendering

Strengths and Weaknesses • Fast, but some computations are costly

• Vectorized lines can be used elsewhere

• Have to compute visibility

• Tessellation quality is critical

• Numerical precision issues

• Software development effort is larger

Strengths and Weaknesses • Fast, but some computations are costly

• Vectorized lines can be used elsewhere

• Have to compute visibility

• Tessellation quality is critical

• Numerical precision issues

• Software development effort is larger

Page 19: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Case Study : InkaCase Study : InkaCase Study : InkaCase Study : Inka

A hybrid ink line renderer• Primarily a geometry-based approach

• Lines derived from tessellated geometry (not from NURBS as in Gooch / Elber)

• High level of localized control over lines

• Part of digital production pipeline

• Used for approvals / roughs and final art

A hybrid ink line renderer• Primarily a geometry-based approach

• Lines derived from tessellated geometry (not from NURBS as in Gooch / Elber)

• High level of localized control over lines

• Part of digital production pipeline

• Used for approvals / roughs and final art

Page 20: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Inka - RequirementsInka - RequirementsInka - RequirementsInka - Requirements

Inka needed to support:• Large models

• Faster render times

• High quality lines

• Controllability for LookDev TDs

Inka needed to support:• Large models

• Faster render times

• High quality lines

• Controllability for LookDev TDs

© Disney

Page 21: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Camera

Attributes

Surface Tessellation

Scan Conversion

Line Segment Generation

Line Refinement

Visibility Determination

Attribute Parsing

Line DrawingOutput Image

Vector Lines

Geometry

Inka - ProcessInka - ProcessInka - ProcessInka - Process

Page 22: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

# Set line width and colorwidth *object1* 1.5color *object2* 0.6 0.5 0.4 1.0

# Turn off certain linesnoLine *object1* vmin,vmaxnoLine *object2* trim

# Visibility directivesoutlineZMin *object1* 0.0002selfZBias *object2* 0.08

A text file providing ink line directives

Inka - AttributesInka - AttributesInka - AttributesInka - Attributes

Page 23: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Inka - TessellationInka - TessellationInka - TessellationInka - Tessellation

NURBS / SubDs to triangles• Can have significant impact on results

• View dependent / view independent

• Trims are supported

• Inventor format - pipeline standard

NURBS / SubDs to triangles• Can have significant impact on results

• View dependent / view independent

• Trims are supported

• Inventor format - pipeline standard

Page 24: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Line types:Line types:

SilhouettesSilhouettes

BoundariesBoundaries

TrimsTrims

Surface CurvesSurface Curves

Space CurvesSpace Curves

CreasesCreases

Intersections are Intersections are computed separatelycomputed separately

Inka - Line Segment Inka - Line Segment GenerationGenerationInka - Line Segment Inka - Line Segment GenerationGeneration

Page 25: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Inka - VisibilityInka - VisibilityInka - VisibilityInka - Visibility

High resolution Z-Buffer• Appel’s quantitative visibility [Appel67] was

initial approach

• Z-Buffer is higher resolution than image (typically 2x - 4x)

• Line edges compared with scan-converted surface depth values

• Numerical precision can be an issue

High resolution Z-Buffer• Appel’s quantitative visibility [Appel67] was

initial approach

• Z-Buffer is higher resolution than image (typically 2x - 4x)

• Line edges compared with scan-converted surface depth values

• Numerical precision can be an issue

Page 26: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

zBias moves point zBias moves point towards viewertowards viewer

ambiguousambiguousintersectionsintersections

zBiaszBias

Inka - Visibility IssuesInka - Visibility IssuesInka - Visibility IssuesInka - Visibility Issues

Page 27: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

• Merged lines are scan converted edge by

edge

• Tapering and other effects may be applied

• Alpha accumulation is controlled by attributes and pixel compositing modes

Inka - Line DrawingInka - Line DrawingInka - Line DrawingInka - Line Drawing

Page 28: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Inka - Line QualityInka - Line QualityInka - Line QualityInka - Line Quality

• Line shaders allow user to control variation

of color, width etc.

• Line tapering lends hand-drawn appearance, using screen-space algorithm

• Further extended by vector output - lines replaced by other drawing primitives (e.g. Sable stroke renderer)

Page 29: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Tapering linesTapering lines

Inka - Line QualityInka - Line QualityInka - Line QualityInka - Line Quality

© Disney

Page 30: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Vector output in interactive viewer

Inka - Vector ViewerInka - Vector ViewerInka - Vector ViewerInka - Vector Viewer

Page 31: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Inka - Extra FeaturesInka - Extra FeaturesInka - Extra FeaturesInka - Extra Features

• Simple paint layers

• Memory management (geometry groups)

• Animated attributes

• SWF export

• Line attenuation based on depth– Width and opacity can vary with distance

• Simple paint layers

• Memory management (geometry groups)

• Animated attributes

• SWF export

• Line attenuation based on depth– Width and opacity can vary with distance

Page 32: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Inka - SummaryInka - SummaryInka - SummaryInka - Summary

• Geometry-based

• Highly controllable

• Part of production pipeline

• Film appearances:– The Emperor’s New Groove (2000)– Atlantis - The Lost Empire (2001)– Lilo and Stitch (2002)– Treasure Planet (2002)

• Geometry-based

• Highly controllable

• Part of production pipeline

• Film appearances:– The Emperor’s New Groove (2000)– Atlantis - The Lost Empire (2001)– Lilo and Stitch (2002)– Treasure Planet (2002)

Page 33: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

Inka - SummaryInka - SummaryInka - SummaryInka - Summary

Inka software developers : Yun-Chen Sung

Mike King

Patrick Dalton

Rasmus Tamstorf

Joe Lohmar

Ramon Montoya Vozmediano

Daniel Teece

Inka software developers : Yun-Chen Sung

Mike King

Patrick Dalton

Rasmus Tamstorf

Joe Lohmar

Ramon Montoya Vozmediano

Daniel Teece

Page 34: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

ConclusionsConclusionsConclusionsConclusions

• Different approaches, each with merits and pitfalls

• Image quality over speed

• Controllability over interactivity

• Integration is important

• Different approaches, each with merits and pitfalls

• Image quality over speed

• Controllability over interactivity

• Integration is important

Page 35: Ink Line Rendering for Film Production Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com Daniel Teece Walt Disney Feature Animation daniel.teece@disney.com

AcknowledgementsAcknowledgementsAcknowledgementsAcknowledgements

• Hiroki Itokazu

• Tad Gielow

• Jack Brooks

• Hiroki Itokazu

• Tad Gielow

• Jack Brooks