HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield1 Texturing Based on 3D Rendering, Humphreys, G., University of Virginia, 2004.

Slides:



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

Exploration of bump, parallax, relief and displacement mapping
03/16/2009Dinesh Manocha, COMP770 Texturing Surface’s texture: its look & feel Graphics: a process that takes a surface and modifies its appearance using.
ATEC Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
Computer Graphics Bing-Yu Chen National Taiwan University.
CHAPTER 12 Height Maps, Hidden Surface Removal, Clipping and Level of Detail Algorithms © 2008 Cengage Learning EMEA.
 Engineering Graphics & Introductory Design 3D Graphics and Rendering REU Modeling Course – June 13 th 2014.
COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 6, 2014 TEXTURE MAPPING TEXTURES BUMP MAPPING ENVIRONMENT MAPPING PROCEDURAL TEXTURING.
Week 9 - Wednesday.  What did we talk about last time?  Fresnel reflection  Snell's Law  Microgeometry effects  Implementing BRDFs  Image based.
HCI 530 : Seminar (HCI) Damian Schofield.
1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.
Computer Graphics (Fall 2005) COMS 4160, Lecture 16: Illumination and Shading 1
Computer Graphics (Spring 2008) COMS 4160, Lecture 19: Texture Mapping Many slides from Greg Humphreys, UVA and Rosalee.
Texture Mapping from Watt, Ch. 8 Jonathan Han. Topics Discussed Texture Map to Models Bump Maps, Light Maps Environment (Reflection) Mapping 3D Textures.
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.
University of New Mexico
Texture Mapping Mohan Sridharan Based on slides created by Edward Angel 1 CS4395: Computer Graphics.
1 3D –graphics and animation Shading and Surface Characteristics Harri Airaksinen.
Shading, Surfaces & Textures
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
Computer Graphics Inf4/MSc Computer Graphics Lecture 11 Texture Mapping.
Guilford County Sci Vis V204.01
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
1 Computer Graphics Week13 –Shading Models. Shading Models Flat Shading Model: In this technique, each surface is assumed to have one normal vector (usually.
3D Computer Graphics: Textures. Textures: texels Texture is a way of assigning a diffuse color to a pixel – can be with 1, 2 or 3D- can use maps, interpolation.
Texture Mapping. 2 The Limits of Geometric Modeling Although graphics cards can render over 10 million polygons per second, that number is insufficient.
1 Texture. 2 Overview Introduction Painted textures Bump mapping Environment mapping Three-dimensional textures Functional textures Antialiasing textures.
Computer Graphics Inf4/MSc Computer Graphics Lecture 7 Texture Mapping, Bump-mapping, Transparency.
Modelling and Simulation Types of Texture Mapping.
ECSE 4750: Computer Graphics Rensselaer Polytechnic Institute Nov 5, 2012 Texture and Texture Mapping.
Introduction to Textures and Skins Chapter 8 & 9 3D Game Programming All-in-One By Ken Finney.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 1 Shading (Shading) & Smooth Shading Graphics.
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
June 9, 2008 Dr. Haim Levkowitz IVPR/CS/UML | 1 Texture.
I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S Andries van Dam October 30, 2003 Shading 1/35 CIS 736 Computer Graphics Lecture 17 of 42 Illumination.
CS-378: Game Technology Lecture #4: Texture and Other Maps Prof. Okan Arikan University of Texas, Austin V Lecture #4: Texture and Other Maps.
1 Texture Mapping. 2 Texture Aliasing MIPmaps Environment Mapping Bump Mapping Displacement Mapping Shadow Maps Solid Textures Antialiasing.
3D animation is rendered clip of animated 3D objects in a 3D environment. An example: Examples of movies released in 3D are Toy Story, Cars, Shrek, Wall-E,
Computing & Information Sciences Kansas State University Lecture 10 of 42CIS 636/736: (Introduction to) Computer Graphics CIS 636/736 Computer Graphics.
Digital Media Dr. Jim Rowan ITEC 2110 Vector Graphics II.
CHAPTER 8 Color and Texture Mapping © 2008 Cengage Learning EMEA.
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
Vector Graphics Digital Multimedia Chap 이병희
CS 325 Introduction to Computer Graphics 04 / 12 / 2010 Instructor: Michael Eckmann.
MIT EECS 6.837, Durand and Cutler Texture Mapping & Other Fun Stuff.
MIT EECS 6.837, Durand and Cutler Texture Mapping & Other Fun Stuff.
CS 376 Introduction to Computer Graphics 04 / 13 / 2007 Instructor: Michael Eckmann.
Mapping: Image Texturing CPSC 591/691. Texture Mapping Two-dimensional techniques place a two-dimensional (flat) image onto an object using methods similar.
Digital Media Dr. Jim Rowan ITEC 2110 Vector Graphics II.
Texturing CMSC 435/ What is Texturing? 2 Texture Mapping Definition: mapping a function onto a surface; function can be: – 1, 2, or 3D – sampled.

University of New Mexico
Texture Mapping.
Computer Graphics Texture Mapping
CSE 167 [Win 17], Lecture 18: Texture Mapping Ravi Ramamoorthi
ATEC Procedural Animation
ATCM 3310 Procedural Animation
Graphics, Fall 2017 Lecture 24: Texture Mapping
Texture Mapping COMP575/COMP770.
So Far We have assumed that we know: The point The surface normal
Discrete Techniques Mapping and Compositing
Procedural Animation Lecture 6: Mapping
ATCM 6317 Procedural Animation
Dr. Jim Rowan ITEC 2110 Vector Graphics II
CS-378: Game Technology Lecture #4: Texture and Other Maps
Texture Mapping Ed Angel Professor Emeritus of Computer Science
Chapter 14 Shading Models.
Advanced Computer Graphics: Texture
Dr. Jim Rowan ITEC 2110 Vector Graphics II
Presentation transcript:

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield1 Texturing Based on 3D Rendering, Humphreys, G., University of Virginia, 2004.

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield2

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield3

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield4 The appearance of many real world objects depends on its texture. The texture of an object is really the relatively fine geometry at the surface of an object. To appreciate the role surface textures play in the appearance of real world objects, consider carpet. Even when all of the fibers of a carpet are the same color the carpet does not appear as a constant color due to the interaction of the light with geometry of the fibers. Even though computers are capable of modeling the geometry of the individual carpet fibers, the memory requirements and rendering performance for a room size piece of carpet modeled to such detail would make such a model useless. On the other hand, having a flat polygon of a single color does not make a convincing replacement for the carpet in the rendered scene. Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield5 Ed Catmull, who later founded Pixar, was sitting in his car in the parking lot of the engineering building at the University of Utah in 1974 thinking about how to make a more realistic computer animation of a castle. The problem was that modeling the rough stone walls would require prohibitively many polygons. Even if he were only interested in the color variation, not the geometric variation (bumpiness), it would still require a new polygon for each point that had a different color. What approach would you take? Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield6 He concluded that if pictures of the stone wall could be stored for reference and then be applied or mapped onto the otherwise smoothly shaded polygon, then the result would be increased scene detail without increasing geometric complexity (and its associated increased difficulty in modeling the scene). In effect, texture mapping simply takes an image (a texture map) and wallpapers it onto the polygons in the scene. Since those days, texture mapping has become the most important method of increasing the level of detail of a scene without increasing its geometric complexity (the number of geometric primitives in the scene). Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield7 When creating image detail, it is cheaper to employ mapping techniques that it is to use myriads of tiny polygons. The image on the right portrays a brick wall, a lawn and the sky. In actuality the wall was modeled as a rectangular solid, and the lawn and the sky were created from rectangles. Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield8 The entire image contains eight polygons. Imagine the number of polygon it would require to model the blades of grass in the lawn! Texture mapping creates the appearance of grass without the cost of rendering thousands of polygons. Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield9

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield10 Texturing Police Shooting of a Civilian Stoke-on-Trent, UK

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield11 Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield12 Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield13

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield14

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield15

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield16 The basic method of texture mapping is to specify the coordinates in the texture map (s,t) that map to a particular point on the geometric surface. For polygonal models, the (s,t) coordinates are specified at the polygon vertices and are interpolated across the surface. Normally, the texture coordinates are on the range [0..1] in u and v. Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield17

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield18 Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield19 Forward mapping is stepping through the texture map and computing the screen location of each texel. This is done in real-time video effects systems. Most other systems use inverse mapping, which is done by stepping through the screen pixels and computing the color of each by determining which texels map to this pixel. Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield20 A disadvantage of mapping from texture space to pixel space is that a selected texture patch usually does not match up with the pixels boundaries, thus requiring calculation of the fractional area of pixel coverage. Therefore, mapping from pixel space to texture space is the most commonly used texture mapping method. This avoid pixel subdivision calculations and allows antialiasing (filtering) procedures to be easily applied. Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield21 Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield22 Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield23

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield24

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield25 In two-dimensional texture mapping, we have to decide how to paste the image on to an object. In other words, for each pixel in an object, we encounter the question, "Where do I have to look in the texture map to find the color?" Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield26 We’ll discuss map shapes first. For a map shape that’s planar, we take an ( x,y,z ) value from the object and throw away (project) one of the components, which leaves us with a two- dimensional (planar) coordinate. We use the planar coordinate to look up the color in the texture map. Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield27 Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield28 This slide shows several textured-mapped objects that have a planar map shape. None of the objects have been rotated. In this case, the component that was thrown away was the z-coordinate. Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield29 You can determine which component was projected by looking for color changes in coordinate directions. When moving parallel to the x-axis, an object’s color changes. When moving up and down along the y-axis, the object’s color also changes. However, movement along the z-axis does not produce a change in color. This is how you can tell that the z-component was eliminated. Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield30 A second shape used in texture mapping is a cylinder. An ( x,y,z ) value is converted to cylindrical coordinates of ( r, theta, height ). For texture mapping, we are only interested in theta and the height. To find the color in two-dimensional texture map, theta is converted into an x- coordinate and height is converted into a y-coordinate. This wraps the two- dimensional texture map around the object. Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield31 The texture-mapped objects in this image have a cylindrical map shape, and the cylinder’s axis is parallel to the z-axis. At the smallest z-position on each object, note that the squares of the texture pattern become squeezed into "pie slices". This phenomenon occurs at the greatest zposition as well. When the cylinder’s axis is parallel to the z-axis, you’ll see "pie slices" radiating out along the x- and y- axes. Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield32 When using a sphere as the map shape, the ( x,y,z ) value of a point is converted into spherical coordinates. For purposes of texture mapping, we keep just the latitude and the longitude information. To find the color in the texture map, the latitude is converted into an x-coordinate and the longitude is converted into a y-coordinate. Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield33 The objects have a map shape of a sphere, and the poles of the sphere are parallel to the y-axis. At the object’s "North Pole" and "South Pole", the squares of the texture map become squeezed into pie-wedge shapes. Compare this to a map shape of a cylinder. Both map shapes have the pie-wedge shapes at the poles, but there is a subtle difference at the object’s "equator". The spherical mapping stretches the squares in the texture map near the equator, and squeezes the squares as the longitude reaches a pole. Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield34 The objects have a map shape of a sphere, and the poles of the sphere are parallel to the y-axis. At the object’s "North Pole" and "South Pole", the squares of the texture map become squeezed into pie-wedge shapes. Compare this to a map shape of a cylinder. Both map shapes have the pie-wedge shapes at the poles, but there is a subtle difference at the object’s "equator". The spherical mapping stretches the squares in the texture map near the equator, and squeezes the squares as the longitude reaches a pole. Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield35

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield36 Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield37 Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield38 Texturing

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield39 We detect bumps in a surface by the relative darkness or lightness of the surface feature. In local illumination models, this is primarily determined by the direct diffuse reflection term which is proportional to N*L. N is the surface normal and L is the light vector. By modifying N, we can create spots of darkness or brightness. Bump Mapping

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield40 James Blinn invented the method of perturbing the surface normal, N, by a "wrinkle" function. This changes the light interaction but not the actual size of the objects so that bump mapped objects appear smooth at the silhouette. Bump mapping affects object surfaces, making them appear rough, wrinkled, or dented. Bump mapping alters the surface normals before the shading calculation takes place. It’s possible to change a surface normals magnitude or direction. Bump Mapping

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield41 Bump Mapping

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield42 Bump Mapping

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield43 Bump Mapping

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield44 In displacement mapping, the surface is actually modified, in contrast to bump mapping where only the surface normal is modified. This means that displacement mapped surfaces will show the effect even at the silhouette. In contast, displacement mapping alters an object’s geometry. Compare the profiles and the shadows cast by these two objects. Which is bump mapped? Displacement Mapping

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield45 Displacement Mapping

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield46 Environment Mapping Environment mapping is a cheap way to create reflections. While it’s easy to create reflections with a ray tracer, ray tracing is still too expensive for long animations. Adding an environment mapping feature to a z-buffer based renderer will create reflections that are acceptable in a lot of situations. Environment mapping is a two-dimensional texture mapping technique that uses a map shape of a box and a map parameter of a reflection ray.

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield47 Environment mapping is a cheap way to create reflections. While it’s easy to create reflections with a ray tracer, ray tracing is still too expensive for long animations. Adding an environment mapping feature to a z-buffer based renderer will create reflections that are acceptable in a lot of situations. Environment mapping is a two-dimensional texture mapping technique that uses a map shape of a box and a map parameter of a reflection ray. Environment Mapping

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield48 Environment Mapping

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield49 Environment Mapping

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield50 Environment Mapping

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield51 Texture mapping can be divided into two-dimensional and three-dimensional techniques. Two-dimensional techniques place a two-dimensional (flat) image onto an object using methods similar to pasting wallpaper onto an object. Three-dimensional techniques are analogous to carving the object from a block of marble. 3D Mapping

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield52 In three-dimensional texture mapping, each point determines its color without the use of an intermediate map shape. We use the (x,y,z) coordinate to compute the color directly. It’s equivalent to carving an object out of a solid substance. 3D Mapping

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield53 Environment Mapping

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield54 Wood, metal, marble... is not only a picture, it is a material which can be modeled Most 3D texture functions do not explicitly store a value for each (x, y, z)-coordinate, but use a procedure to compute a value based on the coordinate and thus are called procedural textures. Procedural Textures

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield55 Perturbing stripes can result in a texture with a marbled appearance. Procedural Textures

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield56 Making a wood-grained object begins with a three-dimensional texture of concentric rings. By using noise to vary the ring shape and the inter-ring distance, we can create reasonably realistic wood. Procedural Textures

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield57 Procedural Textures

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield58 Procedural Textures

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield59 Procedural Textures

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield60 Procedural Textures

HCI 530 – Seminar in Advanced Topics 10/8/2004Damian Schofield61 Internet Examples : ZBrush 3 Basics - ZProject Texturing Paul Debevec animates a photo-real digital face html Finally: 3D Me Now Texturing