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

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

Lecture 12: Photon Mapping. Biased Methods

Part I The Basic Algorithm. Principles of Photon Mapping. A two-pass global illumination method Pass I Computing the photon map

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

Choosing the Right Algorithm & Guiding

Photon Mapping. Kadi Bouatouch IRISA

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

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

Global Illumination. COMP 575/770 Spring 2013

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

Lecture 18: Primer on Ray Tracing Techniques

Recent Advances in Monte Carlo Offline Rendering

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

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

Biased Monte Carlo Ray Tracing:

Efficient Caustic Rendering with Lightweight Photon Mapping

REAL-TIME GPU PHOTON MAPPING. 1. Introduction

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

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

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

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

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

Illumination Algorithms

The Rendering Equation. Computer Graphics CMU /15-662

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

Lecture 7: Monte Carlo Rendering. MC Advantages

Global Illumination The Game of Light Transport. Jian Huang

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

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

Ongoing Developments in Photon Mapping

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

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

Monte Carlo Integration of The Rendering Equation. Computer Graphics CMU /15-662, Spring 2017

Metropolis Light Transport

Biased Monte Carlo Ray Tracing

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

Ray Tracing. Kjetil Babington

Today. Participating media. Participating media. Rendering Algorithms: Participating Media and. Subsurface scattering

Introduction to Photon Mapping RADIANCE Workshop 2010 Course Advanced Fenestration

Monte Carlo Path Tracing. The Rendering Equation

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

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

rendering equation camera all

CS580: Ray Tracing. Sung-Eui Yoon ( 윤성의 ) Course URL:

I present Adjoint-Driven Russian Roulette and Splitting for efficient light transport simulation which is a part of my PhD.

The Rendering Equation. Computer Graphics CMU /15-662, Fall 2016

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

SAMPLING AND NOISE. Increasing the number of samples per pixel gives an anti-aliased image which better represents the actual scene.

Photon Mapping. Photon Mapping. Why Map Photons? Sources. What is a Photon? Refrac=on of a Caus=c. Jan Kautz

Irradiance Gradients. Media & Occlusions

The Rendering Equation and Path Tracing

Outline of Lecture. Real-Time High Quality Rendering. Geometry or Vertex Pipeline. Basic Hardware Pipeline. Pixel or Fragment Pipeline

Motivation. Monte Carlo Path Tracing. Monte Carlo Path Tracing. Monte Carlo Path Tracing. Monte Carlo Path Tracing

Photon Mapping. Michael Doggett Department of Computer Science Lund university

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

Assignment 3: Path tracing

SOME THEORY BEHIND REAL-TIME RENDERING

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

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

Recollection. Models Pixels. Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows

Stochastic Path Tracing and Image-based lighting

Mixing Monte Carlo and Progressive Rendering for Improved Global Illumination

Global Illumination and the Rendering Equation

Virtual Spherical Lights for Many-Light Rendering of Glossy Scenes

Computer Graphics Ray Casting. Matthias Teschner

Global Illumination with Photon Map Compensation

Lecture 7 - Path Tracing

THEA RENDER ADAPTIVE BSD ENGINE

03 RENDERING PART TWO

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

CMSC427 Shading Intro. Credit: slides from Dr. Zwicker

Improved Illumination Estimation for Photon Maps in Architectural Scenes

782 Schedule & Notes

Paths, diffuse interreflections, caching and radiometry. D.A. Forsyth

CPSC GLOBAL ILLUMINATION

The Rendering Equation Philip Dutré. Course 4. State of the Art in Monte Carlo Global Illumination Sunday, Full Day, 8:30 am - 5:30 pm

Progressive photon mapping can be interpreted as an estimator that constructs the full paths from camera to light by constantly connecting two fresh

Lighting and Shading

Spring 2012 Final. CS184 - Foundations of Computer Graphics. University of California at Berkeley

A Survey of Radiosity and Ray-tracing. Methods in Global Illumination

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

Interactive Methods in Scientific Visualization

Global Illumination and Monte Carlo

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

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

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

Rendering Equation & Monte Carlo Path Tracing I

Project 3 Path Tracing

A NEW APPROACH OF DENSITY ESTIMATION FOR GLOBAL ILLUMINATION

Lecture 10: Ray tracing

COMPUTER GRAPHICS COURSE. LuxRender. Light Transport Foundations

Scalable many-light methods

Lighting and Materials

CENG 477 Introduction to Computer Graphics. Ray Tracing: Shading

Monte Carlo Ray-tracing and Rendering

Illumination & Shading

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

Sung-Eui Yoon ( 윤성의 )

Dynamic Indirect Illumination in Real-Time Ray Tracing using Lightcuts

NAME mkpmap - generate RADIANCE photon map. SYNOPSIS mkpmap apg apc apv apd app apc file nphotons [bwidth]... [options] octree

Transcription:

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

Introduction Unbiased light transport algorithms can sometimes take a large number of rays to generate an image without noise To counter this, biased algorithms such as irradiance caching and photon mapping have been developed Reuse previously computed results Produce images without high-frequency noise artifacts Produce good images using less additional computing power Hard to do error estimation, however

Irradiance Caching Based on the notion that while direct lighting changes drastically from point to point, indirect lighting does not Compute indirect lighting at a sparse set of sample points and interpolate the rest

Indirect Illumination

IC Issues 1) When are new representations of indirect light computed, and how often are already existing ones interpolated? 2) How is the indirect lighting distribution represented and stored after being computed at a point?

Computing Points Indirect lighting computed on-the-fly (as opposed to on a fixed set of points chosen ahead of time) First cache is searched for an acceptable point using a set of error metrics If a point cannot be found in the cache, a new point is created

Storing Information Only irradiance is stored at each point (light representation is a single Spectrum object) As long as the surface is of a perfectly diffuse material, irradiance alone can exactly compute from the surface due to a particular incident lighting distribution A perfectly specular surface, however, can potentially introduce an arbitrarily large error

ICaching vs. Path Tracing

Points for IC

Partitions BSDF for indirect lighting computation Implementation Details Perfect specular reflection handled by sampling BSDF and recursively calling the integrator Implementation uses irradiance caching for both diffuse and glossy components Glossy components introduce additional error Reflection and transmission handled separately Reflective surface hemisphere completely different than transmissive surface hemisphere

New Irradiance Values Uses a cosine-weighted distribution of directions Uses the standard Monte Carlo estimator

Storing Values Uses an octree data structure to store computed estimates Each estimate has an axis-aligned bounding box associated with it, giving the overall area for which the sample is valid Bounding box clamped to make sure it is neither too large nor too small Boxes are smaller around groups of objects, as the more objects that are close to a sample point the greater potential for rapidly changing irradiance Estimate stored in IrradianceSample object

Computing Irradiance Traverse the octree to find appropriate box Using an irradiance sample from the tree and the point to be shaded, test Reject if surface normals too different Reject if too far from point Reject if sample in front of point Compute error term If everything passes, weight the sample based on error term and use Final interpolated irradiance E = (? i w i E i ) / (? i w i )

Photon Mapping Photon Mapping is one of a family of particletracing algorithms Construct paths from lights, and at each vertex the amount of incident illumination recorded Unlike irradiance caching, photon mapping handles both glossy and diffuse reflection well Can also handle perfectly specular reflection (handled separately with recursive ray tracing)

Photon Integrator Photon mapping integrator traces particles into the scene It interpolates among particles (called photons) to approximate the incident illumination at shading points Integrator uses a kd-tree to store photons, which allows quick access to the photons around the point being shaded

Photon Integrator (2) Adjusting the quality of results computed is easy with the photon mapper, as it partitions the LTE in a number of ways Particles coming from lights are characterized: direct illumination, caustic illumination, and indirect illumination Partitioning allows flexibility in how reflected radiance is estimated Integrator also partitions the BSDF Uses recursive ray tracing to handle perfectly specular components, and either photon maps or Monte Carlo ray tracing for the rest

Integrator is highly configurable Photon Integrator Config Desired number of photons of each type (direct, caustic, and indirect) Number of photons used for interpolation Whether to do Final Gathering or not

Building the Photon Maps Particles begin at light sources and are traced through the scene until the integrator has accumulated the desired number of particle histories At each intersection of the path with an object a weighted particle contribution (of type Photon) is stored in the appropriate map A Halton sequence is used to generate particle rays, as they need to be well distributed but it is unknown ahead of time how many are needed

Following the Photon While the photon intersects with objects in the scene Handle photon/surface intersection Update photon weight and photon ray direction Possibly terminate photon path Russian roulette

Using the Photon Map At rendering time, the photon map is used to compute reflected light at each point being shaded Photon mapping interpolates information about illumination at the point from nearby photons The more photons around the point and the higher their weights the more radiance is estimated to be incident at the point Estimated radiance used in conjunction with surface BSDF to compute reflected light

Photon Map in Action

Final Gathering Calculates the irradiance at selected sample points in the scene by shooting many rays and gathering light from other surfaces Very expensive for more than one bounce Can be combined with photon mapping: Use photon mapping for N 1 bounces Use final gathering for the final bounce

Final Gathering Compare

Photon Interpolation and Density Estimation Search the photon list for photons near the point to be shaded, and keep track of photons close to the point Photons stored in kd-tree Need both the local density of particles and their individual weights Use a kernel method to estimate density (will use a constant function) Nearest-neighbor techniques can adaptively choose soothing parameter based on local density

Photon Final Substituting everything into the measurement equation, the exitant radiance at point p in direction w is: L o (p, w o ) = p(p)? a j f (p, w o, w j ) Where the sum is over the n nearest photons

Pharr, Humphreys, Physically Based Rendering, Sections 16.4 & 16.5 References Using Global Illumination in Turtle: http://www.illuminatelabs.com/support/tutori al-folder/advanced-global-illumination/