Interactive Volumetric Shadows in Participating Media with Single-Scattering

Similar documents
Importance Sampling of Area Lights in Participating Media

Applications of Explicit Early-Z Culling

Enhancing Traditional Rasterization Graphics with Ray Tracing. March 2015

The Traditional Graphics Pipeline

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

Rendering: Reality. Eye acts as pinhole camera. Photons from light hit objects

FRUSTUM-TRACED RASTER SHADOWS: REVISITING IRREGULAR Z-BUFFERS

REYES REYES REYES. Goals of REYES. REYES Design Principles

Applications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research

The Traditional Graphics Pipeline

CS 354R: Computer Game Technology

The Traditional Graphics Pipeline

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

Ray Tracing. Cornell CS4620/5620 Fall 2012 Lecture Kavita Bala 1 (with previous instructors James/Marschner)

FRUSTUM-TRACED RASTER SHADOWS: REVISITING IRREGULAR Z-BUFFERS

These are the annotated slides of the real time part of the Many Lights Rendering

Here s the general problem we want to solve efficiently: Given a light and a set of pixels in view space, resolve occlusion between each pixel and

Shadows in the graphics pipeline

Computer Graphics Shadow Algorithms

Light scattering is an important natural phenomenon, which arises when the light interacts with the particles distributed in the media.

Specialized Acceleration Structures for Ray-Tracing. Warren Hunt

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

NVIDIA Case Studies:

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

Deferred Rendering Due: Wednesday November 15 at 10pm

CS354R: Computer Game Technology

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

Distributed Ray Tracing

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

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

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

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

NVIDIA RESEARCH TALK: THE MAGIC BEHIND GAMEWORKS HYBRID FRUSTUM TRACED SHADOWS

Real-Time Universal Capture Facial Animation with GPU Skin Rendering

There are many kinds of surface shaders, from those that affect basic surface color, to ones that apply bitmap textures and displacement.

Announcements. Written Assignment 2 out (due March 8) Computer Graphics

Shadows for Many Lights sounds like it might mean something, but In fact it can mean very different things, that require very different solutions.

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

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

Ray Tracing. CSCI 420 Computer Graphics Lecture 15. Ray Casting Shadow Rays Reflection and Transmission [Ch ]

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

To Do. Real-Time High Quality Rendering. Motivation for Lecture. Monte Carlo Path Tracing. Monte Carlo Path Tracing. Monte Carlo Path Tracing

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

Practical Implementation of Light Scattering Effects Using Epipolar Sampling and 1D Min/Max Binary Trees

Photon Maps. The photon map stores the lighting information on points or photons in 3D space ( on /near 2D surfaces)

Advanced Computer Graphics CS 563: Real Time Volumetric Shadows using 1D Min Max Mipmaps

Rendering Part I (Basics & Ray tracing) Lecture 25 December 1, 2015

Distribution Ray Tracing

Shadow Rendering EDA101 Advanced Shading and Rendering

Render-To-Texture Caching. D. Sim Dietrich Jr.

Dynamic Ambient Occlusion and Indirect Lighting. Michael Bunnell NVIDIA Corporation

Kinetic BV Hierarchies and Collision Detection

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University

Sung-Eui Yoon ( 윤성의 )

Consider 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

Motivation. Culling Don t draw what you can t see! What can t we see? Low-level Culling

Global Illumination CS334. Daniel G. Aliaga Department of Computer Science Purdue University

Anti-aliasing and Monte Carlo Path Tracing. Brian Curless CSE 457 Autumn 2017

GUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON

After the release of Maxwell in September last year, a number of press articles appeared that describe VXGI simply as a technology to improve

Real-Time Shadows. André Offringa Timo Laman

Ray Tracing. Computer Graphics CMU /15-662, Fall 2016

Volumetric Particle Shadows. Simon Green

Simpler Soft Shadow Mapping Lee Salzman September 20, 2007

Global Rendering. Ingela Nyström 1. Effects needed for realism. The Rendering Equation. Local vs global rendering. Light-material interaction

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015

Creating soft shadows

Discussion. Smoothness of Indirect Lighting. History and Outline. Irradiance Calculation. Irradiance Caching. Advanced Computer Graphics (Spring 2013)

Scalable many-light methods

Advanced Computer Graphics CS 563: Screen Space GI Techniques: Real Time

In this part of the course, I will discuss various approaches for generating VPLs where they are most needed for a given camera view.

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

Accelerating Ray Tracing

Soft Shadow Maps. Soft Shadow Maps for Linear Lights

Volume Rendering - Introduction. Markus Hadwiger Visual Computing Center King Abdullah University of Science and Technology

Topic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping

EECS 487: Interactive Computer Graphics

A Study of Real-Time Lighting Effects A THESIS SUBMITTED TO THE FACULTY OF THE GRADUATE SCHOOL OF THE UNIVERSITY OF MINNESOTA BY

Topic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized

Volume Graphics Introduction

Review. Stephen J. Guy

Corona Sky Corona Sun Corona Light Create Camera About

Practical Techniques for Ray Tracing in Games. Gareth Morgan (Imagination Technologies) Aras Pranckevičius (Unity Technologies) March, 2014

Topic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural

Philipp Slusallek Karol Myszkowski. Realistic Image Synthesis SS18 Instant Global Illumination

Anti-aliasing and Monte Carlo Path Tracing. Brian Curless CSE 557 Autumn 2017

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

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

Visible Surface Detection. (Chapt. 15 in FVD, Chapt. 13 in Hearn & Baker)

Single Scattering in Refractive Media with Triangle Mesh Boundaries

Anti-aliasing and Monte Carlo Path Tracing

Interactive Methods in Scientific Visualization

CS559 Computer Graphics Fall 2015

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

Computer Graphics. Bing-Yu Chen National Taiwan University

Choosing the Right Algorithm & Guiding

Shadow Techniques. Sim Dietrich NVIDIA Corporation

Global Illumination. COMP 575/770 Spring 2013

MITOCW MIT6_172_F10_lec18_300k-mp4

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo

Transcription:

Interactive Volumetric Shadows in Participating Media with Single-Scattering Chris Wyman University of Iowa Shaun Ramsey Washington College IEEE Symposium on Interactive Ray Tracing 2008

What is Volumetric Scattering? Creative Commons Image: Mila Zinkova

What is Volumetric Scattering? Light interacts with particles Absorption, emission, scattering Arbitrary number of interactions Each scatter diffuses illumination Many media well approximated with only 1 bounce Simplifies computation

Previous Work (Generally) offline rendering techniques: Random walk (e.g., [Rushmeier 1994]) Ray marching (e.g., [Kajiya and Von Herzen 1984]) Photon map (e.g., [Jarosz 2008]) Interactive scattering models: Single-scattering (e.g., [Sun 05], [Hoffman 03]) Multi-scattering (e.g., [Hegeman05]) Interactive rendering for volume shadows: Volume slicing and ray marching (e.g., [Imagire07]) Shadow volumes (e.g., [Biri06], [James03])

Real-time Rendering Challenges Volume slicing Combine scattering from planes parallel to image Sampling locations same for all pixels Forces tradeoff between: Wasted samples for some pixels Poor sampling around shadow boundaries for others

Real-time Rendering Challenges Ray marching Loop over small steps for each ray Still aliases shadow boundaries if poorly sampled Independent samples possible But how? Adaptive? Interleaved? Importance? How efficient, esp. in streaming context?

Real-time Rendering Challenges Shadow volumes Sample only at shadow boundaries no aliasing Knows nothing about light color Requires ordering of polygons Disambiguate cases, find front / back pairs Not all shadow polygons matter

Our Motivation Not: Merely accelerate or improve brute force ray tracing Interactive volumetric shadows Reduce aliasing along shadow boundaries Use more intelligent sampling Fewer wasted samples Reduce coherent samples, esp. if they introduce banding Sample light color and visibility separately Use geometry info to pick samples! (i.e., a hybrid)

Algorithm Overview Unknown light visibility, so sample using ray tracing Illuminated Shadow volume approach would say the first segment shadowed, second lit, third shadowed Illuminated

Basic Hybrid Algorithm 1. Render shadow map Used instead of shadow rays when ray marching 2. Compute shadow volumes Front & back bound region of varying visibility 3. Render scene without volume media 4. Compute scattering at every pixel Preintegrated scattering for lit intervals (e.g., [Sun05]) Ray march to determine visibility between shadow volumes No ray marching for pixels w/o shadow volumes 5. Combine into final image

Basic Hybrid Discussion Pluses: Avoid ray marching in all pixels Eliminate aliasing at front (and last) shadow boundary Ray march smaller volume per ray fewer samples Uniform sampling works well in reduced volume Minuses: Assumes constant color light Assumes point light source May not reduce sampling in all scenes

Adding Textured Spotlights Spot Light Field-of-View Not Illuminated Not Illuminated Varying Light Color Varying Light Color And Visibility Varying Light Color

Textured Spotlight Hybrid 1. Render shadow map 2. Compute light frustum 3. Compute front & back shadow volume quads 4. Render scene without volume media 5. Compute scattering at every pixel Where ray misses light frustum, scattering = 0 Where no shadows, march back to front in frustum Where shadows, march in 3 segments Fully lit, between shadow polygons, fully lit 6. Combine into final image

Sampling Issues Both lit & shadowed segments need samples But sampling rates need not be the same! Visibility has sharp edges More samples Lighting tends to get blurred by media Especially with multiple scattering Can prefilter lighting, e.g., mipmap Use fewer samples

Sampling Issues Illumination samples add complications Sampling plane discontinuities seen in image Align sample planes between view & light frusta Similar to [Kniss03]

Other Optimizations Compute scattering @ lower resolution Blurring effect of participating media Upsample during final compositing Use a bilateral filter (similar to [Sloan07]) Simplified model for shadow volume extraction Tradeoff between quality and speed Aliasing along shadows with low poly-count models More expensive extraction with higher poly-counts We mainly use full-resolution models

Results (Runs entirely on nvidia 8800 GTX) 7.4 ms (no media) 88.5 / 16.2 ms (brute ray march) 21.1 / 11.4 ms (simple hybrid) 31.0 / 12.3 ms (texture hybrid)

Results Our Results 90.0 fps 86.5 fps 81.5 fps 67.2 fps 46.8 fps 10 samples 50 samples 100 samples 300 samples 800 samples 92.9 fps Ray Marching 85.2 fps 77.6 fps 57.4 fps 34.8 fps

60.2 fps Texture Hybrid 61.0 fps Ray Marching (Equal Speed) 27.1 fps Ray Marching (Equal Quality)

Video

Limitations Difficult cases: Mostly shadowed scenes Solution: March inside lit region Frequent thin shadows Possible solution: Combine visibility & light into texture Only nearby scattering is clearly distinguishable Area lights not handled Use penumbra wedges instead of shadow volumes?

Conclusions A hybrid algorithm for volumetric shadows Combines ray marching and shadow volumes Significantly reduces visibility samples needed Separate visibility and illumination samples Can sample them at different rates Future work Shadow volume reconstruction Eliminate extra shadow polys & further reduces samples Build acceleration structure of shadow polys Penumbra wedges for area light sources Shadow volume culling techniques?

Questions? Our Hybrid: 40.9 fps No Media: 57.3 fps

Extra Slides

Ray Traced

Fill Rate an Issue? Not really Shadow volumes take lots of fill rate But have to touch all those pixels anyways Can get all data in 1 pass thru shadow volumes Depth test eliminates lots of work Doesn t usually happen with surface shadows Yes, it takes fill rate Made up by eliminating samples Except in very simple scenes

More Extensive Timings