# Shadow Algorithms. CSE 781 Winter Han-Wei Shen

Size: px
Start display at page:

Transcription

1 Shadow Algorithms CSE 781 Winter 2010 Han-Wei Shen

2 Why Shadows? Makes 3D Graphics more believable Provides additional cues for the shapes and relative positions of objects in 3D

3 What is shadow? Shadow: comparative darkness given by shelter from direct light; patch of shade projected by a body intercepting light

5 Hard and Soft Shadows Depends on the type of light sources Point or Directional ( Hard Shadows, umbra) point directional area Area ( Soft Shadows, umbra, penumbra), more difficult problem

7 Simple Approach: Ray tracing Cast ray to light (shadow rays) Surface point in shadow if the shadow rays hits an occluder object. Ray tracing is slow, can we do better? (perhaps at the cost of quality)

10 Planar Shadows Special case: the shadow receiver is an axis plane Just project all the polygon vertices to that plane and form shadow polygons y v light Given: - Light position l - Plane position y = 0 - Vertex position v Calculate: p shadow p y=0

11 Planar Shadows We can use similar triangles to solve p y l light px-lx vx-lx = ly ly-vy v px = ly vx lx vy shadow p ly - vy y=0 x Same principle applied to different axis planes

12 Planar Shadows How about arbitrary plane as the shadow receiver? y l light Plane equation: n.x + d = 0 ax + by + cz + d = 0 or where n = (a,b,c) - plane normal p v shadow n.x + d =0 Again, given light position l, v Find p

13 Planar Shadows Finding p We know: p = l + (v-l) x α y l light Also we know: n.p + d = 0 Because p is on the plane We can solve α easily: p v shadow n.x + d =0 p = l - (v - l) d + n.l n. (v l)

16 Shadow Volumes A more general approach for receivers that have arbitrary shapes

17 What is shadow volume? A volume of space formed by an occluder Bounded by the edges of the occluder Any object inside the shadow volume is in shadow light source

19 In Shadow or not? Use shadow volume to perform such a test How do we know an object is inside the shadow volume? 1. Allocate a counter 2. Cast a ray into the scene 3. Increment the counter when the ray enter a front-facing polygon of the shadow volume (enter the shadow volume) 4. Decrement the counter when the ray crosses a backfacing polygon of the shadow volume (leave the shadow volume) 5. When we hit the object, check the counter. If counter >0 ; in shadow Otherwise - not in shadow

21 Real time shadow volume How can we render the idea of shadow volume in real time? Use OpenGL Stencil buffer as the counter Stencil buffer? Similar to color or depth buffer, except it s meaning is controlled by application (and not visible) Part of OpenGL fragment operation after alpha test before depth test Control whether a fragment is discarded or not Stencil function (Stencil test) - used to decide whether to discard a fragment Stencil operation decide how the stencil buffer is updated as the result of the test

22 Stencil Function Comparison test between reference and stencil value GL_NEVER always fails GL_ALWAYS always passes GL_LESS passes if reference value is less than stencil buffer GL_LEQUAL passes if reference value is less than or equal to stencil buffer GL_EQUAL passes if reference value is equal to stencil buffer GL_GEQUAL passes if reference value is greater than or equal to stencil buffer GL_GREATER passes if reference value is greater than stencil buffer GL_NOTEQUAL passes if reference value is not equal to stencil buffer If the stencil test fails, the fragment is discarded and the stencil operations associated with the stencil test failing is applied to the stencil value If the stencil test passes, the depth test is applied If the depth test passes, the fragment continue through the graphics pipeline, and the stencil operation for stencil and depth test passing is applied If the depth test fails, the stencil operation for stencil passing but depth

23 Stencil Operation Stencil Operation: Results of Operation on Stencil Values GL_KEEP stencil value unchanged GL_ZERO stencil value set to zero GL_REPLACE stencil value replaced by stencil reference value GL_INCR stencil value incremented GL_DECR stencil value decremented GL_INVERT stencil value bitwise inverted Remember you can set different operations for Stencil fails Stencil passes, depth fails Stencil passes, depth passes

24 OpenGL for shadow volumes Z-pass approach Z-fail approach Ideas used by both of the algorithms are similar Z-pass: see whether the number of visible front-facing shadow volume polygons and the number of visible backfacing polygons are equal. If yes objects are not in shadow Z-fail: see whether the number of invisible back-facing shadow volume polygons and the number of invisible frontfacing polygons are equal. If yes objects are not in shadow

25 Z-pass approach Render visible scene with only ambient and emssion and update depth buffer Turn off depth and color write, turn on stencil (but still keep the depth test on) Init. stencil buffer Draw shadow volume twice using face culling 1st pass: render front faces and increment stencil buffer when depth test passes 2nd pass: render back faces and decrement when depth test passes stencil pixels!= 0 in shadow, = 0 are lit Render the scene again with diffuse and specular when stencil pixels =0

26 Problems of Z-pass algorithm 1. When the eye is in the shadow volume Counter= 0 does not imply out of shadow anymore In this case, the stencil buffer should be init. with the number of shadow volumes in which the eye is in (instead 0) 2. When the near plane intersects with the shadow volume faces (and thus will clip the faces)

27 Z-pass algorithm problem illustration light eye near far Mistakenly determined as not in shadow

28 Z-fail approach Render visible scene to depth buffer Turn off depth and color, turn on stencil Init. stencil buffer given viewpoint Draw shadow volume twice using face culling 1st pass: render back faces and increment when depth test fails 2nd pass: render front faces and decrement when depth test fails stencil pixels!= 0 in shadow, = 0 are lit

29 Problem of z-fail algorithm Shadow volume can penetrate the far plane Depth clamping Solution: depth clamping - close up the shadow volume

30 Shadow Map Basic idea: objects that are not visible to the light are in shadow How to determine whether an object are visible to the eye? Use z-buffer algorithm, but now the eye is light, i.e., the scene is rendered from light s point of view This particular z-buffer for the eye is called shadow map

32 Shadow Map Algorithm 1. Render the scene using the light as the camera and perform z-buffering 2. Generate a light z buffer (called shadow map) 3. Render the scene using the regular camera, perform z-buffering, and run the following steps: (next slide)

33 Shadow Map Algorithm (cont d) 3.1 For each visible pixel with [x,y,z] in world space, perform a transformation to the light space (light as the eye) [x1,y1,z1] 3.2 Compare z1 with z = shadow_map[x1,y1] - If z1 <=z (closer to light), then the pixel in question is not in shadow; otherwise the pixel is shadowed

34 1st Pass View from light Depth Buffer (shadow map)

35 2nd Pass Visible surface depth

36 2nd Pass Non-green in shadow Final Image

37 Shadow map issues Shadow quality depends on Shadow map resolution aliasing problem Z resolution the shadow map is often stored in one channel of texture, which typically has only 8 bits Some hardware has dedicated shadow map support, such as Xbox and GeForce3 Self-shadow aliasing caused by different sample positions in the shadow map and the screen

38 Shadow map aliasing problem The shadow looks blocky when one single shadow map pixel covers several screen pixels This is a similar problem to texture magnification Where bi-linear interpolation or nearest neighbor are used in OpenGL

39 Percentage Closer Filtering Could average binary results of all depth map pixels covered Soft anti-aliased shadows

40 Shadow Maps With Graphics Hardware Render scene using the light as a camera Read depth buffer out and copy into a 2D texture. We now have a depth texture. Fragment s position in light space can be generated using eye-linear texture coordinate generation specifically OpenGL s GL_EYE_LINEAR texgen Using light-space (x, y, z, w) to generate homogenous (s, t, r, q) texture coordinates Transform the texture coodrinates

41 Real time soft shadowing Only area light source can generate soft shadows We can sample the area light source at different points and then average the results Many research done Example: Herf and Heckbert s algorithm

42

43 Herf and Heckbert s Basic Ideda Sample multiple points from the area light For each shadow receiver For each point light source Draw the receiver, shaded Project the environment onto the shadow receiver (draw in black) Draw the projection result into the OpenGL accumulation buffer Save the accumulation buffer content into a texture Draw the shadow receiver using the texture

44 Project onto the shadow receiver Transform the pyramid formed by the light and the receiver into a parallelepiped The parallelepiped has x, y ranged from (0,0) to (1,1) and z from 1 to infinity Essentially the light is viewing the receiver, and a perspective projection is performed Use OpenGL to render the environment between (0,0,1) and (1,1,infinity) in black

45

46 The projection setup a

47 The Projection Matrix Remember a is the point light source, b is one corner of the receiver parallelogram And ex ey are the two vectors for the parallelogram

48 Orthographic rendering make_projmatrix(m); // see the previous slide // OpenGL stuff glmatrixmode(gl_projection); glloadidentity(); glortho(0.0, 1.0, 0.0, 1.0, 0.999, 1000); glmultmatrixf(m); glmatrixmode(gl_modelview); // render the scene

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

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

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

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

Real-Time Shadows Last Time? The graphics pipeline Clipping & rasterization of polygons Visibility the depth buffer (z-buffer) Schedule Quiz 2: Thursday November 20 th, in class (two weeks from Thursday)

### What for? Shadows tell us about the relative locations. Vienna University of Technology 2

Shadows What for? Shadows tell us about the relative locations and motions of objects Vienna University of Technology 2 What for? Shadows tell us about the relative locations and motions of objects And

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

Last Time? Real-Time Shadows The graphics pipeline Clipping & rasterization of polygons Visibility the depth buffer (z-buffer) Schedule Questions? Quiz 2: Thursday November 2 th, in class (two weeks from

### Shadows. COMP 575/770 Spring 2013

Shadows COMP 575/770 Spring 2013 Shadows in Ray Tracing Shadows are important for realism Basic idea: figure out whether a point on an object is illuminated by a light source Easy for ray tracers Just

### Shadows in the graphics pipeline

Shadows in the graphics pipeline Steve Marschner Cornell University CS 569 Spring 2008, 19 February There are a number of visual cues that help let the viewer know about the 3D relationships between objects

### Computer Graphics (CS 543) Lecture 10: Soft Shadows (Maps and Volumes), Normal and Bump Mapping

Computer Graphics (CS 543) Lecture 10: Soft Shadows (Maps and Volumes), Normal and Bump Mapping Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Shadow Buffer Theory Observation:

### Basic GPU techniques Josef Pelikán CGG MFF UK Praha.

Basic GPU techniques 2005-2018 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ Basic GPU 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 / 22 Content visibility

Last Time Modeling Transformations Illumination (Shading) Real-Time Shadows Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Graphics Pipeline Clipping Rasterization

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

Last Time Modeling Transformations Illumination (Shading) Real-Time Shadows Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Graphics Pipeline Clipping Rasterization

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

Rendering Pipeline Rendering Converting a 3D scene to a 2D image Rendering Light Camera 3D Model View Plane Rendering Converting a 3D scene to a 2D image Basic rendering tasks: Modeling: creating the world

Projects Lecture 17: Shadows Proposals due today I will mail out comments Fall 2004 Kavita Bala Computer Science Cornell University Grading HW 1: will email comments asap Why Shadows? Crucial for spatial

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

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

Last Time Modeling Transformations Illumination (Shading) Real-Time Shadows Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility

### Rasterization Overview

Rendering Overview The process of generating an image given a virtual camera objects light sources Various techniques rasterization (topic of this course) raytracing (topic of the course Advanced Computer

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

Shadows Acknowledgement: Images and many slides from presentations by Mark J. Kilgard and other Nvidia folks, from slides on developer.nvidia.com Practical & Robust Stenciled Shadow Volumes for Hardware-Accelerated

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

### CEng 477 Introduction to Computer Graphics Fall 2007

Visible Surface Detection CEng 477 Introduction to Computer Graphics Fall 2007 Visible Surface Detection Visible surface detection or hidden surface removal. Realistic scenes: closer objects occludes the

### CS4620/5620: Lecture 14 Pipeline

CS4620/5620: Lecture 14 Pipeline 1 Rasterizing triangles Summary 1! evaluation of linear functions on pixel grid 2! functions defined by parameter values at vertices 3! using extra parameters to determine

### Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11

Pipeline Operations CS 4620 Lecture 11 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives to pixels RASTERIZATION

Shadow Rendering EDA101 Advanced Shading and Rendering 2006 Tomas Akenine-Möller 1 Why, oh why? (1) Shadows provide cues about spatial relationships among objects 2006 Tomas Akenine-Möller 2 Why, oh why?

### Computer Graphics. Lecture 02 Graphics Pipeline. Edirlei Soares de Lima.

Computer Graphics Lecture 02 Graphics Pipeline Edirlei Soares de Lima What is the graphics pipeline? The Graphics Pipeline is a special software/hardware subsystem

### Visible-Surface Detection Methods. Chapter? Intro. to Computer Graphics Spring 2008, Y. G. Shin

Visible-Surface Detection Methods Chapter? Intro. to Computer Graphics Spring 2008, Y. G. Shin The Visibility Problem [Problem Statement] GIVEN: a set of 3-D surfaces, a projection from 3-D to 2-D screen,

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

### Pipeline Operations. CS 4620 Lecture 14

Pipeline Operations CS 4620 Lecture 14 2014 Steve Marschner 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives

### Overview. A real-time shadow approach for an Augmented Reality application using shadow volumes. Augmented Reality.

Overview A real-time shadow approach for an Augmented Reality application using shadow volumes Introduction of Concepts Standard Stenciled Shadow Volumes Method Proposed Approach in AR Application Experimental

### Intro to OpenGL III. Don Fussell Computer Science Department The University of Texas at Austin

Intro to OpenGL III Don Fussell Computer Science Department The University of Texas at Austin University of Texas at Austin CS354 - Computer Graphics Don Fussell Where are we? Continuing the OpenGL basic

### Illumination and Geometry Techniques. Karljohan Lundin Palmerius

Illumination and Geometry Techniques Karljohan Lundin Palmerius Objectives Complex geometries Translucency Huge areas Really nice graphics! Shadows Graceful degradation Acceleration Optimization Straightforward

### Shadows in Computer Graphics. by Björn Kühl im/ve University of Hamburg, Germany

Shadows in Computer Graphics by Björn Kühl im/ve University of Hamburg, Germany Importance of Shadows Shadows provide cues to the position of objects casting and receiving shadows to the position of the

### TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students)

TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students) Saturday, January 13 th, 2018, 08:30-12:30 Examiner Ulf Assarsson, tel. 031-772 1775 Permitted Technical Aids None, except

Soft Shadow Maps for Linear Lights (with Stefan Brabec, Hans-Peter Seidel, MPI Informatik) Overview Motivation Soft Shadow Maps Hardware Implementation Sampling the Light Source Results Conclusion 1 Motivation

### Models and Architectures

Models and Architectures Objectives Learn the basic design of a graphics system Introduce graphics pipeline architecture Examine software components for an interactive graphics system 1 Image Formation

### Computing Visibility. Backface Culling for General Visibility. One More Trick with Planes. BSP Trees Ray Casting Depth Buffering Quiz

Computing Visibility BSP Trees Ray Casting Depth Buffering Quiz Power of Plane Equations We ve gotten a lot of mileage out of one simple equation. Basis for D outcode-clipping Basis for plane-at-a-time

### CSE 690: GPGPU. Lecture 2: Understanding the Fabric - Intro to Graphics. Klaus Mueller Stony Brook University Computer Science Department

CSE 690: GPGPU Lecture 2: Understanding the Fabric - Intro to Graphics Klaus Mueller Stony Brook University Computer Science Department Klaus Mueller, Stony Brook 2005 1 Surface Graphics Objects are explicitely

### Culling. Computer Graphics CSE 167 Lecture 12

Culling Computer Graphics CSE 167 Lecture 12 CSE 167: Computer graphics Culling Definition: selecting from a large quantity In computer graphics: selecting primitives (or batches of primitives) that are

### Shadows. Shadows. Thanks to: Frédo Durand and Seth Teller MIT. Realism Depth cue

Shadows Thanks to: Frédo Durand and Seth Teller MIT 1 Shadows Realism Depth cue 2 1 Shadows as depth cue 3 Spatial relationship between objects Michael McCool Univ of Waterloo 4 2 Spatial relationship

### Robust Stencil Shadow Volumes. CEDEC 2001 Tokyo, Japan

Robust Stencil Shadow Volumes CEDEC 2001 Tokyo, Japan Mark J. Kilgard Graphics Software Engineer NVIDIA Corporation 2 Games Begin to Embrace Robust Shadows 3 John Carmack s new Doom engine leads the way

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

### CS 428: Fall Introduction to. Polygon rendering: additional topics. Andrew Nealen, Rutgers, /14/2009 1

CS 428: Fall 2009 Introduction to Computer Graphics Polygon rendering: additional topics Andrew Nealen, Rutgers, 2009 10/14/2009 1 z-buffer algorithm The depth buffer was suggested in 1974 but not implemented

### Orthogonal 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

### Computer Graphics 1. Chapter 7 (June 17th, 2010, 2-4pm): Shading and rendering. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2010

Computer Graphics 1 Chapter 7 (June 17th, 2010, 2-4pm): Shading and rendering 1 The 3D rendering pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons

### The Graphics Pipeline. Interactive Computer Graphics. The Graphics Pipeline. The Graphics Pipeline. The Graphics Pipeline: Clipping

Interactive Computer Graphics The Graphics Pipeline: The Graphics Pipeline Input: - geometric model - illumination model - camera model - viewport Some slides adopted from F. Durand and B. Cutler, MIT

### Homework #2. Shading, Ray Tracing, and Texture Mapping

Computer Graphics Prof. Brian Curless CSE 457 Spring 2000 Homework #2 Shading, Ray Tracing, and Texture Mapping Prepared by: Doug Johnson, Maya Widyasari, and Brian Curless Assigned: Monday, May 8, 2000

### CSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation

CSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 Announcements Project 2 due Friday, October 11

### CPSC GLOBAL ILLUMINATION

CPSC 314 21 GLOBAL ILLUMINATION Textbook: 20 UGRAD.CS.UBC.CA/~CS314 Mikhail Bessmeltsev ILLUMINATION MODELS/ALGORITHMS Local illumination - Fast Ignore real physics, approximate the look Interaction of

### Ray tracing. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/19/07 1

Ray tracing Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 3/19/07 1 From last time Hidden surface removal Painter s algorithm Clipping algorithms Area subdivision BSP trees Z-Buffer

### Intro to OpenGL III. Don Fussell Computer Science Department The University of Texas at Austin

Intro to OpenGL III Don Fussell Computer Science Department The University of Texas at Austin University of Texas at Austin CS354 - Computer Graphics Don Fussell Where are we? Continuing the OpenGL basic

Shadows Thanks to: Frédo Durand and Seth Teller MIT Shadows Realism Depth cue 1 2 Shadows as depth cue Spatial relationship between objects 3 Michael McCool Univ of Waterloo 4 Spatial relationship between

### Models and Architectures. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico 1 Objectives Learn the basic design of a graphics system Introduce

### Surface Graphics. 200 polys 1,000 polys 15,000 polys. an empty foot. - a mesh of spline patches:

Surface Graphics Objects are explicitely defined by a surface or boundary representation (explicit inside vs outside) This boundary representation can be given by: - a mesh of polygons: 200 polys 1,000

### 03 RENDERING PART TWO

03 RENDERING PART TWO WHAT WE HAVE SO FAR: GEOMETRY AFTER TRANSFORMATION AND SOME BASIC CLIPPING / CULLING TEXTURES AND MAPPING MATERIAL VISUALLY DISTINGUISHES 2 OBJECTS WITH IDENTICAL GEOMETRY FOR NOW,

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

### Real-Time Shadows. André Offringa Timo Laman

Real-Time Shadows André Offringa Timo Laman Real-Time rendering Radiosity/Raytracing not feasible in real-time applications Scene rendered using projection & scan conversion of polygons Advantage: significant

### Chapter 5. Projections and Rendering

Chapter 5 Projections and Rendering Topics: Perspective Projections The rendering pipeline In order to view manipulate and view a graphics object we must find ways of storing it a computer-compatible way.

### CS230 : 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

### CS 130 Exam I. Fall 2015

S 3 Exam I Fall 25 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

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

### Notes on Assignment. Notes on Assignment. Notes on Assignment. Notes on Assignment

Notes on Assignment Notes on Assignment Objects on screen - made of primitives Primitives are points, lines, polygons - watch vertex ordering The main object you need is a box When the MODELVIEW matrix

### Introduction to Computer Graphics with WebGL

Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science Laboratory University of New Mexico Models and Architectures

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

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

### graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using object-order processing primitives processed one-at-a-time

### Soft Shadows: Heckbert & Herf. Soft shadows. Heckbert & Herf Soft Shadows. Cornell University CS 569: Interactive Computer Graphics.

Soft Shadows: Heckbert & Herf Soft shadows [Michael Herf and Paul Heckbert] Cornell University CS 569: Interactive Computer Graphics Figure : Hard shadow images from 2 2 grid of sample points on light

A Hybrid Approach One more shadow algorithm which deserves mention is McCool s clever idea shadow volume reconstruction from depth maps [McCool 2000]. This algorithm is a hybrid of the shadow map and shadow

### graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using object-order processing primitives processed one-at-a-time

### Projections and Hardware Rendering. Brian Curless CSE 557 Fall 2014

Projections and Hardware Rendering Brian Curless CSE 557 Fall 2014 1 Reading Required: Shirley, Ch. 7, Sec. 8.2, Ch. 18 Further reading: Foley, et al, Chapter 5.6 and Chapter 6 David F. Rogers and J. Alan

### Chapter 2 A top-down approach - How to make shaded images?

Chapter 2 A top-down approach - How to make shaded images? Comp. Graphics (U), Chap 2 Global View 1 CGGM Lab., CS Dept., NCTU Jung Hong Chuang Graphics API vs. application API Graphics API Support rendering

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

### Topics and things to know about them:

Practice Final CMSC 427 Distributed Tuesday, December 11, 2007 Review Session, Monday, December 17, 5:00pm, 4424 AV Williams Final: 10:30 AM Wednesday, December 19, 2007 General Guidelines: The final will

### EECS 487: Interactive Computer Graphics

Shadow Mapping EECS 487: Interactive Computer Graphics Lecture 32: Interactive Visual Effects Shadow Map Ambient Occlusion A point is lit if it is visible from the light source similar to visible surface

### Computer Graphics. Rendering. by Brian Wyvill University of Calgary. cpsc/enel P 1

Computer Graphics Rendering by Brian Wyvill University of Calgary cpsc/enel P Rendering Techniques Wire Frame Z Buffer Ray Tracing A Buffer cpsc/enel P 2 Rendering Visible Surface Determination Many Algorithms,

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

Reading Required: Watt, Section 5.2.2 5.2.4, 6.3, 6.6 (esp. intro and subsections 1, 4, and 8 10), Further reading: 18. Projections and Z-buffers Foley, et al, Chapter 5.6 and Chapter 6 David F. Rogers

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

### Projection Matrix Tricks. Eric Lengyel

Projection Matrix Tricks Eric Lengyel Outline Projection Matrix Internals Infinite Projection Matrix Depth Modification Oblique Near Clipping Plane Slides available at http://www.terathon.com www.terathon.com/

### Visibility. Tom Funkhouser COS 526, Fall Slides mostly by Frédo Durand

Visibility Tom Funkhouser COS 526, Fall 2016 Slides mostly by Frédo Durand Visibility Compute which part of scene can be seen Visibility Compute which part of scene can be seen (i.e., line segment from

### 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...........

### Fondamenti di Grafica 3D The Rasterization Pipeline.

Fondamenti di Grafica 3D The Rasterization Pipeline paolo.cignoni@isti.cnr.it http://vcg.isti.cnr.it/~cignoni Ray Casting vs. GPUs for Triangles Ray Casting For each pixel (ray) For each triangle Does

### Today. Anti-aliasing Surface Parametrization Soft Shadows Global Illumination. Exercise 2. Path Tracing Radiosity

Today Anti-aliasing Surface Parametrization Soft Shadows Global Illumination Path Tracing Radiosity Exercise 2 Sampling Ray Casting is a form of discrete sampling. Rendered Image: Sampling of the ground

### Homework #2. Shading, Projections, Texture Mapping, Ray Tracing, and Bezier Curves

Computer Graphics Instructor: Brian Curless CSEP 557 Autumn 2016 Homework #2 Shading, Projections, Texture Mapping, Ray Tracing, and Bezier Curves Assigned: Wednesday, Nov 16 th Due: Wednesday, Nov 30

### CSE 167: Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Homework project #2 due this Friday, October

Viewing Reading: Angel Ch.5 What is Viewing? Viewing transform projects the 3D model to a 2D image plane 3D Objects (world frame) Model-view (camera frame) View transform (projection frame) 2D image View

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

### Shadow Techniques. Sim Dietrich NVIDIA Corporation

Shadow Techniques Sim Dietrich NVIDIA Corporation sim.dietrich@nvidia.com Lighting & Shadows The shadowing solution you choose can greatly influence the engine decisions you make This talk will outline

### Real Time Reflections Han-Wei Shen

Real Time Reflections Han-Wei Shen Reflections One of the most noticeable effect of inter-object lighting Direct calculation of the physics (ray tracing) is too expensive Our focus is to capture the most

### CS 498 VR. Lecture 18-4/4/18. go.illinois.edu/vrlect18

CS 498 VR Lecture 18-4/4/18 go.illinois.edu/vrlect18 Review and Supplement for last lecture 1. What is aliasing? What is Screen Door Effect? 2. How image-order rendering works? 3. If there are several

### Module 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

### lecture 19 Shadows - ray tracing - shadow mapping - ambient occlusion Interreflections

lecture 19 Shadows - ray tracing - shadow mapping - ambient occlusion Interreflections In cinema and photography, shadows are important for setting mood and directing attention. Shadows indicate spatial

### Lecture 4. Viewing, Projection and Viewport Transformations

Notes on Assignment Notes on Assignment Hw2 is dependent on hw1 so hw1 and hw2 will be graded together i.e. You have time to finish both by next monday 11:59p Email list issues - please cc: elif@cs.nyu.edu

### CSE 167: Introduction to Computer Graphics Lecture #18: More Effects. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

CSE 167: Introduction to Computer Graphics Lecture #18: More Effects Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 Announcements TA evaluations CAPE Final project blog