Texture Visual detail without geometry. Texture Mapping desire for heightened realism.

Slides:



Advertisements
Similar presentations
16.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 16 – Some Special Rendering Effects.
Advertisements

Bump Mapping CSE 781 Roger Crawfis.
03/16/2009Dinesh Manocha, COMP770 Texturing Surface’s texture: its look & feel Graphics: a process that takes a surface and modifies its appearance using.
Texture Mapping. Texturing  process that modifies the appearance of each point on a surface using an image or function  any aspect of appearance can.
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.
Week 7 - Wednesday.  What did we talk about last time?  Transparency  Gamma correction  Started texturing.
Computer Graphics Inf4/MSc Computer Graphics Lecture 13 Illumination I – Local Models.
Sampling, Aliasing, & Mipmaps
Texture Mapping CPSC /24/03 Abhijeet Ghosh.
Computer Graphics (Spring 2008) COMS 4160, Lecture 19: Texture Mapping Many slides from Greg Humphreys, UVA and Rosalee.
(conventional Cartesian reference system)
Texture mapping. Adds realism to computer graphics Texture mapping applies a pattern of color Bump mapping alters the surface Mapping is cheaper than.
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…
Computer Graphics Mirror and Shadows
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: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
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.
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.
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.
Computer Graphics Texture Mapping
11/11/04© University of Wisconsin, CS559 Fall 2004 Last Time Shading Interpolation Texture mapping –Barycentric coordinates for triangles.
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 고려대학교 컴퓨터 그래픽스 연구실.
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.
UW EXTENSION CERTIFICATE PROGRAM IN GAME DEVELOPMENT 2 ND QUARTER: ADVANCED GRAPHICS Textures.
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
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.
Texture Mapping. 2 Motivation A typical modern graphics card can handle 10s of millions of polygons a second. How many individual blades of grass are.
CS-378: Game Technology Lecture #4: Texture and Other Maps Prof. Okan Arikan University of Texas, Austin V Lecture #4: Texture and Other Maps.
OpenGL Texture Mapping. 2 Objectives Introduce the OpenGL texture functions and options.
CS 480/680 Computer Graphics OpenGL Texture Mapping Dr. Frederick C Harris, Jr. Fall 2011.
1 Texture Mapping. 2 Texture Aliasing MIPmaps Environment Mapping Bump Mapping Displacement Mapping Shadow Maps Solid Textures Antialiasing.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Basic Rendering Pipeline and Shading Spring 2012.
CHAPTER 8 Color and Texture Mapping © 2008 Cengage Learning EMEA.
11/5/2002 (c) University of Wisconsin, CS 559 Last Time Local Shading –Diffuse term –Specular term –All together –OpenGL brief overview.
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.
Mapping: Image Texturing CPSC 591/691. Texture Mapping Two-dimensional techniques place a two-dimensional (flat) image onto an object using methods similar.
CSE 681 Texture Mapping: 2D Texturing. CSE 681 Texture Mapping Visual complexity on demand Vary display properties over object Location on object used.
Texturing CMSC 435/ What is Texturing? 2 Texture Mapping Definition: mapping a function onto a surface; function can be: – 1, 2, or 3D – sampled.
Texturing Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology.
Computer Graphics Imaging
Week 7 - Wednesday CS361.
CSE 167 [Win 17], Lecture 18: Texture Mapping Ravi Ramamoorthi
Texture Mapping cgvr.korea.ac.kr.
OpenGL Texture Mapping
Texture Mapping COMP575/COMP770.
*With lots of borrowing from the usual victims…
Chapters VIII Image Texturing
Computer Animation Texture Mapping.
3D Game Programming Texture Mapping
CS-378: Game Technology Lecture #4: Texture and Other Maps
Texture Mapping 고려대학교 컴퓨터 그래픽스 연구실.
Texture mapping - other methods
OpenGL Texture Mapping
Advanced Computer Graphics: Texture
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
3D Game Programming Texture Mapping
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
OpenGL Texture Mapping
Presentation transcript:

Texture Visual detail without geometry

Texture Mapping desire for heightened realism

Texture Mapping Means of adding visual detail to a scene without adding geometric detail For each point on the surface, there is a corresponding point in a texture image: fetch surface characteristics from the texture Characteristics can be color, lighting parameters, surface normal, displacement

Texture Definitions Regular speech: conventional definition – visual and tactile properties of a surface Graphics: operational definition – any image used in texture mapping Vision: mathematical definition – a signal with the property of 'stationarity' (any part is like another part)

Stationarity

Texture Mapping Cover a surface with an image Each point has a texture coordinate (u,v) Typically, the texture coordinates are given at vertices and interpolated like other parameters

Texture Mapping Simplest object: cylinder (sides only) – u coordinate is angle (normalized to 0..1) – v coordinate is height (normalized ditto) "label on a can of soup" Not all shapes can be parameterized so easily

Texture Mapping Map a 2D surface (in 3D) to a plane On the one hand – no problem! The plane is big enough On the other hand -- we want to satisfy constraints: – no distortion of areas – no distortion of angles – no seams Impossible!

Solutions Remove one or more of the constraints: – Allow angles to be distorted – Allow areas to be distorted – Allow seams Change the problem – Make a mapping from a surface to a surface – Make a mapping from a volume to a surface

Relaxing Constraints Usual solution – just put up with distortion A little bit of distortion is not too visible Allow distortion, but use it: the planar texture is pre-distorted

Relaxing Constraints Permit seams Instead of a single "chart", we have a whole "atlas" – the surface is locally flat, so this can work Need to hide the seams – easy if texture has lots of high-frequency detail – align seams with model features (e.g., hairline) – put seams in rarely-seen locations

Solid Texture Instead of a 2D plane, use a 3D volume of texture Mapping is trivial Object appears to be carved from textured material Drawback: way more texture needed

Solid Texture

Traditional Texture Mapping Specify (u,v) coordinates for vertices (u,v) in ({0,1},{0,1}) – canonical values Need to specify various characteristics of using the texture – what to do with coordinates outside range – how to combine texture and lighting – mip mapping

Boundary Conditions One-dimensional texture for simplicity What does T(1.1) evaluate to? Three options: – clamp: T(t) = T(1), t>1 – mirror: T(t) = T(1-t), 2>t>1 – repeat: T(t) = T(floor(t)) May introduce visible discontinuities

Combining Texture and Lighting Texture supplies a color (value in texture map) Illumination calculation also supplies a color (calculated by local lighting) Combining them: – use texture only ("decal") – use constant fraction of texture – modulate (multiply values together)

Bump Mapping Jim Blinn, 1981 Modify normal direction according to texture No extra geometry, illusion of high geometric complexity N = N interpolated * (1-b) + b * N texture – and renormalize

Normal Maps No underlying normal to perturb – entire normal comes from texture No 3D geometry needed! Can give illusion of geometry on sprites (just use fake normal in lighting calculation)

Magnification and Minification Texture rarely appears onscreen at the stored resolution If it appears smaller: minification filtering If it appears larger: magnification filtering Filtering options: – nearest neighbour – linear interpolation – cubic interpolation (smoother, more expensive)

MIP mapping "multum in parvo", "many [things] in a small place" Store multiple prefiltered scales of texture Prefiltering done ahead of time, with great care, reducing aliasing and preserving important features Interpolate between mipmap levels instead of filtering

the TextureSampler In HLSL, reading a value from a texture is done with the TextureSampler – auxiliary function defined in shader – specifies what interpolation to use – given coordinates, returns texture value (color) Shader interprets texture – used for color, normal (bump mapping), position (displacement mapping),...