distribution ray-tracing

Similar documents
distribution ray tracing

Distributed Ray Tracing

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

EECS 487: Interactive Computer Graphics

Distributed Ray Tracing

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

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

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

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

Anti-aliasing and Monte Carlo Path Tracing

Computer Graphics Project

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

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

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

Ray tracing. EECS 487 March 19,

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

Distribution Ray Tracing

Physically Realistic Ray Tracing

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

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

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

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

Sung-Eui Yoon ( 윤성의 )

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

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

Global Illumination The Game of Light Transport. Jian Huang

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

Realistic Camera Model

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

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

Monte Carlo Integration

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

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

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

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

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

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

Shadows. COMP 575/770 Spring 2013

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

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

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

COMP371 COMPUTER GRAPHICS

3D Rendering and Ray Casting

Local vs. Global Illumination & Radiosity

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

The Rendering Equation and Path Tracing

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

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

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

Corona Sky Corona Sun Corona Light Create Camera About

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

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

13 Distribution Ray Tracing

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

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

CS-184: Computer Graphics. Administrative

Rendering. Generate an image from geometric primitives II. Rendering III. Modeling IV. Animation. (Michael Bostock, CS426, Fall99)

3D Rendering and Ray Casting

3D Rendering. Course Syllabus. Where Are We Now? Rendering. 3D Rendering Example. Overview. Rendering. I. Image processing II. Rendering III.

Illumination Algorithms

Computational Photography

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

Today. Rendering algorithms. Rendering algorithms. Images. Images. Rendering Algorithms. Course overview Organization Introduction to ray tracing

Monte Carlo Integration

Lecture 15: Shading-I. CITS3003 Graphics & Animation

Today. Rendering algorithms. Rendering algorithms. Images. Images. Rendering Algorithms. Course overview Organization Introduction to ray tracing

Practical Techniques for Ray Tracing in Games. Gareth Morgan (Imagination Technologies) Aras Pranckevičius (Unity Technologies) March, 2014

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

Real-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today!

The 2 nd part of the photographic triangle

Ray Tracing Part 1. CSC418/2504 Introduction to Computer Graphics. TA: Muhammed Anwar & Kevin Gibson

CS 563 Advanced Topics in Computer Graphics Lecture 2: Bare-Bones Raytracer. by Emmanuel Agu

Lecture 7 - Path Tracing

Global Illumination and Monte Carlo

03 RENDERING PART TWO

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

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

Global Rendering. Ingela Nyström 1. Effects needed for realism. The Rendering Equation. Local vs global rendering. Light-material interaction

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

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

Advanced Shading I: Shadow Rasterization Techniques

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

Lighting and Shading

The Animation Process. Lighting: Illusions of Illumination

CS201 Computer Vision Lect 4 - Image Formation

Raytracing CS148 AS3. Due :59pm PDT

Homework 3: Shading, Raytracing, and Image Processing

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

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

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

Indirect Illumination

Project 3 Path Tracing

Building a Fast Ray Tracer

Recursion and Data Structures in Computer Graphics. Ray Tracing

INFOMAGR Advanced Graphics. Jacco Bikker - February April Welcome!

Ray-Tracing. Misha Kazhdan

Photorealism: Ray Tracing

Rigid Body Motion and Image Formation. Jana Kosecka, CS 482

3D Viewing. CMPT 361 Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller

Transcription:

distribution ray-tracing 1

distribution ray-tracing use many rays to compute average values over pixel areas, time, area lights, reflected directions,... 2

antialiasing origin compute average color subtended by a pixel pixel center C = raytrace(e, Q E) pixel average C = 1 A p d QB P raytrace(e, Q E) d A Q E Q P A_p : camera origin; : point on image plane; : pixel of area 3

antialiasing by deterministic int. subdivide the pixel in squares cast rays through square centers average result [Shirley] 4

deterministic antialias pseudocode [Shirley] //antialiasingpixel(i,j)-deterministic c=0 forsx=0tons forsy=0tons u=(i+(sx+0.5)/ns)/width v=(j+(sy+0.5)/ns)/height Q=imagePlanePoint(u,v) c+=raytrace(e,q-e) c/=ns*ns 5

antialiasing by monte carlo estimation pick random points in pixel area cast rays trough them average result [Shirley] 6

monte carlo antialiasing pseudocode [Shirley] //antialiasingpixel(i,j)-montecarlo c=0 fors=0tons*ns (rx,ry)=random2d() u=(i+rx)/width v=(i+ry)/height Q=imagePoint(u,v) c+=raytrace(e,q-e) c/=ns*ns 7

monte carlo antialiasing pseudocode [Shirley] //antialiasingpixel(i,j)-stratifiedmontecarlo c=0 forsx=0tons forsy=0tons (rx,ry)=random2d() u=(i+(sx+rx)/ns)/width v=(j+(sy+ry)/ns)/height Q=imagePoint(u,v) c+=raytrace(e,q-e)/ns*ns 8

raytraced images are too "clean" soft shadows come from area light raytracing only supports point ligts [Jason Waltman / jasonwaltman.com] 9

raytraced images are too "clean" blurry reflections come from rough materials raytracing only supports perfectly sharp mirror [Jensen] 10

raytraced images are too "clean" depth of field come from lens system raytracing only support pinhole camera [Jason Waltman / jasonwaltman.com] 11

raytraced images are too "clean" motion blur come from shutter speed raytracing only support infinitely fast shutter speed [Jason Waltman / jasonwaltman.com] 12

soft shadows origin area ligts create penumbras light is only partially visible from a given point want to compute how much light hits the point [Shirley] 13

approximate soft shadows principle point light C = V(P, S) shading(p, S) C l area light C l C = V(P, S) shading(p, S) d A L d SB L A S P S V : point on the surface; : point on the light; : visibility L A L C l function (0 or 1); : light of area ; : total light intensity 14

soft shadows by deterministic int. approximate area light as a set of point lights equivalent to quadrature rule for each point, compute shadows and lighting average results [Shirley] 15

soft shadows by monte carlo est. use Monte Carlo integration pick random points on the light easy for quad lights, hard (but possible) for others compute shadows and lighting average results [Shirley] 16

soft shadows by monte carlo est. for quads S i = S c + (0.5 r i,1 )lu + (0.5 r i,2 )lv C l Ë CÌ = V(P, ) shading(p, ) N K N i S i S i S c u, v l : light source center; : light source tangent vectors; : light source size; r i : uniformly sampled random 2d vector in [0, 1] 2 N ; : total number of samples 17

how many samples? 1 sample 9 samples 36 samples [Bala] 100 samples 18

blurry reflections origin real materials often have blurred reflections light is scattered around a set of directions want to compute how much light reaches the surface along these directions [Shirley] 19

approx. blurry reflections principle mirror reflection C = raytrace(p, R) k r blurry reflection k r C = raytrace(p, R) d A d RB A R P R : point on the surface; : reflected direction; : solid angle where object is reflecting; k r : reflection coefficient 20

blurred reflection by monte carlo est. compute reflected direction pick random direction R around compute reflected color along R average results R R [Shirley] 21

blurred reflection by monte carlo est. for quads R+(0.5 r )lu+(0.5 )lv R i = i,1 r i,2 k r R i Ë CÌ = raytrace(p, ) N K N i R i R u, v R l : reflected direction; : vectors orthogonal to ; : blur size; r i : uniformly sampled random 2d vector in [0, 1] 2 ; N : total number of samples 22

depth-of-field origin images in eyes and cameras are formed by lenses not all rays converge to a point so only some object appear sharp (in focus) while all other objects do not (out of focus) [Shirley] 23

approximate depth-of-field principle pinhole dof 1 C = raytrace(e, Q E) d A P d QB P A Q 1 C = d rt(f, Q F) d d A P A L QB d P FB A L F A Q E Q F plane around E; P : pixel of area A P ; L : lens of area A L : camera origin; : point on image plane; : point on "lens" 24

depth-of-field by monte carlo est. pick random points on film and image plane compute color from aperture point toward image average results [Shirley] 25

depth-of-field by monte carlo est. for quads u, v F i = E + (0.5 s i,1 ) l a u + (0.5 s i,2 ) l a v Q i = E + (x + 0.5 r i,1 ) l p u + (y + 0.5 r i,2 ) l p v nz Ë CÌ = 1 raytrace(, ) N K N i F i Q i F i l p, l a n r i, s i [0, 1] 2 N : vectors parallel to image plane; : pixel / aperture size; : distance to image plane; : uniformly sampled random 2d vectors in ; : total number of samples 26

motion blur origin takes time for images to form on camera/eye during that time the camera/eye is open sensors take the "average" of what is happening but objects move around in that time 27

approximate motion blur principle no blur C(t) = raytrace(e, d, ) S t motion blur C(t, š t) = 1 raytrace(e, d, ) d š t d sb [t,t+š t] S s l s E d S t t t : any ray origin; : any ray direction; : scene at time ; : time when shutter opens; š t = t k+1 š t : time that shutter stays open; t k : for animation, time between frames 28

motion blur by monte carlo estimation for any ray (camera, shadow, reflection), pick random time in the shutter interval update object transformations for picked time compute intersection average results 29

motion blur by monte carlo estimation for aliased camera rays 1 Ë CÌ = raytrace(e, Q E, ) N K N i S ti E Q t i [0, 1] N : camera origin; : point on image plane; : uniformly sampled random variable in ; : total number of samples 30

combining estimations e.g. compute soft shadows and antialias the pixel C C = l V(P(Q), S) sh(p(q), S) da d A P A S A Q L Q S Q B A P, S B A L [Bala] 31

combining estimations: path tracing idea: randomize the whole path compute all the integrals at once! [Bala] 32