Pattern-Based Texturing Revisited / GRAVIR-IMAG-INRIA Grenoble, FRANCE Fabrice Neyret Marie-Paule Cani.

Slides:



Advertisements
Similar presentations
Lapped textures Emil Praun Adam Finkelstein Hugues Hoppe
Advertisements

Bicubic G1 interpolation of arbitrary quad meshes using a 4-split
Texture Synthesis on [Arbitrary Manifold] Surfaces Presented by: Sam Z. Glassenberg* * Several slides borrowed from Wei/Levoy presentation.
OpenFab A Programmable Pipline for Multi-Material Fabrication Kiril Vidimce Presented By: Mira Shalah Szu-Po Wang Jonathan Ragan-Kelley Wojciech Matusik.
03/16/2009Dinesh Manocha, COMP770 Texturing Surface’s texture: its look & feel Graphics: a process that takes a surface and modifies its appearance using.
Mesh Parameterization: Theory and Practice Differential Geometry Primer.
3D Surface Parameterization Olga Sorkine, May 2005.
I MAGIS is a joint project of CNRS - INPG - INRIA - UJF iMAGIS-GRAVIR / IMAG Painting folds using expansion textures Jean Combaz Fabrice Neyret
Inter-Surface Mapping John Schreiner, Arul Asirvatham, Emil Praun (University of Utah) Hugues Hoppe (Microsoft Research)
11 A Multi-Source Geodesic Distance Field approach for Procedural Texturing of Complex Meshes A Multi-Source Geodesic Distance Field approach for Procedural.
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.
1 Terrain. Game Type Oriented Game Type Oriented Terrain Terrain –For visual ( 廣義的場景 ) »Ground / Building / Static models / Dynamic models –For terrain.
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
Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe.
(conventional Cartesian reference system)
Visibility-Guided Simplification Eugene Zhang and Greg Turk GVU Center, College of Computing Georgia Institute of Technology.
Visualization and graphics research group CIPIC January 30, 2003Multiresolution (ECS 289L) - Winter MAPS – Multiresolution Adaptive Parameterization.
Procedural Shape Synthesis on Subdivision Surfaces
Texture Synthesis on Surfaces Paper by Greg Turk Presentation by Jon Super.
TEXTURE SYNTHESIS PEI YEAN LEE. What is texture? Images containing repeating patterns Local & stationary.
Texture Sprites: Texture Elements Splatted on Surfaces Sylvain Lefebvre Samuel Hornus Fabrice Neyret GRAVIR/IMAG-INRIA ACM SIGGRAPH 2005 Symposium on Interactive.
Mesh Parameterization: Theory and Practice Non-Planar Domains.
Visualization and graphics research group CIPIC Feb 18, 2003Multiresolution (ECS 289L) - Winter Progressive Meshes (SIGGRAPH ’96) By Hugues Hoppe.
Texture Synthesis over Arbitrary Manifold Surfaces Li-Yi Wei Marc Levoy Computer Graphics Group Stanford University.
Consistent Parameterizations Arul Asirvatham Committee Members Emil Praun Hugues Hoppe Peter Shirley.
00/4/103DVIP-011 Part Three: Descriptions of 3-D Objects and Scenes.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
Intrinsic Parameterization for Surface Meshes Mathieu Desbrun, Mark Meyer, Pierre Alliez CS598MJG Presented by Wei-Wen Feng 2004/10/5.
Graphics Graphics Korea University cgvr.korea.ac.kr Creating Virtual World I 김 창 헌 Department of Computer Science Korea University
1 Mesh Parametrization and Its Applications 동의대학교 멀티미디어공학과 김형석 포항공과대학교 ( 이윤진, 이승용 )
11/11/04© University of Wisconsin, CS559 Fall 2004 Last Time Shading Interpolation Texture mapping –Barycentric coordinates for triangles.
Texture Mapping by Model Pelting and Blending
PolyCube-Maps seamless texture mapping
Rendering Forest Scenes in Real-Time EGSR 2004 Philippe Decaudin Fabrice Neyret GRAVIR/IMAG-INRIA, Grenoble, France.
Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18,
NDVI-based Vegetation Rendering CGIM ‘07 Stefan Roettger, University of Erlangen
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.
Geometric Modeling using Polygonal Meshes Lecture 1: Introduction Hamid Laga Office: South.
A Human Eye Retinal Cone Synthesizer Michael F. Deering.
Surface displacement, tessellation, and subdivision Ikrima Elhassan.
1 Surface Applications Fitting Manifold Surfaces To 3D Point Clouds, Cindy Grimm, David Laidlaw and Joseph Crisco. Journal of Biomechanical Engineering,
Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel
Pattern Based Procedural Textures Sylvain Lefebvre Fabrice Neyret iMAGIS - GRAVIR / IMAG - INRIA
Computer Graphics Some slides courtesy of Pierre Alliez and Craig Gotsman Texture mapping and parameterization.
Lapped Solid Textures: Filling a Model with Anisotropic Textures Kenshi Takayama 1 Makoto Okabe 1 Takashi Ijiri 1 Takeo Igarashi 1,2 1 The University of.
CHAPTER 8 Color and Texture Mapping © 2008 Cengage Learning EMEA.
Mesh Coarsening zhenyu shu Mesh Coarsening Large meshes are commonly used in numerous application area Modern range scanning devices are used.
Ptex: Per-face Texture Mapping for Production Rendering Brent Burley and Dylan Lacewell Walt Disney Animation Studios EGSR 2008 (See attached slide notes.
Lapped Solid Textrues Filling a Model with Anisotropic Textures
Vertices, Edges and Faces By Jordan Diamond. Vertices In geometry, a vertices is a special kind of point which describes the corners or intersections.
Triangulation of uniform particle systems: its application to the implicit surface texturing F. Levet, X. Granier, C. Schlick IPARLA Project (INRIA futurs,
Outline ● Introduction – What is the problem ● Generate stochastic textures ● Improve realism ● High level approach - Don't just jump into details – Why.
Reverse Engineering of Point Clouds to Obtain Trimmed NURBS Lavanya Sita Tekumalla Advisor: Prof. Elaine Cohen School of Computing University of Utah Masters.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.

ATEC Procedural Animation
ATCM 3310 Procedural Animation
Texture Mapping COMP575/COMP770.
Mesh Parameterization: Theory and Practice
Procedural Animation Lecture 6: Mapping
ATCM 6317 Procedural Animation
Chap 10. Geometric Level of Detail
Advanced Computer Graphics: Texture
Patch Textures: Hardware Implementation of Mesh Colors
Live Paint, Live Color, Swatches, Tracing
Presentation transcript:

Pattern-Based Texturing Revisited / GRAVIR-IMAG-INRIA Grenoble, FRANCE Fabrice Neyret Marie-Paule Cani

The texturing problem texturing without: distortiondistortion discontinuitydiscontinuity obvious periodicityobvious periodicity texturing without: distortiondistortion discontinuitydiscontinuity obvious periodicityobvious periodicity

The texturing problem texturing without: distortiondistortion discontinuitydiscontinuity obvious periodicityobvious periodicity texturing without: distortiondistortion discontinuitydiscontinuity obvious periodicityobvious periodicity

The texturing problem texturing without: distortiondistortion discontinuitydiscontinuity obvious periodicityobvious periodicity texturing without: distortiondistortion discontinuitydiscontinuity obvious periodicityobvious periodicity

The texturing problem texturing without: distortiondistortion discontinuitydiscontinuity obvious periodicityobvious periodicity texturing without: distortiondistortion discontinuitydiscontinuity obvious periodicityobvious periodicity

Texturing Methods single image mapping [ Catmull74 ]single image mapping [ Catmull74 ] –need pre-distortion, large texture pattern tilingpattern tiling –distortion, periodicity interactive painting [ Haeberli+90 ]interactive painting [ Haeberli+90 ] –large texture proceduralprocedural solid noise filtering [ Perlin85, Worley96... ] solid noise filtering [ Perlin85, Worley96... ] –only for volumetric material surface idem, + reaction-diffusion [Turk+91, Witkin+91] surface idem, + reaction-diffusion [Turk+91, Witkin+91] –distortion, large texture single image mapping [ Catmull74 ]single image mapping [ Catmull74 ] –need pre-distortion, large texture pattern tilingpattern tiling –distortion, periodicity interactive painting [ Haeberli+90 ]interactive painting [ Haeberli+90 ] –large texture proceduralprocedural solid noise filtering [ Perlin85, Worley96... ] solid noise filtering [ Perlin85, Worley96... ] –only for volumetric material surface idem, + reaction-diffusion [Turk+91, Witkin+91] surface idem, + reaction-diffusion [Turk+91, Witkin+91] –distortion, large texture

Texturing Methods single image mapping [ Catmull74 ]single image mapping [ Catmull74 ] –need pre-distortion, large texture pattern tilingpattern tiling –distortion, periodicity interactive painting [ Haeberli+90 ]interactive painting [ Haeberli+90 ] –large texture proceduralprocedural solid noise filtering [ Perlin85, Worley96... ] solid noise filtering [ Perlin85, Worley96... ] –only for volumetric material surface idem, + reaction-diffusion [Turk+91, Witkin+91] surface idem, + reaction-diffusion [Turk+91, Witkin+91] –distortion, large texture single image mapping [ Catmull74 ]single image mapping [ Catmull74 ] –need pre-distortion, large texture pattern tilingpattern tiling –distortion, periodicity interactive painting [ Haeberli+90 ]interactive painting [ Haeberli+90 ] –large texture proceduralprocedural solid noise filtering [ Perlin85, Worley96... ] solid noise filtering [ Perlin85, Worley96... ] –only for volumetric material surface idem, + reaction-diffusion [Turk+91, Witkin+91] surface idem, + reaction-diffusion [Turk+91, Witkin+91] –distortion, large texture

Texturing Methods single image mapping [ Catmull74 ]single image mapping [ Catmull74 ] –need pre-distortion, large texture pattern tilingpattern tiling –distortion, periodicity interactive painting [ Haeberli+90 ]interactive painting [ Haeberli+90 ] –large texture proceduralprocedural solid noise filtering [ Perlin85, Worley96... ] solid noise filtering [ Perlin85, Worley96... ] –only for volumetric material surface idem, + reaction-diffusion [Turk+91, Witkin+91] surface idem, + reaction-diffusion [Turk+91, Witkin+91] –distortion, large texture single image mapping [ Catmull74 ]single image mapping [ Catmull74 ] –need pre-distortion, large texture pattern tilingpattern tiling –distortion, periodicity interactive painting [ Haeberli+90 ]interactive painting [ Haeberli+90 ] –large texture proceduralprocedural solid noise filtering [ Perlin85, Worley96... ] solid noise filtering [ Perlin85, Worley96... ] –only for volumetric material surface idem, + reaction-diffusion [Turk+91, Witkin+91] surface idem, + reaction-diffusion [Turk+91, Witkin+91] –distortion, large texture

Texturing Methods single image mapping [ Catmull74 ]single image mapping [ Catmull74 ] –need pre-distortion, large texture pattern tilingpattern tiling –distortion, periodicity interactive painting [ Haeberli+90 ]interactive painting [ Haeberli+90 ] –large texture proceduralprocedural solid noise filtering [ Perlin85, Worley96... ] solid noise filtering [ Perlin85, Worley96... ] –only for volumetric material surface idem, + reaction-diffusion [Turk+91, Witkin+91] surface idem, + reaction-diffusion [Turk+91, Witkin+91] –distortion, large texture single image mapping [ Catmull74 ]single image mapping [ Catmull74 ] –need pre-distortion, large texture pattern tilingpattern tiling –distortion, periodicity interactive painting [ Haeberli+90 ]interactive painting [ Haeberli+90 ] –large texture proceduralprocedural solid noise filtering [ Perlin85, Worley96... ] solid noise filtering [ Perlin85, Worley96... ] –only for volumetric material surface idem, + reaction-diffusion [Turk+91, Witkin+91] surface idem, + reaction-diffusion [Turk+91, Witkin+91] –distortion, large texture

Texturing Methods single image mapping [ Catmull74 ]single image mapping [ Catmull74 ] –need pre-distortion, large texture pattern tilingpattern tiling –distortion, periodicity interactive painting [ Haeberli+90 ]interactive painting [ Haeberli+90 ] –large texture proceduralprocedural solid noise filtering [ Perlin85, Worley96... ] solid noise filtering [ Perlin85, Worley96... ] –only for volumetric material surface idem, + reaction-diffusion [Turk+91, Witkin+91] surface idem, + reaction-diffusion [Turk+91, Witkin+91] –distortion, large texture single image mapping [ Catmull74 ]single image mapping [ Catmull74 ] –need pre-distortion, large texture pattern tilingpattern tiling –distortion, periodicity interactive painting [ Haeberli+90 ]interactive painting [ Haeberli+90 ] –large texture proceduralprocedural solid noise filtering [ Perlin85, Worley96... ] solid noise filtering [ Perlin85, Worley96... ] –only for volumetric material surface idem, + reaction-diffusion [Turk+91, Witkin+91] surface idem, + reaction-diffusion [Turk+91, Witkin+91] –distortion, large texture

Advantages of Pattern Tiling reusabilityreusability –material sample high resolution with little memoryhigh resolution with little memory less designer workless designer work standardstandard –e.g., graphics libraries reusabilityreusability –material sample high resolution with little memoryhigh resolution with little memory less designer workless designer work standardstandard –e.g., graphics libraries

Drawbacks of Pattern Tiling distortion [ LM98... ]distortion [ LM98... ] discontinuity [ MYV93 ]discontinuity [ MYV93 ] obvious periodicity [ Stam97 ]obvious periodicity [ Stam97 ] distortion [ LM98... ]distortion [ LM98... ] discontinuity [ MYV93 ]discontinuity [ MYV93 ] obvious periodicity [ Stam97 ]obvious periodicity [ Stam97 ]

Our Method No global parameterizationNo global parameterization –tiling + continuity constraints No distortion or discontinuityNo distortion or discontinuity –equilateral triangular tiles Texture tiling independent of geometry facesTexture tiling independent of geometry faces –texture mesh vs. geometry mesh No global parameterizationNo global parameterization –tiling + continuity constraints No distortion or discontinuityNo distortion or discontinuity –equilateral triangular tiles Texture tiling independent of geometry facesTexture tiling independent of geometry faces –texture mesh vs. geometry mesh

Our scheme geometric mesh build texture mesh project on surface parameterize patches match patterns textured mesh generate patterns

Our scheme geometric mesh build texture mesh project on surface parameterize patches match patterns textured mesh generate patterns

Our scheme [ Turk92 ] geometric mesh build texture mesh project on surface parameterize patches match patterns textured mesh generate patterns

Our scheme geometric mesh build texture mesh project on surface parameterize patches match patterns textured mesh generate patterns

Our scheme local u,v geometric mesh build texture mesh project on surface parameterize patches match patterns textured mesh generate patterns

Our scheme geometric mesh build texture mesh project on surface parameterize patches match patterns textured mesh generate patterns

Our scheme geometric mesh build texture mesh project on surface parameterize patches match patterns textured mesh generate patterns

Our scheme geometric mesh build texture mesh project on surface parameterize patches match patterns textured mesh generate patterns

Our scheme geometric mesh build texture mesh project on surface parameterize patches match patterns textured mesh generate patterns

Local Parameterization geometric mesh build texture mesh project on surface parameterize patches match patterns textured mesh generate patterns

d2 d3 d1 Local Parameterization Geodesic barycentric coordinates geodesic distance to border (shortest path on the surface)geodesic distance to border (shortest path on the surface) –flood fill from each border normalizenormalize Other choices Levy and Mallet [98]Levy and Mallet [98] Eck et al. [95] (harmonic maps)Eck et al. [95] (harmonic maps) Lee et al. [98] ( MAPS )Lee et al. [98] ( MAPS ) Geodesic barycentric coordinates geodesic distance to border (shortest path on the surface)geodesic distance to border (shortest path on the surface) –flood fill from each border normalizenormalize Other choices Levy and Mallet [98]Levy and Mallet [98] Eck et al. [95] (harmonic maps)Eck et al. [95] (harmonic maps) Lee et al. [98] ( MAPS )Lee et al. [98] ( MAPS )

Matching of Patterns geometric mesh build texture mesh project on surface parameterize patches match patterns textured mesh generate patterns

Matching of Patterns Escher ( )Escher ( ) Penrose ( )Penrose ( ) Graph coloringGraph coloring Stam [97]Stam [97] Escher ( )Escher ( ) Penrose ( )Penrose ( ) Graph coloringGraph coloring Stam [97]Stam [97]  M.C. Escher 1943

Matching of Patterns vertex Boundary Condition edge Boundary Condition edge Boundary Condition central zone

Matching of Patterns vertex Boundary Condition edge Boundary Condition edge Boundary Condition central zone

Matching of Patterns vertex Boundary Condition edge Boundary Condition edge Boundary Condition central zone

Matching of Patterns vertex Boundary Condition edge Boundary Condition edge Boundary Condition central zone Pattern set

edge Boundary Condition edge Boundary Condition Matching of Patterns vertex Boundary Condition central zone

1 vertex Boundary Condition 1 edge BC per pair of vertex  2 constraints E and E per edge  2 constraints E and E per edge  2 kinds of edge constraint  2 kinds of edge constraint  4 possible triples of edges  4 possible triples of edges 1 central zone per triple of edges  4 patterns  4 patterns 1 vertex Boundary Condition 1 edge BC per pair of vertex  2 constraints E and E per edge  2 constraints E and E per edge  2 kinds of edge constraint  2 kinds of edge constraint  4 possible triples of edges  4 possible triples of edges 1 central zone per triple of edges  4 patterns  4 patterns Tunings yielding 4 patterns

1 vertex Boundary Condition 1 edge BC per pair of vertex  2 constraints E and E per edge  2 constraints E and E per edge  2 kinds of edge constraint  2 kinds of edge constraint  4 possible triples of edges  4 possible triples of edges 1 central zone per triple of edges  4 patterns  4 patterns 1 vertex Boundary Condition 1 edge BC per pair of vertex  2 constraints E and E per edge  2 constraints E and E per edge  2 kinds of edge constraint  2 kinds of edge constraint  4 possible triples of edges  4 possible triples of edges 1 central zone per triple of edges  4 patterns  4 patterns Tunings yielding 4 patterns

1 vertex Boundary Condition 1 edge BC per pair of vertex  2 constraints E and E per edge  2 constraints E and E per edge  2 kinds of edge constraint  2 kinds of edge constraint  4 possible triples of edges  4 possible triples of edges 1 central zone per triple of edges  4 patterns  4 patterns 1 vertex Boundary Condition 1 edge BC per pair of vertex  2 constraints E and E per edge  2 constraints E and E per edge  2 kinds of edge constraint  2 kinds of edge constraint  4 possible triples of edges  4 possible triples of edges 1 central zone per triple of edges  4 patterns  4 patterns Tunings yielding 4 patterns E E E E E E E E E E E E

1 vertex Boundary Condition 1 edge BC per pair of vertex  2 constraints E and E per edge  2 constraints E and E per edge  2 kinds of edge constraint  2 kinds of edge constraint  4 possible triples of edges  4 possible triples of edges 1 central zone per triple of edges  4 patterns  4 patterns 1 vertex Boundary Condition 1 edge BC per pair of vertex  2 constraints E and E per edge  2 constraints E and E per edge  2 kinds of edge constraint  2 kinds of edge constraint  4 possible triples of edges  4 possible triples of edges 1 central zone per triple of edges  4 patterns  4 patterns Tunings yielding 4 patterns E E E E E E E E E E E E

1 vertex Boundary Condition 1 edge BC per pair of vertex 1 central zone per triple of edges 1 vertex Boundary Condition 1 edge BC per pair of vertex 1 central zone per triple of edges Tunings yielding 4 patterns

1 vertex Boundary Condition 1 sym edge BC per pair of vertex  1 kind of edge constraint (E = E)  1 kind of edge constraint (E = E)  1 triple of edges  1 triple of edges 4 central zones per triple of edges 1 vertex Boundary Condition 1 sym edge BC per pair of vertex  1 kind of edge constraint (E = E)  1 kind of edge constraint (E = E)  1 triple of edges  1 triple of edges 4 central zones per triple of edges Tunings yielding 4 patterns

1 vertex Boundary Condition 2 sym edges BC per pair of vertex  4 possible triples of edges  4 possible triples of edges 1 central zone per triple of edges 1 vertex Boundary Condition 2 sym edges BC per pair of vertex  4 possible triples of edges  4 possible triples of edges 1 central zone per triple of edges Tunings yielding 4 patterns

2 vertex Boundary Conditions 1 sym edge BC per pair of vertex  3 kinds of edge constraint  3 kinds of edge constraint  4 possible triples of compatible edges  4 possible triples of compatible edges 1 central zone per triple of edges 2 vertex Boundary Conditions 1 sym edge BC per pair of vertex  3 kinds of edge constraint  3 kinds of edge constraint  4 possible triples of compatible edges  4 possible triples of compatible edges 1 central zone per triple of edges Tunings yielding 4 patterns

Pattern Generation geometric mesh build texture mesh project on surface parameterize patches match patterns textured mesh generate patterns

Pattern Generation Images: photo editingphoto editing drawingdrawingImages: photo editingphoto editing drawingdrawing E E E E E E E E E E

Pattern Generation Images: photo editingphoto editing drawingdrawingImages: photo editingphoto editing drawingdrawing

Pattern Generation Procedural: PerlinPerlin WorleyWorleyProcedural: PerlinPerlin WorleyWorley

Video now, the video now, the video

Conclusions A new texturing approach with little distortion, little discontinuity, no periodicitywith little distortion, little discontinuity, no periodicity pattern-based, thus less work, high resolution, reusable samplespattern-based, thus less work, high resolution, reusable samples compatible with real-time renderingcompatible with real-time rendering A new texturing approach with little distortion, little discontinuity, no periodicitywith little distortion, little discontinuity, no periodicity pattern-based, thus less work, high resolution, reusable samplespattern-based, thus less work, high resolution, reusable samples compatible with real-time renderingcompatible with real-time rendering

Future Work multiscale patternsmultiscale patterns –handles and legs heterogeneityheterogeneity –varying pattern occurrence –varying tile size (field, curvature) anisotropyanisotropy –tensor field –open problem! multiscale patternsmultiscale patterns –handles and legs heterogeneityheterogeneity –varying pattern occurrence –varying tile size (field, curvature) anisotropyanisotropy –tensor field –open problem!