TEXTURE MAPPING. DVA338 Computer Graphics Thomas Larsson, Afshin Ameri

Size: px
Start display at page:

Download "TEXTURE MAPPING. DVA338 Computer Graphics Thomas Larsson, Afshin Ameri"

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

+ = 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 information

3D Rasterization II COS 426

3D 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)

+ = 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 information

CSE528 Computer Graphics: Theory, Algorithms, and Applications

CSE528 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 information

Texture mapping. Computer Graphics CSE 167 Lecture 9

Texture 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 information

Texturing Theory. Overview. All it takes is for the rendered image to look right. -Jim Blinn 11/10/2018

Texturing 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 information

CS 130 Final. Fall 2015

CS 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 information

Computer Graphics. Lecture 8 Antialiasing, Texture Mapping

Computer 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 information

Texture-Mapping Tricks. How Bad Does it Look? We've Seen this Sort of Thing Before. Sampling Texture Maps

Texture-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 information

CS 450: COMPUTER GRAPHICS TEXTURE MAPPING SPRING 2015 DR. MICHAEL J. REALE

CS 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 information

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Computergrafik. 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 information

Texture Mapping and Sampling

Texture 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 information

Textures. Texture coordinates. Introduce one more component to geometry

Textures. 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 information

More Texture Mapping. Texture Mapping 1/46

More 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 information

Today. Texture mapping in OpenGL. Texture mapping. Basic shaders for texturing. Today. Computergrafik

Today. 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 information

CS 354R: Computer Game Technology

CS 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 information

CS 428: Fall Introduction to. Texture mapping and filtering. Andrew Nealen, Rutgers, /18/2010 1

CS 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 information

Einführung in Visual Computing

Einfü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 information

CS GPU and GPGPU Programming Lecture 12: GPU Texturing 1. Markus Hadwiger, KAUST

CS 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 information

CS GPU and GPGPU Programming Lecture 11: GPU Texturing 1. Markus Hadwiger, KAUST

CS 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 information

Topics and things to know about them:

Topics 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 information

CS 431/636 Advanced Rendering Techniques

CS 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 information

CS GPU and GPGPU Programming Lecture 16+17: GPU Texturing 1+2. Markus Hadwiger, KAUST

CS 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 information

CPSC / Texture Mapping

CPSC / 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 information

Lets assume each object has a defined colour. Hence our illumination model is looks unrealistic.

Lets 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 information

Sampling, Aliasing, & Mipmaps

Sampling, 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 information

CSE 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 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 information

Computer Graphics. - Texturing Methods -

Computer 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 information

Announcements. Written Assignment 2 is out see the web page. Computer Graphics

Announcements. 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 information

INF3320 Computer Graphics and Discrete Geometry

INF3320 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 information

Perspective Projection and Texture Mapping

Perspective 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 information

The Traditional Graphics Pipeline

The 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 information

Texture. Texture Mapping. Texture Mapping. CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

Texture. 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 information

CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

CS 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 information

CSE 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 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 information

Advanced Shading and Texturing

Advanced 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 information

Soft 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 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 information

Texture Mapping. Michael Kazhdan ( /467) HB Ch. 14.8,14.9 FvDFH Ch. 16.3, , 16.6

Texture 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 information

Reading. 18. Projections and Z-buffers. Required: Watt, Section , 6.3, 6.6 (esp. intro and subsections 1, 4, and 8 10), Further reading:

Reading. 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 information

Computer Graphics 7 - Texture mapping, bump mapping and antialiasing

Computer 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 information

CHAPTER 1 Graphics Systems and Models 3

CHAPTER 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 information

Texture 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. 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 information

Real-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today!

Real-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 information

Texturing. Texture Mapping. Texture Mapping. Have seen: colour can be assigned to ver7ces But: don t want to represent all this detail with geometry

Texturing. 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 information

The Traditional Graphics Pipeline

The 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 information

Chapter IV Fragment Processing and Output Merging. 3D Graphics for Game Programming

Chapter 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 information

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

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 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 information

The Rasterizer Stage. Texturing, Lighting, Testing and Blending

The 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 information

CS451Real-time Rendering Pipeline

CS451Real-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 information

Shading. Flat shading Gouraud shading Phong shading

Shading. 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 information

Rasterization and Graphics Hardware. Not just about fancy 3D! Rendering/Rasterization. The simplest case: Points. When do we care?

Rasterization 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 information

The Rasterization Pipeline

The 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 information

Real-Time Shadows. Last Time? Schedule. Questions? Today. Why are Shadows Important?

Real-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 information

521493S Computer Graphics. Exercise 3

521493S 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 information

The Traditional Graphics Pipeline

The 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 information

Programmable GPUS. Last Time? Reading for Today. Homework 4. Planar Shadows Projective Texture Shadows Shadow Maps Shadow Volumes

Programmable 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 information

Texture and other Mappings

Texture 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 information

frame buffer depth buffer stencil buffer

frame 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 information

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

Rendering. 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 information

Game Architecture. 2/19/16: Rasterization

Game 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 information

Graphics for VEs. Ruth Aylett

Graphics 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 information

Computer Graphics. Texture Filtering & Sampling Theory. Hendrik Lensch. Computer Graphics WS07/08 Texturing

Computer 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 information

Texture 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 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 information

Real-Time Shadows. MIT EECS 6.837, Durand and Cutler

Real-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 information

Real-Time Graphics Architecture

Real-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 information

CS 498 VR. Lecture 19-4/9/18. go.illinois.edu/vrlect19

CS 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 information

Textures and normals in ray tracing

Textures 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 information

Reading. 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. 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 information

Last Time. Why are Shadows Important? Today. Graphics Pipeline. Clipping. Rasterization. Why are Shadows Important?

Last 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 information

Mattan Erez. The University of Texas at Austin

Mattan 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 information

COMP 175 COMPUTER GRAPHICS. Lecture 11: Recursive Ray Tracer. COMP 175: Computer Graphics April 9, Erik Anderson 11 Recursive Ray Tracer

COMP 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 information

Programming Graphics Hardware

Programming 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 information

Practical Shadow Mapping

Practical 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 information

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

graphics 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 information

Mach 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. 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 information

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

graphics 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 information

Shadow Mapping for Hemispherical and Omnidirectional Light Sources

Shadow 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 information

Acknowledgement: Images and many slides from presentations by Mark J. Kilgard and other Nvidia folks, from slides on developer.nvidia.

Acknowledgement: 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 information

v. T u. Textures. Perlin, SIGGRAPH85. Werner Purgathofer

v. 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 information

Shadows in the graphics pipeline

Shadows 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 information

Sampling, Aliasing, & Mipmaps

Sampling, 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 information

Last Time. Reading for Today: Graphics Pipeline. Clipping. Rasterization

Last 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 information

lecture 18 - ray tracing - environment mapping - refraction

lecture 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 information

Pipeline Operations. CS 4620 Lecture 10

Pipeline 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 information

Sampling, Aliasing, & Mipmaps

Sampling, 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 information

Review of Tuesday. ECS 175 Chapter 3: Object Representation

Review 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 information

Shadows. Shadows. Spatial relationship between objects. Shadows as depth cue. Spatial relationship between objects

Shadows. 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 information

For Intuition about Scene Lighting. Today. Limitations of Planar Shadows. Cast Shadows on Planar Surfaces. Shadow/View Duality.

For 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 information

Computer Graphics. Lecture 14 Bump-mapping, Global Illumination (1)

Computer 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 information

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models

3D 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 information

Computer Graphics Shadow Algorithms

Computer 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 information

CSE 167: Lecture 11: Textures 2. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

CSE 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 information

AGDC Per-Pixel Shading. Sim Dietrich

AGDC 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 information

Pipeline Operations. CS 4620 Lecture 14

Pipeline 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 information

Graphics and Interaction Rendering pipeline & object modelling

Graphics 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 information

Texture Mapping. Brian Curless CSE 457 Spring 2016

Texture 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 information

Spring 2009 Prof. Hyesoon Kim

Spring 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 information

6.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 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 information

Nonphotorealism. Christian Miller CS Fall 2011

Nonphotorealism. 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 information

Evolution of GPUs Chris Seitz

Evolution 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