some of what I
1022. Halloween 2022
feature to give some ambience to this spooky season:
, a mass of pumpkins hovering around you; and
, a particle-driven cloud of pumpkins and skulls chasing a whisp.
0322. Floating Shiny Knot
A remake of an old experiment to produce
image-based global illumination
for models using
Google Street View panoramas
. This is the test for fetching equirectangular panoramas from the google servers.
0122. Genuary 2022
Entries for Genuary 2022, 31 days of procedural generation with threejs and WebGL.
1121. Codevember 2021
Entries for Codevember 2021, 31 days of experiments with WebGL, three.js, simulations and post-processing.
1021. Web Unleashed 2021 Opening Titles
Created for the annual FITC Web Unleashed conference.
1021. Inktober 2021 Strange Attractor Sketches
All the non photorealistic renders of strange attractors for Inktober 2021.
0321. Generative art: Lines on flow fields
Particles drawing lines on fields of electrical charges.
A new year demo to send off this horrible year.
1020. Inktober 2020 Sketch experiments
All the sketches for Inktober 2020 simulating ink.
Demo for Solskogen 2020.
Three.js helper for FaceMesh.
0320. Depth of field experiments - Curl noise
Experiments with Depth of Field with an accumulation buffer.
0220. Particle systems with sphere impostors
Experiments with a particle system that uses sphere impostors, with shading, light, dithered transparency.
some of what I
1115. Optimising SVG load with Service Worker
How to use
to optimise the loading of
assets in a page without altering coding methods.
0915. Calculating FPS past requestAnimationFrame limit with requestIdleCallback
Using requestIdleCallback to calculate FPS more precisely than with requestAnimationFrame.
0815. Can the new Google logo be 305 bytes?
Techniques and tricks learned while trying to recreate the new Google logo with
in 305 bytes (or less!)
0215. cru·ci·form study in architecture visualisation
Some details on how the project came to be, a bit of technical info and lessons learned on the process.
0913. Creating a Spherical Environment Mapping shader
Creating nice lighting with a simple spherical mapping shader. A step-by-step tutorial on how to create a matcap or litsphere material with GLSL and three.js.
1212. Vertex displacement with a noise function using GLSL and three.js
Vertex displacement with a noise function using