Distribution Ray Tracing

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

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

Physically Realistic Ray Tracing

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

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

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

Anti-aliasing and Monte Carlo Path Tracing

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

Distributed Ray Tracing

EECS 487: Interactive Computer Graphics

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

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

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

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

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

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

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

Sung-Eui Yoon ( 윤성의 )

Global Illumination The Game of Light Transport. Jian Huang

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

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

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

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

Ray Tracing. Brian Curless CSEP 557 Fall 2016

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

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

Distributed Ray Tracing

Computer Graphics Project

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

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

distribution ray tracing

Local vs. Global Illumination & Radiosity

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

CS-184: Computer Graphics. Administrative

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 ]

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

Ray Tracing. CPSC 453 Fall 2018 Sonny Chan

COMP371 COMPUTER GRAPHICS

distribution ray-tracing

CS 563 Advanced Topics in Computer Graphics Camera Models. by Kevin Kardian

Ray tracing. EECS 487 March 19,

Global Illumination. COMP 575/770 Spring 2013

Advanced Ray Tracing

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

Cameras. Camera. Digital Image Synthesis Yung-Yu Chuang 10/26/2006

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

Building a Fast Ray Tracer

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

Recursive Ray Tracing. Ron Goldman Department of Computer Science Rice University

Projections. Brian Curless CSE 457 Spring Reading. Shrinking the pinhole. The pinhole camera. Required:

Raytracing CS148 AS3. Due :59pm PDT

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

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

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

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

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

Shadows. COMP 575/770 Spring 2013

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

Sampling: Antialiasing - Intro

Project 3 Path Tracing

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

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

Ray Tracing. Kjetil Babington

Assignment 2 Ray Tracing

Lighting and Shading

03 RENDERING PART TWO

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

Homework #2. Shading, Ray Tracing, and Texture Mapping

CS 148, Summer 2012 Introduction to Computer Graphics and Imaging Justin Solomon

Reading. Ray Tracing. Eye vs. light ray tracing. Geometric optics. Required:

Depth of Field for Photorealistic Ray Traced Images JESSICA HO AND DUNCAN MACMICHAEL MARCH 7, 2016 CSS552: TOPICS IN RENDERING

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

Ø Sampling Theory" Ø Fourier Analysis Ø Anti-aliasing Ø Supersampling Strategies" Ø The Hall illumination model. Ø Original ray tracing paper

Ray Tracing With Adaptive Supersampling in Object Space

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

Intro to Ray-Tracing & Ray-Surface Acceleration

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

Ray tracing. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/19/07 1

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

COMP 175 COMPUTER GRAPHICS. Lecture 11: Recursive Ray Tracer. COMP 175: Computer Graphics April 9, Erik Anderson 11 Recursive Ray Tracer

CS354R: Computer Game Technology

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

Ray tracing idea. Ray Tracing. Ray tracing algorithm. Plane projection in drawing. CS 465 Lecture 3

Illumination Algorithms

Shading. Brian Curless CSE 557 Autumn 2017

Reading. 18. Projections and Z-buffers. Required: Watt, Section , 6.3, 6.6 (esp. intro and subsections 1, 4, and 8 10), Further reading:

Lecture 32 of 41. Lab 6: Ray Tracing with ACM SIGGRAPH Demo & POV-Ray

Simple Nested Dielectrics in Ray Traced Images

Recursion and Data Structures in Computer Graphics. Ray Tracing

The Rendering Equation and Path Tracing

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

Geometric optics. The University of Texas at Austin CS384G Computer Graphics Don Fussell

Given: scene specification (object positions, optical properties p of the surface, viewer position, viewing direction, )

Ray Tracing. Quiz Discussion. Announcements: Final Projects. Last Time? Durer s Ray Casting Machine. Today

Luxo Jr. (Pixar, 1986) Last Time. Real Cameras and Ray Tracing. Standard Rasterization. Lights, Cameras, Surfaces. Now Playing:

COSC579: Scene Geometry. Jeremy Bolton, PhD Assistant Teaching Professor

MITOCW MIT6_172_F10_lec18_300k-mp4

Topics and things to know about them:

Ray Tracing through Viewing Portals

Transcription:

Reading Required: Distribution Ray Tracing Brian Curless CSE 557 Fall 2015 Shirley, 13.11, 14.1-14.3 Further reading: A. Glassner. An Introduction to Ray Tracing. Academic Press, 1989. [In the lab.] 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. 1 2 Simulating gloss and translucency Soft shadows 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 light source area gives: Distributing rays over reflection directions gives: 3 4

The pinhole camera Shrinking the pinhole The first camera - camera obscura - known to Aristotle. In 3D, we can visualize the blur induced by the pinhole (a.k.a., aperture): Q: What happens as we continue to shrink the aperture? Q: How would we reduce blur? 5 6 Shrinking the pinhole, cont d The pinhole camera, revisited We can think in terms of light heading toward the image plane: We can equivalently turn this around by following rays from the viewer: 7 8

The pinhole camera, revisited Given this flipped version: Lenses Pinhole cameras in the real world require small apertures to keep the image in focus. Lenses focus a bundle of rays to one point => can have larger aperture. how can we simulate a pinhole camera more accurately? For a thin lens, we can approximately calculate where an object point will be in focus using the the Gaussian lens formula: 1 1 1 d d f i o 9 where f is the focal length of the lens. 10 Depth of field Lenses do have some limitations. The most noticeable is the fact that points that are not in the object plane will appear out of focus. The depth of field is a measure of how far from the object plane points can be before appearing too blurry. Depth of field (cont d) To simulate depth of field, we can model the refraction of light through a lens. Objects close to the in-focus plane are sharp, and the rest is blurry. http://www.cambridgeincolour.com/tutorials/depth-of-field.htm 11 12

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. Speeding it up, revisited Sampling over all these effects makes ray tracing even slower! Now consider rendering a single image with: m x m pixels k x k supersampling a x a sampling of camera aperture n primitives 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 13 Without any acceleration we d get: Asymptotic # of intersection tests = We ve looked at reducing the cost of d (early ray termination), n (acceleration data structure), and k (adaptive super-sampling). Now we look at reducing the effect of the a, s, and r terms. But first 14 Pixel anti-aliasing Reflection anti-aliasing No anti-aliasing Reflection anti-aliasing Pixel anti-aliasing All of this assumes that inter-reflection behaves in a mirror-like fashion 15 16

Pixel and reflection anti-aliasing Full anti-aliasing of reflections Pixel and reflection anti-aliasing Full anti-aliasing over pixel and reflections EEEK!! 17 18 Penumbra revisited Penumbra: full antialaising 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. 19 We should anti-alias to get best looking results. Whoa, this is a lot of rays just for one pixel!! 20

Penumbra: fewer rays Penumbra: random sampling We can get a similar result with much less computation: Break up the light source into points with ID s. Similarly, give an ID to each sub-pixel ray. Only send shadow ray to point with same ID. 21 Regular sampling of pixels and lights can introduce bias into the result. An unbiased approach would be to choose subpixel locations and area light samples randomly. 22 Penumbra: jittered (stratified) sampling Distribution ray tracing These ideas can be combined to give a particular method called distribution ray tracing [Cook84]: uses non-uniform (jittered) samples. replaces aliasing artifacts with noise. provides additional effects by distributing rays to sample: Reflections and refractions Light source area Camera lens area A hybrid approach, which gives a better distribution of samples while being unbiased, is to jitter (stratify) the rays: Break pixel and light source into regions. Choose random locations within each region. Trace rays through/to those jittered locations. 23 [This approach was originally called distributed ray tracing, but we will call it distribution ray tracing (as in probability distributions) so as not to confuse it with a parallel computing approach.] 24

Stratified sampling of a 2D pixel Here we see pure uniform vs. stratified sampling over a 2D pixel (here 16 rays/pixel): Glossy reflection, revisited For illustration (and ok simulation), we can approximate specular reflection as: Random Stratified The stratified pattern on the right is also sometimes called a jittered sampling pattern. For distribution ray tracing, we break the reflection directions into bins with IDs and distribute rays accordingly: One interesting side effect of these stochastic sampling patterns is that they actually injects noise into the solution (slightly grainier images). This noise tends to be less objectionable than aliasing artifacts. 25 26 DRT pseudocode Now consider traceray (), modified to handle opaque glossy surfaces: Depth of field revisited We can also perform distribution ray tracing across a camera aperture: function traceray(scene, P, d, ID): (t, N, mtrl) intersect (scene, P, d) Q ray (P, d) evaluated at t I = shade (scene, mtrl, Q, N, -d, ID) R jitteredreflectdirection (N, -d, mtrl, ID) I I + material.k r traceray (scene, Q, R, ID) return I end function 27 28

Chaining the ray ID s In general, you can trace rays through a scene and keep track of their id s to handle all of these effects: Q: Do you end up tracing any more rays than you would with a standard, anti-aliased Whitted ray tracer? 29