CS 450: COMPUTER GRAPHICS TEXTURE MAPPING SPRING 2015 DR. MICHAEL J. REALE
|
|
- Herbert McDowell
- 6 years ago
- Views:
Transcription
1 CS 450: COMPUTER GRAPHICS TEXTURE MAPPING SPRING 2015 DR. MICHAEL J. REALE
2 INTRODUCTION Texturing = process that takes a surface and modifies its appearance at each location using some image, function, or other data source Example: 2D image uses as diffuse color for surface Brick texture:
3 DIFFERENT KINDS OF TEXTURE MAPPING Textures can be used to alter many different properties: Diffuse texture mapping modifies diffuse color at each pixel (k d ) Example: brick wall texture Specular texture mapping modifies specular color/intensity at each pixel (k s ) Example: whether the bricks/mortar should reflect light or not Gloss texture mapping modifies shininess at each pixel (n s ) Example: mortar should be glossy, but bricks are more matte Normal map texture mapping / bump mapping modifies normal at each pixel (N) Example: makes little bumps/irregularities for bricks Parallax and relief mapping pretends to deform flat surface while rendering it Example: gives illusion that bricks stick out from mortar and also cast shadows on mortar Displacement mapping actually displaces/changes surface (creating triangles between texels)
4 TEXTURING EXAMPLE
5 Diffuse Normal Specular Gloss (Shininess) Height Map
6 THE TEXTURING PIPELINE
7 THE TEXTURING PIPELINE Let s think about how we get the texture values for a single pixel There are four basic steps: Projector function Corresponder function(s) Obtain value Value transform function (optional) From here on out: Pixel = single location on SCREEN Texel = single location on TEXTURE
8 PROJECTOR FUNCTION Projector function Converts from OBJECT SPACE location PARAMETER SPACE COORDINATES Often 3D coordinates (x,y,z) to texture coordinates Example: model coordinates (x,y,z) (u,v) texture coordinates Can also start with world coordinates, but usually use model coordinates since texture moves with model
9 PROJECTOR FUNCTION: DIFFERENT TYPES Spherical Cylindrical Planar Natural (u,v) from parametric surface
10 PROJECTOR FUNCTION: MULTIPLE PROJECTIONS When creating a model, a different projector function might be used for each part However, for real-time rendering, usually all textures combined into one texture
11 PROJECTION FUNCTION: DIFFERENT DIMENSIONS Texture coordinates can be: 1D (u) Coloration based on altitude of terrain Texturing lines of rain with semi-transparent texture 2D (u,v) 3D (u,v,w) Volume textures Directional point to cube map
12 PROJECTOR FUNCTION: NON-INTERACTIVE VS. REAL-TIME Non-interactive projector function part of rendering process Interactive, real-time use projector function to get (u,v) coordinates for vertices, then interpolate values for each fragment EXCEPTIONS: texture animation, environment mapping Note: NOT interpolated until we get to the corresponder function
13 CORRESPONDER FUNCTION Corresponder function Converts PARAMETER-SPACE COORDINATES TEXTURE-SPACE LOCATIONS Example: (u,v) texture coordinates (x,y) actual texel coordinates May perform scaling, translation, rotation, shearing, etc.
14 CORRESPONDER FUNCTION: OUT OF BOUNDS? Corresponder functions also determine behavior when desired texture coordinates are OUTSIDE of the texture function called wrapping mode (OpenGL) or texture addressing mode (DirectX) Common wrapping mode functions: Wrap (DirectX) / Repeat (OpenGL) / Tile Mirror Clamp (DirectX) / Clamp to Edge (OpenGL) Border (DirectX) / Clamp to Border (OpenGL)
15 CORRESPONDER FUNCTION: OUT OF BOUNDS? Wrap (DirectX) / Repeat (OpenGL) / Tile Mirror Often the default Algorithmically, removes integer part of coordinate Good for texture that repeatedly covers surface Provides some continuity along edges of texture Clamp (DirectX) / Clamp to Edge (OpenGL) Values outside of [0,1) clamped to this range repetition of edges of texture Avoids accidentally taking samples from opposite edge of texture when bilinear interpolation happens near texture s edge Border (DirectX) / Clamp to Border (OpenGL) Vales outside of [0,1) are rendered with separately defined border color Good for decals on surfaces blends smoothly with border color
16 OBTAINING TEXTURE VALUES Now we can get our texture values from the texture-space coordinates Most of the time, grab data from image (or maybe volume) Example: 2D Texture use texel coordinates and grab value from image However, can also generate textures procedurally Use texture-space coordinates compute function that outputs color Often return RGB or RGBA values However, can also returns other data (e.g., normals with bump mapping)
17 VALUE TRANSFORM FUNCTION (OPTIONAL) One can also optionally transform the texture values Examples: Remap from (0,1) to (-1,1) Checking texture value vs. reference value returning flag (often used in shadow mapping)
18 IMAGE TEXTURING
19 INTRODUCTION For now, let s focus on 2D image texturing (most common type of texturing in real-time graphics) Texture = 2D image m n Typically, texture sizes are in powers of 2: 2 2 As we ll see, this related to mipmapping hardware Modern GPUs can handle textures of arbitrary size
20 SIZING PROBLEMS Let s say a texture covers a square projected on the screen If the projected area (in pixels) Same size as texture life is good LARGER than texture MAGNIFICATION SMALLER than texture MINIFICATION We will now cover some approaches to address these problems
21 MAGNIFICATION Because the projected area is larger than the texture, we will sometimes need to get values in between texels Different approaches for this: Nearest-Neighbor (i.e., Box Filter) Pick nearest whole texel Fast, simple, hardware-supported Terrible results pixelation (individual texels are easy to see) Bilinear Interpolation Interpolation between 4 nearest texel weighted average Not as fast, still hardware-supported Less pixelation, more blurry Bicubic Interpolation Use 4x4 or 5x5 weighted sum of texels Slower still, not usually hardware-supported (although can code in pixel/fragment shader) Better results
22 MAGNIFICATION 48 x x 320 Nearest-Neighbor Bilinear interpolation Cubic interpolation (5x5)
23 MAGNIFICATION: BILINEAR INTERPOLATION Let s say we want to get the value at texture coordinates ( p u, p v ) = (81.92, 74.24) Drop the integer parts (0.92, 0.24) (u, v ) Get weighted average of surrounding 4 values (where t(x,y) returns the texel value): ), ( ' ' ), ( ' ') (1 ), ( ') '(1 ), ( ') ')(1 (1 ), ( t r t l b r b l v u y x t v u y x t v u y x t v u y x t v u p p b
24 MAGNIFICATION: PROBLEM WITH BILINEAR INTERPOLATION What if you have a texture that should keep sharp edges (e.g., checkboard, text, etc.)? Bilinear interpolations blurs boundaries Possible solution: use some kind of grayscale remapping scheme (if value < 0.4 value = 0) Nearest Neighbor (boxes different sizes) Bilinear Interpolation Bilinear Interpolation (with remapping)
25 MINIFICATION Pixel cells This is when the pixel s area covers several texels have to integrate the effects of all texels Effectively impossible to do this completely correctly in real-time Nearest-neighbor severe aliasing Bilinear interpolation good as long as more than 4 texels don t influence the pixel cell; otherwise, aliasing again Several approaches: Mipmapping Summed Area Tables Unconstrained Anisotropic Filtering
26 MINIFICATION: MIPMAPPING Mipmapping Most popular method of antialiasing for textures Mip = multum in parvo = Latin for many things in a small place Start with original texture (Level 0) Downsample to a quarter of the area Level 1 (subtexture of original) Downsample Level 1 texture Level 2 texture Repeat Mipmap chain = set of all the images d axis = level of detail (also called λ)
27 MINIFICATION: MIPMAPPING To do mipmapping properly, you need: Good filtering i.e., how you get your downsampled texture Box filter = average of 4 texels from Level N to get Level N+1 texel one of the worst filters possible Gaussian filter better choice Gamma correction Nonlinear relationship between actual intensity and value representing intensity when averaging, need to do gamma correction to make sure upper levels of mipmaps do not get darker
28 MINIFICATION: MIPMAPPING To use mipmapping: Compute d floating-point number Use longer edge of quadrilateral formed by pixel s cell on texture space OR Compute differentials (i.e., change in texture space across screen) May also add level of detail bias (LOD bias) starting d User sets this Increase bias blurrier textures Decrease bias sharper textures d low = floor(d), d high = ceiling(d) Use bilinear interpolation to get values from V low = (u,v,d low ) and V high = (u,v,d high ) Interpolate values V low and V high based on d trilinear interpolation
29 MINIFICATION: MIPMAPPING Disadvantage of mipmapping overblurring If you cover a lot of pixels in one direction but not the other uses largest side to compute d Partial solution: ripmap encodes rectangular areas of texture as well Still doesn t help when pixel cell covers diagonal area
30 MINIFICATION: SUMMED-AREA TABLES Summed-area table (SAT) a method to avoid overblurring problem of mipmaps Create array S that is the size of the texture, BUT contains more bits of precision (e.g., 16 bits per color per texel instead of the usual 8 bits) Each location S(x,y) contains the sum of all pixels from S(0,0) to S(x,y) inclusive To get the average color value for a rectangle in the texture: c S[ x ur, y ur ] S[ x ( x ur ur, y x ll ll ] S[ x )( y ur ll, y y ) ll ur ] S[ x ll, y ll ]
31 MINIFICATION: COMPARISON OF APPROACHES SO FAR Anisotropic filtering algorithms = can retrieve texel values over areas that are not square E.g., ripmaps and summed-area tables (but best in horizontal/vertical directions) Regular mipmapping is NOT an anisotropic filtering algorithm Memory: Mipmaps + 1/3 of original texture memory Ripmaps + 3x original texture memory Summed-area tables + at least 2x for texture of size 16 x 16 or less more precision needed for larger textures
32 MINIFICATION: COMPARISON OF APPROACHES SO FAR Nearest neighbor Mipmapping Summed area tables
33 MINIFICATION: UNCONSTRAINED ANISOTROPIC FILTERING Mipmapping hardware already in place Unconstrained anisotropic filtering Find axis of projected pixel area line of anisotropy Take multiple square mipmap samples along line of anisotropy Common number of samples: 2 Use shorter side of quad to get d less blurry Advantages: Line of anisotropy can run in any direction not limited like ripmaps and summed-area tables Same memory requirements of mipmapping
34 MINIFICATION: UNCONSTRAINED ANISOTROPIC FILTERING Mipmapping Unconstrained anisotropic filtering (16:1) 16 samples
35 BUMP MAPPING
36 INTRODUCTION Bump mapping = family of techniques that give surfaces a more 3D appearance than garden-variety 2D texturing (but less than actually creating geometry) Modify the geometric normal using values from a texture Normal must be modified relative to the tangent space basis at the point (i.e., local frame of reference)
37 TANGENT SPACE BASIS Tangent space basis = normal, tangent, and bitangent (binormal) vectors Tangent and bitangent axes of normal map in object space Need all three at each vertex Store them all explicitly OR Store tangent and bitangent compute normal using cross product Issue of handedness either make sure it s always the same or store a bit indicating left or right hand rule! Often transform light vector, view vector, etc. in tangent space before doing lighting calculations Easier to modify normal from normal map values, since normal will now be (0,0,1) bitangent tx bx nx 0 t b n y y y 0 Normal map tangent t b n z z z
38 BLINN S METHODS All it takes is for the rendered image to look right. -- Jim Blinn The original bump mapping approach proposed by Jim Blinn: wards/1999/coons.html Store two signed values, b u and b v, in texture vary normal by that much in u and v axes Bump map texture called offset vector bump map or offset map Alternative: use a heightfield (0,1) lower and higher Compute b u and b v by getting differences of neighboring pixels edge detection Heightfield
39 BLINN S METHODS
40 NORMAL MAPPING Normal map Stores the (x,y,z) values of the perturbed normal Fewer calculations (if not converting to tangent space), greater storage size Preferred method on modern hardware Each value: [-1,1] [0, 255] Demo:
41 NORMAL MAPPING: WHAT SPACE? What space is the normal from the normal map in? World space Original approach, but rarely used now Doesn t work if object is rotated Object space Valid under rigid transformations (but not other kinds of deformations) Light vector must be transformed to object space Tangent space Can compress texture a little better z is always positive More transformations required for shading tangent space basis can change across surface When we do shading, the lighting and surface MUST be in the same space: world, tangent, or object Tangent can compute light vector per vertex and interpolate across surface More efficient for single light (not transforming normal to world space every pixel) World convert normal map value to world space More efficient for multiple lights; needed if doing reflection calculations
42 PARALLAX MAPPING Ideal location Parallax mapping Addresses problem with normal mapping (bumps do not block each other) Example: bricks should stick out from surface and block view of mortar from some angles Parallax = position of objects move relative to one another as observer moves Bumps are stored in heightfield texture When viewing surface at given pixel: So: Get heightfield value Shift texture coordinate to retrieve different part of surface based on height and viewing angle h = heightfield value v = normalized view vector v z = height, v xy = horizontal component (MUST BE IN TANGENT SPACE) p adj = new parallax-adjusted position: p adj p h v v z xy Parallax mapping
43 PARALLAX MAPPING Advantages: Simple; works well in practice practical standard for bump mapping Disadvantages: Illusion falls apart at shallow viewing angles small height changes, LARGE coordinate shift Partial solution: use offset limiting limits offset to retrieved height: adj v xy Texture swimming texture swirls around when view changes Stereo rendering need to make sure depth cues are consistent p' p h Parallax offset limiting
44 MAIN PROBLEM WITH PARALLAX MAPPING Ideal location Parallax mapping Main problem with parallax mapping we want when the view vector FIRST intersects with the heightfield Almost all approaches to do this use some approximation of ray tracing which brings us to relief mapping
45 RELIEF MAPPING Relief mapping Different algorithms for this: parallax occlusion mapping (POM), relief mapping, steep parallax mapping Basic idea: Test a fixed number of texture samples along the projected vector Use more samples if view rays are at grazing angles Once a sample below the heightfield is found use 1) distance below heightfield and 2) distance above previous sample to find intersection point Use intersection point to get diffuse texture, normal map, etc. Can use multiple heightfields for overhangs, independent overlapping surfaces, etc. Can also be used to do self-shadowing (where the object casts shadows on itself)
46 RELIEF MAPPING Challenges: Finding the actual intersection point Sample a lot in parallel more texture accesses Use iterative approach fewer texture accesses, but dependent on each other Must sample heightfield frequently enough problematic when mipmapping/anisotropic filtering comes into play Problem: Illusion breaks down at silhouette edge
47 NORMAL VS. RELIEF MAPPING
48 NORMAL MAPPING VS. PARALLAX MAPPING VS. RELIEF MAPPING Normal mapping Parallax mapping Relief mapping
49 DISPLACEMENT MAPPING Displacement mapping Uses heightfield to modify vertex locations models bumps as true geometry More memory and computation intensitive becoming more popular because of geometry shaders (create geometry on the fly) Collision detection can be a problem don t have geometry to intersect with at application level
50 OTHER KINDS OF TEXTURES
51 VOLUME TEXTURES Volume textures Use (u,v,w) coordinates to access Advantages: Could use 3D coordinates directly as texture coordinates if desired Can use to represent volumetric structure of a material e.g., wood, marble, etc. Disadvantages: Significantly higher storage requirements More expensive to filter Overkill for surface texturing
52 CUBE MAPS Cube maps or cube textures Six square textures one for each face of cube Use 3D texture coordinates = ray from center of cube Use largest component to pick face (e.g., (-3.2, 5.1, -8.4) use Z face) Divide remaining two components by absolute value of largest side (- 3.2/8.4, 5.1/8.4) Remap from [-1,1] to [0,1] compute (u,v) coordinates for face Most often used for environment mapping E.g., simulation reflections of room, skyboxes, etc. Problem when sampling at seams SHOULD sample across boundary however, almost all graphics hardware can t do this Larger area covered
53 PROCEDURAL TEXTURING Procedural Texturing = use function to compute texture values on the fly Good for volumetric materials (e.g., wood, marble)
54 ALPHA MAPPING Often we have a texture we want to: Put on top of another object that s already textured/colored decals Render on a single polygon to create the illusion of a complicated object (e.g., tree, plant) used in billboarding Use full alpha blending have to worry about order of rendering Use alpha testing just check if alpha is 1 or 0 Rendering order not a problem Can use 1-bit alpha map Can get aliasing on edges of decal
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
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
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
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:
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
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
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)
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
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
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
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
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
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
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
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
CS451 Texturing 4. Bump mapping continued. Jyh-Ming Lien Department of Computer SCience George Mason University. From Martin Mittring,
CS451 Texturing 4 Bump mapping continued 1 Jyh-Ming Lien Department of Computer SCience George Mason University From Martin Mittring, 2 Spaces where your Normal map lives World space normal map Each normal
TEXTURE MAPPING. DVA338 Computer Graphics Thomas Larsson, Afshin Ameri
TEXTURE MAPPING DVA338 Computer Graphics Thomas Larsson, Afshin Ameri OVERVIEW Motivation Texture Mapping Coordinate Mapping (2D, 3D) Perspective Correct Interpolation Texture Filtering Mip-mapping Anisotropic
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
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
Texturas. Objectives. ! Introduce Mapping Methods. ! Consider two basic strategies. Computação Gráfica
Texturas Computação Gráfica Objectives! Introduce Mapping Methods! Texture Mapping! Environmental Mapping! Bump Mapping! Light Mapping! Consider two basic strategies! Manual coordinate specification! Two-stage
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
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
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
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,
Texture Mapping. Computer Graphics, 2015 Lecture 9. Johan Nysjö Centre for Image analysis Uppsala University
Texture Mapping Computer Graphics, 2015 Lecture 9 Johan Nysjö Centre for Image analysis Uppsala University What we have rendered so far: Looks OK, but how do we add more details (and colors)? Texture mapping
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
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
All the Polygons You Can Eat. Doug Rogers Developer Relations
All the Polygons You Can Eat Doug Rogers Developer Relations doug@nvidia.com Future of Games Very high resolution models 20,000 triangles per model Lots of them Complex Lighting Equations Floating point
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 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
CSE 167: Introduction to Computer Graphics Lecture #9: Textures. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013
CSE 167: Introduction to Computer Graphics Lecture #9: Textures Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 Announcements Added Tuesday office hours for Krishna: 11am-12
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
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
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
Surface Rendering. Surface Rendering
Surface Rendering Surface Rendering Introduce Mapping Methods - Texture Mapping - Environmental Mapping - Bump Mapping Go over strategies for - Forward vs backward mapping 2 1 The Limits of Geometric Modeling
CS GAME PROGRAMMING Question bank
CS6006 - GAME PROGRAMMING Question bank Part A Unit I 1. List the different types of coordinate systems. 2. What is ray tracing? Mention some applications of ray tracing. 3. Discuss the stages involved
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
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
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
Recollection. Models Pixels. Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows
Recollection Models Pixels Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows Can be computed in different stages 1 So far we came to Geometry model 3 Surface
Parallax Bumpmapping. Whitepaper
Public Imagination Technologies Parallax Bumpmapping Whitepaper Copyright Imagination Technologies Limited. All Rights Reserved. This publication contains proprietary information which is subject to change
Texturing. Slides done bytomas Akenine-Möller and Ulf Assarsson Department of Computer Engineering Chalmers University of Technology
Texturing Slides done bytomas Akenine-Möller and Ulf Assarsson Department of Computer Engineering Chalmers University of Technology 1 Texturing: Glue n-dimensional images onto geometrical objects l Purpose:
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
Those Delicious Texels or Dynamic Image-Space Per-Pixel
Those Delicious Texels or Dynamic Image-Space Per-Pixel Pixel Displacement Mapping with Silhouette Antialiasing via Parallax Occlusion Mapping Natalya Tatarchuk 3D Application Research Group ATI Research,
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
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:
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
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
The Bricks2D texture has axial projection methods available such as spherical, cubic, planar, front, cylindrical and UV.
2D Textures 2D textures consist of images or procedurals that can be mapped to the object surface during the shading computation. An algorithm is used for wrapping the texture around the object s surface
CSE 167: Introduction to Computer Graphics Lecture #7: Textures. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018
CSE 167: Introduction to Computer Graphics Lecture #7: Textures Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018 Announcements Project 2 due this Friday at 2pm Grading in
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
Interactive Cloth Simulation. Matthias Wloka NVIDIA Corporation
Interactive Cloth Simulation Matthias Wloka NVIDIA Corporation MWloka@nvidia.com Overview Higher-order surfaces Vertex-shader deformations Lighting modes Per-vertex diffuse Per-pixel diffuse with bump-map
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
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
Overview. Goals. MipMapping. P5 MipMap Texturing. What are MipMaps. MipMapping in OpenGL. Generating MipMaps Filtering.
Overview What are MipMaps MipMapping in OpenGL P5 MipMap Texturing Generating MipMaps Filtering Alexandra Junghans junghana@student.ethz.ch Advanced Filters You can explain why it is a good idea to use
Render-To-Texture Caching. D. Sim Dietrich Jr.
Render-To-Texture Caching D. Sim Dietrich Jr. What is Render-To-Texture Caching? Pixel shaders are becoming more complex and expensive Per-pixel shadows Dynamic Normal Maps Bullet holes Water simulation
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
Interactive Summed-Area Table Generation for Glossy Environmental Reflections
Interactive Summed-Area Table Generation for Glossy Environmental Reflections Justin Hensley Thorsten Scheuermann Montek Singh Anselmo Lastra University of North Carolina at Chapel Hill ATI Research Overview
Practical Parallax Occlusion Mapping For Highly Detailed Surface Rendering
Practical Parallax Occlusion Mapping For Highly Detailed Surface Rendering Natalya Tatarchuk 3D Application Research Group ATI Research, Inc. The Plan What are we trying to solve? Quick review of existing
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
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
Zeyang Li Carnegie Mellon University
Zeyang Li Carnegie Mellon University Recap: Texture Mapping Programmable Graphics Pipeline Bump Mapping Displacement Mapping Environment Mapping GLSL Overview Perlin Noise GPGPU Map reflectance over a
Rendering Grass Terrains in Real-Time with Dynamic Lighting. Kévin Boulanger, Sumanta Pattanaik, Kadi Bouatouch August 1st 2006
Rendering Grass Terrains in Real-Time with Dynamic Lighting Kévin Boulanger, Sumanta Pattanaik, Kadi Bouatouch August 1st 2006 Goal Rendering millions of grass blades, at any distance, in real-time, with:
Today. Global illumination. Shading. Interactive applications. Rendering pipeline. Computergrafik. Shading Introduction Local shading models
Computergrafik Thomas Buchberger, Matthias Zwicker Universität Bern Herbst 2008 Today Introduction Local shading models Light sources strategies Compute interaction of light with surfaces Requires simulation
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
Attention to Detail! Creating Next Generation Content For Radeon X1800 and beyond
Attention to Detail! Creating Next Generation Content For Radeon X1800 and beyond Callan McInally Manager, 3D Application Research Group Overview In order to fully take advantage of next generation hardware,
Cap. 3 Textures. Mestrado em Engenharia Informática (6931) 1º ano, 1º semestre
Cap. 3 Textures Mestrado em Engenharia Informática (6931) 1º ano, 1º semestre Overview Objectives Notion of texture Motivation Texture mapping, texture patterns, and texels Mapping textures to polygons,
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
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
Complex Shading Algorithms
Complex Shading Algorithms CPSC 414 Overview So far Rendering Pipeline including recent developments Today Shading algorithms based on the Rendering Pipeline Arbitrary reflection models (BRDFs) Bump mapping
Lecture 6: Texture. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011)
Lecture 6: Texture Kayvon Fatahalian CMU 15-869: Graphics and Imaging Architectures (Fall 2011) Today: texturing! Texture filtering - Texture access is not just a 2D array lookup ;-) Memory-system implications
User Guide. Melody 1.2 Normal Map Creation & Multiple LOD Generation
User Guide Melody 1.2 Normal Map Creation & Multiple LOD Generation DA-01601-001-v01 November 2004 Table of Contents Introduction to Melody...1 Features... 1 Using Melody...1 Loading a Model... 1 Model
CS 5600 Spring
Objectives From: Ed Angel University of New Mexico Introduce Mapping Methods - - Environment Mapping -Bump Mapping Consider basic strategies - Forward vs backward mapping - Point sampling vs area averaging
Today. Global illumination. Shading. Interactive applications. Rendering pipeline. Computergrafik. Shading Introduction Local shading models
Computergrafik Matthias Zwicker Universität Bern Herbst 2009 Today Introduction Local shading models Light sources strategies Compute interaction of light with surfaces Requires simulation of physics Global
Computergrafik. Matthias Zwicker. Herbst 2010
Computergrafik Matthias Zwicker Universität Bern Herbst 2010 Today Bump mapping Shadows Shadow mapping Shadow mapping in OpenGL Bump mapping Surface detail is often the result of small perturbations in
Mosaics. Today s Readings
Mosaics VR Seattle: http://www.vrseattle.com/ Full screen panoramas (cubic): http://www.panoramas.dk/ Mars: http://www.panoramas.dk/fullscreen3/f2_mars97.html Today s Readings Szeliski and Shum paper (sections
CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker
CMSC427 Advanced shading getting global illumination by local methods Credit: slides Prof. Zwicker Topics Shadows Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection
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
LEVEL 1 ANIMATION ACADEMY2010
1 Textures add more realism to an environment and characters. There are many 2D painting programs that can be used to create textures, such as Adobe Photoshop and Corel Painter. Many artists use photographs
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
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
Ptex: Per-face Texture Mapping for Production Rendering
EGSR 2008 Ptex: Per-face Texture Mapping for Production Rendering Brent Burley and Dylan Lacewell Walt Disney Animation Studios (See attached slide notes for details) Texture Mapping at Disney Chicken
Real-Time Graphics Architecture. Kurt Akeley Pat Hanrahan. Texture
Real-Time Graphics Architecture Kurt Akeley Pat Hanrahan http://www.graphics.stanford.edu/courses/cs448a-01-fall Texture 1 Topics 1. Review of texture mapping 2. RealityEngine and InfiniteReality 3. Texture
Texture Mapping 1/34
Texture Mapping 1/34 Texture Mapping Offsets the modeling assumption that the BRDF doesn t change in u and v coordinates along the object s surface Store a reflectance as an image called a texture Map
Hardware Displacement Mapping
Matrox's revolutionary new surface generation technology, (HDM), equates a giant leap in the pursuit of 3D realism. Matrox is the first to develop a hardware implementation of displacement mapping and
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
CS 4620 Program 3: Pipeline
CS 4620 Program 3: Pipeline out: Wednesday 14 October 2009 due: Friday 30 October 2009 1 Introduction In this assignment, you will implement several types of shading in a simple software graphics pipeline.
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
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...........
AMCS / CS 247 Scientific Visualization Lecture 10: (GPU) Texture Mapping. Markus Hadwiger, KAUST
AMCS / CS 247 Scientific Visualization Lecture 10: (GPU) Texture Mapping Markus Hadwiger, KAUST Reading Assignment #5 (until Oct. 8) Read (required): Real-Time Volume Graphics, Chapter 2 (GPU Programming)
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
Mattan Erez. The University of Texas at Austin
EE382V (17325): Principles in Computer Architecture Parallelism and Locality Fall 2007 Lecture 11 The Graphics Processing Unit Mattan Erez The University of Texas at Austin Outline What is a GPU? Why should
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
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
https://ilearn.marist.edu/xsl-portal/tool/d4e4fd3a-a3...
Assessment Preview - This is an example student view of this assessment done Exam 2 Part 1 of 5 - Modern Graphics Pipeline Question 1 of 27 Match each stage in the graphics pipeline with a description
Tutorial 4: Texture Mapping Techniques
Tutorial 4: Texture Mapping Techniques Completion time 40 minutes In the previous tutorial we learned how to create materials, and how to assign texture maps to those materials. In this tutorial we will
Advanced Lighting Techniques Due: Monday November 2 at 10pm
CMSC 23700 Autumn 2015 Introduction to Computer Graphics Project 3 October 20, 2015 Advanced Lighting Techniques Due: Monday November 2 at 10pm 1 Introduction This assignment is the third and final part
Drawing a Crowd. David Gosselin Pedro V. Sander Jason L. Mitchell. 3D Application Research Group ATI Research
Drawing a Crowd David Gosselin Pedro V. Sander Jason L. Mitchell 3D Application Research Group ATI Research Introduction In this chapter, we present a technique for efficiently rendering a large crowd
CSE 167: Introduction to Computer Graphics Lecture #8: Textures. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017
CSE 167: Introduction to Computer Graphics Lecture #8: Textures Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 Announcements Project 2 is due this Friday at 2pm Next Tuesday
Scalable multi-gpu cloud raytracing with OpenGL
Scalable multi-gpu cloud raytracing with OpenGL University of Žilina Digital technologies 2014, Žilina, Slovakia Overview Goals Rendering distant details in visualizations Raytracing Multi-GPU programming