Demos
algebraic steiner surface
Path-traced Steiner surface: the real projective plane immersed in $\mathbb{R}^3$ as an algebraic surface, together with three singular lines.
majumdar papapetrou binary extrinsic
Null geodesic threading between two extremally charged black holes in a Majumdar-Papapetrou spacetime
majumdar papapetrou octahedron extrinsic
Chaotic null geodesic scattering between six charged black holes at octahedral vertices
majumdar papapetrou octahedron intrinsic
realistic view of an observer approaching a system of eight charged black holes
Mpbh Binary Intrinsic
Inside view of a binary Majumdar-Papapetrou black hole system with colored event horizons
Mpbh Single Intrinsic
Inside view of a single extremally charged black hole with gravitational lensing of the event horizon
mp black hole closed geodesic
Closed null geodesic found by symmetry in eight charged black holes arranged on a cube
Featured Torus Mcg
Mapping class group of the torus acting on texture coordinates via Dehn twists and the Anosov map
Torus Mcg
Custom SL(2,Z) matrix acting on the torus with user-adjustable integer entries
black hole lens
Parallel light rays gravitationally lensed by a Schwarzschild black hole, deflected near the photon sphere
Featured black hole loop
Light ray tuned to orbit a Schwarzschild black hole one or more times before escaping
black hole photon sphere
Null geodesics orbiting near the photon sphere of a Schwarzschild black hole
black hole u turn
Collimated packet of light rays diverging dramatically after a near-miss with a black hole
Pathtracer Cocktail
Path-traced cocktail glass with refraction, liquid absorption, and caustics
Pathtracer Cocktail Cylinder
Path-traced cylindrical glass vessel demonstrating refraction through straight walls
Pathtracer Cocktail Cylinder Segment
Path-traced cocktail glass built from cylindrical segment primitives
Pathtracer Cocktail Glass
Path-traced cocktail glass focusing on Fresnel reflection and refraction through curved glass
Pathtrace Ambient
GPU pathtracer baseline: ambient-only lighting with no direct light sources
Pathtrace Diffuse
GPU pathtracer with diffuse Lambertian surfaces and color bleeding
Pathtrace Metalball
GPU pathtracer rendering a perfect mirror sphere with specular reflection
Pathtrace Glassball
GPU pathtracer rendering a glass sphere with Snell's law refraction and Fresnel reflection
Pathtrace Phong
GPU pathtracer with Phong specular highlights
Pathtrace Phong Lights
GPU pathtracer with Phong shading and multiple light sources
Pathtrace Phong Shadow Lights
Pathtrace Phong Shadow
GPU pathtracer with Phong shading and hard shadow rays
Pathtrace Static
GPU pathtracer foundation: static scene with basic ray generation and shading
Pathtracer All Glass
Path-traced scene of overlapping glass objects producing complex caustic patterns
Pathtracer All Mirrors
Path-traced scene of perfect mirrors producing kaleidoscopic infinite reflections
Pathtrace Sim Multiple
GPU pathtracer with full multi-bounce global illumination
Pathtrace Sim Phong
Pedagogical GPU pathtracer demonstrating the Phong reflection model
Pathtrace Sim Phong Shadow
Pedagogical GPU pathtracer with Phong shading and shadow occlusion testing
Pathtrace Sim Phong Mutliple
Pedagogical GPU pathtracer combining Phong shading with multi-bounce indirect light
Pathtrace Sim Raymarch Progressive
SDF raymarching with progressive pathtracing for converging global illumination
Pathtrace Sim Raymarch
Hybrid SDF raymarching and Monte Carlo pathtracing for implicit surface rendering
Pathtrace Sim Refraction
Pedagogical GPU pathtracer demonstrating Snell's law refraction through transparent objects
Pathtrace Sim Roughness
Pedagogical GPU pathtracer showing the transition from mirror to diffuse via surface roughness
Pathtrace Sim Single Progessive
Pedagogical GPU pathtracer with progressive Monte Carlo accumulation
Pathtrace Sim Subsurface Scattering
Pedagogical GPU pathtracer with subsurface scattering for translucent materials like wax and marble
Pathtrace Sim Subsurface Scattering Multiple
Subsurface scattering pathtracer with multiple translucent objects of varying material properties
Pathtrace Sim Two Progressive
Pedagogical GPU pathtracer with two bounces, showing color bleeding from indirect light
Featured Pathtrace Sim Single
Pedagogical GPU pathtracer: single ray bounce per pixel
3body Accelerator
Gravitational three-body simulation with adjustable masses and chaotic trajectories
3body Fig8
The figure-eight periodic orbit of the gravitational three-body problem
3body Oscillator
Three-body gravitational simulation with collision detection and chaotic trajectory trails
Hyperbolic Spring
Spring oscillator whose phase-space trajectory follows a hyperbolic cosine curve
Hyperbolic Spring Damped
Damped spring oscillator with hyperbolic dynamics settling toward equilibrium
Inhomogeneous Spring
Spring with spatially varying stiffness traversing a non-uniform potential
Coupled Oscillator Circle
Spring-coupled masses on a circle with periodic boundary conditions and bidirectional wave propagation
Coupled Oscillator Cloth
Spring-mass cloth simulation with draping and wave propagation in 3D
Coupled Oscillator Grid
2D grid of spring-coupled masses simulating a vibrating membrane with circular wavefronts
Coupled Oscillator Line
Chain of spring-coupled masses in a line, simulating 1D wave propagation with reflections
Code: Gradient Descent
Gradient descent on a user-defined surface with geodesic computation and glass overlay
Geodesic
Geodesic on a user-defined surface computed via Christoffel symbols
Geodesic Spray
Spray of geodesics from a point on a user-defined surface.
Gradient Descent Comparision
Multiple gradient descent trajectories on the same surface, converging to different local minima
Featured Gradient Descent Domain
Gradient vector field over the domain of a surface, revealing critical points and basins of attraction
Gradient Descent Single
Single gradient descent trajectory on a user-defined surface with gradient arrows
Gradient Plotter
Interactive gradient vector field plotter for user-defined surfaces
Gravity Surface Dust
Cloud of particles rolling downhill on a user-defined surface, tracing the gradient flow
Gravity Surface Grid
Grid of particles flowing along the negative gradient of a user-defined surface
Elliptic Stripes X15
Path-traced elliptic surface decorated with a stripe pattern
Elliptic Surface X15
Path-traced elliptic algebraic surface with subsurface scattering
Genus2 Algebraic
Path-traced algebraic surface of genus two with subsurface scattering
Woodcut Gaussian
Gaussian bump surface with geodesics
Woodcut Gaussian Side
Side view of a Gaussian surface in woodcut engraving style
Woodcut Ripples
Concentric ripple surface rendered in woodcut engraving style
Woodcut Waves
Wave surface rendered in woodcut engraving style
Woodcut Eggcarton
Doubly periodic egg-carton surface rendered in woodcut engraving style
Vision Dichromat
Dichromatic color vision: two cone types responding to a time-varying spectrum
Vision Monochomat
Monochromatic vision: a single cone type collapsing spectral data to intensity
Vision Man vs Dog
Side-by-side comparison of human trichromatic and canine dichromatic color vision
Vision Spectrum Decomposition
Spectral power distribution scanned by a monochromatic wave, decomposing light into wavelength components
Vision Trichromat
Human trichromatic color vision: L, M, and S cone responses to a time-varying spectrum
FrenetField
Featured Code: Wormhole
Raymarched traversable connect sum "wormhole" connecting two SF and Paris