3D

3D graphics from scratch: software engines in Java, Flash and C++, raytracers, and GLSL shaders on the GPU.

Real-time ray tracing on a round ESP32 display

A real-time ray tracer for the round AMOLED, kept interactive by tracing at low resolution and only refining the pixels that matter.

24 August 2026

3D Script IDE

This is an interactive environment for creating 3D animations using a simple scripting language.

14 March 2023

3D components in Angular with three.js

Write-up to come.

6 October 2020

FractalToy

Online Real-Time Fractal Explorer

15 January 2015

Clip3D

Online Game Creation Tool

14 January 2015

GLSL fractals

Animated Fractals with WebGL & GLSL

29 January 2014

3D fractals

Write-up to come.

June 2013

GLSL raycasting

Raycasting inside a GLSL fragment shader.

9 September 2012

WebGL raytracer

WebGL is quite effective at raytracing simple scenes with a decent frame rate.

26 December 2010

PHP 3D engine

Write-up to come.

June 2009

Reflective sphere with polygon rendering

Analytical reflections in OpenGL: a mirrored sphere drawn with ordinary triangles, each object bent to where its reflection should appear from the camera.

27 January 2008

Polychorons

Animated 4-dimensional objects mapped down to 3D

25 January 2008

CubeLogix 3D website

A 3D website made in Flash 8 with ActionScript 2, where the logo breaks open and three navigation cubes come out through the hole.

4 March 2007

Java 3D engine

3D Engine with scene graph and cartoon rendering style

13 November 2005

Flash panorama ball

Simulating affine texture mapping using shears on triangular MovieClip objects

28 May 2005

Flash 3D: landscape

Flying over a Cartesian terrain with a generated heightmap.

19 May 2004

Flash 3D: cubes reflection

Combining reflections and shadow casting.

8 May 2004

Flash 3D mixer

How to overlay Flash with a transparent background over your HTML.

3 December 2003

Flash 3D: intersection

Intersecting 3D objects in Flash

2 July 2002

Flash 3D: cubes navigation

Simple objects, rotation and hit testing

11 June 2002

RTRay: a realtime raytracer

Raytracing in real time on a 2002 PC comes down to tracing as few rays as possible.

27 March 2002

Java 3D panoramas

A 360-degree panorama viewer in Java, made from six photos on the inside of a cube.

2 December 2001

Java 3D pillars

Pillars on a chequered floor, drawn by a software 3D engine in Java.

20 March 2001

Procedural city block

Procedural city block layout

16 July 2000

OpenGL ribbon

A looping, twisting ribbon drawn with OpenGL in C++ on Windows, with its shape worked out from sine waves of the clock on every frame.

26 January 2000

OpenGL patterns with cubes

Using a 3D grid of cubes to create shapes and patterns. You could say that these are very primitive voxels.

17 January 2000

Cloth simulation

Simulating a cloth falling and slipping over objects

13 October 1999

LRay: a Java raytracer

LRay is a Java reference raytracer. It demonstrates the basic principles of raytracing and is easy to expand to feature other primitives and textures.

10 June 1999

Box & reflective tetrahedron

A Java applet using a BSP tree for reflections and object intersection, drawn with filled polygons in 256 colours.

31 October 1998

ZSystem

A design for generating a whole universe from random seeds in C++, where every object is a function that builds its parts, tried out in three OpenGL test programs for Windows.

1 June 1998

MS-DOS 3D engine

A 3D engine for MS-DOS in 386 assembly language, called through its own software interrupt, with scenes built from points, faces, shapes, forms and objects.

12 January 1995