TEXTURE MAPPING. DVA338 Computer Graphics Thomas Larsson, Afshin Ameri
|
|
- Randall Perry
- 6 years ago
- Views:
Transcription
1 TEXTURE MAPPING DVA338 Computer Graphics Thomas Larsson, Afshin Ameri
2 OVERVIEW Motivation Texture Mapping Coordinate Mapping (2D, 3D) Perspective Correct Interpolation Texture Filtering Mip-mapping Anisotropic Filtering Special Effects Bump Mapping Displacement Mapping Shadow Mapping Environment Mapping
3 MOTIVATION
4 Phong Shading seems nice, much better than the Flat Shading or even the Gouraud Shading, But
5 Uniform reflectance (color) Complex reflection properties More detailed geometry Wallpapering or gift-wrapping a simple geometry Textures Picture from: yourpalmark.com Surface detail, Reflections, Shadows, etc. can it do this?
6 It s all about details Picture from:
7 MOTIVATION Real surfaces are often very complex. We do not want/can represent all the fine variation in geometry. We need other ways to add surface detail. We can increase the apparent complexity of simple geometry by wallpapering or gift-wrapping with stretchy paper Special effects: Bump mapping Shadow mapping Environment Mapping
8 TEXTURE MAPPING
9 A Texture Map is a function or pixel-based image that is used to store detailed information about a surface. Individual pixels of a texture map are called Texels (texture elements). Texture Mapping is the process of applying texture map data onto the surface. Texture maps can be 2D (image textures) or 3D (volume textures or solid textures). We should define mapping functions on how to map a point on the surface to the image or function. Mapping functions maybe different in case of 2D or 3D texture maps.
10 TEXTURE MAPPING 2D Texture Mapping
11 2D TEXTURE MAPPING Texture Map A normal 2D space Coordinate system: lower left (0,0), upper right (1,1) regardless of the image size Usual texture sizes are 128x128, 256x256, 512x512, 1024x1024 Information on textels may be in various formats: RGB, RGBA
12 2D TEXTURE MAPPING Texture Map Specify a texture coordinate (u,v) at each vertex Canonical texture coordinates: (0,0) (1,1) The image itself ranges from 0.0 to 1.0, independent of the actual pixel resolution However, this doesn t mean that texture coordinates have to be limited to that range The texture coordinates are used to look-up values in the actual texture map E.g.: gettexel(tmap, u, v) Note: The individual pixels of the texture map are called texels (texture elements)
13 2D TEXTURE MAPPING Image Source: Tschmits, published under CC-BY- AA
14 2D TEXTURE MAPPING Mapping Process Assigning texture coordinates (u,v) to vertices. This is normally predefined. The texture coordinates are interpolated across the triangle in the scan conversion process. Once we have a texture coordinate for the pixel, we perform some sort of texture lookup. This texture color is then usually blended with the interpolated RGB color to generate the final pixel color. (0.5,1) gettexel (1,1) (0,0) scan line Texture coordinates Triangle primitive (1,0) (0,0) Texture map
15 2D TEXTURE MAPPING Mapping Process The Math involved So we have (u,v) of the triangle vertices and we need the (u,v) for the point being rasterized. It can simply be calculated using barycentric coordinates and we will have: u p = u a + β(u b -u a ) + γ(u c -u a ) v p = v a + β(v b -v a ) + γ(v c -v a ) u p and v p are then looked up in the original texture to get the texel value. Of course, we do not do the calculations in code and simply leave it to OpenGL. (0.5,1) gettexel (1,1) (0,0) scan line Texture coordinates Triangle primitive (1,0) (0,0) Texture map
16 EXAMPLE: TEXTURED CUBE A texture mapped 3D cube model Texture map, size 512 x 512 What texture coordinates have been used at the polygon corners in this example? 16
17 TILING We can define various tiling or wrapping rules to determine what happens when we go outside of the 0 1 range Clamp, repeat, mirror, Mode can be set independently in x and y (1, 1) (0, 0) Original texture clamp repeat mirror 17
18 TEXTURE MAPPING & LIGHTING Texture mapping can be used to alter various constants in the illumination equation The simplest examples: Combine Phong Shading and Texture mapping Don t use a separate material color at all (or set to (1,1,1)) 18
19 2D TEXTURE MAPPING What s wrong with this box? Affine Texture Mapping This one seems much nicer! Perspective Correct Texture Mapping Pictures from:
20 2D TEXTURE MAPPING Perspective Correct Texture Mapping The texture may warp and stretch within the triangle as the viewing angle changes, an effect called texture swimming. Observation: a straight line of regularly spaced points in 3D space maps to a straight line of irregularly spaced points in screen space. Linear interpolation of texture coordinates in screen space is wrong, because homogenous division has distorted barycentric coordinates of the triangle. Depth of the pixels should also be involved in order to get a Perspective Correct Mapping. Original texture Wrong Correct
21 2D TEXTURE MAPPING Perspective Correct Texture Mapping At screen space 1/z, u/z, v/z are linear and interpolate correctly. We can interpolate u/z and v/z to get correct interpolated values u/z and v/z need to be multiplied by z in order to give us (u,v) z is also changing and needs to be correctly interpolated. We can interpolate 1/z. Dividing u/z and v/z by 1/z will give us the correct (u,v). BUT, we do not know z anymore Instead we know that w 1/z SO, we interpolate uw, vw and w, then we can have u=uw/w and v=vw/w
22 2D TEXTURE MAPPING Texture Filtering What is wrong with this image? It s a sample of a problem called Aliasing. It occurs because one texel does not map to one pixel most of the times. If the pixel is larger than a texel we should somehow get an average color from those texels (Minification). If pixel is smaller than a texel we should interpolate between the texels (Magnification). Pictures from: Does this image need minification or magnification methods to look better? If you wanted to give an example of the other problem, what would it be? You may have heard of a term called Undersampling, what is it?
23 2D TEXTURE MAPPING Texture Filtering Magnification Picture work of Sunchirp:
24 2D TEXTURE MAPPING Texture Filtering Magnification Point Sampling (Nearest Neighbor): Simply pick the nearest sample. Bilinear Sampling: A bilinear blend of the four nearest samples. Bicubic Sampling: Performs a smoother bicubic blend of a 4x4 grid of texels. (u, v) texels
25 2D TEXTURE MAPPING Texture Filtering Minification Blend all the texels within the area to get a single final color. Very expensive, mostly due to memory access costs. Several proposed methods: Antialiasing: Prefiltering, Supersampling Mipmapping Summed-area table texturing Elliptical Weighted Averaging... Picture from::
26 2D TEXTURE MAPPING Texture Filtering Prefiltering A pixel is treated like an area on the surface of the object (Catmull, 1978). The area is mapped to the texture map. An average color of the texels involved is calculated. Prefiltering Source: Teaching Texture Mapping Visually by Rosalee Wolfe / DePaul University / wolfe@cs.depaul.edu
27 2D TEXTURE MAPPING Texture Filtering Supersampling Each corner of the pixel is mapped to the texture. The color from the 4 mapped points is used to calculate the average. Supersampling Source: Teaching Texture Mapping Visually by Rosalee Wolfe / DePaul University / wolfe@cs.depaul.edu
28 2D TEXTURE MAPPING Texture Filtering Prefiltering and Supersampling in Action Prefiltering Aliasing Supersampling Source: Teaching Texture Mapping Visually by Rosalee Wolfe / DePaul University / wolfe@cs.depaul.edu
29 2D TEXTURE MAPPING Texture Filtering Mipmapping The method of choice for most graphics hardware. For each texture, several scaled down versions of it are pre-calculated and stored. These are called Mipmaps. Mipmaps are usually half of the size of the previous texture. Their size is usually a power of 2. They have the same size both in x and y directions (they are square). i.e. if the original texture is 512x512 there will be 8 mipmaps for it sized at: 256x256, 128x128, 64x64, 32x32, 16x16, 8x8, 4x4, 2x2, 1x1 This does not add too much texture data since: 1/4 + 1/16 + 1/ = 1/3 The size of the mipmap to be used will be decided by the distance of the object from the camera.
30 2D TEXTURE MAPPING Texture Filtering Mipmapping Source: mobilarena.hu
31 2D TEXTURE MAPPING Texture Filtering Mipmapping Source:
32 2D TEXTURE MAPPING Texture Filtering Anisotropic Filtering Source: ixbtlabs.com
33 2D TEXTURE MAPPING Texture Filtering Anisotropic Filtering Source: ixbtlabs.com
34 2D TEXTURE MAPPING Texture Filtering Anisotropic Filtering Source: ixbtlabs.com
35 2D TEXTURE MAPPING Texture Filtering Anisotropic Filtering When viewing objects from tight angles, the axis will not have the same texture frequency. Mipmapping uses isotropic textures (square) for sampling. Loss of detail in one axis causes the loss in another axis. Anisotropic filtering, solves the problem by sampling anisotropic samples of the textures (128x64, 128x32, ). True anisotropic filtering can be done by sampling the correct trapezoid shape of a pixel according to perspective. It gives very good results, but it is very expensive in memory bandwidth usage and to some extent calculations.
36 TEXTURE MAPPING 2D Texture Mapping Special Effects
37 2D TEXTURE MAPPING SPECIAL EFFECTS We can use texture to store other information than color. Textures can be blended with each other or used to change different constants in illumination equations. Some examples are: Bump Mapping Displacement Mapping Shadow Mapping Environment Mapping
38 2D TEXTURE MAPPING SPECIAL EFFETCS Bump Mapping Dark and light areas on a surface helps us to determine unsmooth areas on an object. By modifying the normal (N) in illumination equations we can create unsmooth areas on the object. (First proposed by Blinn at 1978) This requires per-pixel shading. A texture map is used to store the amount of normal disturbance at each point. Some variations: Normal Mapping, Parallax Mapping. Image Source: Wikipedia
39 2D TEXTURE MAPPING SPECIAL EFFETCS Bump Mapping
40 2D TEXTURE MAPPING SPECIAL EFFETCS Bump Mapping What is wrong in this image? No change in object silhouette. Wrong shadows. Image Source: Gdallimore, Wikipedia
41 2D TEXTURE MAPPING SPECIAL EFFETCS Displacement Mapping An alternative to bump mapping and other similar methods. Using a texture to actually displace the points on surface. Normally done in the direction of the normal. Assuming a displacement texture d: p = p +d(p)*n This changes the vertices, so it needs to happen in geometry processing: We should have lots of tiny polygons to the displacement can happen smoothly. Or, we should use some kind of adaptive tessellation strategy. Recently added to DirectX or OpenGL. Note that the displacement should be defined before the visibility is defined. Image Source: Wikipedia
42 2D TEXTURE MAPPING SPECIAL EFFETCS Displacement Mapping Bump Mapping Displacement Mapping Image Source: thoronir.net/tutorials Which one is created by Bump Mapping and which one by Displacement Mapping?
43 2D TEXTURE MAPPING SPECIAL EFFETCS Environment Mapping (Reflection Mapping) A hack to get reflection effect on objects. How it works? Render the scene from the center of a cube in each face direction. Store each result for each face in a texture. Apply these textures on the object when rendering the scene from actual viewpoint. It is an approximation of the reflections on a reflective surface: Reflection on nearby objects is misplaced. No self-reflection are possible. Image Modeled by: Steve van der Burg
44 2D TEXTURE MAPPING SPECIAL EFFETCS Environment Mapping 6179 Raytrace sec Env. 543 Map sec Image Modeled by: Steve van der Burg
45 2D TEXTURE MAPPING SPECIAL EFFETCS Shadow Mapping (Projective Shadowing) Invented by Lance Williams in An image-space algorithm: Independent of scene complexity Ideal for shadows from spotlights Works with anything that can be rasterized Easy to implement Must deal with aliasing artifacts Well-known shadowing algorithm. Observation: If a point is visible both from the light s position and camera, then it is not in the shadow. Therefore we can use the Z-Buffer to determine shadows.
46 2D TEXTURE MAPPING SPECIAL EFFETCS Shadow Mapping Render the scene from light s point of view. Store the Z-Buffer. When shading an object, transform the point to light s coordinate system. Compare the depths. If the current depth is greater than shadow map depth, then the point is in shadow.
47 ALGORITHM OVERVIEW Render scene from the light s point of view Store depth of each pixel When shading a surface: Transform the surface point into light s coordinate system Compare current surface depth against depth stored in shadow map If surface depth > shadow map lookup, the pixel is in shadow; otherwise the pixel is lit 47
48 EXAMPLE: SHADOW MAPPING Pass 1 Pass 2 Light source Z-buffer of light s point of view Camera view with shadows Light s point of view (Images by Mark J. Kilgard, NVIDIA ) Camera view without shadows 48
49 2D TEXTURE MAPPING SPECIAL EFFETCS Shadow Mapping - Visualization Camera view - Unshadowed Light source view Shadow Map Shadow map projected to camera view Light s planar distance projected to camera view Shadowed scene after depth test Source: Shadow Mapping and Shadow Volumes by Andrew V. Nealen in DevMaster.net
50 2D TEXTURE MAPPING SPECIAL EFFETCS Shadow Mapping Problems Aliasing Problems Biasing Problems Several Proposed Solutions: Filtering Techniques Polygon offset for depth comparisons... Source: Shadow Mapping and Shadow Volumes by Andrew V. Nealen in DevMaster.net
51 SHADOW MAPPING PAPERS Lance Williams, Casting Curved Shadows on Curved Surfaces, SIGGRAPH 78 William Reeves, David Salesin, and Robert Cook, Rendering antialiased shadows with depth maps, SIGGRAPH 87 Mark Segal, et. al., Fast Shadows and Lighting Effects Using Texture Mapping, SIGGRAPH 92 51
52 TEXTURE COORDINATE ASSIGNMENT How can we assign texture coordinates to vertices? Type in the numbers by hand (easy for the cube) Use some sort of automatic projection during modeling process Some modeling programs support painting of texture coordinates Sometimes texture coordinates are assigned on-the-fly during rendering to achieve dynamic real-time effects 52
53 TEXTURE COORDINATE MAPPINGS Planar Mapping let the texture fill all of space with the same color for all z-values, that is (u, v) = (x, y) Cylindrical Mapping Use the same color for all pixels with the same angle (u, v) = (θ / 2π, y) Spherical Mapping 53
54 EXAMPLE: COORDINATE MAPPINGS 54
55 TEXTURE MAPPING 3D Texture Mapping
56 3D TEXTURE MAPPING Mapping from 3D space to 3D space Easier than 2D mapping. Uses a simple 3D to 3D function. No need to stretch and wrap. Object looks like it has been carved out of a material. No real texture as we are used to. Mostly computational procedures. Ideal for wood, marble, etc. 2D Mapping 3D Mapping Source:
57 3D TEXTURE MAPPING The stripes on the left teapot are generated with a simple function. It maps the Z value of a point to a color. If the integer part of Z is even we choose red, otherwise we choose white. What is the function for the other two teapots? Which coordinate values have been used for texturing these teapots? How the function works? Source: Teaching Texture Mapping Visually by Rosalee Wolfe / DePaul University / wolfe@cs.depaul.edu
58 3D TEXTURE MAPPING Perlin Noise Regular patterns are not interesting enough. Most of the textures have some level of randomness in them. A good random noise function should have the following properties (Perlin 1985): Known range Stationary Band limited Isotropic Image Source: Wikipedia
59 3D TEXTURE MAPPING Perlin Noise Using Perlin noise to create a 3D wood texture (Peachy 1985) Source: Teaching Texture Mapping Visually by Rosalee Wolfe / DePaul University / wolfe@cs.depaul.edu
60 3D TEXTURE MAPPING Perlin Noise Perlin noise is a powerful tool. All these images are created by Terragen software only by random noise. Created by: Jay Testerman Source: Planetside Software. Terragen Image Gallery.
61 3D TEXTURE MAPPING Perlin Noise Perlin noise is a powerful tool. All these images are created by Terragen software only by random noise. Created by: Hannes Janetzko Source: Planetside Software. Terragen Image Gallery.
62 3D TEXTURE MAPPING Perlin Noise Perlin noise is a powerful tool. All these images are created by Terragen software only by random noise. Source: Planetside Software. Terragen Image Gallery.
63 TEXTURE MAPPING IN OPENGL OpenGL supports much of the things we ve discussed: 1D, 2D, and 3D textures Lots of texture formats Wrapping modes Filter modes Mip-mapping Easy access from within shaders Shadow mapping Environment mapping 63
64 That s what s cool about working with computers. They don t argue, they remember everything, and they don t drink all your beer. Paul Leary
+ = To Do. Texture Mapping. Adding Visual Detail. Parameterization. Option: Varieties of projections. Computer Graphics. geometry
Computer Graphics CSE 167 [Win 17], Lecture 18: Texture Mapping Ravi Ramamoorthi To Do Prepare for final push on HW 4 We may have a brief written assignment http://viscomp.ucsd.edu/classes/cse167/wi17
More information3D Rasterization II COS 426
3D Rasterization II COS 426 3D Rendering Pipeline (for direct illumination) 3D Primitives Modeling Transformation Lighting Viewing Transformation Projection Transformation Clipping Viewport Transformation
More information+ = To Do. Adding Visual Detail. Texture Mapping. Parameterization. Option: Varieties of projections. Foundations of Computer Graphics (Fall 2012)
Foundations of Computer Graphics (Fall 2012) CS 184, Lecture 23: Texture Mapping http://inst.eecs.berkeley.edu/~cs184 Submit HW5 milestone To Do Prepare for final push on HW 5, HW 6 Many slides from Greg
More informationCSE528 Computer Graphics: Theory, Algorithms, and Applications
CSE528 Computer Graphics: Theory, Algorithms, and Applications Hong Qin State University of New York at Stony Brook (Stony Brook University) Stony Brook, New York 11794--4400 Tel: (631)632-8450; Fax: (631)632-8334
More informationTexture mapping. Computer Graphics CSE 167 Lecture 9
Texture mapping Computer Graphics CSE 167 Lecture 9 CSE 167: Computer Graphics Texture Mapping Overview Interpolation Wrapping Texture coordinates Anti aliasing Mipmaps Other mappings Including bump mapping
More informationTexturing Theory. Overview. All it takes is for the rendered image to look right. -Jim Blinn 11/10/2018
References: Real-Time Rendering 3 rd Edition Chapter 6 Texturing Theory All it takes is for the rendered image to look right. -Jim Blinn Overview Introduction The Texturing Pipeline Example The Projector
More informationCS 130 Final. Fall 2015
CS 130 Final Fall 2015 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying
More informationComputer Graphics. Lecture 8 Antialiasing, Texture Mapping
Computer Graphics Lecture 8 Antialiasing, Texture Mapping Today Texture mapping Antialiasing Antialiasing-textures Texture Mapping : Why needed? Adding details using high resolution polygon meshes is costly
More informationTexture-Mapping Tricks. How Bad Does it Look? We've Seen this Sort of Thing Before. Sampling Texture Maps
Texture-Mapping Tricks Filtering Textures Textures and Shading Bump Mapping Solid Textures How Bad Does it Look? Let's take a look at what oversampling looks like: Click and drag the texture to rotate
More informationCS 450: COMPUTER GRAPHICS TEXTURE MAPPING SPRING 2015 DR. MICHAEL J. REALE
CS 450: COMPUTER GRAPHICS TEXTURE MAPPING SPRING 2015 DR. MICHAEL J. REALE INTRODUCTION Texturing = process that takes a surface and modifies its appearance at each location using some image, function,
More informationComputergrafik. Matthias Zwicker Universität Bern Herbst 2016
Computergrafik Matthias Zwicker Universität Bern Herbst 2016 2 Today Basic shader for texture mapping Texture coordinate assignment Antialiasing Fancy textures 3 Texture mapping Glue textures (images)
More informationTexture Mapping and Sampling
Texture Mapping and Sampling CPSC 314 Wolfgang Heidrich The Rendering Pipeline Geometry Processing Geometry Database Model/View Transform. Lighting Perspective Transform. Clipping Scan Conversion Depth
More informationTextures. Texture coordinates. Introduce one more component to geometry
Texturing & Blending Prof. Aaron Lanterman (Based on slides by Prof. Hsien-Hsin Sean Lee) School of Electrical and Computer Engineering Georgia Institute of Technology Textures Rendering tiny triangles
More informationMore Texture Mapping. Texture Mapping 1/46
More Texture Mapping Texture Mapping 1/46 Perturbing Normals Texture Mapping 2/46 Perturbing Normals Instead of fetching a texture for color, fetch a new perturbed normal vector Creates the appearance
More informationToday. Texture mapping in OpenGL. Texture mapping. Basic shaders for texturing. Today. Computergrafik
Computergrafik Today Basic shader for texture mapping Texture coordinate assignment Antialiasing Fancy textures Matthias Zwicker Universität Bern Herbst 2009 Texture mapping Glue textures (images) onto
More informationCS 354R: Computer Game Technology
CS 354R: Computer Game Technology Texture and Environment Maps Fall 2018 Texture Mapping Problem: colors, normals, etc. are only specified at vertices How do we add detail between vertices without incurring
More informationCS 428: Fall Introduction to. Texture mapping and filtering. Andrew Nealen, Rutgers, /18/2010 1
CS 428: Fall 2010 Introduction to Computer Graphics Texture mapping and filtering 10/18/2010 1 Topic overview Image formation and OpenGL Transformations and viewing Polygons and polygon meshes 3D model/mesh
More informationEinführung in Visual Computing
Einführung in Visual Computing 186.822 Textures Werner Purgathofer Surface-Rendering Methods polygon rendering methods ray tracing global illumination environment mapping texture mapping bump mapping Werner
More informationCS GPU and GPGPU Programming Lecture 12: GPU Texturing 1. Markus Hadwiger, KAUST
CS 380 - GPU and GPGPU Programming Lecture 12: GPU Texturing 1 Markus Hadwiger, KAUST Reading Assignment #6 (until Mar. 17) Read (required): Programming Massively Parallel Processors book, Chapter 4 (CUDA
More informationCS GPU and GPGPU Programming Lecture 11: GPU Texturing 1. Markus Hadwiger, KAUST
CS 380 - GPU and GPGPU Programming Lecture 11: GPU Texturing 1 Markus Hadwiger, KAUST Reading Assignment #6 (until Mar. 9) Read (required): Programming Massively Parallel Processors book, Chapter 4 (CUDA
More informationTopics and things to know about them:
Practice Final CMSC 427 Distributed Tuesday, December 11, 2007 Review Session, Monday, December 17, 5:00pm, 4424 AV Williams Final: 10:30 AM Wednesday, December 19, 2007 General Guidelines: The final will
More informationCS 431/636 Advanced Rendering Techniques
CS 431/636 Advanced Rendering Techniques Dr. David Breen Matheson 308 Thursday 6PM 8:50PM Presentation 7 5/23/06 Questions from Last Time? Hall Shading Model Shadows Reflections Refractions Slide Credits
More informationCS GPU and GPGPU Programming Lecture 16+17: GPU Texturing 1+2. Markus Hadwiger, KAUST
CS 380 - GPU and GPGPU Programming Lecture 16+17: GPU Texturing 1+2 Markus Hadwiger, KAUST Reading Assignment #10 (until April 23) Read (required): Brook for GPUs: Stream Computing on Graphics Hardware
More informationCPSC / Texture Mapping
CPSC 599.64 / 601.64 Introduction and Motivation so far: detail through polygons & materials example: brick wall problem: many polygons & materials needed for detailed structures inefficient for memory
More informationLets assume each object has a defined colour. Hence our illumination model is looks unrealistic.
Shading Models There are two main types of rendering that we cover, polygon rendering ray tracing Polygon rendering is used to apply illumination models to polygons, whereas ray tracing applies to arbitrary
More informationSampling, Aliasing, & Mipmaps
Last Time? Sampling, Aliasing, & Mipmaps 2D Texture Mapping Perspective Correct Interpolation Common Texture Coordinate Projections Bump Mapping Displacement Mapping Environment Mapping Texture Maps for
More informationCSE 167: Introduction to Computer Graphics Lecture #8: Textures. Jürgen P. Schulze, Ph.D. University of California, San Diego Spring Quarter 2016
CSE 167: Introduction to Computer Graphics Lecture #8: Textures Jürgen P. Schulze, Ph.D. University of California, San Diego Spring Quarter 2016 Announcements Project 2 due this Friday Midterm next Tuesday
More informationComputer Graphics. - Texturing Methods -
Computer Graphics - Texturing Methods - Overview Last time BRDFs Shading Today Texturing Texture parameterization Procedural methods Procedural textures Fractal landscapes Next lecture Texture filtering
More informationAnnouncements. Written Assignment 2 is out see the web page. Computer Graphics
Announcements Written Assignment 2 is out see the web page 1 Texture and other Mappings Shadows Texture Mapping Bump Mapping Displacement Mapping Environment Mapping Watt Chapter 8 COMPUTER GRAPHICS 15-462
More informationINF3320 Computer Graphics and Discrete Geometry
INF3320 Computer Graphics and Discrete Geometry Texturing Christopher Dyken Martin Reimers 06.10.2010 Page 1 Texturing Linear interpolation Real Time Rendering: Chapter 5: Visual Appearance Chapter 6:
More informationPerspective Projection and Texture Mapping
Lecture 7: Perspective Projection and Texture Mapping Computer Graphics CMU 15-462/15-662, Spring 2018 Perspective & Texture PREVIOUSLY: - transformation (how to manipulate primitives in space) - rasterization
More informationThe Traditional Graphics Pipeline
Last Time? The Traditional Graphics Pipeline Participating Media Measuring BRDFs 3D Digitizing & Scattering BSSRDFs Monte Carlo Simulation Dipole Approximation Today Ray Casting / Tracing Advantages? Ray
More informationTexture. Texture Mapping. Texture Mapping. CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture
Texture CS 475 / CS 675 Computer Graphics Add surface detail Paste a photograph over a surface to provide detail. Texture can change surface colour or modulate surface colour. Lecture 11 : Texture http://en.wikipedia.org/wiki/uv_mapping
More informationCS 475 / CS 675 Computer Graphics. Lecture 11 : Texture
CS 475 / CS 675 Computer Graphics Lecture 11 : Texture Texture Add surface detail Paste a photograph over a surface to provide detail. Texture can change surface colour or modulate surface colour. http://en.wikipedia.org/wiki/uv_mapping
More informationCSE 167: Introduction to Computer Graphics Lecture #6: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2014
CSE 167: Introduction to Computer Graphics Lecture #6: Lights Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2014 Announcements Project 2 due Friday, Oct. 24 th Midterm Exam
More informationAdvanced Shading and Texturing
Real-Time Graphics Architecture Kurt Akeley Pat Hanrahan http://www.graphics.stanford.edu/courses/cs448a-01-fall Advanced Shading and Texturing 1 Topics Features Bump mapping Environment mapping Shadow
More informationSoft shadows. Steve Marschner Cornell University CS 569 Spring 2008, 21 February
Soft shadows Steve Marschner Cornell University CS 569 Spring 2008, 21 February Soft shadows are what we normally see in the real world. If you are near a bare halogen bulb, a stage spotlight, or other
More informationTexture Mapping. Michael Kazhdan ( /467) HB Ch. 14.8,14.9 FvDFH Ch. 16.3, , 16.6
Texture Mapping Michael Kazhdan (61.457/467) HB Ch. 14.8,14.9 FvDFH Ch. 16.3, 16.4.5, 16.6 Textures We know how to go from this to this J. Birn Textures But what about this to this? J. Birn Textures How
More informationReading. 18. Projections and Z-buffers. Required: Watt, Section , 6.3, 6.6 (esp. intro and subsections 1, 4, and 8 10), Further reading:
Reading Required: Watt, Section 5.2.2 5.2.4, 6.3, 6.6 (esp. intro and subsections 1, 4, and 8 10), Further reading: 18. Projections and Z-buffers Foley, et al, Chapter 5.6 and Chapter 6 David F. Rogers
More informationComputer Graphics 7 - Texture mapping, bump mapping and antialiasing
Computer Graphics 7 - Texture mapping, bump mapping and antialiasing Tom Thorne Slides courtesy of Taku Komura www.inf.ed.ac.uk/teaching/courses/cg Overview Texture mapping and bump mapping Anti-aliasing
More informationCHAPTER 1 Graphics Systems and Models 3
?????? 1 CHAPTER 1 Graphics Systems and Models 3 1.1 Applications of Computer Graphics 4 1.1.1 Display of Information............. 4 1.1.2 Design.................... 5 1.1.3 Simulation and Animation...........
More informationTexture Mapping II. Light maps Environment Maps Projective Textures Bump Maps Displacement Maps Solid Textures Mipmaps Shadows 1. 7.
Texture Mapping II Light maps Environment Maps Projective Textures Bump Maps Displacement Maps Solid Textures Mipmaps Shadows 1 Light Maps Simulates the effect of a local light source + = Can be pre-computed
More informationReal-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today!
Last Time? Real-Time Shadows Perspective-Correct Interpolation Texture Coordinates Procedural Solid Textures Other Mapping Bump Displacement Environment Lighting Textures can Alias Aliasing is the under-sampling
More informationTexturing. Texture Mapping. Texture Mapping. Have seen: colour can be assigned to ver7ces But: don t want to represent all this detail with geometry
Texturing Anthony Steed 1999, Celine Loscos 2000-2005, Jan Kautz 2006-2009 Texture Mapping Have seen: colour can be assigned to ver7ces But: don t want to represent all this detail with geometry Texture
More informationThe Traditional Graphics Pipeline
Last Time? The Traditional Graphics Pipeline Reading for Today A Practical Model for Subsurface Light Transport, Jensen, Marschner, Levoy, & Hanrahan, SIGGRAPH 2001 Participating Media Measuring BRDFs
More informationChapter IV Fragment Processing and Output Merging. 3D Graphics for Game Programming
Chapter IV Fragment Processing and Output Merging Fragment Processing The per-fragment attributes may include a normal vector, a set of texture coordinates, a set of color values, a depth, etc. Using these
More information2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into
2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel
More informationThe Rasterizer Stage. Texturing, Lighting, Testing and Blending
1 The Rasterizer Stage Texturing, Lighting, Testing and Blending 2 Triangle Setup, Triangle Traversal and Back Face Culling From Primitives To Fragments Post Clipping 3 In the last stages of the geometry
More informationCS451Real-time Rendering Pipeline
1 CS451Real-time Rendering Pipeline JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY Based on Tomas Akenine-Möller s lecture note You say that you render a 3D 2 scene, but what does
More informationShading. Flat shading Gouraud shading Phong shading
Shading Flat shading Gouraud shading Phong shading Flat Shading and Perception Lateral inhibition: exaggerates perceived intensity Mach bands: perceived stripes along edges Icosahedron with Sphere Normals
More informationRasterization and Graphics Hardware. Not just about fancy 3D! Rendering/Rasterization. The simplest case: Points. When do we care?
Where does a picture come from? Rasterization and Graphics Hardware CS559 Course Notes Not for Projection November 2007, Mike Gleicher Result: image (raster) Input 2D/3D model of the world Rendering term
More informationThe Rasterization Pipeline
Lecture 5: The Rasterization Pipeline Computer Graphics and Imaging UC Berkeley CS184/284A, Spring 2016 What We ve Covered So Far z x y z x y (0, 0) (w, h) Position objects and the camera in the world
More informationReal-Time Shadows. Last Time? Schedule. Questions? Today. Why are Shadows Important?
Last Time? Real-Time Shadows The graphics pipeline Clipping & rasterization of polygons Visibility the depth buffer (z-buffer) Schedule Questions? Quiz 2: Thursday November 2 th, in class (two weeks from
More information521493S Computer Graphics. Exercise 3
521493S Computer Graphics Exercise 3 Question 3.1 Most graphics systems and APIs use the simple lighting and reflection models that we introduced for polygon rendering. Describe the ways in which each
More informationThe Traditional Graphics Pipeline
Final Projects Proposals due Thursday 4/8 Proposed project summary At least 3 related papers (read & summarized) Description of series of test cases Timeline & initial task assignment The Traditional Graphics
More informationProgrammable GPUS. Last Time? Reading for Today. Homework 4. Planar Shadows Projective Texture Shadows Shadow Maps Shadow Volumes
Last Time? Programmable GPUS Planar Shadows Projective Texture Shadows Shadow Maps Shadow Volumes frame buffer depth buffer stencil buffer Stencil Buffer Homework 4 Reading for Create some geometry "Rendering
More informationTexture and other Mappings
Texture and other Mappings Texture Mapping Bump Mapping Displacement Mapping Environment Mapping Example: Checkerboard Particularly severe problems in regular textures 1 The Beginnings of a Solution: Mipmapping
More informationframe buffer depth buffer stencil buffer
Final Project Proposals Programmable GPUS You should all have received an email with feedback Just about everyone was told: Test cases weren t detailed enough Project was possibly too big Motivation could
More informationRendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane
Rendering Pipeline Rendering Converting a 3D scene to a 2D image Rendering Light Camera 3D Model View Plane Rendering Converting a 3D scene to a 2D image Basic rendering tasks: Modeling: creating the world
More informationGame Architecture. 2/19/16: Rasterization
Game Architecture 2/19/16: Rasterization Viewing To render a scene, need to know Where am I and What am I looking at The view transform is the matrix that does this Maps a standard view space into world
More informationGraphics for VEs. Ruth Aylett
Graphics for VEs Ruth Aylett Overview VE Software Graphics for VEs The graphics pipeline Projections Lighting Shading VR software Two main types of software used: off-line authoring or modelling packages
More informationComputer Graphics. Texture Filtering & Sampling Theory. Hendrik Lensch. Computer Graphics WS07/08 Texturing
Computer Graphics Texture Filtering & Sampling Theory Hendrik Lensch Overview Last time Texture Parameterization Procedural Shading Today Texturing Filtering 2D Texture Mapping Forward mapping Object surface
More informationTexture Mapping. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science
Texture Mapping CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science 1 Objectives Introduce Mapping Methods - Texture Mapping - Environment Mapping - Bump Mapping Consider
More informationReal-Time Shadows. MIT EECS 6.837, Durand and Cutler
Real-Time Shadows Last Time? The graphics pipeline Clipping & rasterization of polygons Visibility the depth buffer (z-buffer) Schedule Quiz 2: Thursday November 20 th, in class (two weeks from Thursday)
More informationReal-Time Graphics Architecture
Real-Time Graphics Architecture Kurt Akeley Pat Hanrahan http://www.graphics.stanford.edu/courses/cs448a-01-fall Rasterization Outline Fundamentals Examples Special topics (Depth-buffer, cracks and holes,
More informationCS 498 VR. Lecture 19-4/9/18. go.illinois.edu/vrlect19
CS 498 VR Lecture 19-4/9/18 go.illinois.edu/vrlect19 Review from previous lectures Image-order Rendering and Object-order Rendering Image-order Rendering: - Process: Ray Generation, Ray Intersection, Assign
More informationTextures and normals in ray tracing
Textures and normals in ray tracing CS 4620 Lecture 7 1 Texture mapping Objects have properties that vary across the surface 2 Texture Mapping So we make the shading parameters vary across the surface
More informationReading. 12. Texture Mapping. Texture mapping. Non-parametric texture mapping. Required. w Watt, intro to Chapter 8 and intros to 8.1, 8.4, 8.6, 8.8.
Reading Required Watt, intro to Chapter 8 and intros to 8.1, 8.4, 8.6, 8.8. Optional 12. Texture Mapping Watt, the rest of Chapter 8 Woo, Neider, & Davis, Chapter 9 James F. Blinn and Martin E. Neell.
More informationLast Time. Why are Shadows Important? Today. Graphics Pipeline. Clipping. Rasterization. Why are Shadows Important?
Last Time Modeling Transformations Illumination (Shading) Real-Time Shadows Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Graphics Pipeline Clipping Rasterization
More informationMattan Erez. The University of Texas at Austin
EE382V: Principles in Computer Architecture Parallelism and Locality Fall 2008 Lecture 10 The Graphics Processing Unit Mattan Erez The University of Texas at Austin Outline What is a GPU? Why should we
More informationCOMP 175 COMPUTER GRAPHICS. Lecture 11: Recursive Ray Tracer. COMP 175: Computer Graphics April 9, Erik Anderson 11 Recursive Ray Tracer
Lecture 11: Recursive Ray Tracer COMP 175: Computer Graphics April 9, 2018 1/40 Note on using Libraries } C++ STL } Does not always have the same performance. } Interface is (mostly) the same, but implementations
More informationProgramming Graphics Hardware
Tutorial 5 Programming Graphics Hardware Randy Fernando, Mark Harris, Matthias Wloka, Cyril Zeller Overview of the Tutorial: Morning 8:30 9:30 10:15 10:45 Introduction to the Hardware Graphics Pipeline
More informationPractical Shadow Mapping
Practical Shadow Mapping Stefan Brabec Thomas Annen Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken, Germany Abstract In this paper we propose several methods that can greatly improve
More informationgraphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1
graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using object-order processing primitives processed one-at-a-time
More informationMach band effect. The Mach band effect increases the visual unpleasant representation of curved surface using flat shading.
Mach band effect The Mach band effect increases the visual unpleasant representation of curved surface using flat shading. A B 320322: Graphics and Visualization 456 Mach band effect The Mach band effect
More informationgraphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1
graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using object-order processing primitives processed one-at-a-time
More informationShadow Mapping for Hemispherical and Omnidirectional Light Sources
Shadow Mapping for Hemispherical and Omnidirectional Light Sources Abstract Stefan Brabec Thomas Annen Hans-Peter Seidel Computer Graphics Group Max-Planck-Institut für Infomatik Stuhlsatzenhausweg 85,
More informationAcknowledgement: Images and many slides from presentations by Mark J. Kilgard and other Nvidia folks, from slides on developer.nvidia.
Shadows Acknowledgement: Images and many slides from presentations by Mark J. Kilgard and other Nvidia folks, from slides on developer.nvidia.com Practical & Robust Stenciled Shadow Volumes for Hardware-Accelerated
More informationv. T u. Textures. Perlin, SIGGRAPH85. Werner Purgathofer
Perlin, SIGGRAPH85 Einführung in Visual Computing 186.822 v Textures T u Werner Purgathofer Surface Rendering Methods polygon rendering methods ray tracing global illumination environment mapping texture
More informationShadows in the graphics pipeline
Shadows in the graphics pipeline Steve Marschner Cornell University CS 569 Spring 2008, 19 February There are a number of visual cues that help let the viewer know about the 3D relationships between objects
More informationSampling, Aliasing, & Mipmaps
Sampling, Aliasing, & Mipmaps Last Time? Monte-Carlo Integration Importance Sampling Ray Tracing vs. Path Tracing source hemisphere What is a Pixel? Sampling & Reconstruction Filters in Computer Graphics
More informationLast Time. Reading for Today: Graphics Pipeline. Clipping. Rasterization
Last Time Modeling Transformations Illumination (Shading) Real-Time Shadows Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility
More informationlecture 18 - ray tracing - environment mapping - refraction
lecture 18 - ray tracing - environment mapping - refraction Recall Ray Casting (lectures 7, 8) for each pixel (x,y) { cast a ray through that pixel into the scene, and find the closest surface along the
More informationPipeline Operations. CS 4620 Lecture 10
Pipeline Operations CS 4620 Lecture 10 2008 Steve Marschner 1 Hidden surface elimination Goal is to figure out which color to make the pixels based on what s in front of what. Hidden surface elimination
More informationSampling, Aliasing, & Mipmaps
Sampling, Aliasing, & Mipmaps Last Time? Monte-Carlo Integration Importance Sampling Ray Tracing vs. Path Tracing source hemisphere Sampling sensitive to choice of samples less sensitive to choice of samples
More informationReview of Tuesday. ECS 175 Chapter 3: Object Representation
Review of Tuesday We have learnt how to rasterize lines and fill polygons Colors (and other attributes) are specified at vertices Interpolation required to fill polygon with attributes 26 Review of Tuesday
More informationShadows. Shadows. Spatial relationship between objects. Shadows as depth cue. Spatial relationship between objects
Shadows Thanks to: Frédo Durand and Seth Teller MIT Shadows Realism Depth cue 1 2 Shadows as depth cue Spatial relationship between objects 3 Michael McCool Univ of Waterloo 4 Spatial relationship between
More informationFor Intuition about Scene Lighting. Today. Limitations of Planar Shadows. Cast Shadows on Planar Surfaces. Shadow/View Duality.
Last Time Modeling Transformations Illumination (Shading) Real-Time Shadows Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Graphics Pipeline Clipping Rasterization
More informationComputer Graphics. Lecture 14 Bump-mapping, Global Illumination (1)
Computer Graphics Lecture 14 Bump-mapping, Global Illumination (1) Today - Bump mapping - Displacement mapping - Global Illumination Radiosity Bump Mapping - A method to increase the realism of 3D objects
More information3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models
3D Programming Concepts Outline 3D Concepts Displaying 3D Models 3D Programming CS 4390 3D Computer 1 2 3D Concepts 3D Model is a 3D simulation of an object. Coordinate Systems 3D Models 3D Shapes 3D Concepts
More informationComputer Graphics Shadow Algorithms
Computer Graphics Shadow Algorithms Computer Graphics Computer Science Department University of Freiburg WS 11 Outline introduction projection shadows shadow maps shadow volumes conclusion Motivation shadows
More informationCSE 167: Lecture 11: Textures 2. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011
CSE 167: Introduction to Computer Graphics Lecture 11: Textures 2 Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 Announcements Homework assignment #5 due Friday, Nov 4,
More informationAGDC Per-Pixel Shading. Sim Dietrich
AGDC Per-Pixel Shading Sim Dietrich Goal Of This Talk The new features of Dx8 and the next generation of HW make huge strides in the area of Per-Pixel Shading Most developers have yet to adopt Per-Pixel
More informationPipeline Operations. CS 4620 Lecture 14
Pipeline Operations CS 4620 Lecture 14 2014 Steve Marschner 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives
More informationGraphics and Interaction Rendering pipeline & object modelling
433-324 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Lecture outline Introduction to Modelling Polygonal geometry The rendering
More informationTexture Mapping. Brian Curless CSE 457 Spring 2016
Texture Mapping Brian Curless CSE 457 Spring 2016 1 Reading Required Angel, 7.4-7.10 Recommended Paul S. Heckbert. Survey of texture mapping. IEEE Computer Graphics and Applications 6(11): 56--67, November
More informationSpring 2009 Prof. Hyesoon Kim
Spring 2009 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on
More information6.837 Introduction to Computer Graphics Assignment 5: OpenGL and Solid Textures Due Wednesday October 22, 2003 at 11:59pm
6.837 Introduction to Computer Graphics Assignment 5: OpenGL and Solid Textures Due Wednesday October 22, 2003 at 11:59pm In this assignment, you will add an interactive preview of the scene and solid
More informationNonphotorealism. Christian Miller CS Fall 2011
Nonphotorealism Christian Miller CS 354 - Fall 2011 Different goals Everything we ve done so far has been working (more or less) towards photorealism But, you might not want realism as a stylistic choice
More informationEvolution of GPUs Chris Seitz
Evolution of GPUs Chris Seitz Overview Concepts: Real-time rendering Hardware graphics pipeline Evolution of the PC hardware graphics pipeline: 1995-1998: Texture mapping and z-buffer 1998: Multitexturing
More information