British bloke, in San Francisco via London, Singapore, Barcelona, and Hong Kong ● Second Life developer during the day since 2004 ● Enthusiastic WebGL hacker in the evenings ● Founder of Industrial Might and Logic Combat Robots ● Eager traveller ● Crossfit and indoor rowing aficionado ● Insanely happy husband and father ● Recent updatesContact me

WebGL apps, experiments and code

  • ISS Photo Explorer

    My entry for the 2015 NASA Space Apps Challenge. Provides a way to view and explore more than 1.6 million photos taken from the International Space Station over 15 years and 43 missions.

  • Flight Stream

    Experiment to visualize all of the worlds flights. Not displayed in real time or on a correct schedule although that might be nice for version 2.

  • Country Selector

    Second attempt at extruded earth visualization I'm working on for a bigger project.

  • amui - Add Manipulator UI

    Experiment to let you add manipulator UI (via dat.GUI) to modify objects in a three.js scene on any page via a bookmarklet.

  • Street Cloud Flow

    The next iteration of Street Cloud. This version generates multiple views based on a starting location. Lots left to do but makes quite beautiful images. See Help dialog for more details.

  • Double Pendulum

    Inspired by fascinating illustration of double pendulum physics in ~100 lines of JavaScript, I made a WebGL version using one of the three.js examples as a starting point.

  • Three.js Interactive App Template Generator

    Generate a template three.js application using interactive controls and use it as the starting point for your next masterpiece. Select options, features and code then save it off as a zip file. Updated (2014-06-27): Now you can send it to a JS Fiddle and include helper geometry objects.

  • Street Cloud Interactive

    An experiment to render Google Street View ® scenes as 3D point clouds using the LiDAR data captured along with the regular panorama images. A rudimentary navigation system allows you to move between connected locations. Updated (2014-07-09) Change in internals of StreetView API broke it for a while :(:

  • WebGL Terrain

    Noticed a really neat page that describes how to make a terrain generator in 130 lines of JavaScript. Thought it would be interesting to make an interactive WebGL version.

  • Storm Tracks WebGL

    Interactive map of hurricanes, typhoons, cyclones and tropical storm tracks from 1848 to 2013 including Super Typhoon Haiyan/Yolanda.

  • Three.JS App Template

    Simple Python script to generate a template Three.js app that you can use as a starting point for your next masterpiece.

  • Extruded Earth

    Experimenting with data visualization by extruding world countries based on a metric.

  • Connected Planet

    Lat/long connected spline based arcs over planet Earth with logo, tweening and UI.

  • Pixi.js Test

    Experimenting by mixing up bits of Pixi.js demos. Click to jump.

  • Globe Manipulator

    Manipulate a globe and go to or pick, lat/long coordinates.

  • Fur Ball

    Testing buffer geometry with 100,000 lines - next, make it move with a shader.

  • Sphere/Ray Intersection

    Testing sphere and ray intersection code.

  • Pick Point From Model

    More complex intersection test against a 3D model

  • Shader Spline

    Animated shader on spline.

  • Spline Planet

    Red planet with extruded circle splines plus animated shader and collinear icons.

  • Delaunay Triangulation

    I wanted to subdivide country outlines into triangles and thought Delaunay triangulation was the right answer but it's not.

  • Concept Widget

    Experimental canvas based UI widget with lovely people at Concept Arts.

  • Squares On A Sphere

    Testing how to render collinear squares on a sphere.

  • CTM Loader Test

    Test loading model from CTM file and apply environment map.

  • Collada Duck

    Load a model of a duck from a Collada file.

Other stuff

  • Wizard of Speed, Time and Distance

    Discover how many minutes speeding really buys you.

  • Second Life

    My day job at Linden Lab since 2004

  • LLQtWebKit

    Open source project from 2005 that renders web content to a texture.

  • UBrowser

    Open source project from 2006 that displays a 3D web browser.

Recent updates

    ● 2015-04-12: Added ISS Photo Explorer

    ● 2015-03-14: Added Country Selector

    ● 2015-02-16: Added Flight Stream app

    ● 2015-01-28: Updated ISS Photo Viewer app to more generic mouse wheel code

    ● 2015-01-10: Moved to GitHub and added links to souce

    ● 2014-11-20: Added ISS Photo Viewer app


  • Email

  • Work

  • Second Life

  • LinkedIn

  • GitHub

  • Twitter

  • Facebook

  • Google+