Ray Tracing: shading

Similar documents
Ray Tracing COMP575/COMP770

A Little Background. Motivation. Motivation

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

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

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

CS 5625 Lec 2: Shading Models

Lecture 4: Reflection Models

Illumination. Illumination CMSC 435/634

Lighting and Shading

Reflection models and radiometry Advanced Graphics

Today. Global illumination. Shading. Interactive applications. Rendering pipeline. Computergrafik. Shading Introduction Local shading models

CMSC427 Shading Intro. Credit: slides from Dr. Zwicker

Lighting affects appearance

Viewing and Ray Tracing. CS 4620 Lecture 4

Raytracing. COSC 4328/5327 Scott A. King

Viewing and Ray Tracing

02 Shading and Frames. Steve Marschner CS5625 Spring 2016

Simple Lighting/Illumination Models

CENG 477 Introduction to Computer Graphics. Ray Tracing: Shading

CS6670: Computer Vision

Radiance. Radiance properties. Radiance properties. Computer Graphics (Fall 2008)

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

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

The Rasterization Pipeline

Shading. Brian Curless CSE 557 Autumn 2017

CSE 681 Illumination and Phong Shading

Lighting affects appearance

BRDF Computer Graphics (Spring 2008)

CS5620 Intro to Computer Graphics

Illumination and Shading - II

CS130 : Computer Graphics Lecture 8: Lighting and Shading. Tamar Shinar Computer Science & Engineering UC Riverside

Complex Shading Algorithms

Radiometry & BRDFs CS295, Spring 2017 Shuang Zhao

Turn on the Lights: Reflectance

Introduction. Lighting model Light reflection model Local illumination model Reflectance model BRDF

Advanced d Computer Graphics CS 563: Real Time Ocean Rendering

Today. Global illumination. Shading. Interactive applications. Rendering pipeline. Computergrafik. Shading Introduction Local shading models

Radiometry and reflectance

Recall: Basic Ray Tracer

CPSC 314 LIGHTING AND SHADING

Illumination in Computer Graphics

Raytracing CS148 AS3. Due :59pm PDT

Shading, lighting, & BRDF Theory. Cliff Lindsay, PHD

Overview. Radiometry and Photometry. Foundations of Computer Graphics (Spring 2012)

CS6670: Computer Vision

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

Computer Graphics (CS 4731) Lecture 16: Lighting, Shading and Materials (Part 1)

Lights, Surfaces, and Cameras. Light sources emit photons Surfaces reflect & absorb photons Cameras measure photons

w Foley, Section16.1 Reading

Computer Graphics (CS 543) Lecture 7b: Intro to lighting, Shading and Materials + Phong Lighting Model

Game Technology. Lecture Physically Based Rendering. Dipl-Inform. Robert Konrad Polona Caserman, M.Sc.

Shading & Material Appearance

Lecture 15: Shading-I. CITS3003 Graphics & Animation

Timothy Walsh. Reflection Models

Computer Graphics. Illumination and Shading

Pipeline Operations. CS 4620 Lecture 10

Shading / Light. Thanks to Srinivas Narasimhan, Langer-Zucker, Henrik Wann Jensen, Ravi Ramamoorthi, Hanrahan, Preetham

Lab 9 - Metal and Glass

So far, we have considered only local models of illumination; they only account for incident light coming directly from the light sources.

Reading. Shading. An abundance of photons. Introduction. Required: Angel , 6.5, Optional: Angel 6.4 OpenGL red book, chapter 5.

Capturing light. Source: A. Efros

Sung-Eui Yoon ( 윤성의 )

Ligh%ng and Reflectance

Illumination. Michael Kazhdan ( /657) HB Ch. 14.1, 14.2 FvDFH 16.1, 16.2

CSE 167: Lecture #7: Color and Shading. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

Local Reflection Models

CSE 167: Introduction to Computer Graphics Lecture #6: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

Illumination & Shading: Part 1

Shading I Computer Graphics I, Fall 2008

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

Computer Vision Systems. Viewing Systems Projections Illuminations Rendering Culling and Clipping Implementations

Announcements. Light. Properties of light. Light. Project status reports on Wednesday. Readings. Today. Readings Szeliski, 2.2, 2.3.

Radiometry Measuring Light

Global Illumination The Game of Light Transport. Jian Huang

The Rendering Equation. Computer Graphics CMU /15-662

Illumination Models & Shading

Lecture 7 - Path Tracing

COMP environment mapping Mar. 12, r = 2n(n v) v

Materials & Shadows. Steve Rotenberg CSE168: Rendering Algorithms UCSD, Winter 2017

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T

BRDFs. Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017

Ray-Tracing. Misha Kazhdan

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

Computer Graphics (CS 543) Lecture 8 (Part 1): Physically-Based Lighting Models

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

Phys 102 Lecture 17 Introduction to ray optics

Rendering Light Reflection Models

Shading. Brian Curless CSE 457 Spring 2017

Background: Physics and Math of Shading

Illumination and Shading

Light Reflection Models

Here I ll present a brief summary of the important aspects and then dive into improvements we made on Black Ops II.

Illumination & Shading

Fundamentals of Rendering - Reflectance Functions

Rendering Light Reflection Models

CS 465 Program 5: Ray II

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

CS 4620 Program 4: Ray II

Light. Properties of light. What is light? Today What is light? How do we measure it? How does light propagate? How does light interact with matter?

Lecture 10: Ray tracing

Transcription:

Ray Tracing: shading CS 4620 Lecture 6 2018 Steve Marschner 1

Image so far With eye ray generation and scene intersection for 0 <= iy < ny for 0 <= ix < nx { ray = camera.getray(ix, iy); c = scene.trace(ray, 0, +inf); image.set(ix, iy, c); } Scene.trace(ray, tmin, tmax) { surface, t = surfs.intersect(ray, tmin, tmax); if (surface!= null) return surface.color(); else return black; } 2018 Steve Marschner 2

Shading Compute light reflected toward camera Inputs: eye direction light direction (for each of many lights) surface normal surface parameters (color, roughness, ) l n v 2018 Steve Marschner 3

Shading philosophy Goals of shading depend on purpose of image visualization, CAD: maximize visual clarity visual effects, advertising: maximize resemblance to reality animation, games: somewhere in between Basic starting point: physics of light reflection a set of useful approximations to real surfaces can remove things for simplicity/clarity can add things for increased accuracy/realism 2018 Steve Marschner 4

Light Think of light as a flow of particles through space disregarding wave nature: polarization, interference, diffraction for now disregarding color: only how much light Sources of light point sources (a flashlight) we will stick to this for now. directional sources (the sun) area sources (a fluorescent tube) environment sources (the sky) 2018 Steve Marschner 5

P<latexit sha1_base64="e0l+vdaixf9rbmn3zpt7mbpltkk=">aaacjhicbvbltimxek0gbkiy/ks2fhesi5l0j0qirecwyceispsaleti7vsdhe1ubdciauueboemniyvysggm3aena4gzoasld2/qleff6wcgxsez97y+mspyansdhnm5+zc/mli0h+tzjphybkr6joighrcywi5fxisaqqyengcxewn88dxqa1p1jhtp9iv9ezxmdnqhxxyol2obnwgcpi/ql2dyvyrfne6xftmor2ezrkvzyia064fqf0vc7xu3zxqy5naqbmtguwpu6bn2hzquymmmxf7dsiay3oktrr7ypkc/ariqtsmlynxkak9n//mhur3uxzm42y35yrnlco2ghrngtiedi8npa6rwdf3gdln3a6envnnmxuwltufmpdd436+0di/4jgmuu9bvjaxzxutwq99n1fz699xrpw7pncwua83gxtkbdzqh6d56wbyr25vg8ngzwd35csuyavwyr1qsak7sa8tciebwg3cwp137z14j97tqhtme9csw1/hvbwbclcl/g==</latexit> <latexit sha1_base64="e0l+vdaixf9rbmn3zpt7mbpltkk=">aaacjhicbvbltimxek0gbkiy/ks2fhesi5l0j0qirecwyceispsaleti7vsdhe1ubdciauueboemniyvysggm3aena4gzoasld2/qleff6wcgxsez97y+mspyansdhnm5+zc/mli0h+tzjphybkr6joighrcywi5fxisaqqyengcxewn88dxqa1p1jhtp9iv9ezxmdnqhxxyol2obnwgcpi/ql2dyvyrfne6xftmor2ezrkvzyia064fqf0vc7xu3zxqy5naqbmtguwpu6bn2hzquymmmxf7dsiay3oktrr7ypkc/ariqtsmlynxkak9n//mhur3uxzm42y35yrnlco2ghrngtiedi8npa6rwdf3gdln3a6envnnmxuwltufmpdd436+0di/4jgmuu9bvjaxzxutwq99n1fz699xrpw7pncwua83gxtkbdzqh6d56wbyr25vg8ngzwd35csuyavwyr1qsak7sa8tciebwg3cwp137z14j97tqhtme9csw1/hvbwbclcl/g==</latexit> <latexit sha1_base64="e0l+vdaixf9rbmn3zpt7mbpltkk=">aaacjhicbvbltimxek0gbkiy/ks2fhesi5l0j0qirecwyceispsaleti7vsdhe1ubdciauueboemniyvysggm3aena4gzoasld2/qleff6wcgxsez97y+mspyansdhnm5+zc/mli0h+tzjphybkr6joighrcywi5fxisaqqyengcxewn88dxqa1p1jhtp9iv9ezxmdnqhxxyol2obnwgcpi/ql2dyvyrfne6xftmor2ezrkvzyia064fqf0vc7xu3zxqy5naqbmtguwpu6bn2hzquymmmxf7dsiay3oktrr7ypkc/ariqtsmlynxkak9n//mhur3uxzm42y35yrnlco2ghrngtiedi8npa6rwdf3gdln3a6envnnmxuwltufmpdd436+0di/4jgmuu9bvjaxzxutwq99n1fz699xrpw7pncwua83gxtkbdzqh6d56wbyr25vg8ngzwd35csuyavwyr1qsak7sa8tciebwg3cwp137z14j97tqhtme9csw1/hvbwbclcl/g==</latexit> <latexit sha1_base64="e0l+vdaixf9rbmn3zpt7mbpltkk=">aaacjhicbvbltimxek0gbkiy/ks2fhesi5l0j0qirecwyceispsaleti7vsdhe1ubdciauueboemniyvysggm3aena4gzoasld2/qleff6wcgxsez97y+mspyansdhnm5+zc/mli0h+tzjphybkr6joighrcywi5fxisaqqyengcxewn88dxqa1p1jhtp9iv9ezxmdnqhxxyol2obnwgcpi/ql2dyvyrfne6xftmor2ezrkvzyia064fqf0vc7xu3zxqy5naqbmtguwpu6bn2hzquymmmxf7dsiay3oktrr7ypkc/ariqtsmlynxkak9n//mhur3uxzm42y35yrnlco2ghrngtiedi8npa6rwdf3gdln3a6envnnmxuwltufmpdd436+0di/4jgmuu9bvjaxzxutwq99n1fz699xrpw7pncwua83gxtkbdzqh6d56wbyr25vg8ngzwd35csuyavwyr1qsak7sa8tciebwg3cwp137z14j97tqhtme9csw1/hvbwbclcl/g==</latexit> Light falloff r irradiance here: P/(4 r 2 ) power: <latexit sha1_base64="e0l+vdaixf9rbmn3zpt7mbpltkk=">aaacjhicbvbltimxek0gbkiy/ks2fhesi5l0j0qirecwyceispsaleti7vsdhe1ubdciauueboemniyvysggm3aena4gzoasld2/qleff6wcgxsez97y+mspyansdhnm5+zc/mli0h+tzjphybkr6joighrcywi5fxisaqqyengcxewn88dxqa1p1jhtp9iv9ezxmdnqhxxyol2obnwgcpi/ql2dyvyrfne6xftmor2ezrkvzyia064fqf0vc7xu3zxqy5naqbmtguwpu6bn2hzquymmmxf7dsiay3oktrr7ypkc/ariqtsmlynxkak9n//mhur3uxzm42y35yrnlco2ghrngtiedi8npa6rwdf3gdln3a6envnnmxuwltufmpdd436+0di/4jgmuu9bvjaxzxutwq99n1fz699xrpw7pncwua83gxtkbdzqh6d56wbyr25vg8ngzwd35csuyavwyr1qsak7sa8tciebwg3cwp137z14j97tqhtme9csw1/hvbwbclcl/g==</latexit> 1 irradiance here: P/(4 ) 2018 Steve Marschner 6

P<latexit sha1_base64="e0l+vdaixf9rbmn3zpt7mbpltkk=">aaacjhicbvbltimxek0gbkiy/ks2fhesi5l0j0qirecwyceispsaleti7vsdhe1ubdciauueboemniyvysggm3aena4gzoasld2/qleff6wcgxsez97y+mspyansdhnm5+zc/mli0h+tzjphybkr6joighrcywi5fxisaqqyengcxewn88dxqa1p1jhtp9iv9ezxmdnqhxxyol2obnwgcpi/ql2dyvyrfne6xftmor2ezrkvzyia064fqf0vc7xu3zxqy5naqbmtguwpu6bn2hzquymmmxf7dsiay3oktrr7ypkc/ariqtsmlynxkak9n//mhur3uxzm42y35yrnlco2ghrngtiedi8npa6rwdf3gdln3a6envnnmxuwltufmpdd436+0di/4jgmuu9bvjaxzxutwq99n1fz699xrpw7pncwua83gxtkbdzqh6d56wbyr25vg8ngzwd35csuyavwyr1qsak7sa8tciebwg3cwp137z14j97tqhtme9csw1/hvbwbclcl/g==</latexit> <latexit sha1_base64="e0l+vdaixf9rbmn3zpt7mbpltkk=">aaacjhicbvbltimxek0gbkiy/ks2fhesi5l0j0qirecwyceispsaleti7vsdhe1ubdciauueboemniyvysggm3aena4gzoasld2/qleff6wcgxsez97y+mspyansdhnm5+zc/mli0h+tzjphybkr6joighrcywi5fxisaqqyengcxewn88dxqa1p1jhtp9iv9ezxmdnqhxxyol2obnwgcpi/ql2dyvyrfne6xftmor2ezrkvzyia064fqf0vc7xu3zxqy5naqbmtguwpu6bn2hzquymmmxf7dsiay3oktrr7ypkc/ariqtsmlynxkak9n//mhur3uxzm42y35yrnlco2ghrngtiedi8npa6rwdf3gdln3a6envnnmxuwltufmpdd436+0di/4jgmuu9bvjaxzxutwq99n1fz699xrpw7pncwua83gxtkbdzqh6d56wbyr25vg8ngzwd35csuyavwyr1qsak7sa8tciebwg3cwp137z14j97tqhtme9csw1/hvbwbclcl/g==</latexit> <latexit sha1_base64="e0l+vdaixf9rbmn3zpt7mbpltkk=">aaacjhicbvbltimxek0gbkiy/ks2fhesi5l0j0qirecwyceispsaleti7vsdhe1ubdciauueboemniyvysggm3aena4gzoasld2/qleff6wcgxsez97y+mspyansdhnm5+zc/mli0h+tzjphybkr6joighrcywi5fxisaqqyengcxewn88dxqa1p1jhtp9iv9ezxmdnqhxxyol2obnwgcpi/ql2dyvyrfne6xftmor2ezrkvzyia064fqf0vc7xu3zxqy5naqbmtguwpu6bn2hzquymmmxf7dsiay3oktrr7ypkc/ariqtsmlynxkak9n//mhur3uxzm42y35yrnlco2ghrngtiedi8npa6rwdf3gdln3a6envnnmxuwltufmpdd436+0di/4jgmuu9bvjaxzxutwq99n1fz699xrpw7pncwua83gxtkbdzqh6d56wbyr25vg8ngzwd35csuyavwyr1qsak7sa8tciebwg3cwp137z14j97tqhtme9csw1/hvbwbclcl/g==</latexit> <latexit sha1_base64="e0l+vdaixf9rbmn3zpt7mbpltkk=">aaacjhicbvbltimxek0gbkiy/ks2fhesi5l0j0qirecwyceispsaleti7vsdhe1ubdciauueboemniyvysggm3aena4gzoasld2/qleff6wcgxsez97y+mspyansdhnm5+zc/mli0h+tzjphybkr6joighrcywi5fxisaqqyengcxewn88dxqa1p1jhtp9iv9ezxmdnqhxxyol2obnwgcpi/ql2dyvyrfne6xftmor2ezrkvzyia064fqf0vc7xu3zxqy5naqbmtguwpu6bn2hzquymmmxf7dsiay3oktrr7ypkc/ariqtsmlynxkak9n//mhur3uxzm42y35yrnlco2ghrngtiedi8npa6rwdf3gdln3a6envnnmxuwltufmpdd436+0di/4jgmuu9bvjaxzxutwq99n1fz699xrpw7pncwua83gxtkbdzqh6d56wbyr25vg8ngzwd35csuyavwyr1qsak7sa8tciebwg3cwp137z14j97tqhtme9csw1/hvbwbclcl/g==</latexit> Light falloff r irradiance here: P/(4 r 2 ) power: <latexit sha1_base64="e0l+vdaixf9rbmn3zpt7mbpltkk=">aaacjhicbvbltimxek0gbkiy/ks2fhesi5l0j0qirecwyceispsaleti7vsdhe1ubdciauueboemniyvysggm3aena4gzoasld2/qleff6wcgxsez97y+mspyansdhnm5+zc/mli0h+tzjphybkr6joighrcywi5fxisaqqyengcxewn88dxqa1p1jhtp9iv9ezxmdnqhxxyol2obnwgcpi/ql2dyvyrfne6xftmor2ezrkvzyia064fqf0vc7xu3zxqy5naqbmtguwpu6bn2hzquymmmxf7dsiay3oktrr7ypkc/ariqtsmlynxkak9n//mhur3uxzm42y35yrnlco2ghrngtiedi8npa6rwdf3gdln3a6envnnmxuwltufmpdd436+0di/4jgmuu9bvjaxzxutwq99n1fz699xrpw7pncwua83gxtkbdzqh6d56wbyr25vg8ngzwd35csuyavwyr1qsak7sa8tciebwg3cwp137z14j97tqhtme9csw1/hvbwbclcl/g==</latexit> 1 irradiance here: P/(4 ) 2018 Steve Marschner 6

<latexit sha1_base64="vrv6dp9yvhldalgapxyn1znnobk=">aaacanicbzdlsgmxgix/8vrrrepon8eiucrtdsc6efvdukxgbaezlkyaaumzf5kmuiacg1/fjqsvtz6fo9/crzcdvvf2ipbxzv+t5lgrz1kz5psxmzs3v7cywcour6yurec2ni9lgatcgytkowi5wfloatpqthhaigtfvstp0x2cjvpmnrwshcgfgkbu8xevyb4jwgmrk9uud2rocnwr7qlmktooseyiixfvgnvyebngpkj/otif/pe7pkp3cq92nysxtwnfojayxtqj5srykey4hwxtwniikwhu0bbgaptuokn6hxha004xeahqj1aodb9vjnixcui7etlhqi9/z2pzv6wdk6/ijcyiykudmrniizlsiroxgrpmukl4uammgum3itlhugyla8umjvilusuqowmui59q+sqhusocfsxzk189mzqbgdibxdihihxafc6gdg0gcan38acpxq1xbzwzz5prgwo6swu/zlx8amjwl4u=</latexit> <latexit sha1_base64="vrv6dp9yvhldalgapxyn1znnobk=">aaacanicbzdlsgmxgix/8vrrrepon8eiucrtdsc6efvdukxgbaezlkyaaumzf5kmuiacg1/fjqsvtz6fo9/crzcdvvf2ipbxzv+t5lgrz1kz5psxmzs3v7cywcour6yurec2ni9lgatcgytkowi5wfloatpqthhaigtfvstp0x2cjvpmnrwshcgfgkbu8xevyb4jwgmrk9uud2rocnwr7qlmktooseyiixfvgnvyebngpkj/otif/pe7pkp3cq92nysxtwnfojayxtqj5srykey4hwxtwniikwhu0bbgaptuokn6hxha004xeahqj1aodb9vjnixcui7etlhqi9/z2pzv6wdk6/ijcyiykudmrniizlsiroxgrpmukl4uammgum3itlhugyla8umjvilusuqowmui59q+sqhusocfsxzk189mzqbgdibxdihihxafc6gdg0gcan38acpxq1xbzwzz5prgwo6swu/zlx8amjwl4u=</latexit> <latexit sha1_base64="vrv6dp9yvhldalgapxyn1znnobk=">aaacanicbzdlsgmxgix/8vrrrepon8eiucrtdsc6efvdukxgbaezlkyaaumzf5kmuiacg1/fjqsvtz6fo9/crzcdvvf2ipbxzv+t5lgrz1kz5psxmzs3v7cywcour6yurec2ni9lgatcgytkowi5wfloatpqthhaigtfvstp0x2cjvpmnrwshcgfgkbu8xevyb4jwgmrk9uud2rocnwr7qlmktooseyiixfvgnvyebngpkj/otif/pe7pkp3cq92nysxtwnfojayxtqj5srykey4hwxtwniikwhu0bbgaptuokn6hxha004xeahqj1aodb9vjnixcui7etlhqi9/z2pzv6wdk6/ijcyiykudmrniizlsiroxgrpmukl4uammgum3itlhugyla8umjvilusuqowmui59q+sqhusocfsxzk189mzqbgdibxdihihxafc6gdg0gcan38acpxq1xbzwzz5prgwo6swu/zlx8amjwl4u=</latexit> <latexit sha1_base64="vrv6dp9yvhldalgapxyn1znnobk=">aaacanicbzdlsgmxgix/8vrrrepon8eiucrtdsc6efvdukxgbaezlkyaaumzf5kmuiacg1/fjqsvtz6fo9/crzcdvvf2ipbxzv+t5lgrz1kz5psxmzs3v7cywcour6yurec2ni9lgatcgytkowi5wfloatpqthhaigtfvstp0x2cjvpmnrwshcgfgkbu8xevyb4jwgmrk9uud2rocnwr7qlmktooseyiixfvgnvyebngpkj/otif/pe7pkp3cq92nysxtwnfojayxtqj5srykey4hwxtwniikwhu0bbgaptuokn6hxha004xeahqj1aodb9vjnixcui7etlhqi9/z2pzv6wdk6/ijcyiykudmrniizlsiroxgrpmukl4uammgum3itlhugyla8umjvilusuqowmui59q+sqhusocfsxzk189mzqbgdibxdihihxafc6gdg0gcan38acpxq1xbzwzz5prgwo6swu/zlx8amjwl4u=</latexit> <latexit sha1_base64="vrv6dp9yvhldalgapxyn1znnobk=">aaacanicbzdlsgmxgix/8vrrrepon8eiucrtdsc6efvdukxgbaezlkyaaumzf5kmuiacg1/fjqsvtz6fo9/crzcdvvf2ipbxzv+t5lgrz1kz5psxmzs3v7cywcour6yurec2ni9lgatcgytkowi5wfloatpqthhaigtfvstp0x2cjvpmnrwshcgfgkbu8xevyb4jwgmrk9uud2rocnwr7qlmktooseyiixfvgnvyebngpkj/otif/pe7pkp3cq92nysxtwnfojayxtqj5srykey4hwxtwniikwhu0bbgaptuokn6hxha004xeahqj1aodb9vjnixcui7etlhqi9/z2pzv6wdk6/ijcyiykudmrniizlsiroxgrpmukl4uammgum3itlhugyla8umjvilusuqowmui59q+sqhusocfsxzk189mzqbgdibxdihihxafc6gdg0gcan38acpxq1xbzwzz5prgwo6swu/zlx8amjwl4u=</latexit> <latexit sha1_base64="3ihafynm2egdl5c9t10sw8xhnvi=">aaacj3icbzdlsgmxfibpelfeqi7dbivgqs7uaetctirgcgrrc20tmtsjwcyfjcouyr7hja/irkrfl76bj2a6u0wrbwjf/v8ctvk7ewdsmeabmty+mtk1ptnbmjtfwfwqlq+cyzawhnzjyeprdlgknaw0rpjitbkjin2x04z7fttwgzdusbygz6of0y6plwpmmykvlrrf/wo0h5xudw2hmqa2jzbjndsx2xfd4qksjorp8gqlycdufktm2cwk/qvrckx9d8jk6ryf272qxd4nfofyypzlrqqtykey4tqttgnji0yu8svtaqywt2unyt6aog2t9jaxcn0chtl150scfsn7vqs7fayu5kg3ep/zwrhyqp2ebvgsaedyrv7mkqrridxuy4isxfsambfmvxwrk6xzudrbqhacxalu7w2uw7b1bdxveoqv8m7zplvlb4d5gdada7aom2dbdhzacthqbwk3ca9p8gzcgq/gi/gat44zw5lv+fxg+yfzkkvh</latexit> <latexit sha1_base64="3ihafynm2egdl5c9t10sw8xhnvi=">aaacj3icbzdlsgmxfibpelfeqi7dbivgqs7uaetctirgcgrrc20tmtsjwcyfjcouyr7hja/irkrfl76bj2a6u0wrbwjf/v8ctvk7ewdsmeabmty+mtk1ptnbmjtfwfwqlq+cyzawhnzjyeprdlgknaw0rpjitbkjin2x04z7fttwgzdusbygz6of0y6plwpmmykvlrrf/wo0h5xudw2hmqa2jzbjndsx2xfd4qksjorp8gqlycdufktm2cwk/qvrckx9d8jk6ryf272qxd4nfofyypzlrqqtykey4tqttgnji0yu8svtaqywt2unyt6aog2t9jaxcn0chtl150scfsn7vqs7fayu5kg3ep/zwrhyqp2ebvgsaedyrv7mkqrridxuy4isxfsambfmvxwrk6xzudrbqhacxalu7w2uw7b1bdxveoqv8m7zplvlb4d5gdada7aom2dbdhzacthqbwk3ca9p8gzcgq/gi/gat44zw5lv+fxg+yfzkkvh</latexit> <latexit sha1_base64="3ihafynm2egdl5c9t10sw8xhnvi=">aaacj3icbzdlsgmxfibpelfeqi7dbivgqs7uaetctirgcgrrc20tmtsjwcyfjcouyr7hja/irkrfl76bj2a6u0wrbwjf/v8ctvk7ewdsmeabmty+mtk1ptnbmjtfwfwqlq+cyzawhnzjyeprdlgknaw0rpjitbkjin2x04z7fttwgzdusbygz6of0y6plwpmmykvlrrf/wo0h5xudw2hmqa2jzbjndsx2xfd4qksjorp8gqlycdufktm2cwk/qvrckx9d8jk6ryf272qxd4nfofyypzlrqqtykey4tqttgnji0yu8svtaqywt2unyt6aog2t9jaxcn0chtl150scfsn7vqs7fayu5kg3ep/zwrhyqp2ebvgsaedyrv7mkqrridxuy4isxfsambfmvxwrk6xzudrbqhacxalu7w2uw7b1bdxveoqv8m7zplvlb4d5gdada7aom2dbdhzacthqbwk3ca9p8gzcgq/gi/gat44zw5lv+fxg+yfzkkvh</latexit> <latexit sha1_base64="3ihafynm2egdl5c9t10sw8xhnvi=">aaacj3icbzdlsgmxfibpelfeqi7dbivgqs7uaetctirgcgrrc20tmtsjwcyfjcouyr7hja/irkrfl76bj2a6u0wrbwjf/v8ctvk7ewdsmeabmty+mtk1ptnbmjtfwfwqlq+cyzawhnzjyeprdlgknaw0rpjitbkjin2x04z7fttwgzdusbygz6of0y6plwpmmykvlrrf/wo0h5xudw2hmqa2jzbjndsx2xfd4qksjorp8gqlycdufktm2cwk/qvrckx9d8jk6ryf272qxd4nfofyypzlrqqtykey4tqttgnji0yu8svtaqywt2unyt6aog2t9jaxcn0chtl150scfsn7vqs7fayu5kg3ep/zwrhyqp2ebvgsaedyrv7mkqrridxuy4isxfsambfmvxwrk6xzudrbqhacxalu7w2uw7b1bdxveoqv8m7zplvlb4d5gdada7aom2dbdhzacthqbwk3ca9p8gzcgq/gi/gat44zw5lv+fxg+yfzkkvh</latexit> <latexit sha1_base64="3ihafynm2egdl5c9t10sw8xhnvi=">aaacj3icbzdlsgmxfibpelfeqi7dbivgqs7uaetctirgcgrrc20tmtsjwcyfjcouyr7hja/irkrfl76bj2a6u0wrbwjf/v8ctvk7ewdsmeabmty+mtk1ptnbmjtfwfwqlq+cyzawhnzjyeprdlgknaw0rpjitbkjin2x04z7fttwgzdusbygz6of0y6plwpmmykvlrrf/wo0h5xudw2hmqa2jzbjndsx2xfd4qksjorp8gqlycdufktm2cwk/qvrckx9d8jk6ryf272qxd4nfofyypzlrqqtykey4tqttgnji0yu8svtaqywt2unyt6aog2t9jaxcn0chtl150scfsn7vqs7fayu5kg3ep/zwrhyqp2ebvgsaedyrv7mkqrridxuy4isxfsambfmvxwrk6xzudrbqhacxalu7w2uw7b1bdxveoqv8m7zplvlb4d5gdada7aom2dbdhzacthqbwk3ca9p8gzcgq/gi/gat44zw5lv+fxg+yfzkkvh</latexit> Irradiance from isotropic point source A sphere surrounding the source receives all the power A small, flat surface of area A facing the source receives a fraction (area of surface) / (area of sphere) of that power: P A = P A 4 r 2 Irradiance is power per unit area: E = P A /A = P 4 r 2 = P 4 1 r 2 intensity geometry factor 2018 Steve Marschner 7

Lambert s cosine law l n Top face of cube receives a certain amount of light Top face of 60º rotated cube intercepts half the light In general, light per unit area is proportional to cos θ = l n 2018 Steve Marschner 8

<latexit sha1_base64="wvda6mp+9m2djbttbfqdl1oz6u0=">aaacdxicbzdlsgmxfibpek31vnxpjlgev2v6aetctlpxwcfaovnljs20wcyf5ixqhj6bg1/fjqsvt+7d+ry+gum0ircfah//fw5jfjesqqntv1lt0zozc/ozhezi0vlkam5t/vyhswk8wuizqguxai5fwbsoupklshhqu5i33avjud685kqlmdjdqctbpu0fwhomore6ue16p0b2sz04nqisqrghhdrbpkc6tcpojii6la07ubxdsforv1ccqp7ghvlvo7lxpxuy2ocbmkm1bhxtcnsjvsiy5mose2seuxzfe7xlmka+1+0k/c6qbbuns7xqmrmgsd3vgwn1tr74rpn0kfb172xk/pe1yvsq7uqeuyw8yoolvfgsdmmog9ivijouawoukwheslifml7qnjhns6iustvkmyyhxpye6lcjjvjhr2cfvvkhr+myiaobsau7uirdoiqtqemdgnzahtzao3vr3vtp1vn4dmqa7gzad1kvhyltncy=</latexit> <latexit sha1_base64="wvda6mp+9m2djbttbfqdl1oz6u0=">aaacdxicbzdlsgmxfibpek31vnxpjlgev2v6aetctlpxwcfaovnljs20wcyf5ixqhj6bg1/fjqsvt+7d+ry+gum0ircfah//fw5jfjesqqntv1lt0zozc/ozhezi0vlkam5t/vyhswk8wuizqguxai5fwbsoupklshhqu5i33avjud685kqlmdjdqctbpu0fwhomore6ue16p0b2sz04nqisqrghhdrbpkc6tcpojii6la07ubxdsforv1ccqp7ghvlvo7lxpxuy2ocbmkm1bhxtcnsjvsiy5mose2seuxzfe7xlmka+1+0k/c6qbbuns7xqmrmgsd3vgwn1tr74rpn0kfb172xk/pe1yvsq7uqeuyw8yoolvfgsdmmog9ivijouawoukwheslifml7qnjhns6iustvkmyyhxpye6lcjjvjhr2cfvvkhr+myiaobsau7uirdoiqtqemdgnzahtzao3vr3vtp1vn4dmqa7gzad1kvhyltncy=</latexit> <latexit sha1_base64="wvda6mp+9m2djbttbfqdl1oz6u0=">aaacdxicbzdlsgmxfibpek31vnxpjlgev2v6aetctlpxwcfaovnljs20wcyf5ixqhj6bg1/fjqsvt+7d+ry+gum0ircfah//fw5jfjesqqntv1lt0zozc/ozhezi0vlkam5t/vyhswk8wuizqguxai5fwbsoupklshhqu5i33avjud685kqlmdjdqctbpu0fwhomore6ue16p0b2sz04nqisqrghhdrbpkc6tcpojii6la07ubxdsforv1ccqp7ghvlvo7lxpxuy2ocbmkm1bhxtcnsjvsiy5mose2seuxzfe7xlmka+1+0k/c6qbbuns7xqmrmgsd3vgwn1tr74rpn0kfb172xk/pe1yvsq7uqeuyw8yoolvfgsdmmog9ivijouawoukwheslifml7qnjhns6iustvkmyyhxpye6lcjjvjhr2cfvvkhr+myiaobsau7uirdoiqtqemdgnzahtzao3vr3vtp1vn4dmqa7gzad1kvhyltncy=</latexit> <latexit sha1_base64="wvda6mp+9m2djbttbfqdl1oz6u0=">aaacdxicbzdlsgmxfibpek31vnxpjlgev2v6aetctlpxwcfaovnljs20wcyf5ixqhj6bg1/fjqsvt+7d+ry+gum0ircfah//fw5jfjesqqntv1lt0zozc/ozhezi0vlkam5t/vyhswk8wuizqguxai5fwbsoupklshhqu5i33avjud685kqlmdjdqctbpu0fwhomore6ue16p0b2sz04nqisqrghhdrbpkc6tcpojii6la07ubxdsforv1ccqp7ghvlvo7lxpxuy2ocbmkm1bhxtcnsjvsiy5mose2seuxzfe7xlmka+1+0k/c6qbbuns7xqmrmgsd3vgwn1tr74rpn0kfb172xk/pe1yvsq7uqeuyw8yoolvfgsdmmog9ivijouawoukwheslifml7qnjhns6iustvkmyyhxpye6lcjjvjhr2cfvvkhr+myiaobsau7uirdoiqtqemdgnzahtzao3vr3vtp1vn4dmqa7gzad1kvhyltncy=</latexit> <latexit sha1_base64="wvda6mp+9m2djbttbfqdl1oz6u0=">aaacdxicbzdlsgmxfibpek31vnxpjlgev2v6aetctlpxwcfaovnljs20wcyf5ixqhj6bg1/fjqsvt+7d+ry+gum0ircfah//fw5jfjesqqntv1lt0zozc/ozhezi0vlkam5t/vyhswk8wuizqguxai5fwbsoupklshhqu5i33avjud685kqlmdjdqctbpu0fwhomore6ue16p0b2sz04nqisqrghhdrbpkc6tcpojii6la07ubxdsforv1ccqp7ghvlvo7lxpxuy2ocbmkm1bhxtcnsjvsiy5mose2seuxzfe7xlmka+1+0k/c6qbbuns7xqmrmgsd3vgwn1tr74rpn0kfb172xk/pe1yvsq7uqeuyw8yoolvfgsdmmog9ivijouawoukwheslifml7qnjhns6iustvkmyyhxpye6lcjjvjhr2cfvvkhr+myiaobsau7uirdoiqtqemdgnzahtzao3vr3vtp1vn4dmqa7gzad1kvhyltncy=</latexit> <latexit sha1_base64="yp2i7romeayvwxlitfnycmf2xiy=">aaacg3icbzdlsgmxfibpelfeqi7dbivgqk4vyf2inwsxfawknvoyacygmxesm0iz5khc+cpuxki4elz4fj6c6bsktx8cx/5zdif53ugkjbb9zo2mjo1pte5n52zm5+yx8otlpzqmfemnfspqnbtucykc3kcbkp9hilpflfzmvtro18+uudiide6wf/gwty8d4qlg0vjtfowqbjn6e49skd1djqcos+ppunuikq6vdgu1g12one3urtlt5wt20c5e/kjpciwdd8hub+dfne7iyp8hyctvulmyi2wlvkfgkqc5j9y8ouykxvkmwyd6xles7hmpwtnoh3ihmidakrnfjxlqa93zxdppu+zq37w++v+tganxayuiiglkarss8mjjmct9pehhkm5q9gxqpor5k2fdagjbk2cuc6falteqftkasuktal8hnmrfraj9xc3s7g/cgclygvvyhxjswi4cqr0awoag7uabhq1b6956sp4hrspwcgyzfsh6/qa146gl</latexit> <latexit sha1_base64="yp2i7romeayvwxlitfnycmf2xiy=">aaacg3icbzdlsgmxfibpelfeqi7dbivgqk4vyf2inwsxfawknvoyacygmxesm0iz5khc+cpuxki4elz4fj6c6bsktx8cx/5zdif53ugkjbb9zo2mjo1pte5n52zm5+yx8otlpzqmfemnfspqnbtucykc3kcbkp9hilpflfzmvtro18+uudiide6wf/gwty8d4qlg0vjtfowqbjn6e49skd1djqcos+ppunuikq6vdgu1g12one3urtlt5wt20c5e/kjpciwdd8hub+dfne7iyp8hyctvulmyi2wlvkfgkqc5j9y8ouykxvkmwyd6xles7hmpwtnoh3ihmidakrnfjxlqa93zxdppu+zq37w++v+tganxayuiiglkarss8mjjmct9pehhkm5q9gxqpor5k2fdagjbk2cuc6falteqftkasuktal8hnmrfraj9xc3s7g/cgclygvvyhxjswi4cqr0awoag7uabhq1b6956sp4hrspwcgyzfsh6/qa146gl</latexit> <latexit sha1_base64="yp2i7romeayvwxlitfnycmf2xiy=">aaacg3icbzdlsgmxfibpelfeqi7dbivgqk4vyf2inwsxfawknvoyacygmxesm0iz5khc+cpuxki4elz4fj6c6bsktx8cx/5zdif53ugkjbb9zo2mjo1pte5n52zm5+yx8otlpzqmfemnfspqnbtucykc3kcbkp9hilpflfzmvtro18+uudiide6wf/gwty8d4qlg0vjtfowqbjn6e49skd1djqcos+ppunuikq6vdgu1g12one3urtlt5wt20c5e/kjpciwdd8hub+dfne7iyp8hyctvulmyi2wlvkfgkqc5j9y8ouykxvkmwyd6xles7hmpwtnoh3ihmidakrnfjxlqa93zxdppu+zq37w++v+tganxayuiiglkarss8mjjmct9pehhkm5q9gxqpor5k2fdagjbk2cuc6falteqftkasuktal8hnmrfraj9xc3s7g/cgclygvvyhxjswi4cqr0awoag7uabhq1b6956sp4hrspwcgyzfsh6/qa146gl</latexit> <latexit sha1_base64="yp2i7romeayvwxlitfnycmf2xiy=">aaacg3icbzdlsgmxfibpelfeqi7dbivgqk4vyf2inwsxfawknvoyacygmxesm0iz5khc+cpuxki4elz4fj6c6bsktx8cx/5zdif53ugkjbb9zo2mjo1pte5n52zm5+yx8otlpzqmfemnfspqnbtucykc3kcbkp9hilpflfzmvtro18+uudiide6wf/gwty8d4qlg0vjtfowqbjn6e49skd1djqcos+ppunuikq6vdgu1g12one3urtlt5wt20c5e/kjpciwdd8hub+dfne7iyp8hyctvulmyi2wlvkfgkqc5j9y8ouykxvkmwyd6xles7hmpwtnoh3ihmidakrnfjxlqa93zxdppu+zq37w++v+tganxayuiiglkarss8mjjmct9pehhkm5q9gxqpor5k2fdagjbk2cuc6falteqftkasuktal8hnmrfraj9xc3s7g/cgclygvvyhxjswi4cqr0awoag7uabhq1b6956sp4hrspwcgyzfsh6/qa146gl</latexit> <latexit sha1_base64="yp2i7romeayvwxlitfnycmf2xiy=">aaacg3icbzdlsgmxfibpelfeqi7dbivgqk4vyf2inwsxfawknvoyacygmxesm0iz5khc+cpuxki4elz4fj6c6bsktx8cx/5zdif53ugkjbb9zo2mjo1pte5n52zm5+yx8otlpzqmfemnfspqnbtucykc3kcbkp9hilpflfzmvtro18+uudiide6wf/gwty8d4qlg0vjtfowqbjn6e49skd1djqcos+ppunuikq6vdgu1g12one3urtlt5wt20c5e/kjpciwdd8hub+dfne7iyp8hyctvulmyi2wlvkfgkqc5j9y8ouykxvkmwyd6xles7hmpwtnoh3ihmidakrnfjxlqa93zxdppu+zq37w++v+tganxayuiiglkarss8mjjmct9pehhkm5q9gxqpor5k2fdagjbk2cuc6falteqftkasuktal8hnmrfraj9xc3s7g/cgclygvvyhxjswi4cqr0awoag7uabhq1b6956sp4hrspwcgyzfsh6/qa146gl</latexit> Irradiance from isotropic point source A surface of area A facing at an angle to the source receives a factor of cos θ less light: P A = P A cos 4 r 2 Irradiance is power per unit area: E = P A /A = P 4 cos r 2 intensity geometry factor 2018 Steve Marschner 9

<latexit sha1_base64="1pnc0y2otrxxxqtwixbvcpctuqe=">aaacrnicbvbnb9naeb2hasv8pxdksijcqkjetlqj9fc1aih10emryvqpjql1epyusl6b3xfvy8q/6k/hchd+ar+cxqpe2tgfuwckxb19b2zn5iwlkpbc8lvxubvy+87d1xv+/qcphz3urj35aivkcixeoqpzlhclsmqmsjlco9igzxofh8ns3ui/pevjzae/uf3ioodtltmpodlq0u3hcu6lbvct5sbw+txc35ukbivn3p3ezzhq9a9x0u2f/ban9i8yxipe9gw0st9z87w4lusvoyahulxhg7ckccmnsafw7sevxzklgz9i064zzy8clbksmo5oyi17i4/n1tz54jjztif2b21b/k87rigbjrupy4pqi2wjrfkmcrbwhqxsocbvmy6em7fi5oyqj9xwqc5dp25lmycy7hvykwd7mjhc1ahhwz4fugtvpri4zkaevt51n7l9/na0jefwtlholmb98aumfpswdfub/fbg2nt5uzqpvuezpiexmia3sao7sa8rcdihz/afvnrfvb/epxe1to141zvp4uz04cfsz7en</latexit> <latexit sha1_base64="1pnc0y2otrxxxqtwixbvcpctuqe=">aaacrnicbvbnb9naeb2hasv8pxdksijcqkjetlqj9fc1aih10emryvqpjql1epyusl6b3xfvy8q/6k/hchd+ar+cxqpe2tgfuwckxb19b2zn5iwlkpbc8lvxubvy+87d1xv+/qcphz3urj35aivkcixeoqpzlhclsmqmsjlco9igzxofh8ns3ui/pevjzae/uf3ioodtltmpodlq0u3hcu6lbvct5sbw+txc35ukbivn3p3ezzhq9a9x0u2f/ban9i8yxipe9gw0st9z87w4lusvoyahulxhg7ckccmnsafw7sevxzklgz9i064zzy8clbksmo5oyi17i4/n1tz54jjztif2b21b/k87rigbjrupy4pqi2wjrfkmcrbwhqxsocbvmy6em7fi5oyqj9xwqc5dp25lmycy7hvykwd7mjhc1ahhwz4fugtvpri4zkaevt51n7l9/na0jefwtlholmb98aumfpswdfub/fbg2nt5uzqpvuezpiexmia3sao7sa8rcdihz/afvnrfvb/epxe1to141zvp4uz04cfsz7en</latexit> <latexit sha1_base64="1pnc0y2otrxxxqtwixbvcpctuqe=">aaacrnicbvbnb9naeb2hasv8pxdksijcqkjetlqj9fc1aih10emryvqpjql1epyusl6b3xfvy8q/6k/hchd+ar+cxqpe2tgfuwckxb19b2zn5iwlkpbc8lvxubvy+87d1xv+/qcphz3urj35aivkcixeoqpzlhclsmqmsjlco9igzxofh8ns3ui/pevjzae/uf3ioodtltmpodlq0u3hcu6lbvct5sbw+txc35ukbivn3p3ezzhq9a9x0u2f/ban9i8yxipe9gw0st9z87w4lusvoyahulxhg7ckccmnsafw7sevxzklgz9i064zzy8clbksmo5oyi17i4/n1tz54jjztif2b21b/k87rigbjrupy4pqi2wjrfkmcrbwhqxsocbvmy6em7fi5oyqj9xwqc5dp25lmycy7hvykwd7mjhc1ahhwz4fugtvpri4zkaevt51n7l9/na0jefwtlholmb98aumfpswdfub/fbg2nt5uzqpvuezpiexmia3sao7sa8rcdihz/afvnrfvb/epxe1to141zvp4uz04cfsz7en</latexit> <latexit sha1_base64="1pnc0y2otrxxxqtwixbvcpctuqe=">aaacrnicbvbnb9naeb2hasv8pxdksijcqkjetlqj9fc1aih10emryvqpjql1epyusl6b3xfvy8q/6k/hchd+ar+cxqpe2tgfuwckxb19b2zn5iwlkpbc8lvxubvy+87d1xv+/qcphz3urj35aivkcixeoqpzlhclsmqmsjlco9igzxofh8ns3ui/pevjzae/uf3ioodtltmpodlq0u3hcu6lbvct5sbw+txc35ukbivn3p3ezzhq9a9x0u2f/ban9i8yxipe9gw0st9z87w4lusvoyahulxhg7ckccmnsafw7sevxzklgz9i064zzy8clbksmo5oyi17i4/n1tz54jjztif2b21b/k87rigbjrupy4pqi2wjrfkmcrbwhqxsocbvmy6em7fi5oyqj9xwqc5dp25lmycy7hvykwd7mjhc1ahhwz4fugtvpri4zkaevt51n7l9/na0jefwtlholmb98aumfpswdfub/fbg2nt5uzqpvuezpiexmia3sao7sa8rcdihz/afvnrfvb/epxe1to141zvp4uz04cfsz7en</latexit> <latexit sha1_base64="1pnc0y2otrxxxqtwixbvcpctuqe=">aaacrnicbvbnb9naeb2hasv8pxdksijcqkjetlqj9fc1aih10emryvqpjql1epyusl6b3xfvy8q/6k/hchd+ar+cxqpe2tgfuwckxb19b2zn5iwlkpbc8lvxubvy+87d1xv+/qcphz3urj35aivkcixeoqpzlhclsmqmsjlco9igzxofh8ns3ui/pevjzae/uf3ioodtltmpodlq0u3hcu6lbvct5sbw+txc35ukbivn3p3ezzhq9a9x0u2f/ban9i8yxipe9gw0st9z87w4lusvoyahulxhg7ckccmnsafw7sevxzklgz9i064zzy8clbksmo5oyi17i4/n1tz54jjztif2b21b/k87rigbjrupy4pqi2wjrfkmcrbwhqxsocbvmy6em7fi5oyqj9xwqc5dp25lmycy7hvykwd7mjhc1ahhwz4fugtvpri4zkaevt51n7l9/na0jefwtlholmb98aumfpswdfub/fbg2nt5uzqpvuezpiexmia3sao7sa8rcdihz/afvnrfvb/epxe1to141zvp4uz04cfsz7en</latexit> <latexit sha1_base64="v+7i6oqoqxbnjpakapa33awxr/w=">aaacunicbvlpa9rafh5zf9vy7vapxgyxqqq32w3brsawrfdqqxvjc80sjpox7ddjjj15kq0h/4t/jve9epc/8o7f2wwvqz4y+oz735v33seklzkwwvcbn7hy9dr1g2s3/vvrt+9sddfvfrblbqrgolslouy5rsu1rirj4wflkbepwop05nuyf3cgxspsv6emwnnbf1rmunbyvdj8fqe4klrfu82n4c3jzt9lmvacxbnhon2xzf0bv7jjr30wo87+ecbdutgo+2d/gskfgl34dn3sj5uef2elqavujbs39mgsvjrvusepfhz+xfusudjhc2z71tr20fezy0vjjibws5d0vlc2kvknldgd279zs/j/uaoa8tm8lbqqcbvyncprxahks59yjg0kug3jqrh5a05udnhmnsvk/ptjvrqniutugtvfscdtw00tej4xesc1uhwggets5pmtm/ey28fvtduetmfbw2wftia/woy3adf0vdmo305huy9x5sea3ich8agm8br24q3sqwqcpsin+axfvk/ej4h7jsvpwluouqexyrd+e8amtku=</latexit> <latexit sha1_base64="v+7i6oqoqxbnjpakapa33awxr/w=">aaacunicbvlpa9rafh5zf9vy7vapxgyxqqq32w3brsawrfdqqxvjc80sjpox7ddjjj15kq0h/4t/jve9epc/8o7f2wwvqz4y+oz735v33seklzkwwvcbn7hy9dr1g2s3/vvrt+9sddfvfrblbqrgolslouy5rsu1rirj4wflkbepwop05nuyf3cgxspsv6emwnnbf1rmunbyvdj8fqe4klrfu82n4c3jzt9lmvacxbnhon2xzf0bv7jjr30wo87+ecbdutgo+2d/gskfgl34dn3sj5uef2elqavujbs39mgsvjrvusepfhz+xfusudjhc2z71tr20fezy0vjjibws5d0vlc2kvknldgd279zs/j/uaoa8tm8lbqqcbvyncprxahks59yjg0kug3jqrh5a05udnhmnsvk/ptjvrqniutugtvfscdtw00tej4xesc1uhwggets5pmtm/ey28fvtduetmfbw2wftia/woy3adf0vdmo305huy9x5sea3ich8agm8br24q3sqwqcpsin+axfvk/ej4h7jsvpwluouqexyrd+e8amtku=</latexit> <latexit sha1_base64="v+7i6oqoqxbnjpakapa33awxr/w=">aaacunicbvlpa9rafh5zf9vy7vapxgyxqqq32w3brsawrfdqqxvjc80sjpox7ddjjj15kq0h/4t/jve9epc/8o7f2wwvqz4y+oz735v33seklzkwwvcbn7hy9dr1g2s3/vvrt+9sddfvfrblbqrgolslouy5rsu1rirj4wflkbepwop05nuyf3cgxspsv6emwnnbf1rmunbyvdj8fqe4klrfu82n4c3jzt9lmvacxbnhon2xzf0bv7jjr30wo87+ecbdutgo+2d/gskfgl34dn3sj5uef2elqavujbs39mgsvjrvusepfhz+xfusudjhc2z71tr20fezy0vjjibws5d0vlc2kvknldgd279zs/j/uaoa8tm8lbqqcbvyncprxahks59yjg0kug3jqrh5a05udnhmnsvk/ptjvrqniutugtvfscdtw00tej4xesc1uhwggets5pmtm/ey28fvtduetmfbw2wftia/woy3adf0vdmo305huy9x5sea3ich8agm8br24q3sqwqcpsin+axfvk/ej4h7jsvpwluouqexyrd+e8amtku=</latexit> <latexit sha1_base64="v+7i6oqoqxbnjpakapa33awxr/w=">aaacunicbvlpa9rafh5zf9vy7vapxgyxqqq32w3brsawrfdqqxvjc80sjpox7ddjjj15kq0h/4t/jve9epc/8o7f2wwvqz4y+oz735v33seklzkwwvcbn7hy9dr1g2s3/vvrt+9sddfvfrblbqrgolslouy5rsu1rirj4wflkbepwop05nuyf3cgxspsv6emwnnbf1rmunbyvdj8fqe4klrfu82n4c3jzt9lmvacxbnhon2xzf0bv7jjr30wo87+ecbdutgo+2d/gskfgl34dn3sj5uef2elqavujbs39mgsvjrvusepfhz+xfusudjhc2z71tr20fezy0vjjibws5d0vlc2kvknldgd279zs/j/uaoa8tm8lbqqcbvyncprxahks59yjg0kug3jqrh5a05udnhmnsvk/ptjvrqniutugtvfscdtw00tej4xesc1uhwggets5pmtm/ey28fvtduetmfbw2wftia/woy3adf0vdmo305huy9x5sea3ich8agm8br24q3sqwqcpsin+axfvk/ej4h7jsvpwluouqexyrd+e8amtku=</latexit> <latexit sha1_base64="v+7i6oqoqxbnjpakapa33awxr/w=">aaacunicbvlpa9rafh5zf9vy7vapxgyxqqq32w3brsawrfdqqxvjc80sjpox7ddjjj15kq0h/4t/jve9epc/8o7f2wwvqz4y+oz735v33seklzkwwvcbn7hy9dr1g2s3/vvrt+9sddfvfrblbqrgolslouy5rsu1rirj4wflkbepwop05nuyf3cgxspsv6emwnnbf1rmunbyvdj8fqe4klrfu82n4c3jzt9lmvacxbnhon2xzf0bv7jjr30wo87+ecbdutgo+2d/gskfgl34dn3sj5uef2elqavujbs39mgsvjrvusepfhz+xfusudjhc2z71tr20fezy0vjjibws5d0vlc2kvknldgd279zs/j/uaoa8tm8lbqqcbvyncprxahks59yjg0kug3jqrh5a05udnhmnsvk/ptjvrqniutugtvfscdtw00tej4xesc1uhwggets5pmtm/ey28fvtduetmfbw2wftia/woy3adf0vdmo305huy9x5sea3ich8agm8br24q3sqwqcpsin+axfvk/ej4h7jsvpwluouqexyrd+e8amtku=</latexit> Diffuse reflection Simplest reflection model Reflected light is independent of view direction Reflected light is proportional to irradiance constant of proportionality is the diffuse reflection coefficient L d = k d E More useful to think in terms of reflectance reflectance is the fraction reflected (between 0 and 1) L d = R d E will have to explain the factor of pi later 2018 Steve Marschner 10

<latexit sha1_base64="kefe40amgwkpa/1p/f6ediyu2b0=">aaacdhicbvdlbtqwfhxcq4rhp2wjkcxglqoqk0xaqcmcucegpc4kirrspywc52zq1xac7ywmivjz/av/wblysmwtfesbk1k699xzhz5pkbixuftz869cvxb9xtrn4nbto3fxbxub701raqyjk0sht1jqqhafievwwempgcpuwhf6/njvp16anrxq72xdwltsuei5z9q6ajygjiu5vw18vfrrwj9ug8nzhp9hkmvkmrdtq0rekp0+jziut6mdtbyke5yv1ihxqg30h9hpxgcevpbhqnlggi2ilvc/yhwbhs+/oi6ozhuer7kcvrkuzyiaczqosjttqlaccwgduhkoktunc2i6z7d4y1ezzgvtnrk4yy/pqdsmlqltsmrpzn+1ffm/2mll88m04aqslcjwl8orgw2bv07ijgtgvtsymuburah1d7az6oyyzvgadk1nmbixhubl8jcnmuo6tlcuecgve1ugodus+fljwg1z/wk60/bielk3i3uwo/4fjr9ns+lr01h0jh4evojnq2vopnqittey7amd9aodoqqx9al9qd/qd++h/8af+lu91pcueu6hs+gpfglz0meo</latexit> <latexit sha1_base64="kefe40amgwkpa/1p/f6ediyu2b0=">aaacdhicbvdlbtqwfhxcq4rhp2wjkcxglqoqk0xaqcmcucegpc4kirrspywc52zq1xac7ywmivjz/av/wblysmwtfesbk1k699xzhz5pkbixuftz869cvxb9xtrn4nbto3fxbxub701raqyjk0sht1jqqhafievwwempgcpuwhf6/njvp16anrxq72xdwltsuei5z9q6ajygjiu5vw18vfrrwj9ug8nzhp9hkmvkmrdtq0rekp0+jziut6mdtbyke5yv1ihxqg30h9hpxgcevpbhqnlggi2ilvc/yhwbhs+/oi6ozhuer7kcvrkuzyiaczqosjttqlaccwgduhkoktunc2i6z7d4y1ezzgvtnrk4yy/pqdsmlqltsmrpzn+1ffm/2mll88m04aqslcjwl8orgw2bv07ijgtgvtsymuburah1d7az6oyyzvgadk1nmbixhubl8jcnmuo6tlcuecgve1ugodus+fljwg1z/wk60/bielk3i3uwo/4fjr9ns+lr01h0jh4evojnq2vopnqittey7amd9aodoqqx9al9qd/qd++h/8af+lu91pcueu6hs+gpfglz0meo</latexit> <latexit sha1_base64="kefe40amgwkpa/1p/f6ediyu2b0=">aaacdhicbvdlbtqwfhxcq4rhp2wjkcxglqoqk0xaqcmcucegpc4kirrspywc52zq1xac7ywmivjz/av/wblysmwtfesbk1k699xzhz5pkbixuftz869cvxb9xtrn4nbto3fxbxub701raqyjk0sht1jqqhafievwwempgcpuwhf6/njvp16anrxq72xdwltsuei5z9q6ajygjiu5vw18vfrrwj9ug8nzhp9hkmvkmrdtq0rekp0+jziut6mdtbyke5yv1ihxqg30h9hpxgcevpbhqnlggi2ilvc/yhwbhs+/oi6ozhuer7kcvrkuzyiaczqosjttqlaccwgduhkoktunc2i6z7d4y1ezzgvtnrk4yy/pqdsmlqltsmrpzn+1ffm/2mll88m04aqslcjwl8orgw2bv07ijgtgvtsymuburah1d7az6oyyzvgadk1nmbixhubl8jcnmuo6tlcuecgve1ugodus+fljwg1z/wk60/bielk3i3uwo/4fjr9ns+lr01h0jh4evojnq2vopnqittey7amd9aodoqqx9al9qd/qd++h/8af+lu91pcueu6hs+gpfglz0meo</latexit> <latexit sha1_base64="kefe40amgwkpa/1p/f6ediyu2b0=">aaacdhicbvdlbtqwfhxcq4rhp2wjkcxglqoqk0xaqcmcucegpc4kirrspywc52zq1xac7ywmivjz/av/wblysmwtfesbk1k699xzhz5pkbixuftz869cvxb9xtrn4nbto3fxbxub701raqyjk0sht1jqqhafievwwempgcpuwhf6/njvp16anrxq72xdwltsuei5z9q6ajygjiu5vw18vfrrwj9ug8nzhp9hkmvkmrdtq0rekp0+jziut6mdtbyke5yv1ihxqg30h9hpxgcevpbhqnlggi2ilvc/yhwbhs+/oi6ozhuer7kcvrkuzyiaczqosjttqlaccwgduhkoktunc2i6z7d4y1ezzgvtnrk4yy/pqdsmlqltsmrpzn+1ffm/2mll88m04aqslcjwl8orgw2bv07ijgtgvtsymuburah1d7az6oyyzvgadk1nmbixhubl8jcnmuo6tlcuecgve1ugodus+fljwg1z/wk60/bielk3i3uwo/4fjr9ns+lr01h0jh4evojnq2vopnqittey7amd9aodoqqx9al9qd/qd++h/8af+lu91pcueu6hs+gpfglz0meo</latexit> <latexit sha1_base64="kefe40amgwkpa/1p/f6ediyu2b0=">aaacdhicbvdlbtqwfhxcq4rhp2wjkcxglqoqk0xaqcmcucegpc4kirrspywc52zq1xac7ywmivjz/av/wblysmwtfesbk1k699xzhz5pkbixuftz869cvxb9xtrn4nbto3fxbxub701raqyjk0sht1jqqhafievwwempgcpuwhf6/njvp16anrxq72xdwltsuei5z9q6ajygjiu5vw18vfrrwj9ug8nzhp9hkmvkmrdtq0rekp0+jziut6mdtbyke5yv1ihxqg30h9hpxgcevpbhqnlggi2ilvc/yhwbhs+/oi6ozhuer7kcvrkuzyiaczqosjttqlaccwgduhkoktunc2i6z7d4y1ezzgvtnrk4yy/pqdsmlqltsmrpzn+1ffm/2mll88m04aqslcjwl8orgw2bv07ijgtgvtsymuburah1d7az6oyyzvgadk1nmbixhubl8jcnmuo6tlcuecgve1ugodus+fljwg1z/wk60/bielk3i3uwo/4fjr9ns+lr01h0jh4evojnq2vopnqittey7amd9aodoqqx9al9qd/qd++h/8af+lu91pcueu6hs+gpfglz0meo</latexit> Lambertian shading Shading independent of view direction diffuse reflectance irradiance from source l n v L d = R max(0, n l) r 2 I diffuse coefficient distance to source intensity of source diffusely reflected radiance 2018 Steve Marschner 11

Lambertian shading Produces matte appearance [Foley et al.] k d 2018 Steve Marschner 12

Diffuse shading 2018 Steve Marschner 13

Image so far Scene.trace(Ray ray, tmin, tmax) { surface, t = hit(ray, tmin, tmax); if surface is not null { point = ray.evaluate(t); normal = surface.getnormal(point); return surface.shade(ray, point, normal, light); } else return backgroundcolor; } Surface.shade(ray, point, normal, light) { v = normalize(ray.direction); l = normalize(light.pos point); // compute shading } 2018 Steve Marschner 14

Shadows Surface is only illuminated if nothing blocks the light i.e. if the surface can see the light With ray tracing it s easy to check just intersect a ray with the scene! 2018 Steve Marschner 15

Image so far Surface.shade(ray, point, normal, light) { shadray = (point, light.pos point); if (shadray not blocked) { v = normalize(ray.direction); l = normalize(light.pos point); // compute shading } return black; } 2018 Steve Marschner 16

Shadow rounding errors Don t fall victim to one of the classic blunders: What s going on? hint: at what t does the shadow ray intersect the surface you re shading? 2018 Steve Marschner 17

Shadow rounding errors Solution: shadow rays start a tiny distance from the surface Do this by moving the start point, or by limiting the t range 2018 Steve Marschner 18

Multiple lights Important to fill in black shadows Just loop over lights, add contributions Ambient shading black shadows are not really right one solution: dim light at camera alternative: add a constant ambient color to the shading 2018 Steve Marschner 19

Image so far shade(ray, point, normal, lights) { result = ambient; for light in lights { if (shadow ray not blocked) { result += shading contribution; } } return result; } 2018 Steve Marschner 20

Specular shading diffuse specular 2018 Steve Marschner 21

Light reflection: full picture when writing a shader, think like a bug standing on the surface bug sees an incident distribution of light arriving at the surface physics question: what is the outgoing distribution of light? incident distribution (function of direction) reflected distribution (function of direction) 2018 Steve Marschner 22

BRDF Bidirectional Reflectance Distribution Function 2018 Steve Marschner 23

Reciprocity Interchanging arguments Physical requirement 2018 Steve Marschner 24

Specular reflection Intensity depends on view direction bright near mirror configuration l n v Caution: in notes and assignment, v is called ωr and l is called ωi. No meaningful difference, just notational. 2018 Steve Marschner 25

Smooth surfaces metal dielectric 2018 Steve Marschner 26

Ideal specular reflection Smooth surfaces of pure materials have ideal specular reflection Metals (conductors) and dielectrics (insulators) behave differently Reflectance (fraction of light reflected) depends on angle metal dielectric 2018 Steve Marschner 27

Refraction at boundary of media 2018 Steve Marschner 28

Specular reflection from metal Reflectance does depend on angle but not much safely ignored in basic rendering Aluminum 2018 Steve Marschner 29

Specular reflection from glass/water Dependence on angle is dramatic! about 4% at normal incidence always 100% at grazing remaining light is transmitted This is important for proper appearance Glass 2018 Steve Marschner 30

Fresnel s formulas They predict how much light reflects from a smooth interface between two materials usually one material is empty space where R is the fraction that is reflected (1 R) is the fraction that is transmitted note: the formula in the notes and assignment is different but equivalent. 2018 Steve Marschner 31

2018 Steve Marschner 32

Fresnel reflection [Mike Hill & Gaain Kwan Stanford cs348 competition 2001] 2018 Steve Marschner 33

Microfacet BRDF Model The microfacet idea surface modeled as random collection of planar facets an incoming ray hits exactly one facet, at random Key input: probability distribution of facet angle [Stephen Westin] 2018 Steve Marschner 34

Facet Reflection H vector used to define facets that contribute L and V determine H; only facets with that normal matter reflected light is proportional to number of facets 2018 Steve Marschner 35

Microfacet BRDF Model f r (n, l, v) = F (l, h)d(h)g(l, v, h) 4 n l n v 2018 Steve Marschner 36

Microfacet BRDF Model Facet distribution f r (n, l, v) = F (l, h)d(h)g(l, v, h) 4 n l n v [Stephen Westin] 2018 Steve Marschner 37

Facet Distribution D function describes distribution of h Many choices, depending on surface characteristics A classic choice is due to Beckmann derivation based on Gaussian random processes D(h) = tan 2 (h,n) e m 2 m 2 cos 4 (h, n) 2018 Steve Marschner 38

Cook-Torrance BRDF Model Fresnel Reflectance f r (n, l, v) = F (l, h)d(h)g(l, v, h) 4 n l n v Fresnel reflectance for smooth facet more light reflected at grazing angles 2018 Steve Marschner 39

Cook-Torrance BRDF Model Masking/shadowing f r (n, l, v) = F (l, h)d(h)g(l, v, h) 4 n l n v 2018 Steve Marschner 40

<latexit sha1_base64="bbyn6thxut64aynit6opoi8b8js=">aaadrnicbvllbtnafb27peqapmdjzkrelarfjzyaoicoxkiswbsj0eqznbqpx8mo43gygydgltd8dvv4bj6br4anysvytkt4xmnwuefco9f3eiizz0p73lflxrt2/cbn9vu123fubmxubd97q5juejogcu/kayav5uzqgwaa09ozpdgood0jzl8u+smcssus8uyvznqu44lgesnyg2q8bcedenrasuwnemz24rjjg+btxfgmho3933lbrrcyjbcctz2qbj4vgyj6pto8ejmys2wvr5xguoeiiulmihaje10myfczkspjjlo9w4mmueantgte7kbyiinbw06n1cgov4f6tcfv+fismwf+mm92dy6ltrdbsptmp6tphc5ylcoi4vpoowcqofji/0pn9jtk90zr5swqwuxs8vbdc7wy4l/ax4l68++gjgpj6qyke5lgvgjcsvjd35vp/yjtd2kuyakz4wymshwdyxkoj3roomaxvaos/km5fgsyeeajni/qsgrxozick7wia1mzyz1vf2sf+t9tmoqon8qymkwacliniliodqkl6wfdjinrfgeajpkzb4vkio3x2lyigiobm3egtoyqgbuvwccxxljgxdhymsa8dalr5kp28xhujjlbla62m81euwur0pivqe/kwuhteej4r9v1w0bljfghd8bd0aa+6ijd8bicgweg1gfro/xj+mx/sb/zp+yfvaltlxvugz9idfwc43ua7g==</latexit> <latexit sha1_base64="bbyn6thxut64aynit6opoi8b8js=">aaadrnicbvllbtnafb27peqapmdjzkrelarfjzyaoicoxkiswbsj0eqznbqpx8mo43gygydgltd8dvv4bj6br4anysvytkt4xmnwuefco9f3eiizz0p73lflxrt2/cbn9vu123fubmxubd97q5juejogcu/kayav5uzqgwaa09ozpdgood0jzl8u+smcssus8uyvznqu44lgesnyg2q8bcedenrasuwnemz24rjjg+btxfgmho3933lbrrcyjbcctz2qbj4vgyj6pto8ejmys2wvr5xguoeiiulmihaje10myfczkspjjlo9w4mmueantgte7kbyiinbw06n1cgov4f6tcfv+fismwf+mm92dy6ltrdbsptmp6tphc5ylcoi4vpoowcqofji/0pn9jtk90zr5swqwuxs8vbdc7wy4l/ax4l68++gjgpj6qyke5lgvgjcsvjd35vp/yjtd2kuyakz4wymshwdyxkoj3roomaxvaos/km5fgsyeeajni/qsgrxozick7wia1mzyz1vf2sf+t9tmoqon8qymkwacliniliodqkl6wfdjinrfgeajpkzb4vkio3x2lyigiobm3egtoyqgbuvwccxxljgxdhymsa8dalr5kp28xhujjlbla62m81euwur0pivqe/kwuhteej4r9v1w0bljfghd8bd0aa+6ijd8bicgweg1gfro/xj+mx/sb/zp+yfvaltlxvugz9idfwc43ua7g==</latexit> <latexit sha1_base64="bbyn6thxut64aynit6opoi8b8js=">aaadrnicbvllbtnafb27peqapmdjzkrelarfjzyaoicoxkiswbsj0eqznbqpx8mo43gygydgltd8dvv4bj6br4anysvytkt4xmnwuefco9f3eiizz0p73lflxrt2/cbn9vu123fubmxubd97q5juejogcu/kayav5uzqgwaa09ozpdgood0jzl8u+smcssus8uyvznqu44lgesnyg2q8bcedenrasuwnemz24rjjg+btxfgmho3933lbrrcyjbcctz2qbj4vgyj6pto8ejmys2wvr5xguoeiiulmihaje10myfczkspjjlo9w4mmueantgte7kbyiinbw06n1cgov4f6tcfv+fismwf+mm92dy6ltrdbsptmp6tphc5ylcoi4vpoowcqofji/0pn9jtk90zr5swqwuxs8vbdc7wy4l/ax4l68++gjgpj6qyke5lgvgjcsvjd35vp/yjtd2kuyakz4wymshwdyxkoj3roomaxvaos/km5fgsyeeajni/qsgrxozick7wia1mzyz1vf2sf+t9tmoqon8qymkwacliniliodqkl6wfdjinrfgeajpkzb4vkio3x2lyigiobm3egtoyqgbuvwccxxljgxdhymsa8dalr5kp28xhujjlbla62m81euwur0pivqe/kwuhteej4r9v1w0bljfghd8bd0aa+6ijd8bicgweg1gfro/xj+mx/sb/zp+yfvaltlxvugz9idfwc43ua7g==</latexit> <latexit sha1_base64="bbyn6thxut64aynit6opoi8b8js=">aaadrnicbvllbtnafb27peqapmdjzkrelarfjzyaoicoxkiswbsj0eqznbqpx8mo43gygydgltd8dvv4bj6br4anysvytkt4xmnwuefco9f3eiizz0p73lflxrt2/cbn9vu123fubmxubd97q5juejogcu/kayav5uzqgwaa09ozpdgood0jzl8u+smcssus8uyvznqu44lgesnyg2q8bcedenrasuwnemz24rjjg+btxfgmho3933lbrrcyjbcctz2qbj4vgyj6pto8ejmys2wvr5xguoeiiulmihaje10myfczkspjjlo9w4mmueantgte7kbyiinbw06n1cgov4f6tcfv+fismwf+mm92dy6ltrdbsptmp6tphc5ylcoi4vpoowcqofji/0pn9jtk90zr5swqwuxs8vbdc7wy4l/ax4l68++gjgpj6qyke5lgvgjcsvjd35vp/yjtd2kuyakz4wymshwdyxkoj3roomaxvaos/km5fgsyeeajni/qsgrxozick7wia1mzyz1vf2sf+t9tmoqon8qymkwacliniliodqkl6wfdjinrfgeajpkzb4vkio3x2lyigiobm3egtoyqgbuvwccxxljgxdhymsa8dalr5kp28xhujjlbla62m81euwur0pivqe/kwuhteej4r9v1w0bljfghd8bd0aa+6ijd8bicgweg1gfro/xj+mx/sb/zp+yfvaltlxvugz9idfwc43ua7g==</latexit> <latexit sha1_base64="bbyn6thxut64aynit6opoi8b8js=">aaadrnicbvllbtnafb27peqapmdjzkrelarfjzyaoicoxkiswbsj0eqznbqpx8mo43gygydgltd8dvv4bj6br4anysvytkt4xmnwuefco9f3eiizz0p73lflxrt2/cbn9vu123fubmxubd97q5juejogcu/kayav5uzqgwaa09ozpdgood0jzl8u+smcssus8uyvznqu44lgesnyg2q8bcedenrasuwnemz24rjjg+btxfgmho3933lbrrcyjbcctz2qbj4vgyj6pto8ejmys2wvr5xguoeiiulmihaje10myfczkspjjlo9w4mmueantgte7kbyiinbw06n1cgov4f6tcfv+fismwf+mm92dy6ltrdbsptmp6tphc5ylcoi4vpoowcqofji/0pn9jtk90zr5swqwuxs8vbdc7wy4l/ax4l68++gjgpj6qyke5lgvgjcsvjd35vp/yjtd2kuyakz4wymshwdyxkoj3roomaxvaos/km5fgsyeeajni/qsgrxozick7wia1mzyz1vf2sf+t9tmoqon8qymkwacliniliodqkl6wfdjinrfgeajpkzb4vkio3x2lyigiobm3egtoyqgbuvwccxxljgxdhymsa8dalr5kp28xhujjlbla62m81euwur0pivqe/kwuhteej4r9v1w0bljfghd8bd0aa+6ijd8bicgweg1gfro/xj+mx/sb/zp+yfvaltlxvugz9idfwc43ua7g==</latexit> Masking and Shadowing Many options; Smith shadowing-masking follows from D long story, it is an integral related to D that often doesn t have a closed form solution generally it is assumed that masking and shadowing are statistically independent for Beckmann, recommend using this rational approximation due to Bruce Walter: G(! i,! r, h) =G 1 (! i, h)g 1 (! r, h) ( v h G 1 (v, h) = + 3.535a +2.181a 2 1+2.276a +2.577a, if a<1.6 2 v n 1 otherwise 2018 Steve Marschner 41

Microfacet BRDF Model f r (n, l, v) = F (l, h)d(h)g(l, v, h) 4 n l n v reasons for cosine terms in denominator if one is there they clearly both have to be there (by reciprocity) 2018 Steve Marschner 42

<latexit sha1_base64="5oqu2hdzhdf1gnuf1k1kz2ogcj4=">aaaczhicbvbdb9mwfl0nx6owrwpicqlzveidnjq0q0r5qjvgbaq9dimwsu2jhodms2y7wxaivlf/dr+gv3jgf/dkt8bjb+lrsrapz7nx1/ckhedgbshxjnft+o2btzzud+/c3dza7u3ce2fyujmmws5yfzzqg4irdc23as8kjvqmak+ty5enflqhnjxxb+2ywlmk54pnnfhrqlh3ebwb8pxksr5eldonuswardojktsztvkdsboyba2ripbm1qxsrwr9frwir7txrx8mgzbiv2b0bfqh36gnk3insxwlosslkssenwy2cgq7nwn8ooy11zyzgatuvboskluk5zhzufgjzl63867iy8ekjmu1w8qslv29oqbsmkvmxkak9sl8rtxk/7rzabppvoaqkc0qtm6ulylyndtmkzrrzfyshabmc/dxwi6om8k6i7trw1j7oxe332jph/neu730ls5k5npfrjmi7/pqvnhsuafcnk2dk/f4ojkga3aw+gmmvxwmx8nnw+dnph/0yu0kbmadeaqdgmftoijxcaihmpgin+azfol88za9xe/+otxrxnxswh/hpfwbi5i46a==</latexit> <latexit sha1_base64="5oqu2hdzhdf1gnuf1k1kz2ogcj4=">aaaczhicbvbdb9mwfl0nx6owrwpicqlzveidnjq0q0r5qjvgbaq9dimwsu2jhodms2y7wxaivlf/dr+gv3jgf/dkt8bjb+lrsrapz7nx1/ckhedgbshxjnft+o2btzzud+/c3dza7u3ce2fyujmmws5yfzzqg4irdc23as8kjvqmak+ty5enflqhnjxxb+2ywlmk54pnnfhrqlh3ebwb8pxksr5eldonuswardojktsztvkdsboyba2ripbm1qxsrwr9frwir7txrx8mgzbiv2b0bfqh36gnk3insxwlosslkssenwy2cgq7nwn8ooy11zyzgatuvboskluk5zhzufgjzl63867iy8ekjmu1w8qslv29oqbsmkvmxkak9sl8rtxk/7rzabppvoaqkc0qtm6ulylyndtmkzrrzfyshabmc/dxwi6om8k6i7trw1j7oxe332jph/neu730ls5k5npfrjmi7/pqvnhsuafcnk2dk/f4ojkga3aw+gmmvxwmx8nnw+dnph/0yu0kbmadeaqdgmftoijxcaihmpgin+azfol88za9xe/+otxrxnxswh/hpfwbi5i46a==</latexit> <latexit sha1_base64="5oqu2hdzhdf1gnuf1k1kz2ogcj4=">aaaczhicbvbdb9mwfl0nx6owrwpicqlzveidnjq0q0r5qjvgbaq9dimwsu2jhodms2y7wxaivlf/dr+gv3jgf/dkt8bjb+lrsrapz7nx1/ckhedgbshxjnft+o2btzzud+/c3dza7u3ce2fyujmmws5yfzzqg4irdc23as8kjvqmak+ty5enflqhnjxxb+2ywlmk54pnnfhrqlh3ebwb8pxksr5eldonuswardojktsztvkdsboyba2ripbm1qxsrwr9frwir7txrx8mgzbiv2b0bfqh36gnk3insxwlosslkssenwy2cgq7nwn8ooy11zyzgatuvboskluk5zhzufgjzl63867iy8ekjmu1w8qslv29oqbsmkvmxkak9sl8rtxk/7rzabppvoaqkc0qtm6ulylyndtmkzrrzfyshabmc/dxwi6om8k6i7trw1j7oxe332jph/neu730ls5k5npfrjmi7/pqvnhsuafcnk2dk/f4ojkga3aw+gmmvxwmx8nnw+dnph/0yu0kbmadeaqdgmftoijxcaihmpgin+azfol88za9xe/+otxrxnxswh/hpfwbi5i46a==</latexit> <latexit sha1_base64="5oqu2hdzhdf1gnuf1k1kz2ogcj4=">aaaczhicbvbdb9mwfl0nx6owrwpicqlzveidnjq0q0r5qjvgbaq9dimwsu2jhodms2y7wxaivlf/dr+gv3jgf/dkt8bjb+lrsrapz7nx1/ckhedgbshxjnft+o2btzzud+/c3dza7u3ce2fyujmmws5yfzzqg4irdc23as8kjvqmak+ty5enflqhnjxxb+2ywlmk54pnnfhrqlh3ebwb8pxksr5eldonuswardojktsztvkdsboyba2ripbm1qxsrwr9frwir7txrx8mgzbiv2b0bfqh36gnk3insxwlosslkssenwy2cgq7nwn8ooy11zyzgatuvboskluk5zhzufgjzl63867iy8ekjmu1w8qslv29oqbsmkvmxkak9sl8rtxk/7rzabppvoaqkc0qtm6ulylyndtmkzrrzfyshabmc/dxwi6om8k6i7trw1j7oxe332jph/neu730ls5k5npfrjmi7/pqvnhsuafcnk2dk/f4ojkga3aw+gmmvxwmx8nnw+dnph/0yu0kbmadeaqdgmftoijxcaihmpgin+azfol88za9xe/+otxrxnxswh/hpfwbi5i46a==</latexit> <latexit sha1_base64="5oqu2hdzhdf1gnuf1k1kz2ogcj4=">aaaczhicbvbdb9mwfl0nx6owrwpicqlzveidnjq0q0r5qjvgbaq9dimwsu2jhodms2y7wxaivlf/dr+gv3jgf/dkt8bjb+lrsrapz7nx1/ckhedgbshxjnft+o2btzzud+/c3dza7u3ce2fyujmmws5yfzzqg4irdc23as8kjvqmak+ty5enflqhnjxxb+2ywlmk54pnnfhrqlh3ebwb8pxksr5eldonuswardojktsztvkdsboyba2ripbm1qxsrwr9frwir7txrx8mgzbiv2b0bfqh36gnk3insxwlosslkssenwy2cgq7nwn8ooy11zyzgatuvboskluk5zhzufgjzl63867iy8ekjmu1w8qslv29oqbsmkvmxkak9sl8rtxk/7rzabppvoaqkc0qtm6ulylyndtmkzrrzfyshabmc/dxwi6om8k6i7trw1j7oxe332jph/neu730ls5k5npfrjmi7/pqvnhsuafcnk2dk/f4ojkga3aw+gmmvxwmx8nnw+dnph/0yu0kbmadeaqdgmftoijxcaihmpgin+azfol88za9xe/+otxrxnxswh/hpfwbi5i46a==</latexit> Specular shading (Microfacet) Close to mirror half vector near normal reflectance is high when n h is near 1.0 (α is near 0) h = bisector(v, l) l n h v = v + l v + l L s = f r (n, l, v) irradiance from source max(0, n l) r 2 I specularly reflected radiance specular BRDF value 2018 Steve Marschner 43

Ray tracer architecture 101 You want a class called Ray point and direction; evaluate(t) possible: tmin, tmax Some things can be intersected with rays individual surfaces groups of surfaces (acceleration goes here) the whole scene make these all subclasses of Surface limit the range of valid t values (e.g. shadow rays) Once you have the visible intersection, compute the color may want to separate shading code from geometry separate class: Material (each Surface holds a reference to one) its job is to compute the color 2018 Steve Marschner 44

Architectural practicalities Return values surface intersection tends to want to return multiple values t, surface or shader, normal vector, maybe surface point in many programming languages (e.g. Java) this is a pain typical solution: an intersection record a class with fields for all these things keep track of the intersection record for the closest intersection be careful of accidental aliasing (which is very easy if you re new to Java) Efficiency in Java the (or, a) key to being fast is to minimize creation of objects what objects are created for every ray? try to find a place for them where you can reuse them. Shadow rays can be cheaper (any intersection will do, don t need closest) but: First Get it Right, Then Make it Fast 2018 Steve Marschner 45