INF3320 Computer Graphics and Discrete Geometry
|
|
- Dwayne Bell
- 5 years ago
- Views:
Transcription
1 INF3320 Computer Graphics and Discrete Geometry Texturing Christopher Dyken Martin Reimers Page 1
2 Texturing Linear interpolation Real Time Rendering: Chapter 5: Visual Appearance Chapter 6: Texturing The Texturing Pipeline Image Texturing Procedural Texturing The Red Book: Chapter 9: Texture Mapping Page 2
3 Interpolation Page 3
4 Linear interpolation Problem: approximate a func. f from samples f 0, f 1 at x 0, x 1. Typical case is data given in a table. f f f (x) 1 f 0 x 0 x x 1 x Solution: find f (x) = ax + b such that f (x 0 ) = f 0 and f (x 1 ) = f 1 Page 4
5 Linear interpolation Problem: approximate a func. f from samples f 0, f 1 at x 0, x 1. Typical case is data given in a table. f f f (x) 1 f 0 x 0 x x 1 x Solution: find f (x) = ax + b such that f (x 0 ) = f 0 and f (x 1 ) = f 1 Remember: affine functions f (x) = Ax + b satisfy f ((1 α)x 0 + αx 1 ) = (1 α)f (x 0 ) + αf (x 1 ) Yields a formula (Bernstein form) for linear interpolation: only need to find (unique) α s.t. x = (1 α)x 0 + αx 1 Note: x and f (x) are weighted averages (convex combinations) Page 5
6 Linear interpolation in 2D Similar problem in 2D: find affine f (x, y) = ax + by + c such that f (v i ) = f i for 3 points v 0, v 1, v 2, then evaluate f (x). Page 6
7 Linear interpolation in 2D Similar problem in 2D: find affine f (x, y) = ax + by + c such that f (v i ) = f i for 3 points v 0, v 1, v 2, then evaluate f (x). Alternative: f is affine and satisfies for all α 0 + α 1 + α 2 = 1 f (α 0 v 0 + α 1 v 1 + α 2 v 2 ) = α 0 f (v 0 ) + α 1 f (v 1 ) + α 2 f (v 2 ) For given v, the problem is then reduced to finding α i s.t. αi = 1 and v = α 0 v 0 + α 1 v 1 + α 2 v 2 Note: x and f (x) are convex combinations, with the same weights (α i ), called barycentric coordinates Page 7
8 Linear interpolation 2D - barycentric form Given a point v and a triangle T = [v 0, v 1, v 2 ], there are unique barycentric coordinates α i = α i (v) such that v = α 0 v 0 + α 1 v 1 + α 2 v 2, α 0 + α 1 + α 2 = 1 v is expressed as a convex combination (average) of the vertices. p b p b p a p c pa p pc α 0 = area(v, v 1, v 2 ) area(v 0, v 1, v 2 ) 0 α i 1 for v inside T α 1 = area(v, v 0, v 2 ) area(v 0, v 1, v 2 ) α 2 = area(v, v 0, v 1 ) area(v 0, v 1, v 2 ) One coordinate is redundant - e.g. α 2 = 1 α 0 α 1 Also called homogenuous coordinates Generalize to nd, important and useful Page 8
9 Linear interpolation 2D - barycentric coordinates II Given data (f i ) at the vertices of a triangle T = [v 0, v 1, v 2 ], we can interpolate at an arbitrary point v by f (v) = α 0 f (v 0 ) + α 1 f (v 1 ) + α 2 f (v 2 ) f (v) is a convex combination (average) of f at the vertices. f 1 f 0 f y v 1 f 2 v 0 x v 2 Page 9
10 Bi-linear interpolation Given tabulated data f ij on a square v ij = (i, j), with i, j = 0, 1, we can find a bi-linear function f such that f (i, j) = f ij : f (x, y) = (1 x)(1 y) f 00 + x(1 y) f 10 + xy f 11 + (1 x)y f 01 v 01 v 11 f 11 y f 01 f 00 f 10 v 00 x v 10 v 01 v 00 v 10 v 11 A linear function in each variable... but a quadratic on the diagonal x = y Generalizes to any dimension (tri-,..., n-linear interpolation) Used to interpolate gridded data, eg. textures... Page 10
11 Texturing Page 11
12 What is texturing? Texturing in computer graphics Texturing means modifying a surface s appearance using an image, function or other data source. Texturing may for example modify: Color (image mapping). The most common case. Normals (bump mapping). Geometry (displacement mapping). Page 12
13 Motivation Better appearance at lower cost. May use lower quality geometry, i.e. fewer vertices. May use less advanced lighting algorithms. Easy to add decals, text, images. Page 13
14 Example textures Example textures from Diffuse Bump Specular Page 14
15 Example rendering Page 15
16 Tradeoffs Basic rule: Fine details in textures, coarser features need geometry. The optimal boundary between the two may depend on a multitude of factors. Typical case 1. Far away: Image texturing is fine. 2. Closer: Illusion breaks down, bump mapping optimal solution. 3. View approaches tangential: Illusion breaks down again, displacement mapping or proper geometry necessary. Page 16
17 Defining textures in OpenGL Textures are managed through texture names: GLuint texture_names[n]; glgentextures(n, texture_names); gldeletetextures(n, texture_names); OpenGL supports several texture types (targets): GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D,... We bind texture to use/manipulate it: glbindtexture( GL_TEXTURE_2D, texture_names[0]); Then we can specify texture, manipulate it, etc: glteximage2d( GL_TEXTURE_2D, level, iformat width, height, border, format, type, &image[0][0][0] ); Page 17
18 Defining textures in OpenGL - II Many parameters controls the bound texture (wrapping, filtering,...) gltexparameteri(gl_texture_2d,...); Texturing must be enabled: glenable(gl_texture_2d); Many functions for manipulating textures gltexsubimage2d();... glcopyteximage2d(); Page 18
19 Texture coordinates Texture coords t 1, t 2, t 3 are texture space positions that assign a position in the texture to each vertex v 1, v 2, v 3 (red arrows) t 3 v 2 t 2 t v 1 1 v 3 Specified arbitrarily at each vertex. Interpolated over each triangle. = texture coordinate for each pixel (blue arrow). Notice that pixels and texels rarely match Page 19
20 Parametric surfaces usually have a natural set of texcoords Parameterization Objects without parameterization needs to be parameterized. We must find a mapping φ from the domain T to the image S. S φ T Parameterization is not trivial and is an open research question. Sometimes we can obtain texcoords by projecting the vertex positions onto an intermediate geometry (projector funcs): Parallel projection onto a plane Along surface normal onto a sphere Along surface normal onto a cube Page 20
21 In OpenGL we use gltexcoord to specify the current texcoord, glvertex creates a vertex with the current texcoord associated. gltexcoord before glvertex Corresponder functions Corresponder functions specifies the mapping between texture coordinates and texels. Vanilla OpenGL corresponder function gltexcoord( 0.0, 0.0 ) my_texels[0][0] gltexcoord( 1.0, 0.0 ) my_texels[511][0] gltexcoord( 0.0, 1.0 ) my_texels[0][511] gltexcoord( 1.0, 1.0 ) my_texels[511][511] Page 21
22 Generalized Texturing Texturing works by modifying surface attributes over the triangle. 1. The fragment location in space is the starting point. 2. A projector function gives texture space values. 3. The corresponder function transforms texture space values to a location in texture image (not a pixel in image). 4. Sampling the texture at the image location gives a value. 5. The value transform function transforms the value The resulting value is used to modify a surface property 2. 1 e.g. gamma correction 2 e.g. surface color Page 22
23 The projector function Takes an object space pos. and gives a texture space pos. We can project onto a simple intermediate object and use that object s parameterization to determine the texture position: Parallel projection onto a plane Along surface normal onto a sphere Along surface normal onto a cube Parametric curved surfaces usually have an intrinsic parameter space, and we can use this directly. OpenGL s gltexgen provides some different projector functions. Page 23
24 Ideally, the texture is glued to the object in a way that: minimizes distortion good correspondence between object and parameter space. φ S T The problem of fitting a texture space (parameter space) onto an object is known as parameterization and is an open research question. Parameterization is a topic in INF Page 24
25 The corresponder function Maps from texture space position to image locations. Texture domains usually 2D with (u, v) in [0, 1] [0, 1]. Sometimes 3D where the third coordinate can represent depth = volumetric texture. And in some cases 4D (homogeneous coordinates) = e.g. spotlight effects. Often, the corresponder function simply scales the coordinates [0, 1] [0, 1] [0, 256] [0, 256] for a texture of size Page 25
26 Corresponder func determines behavior outside [0, 1] [0, 1] repeat mirror clamp clamp to border This is called wrap mode and is specified with gltexparameter We can make the texture repeat itself [0, 1] [1, 1] [0, 4] [2, 4] [0, 3/4] [3/4, 3/4] [0, 2] [2, 2] [0,4] [4, 4] [0, 0] [1, 0] [0, 0] [2, 0] [0, 0] [3/4, 0] [0, 0] [2, 0] [0,0] [4, 0] Page 26
27 Texture filtering Texels and pixels rarely match: Use filtering techniques (interpolation) Mipmapping, anisotropic filtering, antialiasing,... Tradeoff: quality vs speed Page 27
28 Texture magnification In this case, a texel covers several pixels. OpenGL has two strategies to deal with this: Nearest neighbour. Bilinear interpolation. The texture magnification filter is specified using one of gltexparameter(gl_texture_2d, GL_TEXTURE_MAG_FILTER, GL_LINEAR); gltexparameter(gl_texture_2d, GL_TEXTURE_MAG_FILTER, GL_NEAREST); Page 28
29 Texture minification If a pixel covers several texels, the texture is under-sampled. We get aliasing artifacts. Mipmaps are pre-filtered textures, halving the size for each level: Then, use the mipmap level s.t. pixel and texel size matches and Choose the nearest mipmap level. Interpolate between two adjacent mipmap levels. The texture minification filter is specified using gltexparameter(gl_texture_2d, GL_TEXTURE_MIN_FILTER, filter); Page 29
30 Texture combine function The texture combine function specifies how the texture color is combined with the color of the fragment. OpenGL fixed function texture combine functions Replace replaces the texel color with the texture color. Decal lets texture α blend between pixel color and texture color. Blend uses texture color to blend texel and a pre-specified color. Modulate multiplies the surface colour with texture colour. Example: Lighted textures Render white shapes with lighting enabled and use the modulate texture combine. In OpenGL, gltexenv* to specifies the texture combine function. Page 30
31 Nate robbins tutorial Page 31
32 Texturing Methods Page 32
33 Environmental maps Shiny surfaces, such as mirrors, produce specular reflections that mirror the whole environment (not just the light sources). E.g., if a shiny metal ball is placed in a room, we see the contents of the room, albeit distorted, in the ball. Environmental maps is a simple yet powerful method of generating approximations of reflections in curved surfaces. We assume that reflected objects and lights are far away and the reflector will not reflect itself = only the reflected view direction matters, not the position on the surface. We will look at two environment mapping techniques: sphere mapping cube mapping Page 33
34 Sphere mapping (first environment mapping technique supported in hardware) view direction ray surface normal reflected ray Image plane Used for mapping spherical environment onto reflective objects The environment is modeled as a sphere For each pixel, the reflection vector is calculated The reflection corresponds to a texture coordinate (A texel corresponds to a reflection direction) Get color and other data from texture Page 34
35 Sphere mapping - example Page 35
36 Sphere mapping characteristics Sphere mapping pros: Can be implemented on any graphics hardware that supports texture mapping. Sphere map cons: The path between two points on the sphere map, therefore linear interpolation on the texture is just an approximation. The sphere map is only valid in one direction. Singularity located around the edge Page 36
37 Cube mapping Similar to spherical environment mapping Each of the six images of a cube map captures the environment seen from the center of a cube through one of the cube s faces. box around view point face frustum face image view point Since regular perspective is used, these images can be rendered at runtime with render-to-texture (dynamic environment maps) Page 37
38 Cube mapping characteristics Cube mapping pros: Has no singularities Has a quite uniform sampling characteristic Is view-independent Cube map cons: Requires special hardware Page 38
39 Bump and normal maps Geometry Idea: = Phong shading Normal map Parallax occlusion map Use textures to modulate the interpolated surface normal. the surface looks more geometric detailed! Page 39
40 Normal mapping Phong: interpolate normal vector and normalize varying vec3 normal; void main() { vec3 n = normalize( normal ); gl_fragcolor = max( dot(l,n),0.0 ) * gl_color + pow( max( dot(h,n),0.0), 40 )*vec4(1.0); } Normal map: fetch normal vector from texture uniform sampler2d nm; uniform mat3 nmat; // normal transform usually done by vertex shader void main() { vec3 n = 2*nmat*texture2D( ntex, gl_texcoord[0].xy )-vec(1); gl_fragcolor = max( dot(l,n),0.0 ) * gl_color + pow( max( dot(h,n),0.0), 40 )*vec4(1.0); } Excellent results, but difficult to animate (must update texture)! Page 40
41 The last slide Next time: The opengl pipeline Page 41
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 informationTexture Mapping. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science
Texture Mapping CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science 1 Objectives Introduce Mapping Methods - Texture Mapping - Environment Mapping - Bump Mapping Consider
More informationToday. Texture mapping in OpenGL. Texture mapping. Basic shaders for texturing. Today. Computergrafik
Computergrafik Today Basic shader for texture mapping Texture coordinate assignment Antialiasing Fancy textures Matthias Zwicker Universität Bern Herbst 2009 Texture mapping Glue textures (images) onto
More informationCS452/552; EE465/505. Texture Mapping in WebGL
CS452/552; EE465/505 Texture Mapping in WebGL 2-26 15 Outline! Texture Mapping in WebGL Read: Angel, Chapter 7, 7.3-7.5 LearningWebGL lesson 5: http://learningwebgl.com/blog/?p=507 Lab3 due: Monday, 3/2
More informationLecture 19: OpenGL Texture Mapping. CITS3003 Graphics & Animation
Lecture 19: OpenGL Texture Mapping CITS3003 Graphics & Animation E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 2012 Objectives Introduce the OpenGL texture functions and options
More informationComputergrafik. Matthias Zwicker Universität Bern Herbst 2016
Computergrafik Matthias Zwicker Universität Bern Herbst 2016 2 Today Basic shader for texture mapping Texture coordinate assignment Antialiasing Fancy textures 3 Texture mapping Glue textures (images)
More informationCS 432 Interactive Computer Graphics
CS 432 Interactive Computer Graphics Lecture 7 Part 2 Texture Mapping in OpenGL Matt Burlick - Drexel University - CS 432 1 Topics Texture Mapping in OpenGL Matt Burlick - Drexel University - CS 432 2
More informationBuffers. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015
Buffers 1 Objectives Introduce additional WebGL buffers Reading and writing buffers Buffers and Images 2 Buffer Define a buffer by its spatial resolution (n x m) and its depth (or precision) k, the number
More informationCSE 167: Introduction to Computer Graphics Lecture #8: Textures. Jürgen P. Schulze, Ph.D. University of California, San Diego Spring Quarter 2016
CSE 167: Introduction to Computer Graphics Lecture #8: Textures Jürgen P. Schulze, Ph.D. University of California, San Diego Spring Quarter 2016 Announcements Project 2 due this Friday Midterm next Tuesday
More informationCT5510: Computer Graphics. Texture Mapping
CT5510: Computer Graphics Texture Mapping BOCHANG MOON Texture Mapping Simulate spatially varying surface properties Phong illumination model is coupled with a material (e.g., color) Add small polygons
More informationGraphics. Texture Mapping 고려대학교컴퓨터그래픽스연구실.
Graphics Texture Mapping 고려대학교컴퓨터그래픽스연구실 3D Rendering Pipeline 3D Primitives 3D Modeling Coordinates Model Transformation 3D World Coordinates Lighting 3D World Coordinates Viewing Transformation 3D Viewing
More informationCS 354R: Computer Game Technology
CS 354R: Computer Game Technology Texture and Environment Maps Fall 2018 Texture Mapping Problem: colors, normals, etc. are only specified at vertices How do we add detail between vertices without incurring
More informationOpenGL Texture Mapping. Objectives Introduce the OpenGL texture functions and options
OpenGL Texture Mapping Objectives Introduce the OpenGL texture functions and options 1 Basic Strategy Three steps to applying a texture 1. 2. 3. specify the texture read or generate image assign to texture
More informationCISC 3620 Lecture 7 Lighting and shading. Topics: Exam results Buffers Texture mapping intro Texture mapping basics WebGL texture mapping
CISC 3620 Lecture 7 Lighting and shading Topics: Exam results Buffers Texture mapping intro Texture mapping basics WebGL texture mapping Exam results Grade distribution 12 Min: 26 10 Mean: 74 8 Median:
More informationCPSC / Texture Mapping
CPSC 599.64 / 601.64 Introduction and Motivation so far: detail through polygons & materials example: brick wall problem: many polygons & materials needed for detailed structures inefficient for memory
More informationCSE 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
More informationCS 450: COMPUTER GRAPHICS TEXTURE MAPPING SPRING 2015 DR. MICHAEL J. REALE
CS 450: COMPUTER GRAPHICS TEXTURE MAPPING SPRING 2015 DR. MICHAEL J. REALE INTRODUCTION Texturing = process that takes a surface and modifies its appearance at each location using some image, function,
More informationTexture mapping. Computer Graphics CSE 167 Lecture 9
Texture mapping Computer Graphics CSE 167 Lecture 9 CSE 167: Computer Graphics Texture Mapping Overview Interpolation Wrapping Texture coordinates Anti aliasing Mipmaps Other mappings Including bump mapping
More informationCS GPU and GPGPU Programming Lecture 11: GPU Texturing 1. Markus Hadwiger, KAUST
CS 380 - GPU and GPGPU Programming Lecture 11: GPU Texturing 1 Markus Hadwiger, KAUST Reading Assignment #6 (until Mar. 9) Read (required): Programming Massively Parallel Processors book, Chapter 4 (CUDA
More informationCS212. OpenGL Texture Mapping and Related
CS212 OpenGL Texture Mapping and Related Basic Strategy Three steps to applying a texture 1. specify the texture read or generate image assign to texture enable texturing 2. assign texture coordinates
More informationTexture 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
More informationCS GPU and GPGPU Programming Lecture 12: GPU Texturing 1. Markus Hadwiger, KAUST
CS 380 - GPU and GPGPU Programming Lecture 12: GPU Texturing 1 Markus Hadwiger, KAUST Reading Assignment #6 (until Mar. 17) Read (required): Programming Massively Parallel Processors book, Chapter 4 (CUDA
More informationTexturas. 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
More informationTexturing. 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:
More informationTexture Mapping and Sampling
Texture Mapping and Sampling CPSC 314 Wolfgang Heidrich The Rendering Pipeline Geometry Processing Geometry Database Model/View Transform. Lighting Perspective Transform. Clipping Scan Conversion Depth
More informationCSE 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
More informationCS GPU and GPGPU Programming Lecture 16+17: GPU Texturing 1+2. Markus Hadwiger, KAUST
CS 380 - GPU and GPGPU Programming Lecture 16+17: GPU Texturing 1+2 Markus Hadwiger, KAUST Reading Assignment #10 (until April 23) Read (required): Brook for GPUs: Stream Computing on Graphics Hardware
More informationCap. 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,
More informationOverview. 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
More informationTexturing Theory. Overview. All it takes is for the rendered image to look right. -Jim Blinn 11/10/2018
References: Real-Time Rendering 3 rd Edition Chapter 6 Texturing Theory All it takes is for the rendered image to look right. -Jim Blinn Overview Introduction The Texturing Pipeline Example The Projector
More informationTexture and other Mappings
Texture and other Mappings Texture Mapping Bump Mapping Displacement Mapping Environment Mapping Example: Checkerboard Particularly severe problems in regular textures 1 The Beginnings of a Solution: Mipmapping
More informationComputergrafik. 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
More informationLighting and Texturing
Lighting and Texturing Michael Tao Michael Tao Lighting and Texturing 1 / 1 Fixed Function OpenGL Lighting Need to enable lighting Need to configure lights Need to configure triangle material properties
More informationCS4621/5621 Fall Basics of OpenGL/GLSL Textures Basics
CS4621/5621 Fall 2015 Basics of OpenGL/GLSL Textures Basics Professor: Kavita Bala Instructor: Nicolas Savva with slides from Balazs Kovacs, Eston Schweickart, Daniel Schroeder, Jiang Huang and Pramook
More informationCSE 167: Lecture #8: GLSL. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012
CSE 167: Introduction to Computer Graphics Lecture #8: GLSL Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Homework project #4 due Friday, November 2 nd Introduction:
More informationTexture Mapping and Special Effects
Texture Mapping and Special Effects February 23 rd 26 th 2007 MAE 410-574, Virtual Reality Applications and Research Instructor: Govindarajan Srimathveeravalli HW#5 Due March 2 nd Implement the complete
More informationComputer Graphics. Bing-Yu Chen National Taiwan University
Computer Graphics Bing-Yu Chen National Taiwan University Introduction to OpenGL General OpenGL Introduction An Example OpenGL Program Drawing with OpenGL Transformations Animation and Depth Buffering
More informationComputer Graphics Texture Mapping
! Computer Graphics 2013! 13. Texture Mapping Hongxin Zhang State Key Lab of CAD&CG, Zhejiang University 2013-10-28 About the final examination - Next Friday (Nov. 8th) Night, - 7:30PM - 9:00PM (one and
More informationLecture 07: Buffers and Textures
Lecture 07: Buffers and Textures CSE 40166 Computer Graphics Peter Bui University of Notre Dame, IN, USA October 26, 2010 OpenGL Pipeline Today s Focus Pixel Buffers: read and write image data to and from
More informationCS 130 Final. Fall 2015
CS 130 Final Fall 2015 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying
More informationTSBK 07! Computer Graphics! Ingemar Ragnemalm, ISY
1(61) Information Coding / Computer Graphics, ISY, LiTH TSBK 07 Computer Graphics Ingemar Ragnemalm, ISY 1(61) Lecture 6 Texture mapping Skyboxes Environment mapping Bump mapping 2(61)2(61) Texture mapping
More informationCSE528 Computer Graphics: Theory, Algorithms, and Applications
CSE528 Computer Graphics: Theory, Algorithms, and Applications Hong Qin State University of New York at Stony Brook (Stony Brook University) Stony Brook, New York 11794--4400 Tel: (631)632-8450; Fax: (631)632-8334
More informationOrthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015
Orthogonal Projection Matrices 1 Objectives Derive the projection matrices used for standard orthogonal projections Introduce oblique projections Introduce projection normalization 2 Normalization Rather
More informationCSC Graphics Programming. Budditha Hettige Department of Statistics and Computer Science
CSC 307 1.0 Graphics Programming Department of Statistics and Computer Science Graphics Programming Texture Mapping 2 Texture Poly. Per Vertex Mapping CPU DL Pixel Texture Raster Frag FB Apply a 1D, 2D,
More informationTexture 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
More informationSUMMARY. CS380: Introduction to Computer Graphics Texture Mapping Chapter 15. Min H. Kim KAIST School of Computing 18/05/03.
CS380: Introduction to Computer Graphics Texture Mapping Chapter 15 Min H. Kim KAIST School of Computing Materials SUMMARY 2 1 Light blob from PVC plastic Recall: Given any vector w (not necessarily of
More informationShading. Flat shading Gouraud shading Phong shading
Shading Flat shading Gouraud shading Phong shading Flat Shading and Perception Lateral inhibition: exaggerates perceived intensity Mach bands: perceived stripes along edges Icosahedron with Sphere Normals
More informationCS335 Graphics and Multimedia. Slides adopted from OpenGL Tutorial
CS335 Graphics and Multimedia Slides adopted from OpenGL Tutorial Texture Poly. Per Vertex Mapping CPU DL Texture Raster Frag FB Pixel Apply a 1D, 2D, or 3D image to geometric primitives Uses of Texturing
More informationTexture. Texture Mapping. Texture Mapping. CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture
Texture CS 475 / CS 675 Computer Graphics Add surface detail Paste a photograph over a surface to provide detail. Texture can change surface colour or modulate surface colour. Lecture 11 : Texture http://en.wikipedia.org/wiki/uv_mapping
More informationCS 475 / CS 675 Computer Graphics. Lecture 11 : Texture
CS 475 / CS 675 Computer Graphics Lecture 11 : Texture Texture Add surface detail Paste a photograph over a surface to provide detail. Texture can change surface colour or modulate surface colour. http://en.wikipedia.org/wiki/uv_mapping
More informationC P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE. Mikhail Bessmeltsev
C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE UGRAD.CS.UBC.C A/~CS314 Mikhail Bessmeltsev 1 WHAT IS RENDERING? Generating image from a 3D scene 2 WHAT IS RENDERING? Generating image
More information-=Catmull's Texturing=1974. Part I of Texturing
-=Catmull's Texturing=1974 but with shaders Part I of Texturing Anton Gerdelan Textures Edwin Catmull's PhD thesis Computer display of curved surfaces, 1974 U.Utah Also invented the z-buffer / depth buffer
More informationProgramming Graphics Hardware
Tutorial 5 Programming Graphics Hardware Randy Fernando, Mark Harris, Matthias Wloka, Cyril Zeller Overview of the Tutorial: Morning 8:30 9:30 10:15 10:45 Introduction to the Hardware Graphics Pipeline
More informationComputer Graphics. - Texturing Methods -
Computer Graphics - Texturing Methods - Overview Last time BRDFs Shading Today Texturing Texture parameterization Procedural methods Procedural textures Fractal landscapes Next lecture Texture filtering
More informationMagnification and Minification
Magnification and Minification Lecture 30 Robb T. Koether Hampden-Sydney College Fri, Nov 6, 2015 Robb T. Koether (Hampden-Sydney College) Magnification and Minification Fri, Nov 6, 2015 1 / 17 Outline
More informationObjectives. Texture Mapping and NURBS Week 7. The Limits of Geometric Modeling. Modeling an Orange. Three Types of Mapping. Modeling an Orange (2)
CS 480/680 INTERACTIVE COMPUTER GRAPHICS Texture Mapping and NURBS Week 7 David Breen Department of Computer Science Drexel University Objectives Introduce Mapping Methods Texture Mapping Environmental
More informationSurface 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
More informationTextures. Texture Mapping. Bitmap Textures. Basic Texture Techniques
Texture Mapping Textures The realism of an image is greatly enhanced by adding surface textures to the various faces of a mesh object. In part a) images have been pasted onto each face of a box. Part b)
More informationCSE 167: Introduction to Computer Graphics Lecture #6: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2014
CSE 167: Introduction to Computer Graphics Lecture #6: Lights Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2014 Announcements Project 2 due Friday, Oct. 24 th Midterm Exam
More informationDiscussion 3. PPM loading Texture rendering in OpenGL
Discussion 3 PPM loading Texture rendering in OpenGL PPM Loading - Portable PixMap format 1. 2. Code for loadppm(): http://ivl.calit2.net/wiki/images/0/09/loadppm.txt ppm file format: Header: 1. P6: byte
More informationComputergraphics Exercise 15/ Shading & Texturing
Computergraphics Exercise 15/16 3. Shading & Texturing Jakob Wagner for internal use only Shaders Vertex Specification define vertex format & data in model space Vertex Processing transform to clip space
More informationLecture 17: Shading in OpenGL. CITS3003 Graphics & Animation
Lecture 17: Shading in OpenGL CITS3003 Graphics & Animation E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 2012 Objectives Introduce the OpenGL shading methods - per vertex shading
More informationINF3320 Computer Graphics and Discrete Geometry
INF3320 Computer Graphics and Discrete Geometry More smooth Curves and Surfaces Christopher Dyken, Michael Floater and Martin Reimers 10.11.2010 Page 1 More smooth Curves and Surfaces Akenine-Möller, Haines
More informationAnnouncements. Written Assignment 2 is out see the web page. Computer Graphics
Announcements Written Assignment 2 is out see the web page 1 Texture and other Mappings Shadows Texture Mapping Bump Mapping Displacement Mapping Environment Mapping Watt Chapter 8 COMPUTER GRAPHICS 15-462
More informationCHAPTER 1 Graphics Systems and Models 3
?????? 1 CHAPTER 1 Graphics Systems and Models 3 1.1 Applications of Computer Graphics 4 1.1.1 Display of Information............. 4 1.1.2 Design.................... 5 1.1.3 Simulation and Animation...........
More informationTexture Mapping 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
More informationTextures. Texture coordinates. Introduce one more component to geometry
Texturing & Blending Prof. Aaron Lanterman (Based on slides by Prof. Hsien-Hsin Sean Lee) School of Electrical and Computer Engineering Georgia Institute of Technology Textures Rendering tiny triangles
More informationIntroduction to Computer Graphics with WebGL
1 Introduction to Computer Graphics with WebGL Ed Angel Lighting in WebGL WebGL lighting Application must specify - Normals - Material properties - Lights State-based shading functions have been deprecated
More informationCS452/552; EE465/505. Intro to Lighting
CS452/552; EE465/505 Intro to Lighting 2-10 15 Outline! Projection Normalization! Introduction to Lighting (and Shading) Read: Angel Chapter 5., sections 5.4-5.7 Parallel Projections Chapter 6, sections
More informationCS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside
CS230 : Computer Graphics Lecture 4 Tamar Shinar Computer Science & Engineering UC Riverside Shadows Shadows for each pixel do compute viewing ray if ( ray hits an object with t in [0, inf] ) then compute
More informationINF3320 Computer Graphics and Discrete Geometry
INF3320 Computer Graphics and Discrete Geometry Visual appearance Christopher Dyken and Martin Reimers 23.09.2009 Page 1 Visual appearance Real Time Rendering: Chapter 5 Light Sources and materials Shading
More informationLecture 5 3D graphics part 3
Lecture 5 3D graphics part 3 Shading; applying lighting Surface detail: Mappings Texture mapping Light mapping Bump mapping Surface detail Shading: takes away the surface detail of the polygons Texture
More informationGraphics and Interaction Rendering pipeline & object modelling
433-324 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Lecture outline Introduction to Modelling Polygonal geometry The rendering
More informationFog example. Fog is atmospheric effect. Better realism, helps determine distances
Fog example Fog is atmospheric effect Better realism, helps determine distances Fog Fog was part of OpenGL fixed function pipeline Programming fixed function fog Parameters: Choose fog color, fog model
More informationTexture Mapping. Texture (images) lecture 16. Texture mapping Aliasing (and anti-aliasing) Adding texture improves realism.
lecture 16 Texture mapping Aliasing (and anti-aliasing) Texture (images) Texture Mapping Q: Why do we need texture mapping? A: Because objects look fake and boring without it. Adding texture improves realism.
More informationlecture 16 Texture mapping Aliasing (and anti-aliasing)
lecture 16 Texture mapping Aliasing (and anti-aliasing) Texture (images) Texture Mapping Q: Why do we need texture mapping? A: Because objects look fake and boring without it. Adding texture improves realism.
More informationComputer Graphics. Lecture 8 Antialiasing, Texture Mapping
Computer Graphics Lecture 8 Antialiasing, Texture Mapping Today Texture mapping Antialiasing Antialiasing-textures Texture Mapping : Why needed? Adding details using high resolution polygon meshes is costly
More informationCMSC427 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
More informationComputer Graphics. Three-Dimensional Graphics VI. Guoying Zhao 1 / 73
Computer Graphics Three-Dimensional Graphics VI Guoying Zhao 1 / 73 Texture mapping Guoying Zhao 2 / 73 Objectives Introduce Mapping Methods Texture Mapping Environment Mapping Bump Mapping Consider basic
More informationLets assume each object has a defined colour. Hence our illumination model is looks unrealistic.
Shading Models There are two main types of rendering that we cover, polygon rendering ray tracing Polygon rendering is used to apply illumination models to polygons, whereas ray tracing applies to arbitrary
More informationLecture 15: Shading-I. CITS3003 Graphics & Animation
Lecture 15: Shading-I CITS3003 Graphics & Animation E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 2012 Objectives Learn that with appropriate shading so objects appear as threedimensional
More informationCS 498 VR. Lecture 19-4/9/18. go.illinois.edu/vrlect19
CS 498 VR Lecture 19-4/9/18 go.illinois.edu/vrlect19 Review from previous lectures Image-order Rendering and Object-order Rendering Image-order Rendering: - Process: Ray Generation, Ray Intersection, Assign
More informationGRAFIKA KOMPUTER. ~ M. Ali Fauzi
GRAFIKA KOMPUTER ~ M. Ali Fauzi Texture Mapping WHY TEXTURE? Imagine a Chess Floor Or a Brick Wall How to Draw? If you want to draw a chess floor, each tile must be drawn as a separate quad. A large flat
More informationCS179: GPU Programming
CS179: GPU Programming Lecture 4: Textures Original Slides by Luke Durant, Russel McClellan, Tamas Szalay Today Recap Textures What are textures? Traditional uses Alternative uses Recap Our data so far:
More informationAMCS / 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)
More information3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models
3D Programming Concepts Outline 3D Concepts Displaying 3D Models 3D Programming CS 4390 3D Computer 1 2 3D Concepts 3D Model is a 3D simulation of an object. Coordinate Systems 3D Models 3D Shapes 3D Concepts
More informationTEXTURE 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
More informationComputer Graphics I Lecture 11
15-462 Computer Graphics I Lecture 11 Midterm Review Assignment 3 Movie Midterm Review Midterm Preview February 26, 2002 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/
More informationShading/Texturing. Dr. Scott Schaefer
Shading/Texturing Dr. Scott Schaefer Problem / Problem / Problem 4/ Problem / Problem / Shading Algorithms Flat Shading Gouraud Shading Phong Shading / Flat Shading Apply same color across entire polygon
More informationObjectives Shading in OpenGL. Front and Back Faces. OpenGL shading. Introduce the OpenGL shading methods. Discuss polygonal shading
Objectives Shading in OpenGL Introduce the OpenGL shading methods - per vertex shading vs per fragment shading - Where to carry out Discuss polygonal shading - Flat - Smooth - Gouraud CITS3003 Graphics
More informationTexture Mapping CSCI 4229/5229 Computer Graphics Fall 2016
Texture Mapping CSCI 4229/5229 Computer Graphics Fall 2016 What are texture maps? Bitmap images used to assign fine texture to displayed surfaces Used to make surfaces appear more realistic Must move with
More informationModule Contact: Dr Stephen Laycock, CMP Copyright of the University of East Anglia Version 1
UNIVERSITY OF EAST ANGLIA School of Computing Sciences Main Series PG Examination 2013-14 COMPUTER GAMES DEVELOPMENT CMPSME27 Time allowed: 2 hours Answer any THREE questions. (40 marks each) Notes are
More information2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into
2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel
More information3D Rasterization II COS 426
3D Rasterization II COS 426 3D Rendering Pipeline (for direct illumination) 3D Primitives Modeling Transformation Lighting Viewing Transformation Projection Transformation Clipping Viewport Transformation
More information三維繪圖程式設計 3D Graphics Programming Design 第七章基礎材質張貼技術嘉大資工系盧天麒
三維繪圖程式設計 3D Graphics Programming Design 第七章基礎材質張貼技術嘉大資工系盧天麒 1 In this chapter, you will learn The basics of texture mapping Texture coordinates Texture objects and texture binding Texture specification
More informationCS451Real-time Rendering Pipeline
1 CS451Real-time Rendering Pipeline JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY Based on Tomas Akenine-Möller s lecture note You say that you render a 3D 2 scene, but what does
More informationINF3320 Computer Graphics and Discrete Geometry
INF3320 Computer Graphics and Discrete Geometry The OpenGL pipeline Christopher Dyken and Martin Reimers 07.10.2009 Page 1 The OpenGL pipeline Real Time Rendering: The Graphics Processing Unit (GPU) (Chapter
More informationDeferred Rendering Due: Wednesday November 15 at 10pm
CMSC 23700 Autumn 2017 Introduction to Computer Graphics Project 4 November 2, 2017 Deferred Rendering Due: Wednesday November 15 at 10pm 1 Summary This assignment uses the same application architecture
More informationCSE 167: Lecture 11: Textures 2. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011
CSE 167: Introduction to Computer Graphics Lecture 11: Textures 2 Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 Announcements Homework assignment #5 due Friday, Nov 4,
More informationOverview. By end of the week:
Overview By end of the week: - Know the basics of git - Make sure we can all compile and run a C++/ OpenGL program - Understand the OpenGL rendering pipeline - Understand how matrices are used for geometric
More information