Procedural Shape Synthesis on Subdivision Surfaces

Slides:



Advertisements
Similar presentations
Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95.
Advertisements

03/16/2009Dinesh Manocha, COMP770 Texturing Surface’s texture: its look & feel Graphics: a process that takes a surface and modifies its appearance using.
Geometric Morphometrics
ATEC Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
Extended Gaussian Images
COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 6, 2014 TEXTURE MAPPING TEXTURES BUMP MAPPING ENVIRONMENT MAPPING PROCEDURAL TEXTURING.
Atomic Volumes for Mesh Completion Joshua Podolak Szymon Rusinkiewicz Princeton University.
Lapped Textures Emil Praun and Adam Finkelstien (Princeton University) Huges Hoppe (Microsoft Research) SIGGRAPH 2000 Presented by Anteneh.
Segmentation into Planar Patches for Recovery of Unmodeled Objects Kok-Lim Low COMP Computer Vision 4/26/2000.
Chapter 9: Recursive Methods and Fractals E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
1 Displaced Subdivision Surfaces Aaron Lee Princeton University Henry Moreton Nvidia Hugues Hoppe Microsoft Research.
Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University.
Fast Texture Synthesis using Tree-structured Vector Quantization Li-Yi Wei Marc Levoy Computer Graphics Group Stanford University.
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
Shape Modeling International 2007 – University of Utah, School of Computing Robust Smooth Feature Extraction from Point Clouds Joel Daniels ¹ Linh Ha ¹.
Implicit Surfaces Tom Ouyang January 29, Outline Properties of Implicit Surfaces Polygonization Ways of generating implicit surfaces Applications.
Texture Mapping from Watt, Ch. 8 Jonathan Han. Topics Discussed Texture Map to Models Bump Maps, Light Maps Environment (Reflection) Mapping 3D Textures.
TEXTURE SYNTHESIS PEI YEAN LEE. What is texture? Images containing repeating patterns Local & stationary.
Texture Mapping April 9, The Limits of Geometric Modeling Although graphics cards can render over 10 million polygons per second, that number.
Texture mapping. Adds realism to computer graphics Texture mapping applies a pattern of color Bump mapping alters the surface Mapping is cheaper than.
Texture Synthesis over Arbitrary Manifold Surfaces Li-Yi Wei Marc Levoy Computer Graphics Group Stanford University.
Processing Image and Video for An Impressionist Effect Peter Litwinowicz Apple Computer, Inc. Siggraph1997.
Robust Motion Watermarking based on Multiresolution Analysis EUROGRAPHICS 2000 Speaker: 彭任右, GAME Lab Date: 4/18/2005.
lecture 2, linear imaging systems Linear Imaging Systems Example: The Pinhole camera Outline  General goals, definitions  Linear Imaging Systems.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Projective Texture Atlas for 3D Photography Jonas Sossai Júnior Luiz Velho IMPA.
10/21/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Terrain Dynamic LOD.
Noise Based Texture Noise Based Texture CMPS260 Presentation Guoping Xu Mar. 05, 2003.
Procedural and Fractal Terrains
Texture Mapping. 2 The Limits of Geometric Modeling Although graphics cards can render over 10 million polygons per second, that number is insufficient.
Interactive Terrain Synthesis
Cellular Texture Generation. Scales Feathers Thorns We are interested in making images of surfaces covered with interacting geometry elements such as.
VRML Dr. Alun Moon What is VRML The Virtual Reality Modeling Language (VRML) is a file format for describing interactive 3D objects.
Gwangju Institute of Science and Technology Intelligent Design and Graphics Laboratory Multi-scale tensor voting for feature extraction from unstructured.
Noise and Procedural Techniques John Spitzer Simon Green NVIDIA Corporation.
Graphics Graphics Korea University cgvr.korea.ac.kr Creating Virtual World I 김 창 헌 Department of Computer Science Korea University
4/15/04© University of Wisconsin, CS559 Spring 2004 Last Time More modeling: –Hierarchical modeling –Instancing and Parametric Instancing –Constructive.
Model Construction 김 성 남. Contents What is Modeling? Model Construction - Interactive modeling tools - Scanning tools - Computer vision -
Texture Mapping by Model Pelting and Blending
INDEPENDENT COMPONENT ANALYSIS OF TEXTURES based on the article R.Manduchi, J. Portilla, ICA of Textures, The Proc. of the 7 th IEEE Int. Conf. On Comp.
Robust Motion Watermarking based on Multiresolution Analysis Tae-hoon Kim Jehee Lee Sung Yong Shin Korea Advanced Institute of Science and Technology.
1 Overview (Part 1) Background notions A reference framework for multiresolution meshes Classification of multiresolution meshes An introduction to LOD.
Geometric Modeling. Volumetric o Collection device obtains regular grid of measurement values Examples: CT, MRI, PET, Ultrasound o Values are interpreted/visualized.
Subdivision Schemes Basic idea: Start with something coarse, and refine it into smaller pieces for rendering –We have seen how subdivision may be used.
16/5/ :47 UML Computer Graphics Conceptual Model Application Model Application Program Graphics System Output Devices Input Devices API Function.
Visual Computing Geometric Modelling 1 INFO410 & INFO350 S2 2015
Lapped Solid Textrues Filling a Model with Anisotropic Textures
Yoshinori Dobashi (Hokkaido University) Yusuke Shinzo (Hokkaido University) Tsuyoshi Yamamoto (Hokkaido University) Modeling of Clouds from a Single Photograph.
1 Multi-resolution Tetrahedral Meshes Leila De Floriani Department of Computer and Information Sciences University of Genova, Genova (Italy)
Representation and modelling 3 – landscape specialisations 4.1 Introduction 4.2 Simple height field landscapes 4.3 Procedural modeling of landscapes- fractals.
In the name of God Computer Graphics. Shortcomings So Far The representations we have looked at so far have various failings: –Meshes are large, difficult.
Discontinuous Displacement Mapping for Volume Graphics, Volume Graphics 2006, July 30, Boston, MA Discontinuous Displacement Mapping for Volume Graphics.
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
Outline ● Introduction – What is the problem ● Generate stochastic textures ● Improve realism ● High level approach - Don't just jump into details – Why.
Introduction to Scale Space and Deep Structure. Importance of Scale Painting by Dali Objects exist at certain ranges of scale. It is not known a priory.
Outline ● Introduction – What is the problem ● Generate stochastic textures ● Improve realism ● High level approach - Don't just jump into details – Why.
CDS 301 Fall, 2008 Domain-Modeling Techniques Chap. 8 November 04, 2008 Jie Zhang Copyright ©
Terrain Generator Done by Manoo Gharse Vanessa Ferrao Karl Fernandes Rohit Arondekar Amruta Kunkolienkar.

Normal Mapping for Surfel-Based Rendering
Texture Mapping.
Game Design, Development, and Technology
Recognizing Deformable Shapes
Introduction to Graphics Modeling
Texture Mapping COMP575/COMP770.
Domain-Modeling Techniques
Texture mapping - other methods
Advanced Computer Graphics: Texture
Random Neural Network Texture Model
Last Time B-splines Project 3 was made available
Presentation transcript:

Procedural Shape Synthesis on Subdivision Surfaces Luiz Velho, Ken Perlin, Lexing Ying, Henning Bierman SIBGRAPI 2001 I would like to share with you this paper on Procedural Shape Synthesis on Subdivision surfaces by Velho, Perlin, Ying and Bierman presented at SIBGRAPI in the past month.

Outline Introduction Background: Procedural Texture Generation Definition: Multiresolution Surfaces Framework for Multiscale Synthesis Examples Conclusion & Discussion Here is a brief outline of my talk. First, I will give an introduction of the paper, and discuss the purpose and the methodolgy they suggested. Then, I will give some background on procedural texture mapping which is what procedural shape synthesis stems from. Then, I will talk about multiresolution surfaces, which would be the basis here for multiscale surface operation. Then, I will show some examples and images of their work. At last, there will be time for conclusion and discussion.

Introduction Purpose Advantage Background Describe a framework to integrate procedural shape synthesis Advantage Allow additions of details at different levels of scale Background Procedural texture generation Multiresolution surfaces The purpose of this paper is to describe a framework to integrate procedural shape synthesis. The advantage of procedural synthesis is that details can automatically be generated to modify any arbitrary base shape, and the key benefit which they claimed in the paper is that their framework allows the additions of details at different levels of scale, and thus, designers can work across many levels of scale. But before we can see any of these benefits, we will first take a look at procedural texture mapping as procedural shape synthesis is closely related to texture generation.

Texture Mapping Common Approach Cylindrical 2D texture mapping Map coordinates of texture field (2D) onto surface (3D) (u, v) = F(x, y, z) Problem: Large variations in the compression of the texture depending on the nature of the surface First, a common approach to texture mapping is 2D texture map. For example, for the cylindrical 2D texture mapping, we simply assign coordinates from the 2D texture space onto our 3D object space. However, one problem is that large variations in the compression of the texture may be produced, because we are transforming from 2D into 3D space.

Texture Mapping 3D Texture Mapping (Solid Texture) Assign an object with a texture that involves the evaluation of a 3D texture function at the surface points of that object. “carving an object (surface) out of a block of material (texture)” Disadvantage: Texture patterns are only limited to those that can analytically be constructed. Therefore, 3D texture mapping addresses this problem. 3D texture mapping assigns the object with a texture that involves the evaluation of a 3D texture function at the surface points of that object. It’s like carving an object out of a block of material. For example, if we have a block of marble, 3D texture mapping of the marble onto a sphere surface would be like carving a sphere out of that block of marble. However, the main disadvantage of this is that the texture patterns are only limited to those that can analytically be constructed. So it couldn’t be a random image that we extract from a digital camera, or etc.

Procedural Texture Generation 3D Noise Function Input: 3D position Output: single scalar value Noise Function: Statistical invariance under rotation Statistical invariance under translation At the heart of procedural texturing is a 3D noise function to produce perturbation and obtain the solid texture. The input to this function is a 3D coordinate and the output would be a scalar noise value. The noise function should be statistically invariant under rotation and statistically invariant under translation to ensure that the general appearance of our object is guaranteed to stay the same.

Procedural Texture Generation Example: Fractal-based terrain generation Create a 3D terrain model: Start with some coarse approximation (e.g. a pyramid to simulate a mountain) Subdivide each facet Add spatial perturbation One example of procedural texture generation is the fractal-based terrain generation. The goal here is to create a 3D terrain model. We first start with some coarse approximation of the landscape. For example, we can use pyramid to simulate a mountain. Then, we subdivide each facet into smaller facets. And we add spatial perturbation using the noise function to simulate the details at this finer level. face 1

Multiresolution Surfaces Definition: Extension of subdivision surfaces Introduce details at each subdivision level Finer mesh is computed by adding detail offsets to the subdivided coarser mesh Synthesis - Process of reconstructing a surface from a coarse mesh and the details Multi-scale synthesis = addition of geometric details at various levels of subdivision Multiresolution surface is just an extension of subdivision surface, in which we introduce details at each subdivision level. Finer mesh is computed by adding detail offsets to the subdivided coarser mesh. As details can only be specified (or have an effect) in a finite number of levels, this would actually become normal subdivision once we ran out of details. The process of generating the surface from a coarse mesh plus the details is called synthesis. And we can achieve multiscale synthesis here by having differently-scaled details at different levels of subdivision.

Framework for Multi-scale Procedural Shape Synthesis A set of displacement control points (details) at each scale Detailed displaced surface render Multi-scale Shape Definition Combiner Post Processes Shape info in Global: (x, y, z) or Local: (u, v) Here is a look at the computational framework for multiscale procedural shape synthesis that they have proposed. We first start with a shape definition. The shape can be an acquired or stored shape description (like a digitized skull mesh) or a synthesized shape signal. The shape definition takes in either the global (x,y,z) coordinates or (u,v) parametric location on a base surface. Then, the output of the shape definition is a set of displacement control points at each scale or level of subdivision. Then, these shape definitions can be blended together with an alpha signal, which may be interactively painted by a user or defined procedurally. The result of the combiner is a detailed surface definition which can be post processed by a shader to produce a final detailed surface definition to render. Painted by user or procedurally defined Alpha Signal

Multi-scale Shape Definition Addition of geometric details at various levels of the multi-scale shape model Need a procedural definition of the basic shape feature to paste on a surface at some scale level Define procedural function: F Multi-scale Shape Definition Combiner Alpha Signal Post Processes

Multi-scale Shape Definition F = function to synthesize the difference between the feature at two successive scale levels P, l F (P, l) D = F (P, l) P = a point on the surface in global (x,y,z) or intrinsic local (u,v) l = scale level D = displacement to be added as detail at level l

Multi-scale Shape Definition D = F (P, l) 2 characteristics can be altered: The type of coordinates (global or local) Magnitude of displacements relatives to the level D proportional to l D inverse proportional to l

Multi-scale Shape Definition Models based on: Global coordinates = volumetric shape definitions Local coordinates = surface shape definitions “features are grown on the surface” D = F(P, l) D proportional to l = morphogenic-like features D inverse proportional to l = fractal-like features

Examples Tentacle: local, morphogenic Berry: local, fractal Mushroom cloud: global, morphogenic Rock: global, fractal

Tentacle Example Vector tentacle_detail (Point2D seed, int level) { Scalar magnitude = reference_length * level; Scalar p = (PI/3) * level; Vector displacement = (sin(Φ+p), cos(Φ+p), 1); if (is_even(level)) { displacement *= -1; } return displacement * magnitude; seed in (u,v) reference_length Φ

Berry Example Spread a set of equally spaced seed points on the surface Recursively generate details by defining a volume texture around each seed point from the previous level Redefine surface normal at each scale level to make features at each level grow outwards

Mushroom Cloud Example Features grow from seed points on the surface, based on global coordinates Displacement directly proportional to scale level

Rock Example Spatial coordinates of surface are used as input of a noise function generator. Displacement is inversely proportional to scale level

Applying Multiscale Details to Surface Apply the shape detail procedures to construct a single feature at a given seed point of the surface Features at the same level usually do not interfere with each other.

Applying Multiscale Details to the Surface Details added at different levels may interfere with each other Level 1 Level 3 Level 1 & 3

Conclusion Procedural methods to generate multi-scale details described Framework here provided a powerful paradigm for: 3D texture generation Appling of multi-scale details on predefined shapes or surfaces

Discussion