Graphics
Graphics: 3D engines, raytracers, fractals, animation and effects, from MS-DOS and Java applets to GLSL shaders and microcontrollers.
Customising AI output by owning the denoising steps
Replacing, extending and holding images and video together by running every denoising step yourself.
20 October 2026Making faces
Generating faces from seeds, so that every character can be a different person.
24 September 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 2020SVG components in Angular
Components that are part of an SVG drawing, by attaching them to the group element.
15 July 2019FractalToy
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 smoke
A smoke effect in six versions.
30 October 2005Flash bubbles
Simple example of animation with friction and wind.
12 October 2005TextureEvolver
TextureEvolver: a Java applet for evolving textures, with source for three versions.
17 June 2005Flash panorama ball
Simulating affine texture mapping using shears on triangular MovieClip objects
28 May 2005Flash ZoomGrid
A zooming grid, built two ways.
23 May 2005Fluid dynamics galaxy
Trying out a galaxy effect using an FFT-based fluid solver. The force field on the liquid is gravitational.
29 March 2005Galaxy simulation
Using a fast Fourier transform for gravity simulation to beat O(N2) force calculations.
1 January 2005Flash bouncing ball
Bouncing a ball off any shaped surfaces using hit test probes.
21 November 2004Flash 3D: landscape
Flying over a Cartesian terrain with a generated heightmap.
19 May 2004Flash growing things
These are some examples of particle trails making plant-like patterns.
17 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 circle strips
Simple animation example for ActionScript 1.0 & 2.0.
24 July 2002Flash 3D: intersection
Intersecting 3D objects in Flash
2 July 2002Flash 3D: cubes navigation
Simple objects, rotation and hit testing
11 June 2002Flash dust
Simple animation example for ActionScript 1.0 & 2.0.
22 May 2002RTRay: a realtime raytracer
Raytracing in real time on a 2002 PC comes down to tracing as few rays as possible.
27 March 2002Java animated Julia fractals
Weird Julia-style animated fractals.
16 December 2001Java 3D panoramas
A 360-degree panorama viewer in Java, made from six photos on the inside of a cube.
2 December 2001Java fog effects
Six fog effects as Java applets: embossed zoom, blurred checks and XOR patterns, checkers, zooming smoke and morphing patterns.
1 September 2001Java 2D blobs
Animated 2D blobs: a Java applet effect, with source.
22 July 2001Java green liquid goo
A sticky liquid made of particles that pull together into blobs.
8 July 2001Java 3D pillars
Pillars on a chequered floor, drawn by a software 3D engine in Java.
20 March 2001Java XOR patterns
Interesting XOR patterns. “LKS Render (Java) v0.1” spins a 3D object and XORs each polygon into the frame instead of painting over what is there, so overlapping faces cancel and leave patterns behind.
8 February 2001Java Mandelbrot zoom
LKS Mandelbrot Zoom v0.1: a Java applet that draws the Mandelbrot set. Drag out a rectangle with the mouse and it redraws that region at full size.
24 July 2000Procedural 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 1998C++ graphics effects
Some little animation experiments.
1 June 1998Lewpen's pattern generator
Windows programs in C++, and Java applets, that compute an animated picture every frame from functions on whole images, from sine-wave plasmas and image lookups to ZGo, where the functions are joined into networks.
1 June 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