SlideShare a Scribd company logo
1 of 48
Download to read offline
DX11 Tessellation


    Tianyun Ni
Tessellation Agenda

 Motivation
 How it works
 Tessellation Schemes
 Watertight, LODs, perf
 Examples
    Metro2033
    Terrain Fractal detail
 DS shading
Geometric Realism in Film

 Geometric complexity is key to
 realism
                                        © Pixar animation studios


 Pixels are meticulously shaded

 Geometric detail is substantial

 Enables richer content and animation

                                           © Disney Enterprises, Inc. and Jerry Bruckheimer, Inc.
                                        All rights reserved. Image courtesy Industrial Light & Magic.
The Problem of Geometric Realism in Games

 Pixels are meticulously shaded,
            but geometric detail is modest




                           Image from Far Cry® 2,
                             courtesy of Ubisoft
Tessellation – What and Why

 Memory footprint & BW savings
     Store coarse geometry, expand on-demand
     Enables more complex animations


 Scalability
     Dynamic LOD allows for performance/quality tradeoffs
     Scale into the future – resolution, compute power


 Computational efficiency
     Dynamic LOD
     GPU animate and expand compact representation   © Kenneth Scott, id Software 2008
Tessellation Adds Rich Detail to Games
  Tessellation OFF                                                       Tessellation ON   
                                   Adds detail to edges




                                    Accurate occlusion




                                     Realistic shadows



                            Dynamically adds geometry only
                                  where it’s needed




                         Unigine Corp. © 2005-2010. All rights reserved
                                   Unigine Heaven Benchmark
From input assembly
Tessellation in DirectX 11
                                                                       Vertex
 Hull shader
     Runs pre-expansion                                              Patch
     Explicitly parallel across control points                     Assembly


                                                                        Hull
 Fixed function tessellation stage
     Configured by LOD output from HS              Control        Tessellator
     Produces triangles and lines                   points
     Expansion happens here
                                                                       Domain

 Domain shader
                                                                   Primitive
     Runs post-expansion                                           Assembly
     Maps (u,v) to (x,y,z,w)
     Implicitly parallel                                           Geometry
From input assembly
Life of a patch
                                                                       Vertex
            Input Mesh
            (a collection of patch primitives)                       Patch
            Displacement Map                                       Assembly
            Normal Map (optional)

                                                                        Hull

 Patch                                             Control        Tessellator
    Represent the a face and its 1-ring.            points
    Only primitive type that is supported                              Domain
    when tessellation stages are enabled.
    Arbitrary number of vertices between 1                         Primitive
    and 32                                                         Assembly

    No implied topology.
                                                                   Geometry
From input assembly
Life of a patch
                                                                               Vertex
                    Input Mesh
                    (a collection of patch primitives)                       Patch
                    Displacement Map                                       Assembly
                    Normal Map (optional)

                                                                                Hull

 Skinning,…
                                                           Control        Tessellator
    struct VERTEX                                           points
    {
                                                                               Domain
       float3 vPosition               : POSITION;
       float2 vUV                     : TEXCOORD0;
       float3 vTangent                : TANGENT;                           Primitive
       uint4 vBones                   : BONES;                             Assembly
       float4 vWeights                : WEIGHTS;
    };
                                                                           Geometry
From input assembly
Life of a patch
                                                                       Vertex
            Input Mesh
            (a collection of patch primitives)                       Patch
            Displacement Map                                       Assembly
            Normal Map (optional)

                                                                        Hull

 Hull Shader                                       Control        Tessellator
    Control Point Phase (optional)                  points
       Compute Control points (optional)                               Domain
       Explicitly parallel
    Constant Phase                                                 Primitive
       Compute LODs                                                Assembly

       Compute per patch information
                                                                   Geometry
       Pseudo parallel (fxc dependent)
From input assembly
Life of a patch
                                                             Vertex
Tessellator
   Where expansion happens                                 Patch
                                                         Assembly
Let lod be the TessFactor at each
edge and interior                                             Hull


Number of triangles on a triangle        Control        Tessellator
domain                                    points
1+6*∑ i=1 lod/2(2*i), If lod is odd
                                                             Domain
6*∑ i=1 lod/2(2*i-1), If lod is even

Number of triangles on a quad                            Primitive
domain                                                   Assembly

2*lod*lod
                                                         Geometry
From input assembly
Life of a patch
                                                                                       Vertex
                Input Mesh
                (a collection of patch primitives)                                   Patch
                Displacement Map                                                   Assembly
                Normal Map (optional)

                                             Patch Surface                              Hull
 Domain Shader
                                                                   Control        Tessellator
     Surface Evaluation                                             points
     Displacement mapping
                                                                                       Domain
     Implicitly parallel (on thread
     per vertex)
                                            High-detailed Mesh                     Primitive
     Vertex shader tasks                                                           Assembly
          Vertex projection
          Normal transformation
          …                                                                        Geometry
Tessellation schemes

 Various tessellation schemes differ at

     Number of vertices in the patch primitive
     Control points computations (in Hull Shader)
     Pass through or higher order parametric patch
     Surface evaluation (in Domain Shader)
     Barycentric interpolation or higher order parametric patch


                        Phong                              Catmull-Clark
    Linear/Flat                          PN Triangles
                      Tessellation                        (approximated)


                       Local Construction Schemes
PN Triangles

 Key features:
     Cubic Bezier patches                              Geometry
     Quadratic normal variation                        patch


 Easy to implement

                                  One input triangle   Normal
 Hard edges not handled                                patch




 “Curved PN Triangles”, by Alex Vlachos, Jö rg Peters, Chas Boyd, and Jason
 Mitchell, I3D 2001.
 “PN Quads”, by Jö rg Peters, 2008.
Phong Tessellation

  Key features:
      Quadratic geometry interpolation
      Linear normal variation (phong shading)



  Simpler than PN Triangles

  Can not handle inflection points
      Needs a relatively dense mesh to start with


Paper Siggraph 2008 Asia, by Tamy Boubekeur & Marc Alexa
Catmull-Clark Subdivision Surfaces

 Provides movie-quality surfaces
    Catmull-Clark subdivision surfaces are extensively used
    in movie production and modeling & sculpting tools

 Suitable for quadrilateral meshes with few triangles

 Approximation (ACC)
    Approximation rather than interpolation
    Requires the mesh info of a facet and its1-ring
    neighborhood
ACC references

 Approximating Catmull-Clark Subdivision Surface with Bicubic
 Patches” by Charles Loop and Scott Schaefer, ACM Transactions
 on Graphics, Vol. 27 No. 1 Article 8 March 2008.
       http://research.microsoft.com/en-us/um/people/cloop/msrtr-2007-44.pdf


 “Approximating Subdivision Surface with Gregory Patches for
 hardware Tessellation” by Charles Loop, Scott Schaefer, Tianyun
 Ni, Ignacio Castano, Siggraph Asia 2009.
       http://research.microsoft.com/en-us/um/people/cloop/sga09.pdf
       Extends previous work to a more general mesh that contain quads, triangles
       and meshes with boundary.
       Reduces number of control points for faster surface construction and
       evaluation.
Tessellation Schemes Comparison

               # of vertices in a   # of control   Base   Surface fairness
               patch primitive      points         mesh

 Phong            3                    6                  Artifacts at inflection points and
               Or 4                 Or 9                  high curvature area

 PN            3                       10+6               Artifacts at high curvature area
               Or 4                 Or 16+9
 Gregory ACC   16 to 32                15                 Similar to CC surfaces
                                    Or 20



         Choose appropriate schemes for your art assets.
         Tradeoff between performance and visual quality
Water Tightness

 Control Points cracks
    Problem: floating point precision issues a+b+c != c+b+a
    Require consistent evaluations at corners and edges


 Displacement cracks
    Problem: Bilinear discontinuities
    Define patch ownership of the texture coordinates

 Normals
    Problem: cross(tanU,tanV) ≠cross(tanV, tanU)
    Discontinuities occur at shared corners and edges
LOD computation

 LOD heuristics
    Object to camera distance
    Screen resolution
    Silhouette
    Displacement density
 Performance/quality balance control
 Smooth LOD transitions
Screen Space LOD Computation

 Generate exactly the amount of geometry
 needed for a given view
    No under/oversampling


 Uniform sampling of the surface improves
 shading

 Triangles of roughly the same size => hw
 efficiency
    4-8 pixels/tri on screen for high end
Optimization tips

 Per-object culling (based on bounding box)
     Frustum
     Occlusion
 Per-patch culling (in the hull shader, based on tight-bound
 Displaced Bezier patches)
    Frustum, Backface, Occlusion (?)
    Set tessellation factor to 0
 Do not use tessellation factor = 1
Metro 2033: Tessellation in characters

 Displacement mapping enables film-level
 geometric complexity in real-time




  Screenshots from Metro 2033
  © THQ and 4A Games
Metro 2033 tessellation

 Reuse of DX9/DX10 assets
    Phong Tessellation + Displacement maps


 LOD criteria:
    TESS_FACT = LEN * NP * Q / DIST

    Where LEN is edge length in world space
    NP is number of pixels on the screen
    Q is quality constant
    DIST is distance from observer to edge center
Metro 2033: Tessellation in characters
Metro 2033: Artifacts on Hard Edges
Transitional Polygons
Terrain Tessellation


  Flat quads; regular grid

  Height map; vertical displacement; sample in DS

  Challenges:
      Existing data from DX9/DX10

      A wide range of LODs
Data Solution: Fractal “Amplification”
 Coarse height map defines topographic shape
    Upsample with bicubic
 Fractal detail map adds high-LOD detail (fBm)

                 Bicubic           Noise




 Cheap memory requirements
 Can reuse coarse assets from DX9 or DX10 engine
Fractal “Amplification” - Results
                                    No hw tessellation
Fractal “Amplification” - Results
                                    Bicubic filtered heights
Fractal “Amplification” - Results
                                                 Tessellation
                                    Bicubic + 5 octaves fBm
Screen-space-based LOD (hull shader)
 Enclose quad patch edge in bounding sphere
 Project into screen-space
                         Screen



                              Projected
                     Δ size    sphere
                              diameter
    eye



  Δs per edge = diameter / target Δ size
  (diameter & target size in pixels)
  Fully independent of patch size
Fractal “Amplification” - Results
                                    No hw tessellation
Fractal “Amplification” - Results
                                                 Tessellation
                                    Bicubic + 5 octaves fBm
HAWX 2 Results

     No Hardwre Tessellation
HAWX 2 Results

             Tessellation
     Bicubic + 5 octaves
HAWX 2 Results

     No Hardwre Tessellation
HAWX 2 Results

             Tessellation
     Bicubic + 5 octaves
HAWX 2 Results

     No Hardwre Tessellation
HAWX 2 Results

             Tessellation
     Bicubic + 5 octaves
Shading at different frequencies

 Hoist lower-frequency computation from PS to DS
    E.g. ambient/volumetric lighting


 Shading in object space sometimes better
    More uniform surface sampling
    Less aliasing under animation


 In general, compute complex things as early in the pipeline as
 possible
    VS possible? … HS possible? … DS possible? … If not, then PS
    Try to minimize number of attributes coming to PS stage
Shading in the Domain Shader
Conclusions on Tessellation

 Direct3D11 Tessellation enables visual detail
     Several tessellation schemes with flexible LOD control
     Changes to content creation pipeline
     Tessellation HW is very powerful, but still need to use it wisely
 It is possible to re-use DX9/DX10 content with no extra work
     Local schemes, Fractal noise functions,…
 Tessellation is not only about visual detail, but faster shading
     Shading in DS


             It’s time to bring games to the next level!!!
Thanks

 To all the people I borrowed material from: Miguel Sainz, Kirill
 Dmitriev, Yury Uralsky, Iain Cantlay, Jon Jansen, Cem
 Cebenoyan, Sarah Tariq, Tim Tcheblokov, Evgeny Makarov, THQ,
 4A Games, Ubisoft, ID, Pixar, Disney…

 For questions/comments please contact us:


    tni@nvidia.com
Other use cases: Grass
Other use cases: Hair
Content Creation Pipeline

 Modeling Tools
    Base surface
    (control cage)

 Sculpting Tools
    Detailed mesh

 Baker Tools
    Normal, displacement, occlusion, and other
    maps…

    Some baker tools can be automated… talk to us!

More Related Content

What's hot

What's hot (9)

Mesh Generation and Topological Data Analysis
Mesh Generation and Topological Data AnalysisMesh Generation and Topological Data Analysis
Mesh Generation and Topological Data Analysis
 
December 2, Projects
December 2, ProjectsDecember 2, Projects
December 2, Projects
 
Algorithm to remove spectral leakage
Algorithm to remove spectral leakageAlgorithm to remove spectral leakage
Algorithm to remove spectral leakage
 
14.20 o1 m miller
14.20 o1 m miller14.20 o1 m miller
14.20 o1 m miller
 
[Download] rev chapter-9-june26th
[Download] rev chapter-9-june26th[Download] rev chapter-9-june26th
[Download] rev chapter-9-june26th
 
W4 physics 2003
W4 physics 2003W4 physics 2003
W4 physics 2003
 
Awg waveform compensation by maximum entropy method
Awg waveform compensation by maximum entropy methodAwg waveform compensation by maximum entropy method
Awg waveform compensation by maximum entropy method
 
SAL3D presentation - AQSENSE's 3D machine vision library
SAL3D presentation - AQSENSE's 3D machine vision librarySAL3D presentation - AQSENSE's 3D machine vision library
SAL3D presentation - AQSENSE's 3D machine vision library
 
Robust Super-Resolution by minimizing a Gaussian-weighted L2 error norm
Robust Super-Resolution by minimizing a Gaussian-weighted L2 error normRobust Super-Resolution by minimizing a Gaussian-weighted L2 error norm
Robust Super-Resolution by minimizing a Gaussian-weighted L2 error norm
 

Viewers also liked

Viewers also liked (7)

Tessellation on any_budget-gdc2011
Tessellation on any_budget-gdc2011Tessellation on any_budget-gdc2011
Tessellation on any_budget-gdc2011
 
Gdc2012 frames, sparsity and global illumination
Gdc2012 frames, sparsity and global illumination Gdc2012 frames, sparsity and global illumination
Gdc2012 frames, sparsity and global illumination
 
Terrain in Battlefield 3: A Modern, Complete and Scalable System
Terrain in Battlefield 3: A Modern, Complete and Scalable SystemTerrain in Battlefield 3: A Modern, Complete and Scalable System
Terrain in Battlefield 3: A Modern, Complete and Scalable System
 
Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016
 
Physically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbitePhysically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in Frostbite
 
The Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsThe Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next Steps
 
Photogrammetry and Star Wars Battlefront
Photogrammetry and Star Wars BattlefrontPhotogrammetry and Star Wars Battlefront
Photogrammetry and Star Wars Battlefront
 

[04][dx11 테셀레이션] ni tessellation

  • 1. DX11 Tessellation Tianyun Ni
  • 2. Tessellation Agenda Motivation How it works Tessellation Schemes Watertight, LODs, perf Examples Metro2033 Terrain Fractal detail DS shading
  • 3. Geometric Realism in Film Geometric complexity is key to realism © Pixar animation studios Pixels are meticulously shaded Geometric detail is substantial Enables richer content and animation © Disney Enterprises, Inc. and Jerry Bruckheimer, Inc. All rights reserved. Image courtesy Industrial Light & Magic.
  • 4. The Problem of Geometric Realism in Games Pixels are meticulously shaded, but geometric detail is modest Image from Far Cry® 2, courtesy of Ubisoft
  • 5. Tessellation – What and Why Memory footprint & BW savings Store coarse geometry, expand on-demand Enables more complex animations Scalability Dynamic LOD allows for performance/quality tradeoffs Scale into the future – resolution, compute power Computational efficiency Dynamic LOD GPU animate and expand compact representation © Kenneth Scott, id Software 2008
  • 6. Tessellation Adds Rich Detail to Games Tessellation OFF  Tessellation ON  Adds detail to edges Accurate occlusion Realistic shadows Dynamically adds geometry only where it’s needed Unigine Corp. © 2005-2010. All rights reserved Unigine Heaven Benchmark
  • 7. From input assembly Tessellation in DirectX 11 Vertex Hull shader Runs pre-expansion Patch Explicitly parallel across control points Assembly Hull Fixed function tessellation stage Configured by LOD output from HS Control Tessellator Produces triangles and lines points Expansion happens here Domain Domain shader Primitive Runs post-expansion Assembly Maps (u,v) to (x,y,z,w) Implicitly parallel Geometry
  • 8. From input assembly Life of a patch Vertex Input Mesh (a collection of patch primitives) Patch Displacement Map Assembly Normal Map (optional) Hull Patch Control Tessellator Represent the a face and its 1-ring. points Only primitive type that is supported Domain when tessellation stages are enabled. Arbitrary number of vertices between 1 Primitive and 32 Assembly No implied topology. Geometry
  • 9. From input assembly Life of a patch Vertex Input Mesh (a collection of patch primitives) Patch Displacement Map Assembly Normal Map (optional) Hull Skinning,… Control Tessellator struct VERTEX points { Domain float3 vPosition : POSITION; float2 vUV : TEXCOORD0; float3 vTangent : TANGENT; Primitive uint4 vBones : BONES; Assembly float4 vWeights : WEIGHTS; }; Geometry
  • 10. From input assembly Life of a patch Vertex Input Mesh (a collection of patch primitives) Patch Displacement Map Assembly Normal Map (optional) Hull Hull Shader Control Tessellator Control Point Phase (optional) points Compute Control points (optional) Domain Explicitly parallel Constant Phase Primitive Compute LODs Assembly Compute per patch information Geometry Pseudo parallel (fxc dependent)
  • 11. From input assembly Life of a patch Vertex Tessellator Where expansion happens Patch Assembly Let lod be the TessFactor at each edge and interior Hull Number of triangles on a triangle Control Tessellator domain points 1+6*∑ i=1 lod/2(2*i), If lod is odd Domain 6*∑ i=1 lod/2(2*i-1), If lod is even Number of triangles on a quad Primitive domain Assembly 2*lod*lod Geometry
  • 12. From input assembly Life of a patch Vertex Input Mesh (a collection of patch primitives) Patch Displacement Map Assembly Normal Map (optional) Patch Surface Hull Domain Shader Control Tessellator Surface Evaluation points Displacement mapping Domain Implicitly parallel (on thread per vertex) High-detailed Mesh Primitive Vertex shader tasks Assembly Vertex projection Normal transformation … Geometry
  • 13. Tessellation schemes Various tessellation schemes differ at Number of vertices in the patch primitive Control points computations (in Hull Shader) Pass through or higher order parametric patch Surface evaluation (in Domain Shader) Barycentric interpolation or higher order parametric patch Phong Catmull-Clark Linear/Flat PN Triangles Tessellation (approximated) Local Construction Schemes
  • 14. PN Triangles Key features: Cubic Bezier patches Geometry Quadratic normal variation patch Easy to implement One input triangle Normal Hard edges not handled patch “Curved PN Triangles”, by Alex Vlachos, Jö rg Peters, Chas Boyd, and Jason Mitchell, I3D 2001. “PN Quads”, by Jö rg Peters, 2008.
  • 15. Phong Tessellation Key features: Quadratic geometry interpolation Linear normal variation (phong shading) Simpler than PN Triangles Can not handle inflection points Needs a relatively dense mesh to start with Paper Siggraph 2008 Asia, by Tamy Boubekeur & Marc Alexa
  • 16. Catmull-Clark Subdivision Surfaces Provides movie-quality surfaces Catmull-Clark subdivision surfaces are extensively used in movie production and modeling & sculpting tools Suitable for quadrilateral meshes with few triangles Approximation (ACC) Approximation rather than interpolation Requires the mesh info of a facet and its1-ring neighborhood
  • 17. ACC references Approximating Catmull-Clark Subdivision Surface with Bicubic Patches” by Charles Loop and Scott Schaefer, ACM Transactions on Graphics, Vol. 27 No. 1 Article 8 March 2008. http://research.microsoft.com/en-us/um/people/cloop/msrtr-2007-44.pdf “Approximating Subdivision Surface with Gregory Patches for hardware Tessellation” by Charles Loop, Scott Schaefer, Tianyun Ni, Ignacio Castano, Siggraph Asia 2009. http://research.microsoft.com/en-us/um/people/cloop/sga09.pdf Extends previous work to a more general mesh that contain quads, triangles and meshes with boundary. Reduces number of control points for faster surface construction and evaluation.
  • 18. Tessellation Schemes Comparison # of vertices in a # of control Base Surface fairness patch primitive points mesh Phong 3 6 Artifacts at inflection points and Or 4 Or 9 high curvature area PN 3 10+6 Artifacts at high curvature area Or 4 Or 16+9 Gregory ACC 16 to 32 15 Similar to CC surfaces Or 20 Choose appropriate schemes for your art assets. Tradeoff between performance and visual quality
  • 19. Water Tightness Control Points cracks Problem: floating point precision issues a+b+c != c+b+a Require consistent evaluations at corners and edges Displacement cracks Problem: Bilinear discontinuities Define patch ownership of the texture coordinates Normals Problem: cross(tanU,tanV) ≠cross(tanV, tanU) Discontinuities occur at shared corners and edges
  • 20. LOD computation LOD heuristics Object to camera distance Screen resolution Silhouette Displacement density Performance/quality balance control Smooth LOD transitions
  • 21. Screen Space LOD Computation Generate exactly the amount of geometry needed for a given view No under/oversampling Uniform sampling of the surface improves shading Triangles of roughly the same size => hw efficiency 4-8 pixels/tri on screen for high end
  • 22. Optimization tips Per-object culling (based on bounding box) Frustum Occlusion Per-patch culling (in the hull shader, based on tight-bound Displaced Bezier patches) Frustum, Backface, Occlusion (?) Set tessellation factor to 0 Do not use tessellation factor = 1
  • 23. Metro 2033: Tessellation in characters Displacement mapping enables film-level geometric complexity in real-time Screenshots from Metro 2033 © THQ and 4A Games
  • 24. Metro 2033 tessellation Reuse of DX9/DX10 assets Phong Tessellation + Displacement maps LOD criteria: TESS_FACT = LEN * NP * Q / DIST Where LEN is edge length in world space NP is number of pixels on the screen Q is quality constant DIST is distance from observer to edge center
  • 25. Metro 2033: Tessellation in characters
  • 26. Metro 2033: Artifacts on Hard Edges
  • 28. Terrain Tessellation Flat quads; regular grid Height map; vertical displacement; sample in DS Challenges: Existing data from DX9/DX10 A wide range of LODs
  • 29. Data Solution: Fractal “Amplification” Coarse height map defines topographic shape Upsample with bicubic Fractal detail map adds high-LOD detail (fBm) Bicubic Noise Cheap memory requirements Can reuse coarse assets from DX9 or DX10 engine
  • 30. Fractal “Amplification” - Results No hw tessellation
  • 31. Fractal “Amplification” - Results Bicubic filtered heights
  • 32. Fractal “Amplification” - Results Tessellation Bicubic + 5 octaves fBm
  • 33. Screen-space-based LOD (hull shader) Enclose quad patch edge in bounding sphere Project into screen-space Screen Projected Δ size sphere diameter eye Δs per edge = diameter / target Δ size (diameter & target size in pixels) Fully independent of patch size
  • 34. Fractal “Amplification” - Results No hw tessellation
  • 35. Fractal “Amplification” - Results Tessellation Bicubic + 5 octaves fBm
  • 36. HAWX 2 Results No Hardwre Tessellation
  • 37. HAWX 2 Results Tessellation Bicubic + 5 octaves
  • 38. HAWX 2 Results No Hardwre Tessellation
  • 39. HAWX 2 Results Tessellation Bicubic + 5 octaves
  • 40. HAWX 2 Results No Hardwre Tessellation
  • 41. HAWX 2 Results Tessellation Bicubic + 5 octaves
  • 42. Shading at different frequencies Hoist lower-frequency computation from PS to DS E.g. ambient/volumetric lighting Shading in object space sometimes better More uniform surface sampling Less aliasing under animation In general, compute complex things as early in the pipeline as possible VS possible? … HS possible? … DS possible? … If not, then PS Try to minimize number of attributes coming to PS stage
  • 43. Shading in the Domain Shader
  • 44. Conclusions on Tessellation Direct3D11 Tessellation enables visual detail Several tessellation schemes with flexible LOD control Changes to content creation pipeline Tessellation HW is very powerful, but still need to use it wisely It is possible to re-use DX9/DX10 content with no extra work Local schemes, Fractal noise functions,… Tessellation is not only about visual detail, but faster shading Shading in DS It’s time to bring games to the next level!!!
  • 45. Thanks To all the people I borrowed material from: Miguel Sainz, Kirill Dmitriev, Yury Uralsky, Iain Cantlay, Jon Jansen, Cem Cebenoyan, Sarah Tariq, Tim Tcheblokov, Evgeny Makarov, THQ, 4A Games, Ubisoft, ID, Pixar, Disney… For questions/comments please contact us: tni@nvidia.com
  • 48. Content Creation Pipeline Modeling Tools Base surface (control cage) Sculpting Tools Detailed mesh Baker Tools Normal, displacement, occlusion, and other maps… Some baker tools can be automated… talk to us!