Try   HackMD

The Rendering Equation

Key nodes:

  • Kajiya's "the rendering equation" which introduces the integral equation for radiance, suggests MCMC solution, introduces importance sampling.
  • Tzu Mao's diffrt.pdf and PhD thesis. Shows that under mild assumptions the integral operator introduced by Kajiya has piecewise differentiable kernel with discontinuities at edges. Consequence: differentiability in the weak sense, edges contribute as delta-functions, triangles are modeled as products of three Heaviside functions, Tzu Mao suggests combining usual samples of triangles' interior with sampling edge points. Only silhouette edges are sampled, as far as I understand.
  • Some basics on the pipeline and how shaders work: see "Intro to DXR" in the links.

Kajiya'86

  • L(x,y)
    radiance passed from
    y
    to
    x
    .
  • g(x,y)
    geometry term, depends on distance, visibility, and, apparently, the media;
    g(x,y)=0
    unless
    x
    is visible from
    y
    .
  • ϵ(x,y)
    emmitance term; light emmited (by a light source) from
    y
    to
    x
    .
  • ρ(x,y,z)
    scattering term; density of distribution of light scattered from
    z
    to
    x
    through
    y
    ; usually realized by some Bidirectional Reflectance Distribution Function (BRDF) that depends on the vector
    ωLSzy
    pointing towards lightsource and vector
    ωVxy
    towards viewer:
    ρ(x,y,z)=f(ωLS,ωV).
  • ρ(x,y,z)L(y,z)
    radiance scattered from
    z
    to
    x
    through
    y
    .
  • Far as I understand, equations should be refined to account for wavelengths, which are ignored in the paper; in equation on the wiki,
    L
    depends on wavelength
    λ
    .

L(x,y)=g(x,y)[ϵ(x,y)+Sρ(x,y,z)L(y,z)dz],

Operator form:

L=gϵ+gML,
M:L(x,y)Sρ(x,y,)L(y,).

Can be rewritten as:

(1gM)L=gϵ.

If

spr(gM)<1, the inverse operator is given by (converging) Neumann series:
(1gM)1=k0gkMk,

and the solution:

L=(k0gkMk)gϵ=gϵ+k1gkMkgϵ=gϵ+gMgϵ+gMgMgϵ+

Note that in this series expansion:

  • gϵ
    term stands for the direct light,
  • gMgϵ
    is the once-scattered light,
  • (gM)kgϵ
    is the
    k
    -times scattered light.

Kajiya claims that in cases of interest the

spr(gM) is indeed
<1
and series is convergent.

Materials and approximations

  • Lambertian/ideal diffuse

    Light is scattered uniformly in all directions and intensity depends only on the cosangle betwen light direction and surface normal not on direction of scattered ray.

    This is

    ρ(x,y,z)=cos(zy,n(y)) in Kajiya's model, with
    n(y)
    the surface normal at
    y
    .

  • Whitted

    M is the sum of two "delta functions" (deltas not in
    R3
    but in angles, AFAIU) one for reflection, one for refraction and the diffuse term
    Scos(y,n)L(y,).

  • Phong

  • Torrance&Sparrow

  • Blinn-Phong

  • Dichromatic Reflection Model (Shafer)

  • Also see the rest of the collection

Seminal works

Shaders, raytracing

Gravity-based ray (beam) tracing, AKA Interstellar's Gargantua blackhole

Kip Thorne and Double Negative team implemented a custom renderer that traces beams of rays (paths and shapes) back in time, along geodesics of general-relativistic spacetime. The beam is initiated as shooting from the eye into a pixel-sized disc on the screen. That's some cool twist between VFX and differential geometry.

Interstellar's wormhole

Real-time raytracing