Sample Based Visibility for Soft Shadows using Alias-free Shadow Maps Erik Sintorn – Ulf Assarsson – uffe.

Slides:



Advertisements
Similar presentations
Exploration of advanced lighting and shading techniques
Advertisements

An Optimized Soft Shadow Volume Algorithm with Real-Time Performance Ulf Assarsson 1, Michael Dougherty 2, Michael Mounier 2, and Tomas Akenine-Möller.
Technische Universität München Computer Graphics SS 2014 Graphics Effects Rüdiger Westermann Lehrstuhl für Computer Graphik und Visualisierung.
Parallax-Interpolated Shadow Map Occlusion
Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
Graphics Pipeline.
Soft Particles Petter Börjesson, Mattias Thell. Particle Effects Smoke, fire, explosions, clouds, etc Camera-aligned 2D quads – Gives the illusion of.
Computer Graphics methods
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.
3D Graphics Rendering and Terrain Modeling
Two Methods for Fast Ray-Cast Ambient Occlusion Samuli Laine and Tero Karras NVIDIA Research.
SIGGRAPH ASIA 2011 Preview seminar Shading and Shadows.
Real-Time Rendering SPEACIAL EFFECTS Lecture 03 Marina Gavrilova.
Real-Time Rendering Paper Presentation Logarithmic Perspective Shadow Maps Brandon Lloyd Naga Govindaraju Cory Quammen Steve Molnar Dinesh Manocha Slides.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
CGDD 4003 THE MASSIVE FIELD OF COMPUTER GRAPHICS.
Shadow Silhouette Maps Pradeep Sen, Mike Cammarano, Pat Hanrahan Stanford University.
A Real-Time Soft Shadow Volume Algorithm DTU Vision days Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Sweden
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Soft Shadows using Hardware Cameras Kyle Moore COMP 870.
A Geometry-based Soft Shadow Volume Algorithm using Graphics Hardware Speaker: Alvin Date:2003/7/23 SIGGRAPH 2003 Ulf Assarsson Tomas Akenine-Moller.
Skin Rendering GPU Graphics Gary J. Katz University of Pennsylvania CIS 665 Adapted from David Gosselin’s Power Point and article, Real-time skin rendering,
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
Approximate Soft Shadows on Arbitrary Surfaces using Penumbra Wedges Tomas Akenine-Möller Ulf Assarsson Department of Computer Engineering, Chalmers University.
LOGO Shadows On the GPU Presented by Lukai Lan. LOGO Contents  Introductions  Recent Shadow Maps  What we are NOT covering today  Perspective Shadow.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Practical Logarithmic Shadow Maps Brandon LloydUNC-CH Naga GovindarajuUNC-CH David TuftUNC-CH Steve MolnarNvidia.
Computer Graphics Shadows
1 A Hierarchical Shadow Volume Algorithm Timo Aila 1,2 Tomas Akenine-Möller 3 1 Helsinki University of Technology 2 Hybrid Graphics 3 Lund University.
Shadows Computer Graphics. Shadows Shadows Extended light sources produce penumbras In real-time, we only use point light sources –Extended light sources.
Erdem Alpay Ala Nawaiseh. Why Shadows? Real world has shadows More control of the game’s feel  dramatic effects  spooky effects Without shadows the.
Computer Graphics Mirror and Shadows
Shadow Algorithms Ikrima Elhassan.
Ray Tracing Primer Ref: SIGGRAPH HyperGraphHyperGraph.
Voxelized Shadow Volumes Chris Wyman Department of Computer Science University of Iowa High Performance Graphics 2011.
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.
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 2 SPRING 2015 DR. MICHAEL J. REALE.
Week 2 - Friday.  What did we talk about last time?  Graphics rendering pipeline  Geometry Stage.
CHAPTER 11 Shadows © 2008 Cengage Learning EMEA. LEARNING OBJECTIVES In this chapter you will learn about: – –Shadow rendering algorithms – –Blinn’s shadow.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Computer Graphics 2 Lecture 7: Texture Mapping Benjamin Mora 1 University of Wales Swansea Pr. Min Chen Dr. Benjamin Mora.
Rendering Fake Soft Shadows with Smoothies Eric Chan Massachusetts Institute of Technology.
Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,
1 3D API OPENGL ES v1.0 Owned by Silicon Graphics (SGL) Control was then transferred to Khronos Group Introduction.
Hierarchical Penumbra Casting Samuli Laine Timo Aila Helsinki University of Technology Hybrid Graphics, Ltd.
09/16/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Environment mapping Light mapping Project Goals for Stage 1.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Global Illumination. Local Illumination  the GPU pipeline is designed for local illumination  only the surface data at the visible point is needed to.
Ray Tracing using Programmable Graphics Hardware
Soft Shadow Volumes for Ray Tracing
What are shaders? In the field of computer graphics, a shader is a computer program that runs on the graphics processing unit(GPU) and is used to do shading.
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.
1 Shadow Rendering Techniques: Hard and Soft Author: Jamiur Rahman Supervisor: Mushfiqur Rouf Department of CSE BRAC University.
Caustics Triangles on the GPU Umenhoffer Tamás Gustavo Patow Szirmay-Kalos László.
1 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Shadows & occlusion  Shadow - occlusion duality  Floor shadows.
09/23/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Reflections Shadows Part 1 Stage 1 is in.
Shuen-Huei Guan Seminar in CMLab, NTU
CENG 477 Introduction to Computer Graphics
Real-Time Soft Shadows with Adaptive Light Source Sampling
Robust Shadow Maps for Large Environments
The Graphics Rendering Pipeline
Hybrid Ray Tracing of Massive Models
Jim X. Chen George Mason University
Alias-Free Shadow Maps
Lecture 13 Clipping & Scan Conversion
Chapter XV Shadow Mapping
Frame Buffer Applications
GEARS: A General and Efficient Algorithm for Rendering Shadows
Presentation transcript:

Sample Based Visibility for Soft Shadows using Alias-free Shadow Maps Erik Sintorn – Ulf Assarsson – uffe at chalmers dot seuffe at chalmers dot se ElmarEisemann –

Introduction – Shadow Map Aliasing A common technique for rendering shadows is Shadow Maps (Williams L, 1978) Scene rendered as seen from camera Scene rendered as seen from light Depth of closest fragments Are rendered to shadow map Several screen samples end Up in the same light-space texel

Introduction – Shadow Map Aliasing (cont) To get rid of aliasing several methods have been suggested – Shadow Volumes (Crow F C, 1977) – Methods for better adaption of shadow map Martin T, Tan T.-S: Antialiasing and continuity with trapezoidal shadow maps Wimmer M, Scherzer D, Purgathofer W: Light space perspective shadow maps Lefohn A E, Sengupta S, Owens J D: Resolution mapped shadow maps – Alias free shadow maps Aila T, Laine S: Alias free shadow maps Johnson G S, Lee J, Burns C A, Mark W R: The irregular z-buffer: Hardware acceleration for irregular data structures Arvo J, Alias free shadow maps using graphics hardware

Introduction – Soft Shadows There is no such thing as point lights umbra penumbra

Introduction – Soft Shadows In raytracing, several random rays are shot towards the light volume

Introduction – Soft Shadows (cont) Very much work has been done on soft shadows The papers most related to ours are: – Laine S, Aila T, Assarsson U, Akenine-Möller T: Soft Shadow Volumes for ray tracing. – Lethinen J, Laine S, Aila T: An improved physically based soft shadow algorithm. – Eisemann E, Décorét X: Visibility Sampling on GPU and applications

Alias Free Hard Shadows Transform and project view-samples into lightspace, then store in a compact datastructure with a list per lightspacetexel 1: Construction of Alias Free Shadow Map

Alias Free Hard Shadows Render all geometry (conservatively) from lights point of view and for each generated fragment, test all view-samples in that list against the triangle and set the corresponding bit in the output if occluding. 1: 2: Usage of Alias Free Shadow Map

Alias Free Hard Shadows Finally, use the result from the previous step and the SM datastructure in a fullscreen pass over the camera-view image to find shadowing information for each pixel 1: 2: 3: Applying shadow map

Alias Free Hard Shadows 1: 2: 3: Creating the SM Data Structure in CUDA Atomically increase the size for the corresponding list Transform light sample to light space And save the previous value for each view-sample ………… 0 …………… …………… Kernel

Alias Free Hard Shadows 1: 2: 3: Creating the SM Data Structure in CUDA Running Sum Scan 22

Alias Free Hard Shadows 1: 2: 3: Creating the SM Data Structure in CUDA …………0 …………… …………… The size of each list Starting index of each list List index of each view-sample Compact array of lists Resulting SM Data Structure:

Alias Free Hard Shadows 1: 2: 3: Render geometry in lightspace, like classic Shadow Maps but: For each triangle For each generated fragment Fragment coordinates gives us size of list and list pointer Loop over all samples and set corresponding bit if triangle occludes sample Blending with OR operation finally gives us occlusion information for each view sample …………0 …………… ……………

Alias Free Hard Shadows 1: 2: 3: …………0 …………… …………… In a final pass we draw a fullscreen quad over the image For each pixel, the view-sample is obtained and is reprojected into lightspace With the lightspace coordinates we can look-up the occlusion result The list index for each sample tells us which bit to check Draw shadow if bit is set

Conservative Rasterization We use a simplified version of Jon Hasselgren,TomasAkenineMöllers and LennartOlssons method from GPU gems 2, with the modification that we: – Always output six vertices per triangle – Easily implemented in a geometry shader – Can be overconservative by at most one pixel per vertex

Alias free hard shadows results 44k triangles, 66 fpsTiny demo

Soft Shadows To render soft shadows we need only minor changes to the last two steps of the algorithm 1: 2: 3: umbra penumbra

Soft Shadows To render soft shadows we need only minor changes to the last two steps of the algorithm 1: 2: 3: … View Sample: … n Visibility of view-sample 11 from light source Occlusion result for hard shadows: … View Sample: N Visibility of view-sample 3 from light-sample 3 Light Sample: … Occlusion result for soft shadows:

Soft Shadows Finding occlusion results for all light-samples 1: 2: 3: Light Samples View-sample

Soft Shadows Plane makes two angles and a distance with the light source 1: 2: 3: distance

Soft Shadows Plane makes two angles and a distance with the light source 1: 2: 3:

Soft Shadows Texture lookup gives us all samples NOT occluded: texelFetch(d, ϕ, θ)= : 2: 3:

Soft Shadows 1: 2: 3: OR AND Edge results are OR:ed for each triangle Triangle results are AND:ed per view-sample

Soft Shadows 1: 2: 3: Receiver Plane Volumetric Light Source Influence Region

Soft Shadows 1: 2: 3: …………0 …………… …………… The shadow is now written as the fraction of bits set in the occlusion test result for each fragment

Results Hard shadows 44k triangles 66 fps

Results

256 light samples, ~6k triangles

Results 379k triangles: Shadow Rays (P GHZ): 964 seconds Modelled by SamuliLaine Soft Shadow Volumes: 75 seconds Soft Shadows using alias free shadow maps: 1.5 sec

Demo