ΘρϵηΠατπ

Radiometry

Radiometry is the measurement of electromagnetic radiation in physical units. In rendering, radiometry gives the language used to describe how light energy moves through space, across surfaces, and along directions.

Geometric Quantities

Surface
In radiometry, a surface is usually modeled as a two-dimensional manifold in Euclidean space, typically M⊆ℝ3. This means that near each ordinary point, the surface can be described by two coordinates. When edges are relevant, the surface is treated as a manifold with boundary. Rendering systems may approximate surfaces by polygon meshes, but the radiometric definitions below apply pointwise on smooth pieces.
Surface Patch
A surface patch around a point p is a small region of a surface containing p. Area densities in radiometry are defined by shrinking such patches around the point.
Surface Normal
A surface normal at a point p on a surface M⊆ℝ3 is a unit direction perpendicular to the tangent space Mp.
Solid Angle
Let p∈ℝ3. The direction projection from p is the function πp:ℝ3∖{p}→𝕊2,πp(x)=x−p‖x−p‖. If X⊆ℝ3∖{p} and πp(X) is surface-measurable as a subset of the unit sphere 𝕊2, then the solid angle subtended by X from p is σp(X)=area𝕊2⁡(πp(X)). For a measurable direction set A⊆𝕊2, we write σ(A)=area𝕊2⁡(A). This is the special case of measuring the surface area of a set of directions.

The projection πp forgets distance and remembers only direction from p. If many points of X lie on the same ray from p, they contribute the same direction to πp(X). Thus solid angle measures angular size as seen from p, not physical area or distance.

Solid Angle is a Measure
Let 𝒮𝕊2 be the σ-algebra of surface-measurable subsets of 𝕊2. The solid angle function σ:𝒮𝕊2→ℝ≥0 is a measure on (𝕊2,𝒮𝕊2).
The empty set has surface area 0, so σ(∅)=area𝕊2⁡(∅)=0. Now let A1,A2,…∈𝒮𝕊2 be pairwise disjoint. By the definition of induced surface area, the surface area of a countable disjoint union is obtained by adding the surface areas of the pieces. Hence σ(⋃j=1∞Aj)=area𝕊2⁡(⋃j=1∞Aj)=∑j=1∞area𝕊2⁡(Aj)=∑j=1∞σ(Aj). Therefore σ satisfies countable additivity and is a measure.
Solid Angle of a Single Direction
Let ω∈𝕊2. Compute the solid angle of the one-point set {ω}.
By the definition of solid angle, σ({ω})=area𝕊2⁡({ω}). A single point on a surface has surface area 0. Therefore σ({ω})=0. Thus a single point of 𝕊2 has solid angle 0, even though small neighborhoods around that point can have positive solid angle.
Countable Direction Sets Have Zero Solid Angle
If A⊆𝕊2 is countable, then σ(A)=0.
Since A is countable, write A={ω1,ω2,…}, allowing repetitions if needed. For each k, the one-point set {ωk} has solid angle 0 by solid angle of a single direction. By countable subadditivity of surface area on 𝕊2, σ(A)=σ(⋃k=1∞{ωk})≤∑k=1∞σ({ωk})=0. Since σ(A)≥0, this gives σ(A)=0.
Projected Unit Disk Has Solid Angle 2π
Let W={(u,v)∈ℝ2:u2+v2<1} and define f(u,v)=(u,v,1−u2−v2). Compute the solid angle of f(W)⊆𝕊2.
By the definition of solid angle, σ(f(W))=area𝕊2⁡(f(W)). The projected unit disk area computation gives area𝕊2⁡(f(W))=2π. Therefore σ(f(W))=2π.
Steradian
A steradian, denoted sr, is the unit used to record values of solid angle. If σ(A)=1, then A has solid angle 1sr.
Orthogonal Projection onto a View Plane
Let ω∈𝕊2. The view plane perpendicular to ω is the plane through the origin with normal ω: ω⟂={x∈ℝ3:x⋅ω=0}. The orthogonal projection onto the view plane is the function projω⟂⁡:ℝ3→ω⟂ defined by projω⟂⁡(x)=x−(x⋅ω)ω.
Projected Area
Let P⊆ℝ3 be a surface patch, and let ω∈𝕊2. The projected area of P in direction ω is the surface area of its image under orthogonal projection onto the view plane: areaω⟂⁡(P)=areaω⟂⁡(projω⟂⁡(P)), when this projected image has a well-defined two-dimensional area.
Projected Area of a Flat Patch
Let P be a surface patch contained in a plane with unit surface normal n. For every ω∈𝕊2, areaω⟂⁡(P)=|n⋅ω|area⁡(P).
First consider a parallelogram P spanned by tangent vectors u,v in the plane. Its area is ‖u×v‖, and because u and v lie in the plane, u×v is parallel to n. The projected parallelogram is spanned by u′=projω⟂⁡(u),v′=projω⟂⁡(v). The area of the projected parallelogram is ‖u′×v′‖. The vectors u′ and v′ lie in ω⟂, so u′×v′ is perpendicular to ω⟂, and therefore is a scalar multiple of ω. Since ω is a unit vector, norm equals absolute dot product with a parallel unit vector gives ‖u′×v′‖=|(u′×v′)⋅ω|. By the oriented projected area identity, (u′×v′)⋅ω=(u×v)⋅ω. Hence areaω⟂⁡(P)=|(u×v)⋅ω|. Since u×v is a scalar multiple of the unit normal n, the dot product of a vector parallel to a unit vector gives |(u×v)⋅ω|=|n⋅ω|‖u×v‖=|n⋅ω|area⁡(P). Thus the formula holds for parallelograms. Since projω⟂⁡ is a linear map on the plane containing P, the same constant area-scaling factor |n⋅ω| applies to every measurable patch in that plane. Therefore areaω⟂⁡(P)=|n⋅ω|area⁡(P).

Radiometric Quantities

Radiant Energy
Radiant energy is energy carried by electromagnetic radiation. Radiant energy is a scalar physical quantity: it records an amount of energy, not a direction. Radiant energy is measured in joules.

For example, if a short pulse of light carries 2J of energy, then its radiant energy is 2J, where J denotes the joule unit of energy.

Watt
A watt, denoted W, is the unit of power. One watt is one joule per second: 1W=1J⋅s−1.
Radiometric Particle State
A radiometric particle state is the struct type Particle_State⁡::{position⁡:ℝ3direction⁡:𝕊2wavelength⁡:ℝ>0 A state s∈Particle_State⁡ has fields s.position⁡, s.direction⁡, and s.wavelength⁡.
Travelling Particle
A travelling particle is a continuous function TP⁡:ℝ→Particle_State⁡. The value TP⁡(t).position⁡ is the particle's position at time t, and TP⁡(t).direction⁡ is its direction at time t.
Travelling Particle Hits a Surface Patch
Let P⊆ℝ3 be a surface patch. A travelling particle TP⁡ hits P during the time interval [t,t+τ] if there exists u∈[t,t+τ] such that TP⁡(u).position⁡∈P.
Travelling Particle Locally Leaves a Surface Patch
Let P⊆ℝ3 be a surface patch. A travelling particle TP⁡ locally leaves P at time u if TP⁡(u).position⁡∈P and there exists ϵ∈ℝ>0 such that TP⁡(u+s).position⁡∉Pfor every s∈(0,ϵ). It locally leaves P during [t,t+τ] if it locally leaves P at some u∈[t,t+τ].

The word locally matters. A reflected particle can leave a patch at one interaction and hit the same patch again later; that later hit is a separate event. The outgoing condition only says that immediately after the event, the particle is no longer on the patch.

Travelling Particle in a Direction Set
Let A⊆𝕊2. A travelling particle TP⁡ is travelling in the direction set A at time t if TP⁡(t).direction⁡∈A.

A direction set A⊆𝕊2 is the same data as a cone of directions from the origin. Saying that a particle is travelling in A means its direction field points into that cone at the time being measured.

Radiant Energy of a Particle Collection
Let 𝒯 be the set of travelling particles under consideration. A radiant energy function is a function radiant_energy⁡:ℰ→ℝ≥0, where ℰ is a collection of subsets of 𝒯, such that radiant_energy⁡(C) is the total radiant energy carried by the particle collection C. In the continuous radiometric model, individual particles have zero radiant energy: radiant_energy⁡({TP⁡})=0 for every TP⁡∈𝒯.

This follows the usual continuum idealization: instead of counting a finite list of photons, radiometry treats photon events as so numerous that their energy distribution is modeled continuously. A single exact travelling particle has zero energy, while a measurable bundle of travelling particles can have positive radiant energy.

Radiant Flux
Let 𝒯 be the set of travelling particles under consideration. A time-windowed particle collection is a function C:ℝ×ℝ>0→ℰ, where C(t,τ)⊆𝒯 is the collection of travelling particles selected during the time interval from t to t+τ. The radiant flux, also called radiant power, of C at time t is Φ(C,t)=limτ→0+⁡radiant_energy⁡(C(t,τ))τ, whenever this limit exists. Radiant flux has units of joules per second, more commonly called watts.

If C and D are time-windowed particle collections, then C∩D means the time-windowed collection defined by (C∩D)(t,τ)=C(t,τ)∩D(t,τ). This lets us restrict radiant flux by several conditions at once, such as hitting a surface patch and travelling in a chosen set of directions.

For example, if CPhit(t,τ) is the collection of particles that hit a surface patch P during [t,t+τ], then Φ(CPhit,t) is the radiant flux incident on P at time t. If no such particles hit P during a small time interval, then radiant_energy⁡(CPhit(t,τ))=0J, so Φ(CPhit,t)=0W. If particles hitting P carry 3joules every 1second, then radiant_energy⁡(CPhit(t,τ))=3τ joules, so Φ(CPhit,t)=3W.

Radiant Energy from Flux
Let C be a time-windowed particle collection, let t0,t1∈ℝ with t0<t1, and suppose that there is a differentiable accumulated radiant energy function QC:[t0,t1]→ℝ such that QC(t1)−QC(t0)=radiant_energy⁡(C(t0,t1−t0)). If the radiant flux of C is Φ(C,t)=QC′(t) for every t∈(t0,t1), and t↦Φ(C,t) is continuous on [t0,t1], then the radiant energy selected by C from t0 to t1 is radiant_energy⁡(C(t0,t1−t0))=∫t0t1Φ(C,t)dt.
Since Φ(C,t)=QC′(t) on (t0,t1), the Fundamental Theorem of Calculus II gives ∫t0t1Φ(C,t)dt=QC(t1)−QC(t0). By the defining property of the accumulated radiant energy function on this interval, QC(t1)−QC(t0)=radiant_energy⁡(C(t0,t1−t0)). Therefore radiant_energy⁡(C(t0,t1−t0))=∫t0t1Φ(C,t)dt.

As a more physical example, aim a flashlight at a small circular patch P on a wall, and let CPhit select the particles that hit P during each time interval. If the flashlight output pulses in time, then the radiant flux Φ(CPhit,t) through that circular patch changes with time. For instance, a simple model might be Φ(CPhit,t)=2W+Wsin⁡(t), meaning the patch receives 2W on average, with the instantaneous radiant flux rising and falling between 1W and 3W.

Irradiance
Let (Pk) be a sequence of surface patches that shrinks to p. Let CPkhit be the time-windowed particle collection that selects particles that hit Pk. The irradiance at p and time t is the area density of incoming flux: irradiance⁡(p,t)=limk→∞⁡Φ(CPkhit,t)area⁡(Pk), when this limit exists and has the same value for the shrinking patches under consideration. Irradiance is measured in W⋅m−2, using the watt and the metre.

A helpful picture is rain passing through a small window. If the window is twice as large, it catches about twice as many drops, so dividing by the window area gives a rate per area. For light, the situation is smoother: a light source is modeled as producing a continuous flow of radiant flux, not separate drops that must be counted one by one. That is why shrinking the patch area and taking a limit can approach a nonzero density, even though an actual rain window made small enough might have no drops pass through during a short measurement.

For example, if 20W of radiant flux arrives uniformly across a flat surface patch of area 4m2, then the irradiance on that patch is 20W/4m2=5W⋅m−2, where m denotes the metre unit of length.

Radiant Flux from Irradiance
Let P be a surface patch on a surface, fix a time t, and let CPhit select particles that hit P. Suppose the incoming irradiance irradiance⁡(q,t) is defined at each point q∈P, is measurable and integrable with respect to surface area on P, and represents the area density of incoming radiant flux with respect to the surface area on P. Then the incoming radiant flux through P is Φ(CPhit,t)=∫Pirradiance⁡(q,t)dA, where dA is the surface area element on P.
Partition P into small surface patches P1,…,PN, and choose a representative point qj∈Pj. Since irradiance⁡(q,t) is the area density of incoming flux, the flux through Pj is approximated by irradiance⁡(qj,t)area⁡(Pj). Adding the approximations gives Φ(CPhit,t)≈∑j=1Nirradiance⁡(qj,t)area⁡(Pj). In the limit as the partition is refined, these sums converge to the integral of irradiance⁡ over the subset P with respect to surface area. Therefore Φ(CPhit,t)=∫Pirradiance⁡(q,t)dA.

The measurability of q↦irradiance⁡(q,t) is not automatic from the pointwise limit notation in the definition of irradiance. To use the integral over P, one either assumes this surface-measurability as part of the radiometric model or proves it from more primitive data. A common sufficient route is to express irradiance⁡ in each coordinate patch of the surface and prove that the coordinate expression is Borel measurable; in particular, a continuous coordinate expression is Borel measurable by continuous functions are Borel measurable.

Irradiance from Shrinking Circular Patches
Let M=ℝ2×{0}⊆ℝ3 be a flat surface, and let p=(0,0,0). For each k∈ℕ1, let Pk={(x,y,0)∈M:x2+y2≤1k2}. Let CPkhit select particles that hit Pk. Suppose that, at a fixed time t, the incoming radiant flux through every patch Pk is Φ(CPkhit,t)=5W⋅m−2area⁡(Pk). Prove that the irradiance at p and time t is 5W⋅m−2.
The patches form a decreasing sequence, since Pk+1⊆Pk for every k. Also, ⋂k=1∞Pk={p}, because the only point whose distance from p is at most 1/k for every k is p itself. Therefore Pk shrinks to p.

The area of Pk is π/k2. By the given flux formula, Φ(CPkhit,t)area⁡(Pk)=5W⋅m−2area⁡(Pk)area⁡(Pk)=5W⋅m−2. Hence irradiance⁡(p,t)=limk→∞⁡Φ(CPkhit,t)area⁡(Pk)=5W⋅m−2.

Radiant Exitance
Let (Pk) be a sequence of surface patches that shrinks to p. Let CPkleave be the time-windowed particle collection that selects particles that locally leave Pk. The radiant exitance at p and time t is the area density of outgoing flux: M(p,t)=limk→∞⁡Φ(CPkleave,t)area⁡(Pk), when this limit exists and has the same value for the shrinking patches under consideration. Radiant exitance is measured in W⋅m−2, using the watt and the metre.

For example, if a glowing panel emits 12W uniformly from a surface area of 3m2, then its radiant exitance is 12W/3m2=4W⋅m−2.

Radiant Intensity
Suppose ω∈𝕊2, and let (Ak) be a sequence of subsets of 𝕊2 that shrinks to ω. Let CAk be the time-windowed particle collection that selects particles travelling in the direction set Ak. The radiant intensity at ω and time t is the solid-angle density of emitted flux: I(ω,t)=limk→∞⁡Φ(CAk,t)σ(Ak), when this limit exists and has the same value for the shrinking direction sets under consideration. Radiant intensity is measured in W⋅sr−1, using the watt and steradian.

In this definition, CAk selects the travelling particles whose directions lie in Ak. Equivalently, if Ak is pictured as an imaginary surface patch on the unit sphere centered at the light source, those are the same particles that cross that empty-space patch. The patch is not a material surface; it is a way to visualize a bundle of directions.

Usually, radiant intensity is pictured with a small light source at the center of a sphere. Each point of the unit sphere represents one outgoing direction, and radiant intensity asks how much emitted power is concentrated near that direction. In the special case of the unit sphere, the numerical value of radiant intensity in a direction ω matches the numerical value of the irradiance measured at the corresponding point ω∈𝕊2, using surface patches on 𝕊2 that shrink to ω. The limits have the same denominator because, on the unit sphere, solid angle is surface area. The quantities are still different: radiant intensity has units W⋅sr−1, while irradiance has units W⋅m−2. If the receiving sphere has radius 2, then the same bundle of directions lands on four times as much physical area, so the irradiance at the corresponding point 2ω is one fourth as large. Radiant intensity does not change in this comparison because the bundle of directions has the same solid angle.

Radiant intensity uses the same density idea as irradiance, but with direction sets instead of physical surface patches. If we accept twice as large a cone of outgoing directions, we expect about twice as much emitted radiant flux to lie in that cone. Dividing by the cone's solid angle, then shrinking the cone around one direction, gives a directional density of emitted power.

For example, if a small source emits 10W uniformly into a cone whose solid angle is 2sr, then its average radiant intensity over that cone is 10W/2sr=5W⋅sr−1.

Radiant Flux from Radiant Intensity
Let A⊆𝕊2 be a measurable set of outgoing directions, fix a time t, and let CA be the time-windowed particle collection that selects particles travelling in A. Suppose the radiant intensity I(ω,t) is defined for ω∈A, is measurable and integrable with respect to solid angle measure on A, and represents the solid-angle density of emitted radiant flux. Then the radiant flux emitted into A is Φ(CA,t)=∫AI(ω,t)dσ(ω), where dσ means integration with respect to solid angle on 𝕊2.
Partition A into small direction sets A1,…,AN, and choose a representative direction ωj∈Aj. Since I(ω,t) is the solid-angle density of emitted flux, the flux emitted into Aj is approximated by I(ωj,t)σ(Aj). Adding the approximations gives Φ(CA,t)≈∑j=1NI(ωj,t)σ(Aj). In the limit as the direction partition is refined, these sums converge to the integral of I over the subset A with respect to solid angle. Therefore Φ(CA,t)=∫AI(ω,t)dσ(ω).
Radiant Intensity from Shrinking Direction Sets
Fix a direction ω∈𝕊2 and a time t0. Let (Ak) be direction sets that shrink to ω, and let CAk select particles travelling in Ak. Suppose σ(Ak)=1k. Suppose the emitted radiant flux into Ak at time t0 is Φ(CAk,t0)=6k+2k2 watts. Compute the radiant intensity at ω and t0.
By the definition of radiant intensity, I(ω,t0)=limk→∞⁡Φ(CAk,t0)σ(Ak). Substituting the given values, Φ(CAk,t0)σ(Ak)=6k+2k21k=6+2k. Therefore I(ω,t0)=limk→∞⁡(6+2k)=6. Thus the radiant intensity at ω and t0 is 6W⋅sr−1.
Radiance
Radiance measures radiant flux per unit projected area and per unit solid angle. Let (Pk) be a sequence of surface patches that shrinks to p, and let (Ak) be a sequence of direction sets that shrinks to ω. Let CPk be the time-windowed particle collection that selects particles whose positions lie in Pk, and let CAk be the time-windowed particle collection that selects particles travelling in Ak. The radiance at p, in direction ω, at time t, is radiance⁡(p,ω,t)=limk→∞⁡Φ(CPk∩CAk,t)areaω⟂⁡(Pk)σ(Ak), when this limit exists and has the same value for the shrinking patches and direction sets under consideration. Here areaω⟂⁡(Pk) is the projected area of Pk in direction ω. Equivalently, when areaω⟂⁡(Pk)=|n⋅ω|area⁡(Pk), radiance⁡(p,ω,t)=limk→∞⁡Φ(CPk∩CAk,t)|n⋅ω|area⁡(Pk)σ(Ak). Radiance is measured in W⋅m−2⋅sr−1, using the watt, metre, and steradian.

Radiance combines the two localizations above. It measures how much radiant flux passes through an imaginary tiny window around p, restricted to a tiny cone of directions around ω, after dividing out both the window's projected area and the cone's solid angle. The window is just a measuring device around the point p; it does not have to be a physical surface.

For example, if 6W of flux is associated with 2m2 of projected area and 3sr of directions, then the average radiance over that area-direction set is 6W/(2m2⋅3sr)=1W⋅m−2⋅sr−1.

Radiance Contribution to Irradiance Density
Let p be a point on a surface patch with unit surface normal n. For a direction set A⊆𝕊2, let irradiancep⁡(A) be the irradiance contribution at p from incoming directions in A. If (Ak) is a sequence of direction sets that shrinks to ωi, and radiance_in⁡ is locally stable near ωi, then the solid-angle density of irradiancep⁡ at ωi is limk→∞⁡irradiancep⁡(Ak)σ(Ak)=radiance_in⁡(p,ωi)|n⋅ωi|.
By the definition of radiance, flux from directions in a small direction set around ωi is approximated by radiance_in⁡(p,ωi)areaωi⟂⁡(P)σ(A), where P is a small surface patch around p, A is the small direction set, and σ(A) is its solid angle. By the projected area formula, areaωi⟂⁡(P)=|n⋅ωi|area⁡(P). Thus the incoming flux is approximated by radiance_in⁡(p,ωi)|n⋅ωi|area⁡(P)σ(A). Dividing by area⁡(P) gives the contribution per unit surface area, radiance_in⁡(p,ωi)|n⋅ωi|σ(A). Thus, for small direction sets A near ωi, irradiancep⁡(A)≈radiance_in⁡(p,ωi)|n⋅ωi|σ(A). Therefore, along any shrinking sequence Ak→ωi for which the density limit exists, limk→∞⁡irradiancep⁡(Ak)σ(Ak)=radiance_in⁡(p,ωi)|n⋅ωi|. Equivalently, if B is a small direction set near ωi, then irradiancep⁡(B)=radiance_in⁡(p,ωi)|n⋅ωi|σ(B)+r(B), where the error r(B) is smaller than linear in solid angle: r(B)σ(B)→0 as B shrinks to ωi.

This is the same logic as a one-variable derivative. When a derivative exists, the function has a best linear approximation and the error divided by the input size tends to 0. Here the input size is the solid angle σ(B), and the linear term is radiance_in⁡(p,ωi)|n⋅ωi|σ(B). This is why, later, a small direction set Bj with representative direction ηj contributes approximately radiance_in⁡(p,ηj)|n⋅ηj|σ(Bj) to irradiance.

Radiance Functions

Incident Radiance
The incident radiance radiance_in⁡(p,ω) is the radiance arriving at a surface point p from direction ω.

For example, sunlight arriving at a point on a wall from the direction of the sun contributes to radiance_in⁡(p,ω) for that incoming direction.

Rendering Scene
A rendering scene is the collection of surfaces, light sources, and material scattering functions used to determine the radiance transported through the scene.
No-Hit Sentinel
The no-hit sentinel, denoted ⊥, is a special value used to record that a ray did not intersect any surface in a scene. It is not a point of ℝ3.
Raycast Function
Given a rendering scene S, the raycast function raycastS⁡:ℝ3×𝕊2→ℝ3∪{⊥} sends a point p∈ℝ3 and a direction ω∈𝕊2 to the first surface point hit by the ray starting at p and traveling in direction ω. If the ray hits no surface in S, then raycastS⁡(p,ω)=⊥.
Incident Radiance from Raycast
Let S be a rendering scene, let p∈ℝ3, let ω∈𝕊2, and suppose p′=raycastS⁡(p,ω)≠⊥. If radiance is transported without absorption or emission along the open segment from p′ to p, then radiance_in⁡(p,ω)=radiance_out⁡(p′,−ω).
The value raycastS⁡(p,ω)=p′ says that the ray starting at p in direction ω first meets the scene at p′. Thus light arriving at p from direction ω is the same bundle of light that left p′ in direction −ω. Since there is no absorption or emission along the segment between the two points, radiance is unchanged during this straight-line transport. Therefore radiance_in⁡(p,ω)=radiance_out⁡(p′,−ω).

Another way to read the same statement is with path notation. If p and p′ are consecutive points on a light path, then the direction p→p′ is the same direction as ω, and the opposite direction p′→p is −ω. So the same transport identity can be read as radiance_in⁡(p,p→p′)=radiance_out⁡(p′,p′→p).

Exitant Radiance
The exitant radiance radiance_out⁡(p,ω) is the radiance leaving a surface point p in direction ω.

For example, light reflected from a painted wall toward a camera contributes to radiance_out⁡(p,ω) for the direction from the wall to the camera.

Surface Interaction

Hemisphere of Directions
Let p be a point on a surface S with surface normal n(p). The positive hemisphere of directions at p is Hp+:={ω∈𝕊2:n(p)⋅ω>0}. The opposite hemisphere is Hp−:={ω∈𝕊2:n(p)⋅ω<0}.
BRDF
The bidirectional reflectance distribution function, abbreviated BRDF, describes how much incoming radiance from one direction is reflected into another direction at a surface point. For a surface S, write brdf⁡:{(p,ωi,ωo):p∈S, ωi,ωo∈Hp+ or ωi,ωo∈Hp−}→[0,∞). The value brdf⁡(p,ωi,ωo) describes reflected scattering at p when the incoming unit vector ωi∈𝕊2 and outgoing unit vector ωo∈𝕊2 lie in the same hemisphere. Informally, brdf⁡ is outgoing radiance per incoming irradiance, so its unit is sr−1.

For example, an ideal matte white surface has nearly the same value of brdf⁡(p,ωi,ωo) for every outgoing direction ωo, while a shiny surface has a value of brdf⁡(p,ωi,ωo) that is much larger near the mirror-reflection direction.

Lambertian BRDF
A Lambertian BRDF with reflectance ρ∈[0,1] is a BRDF whose value is constant over incoming and outgoing directions on the same side of the surface: brdf⁡(p,ωi,ωo)=ρπ. The number ρ is the fraction of incident surface power density reflected by the surface.
BTDF
The bidirectional transmittance distribution function, abbreviated BTDF, describes how much incoming radiance from one side of a surface is transmitted into an outgoing direction on the other side. For a surface S, write btdf⁡:{(p,ωi,ωo):p∈S, ωi∈Hp+, ωo∈Hp− or ωi∈Hp−, ωo∈Hp+}→[0,∞). The value btdf⁡(p,ωi,ωo) describes transmitted scattering at p when the incoming unit direction ωi and outgoing unit direction ωo lie in opposite hemispheres.

The difference from a BRDF is which side of the surface contains the outgoing light. A BRDF describes reflection: the incoming and outgoing directions lie on the same side of the surface. A BTDF describes transmission: the incoming light passes through the surface and leaves on the opposite side.

For example, a clear glass pane has a BTDF that is concentrated around directions determined by refraction.

BSDF
The bidirectional scattering distribution function, abbreviated BSDF, combines the BRDF and BTDF. For a surface S, write bsdf⁡:S×𝕊2×𝕊2→[0,∞). Away from tangent directions, it is the piecewise function bsdf⁡(p,ωi,ωo)={brdf⁡(p,ωi,ωo),ωi,ωo∈Hp+ or ωi,ωo∈Hp−,btdf⁡(p,ωi,ωo),ωi∈Hp+, ωo∈Hp− or ωi∈Hp−, ωo∈Hp+. Thus bsdf⁡(p,ωi,ωo) describes surface scattering at p∈S from the incoming unit direction ωi to the outgoing unit direction ωo, whether the light is reflected or transmitted.

The codomain [0,∞) does not mean that a BSDF value is a fraction of light, and it does not mean that bsdf⁡≤1. A BSDF value is a conversion density from incoming irradiance, measured in W⋅m−2, to outgoing radiance, measured in W⋅m−2⋅sr−1. Therefore the raw output of bsdf⁡ is measured in outgoing radianceincoming irradiance=W⋅m−2⋅sr−1W⋅m−2=sr−1. Thus, by the linear approximation coming from irradiance density, if a small direction set Bj has representative incoming direction ηj and solid angle σj, then radiance_in⁡(p,ηj)|n⋅ηj|σj is an approximate incoming irradiance contribution, not a radiant flux. Multiplying by bsdf⁡(p,ηj,ωo) gives the corresponding outgoing radiance contribution in direction ωo. A BSDF can be larger than 1 at a particular pair of directions when scattering is concentrated into a small set of outgoing directions; the energy-conserving condition is an integral condition over outgoing directions, not a pointwise bound.

For example, a pane of slightly tinted glass can have a BSDF with a reflected part for mirror-like glare on the front surface and a transmitted part for light that passes through the glass with some absorption. Geometrically, after fixing the surface normal, the BRDF describes scattering into the same hemisphere of directions as reflection, the BTDF describes scattering into the opposite hemisphere, and the BSDF describes both hemispheres together.

Reflected Radiance
Reflected radiance is the part of the exitant radiance at a surface point that comes from incident light scattering at the surface rather than from the surface emitting light by itself.
Emitted Radiance
The emitted radiance emitted_radiance⁡(p,ω) is the radiance produced by a surface point p itself and leaving in direction ω.

For example, a glowing screen has nonzero emitted radiance, while a wall lit only by another lamp has zero emitted radiance and only reflected radiance.

Reflection Equation
The reflection equation is the local bookkeeping rule for outgoing radiance caused by emission and reflection from incoming directions on the same side of the surface: radiance_out⁡(p,ωo)=emitted_radiance⁡(p,ωo)+∫Ω+brdf⁡(p,ωi,ωo)radiance_in⁡(p,ωi)|n⋅ωi|dωi. Here radiance_out⁡ is exitant radiance, radiance_in⁡ is incident radiance, emitted_radiance⁡ is emitted radiance, brdf⁡ is a BRDF, n is the surface normal, and Ω+ is the hemisphere of directions above the surface.

The factor |n⋅ωi| converts incoming radiance from a direction into its contribution per unit surface area through projected area.

Energy-Conserving BSDF
A BSDF is energy-conserving if, for every surface point p and incoming direction ωi, ∫𝕊2bsdf⁡(p,ωi,ωo)|n⋅ωo|dωo≤1, where n is the surface normal at p. The integral is the total fraction of incoming irradiance from ωi that is scattered into all outgoing directions. The inequality says that the surface may absorb energy, but it does not scatter out more energy than arrived from that incoming direction.
Scattered Radiance
Suppose the local BSDF scattering approximation is being used. Let p be a surface point with surface normal n, let ωo∈𝕊2 be an outgoing direction, and let A⊆𝕊2 be a measurable incoming direction set. Suppose the function ωi↦bsdf⁡(p,ωi,ωo)radiance_in⁡(p,ωi)|n⋅ωi| is measurable and integrable on A with respect to solid angle measure. The scattered radiance from A into ωo is scattered_radiance⁡(p,ωo,A):=∫Absdf⁡(p,ωi,ωo)radiance_in⁡(p,ωi)|n⋅ωi|dσ(ωi). This is the part of the exitant radiance leaving p in direction ωo that comes from incident light arriving from directions in A and scattering at p.

The integral in the definition is a Lebesgue integral with respect to the solid angle measure σ. If g(ωi)=bsdf⁡(p,ωi,ωo)radiance_in⁡(p,ωi)|n⋅ωi|, then formally ∫Agdσ is obtained from the supremum of lower Lebesgue sums. For a finite measurable partition 𝒫=(B1,…,Bm) of A, the lower sum with respect to the solid angle measure is L(g,𝒫,σ)=∑j=1mσ(Bj)infBj⁡g. When the pieces Bj are small and g changes little on each piece, this lower sum is close to the representative-direction sum ∑j=1mσ(Bj)g(ηj), where ηj∈Bj. Expanding the definition of g, this is ∑j=1mσ(Bj)bsdf⁡(p,ηj,ωo)radiance_in⁡(p,ηj)|n⋅ηj|. The factor radiance_in⁡(p,ηj)|n⋅ηj|σ(Bj) is the approximate irradiance contribution from Bj, by the linear approximation coming from irradiance density. Multiplying by bsdf⁡(p,ηj,ωo) converts that incoming irradiance contribution into an outgoing scattered radiance contribution in direction ωo. The integral is the rigorous version of taking all of those direction pieces at once.

Local Linear BSDF Scattering Model
The local linear BSDF scattering model is a rendering approximation that assumes the exitant radiance at each surface point p and outgoing direction ωo is modeled using two local contributions:
  1. emitted radiance emitted_radiance⁡(p,ωo), produced at p itself, and
  2. scattered radiance from incident light arriving at p.
It also assumes the scattered contribution is linear and additive over incoming direction sets. With these assumptions, radiance_out⁡(p,ωo)=emitted_radiance⁡(p,ωo)+scattered_radiance⁡(p,ωo,𝕊2).
BSDF Scattering Equation
Suppose the local linear BSDF scattering model is used for a surface, and suppose scattered radiance is defined for A=𝕊2. Then the exitant radiance in direction ωo is radiance_out⁡(p,ωo)=emitted_radiance⁡(p,ωo)+∫𝕊2bsdf⁡(p,ωi,ωo)radiance_in⁡(p,ωi)|n⋅ωi|dσ(ωi). If one is only describing the scattered outgoing radiance, or if emitted_radiance⁡(p,ωo)=0, this reduces to the fundamental scattering equation radiance_out⁡(p,ωo)=∫𝕊2bsdf⁡(p,ωi,ωo)radiance_in⁡(p,ωi)|n⋅ωi|dσ(ωi).
By the assumptions in the local linear BSDF scattering model, radiance leaving p in direction ωo is modeled as an emitted part plus a scattered part: radiance_out⁡(p,ωo)=emitted_radiance⁡(p,ωo)+scattered_radiance⁡(p,ωo,𝕊2). Applying the definition of scattered radiance with A=𝕊2 gives scattered_radiance⁡(p,ωo,𝕊2)=∫𝕊2bsdf⁡(p,ωi,ωo)radiance_in⁡(p,ωi)|n⋅ωi|dσ(ωi). Substituting this expression for the scattered part gives the BSDF scattering equation.
Raycast Form of the BSDF Scattering Equation
Let S be a rendering scene, let p be a surface point with surface normal n, and let ωo∈𝕊2 be an outgoing direction. Suppose the local linear BSDF scattering model is used at p, and suppose that for almost every incoming direction ωi∈𝕊2, pi=raycastS⁡(p,ωi)≠⊥, with straight-line radiance transport from pi to p. Then radiance_out⁡(p,ωo)=emitted_radiance⁡(p,ωo)+∫𝕊2bsdf⁡(p,ωi,ωo)radiance_out⁡(raycastS⁡(p,ωi),−ωi)|n⋅ωi|dσ(ωi).
The BSDF scattering equation gives radiance_out⁡(p,ωo)=emitted_radiance⁡(p,ωo)+∫𝕊2bsdf⁡(p,ωi,ωo)radiance_in⁡(p,ωi)|n⋅ωi|dσ(ωi). For almost every ωi, write pi=raycastS⁡(p,ωi). By incident radiance from raycast, radiance_in⁡(p,ωi)=radiance_out⁡(pi,−ωi). Substituting this expression into the integral gives the raycast form.

In path language, this says that the outgoing radiance at p in direction ωo is emitted radiance at p, plus the scattered contribution from all possible previous path vertices. For each incoming direction ωi, the raycast finds the previous surface point pi, and the incoming radiance at p is the outgoing radiance from pi back toward p.

Point-to-Point Direction
If p,q∈ℝ3 and p≠q, then ωp→q:=q−p‖q−p‖ is the unit direction from p toward q.
Visibility Between Surface Points
Let S be a rendering scene, and let p,q be surface points in S. The visibility factor VS(p,q) is 1 when the open line segment from p to q intersects no blocking surface in S, and is 0 otherwise.
Point-to-Point Exitant Radiance
Let S be a rendering scene, and let p,q be distinct surface points. The exitant radiance from p to q is radiance_out⁡(p→q):={radiance_out⁡(p,ωp→q),VS(p,q)=1,0,VS(p,q)=0.
Three-Point BSDF
Let pi,p,po be distinct surface points. The three-point BSDF at p, from pi through p toward po, is bsdf⁡(pi→p→po):=bsdf⁡(p,ωp→pi,ωp→po). The incoming direction at p is the direction from p toward the previous point pi, and the outgoing direction at p is the direction from p toward the next point po.
Geometric Coupling
Let S be a rendering scene, and let p,q be distinct surface points with surface normals n(p) and n(q). The geometric coupling between p and q is geometric_couplingS⁡(p,q):=VS(p,q)|n(p)⋅ωp→q||n(q)⋅ωq→p|‖p−q‖2.

The factor geometric_couplingS⁡(p,q) packages three things that otherwise appear separately: whether p and q can see each other, the projected-area cosine at p, and the solid-angle-to-surface-area conversion at q. This is useful when evaluating the transport equation by sampling surface points instead of sampling directions.

Radial Surface Patch from a Point
Let p∈ℝ3, and let Q be a surface patch not containing p. We say that Q is radial from p if every half-line starting at p intersects Q in at most one point. Equivalently, for every ω∈𝕊2, there is at most one r∈ℝ>0 such that p+rω∈Q.

Intuitively, a radial surface patch from p is like a patch of the unit sphere around p, except the radius is allowed to vary smoothly with direction. One way to picture it is Q={p+ρ(ω)ω:ω∈A}, where A⊆𝕊2 is a direction set and ρ:A→ℝ>0 gives one distance from p for each direction. A genuine subset of the sphere centered at p is the special case ρ(ω)=1. A filled disk containing whole radial line segments from p is not radial from p, because one direction would correspond to many points of the patch.

Direction Map is Injective on a Radial Patch
Let p∈ℝ3, and let Q be a radial surface patch from p. The direction map g:Q→𝕊2,g(q)=ωp→q is injective.
Suppose q1,q2∈Q and g(q1)=g(q2)=ω. By the definition of point-to-point direction, q1=p+‖q1−p‖ω,q2=p+‖q2−p‖ω. Since p∉Q, both ‖q1−p‖ and ‖q2−p‖ are positive. Thus both q1 and q2 lie on the same half-line {p+rω:r∈ℝ>0}. Because Q is radial from p, that half-line intersects Q in at most one point. Therefore q1=q2, so g is injective.
Surface Patches are Locally Coordinate Images
Let Q be a smooth surface patch on a surface M⊆ℝ3. For each ordinary point q0∈Q, there is a smaller patch Q0⊆Q containing q0 and a coordinate system x:U→ℝ3,U⊆ℝ2, such that x(U)=Q0.
By the definition of surface, the smooth pieces of M are two-dimensional manifolds in Euclidean space. By the definition of coordinate system on a manifold, every point of such a smooth piece has a neighborhood of the form x(U)=M∩O, where O⊆ℝ3 is open and U⊆ℝ2 is open. Restricting O if necessary so that M∩O⊆Q, set Q0=M∩O. Then x(U)=Q0.
Derivative of the Normalization Map
Let N:ℝ3∖{0}→𝕊2,N(z)=z‖z‖. If z∈ℝ3∖{0}, ω=N(z), and v∈ℝ3, then DN(z)(v)=1‖z‖(v−(v⋅ω)ω)=1‖z‖projω⟂⁡(v).
Here DN(z) is the derivative of N at z. It is a linear transformation ℝ3→ℝ3, and DN(z)(v) means that this linear transformation is applied to the vector v.

Define the length function

L(z)=‖z‖. First compute DL(z)(v). Define the squared-length function S:ℝ3→ℝ,S(z)=L(z)2=z⋅z. By the derivative of squared norm exercise, for v∈ℝ3, DS(z)(v)=2z⋅v. Now define the one-variable square function m:ℝ→ℝ,m(t)=t2. Since S(z)=L(z)2, this means S=m∘L. Therefore, by the chain rule, DS(z)(v)=Dm(L(z))(DL(z)(v)). The one-variable derivative of m(t)=t2 at L(z) is the linear map s↦2L(z)s. Hence DS(z)(v)=2L(z)DL(z)(v). Combining this with the earlier value DS(z)(v)=2z⋅v gives 2z⋅v=2L(z)DL(z)(v). Because z≠0, L(z)=‖z‖>0, so 2L(z)≠0. Dividing both sides by 2L(z) gives DL(z)(v)=z⋅v‖z‖. Now define Q:ℝ3×(ℝ∖{0})→ℝ3,Q(y,t)=yt, and P:ℝ3∖{0}→ℝ3×(ℝ∖{0}),P(z)=(z,L(z)). Then N=Q∘P. By the derivative of the identity function, DP(z)(v)=(v,DL(z)(v)). Therefore the chain rule and the derivative of the vector scalar division map give DN(z)(v)=DQ(P(z))(DP(z)(v))=DQ(z,L(z))(v,DL(z)(v))=1L(z)v−DL(z)(v)L(z)2z. Substitute the formula for DL(z)(v): DN(z)(v)=1‖z‖v−z⋅v‖z‖3z. Since ω=z/‖z‖, we have z=‖z‖ω and z⋅v=‖z‖(ω⋅v). Thus z⋅v‖z‖3z=‖z‖(ω⋅v)‖z‖3‖z‖ω=(ω⋅v)ω‖z‖. Therefore DN(z)(v)=1‖z‖(v−(ω⋅v)ω). Since ω⋅v=v⋅ω, and by the definition of orthogonal projection onto ω⟂, projω⟂⁡(v)=v−(v⋅ω)ω, the desired formula follows.
Surface Area to Solid Angle Change of Variables
Let p∈ℝ3, let Q be a smooth radial surface patch from p, let AQ be the surface area measure on Q, let n:Q→𝕊2 assign a unit surface normal n(q) to each point q∈Q, and let g:Q→𝕊2,g(q)=ωp→q be the direction map. If F:g(Q)→ℝ is integrable, then ∫g(Q)F(ω)dσ(ω)=∫QF(ωp→q)|n(q)⋅ωq→p|‖p−q‖2dAQ(q). The notation dAQ(q) means integration with respect to the surface area measure AQ; it is not evaluation of an A-function at q.
By direction map is injective on a radial patch, g is one-to-one on Q. By surface patches are locally coordinate images, it is enough to do the calculation on a smaller patch described by one coordinate system and then add the pieces.

So let x:U→Q be a coordinate system, with U⊆ℝ2. For each u∈U, define

q(u)=x(u),r(u)=‖q(u)−p‖,ω(u)=ωp→q(u). Thus the coordinate expression of the direction map is g(x(u))=x(u)−p‖x(u)−p‖=ω(u). Fix u∈U. The direction map is the composition of the translation q↦q−p with the normalization map N(z)=z/‖z‖. For a tangent vector v∈Tq(u)Q, apply the derivative of the normalization map with z=q(u)−p,‖z‖=r(u),N(z)=ω(u). Since the derivative of q↦q−p sends v to v, this gives Dg(q(u))(v)=1r(u)(v−(v⋅ω(u))ω(u))=1r(u)projω(u)⟂⁡(v). Let x1=∂x∂u1(u),x2=∂x∂u2(u). Then the two coordinate tangent vectors on 𝕊2 induced by g∘x are Dg(q(u))(x1)=1r(u)projω(u)⟂⁡(x1),Dg(q(u))(x2)=1r(u)projω(u)⟂⁡(x2). By the surface area density cross product formula, the surface-area density of g(Q) in the coordinates g∘x is ‖Dg(q(u))(x1)×Dg(q(u))(x2)‖=1r(u)2‖projω(u)⟂⁡(x1)×projω(u)⟂⁡(x2)‖. The projected vectors lie in ω(u)⟂, so their cross product is parallel to ω(u). Therefore, using norm equals absolute dot product with a parallel unit vector and the oriented projected area identity, ‖projω(u)⟂⁡(x1)×projω(u)⟂⁡(x2)‖=|(x1×x2)⋅ω(u)|. Since n is the chosen unit normal field on Q, the vector x1×x2 is parallel to n(q(u)). Hence |(x1×x2)⋅ω(u)|=|n(q(u))⋅ω(u)|‖x1×x2‖. Because ωq(u)→p=−ωp→q(u)=−ω(u), this becomes ‖Dg(q(u))(x1)×Dg(q(u))(x2)‖=|n(q(u))⋅ωq(u)→p|‖p−q(u)‖2‖x1×x2‖. Now express the integral with coordinates on the sphere. Let y:V→𝕊2 be a coordinate system on the sphere with y(V)=g(Q), and define h=y−1∘g∘x:U→V, so that y(h(u))=g(x(u)). The map h is a coordinate expression of the direction map. The absolute Jacobian determinant |det⁡[Dh(u)]E|, together with the sphere area density from y, is exactly |n(x(u))⋅ωx(u)→p|‖p−x(u)‖2‖x1×x2‖. Since σ is the solid angle measure, which is surface area measure on 𝕊2, the sphere-coordinate expression of the left side is ∫g(Q)F(ω)dσ(ω)=∫VF(y(v))ρy(v)dλ(v), where ρy is the surface area density of the sphere in the coordinates y. Applying change of variables for Lebesgue integrals to h:U→V gives ∫g(Q)F(ω)dσ(ω)=∫UF(g(x(u)))|n(x(u))⋅ωx(u)→p|‖p−x(u)‖2‖x1×x2‖du. By the definition of surface area measure and the surface area density cross product formula, the measure AQ has local density dAQ(q(u))=‖x1×x2‖du. Therefore the local integral is ∫QF(ωp→q)|n(q)⋅ωq→p|‖p−q‖2dAQ(q). For a patch covered by several coordinate systems, apply the same argument on each piece and add the resulting integrals.
Surface Form of the BSDF Scattering Equation
Let S be a rendering scene, let ΣS be the union of the scene's surfaces, and let p,po∈ΣS be distinct surface points. Suppose the raycast form of the BSDF scattering equation applies at p. Then the point-to-point exitant radiance satisfies radiance_out⁡(p→po)=emitted_radiance⁡(p,ωp→po)+∫ΣSbsdf⁡(q→p→po)radiance_out⁡(q→p)geometric_couplingS⁡(p,q)dAΣS(q).
Apply the BSDF scattering equation with outgoing direction ωp→po: radiance_out⁡(p,ωp→po)=emitted_radiance⁡(p,ωp→po)+∫𝕊2bsdf⁡(p,ωi,ωp→po)radiance_in⁡(p,ωi)|n(p)⋅ωi|dσ(ωi). For a visible surface point q, the corresponding incoming direction at p is ωi=ωp→q. By incident radiance from raycast, radiance_in⁡(p,ωp→q)=radiance_out⁡(q→p). On each smooth visible patch Q⊆ΣS, apply surface area to solid angle change of variables to the direction map g(q)=ωp→q. The determinant calculation in that proposition gives the Jacobian factor dσ(ωp→q)=|n(q)⋅ωq→p|‖p−q‖2dAQ(q). Directions that do not hit a surface contribute nothing to the surface integral, and blocked point pairs are recorded by the visibility factor VS(p,q). Substituting the radiance identity and the change-of-variables factor into the direction integral gives ∫ΣSbsdf⁡(q→p→po)radiance_out⁡(q→p)VS(p,q)|n(p)⋅ωp→q||n(q)⋅ωq→p|‖p−q‖2dAΣS(q). The factor multiplying the BSDF and radiance is exactly geometric_couplingS⁡(p,q), so the claimed surface form follows.

The direction form suggests sampling directions ωi and then raycasting to find q. The surface form suggests sampling points q on scene surfaces and then using geometric_couplingS⁡(p,q) to account for visibility, orientation, and distance. Both equations describe the same local light transport; they organize the computation differently.

Analytic LTE Solution for an Emitting Lambertian Sphere
Consider the interior surface of a sphere. Suppose every point on the sphere has the same Lambertian BRDF with reflectance ρ, where 0≤ρ<1, and suppose every point emits the same constant emitted radiance emitted_radiance⁡(p,ω)=E0 in every direction. Then the solution of the BSDF scattering equation is constant over all surface points and directions, and its value is radiance_out⁡(p,ω)=E01−ρ.
By the rotational symmetry of the sphere interior and the constant material and emission assumptions, the outgoing radiance has the same value at every surface point and direction. Write this constant value as L. The corresponding incident radiance is also L, because every incoming ray last left another point on the same sphere with the same outgoing radiance. Using the BSDF scattering equation on the inward hemisphere gives L=E0+∫Hp+ρπL|n⋅ωi|dσ(ωi). The hemisphere cosine integral is π. Indeed, choosing coordinates so that n=(0,0,1), write ωi in spherical coordinates with polar angle θ∈[0,π/2] and azimuthal angle φ∈[0,2π]. Then |n⋅ωi|=cos⁡θ and dσ(ωi)=sin⁡θdθdφ, so ∫Hp+|n⋅ωi|dσ(ωi)=∫02π∫0π/2cos⁡θsin⁡θdθdφ=π. Therefore the scattering equation reduces to L=E0+ρL. Solving gives L=E01−ρ. The same result appears by successive substitution. From L=E0+ρL, L=E0+ρ(E0+ρL)=E0+ρE0+ρ2L. Repeating this N times gives L=∑j=0NρjE0+ρN+1L. Since 0≤ρ<1, the remainder ρN+1L tends to 0, and the geometric series converges to L=∑j=0∞ρjE0=E01−ρ.

The successive-substitution series above is a Neumann series. In rendering language, the first term is radiance emitted directly by the surface, the next term is light that has scattered once after emission, the next has scattered twice, and so on. Direct illumination methods keep only the first scattering event from light sources; path tracing estimates the longer sequence by randomly sampling paths.

Energy-Conserving BSDF Does Not Amplify Incident Energy
Suppose that bsdf⁡ is an energy-conserving BSDF and emitted_radiance⁡(p,ωo)=0. Then the scattered part of the BSDF scattering equation does not send out more total surface power density than the incoming radiance delivers to the surface.
The outgoing surface power density due to scattering is obtained by integrating outgoing radiance against the projected-area factor: ∫𝕊2radiance_out⁡(p,ωo)|n⋅ωo|dωo. Since emitted_radiance⁡(p,ωo)=0, substitute the scattered part of the BSDF scattering equation: ∫𝕊2∫𝕊2bsdf⁡(p,ωi,ωo)radiance_in⁡(p,ωi)|n⋅ωi||n⋅ωo|dωidωo. Reordering the integrations gives ∫𝕊2radiance_in⁡(p,ωi)|n⋅ωi|(∫𝕊2bsdf⁡(p,ωi,ωo)|n⋅ωo|dωo)dωi. By the energy-conserving BSDF condition, the parenthesized integral is at most 1. Therefore the outgoing scattered power density is at most ∫𝕊2radiance_in⁡(p,ωi)|n⋅ωi|dωi, which is the incoming surface power density. Thus the scattering term redistributes or absorbs incident energy; it does not create extra energy.
BSSRDF
The bidirectional surface scattering reflectance distribution function, abbreviated BSSRDF, generalizes the BRDF by allowing light to enter a surface at one point and leave at another point. It depends on an incident surface point pi, an incoming direction ωi, an exitant surface point po, and an outgoing direction ωo.

For example, wax and skin often need a BSSRDF because light can enter at one nearby point, scatter under the surface, and exit elsewhere.

Spectral Quantities

Wavelength
A wavelength is the spatial period of a wave. For light, wavelength is commonly denoted by λ.
Visible Wavelength Range
The visible wavelength range is the range of wavelengths that humans can usually see. A common approximate range is 380nm to 780nm.
Photon
A photon is a discrete packet of light or other electromagnetic radiation. A photon with wavelength λ has energy E=hcλ, where h is the Planck constant and c is the speed of light.
Spectral Distribution
A spectral distribution is a function whose input is a wavelength and whose output is the amount of some physical quantity at that wavelength.
Spectral Radiometric Quantity
A spectral radiometric quantity describes how a radiometric quantity is distributed over wavelength. Spectral radiance Lλ satisfies L=limmaxi⁡Δλi→0⁡∑iLλ(λi)Δλi, whenever this limit exists over the wavelengths being considered.
Spectral Power Distribution
A spectral power distribution is a spectral distribution for radiant flux.

For example, two lamps may emit the same total radiant flux but have different spectral power distributions if one emits more short-wavelength light and the other emits more long-wavelength light.

Sampled Spectrum
A sampled spectrum represents a spectral distribution by storing values at finitely many wavelength samples or wavelength intervals.

For example, instead of storing a value for every wavelength from 380nm to 780nm, a renderer might store values at a fixed set of sample wavelengths and interpolate or average between them.

Spectral Rendering
Spectral rendering is rendering that transports and scatters light using spectral distributions rather than only three color coordinates.

Light Emission

Light Source
A light source is an object or region with nonzero emitted radiance.
Area Light
An area light is a light source whose emission is distributed over a surface region.

For example, a glowing rectangular panel is naturally modeled as an area light.

Blackbody Emitter
A blackbody emitter is an idealized light source whose spectral power distribution is determined only by its temperature.

For example, as the temperature increases, an ideal blackbody shifts from a reddish appearance toward white and then bluish-white.

Standard Illuminant
A standard illuminant is a specified spectral power distribution used as a reference light source.

For example, a daylight standard illuminant gives a repeatable reference spectrum for describing colors under daylight-like illumination.

Color

Color
Color is the perceptual response associated with a light spectrum and an observer. It is not the same thing as a spectral distribution: different spectra can produce the same perceived color for a given observer.
Color Matching Functions
Color matching functions are three weighting functions over visible wavelengths used to convert a spectral distribution into three color coordinates.
XYZ Color
An XYZ color is a triple (X,Y,Z) obtained from a spectral distribution using color matching functions. The Y coordinate is chosen to correspond to perceived brightness under the standard observer model.
RGB Color
An RGB color is a triple (R,G,B) of coordinates relative to chosen red, green, and blue primaries. RGB is a coordinate representation of color, not a complete description of the physical light spectrum.
RGB Color Space
An RGB color space specifies how RGB triples correspond to colors. It includes the red, green, and blue primaries, a white point, and a transfer rule for encoding numerical channel values.

For example, the same triple (1,0,0) means the red primary of whichever RGB color space is being used, so changing the color space can change the actual displayed color.

Metamer
Two spectral distributions are metamers for an observer if they produce the same perceived color for that observer.

Exercises

Photons from a Monochromatic Lightbulb
How many photons would a 50W lightbulb emit in 1s, assuming all of its emitted light has the single wavelength λ=600nm?
A 50W bulb emits 50J of radiant energy in 1s, using the joule and second. A photon with wavelength λ has energy Eγ=hcλ. Therefore the number of photons is N=50JEγ=50λhc. Using λ=600×10−9m, h=6.62607015×10−34J⋅s, and c=299792458m⋅s−1, N≈1.51×1020. Thus the bulb emits about 1.51×1020 photons in 1s.
Irradiance from a Unit-Radius Disk
Compute the irradiance at a point due to a unit-radius disk h units above the point along the surface normal. Assume the disk has constant outgoing radiance L=10W⋅m−2⋅sr−1. Do the computation once as an integral over solid angle and once as an integral over area.
Let θ be the angle from the receiver normal. The disk subtends a cone with maximum angle θ0, where tan⁡θ0=1h,sin2⁡θ0=1h2+1. Using solid angle, irradiance⁡=∫Lcos⁡θdω=L∫02π∫0θ0cos⁡θsin⁡θdθdφ=Lπsin2⁡θ0=10πh2+1.

Now compute over disk area. Let ρ be the radial coordinate on the disk. The distance from the point to a disk point is r=h2+ρ2, and the cosine factor at both the receiver and the disk is h/r. Since dω=hr3dA, the irradiance is irradiance⁡=L∫02π∫01h2(h2+ρ2)2ρdρdφ=10πh2+1. The two computations agree.

Irradiance from a Unit Square
Compute the irradiance at a point due to a square with side length 1, centered 1 unit above the point in the direction of its surface normal, with constant outgoing radiance L=10W⋅m−2⋅sr−1.
Place the receiving point at the origin and the square in the plane z=1, with −12≤x≤12,−12≤y≤12. For a point (x,y,1) on the square, the squared distance to the receiver is r2=1+x2+y2. The receiver cosine and emitter cosine are both 1/r. For a small area element represented by dxdy, the corresponding irradiance contribution is approximated by L1r1r3dA=L1(1+x2+y2)2dxdy. Therefore irradiance⁡=10∫−1/21/2∫−1/21/21(1+x2+y2)2dydx≈7.5227468845W⋅m−2.