TEXTURE AND BUMP MAPPING



Similar documents
A Short Introduction to Computer Graphics

Name Class. Date Section. Test Form A Chapter 11. Chapter 11 Test Bank 155

Introduction to Computer Graphics

521493S Computer Graphics. Exercise 2 & course schedule change

Curves and Surfaces. Goals. How do we draw surfaces? How do we specify a surface? How do we approximate a surface?

COMP-557: Fundamentals of Computer Graphics McGill University, Fall 2010

Creating Your Own 3D Models

Abstract. These two vectors define a plane tangent to the surface at that point. Their cross product is Recent work in computer graphics has been

Rendering Area Sources D.A. Forsyth

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007

11.1. Objectives. Component Form of a Vector. Component Form of a Vector. Component Form of a Vector. Vectors and the Geometry of Space

Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example.

The Visualization Simulation of Remote-Sensing Satellite System

CAD and Creativity. Contents

Cork Education and Training Board. Programme Module for. 3 Dimensional Computer Graphics. Leading to. Level 5 FETAC

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

The Essentials of CAGD

B4 Computational Geometry

H.Calculating Normal Vectors

BEZIER CURVES AND SURFACES

Further Steps: Geometry Beyond High School. Catherine A. Gorini Maharishi University of Management Fairfield, IA

Robust NURBS Surface Fitting from Unorganized 3D Point Clouds for Infrastructure As-Built Modeling

2.1 Three Dimensional Curves and Surfaces

Mathematics (MAT) MAT 061 Basic Euclidean Geometry 3 Hours. MAT 051 Pre-Algebra 4 Hours

Computer Animation: Art, Science and Criticism

INTRODUCTION TO RENDERING TECHNIQUES

B2.53-R3: COMPUTER GRAPHICS. NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions.

Computer Animation and the Geometry of Surfaces in 3- and 4-Space

IT 386: 3D Modeling and Animation. Review Sheet. Notes from Professor Nersesian s IT 386: 3D Modeling and Animation course

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model

Maya 2014 Still Life Part 1 Texturing & Lighting

COMPUTER GRAPHICS Computer Graphics

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

CATIA Wireframe & Surfaces TABLE OF CONTENTS

Point cloud processing - scanning, analysing and validating

Volumes of Revolution

Computer Applications in Textile Engineering. Computer Applications in Textile Engineering

Self-Positioning Handheld 3D Scanner

Copyrighted Material. Chapter 1 DEGREE OF A CURVE

An Application of Analytic Geometry to Designing Machine Parts--and Dresses

Rendering Microgeometry with Volumetric Precomputed Radiance Transfer

SkillsUSA 2014 Contest Projects 3-D Visualization and Animation

Lecture 17 Newton on Gravity

Visibility Map for Global Illumination in Point Clouds

A Mathematica Package for CAGD and Computer Graphics

Visualisatie BMT. Introduction, visualization, visualization pipeline. Arjan Kok Huub van de Wetering

Precalculus REVERSE CORRELATION. Content Expectations for. Precalculus. Michigan CONTENT EXPECTATIONS FOR PRECALCULUS CHAPTER/LESSON TITLES

This makes sense. t /t 2 dt = 1. t t 2 + 1dt = 2 du = 1 3 u3/2 u=5

Math 241, Exam 1 Information.

Surface Normals and Tangent Planes

Volume visualization I Elvins

Essential Mathematics for Computer Graphics fast

Shape Dictionary YR to Y6

Making tessellations combines the creativity of an art project with the challenge of solving a puzzle.

12.5 Equations of Lines and Planes

Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau

A unified representation for interactive 3D modeling

Photon Mapping Made Easy

Number Sense and Operations

GRADES 7, 8, AND 9 BIG IDEAS

Our One-Year 3D Animation Program is a comprehensive training in 3D using Alias

Notes on the representational possibilities of projective quadrics in four dimensions

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur

Multivariate data visualization using shadow

Activity Set 4. Trainer Guide

ABERLINK 3D MKIII MEASUREMENT SOFTWARE

Vector storage and access; algorithms in GIS. This is lecture 6

Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.

GRAVE: An Interactive Geometry Construction and Visualization Software System for the TORT Radiation Transport Code

The Fourth International DERIVE-TI92/89 Conference Liverpool, U.K., July Derive 5: The Easiest... Just Got Better!

KEANSBURG SCHOOL DISTRICT KEANSBURG HIGH SCHOOL Mathematics Department. HSPA 10 Curriculum. September 2007

Point Cloud Segmentation via Constrained Nonlinear Least Squares Surface Normal Estimates

Activities Grades K 2 EXPLORING TESSELLATIONS. Background: What is a tessellation? Part One: Tessellating with One Shape

A technical overview of the Fuel3D system.

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1

MATH. ALGEBRA I HONORS 9 th Grade ALGEBRA I HONORS

Enhanced LIC Pencil Filter

LINES AND PLANES CHRIS JOHNSON

Pro/ENGINEER Wildfire 4.0 Basic Design

Animations in Creo 3.0

42 CHAPTER 1. VECTORS AND THE GEOMETRY OF SPACE. Figure 1.18: Parabola y = 2x Brief review of Conic Sections

NEW MEXICO Grade 6 MATHEMATICS STANDARDS

Optical Design Tools for Backlight Displays

Classification of Fingerprints. Sarat C. Dass Department of Statistics & Probability

The Car Tutorial Part 1 Creating a Racing Game for Unity

ME Week 11 Introduction to Dynamic Simulation

CAD / CAM Dr. P. V. Madhusuthan Rao Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture No. # 12 Reverse Engineering

Concepts in Calculus III

CSE452 Computer Graphics

Derive 5: The Easiest... Just Got Better!

CATIA V5 Tutorials. Mechanism Design & Animation. Release 18. Nader G. Zamani. University of Windsor. Jonathan M. Weaver. University of Detroit Mercy

A QUICK GUIDE TO THE FORMULAS OF MULTIVARIABLE CALCULUS

An introduction to Global Illumination. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology

Which month has larger and smaller day time?

School of Mathematics, Computer Science and Engineering. Mathematics* Associate in Arts Degree COURSES, PROGRAMS AND MAJORS

Bicycle Math. presented to the Olivetti Club. Timothy E. Goldberg. March 30, Cornell University Ithaca, New York

Microsoft Mathematics for Educators:

Everyday Mathematics. Grade 4 Grade-Level Goals. 3rd Edition. Content Strand: Number and Numeration. Program Goal Content Thread Grade-Level Goals

Transcription:

Department of Applied Mathematics and Computational Sciences University of Cantabria UC-CAGD Group COMPUTER-AIDED GEOMETRIC DESIGN AND COMPUTER GRAPHICS: TEXTURE AND BUMP MAPPING Andrés Iglesias e-mail: iglesias@unican.es Web pages: http://personales.unican.es/iglesias http://etsiso2.macc.unican.es/~cagd

Motivation My God! We won t finish the wall in time. They arrive before, and we ll die!!! What can I do alone? Texture Today, we re going to build a brick wall. It is easy! Each ant must take a brick like this With some hundreds of ants we ll finish the wall before the battle. Come on! I have a trick!! We only need to apply a single textured polygon. Something like this: 1 brick, 2 bricks, 3 bricks,... Don t worry! I m so strong...

Texture In computer graphics, the fine surface detail on an object is generated using textures. Three aspects of texture are generally considered: 1. : the addition of a separately specified pattern to a smooth surface. After the pattern is added, the surface remains smooth. Also known as patterns or colour detail 2. Bump mapping: the addition of roughness to the surface. This is obtained perturbation function that changes the geometry of the surface. Also known as roughness 3. Simulating environments: for example, shadows and lighting using textures.

Texture The basis of adding texture patterns is mapping: Texture Space Object Space Image Space v (u,v) z o (x o, y o, z o ) (x s, y s ) y s u y o x o x s

Texture Object space mapping: We map an image onto the surface of an object. Texture pattern defined in an orthogonal coordinate system (u,v) in texture space The surface is defined in a second orthogonal coordinate system (x,y,z) represented in a parametric space The surface is represented in parametric space (s,t) as: x(s,t), y(s,t), z(s,t) Therefore, we need to determine the mapping function between the texture space and the parametric space: s=f(u,v), t=g(u,v) The inverse mapping from parametric space to texture space is: u=f(s,t), v=g(s,t)

Texture u=0 v=1 Texture Space Given a particular (x,y,z): v u=1 v=1 z o u=0 v=1 Object Space Compute the corresponding (u,v) shade the surface with the colour pointed to in the image by (u,v) u=1 v=1 u=1 v=0 u=0 v=0 u u=0,v=0 y o u=0 v=0 x o

Texture Mapping functions: s=f(u,v), t=g(u,v) The mapping functions are frequently assumed to be linear: s=a u+b t=c v+d where the constants A, B, C and D are obtained from the relationship between known points in the two systems. z o z o u=0 v=1 u=1 v=1 u=1 v=0 y o u=0 v=0 x o y o Texturized surface x o

Texture Comparing models Wireframe surface Flat surface Smooth surface Texturized surface

Texture However, linear mapping functions may lead to unsatisfactory results. It s better to use nonlinear functions (because the mapping between parametric space and object space is nonlinear). Texture Space Object Space

Two-part mapping Texture Bier, E.A., Sloan, K.R. Two-part Texture Mappings, IEEE Comput. Graph. and Appl., Vol. 6, Nº 9, pp. 40-53, 1986. Overcomes the mapping problems introducing an easy intermediate surface. First, mapping the texture image onto a simple three-dimensional surface (a plane, a cylinder, a sphere or a box). This is known as the S mapping. Then mapping the result onto the final three-dimensional surface. This is referred to as the O mapping. S O (u,v) T (x i, y i ) O(x s, y s, z s ) Texture Space Intermediate space Object space

Two-part mapping Texture For the S mapping the authors described four intermediate surfaces: 1.- A plane at any orientation To align the texture with the plane require: 3 rotations + 3 translations Then, the pattern must be scaled. Ignoring rotations and translations, the transformation is given by: (u,v) (a x i,d y i ) a, d - scaling factors Image from: SIGGRAPH 97 R. J. Wolfe (DePaul University)

Texture Two-part mapping 2.- The curved surface of a cylinder (Useful for surfaces of revolution) (u,v) [a r (θ θ 0 ),d (h-h 0 )] θ 0 and h 0 position the texture on the where a, d are scaling factors, and surface of the cylinder of radius r. Images from: SIGGRAPH 97 R. J. Wolfe (DePaul University)

Two-part mapping 3.- The surface of a sphere Using the stereographic projection: (u,v)=(2p/c,2q/c) (θ, φ) Texture where (θ, φ) are the equatorial and polar variables for the sphere and: C=1+sqrt(1+p 2 +q 2 ) p=tan(θ)cos(φ), q=tan(θ)cos(φ) Images from: SIGGRAPH 97 R. J. Wolfe (DePaul University)

Texture Two-part mapping 4.- The faces of a cube Interesting enough, since a box is topologically equivalent to an sphere. Images from: SIGGRAPH 97 R.J. Wolfe (DePaul University) Shortcoming: nonadjacent pieces of the texture are now adjacent both on the box surface and the final three-dimensional surface, leading to possible discontinuities.

Two-part mapping Texture For the O mapping we also have four mapping techniques (which map the texture from the intermediate surface to the object): Reflected ray: trace a ray from the viewpoint of the object and then trace the resulting reflected ray from the object to the intermediate surface. This is in fact the environment mapping. Object normal: find the intersection of the normal to the object surface with the intermediate surface. Object centroid: intersect the line defined by the centroid of the object and a point on the object surface with the intermediate surface. Intermediate surface normal (ISN): trace a ray in the direction of the normal at a point on the intermediate surface to find its intersection with the object. Reflected ray is ignored because is viewpoint dependent and not very useful.

Two-part mapping Texture three O mapping x four S mapping = 12 combinations plane sphere Images from: SIGGRAPH 97 R.J. Wolfe (DePaul University) cylinder box

Two-part mapping Texture Rogers, D.F.. Procedural Elements for Computer Graphics, 2nd. Edition, McGraw-Hill, Boston, 1998. However, only five mappings are really useful: Object normal Object centroid Commercial software already incorporates two-part mapping techniques: Painter 3D Plane Cylinder Sphere Box Redundant Redundant Poor Poor OK centroid/sphere OK centroid/box I.S.N. slide projector shrinkwrap Redundant ISN/box Amorphium Flat Cylindrical Spherical

Texture Bump mapping Adding texture patterns to smooth surfaces produces smooth surfaces. Using a rough-textured pattern to add the appearance of roughness to a surface is not a good idea. Rough-textured surfaces hava a small random component in the surface normal and hence in the light reflection direction. Blinn, J.F., A scan line algorithm for the computer display of parametrically defined surfaces, Comput. Graph., Vol. 12, 1978 (supplement SIGGRAPH 78). Blinn developed a method to for perturbing the surface normal. At any point of the surface S, the partial derivatives are S u and S v. The surface normal n is given by the cross-product: n = S u x S v Blinn defined a new surface S as: S (u,v) = S(u,v) + P(u,v) n n where P(u,v) is a perturbation function in the direction of the normal to the original surface. The new normal vector is: n = S u x S v

Texture Bump mapping The perturbed normal P can be written as: n = n + u (n x S v ) + n P v (S u x n) n 2001 Andrés Iglesias. See: http://personales.unican.es/iglesias normal of the unperturbed surface Different effects can be achieved: random function gives rough surface effect of the perturbation on the surface normal (hence, on the illumination model) The perturbation P(u,v) can be defined either analytically or as a lookup table. smoother functions give more regular feature Image from: SIGGRAPH 97 R.J. Wolfe (DePaul University)

An example: Texture Bump mapping Note that: Roughening only becomes apparent Examples of use: when the shading model is applied the surface of an orange texture of a granitic stone granulated effects outer cover of a tyre etc...