3D

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

3D Script IDE

An interactive environment for creating 3D animations using a simple scripting language.

14 March 2023

FractalToy

An online real-time fractal explorer made with WebGL, with test renderings streamed to FFmpeg for video encoding.

15 January 2015

Clip3D

An online collaborative game creation tool, outputting to WebGL, iOS and Android.

14 January 2015

GLSL fractals

Animated fractals with WebGL and GLSL: raycasting with a slowly moving camera, colour from surface normals, edge detection and toon shading.

29 January 2014

3D fractals

Write-up to come.

June 2013

GLSL raycasting

Testing the feasibility of raycasting inside a fragment shader with moderately complex models: 3D fractals reminiscent of gothic cathedrals.

9 September 2012

WebGL raytracer

WebGL is quite effective at raytracing simple scenes with a decent frame rate: a fragment shader framework and eight raytracers built on it.

26 December 2010

PHP 3D engine

Write-up to come.

June 2009

Reflective sphere

Analytical reflections in OpenGL: reverse reflection mapping draws objects at their reflected positions inside a sphere in a second pass.

27 January 2008

Polychorons

Animated 3-dimensional Schlegel diagrams of 4-dimensional objects, in C++ and OpenGL.

25 January 2008

CubeLogix 3D website

A Flash 3D engine with real-time shadows: navigation breaking through the background, with cubes and windows casting accurate shadows.

4 March 2007

Java 3D engine

A 3D engine in Java with a scene graph and a cartoon rendering style.

13 November 2005

Flash panorama ball

Simulating affine texture mapping with shears on triangular MovieClips: a sphere built by easing, texture mapped, then viewed from inside as a panorama.

28 May 2005

Flash 3D: landscape

Flying over a Cartesian terrain with a generated heightmap: a simple version, then faded edges and reflected symmetry.

19 May 2004

Flash 3D: cubes reflection

Combining reflections and shadow casting: three cubes over a reflective surface with a moving light, then a wavey distortion.

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: eleven versions, from outlines and polygon splits to intersecting squares and cubes.

2 July 2002

Flash 3D: cubes navigation

Simple objects, rotation and hit testing: solid cubes drawn with the painter's algorithm, masks, mouseover events and a wavey effect.

11 June 2002

RTRay: a realtime raytracer

A realtime raytracer in C++: a classic scene with reflections and shadows, then cutting first-hit sphere tests with on-screen bounding boxes.

27 March 2002

Java 3D panoramas

A barebones Java renderer with a software triangle rasteriser, then a textured cube viewed from inside as a panorama viewer, then an unfolded panorama.

2 December 2001

Java 3D pillars

A demonstration scene of pillars with a reflective floor, then a cartoon shading post-process that finds outlines from discontinuities in the Z-buffer.

20 March 2001

Procedural city block

A procedural method (grid subdividing, random building generation) to create the layout of a city, in C++ and OpenGL.

16 July 2000

OpenGL ribbon

A Windows C++ OpenGL example: a ribbon effect, with full source.

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

A simple spring-mass grid simulates a piece of flexible material falling under gravity and slipping off objects.

13 October 1999

LRay: a Java raytracer

A reference raytracer in Java: spheres, planes, reflections and procedural textures, rendered in successive passes.

10 June 1999

Box & reflective tetrahedron

Using a BSP tree for reflections and object intersection, stored in flattened fixed-size arrays for speed.

31 October 1998

MS-DOS 3D engine

Write-up to come.

January 1995