Skip to the plates

Rendered gallery - 25 single-concept plates

Twenty-five plates from one ray tracer

Each plate isolates exactly one idea - a primitive, a light, a material, an optical law - and nothing is faked. Shininess is a real reflected environment, shadows are real visibility rays, and glass really refracts. The renderer is a from-scratch recursive path of rays with a bounding-volume hierarchy, written in plain C# against the .NET base class library. No game engine, no graphics library, no image files on this page except the frames it produced.

25example plates
52 / 52self-test assertions pass
10 sto render the whole suite
512 x 340per frame, 2x anti-aliased
0external dependencies
Primitives5 plates - the ray-intersection kernels
A single matte sphere on the studio floor under a warm key and cool fill
Primitives Sphere The ray-sphere quadratic. One smooth curved surface, so the contact normal turns continuously and the shading gradient is smooth from pole to rim. Shape.Sphere - ray-sphere quadratic
A single matte box on the studio floor, showing flat faces and hard edges
Primitives Box The ray-slab test. Flat faces meet at hard edges, and every face carries one axis-aligned normal, so the shading steps rather than sweeps. Shape.Box - ray-slab test
A single matte cylinder standing on the studio floor
Primitives Cylinder A finite side wall plus two end caps, oriented along any axis. The curved wall shades smoothly while the caps read as flat disks. Shape.Cylinder - wall + two caps
A sphere resting between an infinite floor plane and a colored back plane
Primitives Plane An infinite boundary with zero volume, here a floor plus a colored back plane. It costs one dot product to intersect and catches every cast shadow. Shape.Plane - infinite boundary
A sphere, box, and cylinder on a plane floor as the camera orbits the scene
Primitives The whole set, orbiting Sphere, box, and cylinder on a plane floor. The camera orbits one shared scene, so the parallax and the cast shadows are computed, never painted. 36 frames - 512 x 340 - orbit
Lighting10 plates - one reference subject, many rigs
A sphere and box under a single directional light casting one sharp shadow
Lighting Directional sun One directional light: parallel rays, uniform intensity everywhere, and a single sharp-edged shadow the whole scene shares. one directional light
A sphere and box lit by a nearby point light, brighter close and dim far
Lighting Point + attenuation A single point light whose intensity falls with distance, roughly inverse-square. The near face blooms bright while the far side sinks into ambient. inverse-square falloff
A sphere and box casting crisp shapes onto the floor from a low light
Lighting Hard shadows A shadow is a real visibility ray to the light being blocked, never painted. Read the cast shapes: the sphere and box print their true silhouettes. real visibility ray
A sphere and box under a warm key light and a cooler fill light
Lighting Key + fill The classic two-light setup: a warm directional key plus a cool point fill. The fill lifts the shadow side without erasing the shadow. warm key + cool fill
A cube and sphere lit by a red light on one side and a blue light on the other
Lighting Colored lights Red and blue point lights from opposite sides. Additive mixing climbs toward white wherever both lights reach the same surface. red + blue additive mix
A sphere and box lit only by flat ambient light, nearly shapeless
Lighting Ambient only No direct light at all, just the flat ambient term. With no shadows and no shading gradient, the form barely reads: the control case for every rig above. ambient term only
A warm low light grazing a cube and sphere, casting long shadows
Lighting Golden hour A low, warm directional light grazes the subjects: long shadows, an orange key, and a deep cool ambient fill in the shade. low warm key light
A sphere and box in near-dark, cool moonlight with a small warm lantern
Lighting Night / low-key Dim cool moonlight plus a single warm point lantern. A low overall level with high local contrast, so most of the frame stays in shadow. moonlight + one lantern
A sphere and box lit from behind, their edges glowing against a dark front
Lighting Rim / backlight A bright light behind the subjects. The edges catch light while the fronts stay dark, separating each form cleanly from the background. backlight - lit edges
A point light circling two subjects while the shadow sweeps around them
Lighting Moving light One point light circles the subjects. The shadow sweeps the floor and the specular highlight tracks the true light position from frame to frame. 36 frames - 512 x 340 - orbit
Materials4 plates - shared Material table
Five chrome spheres from mirror-smooth to matte, left to right
Materials Shininess gradient One chrome material, roughness stepped left to right. Only the polish changes: mirror, polished, brushed, satin, matte. roughness 0.0 / 0.12 / 0.3 / 0.6 / 1.0
Five metal spheres: gold, silver, bronze, copper, and steel, each reflecting the room
Materials Five real metals Gold, silver, bronze, copper, and steel from the shared material table. Each reflection is tinted by the metal's own F0 response, computed per bounce. MaterialDatabase - real F0 tint
A clear glass sphere, a red-stained glass sphere, and a water sphere
Materials Glass and water Clear glass, red-stained glass, and water. Transmission, Snell refraction, and Beer-Lambert tint all happen as the ray travels through the volume. 3 dielectrics - one struct each
A polished marble sphere, an old oak box, and a red velvet cylinder
Materials Stone, wood, cloth Polished marble, old oak, and red velvet. Three dielectric surfaces with very different roughness and albedo, from the same material table. marble / oak / velvet
Optics5 plates - the physical laws, unfaked
A mirror-smooth chrome sphere reflecting the room and sky around it
Optics Mirror reflection A roughness-zero chrome sphere. One real reflection ray per pixel bounces the room and the sky, bent around the curved surface. recursive reflection ray
A brushed chrome sphere with a soft, blurred reflection of the room
Optics Glossy reflection The same mirror at roughness 0.28. Each reflection ray is jittered inside a cone, so the sharp mirror softens into a blurred one. roughness 0.28 - jittered cone
A dark dielectric sphere with a bright reflective rim and a dark center
Optics Fresnel edges A dark dielectric sphere. Schlick reflectance rises from about four percent looking straight on to nearly full at the grazing rim. F0 = 0.04 - Schlick
A clear glass sphere acting as a lens, flipping the colored blocks behind it
Optics Refraction, Snell's law A clear glass sphere behaves as a lens. The row of colored blocks behind it is bent and flipped as the rays cross the surface. Snell's law - glass lens
Three red glass slabs of increasing thickness, each a deeper red
Optics Beer-Lambert law The same red glass at three thicknesses. Transmitted light equals exp(-absorb x thickness), so the thickest slab reads deepest. thickness 0.3 / 0.8 / 1.6 m
Mirror-quality x lighting1 plate - the founding brief
A three by three grid of a sphere rendered at three polishes under three lightings
Mirror-quality Polish times lighting The founding brief as a grid: polish steps down the rows, lighting changes across the columns. Both dials move the result, so both matter. 9 renders - one contact plate