Download Slides As
Total Page:16
File Type:pdf, Size:1020Kb
Radiometry Computer Graphics CMU 15-462/15-662 Last time we discussed color Image credit: Licensed under CC BY-SA 3.0 via Commons https://commons.wikimedia.org/wiki/File:EM_spectrum.svg#/media/File:EM_spectrum.svg CMU 15-462/662 Rendering is more than just color! ▪ Also need to know how much light hits each pixel: color intensity image CMU 15-462/662 How do we quantify measurements of light? CMU 15-462/662 Radiometry ▪ System of units and measures for measuring EM radiation (light) ▪ Geometric optics model of light - Photons travel in straight lines - Represented by rays - Wavelength << size of objects - No diffraction, interference, … - LOTS of terminology! - Focus frst on concepts - Terminology comes second CMU 15-462/662 Names don’t constitute knowledge! (Richard Feynman) CMU 15-462/662 What do we want to measure (and why?) ▪ Many physical processes convert energy into photons - E.g., incandescent lightbulb turns heat into light (blackbody radiation) - Nuclear fusion in stars (sun!) generates photons - Etc. ▪ Each photon carries a small amount of energy ▪ Want some way of recording “how much energy” ▪ Energy of photons hitting an object ~ “brightness” - Film, eyes, CCD sensor, sunburn, solar panels, … - Need this information to make accurate (and beautiful!) images ▪ Simplifying assumption: “steady state” process - How long does it take for lighting to reach steady state? CMU 15-462/662 What does light propagation look like? Can’t see it with the naked eye! Instead, repeat same experiment many times, take “snapshot” at slightly different offsets each time. CMU 15-462/662 Imagine every photon is a little rubber ball hitting the scene: How can we record this process? What information should we store? CMU 15-462/662 Radiant energy is “total # of hits” ▪ One idea: just store the total number of “hits” that occur anywhere in the scene, over the complete duration of the scene ▪ This quantity captures the total energy of all the photons hitting the scene* “Radiant energy”: 40 *Eventually we will care about constants & units. But these will not help our conceptual understanding… CMU 15-462/662 Radiant fux is “hits per second” ▪ For illumination phenomena at the level of human perception, usually safe to assume equilibrium is reached immediately. ▪ So, rather than record total energy over some (arbitrary) duration, may make more sense to record total hits per second (Our video takes .05s to display each “hit”!) Estimate of “radiant fux”: 40 hits/2s = 20 hits/s CMU 15-462/662 Irradiance is “#hits per second, per unit area” ▪ Typically we want to get more specifc than just the total ▪ To make images, also need to know where hits occurred ▪ So, compute hits per second in some “really small” area, divided by area: Estimate of “radiant energy density”: 2/ε2 CMU 15-462/662 Image generation as irradiance estimation ▪ From this point of view, our goal in image generation is to estimate the irradiance at each point of an image (or really: the total radiant fux per pixel…): CMU 15-462/662 Recap so far… Radiant Energy Radiant Energy Density (total number of hits) (hits per unit area) Radiant Flux Density Radiant Flux a.k.a. Irradiance (total hits per second) (hits per second per unit area) CMU 15-462/662 Ok, but how about some units… CMU 15-462/662 Measuring illumination: radiant energy ▪ How can we be more precise about the Sensor amount of energy? ▪ Said we were just going to count “the number of hits,” but do all hits contribute same amount of energy? ▪ Energy of a single photon: Planck’s constant speed of light wavelength (color!) Q: What are units for a photon? (Joules times seconds) (meters per second) CMU 15-462/662 Aside: Units are a powerful debugging tool! CMU 15-462/662 Measuring illumination: radiant fux (power) ▪ Flux: energy per unit time (Watts) Sensor received by the sensor (or emitted by the light) “Watts” ∆Q dQ J Φ =lim = ∆ 0 ∆t dt s ! ▪ Can also go the other direction: time integral of fux is total radiant energy t1 Q = Φ(t)dt t Z 0 (Units?) CMU 15-462/662 Measuring illumination: irradiance ▪ Radiant fux: time density of energy ▪ Irradiance: area density of radiant fux A Given a sensor of with area A, we can consider the average fux over the entire sensor area: Φ A Irradiance (E) is given by taking the limit of area at a single point on the sensor: ∆Φ(p) dΦ(p) W E(p) = lim = ∆ 0 ∆A dA m2 ! CMU 15-462/662 Recap, with units Radiant Energy Radiant Energy Density (total number of hits) (hits per unit area) Joules (J) Joules per square meter (J/m2) Radiant Flux Density Radiant Flux a.k.a. Irradiance (total hits per second) (hits per second per unit area) Joules per second (J/s) = Watts (W) Watts per square meter (W/m2) CMU 15-462/662 What about color? How might we quantify, say, the “amount of green?” CMU 15-462/662 Spectral power distribution ▪ Describes irradiance per unit wavelength (units?) Energy per unit time per unit area per unit wavelength… Figure credit: CMU 15-462/662 Given what we now know about radiant energy… Why do some parts of a surface look lighter or darker? CMU 15-462/662 Why do we have seasons? Sun Summer Winter (Northern hemisphere) (Northern hemisphere) Earth’s axis of rotation: ~23.5° off axis [Image credit: Pearson Prentice Hall] CMU 15-462/662 Beam power in terms of irradiance Consider beam with fux Φ incident= EA on surface with area A radiant fux irradiance (energy per time) (energy per time, per area) Φ E = A A Φ = EA CMU 15-462/662 Projected area Consider beam with fux Φ incident= EA on angled surface with area A’ ✓ A A0 A = A0 cos ✓ A = projected area of surface relative to direction of beam CMU 15-462/662 Lambert’s Law Irradiance at surface is proportional to cosine of angle between light direction and surface normal. ✓ A A0 A = A0 cos ✓ Φ Φ cos ✓ E = = A0 A CMU 15-462/662 “N-dot-L” lighting ▪ Most basic way to shade a surface: take dot product of unit surface normal (N) and unit direction to light (L) double surfaceColor( Vec3 N, Vec3 L ) { return dot( N, L ); } N L (Q: What’s wrong with this code?) CMU 15-462/662 “N-dot-L” lighting ▪ Most basic way to shade a surface: take dot product of unit surface normal (N) and unit direction to light (L) double surfaceColor( Vec3 N, Vec3 L ) { return max( 0., dot( N, L )); } N L CMU 15-462/662 Example: “directional” lighting ▪ Common abstraction: infnitely bright light source “at infnity” ▪ All light directions (L) are therefore identical L ∞ L L L L CMU 15-462/662 Isotropic point source Slightly more realistic model… Suppose our light is such that: total radiant fux “intensity” Φ = I d! 2 ZS =4⇡I p Φ I = 4⇡ CMU 15-462/662 Irradiance falloff with distance Assume light is emitting fux Φ in a uniform angular distribution r2 Compare irradiance at surface of two spheres: r1 Φ 2 E1 = 2 Φ =4⇡r1E1 4⇡r1 ! Φ 2 E2 = 2 Φ =4⇡r2E2 4⇡r2 ! E r2 Since same amount of energy is distributed 2 1 = 2 over larger and larger spheres, has to get darker E1 r2 quadratically with distance. CMU 15-462/662 What does quadratic falloff look like? Single point light, move in 1m increments: …things get dark fast! CMU 15-462/662 Angles and solid angles ▪ Angle: ratio of subtended arc length on l l circle to radius ✓ =✓✓ = l r ✓ = r - r - Circle has 2 ⇡ radians ▪ Solid angle: ratio of subtended area lA ⌦ = on sphere to radius squared ✓ = r2 A r - ⌦ = r2 - Sphere has 4 ⇡ steradians CMU 15-462/662 Solid angles in practice ▪ Sun and moon both subtend ~60µ sr as seen from earth ▪ Surface area of earth: ~510M km2 ▪ Projected area: 60µsr 15 510Mkm2 = 510 4⇡sr ⇡ 2400km2 ⇡ http://xkcd.com/1276/ CMU 15-462/662 Differential solid angle Consider a tiny area swept out by a tiny angle in each direction… dA =(r d✓)(r sin ✓ dφ) =r2 sin ✓ d✓ dφ dA d! = =sin✓ d✓ dφ r2 Differential solid angle is just that same tiny area projected onto the unit sphere CMU 15-462/662 Differential solid angle ⌦ = d! S2 Z ⇡ 2⇡ ⌦⌦ == d! sin ✓ d✓ dφ S2 0S 0 ZZ ⇡ 2⇡ Z 12⇡Z 2⇡⇡ == sinsind cos✓✓ dd✓✓✓dddφφφ 0 0 Z0 1 Z00 Z−1 ZZ 2⇡⇡ ==4= ⇡ dd cos cos✓✓ddφφ 1 0 ZZ− Z =4=4⇡⇡ CMU 15-462/662 ! as a direction vector Will use ! to donate a direction vector (unit length) ! CMU 15-462/662 Radiance ▪ Radiance is the solid angle density of irradiance ∆E!(p) dE!(p) W L(p, !)= lim = ∆ 0 ∆! d! m2 sr ! where E ! denotes that the differential surface area is oriented to face in the direction ! d! dA In other words, radiance is energy along a ray defned by origin point p and direction ! Energy per unit time per unit area per unit solid angle…! CMU 15-462/662 Surface Radiance ▪ Equivalently, dE(p) d2Φ(p) L(p, !)= = d! cos ✓ dA d! cos ✓ ▪ Previous slide described measuring radiance at a surface oriented in ray direction - cos(theta) accounts for different surface orientation d! dA CMU 15-462/662 Spectral Radiance ▪ To summarize, radiance is: radiant energy per unit time per unit area per unit solid angle ▪ To really get a complete description of light we have to break this down just one more step: radiant energy per unit time per unit area per unit solid angle per unit wavelength ▪ Q: What additional information do we now get? ▪ A: Color! CMU 15-462/662 Why do we break energy down to this granularity? (spectral radiance) Because once we have spectral radiance, we have a complete description of the light in an environment! CMU 15-462/662 Field radiance: the light feld ▪ Light feld = radiance function on rays ▪ Radiance is constant along rays * ▪ Spherical gantry: captures 4D light feld (all light leaving object) L(x, y, ✓, φ) (✓, φ) * in a vacuum CMU 15-462/662 Light Field Photography ▪ A standard camera captures a small “slice” of the light feld ▪ Light feld cameras capture a “bigger slice,” recombine information to get new images after taking the photo CMU 15-462/662 Incident vs.