ptex_SM

download ptex_SM

of 37

Transcript of ptex_SM

  • 8/12/2019 ptex_SM

    1/37

    Ptex: Per-face Texture Mapping

    for Production Rendering

    Brent Burley and Dylan Lacewell

    Walt Disney Animation Studios

    EGSR 2008

    (See attached slide notes for details)

  • 8/12/2019 ptex_SM

    2/37

    Texture Mapping at Disney

  • 8/12/2019 ptex_SM

    3/37

    Chicken Little 2003

  • 8/12/2019 ptex_SM

    4/37

    170 textures

    Chicken Little 2003

  • 8/12/2019 ptex_SM

    5/37

    Meet the Robinsons 2005

  • 8/12/2019 ptex_SM

    6/37

    7637 Textures

    Meet the Robinsons 2005

  • 8/12/2019 ptex_SM

    7/37

    Meet the Robinsons

  • 8/12/2019 ptex_SM

    8/37

    6 million texture files

    100,000+ textures per render

    Mean file size 30 KB Median file size 2.5 KB

    I/O Bound!

    Meet the Robinsons

  • 8/12/2019 ptex_SM

    9/37

    Bolt 2008

    Pre-production estimate: 5x complexity of Meet the Robinsons

    Already at limits of texture system

  • 8/12/2019 ptex_SM

    10/37

  • 8/12/2019 ptex_SM

    11/37

    Requirements for new texture

    system Film-quality

    General

    Efficient Setup-free

  • 8/12/2019 ptex_SM

    12/37

    Filtering Requirements

    Anisotropic

    Filtering

    Aliasing-free Seamless

  • 8/12/2019 ptex_SM

    13/37

    Previous Texture Mapping Methods

  • 8/12/2019 ptex_SM

    14/37

    Projection

    Painting

  • 8/12/2019 ptex_SM

    15/37

    Seamless texture mapping of subdivision surfaces by model pelting and

    texture blending. Piponi and Borshukov, Siggraph 2000.

    Pelting

  • 8/12/2019 ptex_SM

    16/37

    Least squares conformal maps for automatic texture atlas

    generation. Levy et al., Siggraph 2002.

    Atlas Methods

  • 8/12/2019 ptex_SM

    17/37

    Volumetric Methods

    Painting and Rendering textures on unparameterized models.

    DeBry et al., Siggraph 2002.

  • 8/12/2019 ptex_SM

    18/37

    Polycube-maps, Tarini et al., Siggraph 2004.

    Per-face Methods

  • 8/12/2019 ptex_SM

    19/37

    Displaced Subdivision Surfaces.

    Lee et al., Siggraph 2000.

    Per-face Methods (cont.)

  • 8/12/2019 ptex_SM

    20/37

    Ptex

  • 8/12/2019 ptex_SM

    21/37

  • 8/12/2019 ptex_SM

    22/37

    Face 7:

    adj. faces: {-1,8,17,-1}

    adj. edges: {x,3,0,x},x=dont care

    Per-face UVs and adjacency data

  • 8/12/2019 ptex_SM

    23/37

    Painting

    Artists paint on limit surface in 3d painting

    system (tumble, paint, project).

    Auto-size feature compensates for

    parametric distortion.

    See video demonstration.

  • 8/12/2019 ptex_SM

    24/37

    212,536 faces

    1 ptex file

    4x4 texels per face

    3.4 million texels

    Auto-sized

    3.4 million texels

    Texture sizing

  • 8/12/2019 ptex_SM

    25/37

    Texture sizing - problem case

    Subd cage Limit surface

  • 8/12/2019 ptex_SM

    26/37

    Sizing by

    control-face area

    Sizing by

    limit-surface area

    Sizing by

    derivative sampling

    Texture sizing - solution

  • 8/12/2019 ptex_SM

    27/37

    Filtering

  • 8/12/2019 ptex_SM

    28/37

    Filtering in PRMan

  • 8/12/2019 ptex_SM

    29/37

    Filtering

  • 8/12/2019 ptex_SM

    30/37

    Resolution Mismatch

  • 8/12/2019 ptex_SM

    31/37

  • 8/12/2019 ptex_SM

    32/37

    Extraordinary Vertex

  • 8/12/2019 ptex_SM

    33/37

  • 8/12/2019 ptex_SM

    34/37

    1024x1024 pixels Per-patch textures Ptex

    CPU seconds 171 141

    # I/O calls 18,581,058 9,209

    20x20 pixels Per-patch textures Ptex

    CPU seconds 27 2

    # I/O calls 4,218,733 84

    Results

  • 8/12/2019 ptex_SM

    35/37

    Glagos Guest 2008

    B l

  • 8/12/2019 ptex_SM

    36/37

    Bolt

    Bolt has nearly completed production. Ptex has been an unqualified success.

  • 8/12/2019 ptex_SM

    37/37

    Future

    Currently adding non-quad support

    (straightforward, described in paper).

    Considering Loop subd support.

    Interesting question - what shape should

    texels be on a triangle mesh (triangular,

    quadrilateral, hexagonal)?