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 20263D Script IDE
This is an interactive environment for creating 3D animations using a simple scripting language.
14 March 20233D components in Angular with three.js
Write-up to come.
6 October 2020FractalToy
Online Real-Time Fractal Explorer
15 January 2015Clip3D
Online Game Creation Tool
14 January 2015GLSL fractals
Animated Fractals with WebGL & GLSL
29 January 20143D fractals
Write-up to come.
June 2013GLSL raycasting
Raycasting inside a GLSL fragment shader.
9 September 2012WebGL raytracer
WebGL is quite effective at raytracing simple scenes with a decent frame rate.
26 December 2010PHP 3D engine
Write-up to come.
June 2009Reflective 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 2008Polychorons
Animated 4-dimensional objects mapped down to 3D
25 January 2008CubeLogix 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 2007Java 3D engine
3D Engine with scene graph and cartoon rendering style
13 November 2005Flash panorama ball
Simulating affine texture mapping using shears on triangular MovieClip objects
28 May 2005Flash 3D: landscape
Flying over a Cartesian terrain with a generated heightmap.
19 May 2004Flash 3D: cubes reflection
Combining reflections and shadow casting.
8 May 2004Flash 3D mixer
How to overlay Flash with a transparent background over your HTML.
3 December 2003Flash 3D: intersection
Intersecting 3D objects in Flash
2 July 2002Flash 3D: cubes navigation
Simple objects, rotation and hit testing
11 June 2002RTRay: a realtime raytracer
Raytracing in real time on a 2002 PC comes down to tracing as few rays as possible.
27 March 2002Java 3D panoramas
A 360-degree panorama viewer in Java, made from six photos on the inside of a cube.
2 December 2001Java 3D pillars
Pillars on a chequered floor, drawn by a software 3D engine in Java.
20 March 2001Procedural city block
Procedural city block layout
16 July 2000OpenGL 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 2000OpenGL 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 2000Cloth simulation
Simulating a cloth falling and slipping over objects
13 October 1999LRay: 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 1999Box & reflective tetrahedron
A Java applet using a BSP tree for reflections and object intersection, drawn with filled polygons in 256 colours.
31 October 1998ZSystem
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 1998MS-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