Shadow Rendering EDA101 Advanced Shading and Rendering

Size: px
Start display at page:

Download "Shadow Rendering EDA101 Advanced Shading and Rendering"

Transcription

1 Shadow Rendering EDA101 Advanced Shading and Rendering 2006 Tomas Akenine-Möller 1

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

3 Why, oh why? (2) Shadows increase the level of realism [Oh, well, flying bar stools may not be realistic] 2006 Tomas Akenine-Möller 3

4 Atmosphere... Why, oh why? (3) Neverwinter Nights Image courtesy of BioWare 2006 Tomas Akenine-Möller 4

5 Who s responsible? In a ray tracer, you kind of get them for free Very little coding, good results Though, soft shadows can be very expensive For real-time rendering, using, e.,g OpenGL You re responsible Often need quite a bit of coding Often need to be aware of artifacts Can be costly 2006 Tomas Akenine-Möller 5

6 Definitions Light sources Shadows occluder and receivers Light source Occluder Occluder and receiver Receiver N.B. Occluder could be called Creator 2006 Tomas Akenine-Möller 6

7 Hard vs soft shadows Two different light source types point source area source umbra penumbra umbra 2006 Tomas Akenine-Möller 7

8 Umbra and penumbra Point light source Area light source umbra umbra penumbra 2006 Tomas Akenine-Möller 8

9 Topics of today s lecture The shadow mapping algorithm The shadow volume algorithm Soft shadows A real-time soft shadow volume algorithm 2006 Tomas Akenine-Möller 9

10 Ways of thinking about shadows As separate objects (like Peter Pan's shadow) As volumes of space that are dark As places not seen from a light source looking at the scene 2006 Tomas Akenine-Möller 10

11 Shadow mapping Introduced by Lance Williams in 1978 Used by many (e.g., Pixar s Renderman) Can also be used with current graphics cards in real time Conceptually very simple: Render to Z-buffer as seen from the light source this buffer is the shadow map Render from the eye, and transform each pixel into the coordinate system of the light Compare depths shadow or lit 2006 Tomas Akenine-Möller 11

12 The shadow map Turn off texturing, writes to the color buffer, etc. Only write to Z-buffer Aim the frustum of the light towards the region that should contain shadows White is far, black is near 2006 Tomas Akenine-Möller 12

13 Using the shadow map When scene is viewed, check viewed location in light's shadow buffer If point's depth is greater than shadow depth, object is in shadow. shadow depth map For each pixel, compare distance to light with the depth stored in the shadow map 2006 Tomas Akenine-Möller 13

14 Shadow map The result Need to regenerate the shadow map for dynamic scenes, but it can be reused for static scenes Tomas Akenine-Möller 14

15 Shadow mapping problems (1) Low resolution of shadow map Gives jagged shadow edges Lots of research, and improvements exist Image courtesy Marc Stamminger 2006 Tomas Akenine-Möller 15

16 Shadow mapping problems (2) Self-shadowing What if an object shadows itself? floating point imprecision (since you use a floating point matrix transform) But more importantly, a screen space pixel seldom maps exactly to the center of a shadow map pixel! 2006 Tomas Akenine-Möller 16

17 Shadow mapping problems (2) Choosing bias (epsilon) is not trivial! Light source One pixel in the shadowmap Depth stored in SM, d sm Depth of pixel when rendered from the eye, d eye Assume that the ellipse and rectangle is the same surface We do not want incorrect self-shadowing Solution: add bias d sm + bias < d eye shadow 2006 Tomas Akenine-Möller 17

18 Too low bias You need to make sure the surface seen by the light does not shadow itself Surface acne 2006 Tomas Akenine-Möller 18

19 Too high bias Too much bias and the shadow floats. Image also shows jaggedness of shadow boundary 2006 Tomas Akenine-Möller 19

20 The shadow volume algorithm Crow's (1977) idea Shadow volumes define volumes of space in shadow. From the School of Leonardo Da Vinci 2006 Tomas Akenine-Möller 20

21 Shadow volume concept Shadow volume concept Create volumes of space in shadow from each polygon in light. Each triangle creates 3 projecting quads 2006 Tomas Akenine-Möller 21

22 Using the volume To test a point, count the number of polygons between it and the eye. If we look through more frontfacing than backfacing polygons, then in shadow. backfacing frontfacing 2006 Tomas Akenine-Möller 22

23 The stencil buffer Used by the shadow volume algorithm Is just another buffer (often 8 bits per pixel) When rendering to it, we can add, subtract, etc Then, the resulting image can be used to mask off subsequent rendering Stencil Buffer Mask Rendered image result 2006 Tomas Akenine-Möller 23

24 Z-pass by example: how the stencil buffer is used What we have... What we wnat Tomas Akenine-Möller 24

25 How To Do It (Z-pass) A four pass process [Heidmann91]: 1st Pass: render the scene with just ambient and emission lighting. Turn off updating Z-buffer and writing to color buffer (i.e. Z-compare, draw to stencil only). 2nd pass: render front facing shadow volume polygons to stencil buffer, incrementing count. 3rd pass: render backfacing shadow volume polygons to stencil, decrementing. 4th pass: render diffuse,ambient and specular where stencil buffer is Tomas Akenine-Möller 25

26 Eye Location Problem If the eye location is inside one or more shadow volumes, count is wrong. Eye problem fixed by clearing stencil buffer to # of volumes eye is inside Tomas Akenine-Möller 26

27 Frustum Location Problem Frustum s near (hither) plane overlaps a shadow volume, frontface counts missed Some form of capping is needed to make the shadow volume whole again (not trivial, nor robust) 2006 Tomas Akenine-Möller 27

28 Solution: Count Beyond Surface Z-fail-algorithm Render to stencil only when shadow volume Z >= stored Z! must cap ends of shadow volumes (or project to infinity, w=0 for vertices) 2006 Tomas Akenine-Möller 28

29 Why This Works (f - b) in front of plane = (b - f) in back 2-2 = 0 violet - red 2 = 2 1 = Tomas Akenine-Möller 29

30 Z-fail by example 2006 Tomas Akenine-Möller 30

31 Merging shadow volumes Edge shared by two polygons facing the light creates front and backfacing quad. This interior edge makes two quads, which cancel out Instead, use only potential silhouette edges as seen from the light: 2006 Tomas Akenine-Möller 31

32 Shadow maps vs shadow volumes Shadow Volumes Good: Anything can shadow anything, including self- shadowing, and the shadows are crisp. Bad: 3 or 4 passes, shadow polygons must be generated and rendered (lots of polygons & fill), CPU intensive, complicates skinning. Ugly: counting problems if view frustum overlaps. Shadow Maps Good: Anything to anything, constant cost regardless of complexity, map can sometimes be reused. Bad: Frustum limited. Ugly: Jagged shadows if res too low, biasing headaches Tomas Akenine-Möller 32

33 A soft shadow volume algorithm In real time Tomas Akenine-Möller 33

34 Soft shadows 2006 Tomas Akenine-Möller 34

35 Geometrically-correct soft shadows Light samples (L) L*R rays to test!! Receiver samples (R) T: num triangles in scene L*R rays is a lot of work For example, 200 * (1920x1080) = 400M rays Are the rays blocked? Ray tracing O(log T) soft shadows O(L*R*log T) 2006 Tomas Akenine-Möller 35

36 Soft shadow algorithms in general (Real-time...) Fundamental and inherently difficult problem in computer graphics 2006 Tomas Akenine-Möller 36

37 The general idea: Penumbra Wedges A primitive for bounding the penumbra region imposed by a silhouette edge In two dimensions A single penumbra wedge 2006 Tomas Akenine-Möller 37

38 Important simplification Compute potential silhoutte edges as seen from the center of the light source Use one penumbra wedge per such edge 2006 Tomas Akenine-Möller 38

39 A wedge for each silhouette edge 2006 Tomas Akenine-Möller 39

40 A wedge for each silhouette edge 2006 Tomas Akenine-Möller 40

41 A wedge for each silhouette edge 2006 Tomas Akenine-Möller 41

42 A wedge for each silhouette edge 2006 Tomas Akenine-Möller 42

43 A wedge for each silhouette edge 2006 Tomas Akenine-Möller 43

44 Rasterizing the wedges 2006 Tomas Akenine-Möller 44

45 Rasterizing the wedges 2006 Tomas Akenine-Möller 45

46 Rasterizing the wedges 2006 Tomas Akenine-Möller 46

47 Rasterizing the wedges 2006 Tomas Akenine-Möller 47

48 Rasterizing the wedges Skipping wedge construction see reading list 2006 Tomas Akenine-Möller 48

49 Visibility computations Really want to compute how much of the light source that we can see 2006 Tomas Akenine-Möller 49

50 Each silhouette edge s contribution to visibility From the point-to-be-shaded, project the edge onto the light source Compute the area, called coverage, of the dark gray region Add/subtract to a visibility buffer 2006 Tomas Akenine-Möller 50

51 Precomputed 4D textures 2006 Tomas Akenine-Möller 51

52 Used as a lookup table Due to intelligent caches fast! Can have textured lights (and animated) 32x32 light texture 3 MB Why 4D textures? 2006 Tomas Akenine-Möller 52

53 Some examples using textured light sources 2006 Tomas Akenine-Möller 53

54 Example of how it works 2006 Tomas Akenine-Möller 54

55 The algorithm 1st pass: Render hard shadow quads (as usual) To be sure that we register when we enter/exit umbra 2nd pass: compensate for overstated umbra 2006 Tomas Akenine-Möller 55

56 Combine shadow mask with lighting and texturing = = 2006 Tomas Akenine-Möller Images courtesy of Jonas Svensson and Ulf 56 Borgenstam

57 Disadvantages of Soft Shadow Volumes Cases handled 100% correctly: An arbitrary non selfintersecting, planar polygon If the silhouette of the object is the same from all points on the area light source There are still a few approximations Shadow volumes do in general not scale well with scene complexity 2006 Tomas Akenine-Möller 57

58 Artifacts: Single silhouette error Overlapping geometry is handled incorrectly 2006 Tomas Akenine-Möller 58

59 Comparison Hard vs Soft Hard to beat the soft! Soft is more realistic Soft contains less high frequency content Soft provides better spatial relationship cues Soft seldom gives aliasing effects But... Soft costs more More research to be done before the final answer is here!! 2006 Tomas Akenine-Möller 59

60 Required reading list (i.e., if you want to pass the exam, read those papers) Section 6.12 (intro), in Real-Time Rendering, Tomas Akenine-Möller and Eric Haines, 2nd edition, Paper copies will be available. Ulf Assarsson, and Tomas Akenine-Möller, A Geometrybased Soft Shadow Volume Algorithm, ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH), vol. 22, no. 3, pp , July Tomas Akenine-Möller 60

Lecture 17: Shadows. Projects. Why Shadows? Shadows. Using the Shadow Map. Shadow Maps. Proposals due today. I will mail out comments

Lecture 17: Shadows. Projects. Why Shadows? Shadows. Using the Shadow Map. Shadow Maps. Proposals due today. I will mail out comments 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

More information

Real-Time Shadows. Last Time? Today. Why are Shadows Important? Shadows as a Depth Cue. For Intuition about Scene Lighting

Real-Time Shadows. Last Time? Today. Why are Shadows Important? Shadows as a Depth Cue. For Intuition about Scene Lighting Last Time? Real-Time Shadows Today Why are Shadows Important? Shadows & Soft Shadows in Ray Tracing Planar Shadows Projective Texture Shadows Shadow Maps Shadow Volumes Why are Shadows Important? Depth

More information

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

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

More information

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

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

More information

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

For Intuition about Scene Lighting. Today. Limitations of Planar Shadows. Cast Shadows on Planar Surfaces. Shadow/View Duality. Last Time Modeling Transformations Illumination (Shading) Real-Time Shadows Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Graphics Pipeline Clipping Rasterization

More information

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

Real-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today! Last Time? Real-Time Shadows Perspective-Correct Interpolation Texture Coordinates Procedural Solid Textures Other Mapping Bump Displacement Environment Lighting Textures can Alias Aliasing is the under-sampling

More information

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

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

More information

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

Last Time. Reading for Today: Graphics Pipeline. Clipping. Rasterization Last Time Modeling Transformations Illumination (Shading) Real-Time Shadows Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility

More information

Computer Graphics Shadow Algorithms

Computer Graphics Shadow Algorithms Computer Graphics Shadow Algorithms Computer Graphics Computer Science Department University of Freiburg WS 11 Outline introduction projection shadows shadow maps shadow volumes conclusion Motivation shadows

More information

Real-Time Shadows. Computer Graphics. MIT EECS Durand 1

Real-Time Shadows. Computer Graphics. MIT EECS Durand 1 Real-Time Shadows Computer Graphics MIT EECS 6.837 Durand 1 Why are Shadows Important? Depth cue Scene Lighting Realism Contact points 2 Shadows as a Depth Cue source unknown. All rights reserved. This

More information

Computer Graphics 10 - Shadows

Computer Graphics 10 - Shadows Computer Graphics 10 - Shadows Tom Thorne Slides courtesy of Taku Komura www.inf.ed.ac.uk/teaching/courses/cg Overview Shadows Overview Projective shadows Shadow textures Shadow volume Shadow map Soft

More information

Computer Graphics. Shadows

Computer Graphics. Shadows Computer Graphics Lecture 10 Shadows Taku Komura Today Shadows Overview Projective shadows Shadow texture Shadow volume Shadow map Soft shadows Why Shadows? Shadows tell us about the relative locations

More information

Shadows in the graphics pipeline

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

More information

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

More information

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

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

More information

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

More information

Advanced Shading I: Shadow Rasterization Techniques

Advanced Shading I: Shadow Rasterization Techniques Advanced Shading I: Shadow Rasterization Techniques Shadow Terminology umbra: light totally blocked penumbra: light partially blocked occluder: object blocking light Shadow Terminology umbra: light totally

More information

Shadows. Real-Time Hard Shadows. Collected by Ronen Gvili. Most slides were taken from : Fredu Durand Stefan Brabec

Shadows. Real-Time Hard Shadows. Collected by Ronen Gvili. Most slides were taken from : Fredu Durand Stefan Brabec Shadows Real-Time Hard Shadows Collected by Ronen Gvili. Most slides were taken from : Fredu Durand Stefan Brabec Hard Shadows Planar (Projected) Shadows Shadow Maps Volume (Stencil) Shadows 1 Soft Shadows

More information

Computergrafik. Matthias Zwicker. Herbst 2010

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

More information

A Geometry-based Soft Shadow Volume Algorithm using Graphics Hardware

A Geometry-based Soft Shadow Volume Algorithm using Graphics Hardware A Geometry-based Soft Shadow Volume Algorithm using Graphics Hardware Ulf Assarsson Tomas Akenine-Möller Chalmers University of Technology Sweden Abstract Most previous soft shadow algorithms have either

More information

Shadows. COMP 575/770 Spring 2013

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

More information

An Optimized Soft Shadow Volume Algorithm with Real-Time Performance

An Optimized Soft Shadow Volume Algorithm with Real-Time Performance Graphics Hardware (2003) M. Doggett, W. Heidrich, W. Mark, A. Schilling (Editors) An Optimized Soft Shadow Volume Algorithm with Real-Time Performance Ulf Assarsson, 1 Michael Dougherty, 2 Michael Mounier,

More information

Robust Stencil Shadow Volumes. CEDEC 2001 Tokyo, Japan

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

More information

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

Creating soft shadows

Creating soft shadows 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

More information

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

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

More information

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

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

More information

Shadow Algorithms. CSE 781 Winter Han-Wei Shen

Shadow Algorithms. CSE 781 Winter Han-Wei Shen Shadow Algorithms CSE 781 Winter 2010 Han-Wei Shen Why Shadows? Makes 3D Graphics more believable Provides additional cues for the shapes and relative positions of objects in 3D What is shadow? Shadow:

More information

Gaël Guennebaud Loïc Barthe, Mathias Paulin IRIT UPS CNRS TOULOUSE FRANCE Gaël Guennebaud Cyprus June 2006

Gaël Guennebaud Loïc Barthe, Mathias Paulin IRIT UPS CNRS TOULOUSE FRANCE  Gaël Guennebaud Cyprus June 2006 Real-time Soft Shadow Mapping by back-projection Gaël Guennebaud Loïc Barthe, Mathias Paulin IRIT UPS CNRS TOULOUSE FRANCE http://www.irit.fr/~gael.guennebaud/ 1 Hard Shadows light source Is the light

More information

Spatial Data Structures and Speed-Up Techniques. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology

Spatial Data Structures and Speed-Up Techniques. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Spatial Data Structures and Speed-Up Techniques Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Spatial data structures What is it? Data structure that organizes

More information

Texture Mapping II. Light maps Environment Maps Projective Textures Bump Maps Displacement Maps Solid Textures Mipmaps Shadows 1. 7.

Texture Mapping II. Light maps Environment Maps Projective Textures Bump Maps Displacement Maps Solid Textures Mipmaps Shadows 1. 7. Texture Mapping II Light maps Environment Maps Projective Textures Bump Maps Displacement Maps Solid Textures Mipmaps Shadows 1 Light Maps Simulates the effect of a local light source + = Can be pre-computed

More information

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

More information

Shadow Techniques. Sim Dietrich NVIDIA Corporation

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

More information

CS451Real-time Rendering Pipeline

CS451Real-time Rendering Pipeline 1 CS451Real-time Rendering Pipeline JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY Based on Tomas Akenine-Möller s lecture note You say that you render a 3D 2 scene, but what does

More information

LOD and Occlusion Christian Miller CS Fall 2011

LOD and Occlusion Christian Miller CS Fall 2011 LOD and Occlusion Christian Miller CS 354 - Fall 2011 Problem You want to render an enormous island covered in dense vegetation in realtime [Crysis] Scene complexity Many billions of triangles Many gigabytes

More information

Recall: Indexing into Cube Map

Recall: Indexing into Cube Map Recall: Indexing into Cube Map Compute R = 2(N V)N-V Object at origin Use largest magnitude component of R to determine face of cube Other 2 components give texture coordinates V R Cube Map Layout Example

More information

Approximate Soft Shadows on Arbitrary Surfaces using Penumbra Wedges

Approximate Soft Shadows on Arbitrary Surfaces using Penumbra Wedges Thirteenth Eurographics Workshop on Rendering (2002) P. Debevec and S. Gibson (Editors) Approximate Soft Shadows on Arbitrary Surfaces using Penumbra Wedges Tomas Akenine-Möller and Ulf Assarsson Department

More information

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

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

More information

In- Class Exercises for Shadow Algorithms

In- Class Exercises for Shadow Algorithms In- Class Exercises for Shadow Algorithms Alex Wiens and Gitta Domik, University of Paderborn, Germany Abstract: We are describing two exercises to deepen the understanding of two popular real-time shadow

More information

Computer Graphics Introduction. Taku Komura

Computer Graphics Introduction. Taku Komura Computer Graphics Introduction Taku Komura What s this course all about? We will cover Graphics programming and algorithms Graphics data structures Applied geometry, modeling and rendering Not covering

More information

A Shadow Volume Algorithm for Opaque and Transparent Non-Manifold Casters

A Shadow Volume Algorithm for Opaque and Transparent Non-Manifold Casters jgt 2008/7/20 22:19 page 1 #1 Vol. [VOL], No. [ISS]: 1?? A Shadow Volume Algorithm for Opaque and Transparent Non-Manifold Casters Byungmoon Kim 1, Kihwan Kim 2, Greg Turk 2 1 NVIDIA, 2 Georgia Institute

More information

The Traditional Graphics Pipeline

The Traditional Graphics Pipeline Last Time? The Traditional Graphics Pipeline Participating Media Measuring BRDFs 3D Digitizing & Scattering BSSRDFs Monte Carlo Simulation Dipole Approximation Today Ray Casting / Tracing Advantages? Ray

More information

Soft shadows. Steve Marschner Cornell University CS 569 Spring 2008, 21 February

Soft shadows. Steve Marschner Cornell University CS 569 Spring 2008, 21 February Soft shadows Steve Marschner Cornell University CS 569 Spring 2008, 21 February Soft shadows are what we normally see in the real world. If you are near a bare halogen bulb, a stage spotlight, or other

More information

Real-Time Shadows. André Offringa Timo Laman

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

More information

Illumination and Geometry Techniques. Karljohan Lundin Palmerius

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

More information

Rasterization Overview

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

More information

Optimisation. CS7GV3 Real-time Rendering

Optimisation. CS7GV3 Real-time Rendering Optimisation CS7GV3 Real-time Rendering Introduction Talk about lower-level optimization Higher-level optimization is better algorithms Example: not using a spatial data structure vs. using one After that

More information

Siggraph Full-Day Course #26. Real-Time Shadowing Techniques

Siggraph Full-Day Course #26. Real-Time Shadowing Techniques Siggraph 2004 Full-Day Course #26 Real-Time Shadowing Techniques Course Title Real-Time Shadowing Techniques Category Rendering Real-Time or for Games Presentation Venue Session Room Summary Statement

More information

Volume Shadows Tutorial Nuclear / the Lab

Volume Shadows Tutorial Nuclear / the Lab Volume Shadows Tutorial Nuclear / the Lab Introduction As you probably know the most popular rendering technique, when speed is more important than quality (i.e. realtime rendering), is polygon rasterization.

More information

Level of Details in Computer Rendering

Level of Details in Computer Rendering Level of Details in Computer Rendering Ariel Shamir Overview 1. Photo realism vs. Non photo realism (NPR) 2. Objects representations 3. Level of details Photo Realism Vs. Non Pixar Demonstrations Sketching,

More information

Fondamenti di Grafica 3D The Rasterization Pipeline.

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

More information

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

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

More information

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

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

More information

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

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

More information

Soft Shadow Maps. Soft Shadow Maps for Linear Lights

Soft Shadow Maps. Soft Shadow Maps for Linear Lights 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

More information

Penumbra Maps: Approximate Soft Shadows in Real-Time

Penumbra Maps: Approximate Soft Shadows in Real-Time Eurographics Symposium on Rendering 2003 Per Christensen and Daniel Cohen-Or (Editors) Penumbra Maps: Approximate Soft Shadows in Real-Time Chris Wyman and Charles Hansen School of Computing, University

More information

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

More information

Stencil Shadow Volumes

Stencil Shadow Volumes Helsinki University of Technology Telecommunications Software and Multimedia Laboratory T-111.500 Seminar on Computer Graphics Spring 2002 Rendering of High Quality 3D-Graphics Stencil Shadow Volumes Matti

More information

SHADOW RENDERING TECHNIQUES: HARD AND SOFT

SHADOW RENDERING TECHNIQUES: HARD AND SOFT SHADOW RENDERING TECHNIQUES: HARD AND SOFT A Dissertation Submitted to the Department of Computer Science and Engineering of BRAC University by Jamiur Rahman Student ID: 06341003 In Partial Fulfillment

More information

Shadow Mapping. Marc Stamminger, University of Erlangen-Nuremberg

Shadow Mapping. Marc Stamminger, University of Erlangen-Nuremberg Shadow Mapping Marc Stamminger, University of Erlangen-Nuremberg 1 Idea assumption: spot light with spot angle

More information

Soft Shadow Volumes for Ray Tracing Samuli Laine, Timo Aila, Ulf Assarsson, Jaakko Lethinen, Tomas Akenine-Möller presented by Manuel Lang

Soft Shadow Volumes for Ray Tracing Samuli Laine, Timo Aila, Ulf Assarsson, Jaakko Lethinen, Tomas Akenine-Möller presented by Manuel Lang Soft Shadow Volumes for Ray Tracing Samuli Laine, Timo Aila, Ulf Assarsson, Jaakko Lethinen, Tomas Akenine-Möller presented by Manuel Lang 1 Outline of this presentation Introduction to Soft-Shadows Soft-Shadows

More information

Simpler Soft Shadow Mapping Lee Salzman September 20, 2007

Simpler Soft Shadow Mapping Lee Salzman September 20, 2007 Simpler Soft Shadow Mapping Lee Salzman September 20, 2007 Lightmaps, as do other precomputed lighting methods, provide an efficient and pleasing solution for lighting and shadowing of relatively static

More information

Multi-View Soft Shadows. Louis Bavoil

Multi-View Soft Shadows. Louis Bavoil Multi-View Soft Shadows Louis Bavoil lbavoil@nvidia.com Document Change History Version Date Responsible Reason for Change 1.0 March 16, 2011 Louis Bavoil Initial release Overview The Multi-View Soft Shadows

More information

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

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

More information

Triangle Rasterization

Triangle Rasterization Triangle Rasterization Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 2/07/07 1 From last time Lines and planes Culling View frustum culling Back-face culling Occlusion culling

More information

The Traditional Graphics Pipeline

The Traditional Graphics Pipeline Final Projects Proposals due Thursday 4/8 Proposed project summary At least 3 related papers (read & summarized) Description of series of test cases Timeline & initial task assignment The Traditional Graphics

More information

The Traditional Graphics Pipeline

The Traditional Graphics Pipeline Last Time? The Traditional Graphics Pipeline Reading for Today A Practical Model for Subsurface Light Transport, Jensen, Marschner, Levoy, & Hanrahan, SIGGRAPH 2001 Participating Media Measuring BRDFs

More information

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

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

More information

Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker

Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker Rendering Algorithms: Real-time indirect illumination Spring 2010 Matthias Zwicker Today Real-time indirect illumination Ray tracing vs. Rasterization Screen space techniques Visibility & shadows Instant

More information

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

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

More information

Advanced Shading and Texturing

Advanced Shading and Texturing Real-Time Graphics Architecture Kurt Akeley Pat Hanrahan http://www.graphics.stanford.edu/courses/cs448a-01-fall Advanced Shading and Texturing 1 Topics Features Bump mapping Environment mapping Shadow

More information

Shadow Volume History (1) Shadow Volumes. Shadow Volume History (2) Shadow Volume History (3) Shadow Volume Basics. Shadow Volume History (4)

Shadow Volume History (1) Shadow Volumes. Shadow Volume History (2) Shadow Volume History (3) Shadow Volume Basics. Shadow Volume History (4) Shadow Volume History (1) Shadow Volumes Invented by Frank Crow [ 77] Software rendering scan-line approach Brotman and Badler [ 84] Software-based depth-buffered approach Used lots of point lights to

More information

Vincent Forest, Loïc Barthe, Mathias Paulin. IRIT-UPS-CNRS University of Toulouse, France

Vincent Forest, Loïc Barthe, Mathias Paulin. IRIT-UPS-CNRS University of Toulouse, France Realistic Soft Shadows by Penumbra-Wedges Blending Vincent Forest, Loïc Barthe, Mathias Paulin IRIT-UPS-CNRS University of Toulouse, France www.irit.fr/~vincent.forest/softshadows.php Outline Introduction

More information

EECS 487: Interactive Computer Graphics

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

More information

FRUSTUM-TRACED RASTER SHADOWS: REVISITING IRREGULAR Z-BUFFERS

FRUSTUM-TRACED RASTER SHADOWS: REVISITING IRREGULAR Z-BUFFERS FRUSTUM-TRACED RASTER SHADOWS: REVISITING IRREGULAR Z-BUFFERS Chris Wyman, Rama Hoetzlein, Aaron Lefohn 2015 Symposium on Interactive 3D Graphics & Games CONTRIBUTIONS Full scene, fully dynamic alias-free

More information

INFOGR Computer Graphics. J. Bikker - April-July Lecture 10: Ground Truth. Welcome!

INFOGR Computer Graphics. J. Bikker - April-July Lecture 10: Ground Truth. Welcome! INFOGR Computer Graphics J. Bikker - April-July 2015 - Lecture 10: Ground Truth Welcome! Today s Agenda: Limitations of Whitted-style Ray Tracing Monte Carlo Path Tracing INFOGR Lecture 10 Ground Truth

More information

Projective Shadows. D. Sim Dietrich Jr.

Projective Shadows. D. Sim Dietrich Jr. Projective Shadows D. Sim Dietrich Jr. Topics Projective Shadow Types Implementation on DirectX 7 HW Implementation on DirectX8 HW Integrating Shadows into an engine Types of Projective Shadows Static

More information

Ulf Assarsson Department of Computer Engineering Chalmers University of Technology

Ulf Assarsson Department of Computer Engineering Chalmers University of Technology Ulf Assarsson Department of Computer Engineering Chalmers University of Technology Tracing Photons One way to form an image is to follow rays of light from a point source finding which rays enter the lens

More information

Real-Time Universal Capture Facial Animation with GPU Skin Rendering

Real-Time Universal Capture Facial Animation with GPU Skin Rendering Real-Time Universal Capture Facial Animation with GPU Skin Rendering Meng Yang mengyang@seas.upenn.edu PROJECT ABSTRACT The project implements the real-time skin rendering algorithm presented in [1], and

More information

6.837 Introduction to Computer Graphics Quiz 2 Thursday November 20, :40-4pm One hand-written sheet of notes allowed

6.837 Introduction to Computer Graphics Quiz 2 Thursday November 20, :40-4pm One hand-written sheet of notes allowed 6.837 Introduction to Computer Graphics Quiz 2 Thursday November 20, 2003 2:40-4pm One hand-written sheet of notes allowed Name: 1 2 3 4 5 6 7 / 4 / 15 / 5 / 5 / 12 / 2 / 7 Total / 50 1 Animation [ /4]

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

Multi-Threaded Shadow Volumes on Mainstream Graphics Hardware

Multi-Threaded Shadow Volumes on Mainstream Graphics Hardware White Paper Intel Software Solutions Group David Bookout Satheesh G. Subramanian Multi-Threaded Shadow Volumes on Mainstream Graphics Hardware This white paper describes techniques to generate shadows

More information

Real-Time Volume Shadow using Visible-Non Visible Algorithm

Real-Time Volume Shadow using Visible-Non Visible Algorithm Journal of Computer Science 7 (7): 980-985, 2011 ISSN 1549-3636 2011 Science Publications Real-Time Volume Shadow using Visible-Non Visible Algorithm Hoshang Kolivand, Mohd Shahrizal Sunar, Azam Amirshakarami

More information

CSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018

CSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018 CSE 167: Introduction to Computer Graphics Lecture #9: Visibility Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018 Announcements Midterm Scores are on TritonEd Exams to be

More information

Nonphotorealism. Christian Miller CS Fall 2011

Nonphotorealism. Christian Miller CS Fall 2011 Nonphotorealism Christian Miller CS 354 - Fall 2011 Different goals Everything we ve done so far has been working (more or less) towards photorealism But, you might not want realism as a stylistic choice

More information

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

More information

Culling. Computer Graphics CSE 167 Lecture 12

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

More information

Physically-Based Laser Simulation

Physically-Based Laser Simulation Physically-Based Laser Simulation Greg Reshko Carnegie Mellon University reshko@cs.cmu.edu Dave Mowatt Carnegie Mellon University dmowatt@andrew.cmu.edu Abstract In this paper, we describe our work on

More information

Shadow and Environment Maps

Shadow and Environment Maps CS294-13: Special Topics Lecture #8 Advanced Computer Graphics University of California, Berkeley Monday, 28 September 2009 Shadow and Environment Maps Lecture #8: Monday, 28 September 2009 Lecturer: Ravi

More information

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

Computer Graphics. Lecture 14 Bump-mapping, Global Illumination (1) Computer Graphics Lecture 14 Bump-mapping, Global Illumination (1) Today - Bump mapping - Displacement mapping - Global Illumination Radiosity Bump Mapping - A method to increase the realism of 3D objects

More information

3D graphics, raster and colors CS312 Fall 2010

3D graphics, raster and colors CS312 Fall 2010 Computer Graphics 3D graphics, raster and colors CS312 Fall 2010 Shift in CG Application Markets 1989-2000 2000 1989 3D Graphics Object description 3D graphics model Visualization 2D projection that simulates

More information

Efficient Image-Based Methods for Rendering Soft Shadows. Hard vs. Soft Shadows. IBR good for soft shadows. Shadow maps

Efficient Image-Based Methods for Rendering Soft Shadows. Hard vs. Soft Shadows. IBR good for soft shadows. Shadow maps Efficient Image-Based Methods for Rendering Soft Shadows Hard vs. Soft Shadows Maneesh Agrawala Ravi Ramamoorthi Alan Heirich Laurent Moll Pixar Animation Studios Stanford University Compaq Computer Corporation

More information

Rasterization. MIT EECS Frédo Durand and Barb Cutler. MIT EECS 6.837, Cutler and Durand 1

Rasterization. MIT EECS Frédo Durand and Barb Cutler. MIT EECS 6.837, Cutler and Durand 1 Rasterization MIT EECS 6.837 Frédo Durand and Barb Cutler MIT EECS 6.837, Cutler and Durand 1 Final projects Rest of semester Weekly meetings with TAs Office hours on appointment This week, with TAs Refine

More information

Practical Shadow Mapping

Practical Shadow Mapping Practical Shadow Mapping Stefan Brabec Thomas Annen Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken, Germany Abstract In this paper we propose several methods that can greatly improve

More information

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

Texture-Mapping Tricks. How Bad Does it Look? We've Seen this Sort of Thing Before. Sampling Texture Maps Texture-Mapping Tricks Filtering Textures Textures and Shading Bump Mapping Solid Textures How Bad Does it Look? Let's take a look at what oversampling looks like: Click and drag the texture to rotate

More information

Graphics Hardware and Display Devices

Graphics Hardware and Display Devices Graphics Hardware and Display Devices CSE328 Lectures Graphics/Visualization Hardware Many graphics/visualization algorithms can be implemented efficiently and inexpensively in hardware Facilitates interactive

More information

FAST SELF-SHADOWING USING OCCLUDER TEXTURES. A Thesis CHRISTOPHER RYAN COLEMAN

FAST SELF-SHADOWING USING OCCLUDER TEXTURES. A Thesis CHRISTOPHER RYAN COLEMAN FAST SELF-SHADOWING USING OCCLUDER TEXTURES A Thesis by CHRISTOPHER RYAN COLEMAN Submitted to the Office of Graduate Studies of Texas A&M University in partial fulfillment of the requirements for the degree

More information

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

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

More information

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

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

More information

Speeding up your game

Speeding up your game Speeding up your game The scene graph Culling techniques Level-of-detail rendering (LODs) Collision detection Resources and pointers (adapted by Marc Levoy from a lecture by Tomas Möller, using material

More information