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

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

Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker

Scalable many-light methods

Virtual Spherical Lights for Many-Light Rendering of Glossy Scenes

Advanced Graphics. Path Tracing and Photon Mapping Part 2. Path Tracing and Photon Mapping

A Brief Overview of. Global Illumination. Thomas Larsson, Afshin Ameri Mälardalen University

Choosing the Right Algorithm & Guiding

Instant Radiosity for Real-Time Global Illumination

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

CS 563 Advanced Topics in Computer Graphics Irradiance Caching and Particle Tracing. by Stephen Kazmierczak

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

A Scalable Approach to Interactive Global Illumination

Interactive Global Illumination in Complex and Highly Occluded Environments

The V-Ray installer will automatically remove any previous installations. This will allow you to seamlessly upgrade from previous versions.

Global Illumination. COMP 575/770 Spring 2013

Final Project: Real-Time Global Illumination with Radiance Regression Functions

Corona Sky Corona Sun Corona Light Create Camera About

Realistic Image Synthesis

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

Lightcuts: A Scalable Approach to Illumination

rendering equation camera all

This course covers a group of global illumination algorithms known as many light methods, or VPL rendering methods. (VPL = virtual point light)

The Rendering Equation & Monte Carlo Ray Tracing

Advanced Computer Graphics CS 563: Making Imperfect Shadow Maps View Adaptive. Frederik Clinck lie

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

Global Illumination The Game of Light Transport. Jian Huang

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

Bidirectional Lightcuts

Illumination Algorithms

THEA RENDER ADAPTIVE BSD ENGINE

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

Reusing Shading for Interactive Global Illumination GDC 2004

Path Tracing part 2. Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017

Lecture 12: Photon Mapping. Biased Methods

Monte Carlo Ray Tracing. Computer Graphics CMU /15-662

Shadows. COMP 575/770 Spring 2013

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

Distribution Ray-Tracing. Programação 3D Simulação e Jogos

Interactive Global Illumination

Computer Graphics. Lecture 13. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura

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

A NEW APPROACH OF DENSITY ESTIMATION FOR GLOBAL ILLUMINATION

Lecture 15: Many Lights. CS 6620, Spring 2009 Kavita Bala Computer Science Cornell University. Many Lights

Photon Mapping. Due: 3/24/05, 11:59 PM

EECS 487: Interactive Computer Graphics

Monte Carlo Path Tracing. The Rendering Equation

Monte-Carlo Ray Tracing. Antialiasing & integration. Global illumination. Why integration? Domains of integration. What else can we integrate?

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

Global Illumination. Why Global Illumination. Pros/Cons and Applications. What s Global Illumination

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

In this part, I will mostly talk about the vertex merging technique (a.k.a. kernel estimation).

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

Motivation. Advanced Computer Graphics (Fall 2009) CS 283, Lecture 11: Monte Carlo Integration Ravi Ramamoorthi

CS354R: Computer Game Technology

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

Recent Advances in Monte Carlo Offline Rendering

I have a meeting with Peter Lee and Bob Cosgrove on Wednesday to discuss the future of the cluster. Computer Graphics

Interactive Global Illumination using Fast Ray Tracing

Computer Graphics. Lecture 10. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura 12/03/15

Biased Monte Carlo Ray Tracing

Local vs. Global Illumination & Radiosity

Lecture 18: Primer on Ray Tracing Techniques

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

Real-time Light Animation

Global Illumination for Interactive Applications and High-Quality Animations

Photon Mapping. Michael Doggett Department of Computer Science Lund university

Raytracing & Epsilon. Today. Last Time? Forward Ray Tracing. Does Ray Tracing Simulate Physics? Local Illumination

GAMES Webinar: Rendering Tutorial 2. Monte Carlo Methods. Shuang Zhao

Point based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural

LightSlice: Matrix Slice Sampling for the Many-Lights Problem

Global Illumination and Monte Carlo

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

03 RENDERING PART TWO

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

Building a Fast Ray Tracer

11/2/2010. In the last lecture. Monte-Carlo Ray Tracing : Path Tracing. Today. Shadow ray towards the light at each vertex. Path Tracing : algorithm

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

Motivation: Monte Carlo Path Tracing. Sampling and Reconstruction of Visual Appearance. Monte Carlo Path Tracing. Monte Carlo Path Tracing

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

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

Distributed Ray Tracing

Anti-aliasing and Monte Carlo Path Tracing

Photorealism vs. Non-Photorealism in Computer Graphics

Ray tracing. EECS 487 March 19,

Other Rendering Techniques CSE 872 Fall Intro You have seen Scanline converter (+z-buffer) Painter s algorithm Radiosity CSE 872 Fall

Lecture 7: Monte Carlo Rendering. MC Advantages

Irradiance Gradients. Media & Occlusions

Precomputed & Hybrid Variants of Lightcuts

Realistic Image Synthesis

Global Illumination with Glossy Surfaces

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

CS770/870 Spring 2017 Radiosity

Statistical Acceleration for Animated Global Illumination

Biased Monte Carlo Ray Tracing:

Improved Illumination Estimation for Photon Maps in Architectural Scenes

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

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

Metropolis Light Transport

This work is about a new method for generating diffusion curve style images. Although this topic is dealing with non-photorealistic rendering, as you

2/1/10. Outline. The Radiance Equation. Light: Flux Equilibrium. Light: Radiant Power. Light: Equation. Radiance. Jan Kautz

Transcription:

Realistic Image Synthesis - Instant Global Illumination - Karol Myszkowski

Overview of MC GI methods General idea Generate samples from lights and camera Connect them and transport illumination along paths Path Tracing For each pixel, generate random path from camera Generate light sample on lights and connect for direct lighting BiDir-Path Tracing For each pixel, generate random paths from camera and from lights Connect them (in multiple ways) and transport light Instant Radiosity/Global Illumination In preprocessing, generate fixed set of samples from lights (VPLs) During rendering, connect to all of them and transport light Lightcuts Do not connect to all VPLs, but use importance sampling Create hierarchical structure to efficiently select VPLs

Reuse of Light Paths Bidirectional path tracing Starts a new light path for every eye sample Many new path being traced High pixel noise: random fluctuations between pixels Idea: Reuse light samples Generate random light samples in a preprocessing pass Each light sample becomes a Virtual Point Light (VPL) illuminating the entire scene (and not just one pixel) Significantly reduces light samples Generates correlated errors across entire image Still unbiased

Instant Radiosity [Siggraph97] Trace few (10-20) rays from (area) lights These are the light paths from BiDir path tracing Each contains a fraction of the energy in a light Use them to generate virtual point lights (VPLs) VPLs placed at every hit point along the path Termination via Russian Roulette (or fixed path length but biased) Trace shadow rays to all of them during rendering Fixed two segment camera path (more in case of specular reflections) Contains both direct and indirect diffuse illumination Inherently smooth, except for sharp shadow boundaries Shadow artifacts for few VPLs in every image But converges without bias

Instant Radiosity: Remarks Approximation of illumination VPLs provide an approximation of the light distribution in a scene Converge to real distribution with larger number of VPLs Dealing with non-diffuse surfaces Consider BRDF when reflecting photons and during illumination OK for mostly diffuse: Highly glossy surfaces would reveal VPLs Shadow ray can be traced coherently Select VPLs in a coherent way (e.g. by clustering) Shoot packets of ray to VPL clusters

Instant Radiosity: 1/r 2 Bias Illumination Singularity Scene would be way to bright near a VPL Illumination can become arbitrarily large (1/r 2 ) Would be averaged out eventually But may need arbitrary large number of VPLs Possible Solution Cut contribution such that it will not be too bright Limit the 1/r 2 term by some constant b Introduces bias: too dark, specifically in corners Bias Compensation [Kollig&Keller 06] Add back missing contribution through MC sampling Continue the eye paths randomly Check bias: 1/r 2 -b If non-negative: Scale contribution by (1/r 2 -b)/(1/r 2 ) Optimization Limit ray length to critical region: r < 1/sqrt(b) Images: Simon Brown

Instant Global Illumination Idea: Use coherent form of bi-directional path tracing Speed up the computations (assumes cluster setup) Ensure that shadow rays are coherent for packet ray tracing Require no communication between rays Combine advantages of several different algorithms Instant Radiosity: smooth diffuse lighting Ray Tracing: reflections, refractions, visibility testing Interleaved Sampling (ILS): better quality, easy to parallelize Discontinuity Buffer: removes ILS artifacts Caustic Photon Mapping: (Back then) the only way for caustics (not discussed here) Cluster limitations Streaming computations Master sends stream of jobs to clients They eventually return the results, while working on the next job(s) Achieves almost perfect speedup (pipelining) Cannot communicate between nodes (too high latency)

More Samples, (Almost) For Free IR: Way to few samples for good results Hard shadow borders Idea Use different sets of VPLs for different pixels E.g.: 9 set of VPLs Every 3x3th (or 5x5) pixel uses same set of VPLs Better quality: 9 times as many VPL per image than without Easily parallelizable Each node computes pixels with same VPL id Nicely scales with #nodes But: Massive aliasing Can obviously see 2D grid 1 2 3 1 2 4 5 6 4 5 7 8 9 7 8 1 2 3 1 2 4 5 6 4 5 VPL sets used per pixel

Remove Aliasing Idea: Discontinuity Buffer [Keller, Kollig] Filter irradiance among neighboring pixels Use the same filter width (3x3) Smoothing/removal of ILS-artifacts Like irradiance caching, but more stable Only filter in smooth regions Must detect discontinuities Criterion: normal & distance Ignore pixels that differ too much Problem: Clients don t have neighboring pixels! Filtering has to run on the server High server load Server has to get additional data Normal, irradiance, distance High network bandwidth! 1 2 3 1 2 4 5 6 4 5 7 8 9 7 8 1 2 3 1 2 4 5 6 4 5

Finally, Add QMC Use Randomized Quasi Monte Carlo [Keller et al.] Used for generating the light sources Faster convergence, especially for small sampling rates Can be combined easily with interleaved sampling Plus: Technical advantages of QMC Fast random number generation (table lookup + bit-ops) Can reproduce any sequence of samples based on single seed value Can easily synchronize different clients on same data Each client can reproduce the sample set of any other client Avoid jumping of VPLs: Just start with same seed every frame For progressive convergence, just advance the seed value QMC sequences perfectly combine into the future

Summary Base ingredient Instant Radiosity + Ray Tracing Plus fast caustic photon maps Combine with Interleaved Sampling Better quality Parallelizable Remove artifacts with Disco-Buffer Faster convergence Better parallelizability Use randomized QMC Low sampling rates, parallelizability Result: Definitely not perfect But not too bad for only ~20 rays/pixel!

Remaining Issues Missing scalability Render nodes each compute some tiles of the entire image Dynamically selected at runtime (load balancing) All data must be send to master for filtering Colors, normals, depths Approach limited by network bandwidth Filtering on the clients Requires information from neighboring pixes All clients need to compute all VPLs Not great, but doable They often did compute multiple sets anyway Because of dynamic load balancing Filtering overhead was too costly Repeatedly test and sum up blocks of 3x3 pixels

Scalable IGI Approach Assign tiles of pixels to clients Must include border for filtering Overhead is ~10% for 40x40 pixels Trace ray in interleaved coherent packets Use SIMD across pixels with the same VPLs Filtering of tile can be done on client Constant time filtering using running sums Add/subtract only at border of domain Must only send final color Low-cost antialiasing Nx supersampling: Assign VPLs into N groups Trace different primary ray for every group Connect this hit point to VPLs of group and average (again interleaved sampling) RQMC sampling of light sources SIMD shader interface IGI with 50 Mio polygons

Results Performance Faster by 2.5-3x Almost perfect scalability (> 20 fps) plus good use of coherence Equal compute time images comparing old and new scalable approach

Bidirectional Instant Radiosity Idea [Segovia, EGSR 06] Generate VPLs where they matter Each VPL should have equal contribution to image Approach Generate VPLs from light AND camera N/2 samples each Estimate illumination at reverse VPLs using Instant Global Illumination Shoot some paths each (e.g. ~5) Gather light from forward/light VPLs Reverse VPLs act as proxies Estimate importance using M (e.g. 5-10) paths each from camera (length 2) 200 selected VPLs Resample VPLs (e.g. select 10%) according to contribution to camera Estimate accurate pdf for VPLs using more camera path (e.g. 50) Use selected VPLs during rendering

Results

Results

Dealing With Many Lights [EGSR'03] Problem Efficiency drops severely in highly occluded environments Think: Large building with many (illuminated) rooms Probability of light being visible is low Must generate many VPLs to get a good statistics, at all Must send many shadow rays to VPLs that are almost certainly occluded Idea Ignore any lights that do not contribute illumination Avoid computing from lights, would load data for entire (huge) scene Solution Estimate importance of lights using path tracing (1 path per pixel) Gives ~1-2 million samples, could additionally average of last few frames Use importance sampling to distribute VPLs from lights Issues Average is over entire image (might miss lights illuminating small area) Can cause temporal aliasing (flickering) due to randomness of VPLs Somewhat offset by deterministic QMC sampling (mostly same VPLs/light)

Estimate Importance of Lights Example: Shirley10 Estimate (1 sample/pix) Real scene (10x10 rooms, 1 light each) Path traced image hardly recognizable... But: Estimate correct up to a few percent Used for importance sampling of lights