CSM Scrolling An acceleration technique for the rendering of cascaded shadow maps.

Slides:



Advertisements
Similar presentations
Exploration of advanced lighting and shading techniques
Advertisements

Ray Tracing Depth Maps Using Precomputed Edge Tables Kevin Egan Rhythm & Hues Studios.
Exploration of bump, parallax, relief and displacement mapping
Optimized Stencil Shadow Volumes
Graphics Pipeline.
Status – Week 257 Victor Moya. Summary GPU interface. GPU interface. GPU state. GPU state. API/Driver State. API/Driver State. Driver/CPU Proxy. Driver/CPU.
GAM532 DPS932 – Week 7 Introduction to shadows. Shadow Effects Light Surface No Shadows Shadows.
www-video.eecs.berkeley.edu/research
N-Buffers for efficient depth map query Xavier Décoret Artis GRAVIR/IMAG INRIA.
Week 10 - Monday.  What did we talk about last time?  Global illumination  Shadows  Projection shadows  Soft shadows.
Introduction to Image-Based Rendering Jian Huang, CS 594, Spring 2002 A part of this set of slides reference slides used at Standford by Prof. Pat Hanrahan.
Photon Mapping. How did I use it 10 years ago? Why might you want to use it tomorrow?
Real-Time Rendering TEXTURING Lecture 02 Marina Gavrilova.
Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London.
Real-Time Rendering SPEACIAL EFFECTS Lecture 03 Marina Gavrilova.
Real-time Dynamic HDR Based Lighting in a Static Environment Marcus Hennix Daniel Johansson Gunnar Johansson Martin Wassborn.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Motion Tracking. Image Processing and Computer Vision: 82 Introduction Finding how objects have moved in an image sequence Movement in space Movement.
Shadow Silhouette Maps Pradeep Sen, Mike Cammarano, Pat Hanrahan Stanford University.
(conventional Cartesian reference system)
1 View Coherence Acceleration for Ray Traced Animation University of Colorado at Colorado Springs Master’s Thesis Defense by Philip Glen Gage April 19,
X86 and 3D graphics. Quick Intro to 3D Graphics Glossary: –Vertex – point in 3D space –Triangle – 3 connected vertices –Object – list of triangles that.
Specialized Acceleration Structures for Ray-Tracing Warren Hunt Bill Mark.
Perspective Shadow Maps Marc Stamminger and George Drettakis Speaker: Alvin Date: 5/28/2003 SIGGRAPH 2002.
Background Caches for Large Outdoor Scenes Bill Hess.
© 2004 Tomas Akenine-Möller1 Shadow Generation Hardware Vision day at DTU 2004 Tomas Akenine-Möller Lund University.
Post-rendering Cel Shading & Bloom Effect
Optical flow (motion vector) computation Course: Computer Graphics and Image Processing Semester:Fall 2002 Presenter:Nilesh Ghubade
Shadows Computer Graphics. Shadows Shadows Extended light sources produce penumbras In real-time, we only use point light sources –Extended light sources.
Shadow No, not the Hank Marvin kind!. Go to: ows.html ows.html.
Ray Tracing Primer Ref: SIGGRAPH HyperGraphHyperGraph.
Voxelized Shadow Volumes Chris Wyman Department of Computer Science University of Iowa High Performance Graphics 2011.
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Computer Graphics Texture Mapping
09/11/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Graphics Pipeline Texturing Overview Cubic Environment Mapping.
Game Programming (Mapping) Spring.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Penumbra Deep Shadow Maps Jean-Francois St-Amour, LIGUM – Université de Montreal Eric Paquette, LESIA - ETS Pierre Poulin, LIGUM – Université de Montreal.
Image-based Rendering. © 2002 James K. Hahn2 Image-based Rendering Usually based on 2-D imagesUsually based on 2-D images Pre-calculationPre-calculation.
OpenGL Conclusions OpenGL Programming and Reference Guides, other sources CSCI 6360/4360.
Computer Graphics The Rendering Pipeline - Review CO2409 Computer Graphics Week 15.
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
Advanced Computer Graphics Shadow Techniques CO2409 Computer Graphics Week 20.
Sample Based Visibility for Soft Shadows using Alias-free Shadow Maps Erik Sintorn – Ulf Assarsson – uffe.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
112/5/ :54 Graphics II Image Based Rendering Session 11.
Emerging Technologies for Games Deferred Rendering CO3303 Week 22.
Using wavelets on the XBOX360 For current and future games San Francisco, GDC 2008 Mike Boulton Senior Software Engineer Rare/MGS
Lecture 6 Rasterisation, Antialiasing, Texture Mapping,
Bounding Volume Hierarchy. The space within the scene is divided into a grid. When a ray travels through a scene, it only passes a few boxes within the.
Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination.
Real-Time Dynamic Shadow Algorithms Evan Closson CSE 528.
Stencil Shadows Garrett Weng. What are stencil shadows? Also known as shadow volumes Relies on use of the stencil buffer Create volumes of the shadows.
Ambient Occlusion Patrick Cozzi University of Pennsylvania CIS Fall 2013.
09/23/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Reflections Shadows Part 1 Stage 1 is in.
SHADOW CASTER CULLING FOR EFFICIENT SHADOW MAPPING JIŘÍ BITTNER 1 OLIVER MATTAUSCH 2 ARI SILVENNOINEN 3 MICHAEL WIMMER 2 1 CZECH TECHNICAL UNIVERSITY IN.
Shuen-Huei Guan Seminar in CMLab, NTU
A Photograph of two papers The Model: 2 papers – 8cm x 8cm and 5cm x 5cm The Camera – Simple pinhole – No focusing capability The Scene – Arrangements.
Reflective Shadow Mapping By: Mitchell Allen.
Game Programming (Mapping)
Austin Grosel & Aaron Ebbinghaus
© University of Wisconsin, CS559 Fall 2004
A Photograph of two papers
Introduction to Computer Graphics with WebGL
Static Image Filtering on Commodity Graphics Processors
Real-time Rendering Shadow Maps
UMBC Graphics for Games
Eraser Drawing Elements of art: Value, Line, Texture
Frame Buffer Applications
Presentation transcript:

CSM Scrolling An acceleration technique for the rendering of cascaded shadow maps

CSM Scrolling by: Mike CSM Caching by: Al Hastings Who am I? Mike Acton

Quick Background

From light POV, imagine whole world as single mega shadow texture

On any particular frame, a shadow map represents a 2D rectangular slice of that volume.

Cascade refers to multiple resolutions of that slice

Assumptions

Most of the time, the camera does not make radical changes across frames

Most geometry is relatively static across frames

Geometry which has changed from the previous frame can be identified

The light direction is relatively stable across frames

Results of spatial queries can be used in the same frame as shadow rendering

Geometry is divided into small* instances

Concept

Store “static” geometry from previous frame in cached map

Scroll cached map to account for change in camera view

Render additional “static” geometry into edges exposed by scrolling

Render newly “static” geometry in cached area

Copy map to use as final shadow map for current frame

Render non-static geometry into final shadow map for frame

CSM Caching

Assumption: Camera is not moving (much)

Store “static” geometry from previous frame in cached map

“static” = not moved for t time. (e.g. 5 seconds)

Each frame, render non- static geometry on to cached copy

Cache of previous frame shadow map

Invalid if…

Cache of previous frame shadow map Invalid if… Camera moves Camera FOV changes

Cache of previous frame shadow map Invalid if… Camera moves Camera FOV changes “Static” geometry moves

Render newly “static” geometry in cached area

Query for state of “static” geometry

Diff current “static” versus previous “static” query results

Dynamic occlusion system used

Create copy new map cache to use this frame

“Dynamic” geometry rendered to temporary shadow map

CSM Scrolling

Assumption: Camera moves a lot (but slowly*)

Insert in to CSM Caching: 1.Scroll map 2.Render into exposed edges

Scroll cached map to account for change in camera view

Sample shadow texels from previous frame

Scrolled area is clamp-to-border (color=1.0)

Observe: Camera motion is 3D

Observe: Camera motion is 3D Lateral scrolling Depth scrolling

Lateral scrolling Translation perpendicular to light rays UV translated by delta camera in light frame

Lateral scrolling Translation perpendicular to light rays Simple texture lookup (Point sampling)

Depth scrolling Translation parallel to light rays Additional handling needed for depth scroll

Depth scrolling Translation parallel to light rays Delta camera depth in light frame

Depth scrolling Translation parallel to light rays Offset all previous depths (scroll depth)

Depth scrolling Translation parallel to light rays Gotchas: Near plane Far plane

Depth scrolling Translation parallel to light rays Gotchas: Near plane Far plane Clamp to 0.0

Depth scrolling Translation parallel to light rays Gotchas: Near plane Far plane Problem 1.0 = buffer clear

Depth scrolling Translation parallel to light rays Gotchas: Near plane Far plane Problem 1.0 = buffer clear No offset

Render additional “static” geometry into edges exposed by scrolling

Scrolled in area divided into slabs (thin OBBs)

‘Static’ geom with overlapping bounding volume rendered

Observe: Coarseness of geometry relative to view

Lots of overlapping volumes

Very few overlapping volumes

Jagged pattern not relevant: Using square geom tiles (Aside)

Render newly “static” geometry in cached area

Copy map to use as final shadow map for current frame

CSM Scrolling

Each map (512x512) PS3/360

Another view…

Wrap up

Straightforward addition to CSM Caching

Key: Like 2D bitmap scrolling

Do not render ~70% of ‘static’ geometry in to CSM

Detailed paper: bit.ly/QIoBr9