Surface Parametrizations Hugues Hoppe Microsoft Research IMA Workshop on Computer Graphics May 18, 2001 Hugues Hoppe Microsoft Research IMA Workshop on.

Slides:



Advertisements
Similar presentations
Signal-Specialized Parametrization Microsoft Research 1 Harvard University 2 Microsoft Research 1 Harvard University 2 Steven J. Gortler 2 Hugues Hoppe.
Advertisements

Lapped textures Emil Praun Adam Finkelstein Hugues Hoppe
Emil Praun Hugues Hoppe Matthew Webb Adam Finkelstein
Silhouette Clipping Pedro V. Sander Xianfeng Gu Steven J. Gortler Harvard University Pedro V. Sander Xianfeng Gu Steven J. Gortler Harvard University Hugues.
Texture-Mapping Progressive Meshes
Geometry Clipmaps: Terrain Rendering Using Nested Regular Grids
Real-Time Fur on Arbitrary Surfaces Jed Lengyel Emil Praun Adam Finkelstein Hugues Hoppe Jed Lengyel Emil Praun Adam Finkelstein Hugues Hoppe Microsoft.
Parameterized Environment Maps
Shape Compression using Spherical Geometry Images
Surface Signals for Graphics John Snyder Researcher 3D Graphics Group Microsoft Research.
Multi-chart Geometry Images Pedro Sander Harvard Harvard Hugues Hoppe Microsoft Research Hugues Hoppe Microsoft Research Steven Gortler Harvard Harvard.
Computer graphics & visualization Real-Time Pencil Rendering Marc Treib.
03/16/2009Dinesh Manocha, COMP770 Texturing Surface’s texture: its look & feel Graphics: a process that takes a surface and modifies its appearance using.
Geometry Image Xianfeng Gu, Steven Gortler, Hugues Hoppe SIGGRAPH 2002 Present by Pin Ren Feb 13, 2003.
Real-Time Rendering POLYGONAL TECHNIQUES Lecture 05 Marina Gavrilova.
Geometry Images Steven Gortler Harvard University Steven Gortler Harvard University Xianfeng Gu Harvard University Xianfeng Gu Harvard University Hugues.
Lapped Textures Emil Praun and Adam Finkelstien (Princeton University) Huges Hoppe (Microsoft Research) SIGGRAPH 2000 Presented by Anteneh.
Pedro V. Sander Xianfeng Gu Steven J. Gortler Harvard University
Smooth view-dependent LOD control and its application to terrain rendering Hugues Hoppe Microsoft Research IEEE Visualization 1998.
New quadric metric for simplifying meshes with appearance attributes Hugues Hoppe Microsoft Research IEEE Visualization 1999 Hugues Hoppe Microsoft Research.
Signal-Specialized Parameterization for Piecewise Linear Reconstruction Geetika Tewari, Harvard University John Snyder, Microsoft Research Pedro V. Sander,
Discontinuity Edge Overdraw
Signal-Specialized Parametrization Microsoft Research 1 Harvard University 2 Microsoft Research 1 Harvard University 2 Steven J. Gortler 2 Hugues Hoppe.
View-Dependent Refinement of Progressive Meshes Hugues Hoppe Microsoft Research SIGGRAPH 97.
Spherical Parameterization and Remeshing Emil Praun, University of Utah Hugues Hoppe, Microsoft Research.
HCI 530 : Seminar (HCI) Damian Schofield.
1 Displaced Subdivision Surfaces Aaron Lee Princeton University Henry Moreton Nvidia Hugues Hoppe Microsoft Research.
Iso-charts: Stretch-driven Mesh Parameterization using Spectral Analysis Kun Zhou, John Snyder*, Baining Guo, Heung-Yeung Shum Microsoft Research Asia.
Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University.
Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University.
Bounded-distortion Piecewise Mesh Parameterization
Fur and hair are not typically uniform in color but instead are many slightly different shades. We wanted to simulate this using a single texture map.
Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe.
(conventional Cartesian reference system)
Irregular to Completely Regular Meshing in Computer Graphics Hugues Hoppe Microsoft Research International Meshing Roundtable 2002/09/17 Hugues Hoppe Microsoft.
Mesh Parameterization: Theory and Practice Non-Planar Domains.
Consistent Parameterizations Arul Asirvatham Committee Members Emil Praun Hugues Hoppe Peter Shirley.
Smooth Geometry Images Frank Losasso, Hugues Hoppe, Scott Schaefer, Joe Warren.
Painterly Rendering for Animation Barbara J. Meier Walt Disney Feature Animation SIGGRAPH 96.
Geometry Videos Symposium on Computer Animation 2003 Hector M. Briceño Collaborators: Pedro V. Sander, Leonard McMillan, Steven Gortler, and Hugues Hoppe.
1 Texturing. 2 What is Texturing? 3 Texture Mapping Definition: mapping a function onto a surface; function can be:  1, 2, or 3D  sampled (image) or.
Projective Texture Atlas for 3D Photography Jonas Sossai Júnior Luiz Velho IMPA.
Intrinsic Parameterization for Surface Meshes Mathieu Desbrun, Mark Meyer, Pierre Alliez CS598MJG Presented by Wei-Wen Feng 2004/10/5.
Signal-Specialized Parameterization for Piecewise Linear Reconstruction Geetika Tewari, Harvard University John Snyder, Microsoft Research Pedro V. Sander,
11/11/04© University of Wisconsin, CS559 Fall 2004 Last Time Shading Interpolation Texture mapping –Barycentric coordinates for triangles.
PolyCube-Maps seamless texture mapping
Light Using Texture Synthesis for Non-Photorealistic Shading from Paint Samples. Christopher D. Kulla, James D. Tucek, Reynold J. Bailey, Cindy M. Grimm.
Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18,
Presented By Greg Gire Advised By Zoë Wood California Polytechnic State University.
Mesh Color Cem Yuksel John Keyser Donald H. House Texas A&M University SIGGRAPH /12/06 Xiang.
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
C O M P U T E R G R A P H I C S Guoying Zhao 1 / 14 C O M P U T E R G R A P H I C S Guoying Zhao 1 / 14 Going-through.
Geometry Images Xiang Gu Harvard University Steven J. Gortler Harvard university Hugues Hoppe Microsoft Research Some slides taken from Hugues Hoppe.
Why manifolds?. Motivation We know well how to compute with planar domains and functions many graphics and geometric modeling applications involve domains.
1 Manifolds from meshes Cindy Grimm and John Hughes, “Modeling Surfaces of Arbitrary Topology using Manifolds”, Siggraph ’95 J. Cotrina Navau and N. Pla.
Computer Graphics Some slides courtesy of Pierre Alliez and Craig Gotsman Texture mapping and parameterization.
Computer Graphics 2 Lecture 7: Texture Mapping Benjamin Mora 1 University of Wales Swansea Pr. Min Chen Dr. Benjamin Mora.
CHAPTER 8 Color and Texture Mapping © 2008 Cengage Learning EMEA.
Simplifying Surfaces with Color and Texture using Quadric Error Metrics Michael Garland Paul S. Heckbert Carnegie Mellon University October 1998 Michael.
04/06/05© 2005 University of Wisconsin NPR Today “Real–Time Hatching”, Emil Praun, Hugues Hoppe, Matthew Webb and Adam Finkelstein, SIGGRAPH 2001 “HijackGL:
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
Rendering Large Models (in real time)
Reverse Engineering of Point Clouds to Obtain Trimmed NURBS Lavanya Sita Tekumalla Advisor: Prof. Elaine Cohen School of Computing University of Utah Masters.
Fine Tone Control in Hardware Hatching Matthew Webb Emil Praun Hugues Hoppe Adam Finkelstein Princeton University Microsoft Research Princeton University.
Acquiring, Stitching and Blending Diffuse Appearance Attributes on 3D Models C. Rocchini, P. Cignoni, C. Montani, R. Scopigno Istituto Scienza e Tecnologia.
1 Geometry for Game. Geometry Geometry –Position / vertex normals / vertex colors / texture coordinates Topology Topology –Primitive »Lines / triangles.
1 Real-Time High-Quality View-dependent Texture Mapping using Per-Pixel Visibility Damien Porquet Jean-Michel Dischler Djamchid Ghazanfarpour MSI Laboratory,
Mesh Parameterization: Theory and Practice
Presentation transcript:

Surface Parametrizations Hugues Hoppe Microsoft Research IMA Workshop on Computer Graphics May 18, 2001 Hugues Hoppe Microsoft Research IMA Workshop on Computer Graphics May 18, 2001

MotivationMotivation Powerful rasterization hardware n normal maps, … n multi-texturing n pixel shaders n mainstream  Need to associate textures with surface  Need to parametrize surface Powerful rasterization hardware n normal maps, … n multi-texturing n pixel shaders n mainstream  Need to associate textures with surface  Need to parametrize surface

Two approaches l Lapped parametrization n overlapping patches n instancing l Lapped parametrization n overlapping patches n instancing l Global parametrization n atlas of charts n distinct domains 2D texture mesh surface

Projects in this talk l Lapped parametrization n Lapped textures [SIGGRAPH 2000] n Real-time fur [I3D 2001] n Real-time hatching [SIGGRAPH 2001] l Lapped parametrization n Lapped textures [SIGGRAPH 2000] n Real-time fur [I3D 2001] n Real-time hatching [SIGGRAPH 2001] l Global parametrization n Silhouette clipping [SIGGRAPH 2000] n Texture mapping progressive meshes [SIGGRAPH 2001] with:Emil Praun, Adam Finkelstein (Princeton), Jed Lengyel (Microsoft) with:Emil Praun, Adam Finkelstein (Princeton), Jed Lengyel (Microsoft) with:Pedro Sander, Steven Gortler (Harvard), John Snyder (Microsoft) with:Pedro Sander, Steven Gortler (Harvard), John Snyder (Microsoft)

[Sander, Gu, Gortler, Hoppe, Snyder. SIGGRAPH 2000] Silhouette clipping

Mesh simplification original mesh + texture/bump map poor silhouette simplified mesh

silhouette clipped Silhouette clipping original mesh simplified mesh + texture/bump map

silhouette clipped Silhouette clipping original mesh simplified mesh + texture/bump map

Texturing the simplified mesh original mesh simplified mesh texture atlas rendered 70K faces500 faces [Soucy et al 96] [Cignoni et al 98]

Atlas of triangles mesh (500 faces) (8 x 32 x 2 triangles, 256 x 1024 texels) texture type normal map color map

Texture sampling closest-point [Cignoni et al 98] original simplified vertex normals normal-shooting (our technique)

Summary: atlas of triangles original mesh simplified mesh texture atlas rendered 70K faces500 faces non-uniform sampling!

[Sander, Snyder, Gortler, Hoppe. SIGGRAPH 2001] Texture mapping progressive meshes

43,000 faces Progressive mesh representation refinement stream base mesh 43 faces 1,000 2,000  level-of-detail control 43,000

ChallengeChallenge l So far, texture atlas defined for single mesh. l What if desire mesh with 1000, 2000 faces? l Store additional texture atlases ?  l So far, texture atlas defined for single mesh. l What if desire mesh with 1000, 2000 faces? l Store additional texture atlases ?  500 faces atlas of 500 triangles

SolutionSolution l Construct texture atlas valid for all M 0 …M n. 470 faces 700 faces 1,200 faces 10,000 faces

GoalsGoals (1) Minimize texture stretch

GoalsGoals (2) Minimize texture deviation (1) Minimize texture stretch (2) Minimize texture deviation (stricter than Hausdorff error) [Cohen et al 98]

ApproachApproach (1) partition original mesh into charts (2) form initial chart parametrizations (3) resize chart polygons (4) simplify mesh (5) optimize parametrization (6) pack chart polygons (7) sample texture images

ApproachApproach straight boundaries!

ApproachApproach (1) partition original mesh into charts (2) form initial chart parametrizations (3) resize chart polygons (4) simplify mesh (5) optimize parametrization (6) pack chart polygons (7) sample texture images

ApproachApproach

ApproachApproach

ApproachApproach

ApproachApproach

ApproachApproach mipmap artifacts!

ApproachApproach (1) partition original mesh into charts (2) form initial chart parametrizations (3) resize chart polygons (4) simplify mesh (5) optimize parametrization (6) pack chart polygons (7) sample texture images

ParametrizationParametrization angle-preserving (conformal) γ = Γ angle-preserving (conformal) γ = Γ area-preserving γ Γ = 1 area-preserving γ Γ = 1 length-preserving (isometric) γ = Γ = 1 length-preserving (isometric) γ = Γ = 1 angle-preserving (conformal) γ = Γ angle-preserving (conformal) γ = Γ area-preserving γ Γ = 1 area-preserving γ Γ = 1 length-preserving (isometric) γ = Γ = 1 length-preserving (isometric) γ = Γ = 1 2D texture domain surface in 3D linear map TT singular values: γ, Γ

Stretch-minimizing parametrization 2D texture domain surface in 3D linear map TT singular values: γ, Γ L 2 (M) =  T (L 2 (T)) 2 A(T) L ∞ (M) = max T L ∞ (T) L 2 (T) = ½√ γ 2 + Γ 2 L ∞ (T) = Γ high stretch!

Stretch-minimizing parametrization Floater parametrization (≈ harmonic map) L 2 = 2.26 L  = 9.86 L 2 stretch minimization L 2 = 1.22 L  = 2.13

Example of stretch minimization ignoring stretch minimizing stretch

DemoDemo l bunny l horse l parasaur l bunny l horse l parasaur

Summary: global parametrization l Good for normal maps l Large texture l Resampling artifacts l Good for normal maps l Large texture l Resampling artifacts atlas of triangles atlas of charts

[Praun, Finkelstein, Hoppe. SIGGRAPH 2000] Lapped textures

ExampleExample “example” image textured surface mesh geometry ?

ApproachApproach texture patch surface

Key idea: patch pasting texture patch surfacesurface “lapped textures”

Texture patch creation

Less structure  splotch

Direction field: user-specified

Patch growth

Improve alignment to direction field texture patch surface

Tangential vector field TTSS

Optimizing the parametrization TT SS BB CC AA (T)(T)(T)(T) (T)(T)(T)(T) (S)(S)(S)(S) (S)(S)(S)(S) (A)(A)(A)(A) (A)(A)(A)(A) (B)(B)(B)(B) (B)(B)(B)(B) (C)(C)(C)(C) (C)(C)(C)(C)  face in 3D 2D texture space

Optimizing the parametrization Sparse linear least squares problem  fast solution Sparse linear least squares problem  fast solution

Result of optimization

Texture storage and rendering l Traditional approach: Global texture atlas n Pre-composite into a texture map. -- OR -- l Novel approach: Runtime pasting n Composite at runtime using hardware. l Traditional approach: Global texture atlas n Pre-composite into a texture map. -- OR -- l Novel approach: Runtime pasting n Composite at runtime using hardware.

Traditional: Global texture atlas

Novel: Runtime pasting l Store vertex parametrizations for each patch l Composite at run-time using hardware (triangles may be rendered several times) l Store vertex parametrizations for each patch l Composite at run-time using hardware (triangles may be rendered several times)

Pros & Cons Global atlasGlobal atlas + Faster rendering, more portable + Easy to paint unique details (eyes, nose) – Sampling artifacts Runtime pastingRuntime pasting – Increases model complexity (  1.6 –3) + Huge effective resolution + Reuse parametrization for many textures Global atlasGlobal atlas + Faster rendering, more portable + Easy to paint unique details (eyes, nose) – Sampling artifacts Runtime pastingRuntime pasting – Increases model complexity (  1.6 –3) + Huge effective resolution + Reuse parametrization for many textures

DemosDemos l bunny (& paint) l parasaur l holes3 l stonebunny l bunny (& paint) l parasaur l holes3 l stonebunny

Results: splotches (completely automatic: no direction field)

Results: anisotropic

25 frames per sec! 256 x 256 texture (282 times) 256 x 256 texture (282 times) 15,000 faces

Controlling direction and scale

LimitationsLimitations low-frequencycomponentsboundarymismatches direction field singularities

ExtensionsExtensions

[Lengyel, Praun, Finkelstein, Hoppe. I3D 2001] Real-time fur on arbitrary surfaces volumetric lapped texture

MotivationMotivation

Previous work: geometric hair l Lines  interactive for sparse fur l Challenge: aliasing l Lines  interactive for sparse fur l Challenge: aliasing [Van Gelder, Wilhelms ’97]

Shell textures [Lengyel ’00]

Shell textures l Problem: required texture memory is huge! l Solution: use lapped texture for each shell. l Problem: required texture memory is huge! l Solution: use lapped texture for each shell. opaque skin transparent shells composite

Generating the textures 1.Geometric model – Seed surface with “curl” starting points. – Grow as particle system. 1.Geometric model – Seed surface with “curl” starting points. – Grow as particle system.

Generating the textures – Interpolate to generate more seed points. – Ignore hair-to-hair collision. – Interpolate to generate more seed points. – Ignore hair-to-hair collision.

Generating the textures 2. Sample volume Keep: – color – opacity – ( normal) 2. Sample volume Keep: – color – opacity – ( normal)

Generating the textures Using different particle parameters, wide range of fur possible.

Poor silhouette

Solution: fins

Fin rendering l Fade based on viewing angle

Fur results ~20 fps

[Praun, Hoppe, Webb, Finkelstein. SIGGRAPH 2001] Real-time hatching 1-D (tonal) array of textures help convey shape!

OverviewOverview - Real-time rendering - Strokes with temporal & spatial coherence - Real-time rendering - Strokes with temporal & spatial coherence Challenges:Challenges: Solution:Solution: - Exploit hardware multi-texturing - Coherence: n tonal art maps (TAMs) n 6-way blend on each triangle - Exploit hardware multi-texturing - Coherence: n tonal art maps (TAMs) n 6-way blend on each triangle

Tonal art map l Mip-mapped texture images l Stroke nesting property l Mip-mapped texture images l Stroke nesting property  tone   scale 

 tone   tone  v1v1v1v1 v2v2v2v2 v3v3v3v3 6-way blend  final Multitexture blending

Lapped parametrization texture patch surfacesurface

Direction field l Based on surface principal curvatures l Optimized to be smooth n [Hertzmann & Zorin 2000] n Symmetry: 180º instead of 90º l Based on surface principal curvatures l Optimized to be smooth n [Hertzmann & Zorin 2000] n Symmetry: 180º instead of 90º

ResultResult (30 fps)

ResultResult

ResultResult

Summary: lapped parametrizations l Instancing  reduce memory  permits volume textures & 1D functions l Avoids resampling artifacts l Instancing  reduce memory  permits volume textures & 1D functions l Avoids resampling artifacts 256 x 256 texels 256 x 256 x x 256 x 6

Overall summary l Lapped parametrization n overlapping patches n patches share data l Lapped parametrization n overlapping patches n patches share data l Global parametrization n atlas of charts n all charts unique

Parametrization Notes l Scale control given by ||T||, ||S|| l Solution unique up to a translation l No explicit fairness term l No “flipped triangle” ambiguity l Patch may require further growth l Scale control given by ||T||, ||S|| l Solution unique up to a translation l No explicit fairness term l No “flipped triangle” ambiguity l Patch may require further growth

Fin Texture l Single fin texture l Interval region for each edge. l Single fin texture l Interval region for each edge. edge2edge1