Posted on

Ancient Web: Ken Silverman’s Voxlap Page Preserves the Road Not Taken in 3D Graphics

Modern 3D graphics made polygons look inevitable. Ken Silverman’s Voxlap page is a surviving reminder that they were never the only possible answer.

Visit Ken Silverman’s Voxlap Page

Silverman says he began Voxlap after graduating college in May 2000. The idea was to build a 3D engine around voxels—volume pixels—rather than the polygon surfaces favored by hardware accelerators.

The page openly admits the disadvantage: graphics cards were designed to make polygons fast.

Then it explains why somebody might use voxels anyway.

Destructible walls are natural. Curved and flat surfaces do not carry the same rendering tradeoff. Objects can be represented as actual occupied volume instead of just skins around empty space.

A development history left in public

The site preserves Voxlap as a timeline.

There are prototype screenshots from 2002, a demo from 2003, a library release from 2004, full source code from 2005, and later PND3D material released in 2014 and 2018.

The feature list reads like a snapshot of serious graphics programming from its era: six degrees of freedom, room-over-room geometry, constructive solid geometry operations, voxel sprites, collision detection, lighting, procedural textures, mip-mapping, fog, DirectDraw, DirectSound, DirectInput, SSE, 3DNow!, and a real-time editor.

Silverman also leaves older experiments online, including heightmap voxel demos and a 1994 cave program with source.

That continuity is the best part of the page.

Instead of presenting a finished engine with the failed experiments hidden, it shows a path from crude demonstrations to a substantial codebase.

The 1,967 Ancient Web Domains research list contains a surprising number of pages where software history survives because the programmer simply never deleted the old ZIP files.

Voxlap is one of the better examples.

It preserves not only a voxel engine, but a programmer’s long argument with the direction 3D graphics took.

Return to the Voxlap page