BUMP MAPPING. Programação 3D Simulação e Jogos Prof. João A. Madeiras Pereira MEIC-A/IST

Size: px
Start display at page:

Download "BUMP MAPPING. Programação 3D Simulação e Jogos Prof. João A. Madeiras Pereira MEIC-A/IST"

Transcription

1 UMP MAPPIG Programação 3D Simulação e Jogos Prof. João A. Madeiras Pereira MEIC-A/IS

2 Eamples

3 Shading

4 Generating ormal Map ase teture (RG) Height map (Gre scale) ormal map (normal encoded RG)

5 Displacement Mapping ump mapping can be at piel leel has no geometr/shape change Displacement Mapping Actuall modif the surface geometr (ertices) re-calculate the normals Can include bump mapping

6 Displacement Mapping ump mapped normals are inconsistent with actual geometr. o shadow. Displacement mapping affects the surface geometr

7 ump Mapping ase teture (RG) ormal map (normal encoded RG)

8 ormal Map ormal ector encoded as rgb [-1,1] 3 [0,1] 3 : rgb = n* RG decoding in fragment shaders ec3 n = teture2d(ormalmap, tecoord.st).rgb * In tangent space, the default (unit) normal points in the + direction. Hence the RG color for the straight up normal is (0.5, 0.5, 1.0). his is wh normal maps are a blueish color ormals are then used for shading computation Diffuse: n l Specular: (n h) shininess Computations done in tangent space

9 angent Space concept ( he big problem is how to conert our normal, which is epressed in the space of each indiidual triangle ( tangent space), in model space (since this is what is used in our shading equation). we need 3 ectors. We alread hae our UP ector : it s the normal, computed from the triangle b a simple cross product. It s represented in blue, just like the oerall color of the normal map

10 angent Space concept et we need a tangent, : a ector perpendicular to the surface. ut there are man such ectors :

11 angent Space concept Which one should we choose? In theor, an, but we hae to be consistent with the neighbors to aoid introducing ugl edges. he standard method is to orient the plane defined b the tangent (red color) and the other orthogonal ector (called bitangent in green color) in the same direction that our 2D teture space referential :

12 angent Space concept

13 angent () Space In order to build this angent Space, which is a 3D space, we need to define an orthonormal basis angent space is composed of 3 orthogonal ectors (,, ) angent ( angent) itangent ( angent) wrongl also called inormal ormal () - perpendicular to (,) plane o align the tangent space (3D) with teture space (2D), means: (, ) ectors correspond to (u, ) ectors. is the ector (1, 0) and is the ector (0, 1). ote that a 2D point in teture space (ui, i) corresponds to a 3D point (ui, i, 0) in angent space

14 at each Verte ighting calculations: light ector in World/Ee space; normal ector at angent space -> spaces transformation matri; First, calculate the ectors in World coordinates for each triangle of the mesh: the riangle-based hen, calculate a tangent space matri for eer single erte b aeraging the triangle-based s which share that erte: Vertebased.

15 Verte-based (per erte)

16 riangle-based angent Space Suppose a point p i in world coordinate sstem for whose teture coordinates are (u i, i ) Writing this equation for the points p1, p2 and p3, defining the triangle : p 1 = u p 2 = u p 3 = u

17 riangle-based angent Space p 2 - p 1 = (u 2 - u 1 ). + ( 2-1 ). p 3 - p 1 = (u 3 - u 1 ). + ( 3-1 ). 6 eqns, 6 unknowns ( 3-1 ).(p 2 - p 1 ) = ( 3-1 ).(u 2 - u 1 ). + ( 3-1 ).( 2-1 ). - ( 2-1 ).(p 3 - p 1 ) - ( 2-1 ).(u 3 - u 1 ). - ( 2-1 ).( 3-1 ). (u 3 - u 1 ).(p 2 - p 1 ) = (u 3 - u 1 ).(u 2 - u 1 ). + (u 3 - u 1 ).( 2-1 ). - (u 2 - u 1 ).(p 3 - p 1 ) - (u 2 - u 1 ).(u 3 - u 1 ). - (u 2 - u 1 ).( 3-1 ). ( 3-1 ).(p 2 - p 1 ) - ( 2-1 ).(p 3 - p 1 ) = (u 2 - u 1 ).( 3-1 ) - ( 2-1 ).(u 3 - u 1 ) (u 3 - u 1 ).(p 2 - p 1 ) - (u 2 - u 1 ).(p 3 - p 1 ) = ( 2-1 ).(u 3 - u 1 ) - (u 2 - u 1 ).( 3-1 ),: (unit) ectors in WCS space = cross(, ) // no need to do it since is the triangle normal

18 Verte-based Use the aeraged triangle normal as the erte normal Do the same for tangent and bitangent ectors ut, as we are going to see, it s not necessar to store an etra arra containing the per-erte bitangent; wh?

19 Spaces ransformation W W W W W W W W W 1 angent space to World space World space to angent space Onl if is also orthogonal in World space wo source of non-orthogonalit in World space: 1) riangle-based 2) Verte-based Forget the ranslation. Onl the rotation is important. Wh?

20 on-orthogonalit in World space riangle-based he transformation from the teture space into world space ma not be distance/angle conseratie. So, generall, (,, ) is not orthonormal in world space: and are not necessaril perpendicular, but the are perpendicular with. As well, possibl not unit ectors. Verte-based Use the aeraged triangle normal as the erte normal Do the same for tangent and bitangent ectors, ectors might not be orthogonal to the normal ector Use Gram-Schmidt to make sure the are orthogonal

21 Orthogonal Verte-based is the normal erte using the Gram-Schmidt technique: = ( ) = ( ) ( ) / 2 After normaliing, the matri to conert from World to angent is simpl the transposed matri: Send both and to the Verte Shader, or not necessar to store an etra arra containing the per-erte bitangent since the cross product can be used to obtain m m = ±1 represents the handedness of the tangent space. Implementation: as a four-dimensional entit whose w coordinate holds the alue of m; so = w ( ) Code for w, where t, b, n are ec3d and t is ec4d t = normalie [(t n * (Dot (n, t))] t.w = (Dot(Cross(n, t ), b) < 0.0f? -1.0f : 1.0f;

22 GS Matri operations ) normalie ( ightdir ); dot (, ); dot (, ); dot (, ector - matri product matri - ector product 1 GS makes no distinction between column and row ectors. If a ector multiplied from the left to the matri is row ector; if multiplied from the right is column ector

23 GS Verte Shader in ec4 Pos, ormal, ecoord, angent; out ec3 lightvec, halfvec; out ec2 te_coord; uniform mat4 ModelViewMatri, pmmatri; uniform light ightsource; uniform mat3 ormalmatri; oid main() } te_coord = ecoord.st; // uilding the matri Ee Space -> angent Space ec3 n = normalie (ormalmatri * ormal.); ec3 t = normalie (ormalmatri * angent.); ec3 b = angent.w * cross (n, t); ec3 ee_position = ec3(modelviewmatri * Pos); ec3 lightdir = normalie(ightsource.pos ee_position); // transform light and half angle ectors b tangent basis ec3 ;. = dot (lightdir, t);. = dot (lightdir, b);. = dot (lightdir, n); lightvec = normalie (); ec3 halfvector = normalie(lightdir - ee_position);. = dot (halfvector, t);. = dot (halfvector, b);. = dot (halfvector, n); halfvec = normalie (); } gl_position = pmmatri * Pos ;

24 GS Fragment Shader uniform sampler2d baseeture; uniform sampler2d normaleture; uniform light ightsource; uniform material Material; in ec3 lightvec, halfvec; in ec2 te_coord; oid main() { // lookup normal from normal map, moe from [0,1] to [-1, 1] range, normalie ec3 normal = 2.0 * teture(normaleture, te_coord).rgb - 1.0; normal = normalie (normal); } // compute diffuse lighting float lambertfactor= ma (dot (lightvec, normal), 0.0) ; ec4 diffusematerial = 0.0; ec4 diffuseight = 0.0; float shininess ; ec4 ambientight = ightsource.ambient; if (lambertfactor > 0.0) { diffusematerial = teture (baseeture, te_coord) * Material.diffuse; shininess = pow (ma (dot (halfvec, normal), 0.0), Material.shininess) ; gl_fragcolor = diffusematerial * ightsource.diffuse * lambertfactor ; gl_fragcolor += Material.specular * ightsource.specular * shininess ; } gl_fragcolor += ambientight;

25 References normal-mapping/) pdf

26

CS 548: COMPUTER GRAPHICS REVIEW: OVERVIEW OF POLYGONS SPRING 2015 DR. MICHAEL J. REALE

CS 548: COMPUTER GRAPHICS REVIEW: OVERVIEW OF POLYGONS SPRING 2015 DR. MICHAEL J. REALE CS 548: COMPUTER GRPHICS REVIEW: OVERVIEW OF POLYGONS SPRING 05 DR. MICHEL J. RELE NOTE: COUNTERCLOCKWISE ORDER ssuming: Right-handed sstem Vertices in counterclockwise order looking at front of polgon

More information

3D Geometry and Camera Calibration

3D Geometry and Camera Calibration 3D Geometr and Camera Calibration 3D Coordinate Sstems Right-handed vs. left-handed 2D Coordinate Sstems ais up vs. ais down Origin at center vs. corner Will often write (u, v) for image coordinates v

More information

Lighting and Shading II. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

Lighting and Shading II. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015 Lighting and Shading II 1 Objectives Continue discussion of shading Introduce modified Phong model Consider computation of required vectors 2 Ambient Light Ambient light is the result of multiple interactions

More information

Computer Graphics. Geometric Transformations

Computer Graphics. Geometric Transformations Contents coordinate sstems scalar values, points, vectors, matrices right-handed and left-handed coordinate sstems mathematical foundations transformations mathematical descriptions of geometric changes,

More information

Computer Graphics. Geometric Transformations

Computer Graphics. Geometric Transformations Computer Graphics Geometric Transformations Contents coordinate sstems scalar values, points, vectors, matrices right-handed and left-handed coordinate sstems mathematical foundations transformations mathematical

More information

Determining the 2d transformation that brings one image into alignment (registers it) with another. And

Determining the 2d transformation that brings one image into alignment (registers it) with another. And Last two lectures: Representing an image as a weighted combination of other images. Toda: A different kind of coordinate sstem change. Solving the biggest problem in using eigenfaces? Toda Recognition

More information

Advanced Lighting Techniques Due: Monday November 2 at 10pm

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

More information

Geometric Transformations

Geometric Transformations CS INTRODUCTION TO COMPUTER GRAPHICS Geometric Transformations D and D Andries an Dam 9/9/7 /46 CS INTRODUCTION TO COMPUTER GRAPHICS How do we use Geometric Transformations? (/) Objects in a scene at the

More information

GLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner

GLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner GLOBAL EDITION Interactive Computer Graphics A Top-Down Approach with WebGL SEVENTH EDITION Edward Angel Dave Shreiner This page is intentionall left blank. 4.10 Concatenation of Transformations 219 in

More information

Uses of Transformations. 2D transformations Homogeneous coordinates. Transformations. Transformations. Transformations. Transformations and matrices

Uses of Transformations. 2D transformations Homogeneous coordinates. Transformations. Transformations. Transformations. Transformations and matrices Uses of Transformations 2D transformations Homogeneous coordinates odeling: position and resie parts of a comple model; Viewing: define and position the virtual camera Animation: define how objects move/change

More information

CS452/552; EE465/505. Lighting & Shading

CS452/552; EE465/505. Lighting & Shading CS452/552; EE465/505 Lighting & Shading 2-17 15 Outline! More on Lighting and Shading Read: Angel Chapter 6 Lab2: due tonight use ASDW to move a 2D shape around; 1 to center Local Illumination! Approximate

More information

What does OpenGL do?

What does OpenGL do? Theor behind Geometrical Transform What does OpenGL do? So the user specifies a lot of information Ee Center Up Near, far, UP EE Left, right top, bottom, etc. f b CENTER left right top bottom What does

More information

ECS 175 COMPUTER GRAPHICS. Ken Joy.! Winter 2014

ECS 175 COMPUTER GRAPHICS. Ken Joy.! Winter 2014 ECS 175 COMPUTER GRAPHICS Ken Joy Winter 2014 Shading To be able to model shading, we simplify Uniform Media no scattering of light Opaque Objects No Interreflection Point Light Sources RGB Color (eliminating

More information

Today s class. Geometric objects and transformations. Informationsteknologi. Wednesday, November 7, 2007 Computer Graphics - Class 5 1

Today s class. Geometric objects and transformations. Informationsteknologi. Wednesday, November 7, 2007 Computer Graphics - Class 5 1 Toda s class Geometric objects and transformations Wednesda, November 7, 27 Computer Graphics - Class 5 Vector operations Review of vector operations needed for working in computer graphics adding two

More information

3-Dimensional Viewing

3-Dimensional Viewing CHAPTER 6 3-Dimensional Vieing Vieing and projection Objects in orld coordinates are projected on to the vie plane, hich is defined perpendicular to the vieing direction along the v -ais. The to main tpes

More information

Notes. University of British Columbia

Notes. University of British Columbia Notes Drop-bo is no. 14 You can hand in our assignments Assignment 0 due Fri. 4pm Assignment 1 is out Office hours toda 16:00 17:00, in lab or in reading room Uniersit of Uniersit of Chapter 4 - Reminder

More information

CS 2770: Intro to Computer Vision. Multiple Views. Prof. Adriana Kovashka University of Pittsburgh March 14, 2017

CS 2770: Intro to Computer Vision. Multiple Views. Prof. Adriana Kovashka University of Pittsburgh March 14, 2017 CS 277: Intro to Computer Vision Multiple Views Prof. Adriana Kovashka Universit of Pittsburgh March 4, 27 Plan for toda Affine and projective image transformations Homographies and image mosaics Stereo

More information

Parallelization. Memory coherency helps when distributing rays to various threads/processors

Parallelization. Memory coherency helps when distributing rays to various threads/processors / Ra Tracing OpenGL projects triangles onto the image plane and rasteries them to determine which piels the cover Scanline rendering is a per triangle operation Ra Tracing instead works as a per piel operation

More information

What and Why Transformations?

What and Why Transformations? 2D transformations What and Wh Transformations? What? : The geometrical changes of an object from a current state to modified state. Changing an object s position (translation), orientation (rotation)

More information

Modeling Transformations

Modeling Transformations Modeling Transformations Michael Kazhdan (601.457/657) HB Ch. 5 FvDFH Ch. 5 Overview Ra-Tracing so far Modeling transformations Ra Tracing Image RaTrace(Camera camera, Scene scene, int width, int heigh,

More information

CS 450: COMPUTER GRAPHICS 2D TRANSFORMATIONS SPRING 2016 DR. MICHAEL J. REALE

CS 450: COMPUTER GRAPHICS 2D TRANSFORMATIONS SPRING 2016 DR. MICHAEL J. REALE CS 45: COMUTER GRAHICS 2D TRANSFORMATIONS SRING 26 DR. MICHAEL J. REALE INTRODUCTION Now that we hae some linear algebra under our resectie belts, we can start ug it in grahics! So far, for each rimitie,

More information

CS 418: Interactive Computer Graphics. Basic Shading in WebGL. Eric Shaffer

CS 418: Interactive Computer Graphics. Basic Shading in WebGL. Eric Shaffer CS 48: Interactive Computer Graphics Basic Shading in WebGL Eric Shaffer Some slides adapted from Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 205 Phong Reflectance Model Blinn-Phong

More information

CS F-07 Objects in 2D 1

CS F-07 Objects in 2D 1 CS420-2010F-07 Objects in 2D 1 07-0: Representing Polgons We want to represent a simple polgon Triangle, rectangle, square, etc Assume for the moment our game onl uses these simple shapes No curves for

More information

Today. The Graphics Pipeline: Projective Transformations. Last Week: Schedule. XForms Forms Library. Questions?

Today. The Graphics Pipeline: Projective Transformations. Last Week: Schedule. XForms Forms Library. Questions? Toda The Graphics Pipeline: Projectie Reiew & Schedule Ra Casting / Tracing s. The Graphics Pipeline Projectie Last Week: Animation & Quaternions Finite Element Simulations collisions, fracture, & deformation

More information

Computer Graphics Coursework 1

Computer Graphics Coursework 1 Computer Graphics Coursework 1 Deadline Deadline: 4pm, 24/10/2016 4pm 23/10/2015 Outline The aim of the coursework is to modify the vertex and fragment shaders in the provided OpenGL framework to implement

More information

MAN-522: COMPUTER VISION SET-2 Projections and Camera Calibration

MAN-522: COMPUTER VISION SET-2 Projections and Camera Calibration MAN-522: COMPUTER VISION SET-2 Projections and Camera Calibration Image formation How are objects in the world captured in an image? Phsical parameters of image formation Geometric Tpe of projection Camera

More information

Transformations II. Arbitrary 3D Rotation. What is its inverse? What is its transpose? Can we constructively elucidate this relationship?

Transformations II. Arbitrary 3D Rotation. What is its inverse? What is its transpose? Can we constructively elucidate this relationship? Utah School of Computing Fall 25 Transformations II CS46 Computer Graphics From Rich Riesenfeld Fall 25 Arbitrar 3D Rotation What is its inverse? What is its transpose? Can we constructivel elucidate this

More information

Image warping. image filtering: change range of image. image warping: change domain of image g(x) = f(h(x)) h(y)=0.5y+0.5. h([x,y])=[x,y/2] f h

Image warping. image filtering: change range of image. image warping: change domain of image g(x) = f(h(x)) h(y)=0.5y+0.5. h([x,y])=[x,y/2] f h Image warping Image warping image filtering: change range of image g() () = h(f()) h(f()) f h g h()=0.5+0.5 image warping: change domain of image g() = f(h()) f h g h([,])=[,/2] Parametric (global) warping

More information

Geometric Model of Camera

Geometric Model of Camera Geometric Model of Camera Dr. Gerhard Roth COMP 42A Winter 25 Version 2 Similar Triangles 2 Geometric Model of Camera Perspective projection P(X,Y,Z) p(,) f X Z f Y Z 3 Parallel lines aren t 4 Figure b

More information

CS559 Computer Graphics Fall 2015

CS559 Computer Graphics Fall 2015 CS559 Computer Graphics Fall 2015 Practice Midterm Exam Time: 2 hrs 1. [XX Y Y % = ZZ%] MULTIPLE CHOICE SECTION. Circle or underline the correct answer (or answers). You do not need to provide a justification

More information

Viewing. Cliff Lindsay, Ph.D. WPI

Viewing. Cliff Lindsay, Ph.D. WPI Viewing Cliff Lindsa, Ph.D. WPI Building Virtual Camera Pipeline l Used To View Virtual Scene l First Half of Rendering Pipeline Related To Camera l Takes Geometr From ApplicaHon To RasteriaHon Stages

More information

4. Two Dimensional Transformations

4. Two Dimensional Transformations 4. Two Dimensional Transformations CS362 Introduction to Computer Graphics Helena Wong, 2 In man applications, changes in orientations, sizes, and shapes are accomplished with geometric transformations

More information

Last Time. Correct Transparent Shadow. Does Ray Tracing Simulate Physics? Does Ray Tracing Simulate Physics? Refraction and the Lifeguard Problem

Last Time. Correct Transparent Shadow. Does Ray Tracing Simulate Physics? Does Ray Tracing Simulate Physics? Refraction and the Lifeguard Problem Graphics Pipeline: Projective Last Time Shadows cast ra to light stop after first intersection Reflection & Refraction compute direction of recursive ra Recursive Ra Tracing maimum number of bounces OR

More information

Modeling Transformations

Modeling Transformations Modeling Transformations Michael Kazhdan (601.457/657) HB Ch. 5 FvDFH Ch. 5 Announcement Assignment 2 has been posted: Due: 10/24 ASAP: Download the code and make sure it compiles» On windows: just build

More information

Homogeneous Coordinates

Homogeneous Coordinates COMS W4172 3D Math 2 Steven Feiner Department of Computer Science Columbia Universit New York, NY 127 www.cs.columbia.edu/graphics/courses/csw4172 Februar 1, 218 1 Homogeneous Coordinates w X W Y X W Y

More information

[ ] [ ] Orthogonal Transformation of Cartesian Coordinates in 2D & 3D. φ = cos 1 1/ φ = tan 1 [ 2 /1]

[ ] [ ] Orthogonal Transformation of Cartesian Coordinates in 2D & 3D. φ = cos 1 1/ φ = tan 1 [ 2 /1] Orthogonal Transformation of Cartesian Coordinates in 2D & 3D A vector is specified b its coordinates, so it is defined relative to a reference frame. The same vector will have different coordinates in

More information

Two Dimensional Viewing

Two Dimensional Viewing Two Dimensional Viewing Dr. S.M. Malaek Assistant: M. Younesi Two Dimensional Viewing Basic Interactive Programming Basic Interactive Programming User controls contents, structure, and appearance of objects

More information

Efficient and Scalable Shading for Many Lights

Efficient and Scalable Shading for Many Lights Efficient and Scalable Shading for Many Lights 1. GPU Overview 2. Shading recap 3. Forward Shading 4. Deferred Shading 5. Tiled Deferred Shading 6. And more! First GPU Shaders Unified Shaders CUDA OpenCL

More information

Three-Dimensional Coordinates

Three-Dimensional Coordinates CHAPTER Three-Dimensional Coordinates Three-dimensional movies superimpose two slightl different images, letting viewers with polaried eeglasses perceive depth (the third dimension) on a two-dimensional

More information

Chap 7, 2009 Spring Yeong Gil Shin

Chap 7, 2009 Spring Yeong Gil Shin Three-Dimensional i Viewingi Chap 7, 29 Spring Yeong Gil Shin Viewing i Pipeline H d fi i d? How to define a window? How to project onto the window? Rendering "Create a picture (in a snthetic camera) Specification

More information

Transforms. COMP 575/770 Spring 2013

Transforms. COMP 575/770 Spring 2013 Transforms COMP 575/770 Spring 2013 Transforming Geometry Given any set of points S Could be a 2D shape, a 3D object A transform is a function T that modifies all points in S: T S S T v v S Different transforms

More information

Lines and Their Slopes

Lines and Their Slopes 8.2 Lines and Their Slopes Linear Equations in Two Variables In the previous chapter we studied linear equations in a single variable. The solution of such an equation is a real number. A linear equation

More information

CS 4620 Midterm, October 23, 2018 SOLUTION

CS 4620 Midterm, October 23, 2018 SOLUTION 1. [20 points] Transformations CS 4620 Midterm, October 23, 2018 SOLUTION (a) Describe the action of each of the following matrices, as transformations in homogeneous coordinates, in terms of rotation,

More information

EE 264: Image Processing and Reconstruction. Image Motion Estimation II. EE 264: Image Processing and Reconstruction. Outline

EE 264: Image Processing and Reconstruction. Image Motion Estimation II. EE 264: Image Processing and Reconstruction. Outline Peman Milanar Image Motion Estimation II Peman Milanar Outline. Introduction to Motion. Wh Estimate Motion? 3. Global s. Local Motion 4. Block Motion Estimation 5. Optical Flow Estimation Basics 6. Optical

More information

Deferred Rendering Due: Wednesday November 15 at 10pm

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

1. We ll look at: Types of geometrical transformation. Vector and matrix representations

1. We ll look at: Types of geometrical transformation. Vector and matrix representations Tob Howard COMP272 Computer Graphics and Image Processing 3: Transformations Tob.Howard@manchester.ac.uk Introduction We ll look at: Tpes of geometrical transformation Vector and matri representations

More information

Computer Graphics. 2D Transforma5ons. Review Vertex Transforma5ons 2/3/15. adjust the zoom. posi+on the camera. posi+on the model

Computer Graphics. 2D Transforma5ons. Review Vertex Transforma5ons 2/3/15. adjust the zoom. posi+on the camera. posi+on the model /3/5 Computer Graphics D Transforma5ons Review Verte Transforma5ons posi+on the model posi+on the camera adjust the zoom verte shader input verte shader output, transformed /3/5 From Object to World Space

More information

11 - Bump Mapping. Bump-Mapped Objects. Bump-Mapped Objects. Bump-Mapped Objects. Limitations Of Texture Mapping. Bumps: Perturbed Normals

11 - Bump Mapping. Bump-Mapped Objects. Bump-Mapped Objects. Bump-Mapped Objects. Limitations Of Texture Mapping. Bumps: Perturbed Normals CSc 155 Advanced Compter Graphics Limitations Of extre Mapping extre mapping paints srfaces o extre image is typically fixed Some characteristics are difficlt to textre o Roghness, Wrinkles extre illmination

More information

Vector Algebra Transformations. Lecture 4

Vector Algebra Transformations. Lecture 4 Vector Algebra Transformations Lecture 4 Cornell CS4620 Fall 2008 Lecture 4 2008 Steve Marschner 1 Geometry A part of mathematics concerned with questions of size, shape, and relative positions of figures

More information

CGT520 Lighting. Lighting. T-vertices. Normal vector. Color of an object can be specified 1) Explicitly as a color buffer

CGT520 Lighting. Lighting. T-vertices. Normal vector. Color of an object can be specified 1) Explicitly as a color buffer CGT520 Lighting Lighting Color of an object can be specified 1) Explicitly as a color buffer Bedrich Benes, Ph.D. Purdue University Department of Computer Graphics 2) Implicitly from the illumination model.

More information

CSE328 Fundamentals of Computer Graphics: Theory, Algorithms, and Applications

CSE328 Fundamentals of Computer Graphics: Theory, Algorithms, and Applications CSE328 Fundamentals of Computer Graphics: Theor, Algorithms, and Applications Hong in State Universit of New York at Ston Brook (Ston Brook Universit) Ston Brook, New York 794-44 Tel: (63)632-845; Fa:

More information

Viewing/Projection IV. Week 4, Fri Jan 29

Viewing/Projection IV. Week 4, Fri Jan 29 Universit of British Columbia CPSC 314 Computer Graphics Jan-Apr 2010 Tamara Munner Viewing/Projection IV Week 4, Fri Jan 29 http://www.ugrad.cs.ubc.ca/~cs314/vjan2010 News etra TA office hours in lab

More information

CS Computer Graphics: Transformations & The Synthetic Camera

CS Computer Graphics: Transformations & The Synthetic Camera CS 543 - Computer Graphics: Transformations The Snthetic Camera b Robert W. Lindeman gogo@wpi.edu (with help from Emmanuel Agu ;-) Introduction to Transformations A transformation changes an objects Size

More information

Image Metamorphosis By Affine Transformations

Image Metamorphosis By Affine Transformations Image Metamorphosis B Affine Transformations Tim Mers and Peter Spiegel December 16, 2005 Abstract Among the man was to manipulate an image is a technique known as morphing. Image morphing is a special

More information

CS770/870 Spring 2017 Transformations

CS770/870 Spring 2017 Transformations CS770/870 Spring 2017 Transformations Coordinate sstems 2D Transformations Homogeneous coordinates Matrices, vectors, points Coordinate Sstems Coordinate sstems used in graphics Screen coordinates: the

More information

Motivation. What we ve seen so far. Demo (Projection Tutorial) Outline. Projections. Foundations of Computer Graphics

Motivation. What we ve seen so far. Demo (Projection Tutorial) Outline. Projections. Foundations of Computer Graphics Foundations of Computer Graphics Online Lecture 5: Viewing Orthographic Projection Ravi Ramamoorthi Motivation We have seen transforms (between coord sstems) But all that is in 3D We still need to make

More information

Image Warping, mesh, and triangulation CSE399b, Spring 07 Computer Vision

Image Warping, mesh, and triangulation CSE399b, Spring 07 Computer Vision http://grail.cs.washington.edu/projects/rotoscoping/ Image Warping, mesh, and triangulation CSE399b, Spring 7 Computer Vision Man of the slides from A. Efros. Parametric (global) warping Eamples of parametric

More information

Name: [20 points] Consider the following OpenGL commands:

Name: [20 points] Consider the following OpenGL commands: Name: 2 1. [20 points] Consider the following OpenGL commands: glmatrimode(gl MODELVIEW); glloadidentit(); glrotatef( 90.0, 0.0, 1.0, 0.0 ); gltranslatef( 2.0, 0.0, 0.0 ); glscalef( 2.0, 1.0, 1.0 ); What

More information

CS559: Computer Graphics

CS559: Computer Graphics CS559: Computer Graphics Lecture 8: 3D Transforms Li Zhang Spring 28 Most Slides from Stephen Chenne Finish Color space Toda 3D Transforms and Coordinate sstem Reading: Shirle ch 6 RGB and HSV Green(,,)

More information

Lecture 17: Shading in OpenGL. CITS3003 Graphics & Animation

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

TANGENTS AND NORMALS

TANGENTS AND NORMALS Mathematics Revision Guides Tangents and Normals Page 1 of 8 MK HOME TUITION Mathematics Revision Guides Level: AS / A Level AQA : C1 Edecel: C OCR: C1 OCR MEI: C TANGENTS AND NORMALS Version : 1 Date:

More information

Announcements. Equation of Perspective Projection. Image Formation and Cameras

Announcements. Equation of Perspective Projection. Image Formation and Cameras Announcements Image ormation and Cameras Introduction to Computer Vision CSE 52 Lecture 4 Read Trucco & Verri: pp. 22-4 Irfanview: http://www.irfanview.com/ is a good Windows utilit for manipulating images.

More information

Waves, Displacement, Reflections. Arun Rao CS 594

Waves, Displacement, Reflections. Arun Rao CS 594 Waves, Displacement, Reflections Arun Rao CS 594 Goals Simple looking waves Waves displace and change orientation of things on top Reflections on surface Partially see through How do we create the Waves?

More information

Geometric Transformations

Geometric Transformations Geometric Transformations CS 4620 Lecture 9 2017 Steve Marschner 1 A little quick math background Notation for sets, functions, mappings Linear and affine transformations Matrices Matrix-vector multiplication

More information

Image Warping. Computational Photography Derek Hoiem, University of Illinois 09/28/17. Photo by Sean Carroll

Image Warping. Computational Photography Derek Hoiem, University of Illinois 09/28/17. Photo by Sean Carroll Image Warping 9/28/7 Man slides from Alosha Efros + Steve Seitz Computational Photograph Derek Hoiem, Universit of Illinois Photo b Sean Carroll Reminder: Proj 2 due monda Much more difficult than project

More information

STRAND I: Geometry and Trigonometry. UNIT 37 Further Transformations: Student Text Contents. Section Reflections. 37.

STRAND I: Geometry and Trigonometry. UNIT 37 Further Transformations: Student Text Contents. Section Reflections. 37. MEP Jamaica: STRN I UNIT 7 Further Transformations: Student Tet ontents STRN I: Geometr and Trigonometr Unit 7 Further Transformations Student Tet ontents Section 7. Reflections 7. Rotations 7. Translations

More information

1 of 5 9/10/ :11 PM

1 of 5 9/10/ :11 PM Shader programs Summary: This tutorial shows how to write a simple shader in X3D. Shader program definition Keywords: tutorial, X3D, world, rendering Author(s): Yvonne Jung Date: 2007-02-05 First an example

More information

Warping, Morphing and Mosaics

Warping, Morphing and Mosaics Computational Photograph and Video: Warping, Morphing and Mosaics Prof. Marc Pollefes Dr. Gabriel Brostow Toda s schedule Last week s recap Warping Morphing Mosaics Toda s schedule Last week s recap Warping

More information

WRITING AND GRAPHING LINEAR EQUATIONS ON A FLAT SURFACE #1313

WRITING AND GRAPHING LINEAR EQUATIONS ON A FLAT SURFACE #1313 WRITING AND GRAPHING LINEAR EQUATIONS ON A FLAT SURFACE #11 SLOPE is a number that indicates the steepness (or flatness) of a line, as well as its direction (up or down) left to right. SLOPE is determined

More information

Objectives. Introduce the OpenGL shading Methods 1) Light and material functions on MV.js 2) per vertex vs per fragment shading 3) Where to carry out

Objectives. Introduce the OpenGL shading Methods 1) Light and material functions on MV.js 2) per vertex vs per fragment shading 3) Where to carry out Objectives Introduce the OpenGL shading Methods 1) Light and material functions on MV.js 2) per vertex vs per fragment shading 3) Where to carry out 1 Steps in OpenGL shading Enable shading and select

More information

Properties of a Circle Diagram Source:

Properties of a Circle Diagram Source: Properties of a Circle Diagram Source: http://www.ricksmath.com/circles.html Definitions: Circumference (c): The perimeter of a circle is called its circumference Diameter (d): Any straight line drawn

More information

Computer Graphics. P04 Transformations. Aleksandra Pizurica Ghent University

Computer Graphics. P04 Transformations. Aleksandra Pizurica Ghent University Computer Graphics P4 Transformations Aleksandra Pizurica Ghent Universit Telecommunications and Information Processing Image Processing and Interpretation Group Transformations in computer graphics Goal:

More information

Epipolar Constraint. Epipolar Lines. Epipolar Geometry. Another look (with math).

Epipolar Constraint. Epipolar Lines. Epipolar Geometry. Another look (with math). Epipolar Constraint Epipolar Lines Potential 3d points Red point - fied => Blue point lies on a line There are 3 degrees of freedom in the position of a point in space; there are four DOF for image points

More information

x Check: p. C) 32 8k D) 3t 15

x Check: p. C) 32 8k D) 3t 15 Chapter Notes Alg H -A (Lesson -&) Solving Inequalities p. 0-0 A) n B) Check: n A) B) p When ou multipl or divide b a number, ou must the inequalit sign! A) r B) g 0 C) k D) t Points: Ch Notes Alg H -A

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

Computer Graphics. Si Lu. Fall er_graphics.htm 10/11/2017

Computer Graphics. Si Lu. Fall er_graphics.htm 10/11/2017 Computer Graphics Si Lu Fall 27 http://www.cs.pd.edu/~lusi/cs447/cs447_547_comput er_graphics.htm //27 Last time Filtering Resampling 2 Toda Compositing NPR 3D Graphics Toolkits Transformations 3 Demo

More information

In-Game Special Effects and Lighting

In-Game Special Effects and Lighting In-Game Special Effects and Lighting Introduction! Tomas Arce! Special Thanks! Matthias Wloka! Craig Galley! Stephen Broumley! Cryrus Lum! Sumie Arce! Inevitable! nvidia! Bungy What Is Per-Pixel Pixel

More information

CSE528 Computer Graphics: Theory, Algorithms, and Applications

CSE528 Computer Graphics: Theory, Algorithms, and Applications CSE528 Computer Graphics: Theor, Algorithms, and Applications Hong Qin State Universit of New York at Ston Brook (Ston Brook Universit) Ston Brook, New York 794--44 Tel: (63)632-845; Fa: (63)632-8334 qin@cs.sunsb.edu

More information

Introduction to Computer Graphics with WebGL

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

Chapter 4 Section 1 Graphing Linear Inequalities in Two Variables

Chapter 4 Section 1 Graphing Linear Inequalities in Two Variables Chapter 4 Section 1 Graphing Linear Inequalities in Two Variables Epressions of the tpe + 2 8 and 3 > 6 are called linear inequalities in two variables. A solution of a linear inequalit in two variables

More information

CS 335 Graphics and Multimedia. Geometric Warping

CS 335 Graphics and Multimedia. Geometric Warping CS 335 Graphics and Multimedia Geometric Warping Geometric Image Operations Eample transformations Straightforward methods and their problems The affine transformation Transformation algorithms: Forward

More information

8.6 Three-Dimensional Cartesian Coordinate System

8.6 Three-Dimensional Cartesian Coordinate System SECTION 8.6 Three-Dimensional Cartesian Coordinate Sstem 69 What ou ll learn about Three-Dimensional Cartesian Coordinates Distance and Midpoint Formulas Equation of a Sphere Planes and Other Surfaces

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

The Graphics Pipeline and OpenGL III: OpenGL Shading Language (GLSL 1.10)!

The Graphics Pipeline and OpenGL III: OpenGL Shading Language (GLSL 1.10)! ! The Graphics Pipeline and OpenGL III: OpenGL Shading Language (GLSL 1.10)! Gordon Wetzstein! Stanford University! EE 267 Virtual Reality! Lecture 4! stanford.edu/class/ee267/! Lecture Overview! Review

More information

To Do. Demo (Projection Tutorial) Motivation. What we ve seen so far. Outline. Foundations of Computer Graphics (Fall 2012) CS 184, Lecture 5: Viewing

To Do. Demo (Projection Tutorial) Motivation. What we ve seen so far. Outline. Foundations of Computer Graphics (Fall 2012) CS 184, Lecture 5: Viewing Foundations of Computer Graphics (Fall 0) CS 84, Lecture 5: Viewing http://inst.eecs.berkele.edu/~cs84 To Do Questions/concerns about assignment? Remember it is due Sep. Ask me or TAs re problems Motivation

More information

INFOGR Computer Graphics

INFOGR Computer Graphics INFOGR Computer Graphics Jacco Bikker & Debabrata Panja - April-July 2018 Lecture 10: Shaders Welcome! Ƹ Ƹ Ƹ x M final = T totorso R T down R = x y z 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 Operations: 1. Translate

More information

MEM380 Applied Autonomous Robots Winter Robot Kinematics

MEM380 Applied Autonomous Robots Winter Robot Kinematics MEM38 Applied Autonomous obots Winter obot Kinematics Coordinate Transformations Motivation Ultimatel, we are interested in the motion of the robot with respect to a global or inertial navigation frame

More information

Computer Graphics (CS 543) Lecture 8a: Per-Vertex lighting, Shading and Per-Fragment lighting

Computer Graphics (CS 543) Lecture 8a: Per-Vertex lighting, Shading and Per-Fragment lighting Computer Graphics (CS 543) Lecture 8a: Per-Vertex lighting, Shading and Per-Fragment lighting Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Computation of Vectors To calculate

More information

EDAF80 Introduction to Computer Graphics. Seminar 3. Shaders. Michael Doggett. Slides by Carl Johan Gribel,

EDAF80 Introduction to Computer Graphics. Seminar 3. Shaders. Michael Doggett. Slides by Carl Johan Gribel, EDAF80 Introduction to Computer Graphics Seminar 3 Shaders Michael Doggett 2017 Slides by Carl Johan Gribel, 2010-13 Today OpenGL Shader Language (GLSL) Shading theory Assignment 3: (you guessed it) writing

More information

Learn the fundamentals of shader writing in unity in this complete tutorial series.

Learn the fundamentals of shader writing in unity in this complete tutorial series. Learn the fundamentals of shader writing in unity in this complete tutorial series. In this Unity tutorial series we will be giving you a basic introduction to shader scripting, showing you how to write

More information

CS4670: Computer Vision

CS4670: Computer Vision CS467: Computer Vision Noah Snavely Lecture 8: Geometric transformations Szeliski: Chapter 3.6 Reading Announcements Project 2 out today, due Oct. 4 (demo at end of class today) Image alignment Why don

More information

Chapter 3 : Computer Animation

Chapter 3 : Computer Animation Chapter 3 : Computer Animation Histor First animation films (Disne) 30 drawings / second animator in chief : ke frames others : secondar drawings Use the computer to interpolate? positions orientations

More information

Transformations. which the book introduces in this chapter. If you shift the graph of y 1 x to the left 2 units and up 3 units, the

Transformations. which the book introduces in this chapter. If you shift the graph of y 1 x to the left 2 units and up 3 units, the CHAPTER 8 Transformations Content Summar In Chapter 8, students continue their work with functions, especiall nonlinear functions, through further stud of function graphs. In particular, the consider three

More information

High Dimensional Rendering in OpenGL

High Dimensional Rendering in OpenGL High Dimensional Rendering in OpenGL Josh McCo December, 2003 Description of Project Adding high dimensional rendering capabilit to the OpenGL graphics programming environment is the goal of this project

More information

STRAND J: TRANSFORMATIONS, VECTORS and MATRICES

STRAND J: TRANSFORMATIONS, VECTORS and MATRICES Mathematics SKE, Strand J UNIT J Further Transformations: Tet STRND J: TRNSFORMTIONS, VETORS and MTRIES J Further Transformations Tet ontents Section J.1 Translations * J. ombined Transformations Mathematics

More information

Objectives Shading in OpenGL. Front and Back Faces. OpenGL shading. Introduce the OpenGL shading methods. Discuss polygonal shading

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

Systems of Linear Equations

Systems of Linear Equations Sstems of Linear Equations Gaussian Elimination Tpes of Solutions A linear equation is an equation that can be written in the form: a a a n n b The coefficients a i and the constant b can be real or comple

More information

Complex Shading Algorithms

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

More information

-=Bui Tuong Phong's Lighting=- University of Utah, but with shaders. Anton Gerdelan Trinity College Dublin

-=Bui Tuong Phong's Lighting=- University of Utah, but with shaders. Anton Gerdelan Trinity College Dublin -=Bui Tuong Phong's Lighting=- University of Utah, 1973 but with shaders Anton Gerdelan Trinity College Dublin Before we do anything - normals Q. What does a normal do? Q. How do we usually calculate them?

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