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

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

Anti-aliasing and Monte Carlo Path Tracing

Distribution Ray Tracing

Reading. Distribution Ray Tracing. BRDF, revisited. Pixel anti-aliasing. ω in. Required: Shirley, section Further reading:

Physically Realistic Ray Tracing

Distribution Ray Tracing. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

Reading. 8. Distribution Ray Tracing. Required: Watt, sections 10.6,14.8. Further reading:

Distributed Ray Tracing

Specular reflection. Lighting II. Snell s Law. Refraction at boundary of media

EECS 487: Interactive Computer Graphics

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

Global Illumination The Game of Light Transport. Jian Huang

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

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

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

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

Visual cues to 3D geometry. Light Reflection and Advanced Shading. Shading. Recognizing materials. size (perspective) occlusion shading

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

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

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

Ray Tracing. Johns Hopkins Department of Computer Science Course : Rendering Techniques, Professor: Jonathan Cohen

distribution ray tracing

Distributed Ray Tracing

distribution ray-tracing

Sung-Eui Yoon ( 윤성의 )

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

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

Ray Tracing. CS334 Fall Daniel G. Aliaga Department of Computer Science Purdue University

Computer Graphics Project

Local vs. Global Illumination & Radiosity

COMP371 COMPUTER GRAPHICS

Advanced Ray Tracing

CS-184: Computer Graphics. Administrative

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

Global Illumination and Monte Carlo

Shading. Brian Curless CSE 557 Autumn 2017

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

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

The Traditional Graphics Pipeline

The Traditional Graphics Pipeline

Sampling: Antialiasing - Intro

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

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

CS559: Computer Graphics. Lecture 12: Antialiasing & Visibility Li Zhang Spring 2008

Shading. Reading. Pinhole camera. Basic 3D graphics. Brian Curless CSE 557 Fall Required: Shirley, Chapter 10

Lecture 7 - Path Tracing

Ray Tracing. Last Time? Reading for Today. Reading for Today

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

The Rendering Equation and Path Tracing

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

Building a Fast Ray Tracer

Sampling, Aliasing, & Mipmaps

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

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

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

The Traditional Graphics Pipeline

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

Computer Graphics. Ray Tracing. Based on slides by Dianna Xu, Bryn Mawr College

Last Time: Acceleration Data Structures for Ray Tracing. Schedule. Today. Shadows & Light Sources. Shadows

Project 3 Path Tracing

CptS 548 (Advanced Computer Graphics) Unit 3: Distribution Ray Tracing

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

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

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

Intro to Ray-Tracing & Ray-Surface Acceleration

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

Today. Acceleration Data Structures for Ray Tracing. Cool results from Assignment 2. Last Week: Questions? Schedule

Ray-tracing Acceleration. Acceleration Data Structures for Ray Tracing. Shadows. Shadows & Light Sources. Antialiasing Supersampling.

Ray Tracing Part 2. CSC418/2504 Introduction to Computer Graphics. TA: Muhammed Anwar

Advanced Graphics. Path Tracing and Photon Mapping Part 2. Path Tracing and Photon 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

Recent Advances in Monte Carlo Offline Rendering

Ray Tracing. Brian Curless CSEP 557 Fall 2016

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

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

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

Problem Set 4 Part 1 CMSC 427 Distributed: Thursday, November 1, 2007 Due: Tuesday, November 20, 2007

Lecture 18: Primer on Ray Tracing Techniques

CS354 Computer Graphics Ray Tracing. Qixing Huang Januray 24th 2017

Ray Tracing With Adaptive Supersampling in Object Space

Ray tracing. EECS 487 March 19,

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

Ray Tracing through Viewing Portals

Logistics. CS 586/480 Computer Graphics II. Questions from Last Week? Slide Credits

Theoretically Perfect Sensor

The Rendering Equation. Computer Graphics CMU /15-662

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

Corona Sky Corona Sun Corona Light Create Camera About

Rendering. Mike Bailey. Rendering.pptx. The Rendering Equation

Illumination Algorithms

MITOCW MIT6_172_F10_lec18_300k-mp4

Global Illumination. COMP 575/770 Spring 2013

Hemi-Cube Ray-Tracing: A Method for Generating Soft Shadows

Anti-aliasing. Images and Aliasing

SDK White Paper. Soft Shadows

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

Questions from Last Week? Extra rays needed for these effects. Shadows Motivation

CS 431/636 Advanced Rendering Techniques

Assignment 3: Path tracing

Theoretically Perfect Sensor

Transcription:

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

Reading Required: Marschner and Shirley, Section 13.4 (online handout) Further reading: Pharr, Jakob, and Humphreys, Physically Based Ray Tracing: From Theory to Implementation, Chapter 13 A. Glassner. An Introduction to Ray Tracing. Academic Press, 1989. Robert L. Cook, Thomas Porter, Loren Carpenter. Distributed Ray Tracing. Computer Graphics (Proceedings of SIGGRAPH 84). 18 (3). pp. 137-145. 1984. James T. Kajiya. The Rendering Equation. Computer Graphics (Proceedings of SIGGRAPH 86). 20 (4). pp. 143-150. 1986. 2

Aliasing Ray tracing is a form of sampling and can suffer from annoying visual artifacts... Consider a continuous function (x). Now sample it at intervals to give [i] = quantize[ (i )]. Q: How well does [i] approximate (x)? Consider sampling a sinusoid: In this case, the sinusoid is reasonably well approximated by the samples. 3

Aliasing (con t) Now consider sampling a higher frequency sinusoid We get the exact same samples, so we seem to be approximating the first lower frequency sinusoid again. We say that, after sampling, the higher frequency sinusoid has taken on a new alias, i.e., changed its identity to be a lower frequency sinusoid. 4

Aliasing and anti-aliasing in rendering One of the most common rendering artifacts is the jaggies. Consider rendering a white polygon against a black background: We would instead like to get a smoother transition: Anti-aliasing is the process of removing high frequencies before they cause aliasing. In a renderer, computing the average color within a pixel is a good way to anti-alias. How exactly do we compute the average color? 5

Antialiasing in a ray tracer We would like to compute the average intensity in the neighborhood of each pixel. When casting one ray per pixel, we are likely to have aliasing artifacts. To improve matters, we can cast more than one ray per pixel and average the result. A.k.a., super-sampling and averaging down. 6

Antialiasing by adaptive sampling Casting many rays per pixel can be unnecessarily costly. If there are no rapid changes in intensity at the pixel, maybe only a few samples are needed. Solution: adaptive sampling. Q: When do we decide to cast more rays in a particular area? 7

Gloss and translucency The mirror-like form of reflection, when used to approximate glossy surfaces, introduces a kind of aliasing, because we are under-sampling reflection (and refraction). For example: Distributing rays over reflection directions gives: 8

Soft shadows Distributing rays over light source area gives: 9

Depth of field To simulate a camera, we can model the refraction of light through a lens. This will give us a depth of field effect: objects close to the in-focus plane are sharp, and the rest is blurry. 10

Depth of field (cont d) This is really similar to the pinhole camera model: But now: Put the image plane at the depth you want to be in focus. Treat the aperture as multiple COPs (samples across the aperture). For each pixel, trace multiple viewing/primary rays for each COP and average the results. 11

Motion blur Distributing rays over time gives: How can we use super-sampling and averaging down to get motion blur? 12

Naively improving Whitted ray tracing Consider Whitted vs. a brute force approach with anti-aliasing, depth of field, area lights, gloss Whitted ray tracing Brute force, advanced ray tracing Advanced ray tracing has: m x m pixels k x k supersampling a x a sampling of camera aperture n primitives l area light sources s x s sampling of each area light source r x r rays cast recursively per intersection (gloss/translucency) d is average ray path length Asymptotic # of intersection tests = For m =1,000, k = a = s = r = 8, n = 1,000,000, l 4, d = 8 very expensive!! 13

Penumbra revisited Let s revisit the area light source We can trace a ray from the viewer through a pixel, but now when we hit a surface, we cast rays to samples on the area light source. 14

Penumbra revisited We should anti-alias to get best looking results. Whoa, this is a lot of rays just for one pixel!! 15

Penumbra revisited We can get a similar result with much less computation: Choose random location within a pixel, trace ray. At first intersection, choose random location on area light source and trace shadow ray. Continue recursion as with Whitted, but always choose random location on area light for shadow ray. 16

Monte Carlo Path Tracing vs. Brute Force We can generalize this idea to do random sampling for each viewing ray, shadow ray, reflected ray, etc. This approach is called Monte Carlo Path Tracing (MCPT). Brute force, advanced ray tracing Monte Carlo path tracing 17

MCPT vs. Whitted Q: For a fixed number of rays per pixel, does MCPT trace more total rays than Whitted? Q: Does MCPT give the same answer every time? Whitted ray tracing Monte Carlo path tracing 18

Ray tracing as integration Ray tracing amounts to estimating a multidimensional integral at each pixel. The integration is over: the pixel area the aperture each light source all diffuse/glossy reflections (recursively) MCPT images are often noisy. We can reduce noise by being smarter about which rays we cast 19

Intergration over reflection Integration over diffuse/glossy reflections is at the heart of rendering. Recall that the BRDF tells us how incoming light will scatter into outgoing directions: in f r ( in, out ) By reciprocity, we can replace in on the left side above with out, and treat the function f r ( in, out ) as the sensitivity to different incoming directions. To compute the total light for an outgoing direction, we integrate all incoming directions: I( out ) H I( in ) f r ( in, out ) in N d in To integrate in with MCPT, when considering reflection recurstion, we could just: Cast a ray in a (uniformly) random direction Weight the result by f r ( in, out ) in N 20

Importance sampling of reflection For a given BRDF: out f r ( in, out ) again the surface reflection equation is: I( out ) With importance sampling: H I( in ) f r ( in, out ) in N Cast a ray in a direction drawn from a distribution p( in ) that is large where the BRDF is large. Weight the ray by: f (, ) N / p Ideally, the distribution is proportional to the BRDF: p in r ~ f r ( in, out ) in N d in in out in in 21

100 rays/pixel without importance sampling 22

100 rays/pixel with importance sampling 23

200 rays/pixel without importance sampling 24

900 rays/pixel with importance sampling 25

Penumbra revisited: clumped samples 26

Penumbra: stratified sampling Stratified sampling gives a better distribution of samples: Break pixel and light source into regions. Choose random locations within each region. Trace rays through/to those jittered locations. 27

Stratified sampling of a 2D pixel Here we see pure uniform vs. stratified sampling over a 2D pixel (here 16 rays/pixel): Random Stratified The stratified pattern on the right is also sometimes called a jittered sampling pattern. Similar grids can be constructed over the camera aperture, light sources, and diffuse/glossy reflection directions. 28

25 rays/pixel without stratified sampling 29

25 rays/pixel with stratified sampling 30

64 rays/pixel without stratified sampling 31

400 rays/pixel with stratified sampling 32

Summary What to take home from this lecture: The meanings of all the boldfaced terms. An intuition for what aliasing is. How to reduce aliasing artifacts in a ray tracer The limitations of Whitted ray tracing (no glossy surfaces, etc.) The main idea behind Monte Carlo path tracing and what effects it can simulate (glossy surfaces, etc.) 33