Mathematics Applied to Geometry and Imagery. MAGI was founded in 1966 by Dr. Philip Mittelman to solve a nuclear engineering problem: trace radiation through shielding. The mathematics worked. Then someone asked: what if instead of tracking neutrons, we tracked light? Robert Goldstein opened the SynthaVision graphics division to find out.
SynthaVision — MAGI's graphics system — arrived in 1972, with Robert Goldstein and Roger Nagel's 1971 paper "3-D Visual Simulation" as the technical foundation. It shared its computational core with the radiation tracer. A ray is a ray. Whether it carries particles or photons, the geometry is identical.
The first outputs were three-dimensional letters and machine parts, rendered as commissioned demos. Clean, hard, impossible to produce any other way at the time. One thread of computer graphics has a specific technical birthday, and it happened in a nuclear math lab.
Mathematics Applied to Geometry and Imagery. MAGI was a defense contractor before it was a graphics house. Mittelman's team modeled neutron paths through reactor shielding — the same intersection geometry that would later describe a ray finding a surface in space.
Robert Goldstein and Roger Nagel presented "3-D Visual Simulation" at the 1971 Spring Joint Computer Conference (AFIPS proceedings): the ray-casting code already knew how to find intersections; it already knew how to bounce. All that was needed was to define solids in a way the renderer could interrogate — and to point the rays at a camera rather than a detector. SynthaVision was the commercial product that grew out of that paper.
MAGI wrote SynthaVision in FORTRAN and ran it on the IBM 360/65 — a machine that filled a room and cost millions of dollars per year to operate. Each frame took hours. Scenes were described as FORTRAN subroutine calls. There was no interactive preview; you submitted a batch job and waited for the output reel.
The terminal in this room approximates that experience: a listing you submit, not a canvas you paint.
The central insight of SynthaVision: a shape is a boolean expression, not a collection of triangles. Any solid you can define mathematically can be rendered — not approximated, rendered exactly.
A finite set of solids — sphere, box, cylinder, cone, torus — each described by a closed-form inequality (a "half-space" or quadric test). SynthaVision evaluated those inequalities analytically; this room uses signed distance functions on the GPU as a modern stand-in. The math model is different; the geometric vocabulary is the same.
Three boolean operations combine any two SDFs:
min(a, b) — the set of all points inside either solidmax(a, −b) — points in A but not in B; A carved by Bmax(a, b) — only points inside both solidsA flying saucer is intersect(sphere, sphere_offset). Two lines of arithmetic.
SynthaVision defined five primitive solids — the same five in this room. Their SDFs are short enough to fit in a lecture slide.
length(p − c) − r — the distance from point p to center c, minus radius r. The simplest SDF possible.
length(max(|p−c|−b, 0)) + min(max component, 0) — the IQ sdBox formula; exact for any axis-aligned rectangular solid with half-extents b.
Defined by a radial distance (length of xz components) and an axial distance (y component), taking the max-zero combination for exact round ends.
A tip-to-base solid. The signed distance to a cone requires tracking the closest point on the surface — a slightly more complex projection, but still a closed-form expression.
length(vec2(length(p.xz)−R, p.y)) − r — the distance from the major-circle ring, minus the tube radius. Beautiful in its compactness.
The power of CSG is combinatorial. Three operations applied recursively to five primitives can describe an enormous vocabulary of forms. SynthaVision used this to describe objects that no polygon renderer of 1972 could represent with comparable precision.
min(sdfA, sdfB) — a point is inside the union if it is inside either solid. The surface is wherever the nearer SDF equals zero.
max(sdfA, −sdfB) — negate B before taking the max. Points in A but outside B remain; B acts as a boolean punch.
max(sdfA, sdfB) — a point is inside only if it is inside both. The canonical demo: two overlapping spheres intersected yield a lens shape — the flying saucer.
Select two primitives in the CSG TREE panel and press UNION, DIFF, or ISECT. The FORTRAN listing updates immediately, and pressing RENDER fires the ray-march shader.
SynthaVision's renderer fired one ray per pixel. Each ray started at the camera and travelled in the direction determined by the pixel's position on the film plane.
For each ray, MAGI walked the CSG tree and solved an analytic intersection equation per primitive — a closed-form root-finding for quadrics (spheres, cylinders, cones) and half-space tests for boxes. The boolean operators (∪, −, ∩) were resolved by the order and depth of the intervals the ray entered and exited. This is "ray casting on CSG," after Arthur Appel (1968) and Scott Roth (1982).
The RENDER button here compiles the scene to a fragment shader that does sphere tracing on signed distance functions — a completely different math model, formalized by John Hart in the 1990s and standardized for GPU demoscene work by Inigo Quilez. It produces the same picture by different means. The geometric vocabulary (sphere, box, cyl, ∪, −, ∩) and the boolean tree are SynthaVision's; the per-pixel solver is modern.
Either way: the full scene — union, diff, intersect, however many layers deep — collapses to a single per-pixel question: is this point inside or outside, and where is the boundary?
MAGI's largest and most visible project. For Disney's 1982 film TRON, MAGI produced the light-cycle sequences, the recognizers, and the tank battles — roughly 15 minutes of CGI shared with a parallel studio. Triple-I (Information International Inc.) handled the MCP, Sark's carrier, and the solar sailer; two other vendors (Robert Abel and Digital Effects) contributed shorter shots. The film is the first major theatrical CG showcase, split across four houses.
The TRON world was designed as an angular, mechanical, geometric universe — an ideal subject for CSG. Light cycles were extruded prisms with cylindrical cutouts. Recognizers were stacked boxes with boolean legs. The aesthetic was dictated, at least in part, by what the renderer could do elegantly.
By 1982 MAGI had moved off the IBM 360/65 onto Perkin-Elmer and VAX hardware. Frames still took hours each. Director Steven Lisberger's original vision was even more CG-intensive; budget constraints cut the rendered footage significantly.
TRON didn't launch the graphics revolution it implied. It earned about $33M on a $17M production budget — modest theatrical profit, far short of Disney's hopes — and Hollywood pulled back from CG for a decade. But it proved the pipeline: you could put computer graphics into a theatrical release. John Lasseter has said the screening shifted his sense of what was possible. (Pixar's lineage runs through Catmull's NYIT lab and Lucasfilm Computer Division, not directly through TRON — but the screening was part of the shift in air pressure.)
In the mid-1980s, a young computer scientist named Ken Perlin was working at MAGI on the sequel to TRON — a project that was never made. Frustrated by the plastic, mathematical perfection of the surfaces being produced, he developed a noise function.
CSG surfaces are mathematically perfect. A sphere is a perfect sphere. A box has perfect edges. Real materials — wood, rock, skin — are characterized by their departure from mathematical perfection. MAGI's renders looked like they were made of polished metal because, mathematically, they were.
Perlin noise: a coherent, smooth random function that produces natural-looking variation at multiple scales. Add it to a surface normal, and stone becomes stone. Add it to a density function, and smoke becomes smoke.
Developed at MAGI's offices in Elmsford over 1983–84, first used in the TRON sequel that wasn't made, and published at SIGGRAPH in 1985 ("An Image Synthesizer"). The Academy of Motion Picture Arts and Sciences awarded Perlin a Technical Achievement Award in 1997.
MAGI was acquired in the mid-1980s and the SynthaVision division wound down by around 1986–87. The era of purpose-built CG houses — MAGI, Information International Inc., Robert Abel and Associates — ended as Silicon Graphics workstations brought the capability in-house.
Constructive solid geometry survived in engineering software. SolidWorks, CATIA, and every major mechanical CAD package uses CSG as its fundamental representation. Every part designed for manufacturing is, at some level, a boolean expression.
Signed distance functions went dormant in film production, then were rediscovered by the GPU demo scene in the 2000s. Inigo Quilez's ShaderToy work — and the entire realm of real-time ray marching — is direct intellectual descendant of what MAGI was doing in FORTRAN on an IBM mainframe in 1972. The math is the same. The hardware is 10,000 times faster.
The RENDER button in this room compiles your scene's boolean expression into GLSL and fires it as a WebGL fragment shader — sphere tracing on the GPU, in real time, in a browser. MAGI's batch job now takes milliseconds. The geometry is unchanged.
Classicery · Cart 013 / 024 · renato.design
From THE LITERATURE · CANON / 001B · the theory wing of CLASSICERY. Hear Turner Whitted on An Improved Illumination Model for Shaded Display read aloud — → track 10 →