Stencil Shadow Volumes
|
|
- Jayson Wright
- 6 years ago
- Views:
Transcription
1 Helsinki University of Technology Telecommunications Software and Multimedia Laboratory T Seminar on Computer Graphics Spring 2002 Rendering of High Quality 3D-Graphics Stencil Shadow Volumes Matti Dahlbom 46540L
2 Stencil Shadow Volumes Matti Dahlbom HUT, Telecommunications Software and Multimedia Laboratory Abstract This paper discusses modern methods for realtime and non-realtime approaches to generating realistic shadows in 3D rendering systems. It describes in reasonable depth the method of Shadow Volumes, and presents some comparison among the commonly used algorithms. The paper covers essential topics concerning stencil shadow volumes, such as efficiency concerns and memory consumption during calculation of the volumes. There is also consideration about problems applying this technique in practice. 1
3 1 Introduction Creating realistic shadows has been a hard task to overcome for the entire history of real-time 3D graphics. The shadow calculation methods are inaccurate and inefficient, and usually hard to implement generically enough. Approximations and so-called fake shadows or shadow slabs have been used as a crude workaround, but in reality they have nothing to do with real shadow casting. A number of methods have been developed for this purpose one of these being Shadow Volumes. The basic idea of the method is to calculate a volume projected into the object space by the light source. Each polygon facing the light source creates a shadow volume. Each of these volumes consists of polygons formed by casting a ray from the light source through polygon vertices into the image-space. The resulting volume is then used to divide all polygons into the ones in shadow and the ones not. A sample shadow volume is demonstrated by figure 1. Figure 1: by Michael McCool: Shadow Volume of a Triangle 2
4 2 Background In 1977, Franklin J. Crow introduced a survey (see [Crow, July 1977]) distinguishing three applicable methods to the shadow generation problem known at the time: A polygon scan-line approach: shadowing polygons are projected onto a polygon being scanconverted, and the transitions to and from shadow are calculated per shadow polygon edge for each scanline. A two-pass hidden surface approach: on the first pass, the light source casting the shadow is used as the view point; polygons in shadow and polygons either partly or completely in light are determined, and the shadow polygons are added temporarily to the image space. The second pass renders the scene, using the shadow polygons to perform the shadowing. Shadow volumes approach: for each shadowing polygon P a shadow volume is created. The shadow volume is clipped against the view volume (see figure 3). Then all the polygons inside the view volume are clipped against the shadow volume, again producing shadow polygons that are used for determining the transition in and out of shadow in the rendering stage. The next year Lance Williams introduced a fourth approach (see [Williams, August 1978]), namely z-buffer shadow computation. And in 1980, Turner Whitted introduced fifth, namely the ray tracing method (see [Whitted, 1980]). The methods presented and numerous variations of them have coexisted and evolved. Currently many implementations of each exist. Not all of the approaches mentioned are fit for realtime graphics, but they have uses in numerous other contexts. While methods based on ray tracing are not suitable for practical appliance in realtime 3D rendering, they serve as an excellent tool for modelling photorealistic images of scenes in environments that do not require real-time performance. The usual tradeoff in computer graphics holds: quality comes with the expense of performance drop and increase in memory consumption. 3 Other Methods This section briefly descibes other methods available for shadow generation used in modern 3D rendering systems. 3.1 Projected Planar Shadows Projected planar shadows are shadows formed by projecting shadow polygons on visible polygons by a lightsource. The surfaces receiving the projected shadows need to be flat as the name suggests for the technique to work and be effective. Projected shadows algorithm can be rather easily changed to support also soft shadows. An implementation of the algorithm producing soft shadows using projected planar shadows is described in [Haines, 2001]. The idea is, that as the edges and vertices of 3
5 the shadowing polygon are cast onto the planar surface, the interior of the polygon is rendered similarly to sharp shadows, with the darkest color. The vertices and edges of the projected shadow polygon are then shadowed, using interpolative method to produce a soft shadow edge by drawing a gradient from darkest shadow to white when moving further from the shadow polygon. The size of the soft shadow gradient area is dependent from the distance from the casting vertex to the surface receiving the shadow. This technique is demonstrated in figure 2. This method effectively mimics the real world where there is no such thing as a point light source. Figure 2: by Eric Haines: Soft Planar Shadows 3.2 Shadow Maps Applying shadow maps involves using the depth buffer with projective texture mapping to create a shadow map for the shadowing object. This is done by transforming the scene so that light source acts as a camera; then the scene gets rendered, creating the depth buffer. The resulting depth map is then projected on the objects to be rendered. Each pixel to be drawn is compared against the corresponding value in the projected map do decide whether the pixel is in shadow or not. Shadow mapping is easily extended to handle soft shadows. This method is discussed in more detail in [McReynolds, 1996]. Williams [Williams, August 1978] suggested the following steps be taken: acquire depth image from light source construct the viewpoint image 4
6 do transformation from view space to light source space draw based on comparison of depth value to one in shadow depth buffer William s method is often referred to as the Z-Buffer shadowing. Pros for shadow maps is the simplicity of the algorithm, while cons are possibly incorrect self-shadowing and aliasing effects due to limited resolution of the shadow map. Similar, more modern methods applying shadow maps have been published, one being Hansong Zhang s Forward Shadow Mapping ([Zhang, 1998]). A more accurate and widely used technique is deep shadow mapping. Instead of storing single depth information at each pixel, a fractional visibility value is stored for a pixel at all depth levels needed. This approach is described in [Lokovic & Veach, August 2000]. 3.3 Global Illumination The radiosity method is the most commonly known and used method of global illumination. It is based on thermal engineering and models of radiation emission and reflection. The algorithm can be crudely simplified as such: break environment into finite area patches and assume each is a Lambertian (diffuse) emitter and reflector find all interactions between patches exchange energy between patches until in equilibrium The biggest advantage of the radiosity method is that since diffuse lighting of a surface is view-independent, the lighting can be precalculated. Radiosity method may be used to create highly realistic yet static scenes. The radiosity method is described in [Sillion & Puech, 1994]. To complete all the aspects of the scene lighting, methods such as Monte Carlo Raytracing [McCabe, 1999] or Photon Mapping [Jensen, 2001] must be used. 5
7 4 Method This section considers the shadow volume method, covering the basic idea of the approach as well as the use of more advanced algorithms to improve quality and efficiency of shadow volumes. 4.1 Basics In a few words, the shadow volume technique for one light source can be described as follows: Each polygon that is facing the light source, generates a shadow volume. Shadow planes forming the frustum are created from each edge of the shadowing polygon. The shadow planes are then clipped against the view volume. Resulting polygons (called shadow polygons by Crow, see [Crow, July 1977]) are added to the scene s polygon data structure as invisible polygons. During the scan-conversion process, the shadow polygons mark transitions into or out of shadow. Figure 3 demonstrates the clipping of the shadow volume against the view frustum. The use of silhouettes is described in section 4.2. Figure 3: by Dave Salvator: Shadow Volume Intersecting View Volume 6
8 4.2 Using Silhouettes Calculating the shadow volumes for every single polygon in an object takes up a lot of time and most of the work is in vain. The algorithm is vastly improved by finding the contour edges of the whole object at a time, making up the silhoutte of the object. The use of a silhouette for creating the shadow volume for an object is demonstrated by figure 3. Using the silhoutte edges of the object for creating a single shadow volume for the entire object is fully accurate and much less memory consuming because of the huge amount of shadow polygons saved. Also the scan-line renderer performs faster because of less intersections with the shadow polygons. The silhouette must be recalculated each time a light source moves proportional to the object for which the silhouette is calculated, or the shape of the object changes. The change in position or orientation of the camera does not force recalculation of the silhouette. 4.3 Stencil Buffering It is imperative to correctly find the parts of the objects that lie in a shadow. For each pixel in the scene, a count is kept about entering and leaving the shadow. When a shadow volume is entered by crossing its front-facing boundary shadow polygon, the count is increased. When a shadow volume is exited by crossing its back-facing boundary shadow polygon, the count is decreased. When done, the pixels with a nonzero count are found to lie in shadow. The values are stored in an optimized buffer, called the stencil buffer. 5 Problems Shadow volumes require intensive calculation and therefore there are issues requiring serious consideration for optimizations when implementing shadowing for a scene. Also allowing complex object structures poses a problem one must handle in order to produce results with no artifacts and flaws in shadow rendering. 5.1 Open Models Using open polyhedras (ones with missing faces) is a problem for the Crow s original algorithm, since the missing faces are not there to increase the depth count. Because no such object exists in the real world, the problem can be avoided by using closed models. Despite of the fact that uses for an open model even in computer graphics are scarce, this issue has to be dealt with. The updated version of the Crow algorithm by P. Bergeron handles open models correctly by taking use of countour edges and altering the depth count, described in [Bergeron, September 1986]. 5.2 Multiple Light Sources For multiple light sources, the algorithm must be extended slightly to accommodate the possibility of one light source lighting up an area shadowed by another. For each light 7
9 source, the shadow volumes must be regenerated. When rendering the scene for each light source, instead replacing pixel values of the unshadowed areas (for that light), a blending function is applied to add the current light s contribution to the lighting of the pixel. The number of light sources actively producing shadows is in direct proportion to the required rendering time. 5.3 Eye in Shadow, Capping When the camera lies inside the shadow volume, the algorithm does not hold; there is no front-facing shadow polygon (one that causes transition into shadow when rendering) in front of the camera, and therefore we might never meet an shadow polygon when rendering a polygon inside the same shadow volume. We need something to detect the situation of the camera being inside the volume. A workaround to this one is simple; we cap the shadow volume. This means closing the semi-infinite volume in such a way that the far end normally reaching out to infinity is cut and a closing polygon is added. The shadow volume needs to be culled in front of the camera also, to produce a plane of entrance into the shadow. Although the idea is simple and straightforward, an efficient implementation might not be. 5.4 Efficiency The number of shadow polygons for a scene can be enormous, especially if silhouttes are not being used for the generation of the volumes. One efficient way to go lessen the burden generated by the shadow polygons is occlusion culling. It means reducing the shadow volume s complexity when possible. This is the case when a large, simple object receives shadow from a smaller, more complex object. If the larger object totally blocks the shadow volume of the smaller object, the smaller object s shadow volume may be discarded and the larger one s be used from there on. 5.5 Memory Consumption Due to the creation of the shadow volumes and their shadow volumes, the memory strain may become huge. Since each triangle (used here as a special case of a polygon) has 3 edges, the resulting shadow volume has 3 shadow polygons. Each light source generates its own shadow volume; therefore a scene with 3 lightsources, 10 shadowing objects consisting of 500 triangles each would generate approximately 3 * 10 * 250 * 3 = shadow polygons, assuming that 50% of the polygons of an object are facing each light. Also the stencil buffer takes up space, depending on the resolution and buffer depth used. For a example scene presented above, a 8bit buffer might easily overflow due to the huge amount of shadow transitions caused by the shadow polygons. As discussed in section 4.2, using silhouettes of objects instead of the polygons separetely would simplify the shadow volumes significantly, decreasing also the memory consumption. In practice, silhouettes are always used to obtain reasonable performance. 8
10 5.6 Producing Soft Shadows The algorithm as explained above produces shadows with sharp edges, often called hard shadows. The method may be used to create soft shadows also by runtime replacing one light source by multiple virtual light sources with lesser intensity, and variating their position slightly. The resultant shadow appears as one with soft edges. This method naturally decreases efficiency somewhat, since the algorithm needs to be applied more than once for a light source. 6 Conclusion Shadow volumes are a noteworthy choice when selecting shadowing algorithm in a real-time 3D graphics application. The algorithm is easy to understand and it is rather straightforward to implement in a crude form. The optimizations and special case handlings such as multiple lights and eye-in-shadow can be added based on the needs later on. Since the algorithm is well separated from the scanline rendering, it is easy to implement to an existing system using simple or no shadowing at all. It already has many flexible implementations in OpenGL and will most likely set the standard of real-time shadowing in modern games and modelling applications. 9
11 References [Bergeron, September 1986] Bergeron Philippe. September Shadow Algorithms for Computer Graphics. Computer Graphics (Proceedings of SIGGRAPH 78), 12(2), [Crow, July 1977] Crow Franklin. July Shadow Algorithms for Computer Graphics. Computer Graphics (Proceedings of SIGGRAPH 77), 11(2), Held in San Jose, California. [Haines, 2001] Haines Eric Soft planar shadows using plateaus. Journal of Graphics Tools, 6(1), [Jensen, 2001] Jensen Henrik Wann Realistic Image Synthesis Using Photon Mapping. Natick, MA: A. K. Peters. [Lokovic & Veach, August 2000] Lokovic Tom, & Veach Eric. August Deep Shadow Maps. SIGGRAPH 2000 Proceedings. [McCabe, 1999] McCabe Hugh Markov Chain Monte Carlo Methods for Global Illumination. Tech. rept. TCD-CS Department of Computer Sciene, Trinity College, Dublin, Ireland. Available from [McReynolds, 1996] McReynolds Tom Shadow Maps. Tech. rept. Silicon Graphics. SIGGRAPH 96 Course. [Sillion & Puech, 1994] Sillion Francois, & Puech Claude Radiosity and Global Illumination. San Francisco: Morgan Kaufmann Publishers. ISBN [Whitted, 1980] Whitted Turner An Improved Illumination Model for Shaded Display. Communications of the ACM, 23(6). [Williams, August 1978] Williams Lance. August Casting Curved Shadows on Curved Surfaces. Computer Graphics (SIGGRAPH 78 Conference Proceedings), 12, [Zhang, 1998] Zhang Hansong Forward Shadow Mapping. Proceedings of the 9th EuroGraphics Rendering Workshop. Held in Vienna, Austria, June 29-July 1. 10
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 informationComputer 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 informationShadow Rendering EDA101 Advanced Shading and Rendering
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?
More informationLast 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 informationAcknowledgement: 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 informationComputer 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 informationAdvanced 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 informationShadow Volumes Revisited
Shadow Volumes Revisited Stefan Roettger, Alexander Irion, and Thomas Ertl University of Stuttgart, Faculty of Computer Science Visualization and Interactive Systems Group! ABSTRACT We present a method
More informationFor 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 informationComputer 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 informationLast 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 informationShadows. 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 informationRendering. 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 informationComputergrafik. Matthias Zwicker. Herbst 2010
Computergrafik Matthias Zwicker Universität Bern Herbst 2010 Today Bump mapping Shadows Shadow mapping Shadow mapping in OpenGL Bump mapping Surface detail is often the result of small perturbations in
More informationReal-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 informationReal-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 informationShadows 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 informationThe 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 informationSoft Planar Shadows Using Plateaus Eric Haines Autodesk, Inc. Ithaca, New York June 18, 2001
Soft Planar Shadows Using Plateaus Eric Haines Autodesk, Inc. Ithaca, New York erich@acm.org June 18, 2001 Abstract: This paper presents an algorithm for rapidly creating and rendering soft shadows on
More informationReal-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 informationRobust 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 information03 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,
More informationVisible-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 informationReal-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 informationComputer 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
More informationComputer 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 informationCMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker
CMSC427 Advanced shading getting global illumination by local methods Credit: slides Prof. Zwicker Topics Shadows Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection
More informationVolume 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 informationPhotorealistic 3D Rendering for VW in Mobile Devices
Abstract University of Arkansas CSCE Department Advanced Virtual Worlds Spring 2013 Photorealistic 3D Rendering for VW in Mobile Devices Rafael Aroxa In the past few years, the demand for high performance
More informationIllumination 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 informationThe 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 informationShadows. 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 informationThe 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 informationIn- 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 informationgraphics 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 informationCS 325 Computer Graphics
CS 325 Computer Graphics 04 / 02 / 2012 Instructor: Michael Eckmann Today s Topics Questions? Comments? Illumination modelling Ambient, Diffuse, Specular Reflection Surface Rendering / Shading models Flat
More informationLecture 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 informationgraphics 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 informationSoft 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 informationReal-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 informationRecollection. Models Pixels. Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows
Recollection Models Pixels Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows Can be computed in different stages 1 So far we came to Geometry model 3 Surface
More informationA 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 informationComputer 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
More informationReal-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 informationCS 488. More Shading and Illumination. Luc RENAMBOT
CS 488 More Shading and Illumination Luc RENAMBOT 1 Illumination No Lighting Ambient model Light sources Diffuse reflection Specular reflection Model: ambient + specular + diffuse Shading: flat, gouraud,
More informationGlobal Illumination CS334. Daniel G. Aliaga Department of Computer Science Purdue University
Global Illumination CS334 Daniel G. Aliaga Department of Computer Science Purdue University Recall: Lighting and Shading Light sources Point light Models an omnidirectional light source (e.g., a bulb)
More informationPipeline 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
More informationRecent Advances in Monte Carlo Offline Rendering
CS294-13: Special Topics Lecture #6 Advanced Computer Graphics University of California, Berkeley Monday, 21 September 2009 Recent Advances in Monte Carlo Offline Rendering Lecture #6: Monday, 21 September
More informationPoint based Rendering
Point based Rendering CS535 Daniel Aliaga Current Standards Traditionally, graphics has worked with triangles as the rendering primitive Triangles are really just the lowest common denominator for surfaces
More informationLOD 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 informationCSE 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
More informationIntroduction Rasterization Z-buffering Shading. Graphics 2012/2013, 4th quarter. Lecture 09: graphics pipeline (rasterization and shading)
Lecture 9 Graphics pipeline (rasterization and shading) Graphics pipeline - part 1 (recap) Perspective projection by matrix multiplication: x pixel y pixel z canonical 1 x = M vpm per M cam y z 1 This
More informationCreating 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 informationComputer Graphics. Lecture 13. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura
Computer Graphics Lecture 13 Global Illumination 1: Ray Tracing and Radiosity Taku Komura 1 Rendering techniques Can be classified as Local Illumination techniques Global Illumination techniques Local
More informationShading. Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller/Fuhrmann
Shading Introduction to Computer Graphics Torsten Möller Machiraju/Zhang/Möller/Fuhrmann Reading Chapter 5.5 - Angel Chapter 6.3 - Hughes, van Dam, et al Machiraju/Zhang/Möller/Fuhrmann 2 Shading Illumination
More information3D Rasterization II COS 426
3D Rasterization II COS 426 3D Rendering Pipeline (for direct illumination) 3D Primitives Modeling Transformation Lighting Viewing Transformation Projection Transformation Clipping Viewport Transformation
More informationPipeline 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
More informationWhat 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 informationSoft 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
More informationRadiosity. Johns Hopkins Department of Computer Science Course : Rendering Techniques, Professor: Jonathan Cohen
Radiosity Radiosity Concept Global computation of diffuse interreflections among scene objects Diffuse lighting changes fairly slowly across a surface Break surfaces up into some number of patches Assume
More informationChapter 7 - Light, Materials, Appearance
Chapter 7 - Light, Materials, Appearance Types of light in nature and in CG Shadows Using lights in CG Illumination models Textures and maps Procedural surface descriptions Literature: E. Angel/D. Shreiner,
More informationCOMPUTER GRAPHICS COURSE. Rendering Pipelines
COMPUTER GRAPHICS COURSE Rendering Pipelines Georgios Papaioannou - 2014 A Rendering Pipeline Rendering or Graphics Pipeline is the sequence of steps that we use to create the final image Many graphics/rendering
More informationShadow 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 informationToday. 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
More information9. Illumination and Shading
9. Illumination and Shading Approaches for visual realism: - Remove hidden surfaces - Shade visible surfaces and reproduce shadows - Reproduce surface properties Texture Degree of transparency Roughness,
More informationInterpolation using scanline algorithm
Interpolation using scanline algorithm Idea: Exploit knowledge about already computed color values. Traverse projected triangle top-down using scanline. Compute start and end color value of each pixel
More informationSimple Nested Dielectrics in Ray Traced Images
Simple Nested Dielectrics in Ray Traced Images Charles M. Schmidt and Brian Budge University of Utah Abstract This paper presents a simple method for modeling and rendering refractive objects that are
More informationMIT Monte-Carlo Ray Tracing. MIT EECS 6.837, Cutler and Durand 1
MIT 6.837 Monte-Carlo Ray Tracing MIT EECS 6.837, Cutler and Durand 1 Schedule Review Session: Tuesday November 18 th, 7:30 pm bring lots of questions! Quiz 2: Thursday November 20 th, in class (one weeks
More informationCS5620 Intro to Computer Graphics
So Far wireframe hidden surfaces Next step 1 2 Light! Need to understand: How lighting works Types of lights Types of surfaces How shading works Shading algorithms What s Missing? Lighting vs. Shading
More informationRasterization 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 informationShadow 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 informationRASTERISED RENDERING
DH2323 DGI16 INTRODUCTION TO COMPUTER GRAPHICS AND INTERACTION RASTERISED RENDERING Christopher Peters HPCViz, KTH Royal Institute of Technology, Sweden chpeters@kth.se http://kth.academia.edu/christopheredwardpeters
More informationReading. 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 informationGlobal Illumination. Why Global Illumination. Pros/Cons and Applications. What s Global Illumination
Global Illumination Why Global Illumination Last lecture Basic rendering concepts Primitive-based rendering Today: Global illumination Ray Tracing, and Radiosity (Light-based rendering) What s Global Illumination
More informationReal-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 informationDisplacement Mapping
HELSINKI UNIVERSITY OF TECHNOLOGY 16.4.2002 Telecommunications Software and Multimedia Laboratory Tik-111.500 Seminar on computer graphics Spring 2002: Rendering of High-Quality 3-D Graphics Displacement
More informationRendering 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 informationPipeline 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
More informationInteractive Rendering of Globally Illuminated Glossy Scenes
Interactive Rendering of Globally Illuminated Glossy Scenes Wolfgang Stürzlinger, Rui Bastos Dept. of Computer Science, University of North Carolina at Chapel Hill {stuerzl bastos}@cs.unc.edu Abstract.
More informationRendering Hair-Like Objects with Indirect Illumination
Rendering Hair-Like Objects with Indirect Illumination CEM YUKSEL and ERGUN AKLEMAN Visualization Sciences Program, Department of Architecture Texas A&M University TR0501 - January 30th 2005 Our method
More informationTopics 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
More information6.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 informationShadows. 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 informationHidden surface removal. Computer Graphics
Lecture Hidden Surface Removal and Rasterization Taku Komura Hidden surface removal Drawing polygonal faces on screen consumes CPU cycles Illumination We cannot see every surface in scene We don t want
More informationApplications of Explicit Early-Z Culling
Applications of Explicit Early-Z Culling Jason L. Mitchell ATI Research Pedro V. Sander ATI Research Introduction In past years, in the SIGGRAPH Real-Time Shading course, we have covered the details of
More informationHigh-quality Shadows with Improved Paraboloid Mapping
High-quality Shadows with Improved Paraboloid Mapping Juraj Vanek, Jan Navrátil, Adam Herout, and Pavel Zemčík Brno University of Technology, Faculty of Information Technology, Czech Republic http://www.fit.vutbr.cz
More informationFast Texture Based Form Factor Calculations for Radiosity using Graphics Hardware
Fast Texture Based Form Factor Calculations for Radiosity using Graphics Hardware Kasper Høy Nielsen Niels Jørgen Christensen Informatics and Mathematical Modelling The Technical University of Denmark
More informationInteractive Radiosity Using Mipmapped Texture Hardware
Eurographics Workshop on Rendering (2002), pp. 1 6 Paul Debevec and Simon Gibson (Editors) Interactive Radiosity Using Mipmapped Texture Hardware Eric B. Lum Kwan-Liu Ma Nelson Max Department of Computer
More informationReal-Time Non- Photorealistic Rendering
Real-Time Non- Photorealistic Rendering Presented by: Qing Hu LIAO SOCS, McGill Feb 1, 2005 Index Introduction Motivation Appel s Algorithm Improving Schema Rendering Result Economy of line A great deal
More informationComputer Graphics. Lecture 10. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura 12/03/15
Computer Graphics Lecture 10 Global Illumination 1: Ray Tracing and Radiosity Taku Komura 1 Rendering techniques Can be classified as Local Illumination techniques Global Illumination techniques Local
More informationFinal Project: Real-Time Global Illumination with Radiance Regression Functions
Volume xx (200y), Number z, pp. 1 5 Final Project: Real-Time Global Illumination with Radiance Regression Functions Fu-Jun Luan Abstract This is a report for machine learning final project, which combines
More informationRay 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
More informationOther Rendering Techniques CSE 872 Fall Intro You have seen Scanline converter (+z-buffer) Painter s algorithm Radiosity CSE 872 Fall
Other Rendering Techniques 1 Intro You have seen Scanline converter (+z-buffer) Painter s algorithm Radiosity 2 Intro Some more Raytracing Light maps Photon-map Reyes Shadow maps Sahdow volumes PRT BSSRF
More informationGraphics for VEs. Ruth Aylett
Graphics for VEs Ruth Aylett Overview VE Software Graphics for VEs The graphics pipeline Projections Lighting Shading VR software Two main types of software used: off-line authoring or modelling packages
More informationReal Time Rendering. CS 563 Advanced Topics in Computer Graphics. Songxiang Gu Jan, 31, 2005
Real Time Rendering CS 563 Advanced Topics in Computer Graphics Songxiang Gu Jan, 31, 2005 Introduction Polygon based rendering Phong modeling Texture mapping Opengl, Directx Point based rendering VTK
More informationImage Precision Silhouette Edges
Image Precision Silhouette Edges Ramesh Raskar * Michael Cohen + * University of North Carolina at Chapel Hill + Microsoft Research Abstract inding and displaying silhouette edges is important in applications
More informationCSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling
CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 Announcements Project 4 due tomorrow Project
More informationHemi-Cube Ray-Tracing: A Method for Generating Soft Shadows
EUROGRAPHICS 90 / C.E. Vandoni and D.A Duce (Editors) Elsevier Science Publishers B.V. (North-Holland) Eurographics Association, 1990 365 Hemi-Cube Ray-Tracing: A Method for Generating Soft Shadows Urs
More informationLocal vs. Global Illumination & Radiosity
Last Time? Local vs. Global Illumination & Radiosity Ray Casting & Ray-Object Intersection Recursive Ray Tracing Distributed Ray Tracing An early application of radiative heat transfer in stables. Reading
More informationConsider a partially transparent object that is illuminated with two lights, one visible from each side of the object. Start with a ray from the eye
Ray Tracing What was the rendering equation? Motivate & list the terms. Relate the rendering equation to forward ray tracing. Why is forward ray tracing not good for image formation? What is the difference
More information