Parallax-Interpolated Shadow Map Occlusion

Slides:



Advertisements
Similar presentations
Real-Time Rendering 靜宜大學資工研究所 蔡奇偉副教授 2010©.
Advertisements

Exploration of advanced lighting and shading techniques
Ray Tracing Depth Maps Using Precomputed Edge Tables Kevin Egan Rhythm & Hues Studios.
An Optimized Soft Shadow Volume Algorithm with Real-Time Performance Ulf Assarsson 1, Michael Dougherty 2, Michael Mounier 2, and Tomas Akenine-Möller.
CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam © 1/16 Deferred Lighting Deferred Lighting – 11/18/2014.
Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
Exploration of bump, parallax, relief and displacement mapping
Interactive Rendering using the Render Cache Bruce Walter, George Drettakis iMAGIS*-GRAVIR/IMAG-INRIA Steven Parker University of Utah *iMAGIS is a joint.
Week 11 - Wednesday.  Image based effects  Skyboxes  Lightfields  Sprites  Billboards  Particle systems.
Render Cache John Tran CS851 - Interactive Ray Tracing February 5, 2003.
3D Graphics Rendering and Terrain Modeling
Photon Mapping. How did I use it 10 years ago? Why might you want to use it tomorrow?
Advanced Effects CMSC 435/634. General Approach Ray Tracing – Shoot more rays Rasterization – Render more images.
High-Quality Parallel Depth-of- Field Using Line Samples Stanley Tzeng, Anjul Patney, Andrew Davidson, Mohamed S. Ebeida, Scott A. Mitchell, John D. Owens.
Visibility Culling using Hierarchical Occlusion Maps Hansong Zhang, Dinesh Manocha, Tom Hudson, Kenneth E. Hoff III Presented by: Chris Wassenius.
Real-Time Rendering SPEACIAL EFFECTS Lecture 03 Marina Gavrilova.
1Notes  Assignment 1 is out, due October 12  Inverse Kinematics  Evaluating Catmull-Rom splines for motion curves  Wednesday: may be late (will get.
Final Gathering on GPU Toshiya Hachisuka University of Tokyo Introduction Producing global illumination image without any noise.
Penumbra Maps: Approximate Soft Shadows in Real-Time Chris Wyman and Charles Hansen University of Utah Speaker: Alvin Date: 9/29/2003 EUROGRAPH 2003.
Creating soft shadows Computer Graphics methods Submitted by: Zusman Dimitry.
CIS 681 Distributed Ray Tracing. CIS 681 Anti-Aliasing Graphics as signal processing –Scene description: continuous signal –Sample –digital representation.
Basic Ray Tracing CMSC 435/634. Visibility Problem Rendering: converting a model to an image Visibility: deciding which objects (or parts) will appear.
Johannes Kopf Billy Chen Richard Szeliski Michael Cohen Microsoft Research Microsoft Microsoft Research Microsoft Research.
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
Post-rendering Cel Shading & Bloom Effect
Computer Graphics Shadows
09/18/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Bump Mapping Multi-pass algorithms.
Deep Screen Space Oliver Nalbach, Tobias Ritschel, Hans-Peter Seidel.
Ray Tracing Primer Ref: SIGGRAPH HyperGraphHyperGraph.
Computer Graphics Inf4/MSc Computer Graphics Lecture 9 Antialiasing, Texture Mapping.
Ray Tracing and Photon Mapping on GPUs Tim PurcellStanford / NVIDIA.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Antialiasing CAP4730: Computational Structures in Computer Graphics.
Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18,
Week 2 - Friday.  What did we talk about last time?  Graphics rendering pipeline  Geometry Stage.
Emerging Technologies for Games Alpha Sorting and “Soft” Particles CO3303 Week 15.
Penumbra Deep Shadow Maps Jean-Francois St-Amour, LIGUM – Université de Montreal Eric Paquette, LESIA - ETS Pierre Poulin, LIGUM – Université de Montreal.
1 Shadows (2) ©Anthony Steed Overview n Shadows – Umbra Recap n Penumbra Analytical v. Sampling n Analytical Aspect graphs Discontinuity meshing.
Basic Ray Tracing CMSC 435/634. Visibility Problem Rendering: converting a model to an image Visibility: deciding which objects (or parts) will appear.
Computer Graphics The Rendering Pipeline - Review CO2409 Computer Graphics Week 15.
Rendering Fake Soft Shadows with Smoothies Eric Chan Massachusetts Institute of Technology.
Sample Based Visibility for Soft Shadows using Alias-free Shadow Maps Erik Sintorn – Ulf Assarsson – uffe.
CSE 681 DISTRIBUTED RAY TRACING some implementation notes.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
CS 325 Introduction to Computer Graphics 03 / 29 / 2010 Instructor: Michael Eckmann.
Pixmotor: A Pixel Motion Integrator Ivan Neulander Rhythm & Hues.
Global Illumination. Local Illumination  the GPU pipeline is designed for local illumination  only the surface data at the visible point is needed to.
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
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.
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
Soft Shadow Volumes for Ray Tracing
Real-Time Dynamic Shadow Algorithms Evan Closson CSE 528.
Shadows David Luebke University of Virginia. Shadows An important visual cue, traditionally hard to do in real-time rendering Outline: –Notation –Planar.
Caustics Triangles on the GPU Umenhoffer Tamás Gustavo Patow Szirmay-Kalos László.
Ambient Occlusion Patrick Cozzi University of Pennsylvania CIS Fall 2013.
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
Shuen-Huei Guan Seminar in CMLab, NTU
Real-Time Soft Shadows with Adaptive Light Source Sampling
Photorealistic Rendering vs. Interactive 3D Graphics
Week 2 - Friday CS361.
Deferred Lighting.
3D Graphics Rendering PPT By Ricardo Veguilla.
Ravish Mehra Subodh Kumar IIT Delhi IIT Delhi
© University of Wisconsin, CS559 Fall 2004
(c) 2002 University of Wisconsin
Distributed Ray Tracing
UMBC Graphics for Games
Distributed Ray Tracing
Chapter XV Shadow Mapping
Smoother Subsurface Scattering
Presentation transcript:

Parallax-Interpolated Shadow Map Occlusion Pismo Parallax-Interpolated Shadow Map Occlusion Ivan Neulander

Introduction: Soft Shadows Problem: Render soft shadows from an area light source Light source can be any polygonal model Want fast solution, of sufficient quality for visual effects Want speed vs. quality control Area Light Penumbra Umbra

Introduction: Soft Shadows Some Solutions: Ray tracing Very high quality, physically accurate but usually slow “Shadow Map” ray tracing: project ray to map Lower quality, relatively fast Samples shadow map many times per ray Soft Shadows by Ray Tracing Multilayer Transparent Shadow Maps: Xie, Tabellion, Pearce Efficient Image-Based Methods for Rendering Soft Shadows: Agarwala et al Use many shadow maps: overlapping shadows Fast at low quality but very slow at high Use many shadow maps: Pismo Almost as fast as (c), but much higher quality Samples shadow map few times per ray 128 Shadow Maps Pismo with 4 Shadow Maps 64 Shadow Maps 256 Shadow Maps 16 Shadow Maps 4 Shadow Maps 8 Shadow Maps 32 Shadow Maps

Soft Shadow Example Area Light

Hard Shadows from 3 Point Lights with Shadow Maps

Pismo Shadow Estimation: Problem Problem: Estimate shadow ray PL, extending from P to arbitrary point L on area light Use the 3 shadow maps rendered from the triangle vertices, all fixated on a common focal point F P L

Pismo Shadow Estimation: Solution Solution: 1) Compute position of putative occluder O Displace P toward L by distance d How to compute d ? P d O L

Pismo Shadow Estimation: Solution Shadow Map #1 Solution: 2) Project O into screen space of Shadow Map #1 Use depth value at this pixel to compute ray occlusion Using O instead of P accounts for parallax shift between view from Shadow Map camera and view from L P d O L

Pismo Shadow Estimation: Solution Shadow Map #2 Likewise, project O into screen space of Shadow Map #2 P d O L

Pismo Shadow Estimation: Solution Shadow Map #3 Likewise, project O into screen space of Shadow Map #3 P d O L

Pismo Shadow Estimation: Solution Blending the Three Shadow Maps Barycentrically blend the 3 shadow maps’ occlusion results to get the final occlusion estimate for the shadow ray PL Uses 3 shadow map queries per ray P d O L

Pismo Shadow Estimation: Solution Compute Multiple Shadow Rays Repeat the process for multiple shadow rays between P and other light positions on the area light P

Estimating Initial Depth d: Preprocess Shadow Maps For each Shadow Map, we generate a Bled Shadow Map: an image-processed copy where we bleed out silhouette pixels apply a slight blur One-time preprocess per shadow map Regular Shadow Map stores multiple occluder depths per pixel (layered) Bled Shadow Map stores max depth only

Estimating Initial Depth d: Compute d1 Project P to a pixel in Bled Shadow Map #1 If queried depth is less than depth from P to L, subtract and we’re done; else, compute following average: Sample multiple jittered pixels in (layered) Shadow Map, centered about original pixel For each sample: If queried depth is less than depth from P to L, add difference to average Computed once per shading sample (not per ray) P d1 L

Estimating Initial Depth d: Compute d2 Project P to a pixel in Bled Shadow Map #2 Estimate value for d2 as above Computed once per shading sample P d2 L

Estimating Initial Depth d: Compute d3 Project P to a pixel in Bled Shadow Map #3 Estimate value for d3 as above Computed once per shading sample P d3 L

Estimating Initial Depth d: Blend d1, d2, d3 Barycentrically blend d1,d2,d3 to get d for given L Use blended d value to compute O as shown Computed per-ray (but no shadow map queries) P d L

Depth Compensation: Problem Depth from L to P (LP) differs from depth from Shadow Map D to P (DP) Need to compensate depth estimates that use D in place of L P D DP LP L

Depth Compensation: Solution Adjust initial estimates d1,d2,d3 by LP – DP Blend d1,d2,d3 and compute O Adjust depth queried from D (based on O) by LO – DO D (Shadow Map) F (Focal Point) L LO LP O P DO DP

Contact Shadows Problem: Pismo requires a higher shadow bias than regular shadowing to avoid self-shadow artifacts This attenuates crisp short-range shadows Solution: Compute contact shadows at close range and blend them in with Pismo Shadows

Contact Shadows: Implementation A Contact Shadow: is based on hard shadows from discrete shadow maps consists of 2 or more such shadows that overlap fades out beyond Pismo shadow bias distance is blended with Pismo shadow over bias distance blend =

Results: Area Light with 4 Shadow Maps Pismo Off Pismo On 128 rays / pixel Area Light

Results: Area Light with 5 Shadow Maps Pismo Off Pismo On 128 rays / pixel Area Light

Performance: Pismo vs. Ray Tracer 1600x1200 resolution 128 rays / pixel Athlon64 @ 2800 MHz Performance: Pismo vs. Ray Tracer Pismo@4 5 DMs: 33 s Final: 263 s Total: 296 s Pismo@5 5 DMs: 42 s Final: 246 s Total: 288 s Ray-Traced Total: 1073 s

Quality: Large Area Light Ray Tracer 9 Blurred Shadows 4 Blurred Shadows 5 Blurred Shadows 9 Pismo Shadows 4 Pismo Shadows 5 Pismo Shadows 4 Hard Shadows 5 Hard Shadows 9 Hard Shadows

4 Hard Shadows 5 Hard Shadows 9 Hard Shadows 9 Blurred Shadows 4 Blurred Shadows 5 Blurred Shadows 9 Pismo Shadows 4 Pismo Shadows 5 Pismo Shadows

Quality: Pismo@4 vs. Ray Tracer Pixel Difference Ray Tracer

Quality: Pismo@5 vs. Ray Tracer Pixel Difference Ray Tracer

Quality: Pismo@9 vs. Ray Tracer Pixel Difference Ray Tracer

Conclusions Pismo is a useful enhancement to rendering soft shadows with multiple shadow maps Conceptually simple & easy to implement integrates easily into an existing rendering pipeline Provides an intuitive control over speed/quality Creation of multiple shadow maps easily accelerated: Multiprocessing GPU rendering Morphing

Future Work Accelerate creation of shadow maps Automate tessellation of light polygons Improve blending of contact shadows Parallelize Pismo sampling

Ivan Neulander www.rhythm.com/~ivan/pubs.html ivan@rhythm.com