03/16/2009Dinesh Manocha, COMP770 Texturing Surface’s texture: its look & feel Graphics: a process that takes a surface and modifies its appearance using.

Slides:



Advertisements
Similar presentations
Virtual Realism TEXTURE MAPPING. The Quest for Visual Realism.
Advertisements

Graphics Pipeline.
Texture Mapping. Texturing  process that modifies the appearance of each point on a surface using an image or function  any aspect of appearance can.
Week 7 - Monday.  What did we talk about last time?  Specular shading  Aliasing and antialiasing.
3D Graphics Rendering and Terrain Modeling
Real-Time Rendering TEXTURING Lecture 02 Marina Gavrilova.
ATEC Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
Computer Graphics Bing-Yu Chen National Taiwan University.
Texture Visual detail without geometry. Texture Mapping desire for heightened realism.
Computer Graphics Inf4/MSc Computer Graphics Lecture 13 Illumination I – Local Models.
COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 6, 2014 TEXTURE MAPPING TEXTURES BUMP MAPPING ENVIRONMENT MAPPING PROCEDURAL TEXTURING.
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Textures II Week 8, Wed.
Computer Graphics (Fall 2005) COMS 4160, Lecture 16: Illumination and Shading 1
18.1 Si31_2001 SI31 Advanced Computer Graphics AGR Lecture 18 Image-based Rendering Light Maps What We Did Not Cover Learning More...
Texture Mapping CPSC /24/03 Abhijeet Ghosh.
(conventional Cartesian reference system)
Texture Mapping from Watt, Ch. 8 Jonathan Han. Topics Discussed Texture Map to Models Bump Maps, Light Maps Environment (Reflection) Mapping 3D Textures.
Coordinate Systems X Y Z (conventional Cartesian reference system) X Y Z.
1 3D –graphics and animation Shading and Surface Characteristics Harri Airaksinen.
Computer Graphics Inf4/MSc Computer Graphics Lecture 11 Texture Mapping.
Texture Mapping CMSC435 UMBC *With lots of borrowing from the usual victims…
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.
1 Computer Graphics Week13 –Shading Models. Shading Models Flat Shading Model: In this technique, each surface is assumed to have one normal vector (usually.
Computer Graphics Inf4/MSc Computer Graphics Lecture 9 Antialiasing, Texture Mapping.
Computer Graphics Panos Trahanias ΗΥ358 Spring 2009.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
CS 638, Fall 2001 Admin Grad student TAs may have had their accounts disabled –Please check and the lab if there is a problem If you plan on graduating.
ECSE 4750: Computer Graphics Rensselaer Polytechnic Institute Nov 5, 2012 Texture and Texture Mapping.
11/11/04© University of Wisconsin, CS559 Fall 2004 Last Time Shading Interpolation Texture mapping –Barycentric coordinates for triangles.
1 Texture Mapping ©Anthony Steed Overview n Texture mapping Inverse and Forward Mapping Bilinear interpolation Perspective correction n Mipmapping.
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Texture Mapping.
1 SIC / CoC / Georgia Tech MAGIC Lab Rossignac Textures and shadows  Generation  Mipmap  Texture coordinates,
Texture Mapping. Scope Buffers Buffers Various of graphics image Various of graphics image Texture mapping Texture mapping.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Texture Mapping 고려대학교 컴퓨터 그래픽스 연구실.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 1 Shading (Shading) & Smooth Shading Graphics.
Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data.
Mapping method Texture Mapping Environmental mapping (sphere mapping) (cube mapping)
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.
Rendering Overview CSE 3541 Matt Boggus. Rendering Algorithmically generating a 2D image from 3D models Raster graphics.
CS 445 / 645: Introductory Computer Graphics Light.
1 Texture Mapping. 2 Texture Aliasing MIPmaps Environment Mapping Bump Mapping Displacement Mapping Shadow Maps Solid Textures Antialiasing.
Photo-realistic Rendering and Global Illumination in Computer Graphics Spring 2012 Texturing K. H. Ko School of Mechatronics Gwangju Institute of Science.
Game Programming 06 The Rendering Engine
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.
Vector Graphics Digital Multimedia Chap 이병희
Lecture 6 Rasterisation, Antialiasing, Texture Mapping,
Computing & Information Sciences Kansas State University Advanced CG 2 of 8: MappingsCIS 636/736: (Introduction to) Computer Graphics CIS 736 Computer.
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Texture Mapping Greg Humphreys University of Virginia CS 445, Fall 2003.
CSc4820/6820 Computer Graphics Algorithms Ying Zhu Georgia State University Texture Mapping.
CS 376 Introduction to Computer Graphics 04 / 13 / 2007 Instructor: Michael Eckmann.
Computer Graphics Ken-Yi Lee National Taiwan University (the slides are adapted from Bing-Yi Chen and Yung-Yu Chuang)
Texturing CMSC 435/ What is Texturing? 2 Texture Mapping Definition: mapping a function onto a surface; function can be: – 1, 2, or 3D – sampled.
Computer Graphics (Fall 2006) COMS 4160, Lecture 16: Illumination and Shading 1
Texturing Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology.

Week 7 - Monday CS361.
Texture Mapping cgvr.korea.ac.kr.
ATEC Procedural Animation
ATCM 3310 Procedural Animation
Graphics, Fall 2017 Lecture 24: Texture Mapping
3D Graphics Rendering PPT By Ricardo Veguilla.
*With lots of borrowing from the usual victims…
Procedural Animation Lecture 6: Mapping
ATCM 6317 Procedural Animation
Texture Mapping 고려대학교 컴퓨터 그래픽스 연구실.
Advanced Computer Graphics: Texture
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Presentation transcript:

03/16/2009Dinesh Manocha, COMP770 Texturing Surface’s texture: its look & feel Graphics: a process that takes a surface and modifies its appearance using »An image »A function »Other dataset Gained importance in 80’s; enhance Phong shaded scenes Environment mapping: Reflect the surrounding environments into shiny animated objects

Dinesh Manocha, Mapping Techniques: Texture and Environment Mapping Texture: A 2D image or pattern Goal: Map the texture or detail onto a 3D object Mapping: Finding two u,v values from three values from one of the 3-D coordinate spaces: R 3 -> R 2

03/16/09Dinesh Manocha Main Issues in Texture Mapping Anti-aliasing What attribute or parameter of the model is to be modulated? How is texture mapping carried out? Define a mapping between the 2D domain of texture maps and 3D object domain

03/16/09Dinesh Manocha Modulating Different Parameters Surface color: Modulating the diffuse coefficient. Most common [Catmull1974] Specular & Diffuse Reflection (Environment mapping) [Blinn 1976] Normal Vector Perturbation: Perturbs the surface normal [Blinn 1978]. Extended to frame mapping (tangent, normal, binormal) [Kajiya1985]

03/16/09Dinesh Manocha Modulating Different Parameters [Heckbert1986: Review Paper, IEEE CG & A] Specularity: Surface roughness function in the Cook- Torrance reflection model (variable shininess) [Blinn1978] Transparency: Doesn’t apply texture to an object, but generates a complete object: a cloud using a mathematical texture function to modulate the transparency of an ellipsoid

Dinesh Manocha Main Approaches and Categories General texture mapping: a 2D texture domain is pasted onto the object View-dependent mapping techniques: e.g. chrome, environment, reflection and refraction Bump mapping techniques: Alters the geometry of the surface

Dinesh Manocha Texture Mapping and Object Representation Polygonal models: The mapping or the projection function needs to be computed –Pasting: Cannot paste a 2D pattern onto a polygonal object of arbitrary topology without cutting the pattern Parametric analytic models: computing the mapping function is relatively simple (e.g. rational parametric surfaces)

Texture Mapping Pipeline Compute object space location (x,y,z) Use mapping function to find (u,v) Use corresponder function(s) to compute texel Apply value transform function Modify illumination equation value

Dinesh Manocha, Practical Approach for Polygonal Models Associate a texture map coordinate (u,v) with each vertex of the polygonal mesh Derive a mapping or projection function F() such that: (u,v) = F(x,y,z) Develop algorithms for associating texture values internal to the polygon, as it gets clipped and rendered.

Standard mapping or projection functions Cylindrical mapping function Spherical mapping function Box mapping function Planar projections

Dinesh Manocha Mapping during Modeling Object is approximately cylindrical or spherical (e.g. bananas) Bend the objects without changing the mapping function to the vertices

Dinesh Manocha Texture Mapping Pipeline Compute object space location (x,y,z) Use mapping function to find (u,v) Use corresponder function(s) to compute texel Apply value transform function Modify illumination equation value

Dinesh Manocha Corresponder Functions Transform the parameter space values (u,v) into a texture space value ( texels ) Examples: – array indices into an image texture (sampling, anti-aliasing, mipmapping) –Optional matrix transformation (OpenGL): rotate, scale –Image application: warp, repeat, mirror Can apply multiple corresponder functions

Dinesh Manocha Texture Application RGB or RGB\alpha, where \alpha is the opacity value Change surface attribute using texture blending functions – Replace : Replace the original color with texture color – Modulate : Multiply the surface color by texture color

Dinesh Manocha Other Mappings or Visual Representations Volume textures: Evaluated on any point in space Hypertexture: volumetric modeling technique Texel-mapping: Maps an entire surface description onto the surface of an object Displacement Maps: Moves the surface by a given amount in a given direction

Dinesh Manocha Reverse Mapping Techniques Active area of research Optimization methods Harmonic maps Divide-and-conquer approaches Multi-resolution approaches A huge literature on surface parameterization over last 10 years

Dinesh Manocha Mapping Polygon Interior Points Associate (u,v) values with the interior of the polygon Simple solution: Include the (u,v) coordinates with the screen coordinates and normals. Use Phong interpolation approach.

Dinesh Manocha Mapping Polygon Interior Points: Known Projection Function Compute the function as the polygon is clipped and rendered Transform the vertices of the clipped polygon to the object space Apply the projection function to the transformed vertices to compute the texture coordinates

Dinesh Manocha Environment Mapping Approximation to ray tracing Object is surrounded by a closed 3D surface onto which the environment is projected Used for seeing recognizable detail in the reflected information

Dinesh Manocha Location in the Environment Mapping the environment to inside of a large sphere Trace a ray from the eye-point to the surface of the rendered object Reflect the ray about the normal and trace the ray to the sphere Greater distortion: The farther an object is from the eye-point or larger the object

Dinesh Manocha Mapping to a Large Cube [Greene86] Explicit representation by 6 raster images Take six separate, appropriately oriented photographs of the scene, using a 90 0 flat field lens Project the photographs onto the six inside faces of the cube Can combine Lambertian diffuse and specular reflection in the environment map Mapping function is not spherical and has less distortion

Dinesh Manocha Rough Appearance Texture Mapping: Adding texture patterns to smooth surfaces. Rough Appearance: Adding rough-texture pattern to a smooth surface?

Dinesh Manocha Bump Mapping Perturb the surface normal [Blinn76] Given Q (u,v), let the surface normal be n, where n = Q u X Q v, and let n be the normalized unit vector For any point on Q (u,v), the position vector is: Q ’(u,v) = Q (u,v) + P(u,v) n, where P(u,v) is a perturbation function. The normal of the perturbed surface is: n + P u ( n X Q v ) + P v ( Q u X n)

Dinesh Manocha Choice of Perturbation Function Any first order continuous function Examples: grid pattern, character bit maps, Z-buffer patterns, random hand-drawn patterns Nonmathematical patterns: The perturbation function is a 2D lookup table. Derivatives are computed by table lookup.

Dinesh Manocha Procedural Textures (Solid Textures) Define a texture function throughout a 3D volume Object is embedded in the 3D texture volume Textured surface: intersection of the object and 3D texture volume Coherent appearance with no texture discontinuities Independent of surface geometry or coordinate system

Dinesh Manocha Procedural Textures (Wood Grain Examples) Coaxial alternating light and dark cylinders Lack of distortion or aliasing

Dinesh Manocha Other Issues in Texture Mapping Magnification (use of bilinear interpolation) Minification Sampling and filtering (aliasing problems) – Use of mipmapping for anti-aliasing Texture caching and compression (limited texture memory) Multitexturing (and multi-pass rendering): two or more textures are accessed during the same pass

Dinesh Manocha Texture Antialiasing Aliasing is a constant aspect of texture mapping Frequency domain analysis: silhouette edges and perspective can cause high frequency patterns in image space Point sampling (mapping the center of image pixel to texture space and use the nearest texture pixel) a texture pattern can generate lots of aliasing problems: Wide literature on different filters to circumvent the problem

Dinesh Manocha Mip-mapping Generates many images of decreasing resolution by averaging multiple pixels Original image and the averaged lower resolution images are stored in multiple tables Equivalent to convolution with a square box filter Stacking the mipmaps in 3 space forms a pyramid Memory: 4/3 times the original texture image Widely used texture filtering method: fast and little memory

Dinesh Manocha Summed Area Tables Extension of mipmaps to rectangular texture regions Reduce the table to one using summed area table Each entry: represents the sum of the intensities of all texture pixels in a rectangle defined by lower left corner and the pixel of interest Average intensity: Divide this by number of pixels Used summed areas to technique to compute the intensity of each pixel Prefilter the texture image, using a box filter function prior to summing