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

Similar documents
Soft Shadow Volumes for Ray Tracing with Frustum Shooting

Soft Shadow Volumes for Ray Tracing

Advanced Shading I: Shadow Rasterization Techniques

Computer Graphics 10 - Shadows

Shadow Rendering EDA101 Advanced Shading and Rendering

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

Today. Anti-aliasing Surface Parametrization Soft Shadows Global Illumination. Exercise 2. Path Tracing Radiosity

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

Computer Graphics. Shadows

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

Shadows. COMP 575/770 Spring 2013

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

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

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

Some Thoughts on Visibility

Creating soft shadows

An Improved Physically-Based Soft Shadow Volume Algorithm

An Optimized Soft Shadow Volume Algorithm with Real-Time Performance

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

COMP371 COMPUTER GRAPHICS

Sung-Eui Yoon ( 윤성의 )

Lecture 11: Ray tracing (cont.)

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

Interpolation using scanline algorithm

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

Soft Shadows: Heckbert & Herf. Soft shadows. Heckbert & Herf Soft Shadows. Cornell University CS 569: Interactive Computer Graphics.

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

SHADOW RENDERING TECHNIQUES: HARD AND SOFT

Photorealism vs. Non-Photorealism in Computer Graphics

Computer Graphics 1. Chapter 7 (June 17th, 2010, 2-4pm): Shading and rendering. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2010

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

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

Real-Time Volume Shadow using Visible-Non Visible Algorithm

Global Illumination. CSCI 420 Computer Graphics Lecture 18. BRDFs Raytracing and Radiosity Subsurface Scattering Photon Mapping [Ch

TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students)

Global Illumination. Global Illumination. Direct Illumination vs. Global Illumination. Indirect Illumination. Soft Shadows.

A Geometry-based Soft Shadow Volume Algorithm using Graphics Hardware

Global Illumination. Global Illumination. Direct Illumination vs. Global Illumination. Indirect Illumination. Soft Shadows.

High Quality Adaptive Soft Shadow Mapping

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

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

The Rendering Equation & Monte Carlo Ray Tracing

Approximate Soft Shadows on Arbitrary Surfaces using Penumbra Wedges

03 RENDERING PART TWO

CPSC GLOBAL ILLUMINATION

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

Fondamenti di Grafica 3D The Rasterization Pipeline.

Hierarchical Penumbra Casting

CS770/870 Spring 2017 Radiosity

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

CS-184: Computer Graphics. Today. Lecture #16: Global Illumination. Sunday, November 8, 2009

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

Visible-Surface Detection Methods. Chapter? Intro. to Computer Graphics Spring 2008, Y. G. Shin

Graphics Pipeline & Rasterization. CS-C3100 Fall 2017 Lehtinen

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

CS770/870 Spring 2017 Radiosity

Illumination Algorithms

Soft Shadow Maps. Soft Shadow Maps for Linear Lights

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

Anti-aliased and accelerated ray tracing. University of Texas at Austin CS384G - Computer Graphics

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

Local vs. Global Illumination & Radiosity

Occluder Simplification using Planar Sections

Split-Plane Shadow Volumes

Mach band effect. The Mach band effect increases the visual unpleasant representation of curved surface using flat shading.

CS451 Texturing 4. Bump mapping continued. Jyh-Ming Lien Department of Computer SCience George Mason University. From Martin Mittring,

Real-Time Shadows. André Offringa Timo Laman

Computergrafik. Matthias Zwicker. Herbst 2010

Shadow Algorithms. CSE 781 Winter Han-Wei Shen

The Rendering Equation and Path Tracing

Lighting. To do. Course Outline. This Lecture. Continue to work on ray programming assignment Start thinking about final project

EECS 487: Interactive Computer Graphics

Dynamic Ambient Occlusion and Indirect Lighting. Michael Bunnell NVIDIA Corporation

Hello, Thanks for the introduction

Simpler Soft Shadow Mapping Lee Salzman September 20, 2007

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

Speeding up your game

COMPUTER GRAPHICS COURSE. Rendering Pipelines

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

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

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

Anti-aliased and accelerated ray tracing. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

Intro to Ray-Tracing & Ray-Surface Acceleration

Anti-aliasing and Monte Carlo Path Tracing

MIT Monte-Carlo Ray Tracing. MIT EECS 6.837, Cutler and Durand 1

Illumination and Geometry Techniques. Karljohan Lundin Palmerius

Filtering theory: Battling Aliasing with Antialiasing. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology

SDK White Paper. Soft Shadows

Photorealism: Ray Tracing

Computer Graphics. Si Lu. Fall uter_graphics.htm 11/22/2017

Real-Time Voxelization for Global Illumination

Effects needed for Realism. Computer Graphics (Fall 2008) Ray Tracing. Ray Tracing: History. Outline

Computer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Soft Shadow Computation using Precomputed Line Space Visibility Information

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

Schedule. MIT Monte-Carlo Ray Tracing. Radiosity. Review of last week? Limitations of radiosity. Radiosity

global light baking software

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

Chapter 11 Global Illumination. Part 1 Ray Tracing. Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11.

Adaptive Supersampling in Object Space Using Pyramidal Rays

Transcription:

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 techniques Silhouette Edge / Wedges / 3 SS Rules Acceleration Structure Light Integration Results Limits and Conclusion 2

Why Soft Shadow? Physically not possible to build a point light source All light sources in real world are area lights Area light sources produce soft shadow We expect soft shadow for real looking renderings 3

Why Soft Shadows Point light Area light one more example 4

Area Light and Soft Shadows Light source Light source Shadow caster Shadow caster Soft Shadow Volume Incoming light intensity is proportional to visible light area 5

Methods for Soft Shadows Stochastic Ray Tracing Use many shadow ray to sample light source Radiosity Algorithm Visibility of light source defined on a patch level Tracing thick rays Use pyramid beam, intersecting with shadow casters Soft Shadow volumes Projection of shadow caster to light source Our method pixel 6

Soft Shadow Volumes Use discrete light samples to integrate Project occluders on to the light source To speed it up only project relevant edges penumbra wedges Relevant Edges 7

3 Conditions for relevant edges We have to project an edge to the light source to calculate shadow for point p when: 1. Edge is a silhouette edge from some point on the light source 2. Edge overlaps light source viewed from point p 3. Edge is a silhouette edge from p 8

The Algorithm for every edge: (pre-compute) yes Is E a silhouette for LS? Generate wedge store wedge footprint to hemicube for every P: (ray tracing) Project point P to hemicube For every wedge(edge) get wedge list from hemicube Is P inside the wedge? yes Is E a silhouette for P? yes Project E to light source Update Light Samples Cast a ray from P to LS Ray not occluded? yes Return number of visible light samples 9

1. E is silhouette for light source Edge are Silhouette edges from the light only if light source does not lay entirely in subspace -- or ++ p 1 p 2 Connected triangles (mesh, object) 10

2. Edge overlaps light source Edge overlaps light source only for points inside shadow wedge Light source Shadow caster wedge 11

Acceleration Structure for Condition 2 Pre compute foot prints of wedges (from edges passed Test1) before rendering of frame Store in a hemicube grid a list of wedges (conservative) Hemicube bottom 12

Test for Condition 2 Find all possible wedges by projecting point p from mid of light source to the hemicube This list of wedges and corresponding edges is conservative Test if p is inside the wedge 13

Test for Condition 3 Next we test if edges returned from the hemicube data structure are silhouette edges from point P This is true if one (of two) triangle connected to the edge is front facing when viewed from point p If there is only one triangle -> edge is always silhouette E P 14

The Algorithm for every edge E: (precompute) yes Is E a silhouette for LS? Generate wedge store wedge footprint to hemicube for every point P: (ray tracing) Project point P to hemicube For every wedge(edge) get wedge list from hemicube Is P inside wedge? yes Is E a silhouette for P? yes Project E to light source Update Light Samples Cast a ray from P to LS Ray not occluded? yes Return number of visible light samples 15

Integration: Projection We add an orientation to each projected edge so that the right side is the side where the occluder is located 16

Integration: Depth Complexity Function Depth complexity Function returns the number of objects in front of the light source The projected edges are changing events of depth complexity function 0 1 1 0 1 2 0 1 17 Light source as seen from p Depth complexity function

Integration Rules Build relative depth complexity function by using a counter at each light sample and the following rules: 18

Integration Step by Step Each edge can be processed separately 0-1 10 +11 1-1 19

We use only one shadow ray Cast a shadow ray to a point with smallest relative depth To check if light area is visible finding integration constant ray ray 20

The Algorithm for every edge: (precompute) yes Is E a silhouette for LS? Generate wedge store wedge footprint to hemicube for every P: (ray tracing) Project point P to hemicube For every wedge(edge) get wedge list from hemicube Is P inside wedge? yes Is E a silhouette for P? yes Project E to light source Update Light Samples Cast a ray from P to LS Ray not occluded? yes Return number of visible light samples 21

Results 22

Limits Objects have to be triangle meshes => NURBS not directly supported Only planar light sources Inefficient for many unconnected triangles Speed depends on light source size 23

Future work Maybe use graphics hardware (GPU,RPU) Maybe possible to speed it further up for series of nearly identical frames (movies) BRDF of light source 24

Discussion Pros easy to understand and implement Significant speedup Cons Still slow (not real-time, games ) Only shown for rectangular light sources Fuzzy explanations how to build wedge footprints 25