Category: Three.js


A little late-night A-frame doodle Inspired by Dan Shiffman’s excellent vid and the brilliant book. Sauce (The entire logic boils down to “Math.floor(Math.random() * 2) > 0 ? ‘/’ : ‘\\’;”, really)


Live Made this during a turbulent flight on a dying computer – much less involved than I’d like but I enjoyed playing with envmaps. Click to change. [everyday 061417]

Lewd Psychedelica

More realtime vertex displacement. However small the animated values, for a true fluidity, shaders seem to be the only way. Back to shader work soon. [everyday 061317]

Battlezone vibes

  Inspired by a visit to the LCM and toying with some C64s. Live here Controls: WASD + space Had enough time to implement: terrain, background, stars, movement, shooting Not enough time: enemies, game, raycasting, collisions, the rest of it. I love vertex deformation!   [everyday 061017]

Flying Islets

Was going for a more interesting thing and ran out of time. Happens w/#everydays.   [everyday 06/09/17]

Object Pooling in Three.js

A rough-and-dirty implementation of object pooling, a technique very common in game dev and proc gen. First learned about it in a Unity context, since then found out it’s quite universal and for good measure. In this implementation you’re going down an endless grid with randomly generated object. The grid is infinitely generated ahead of you […]

Marcus Aurelius Sculpting App

  Because what good is 3d graphics if you can’t mess with a timeless object d’art. (Learning more about normal-based manipulation!)     [everyday 06027]


  Spent most of Memorial Day making this. Aesthetically – open spaces, gradients, distant observant businessmen. Same old, same old. Live: Technically – More experiments with Vertex Displacement. Getting a lot done while avoiding shaders (which I’ll revisit later). Thoroughly enjoyed playing with shadows and wireframes – all kinds of interesting patterns and such. [everyday […]

going nuclear

Well, this escalated quickly. Trying to get more interesting worldspace-based effects happening (basically, a ripple would be nice) but until then, these unforeseen behemoths sure are interesting. The hotshot line is: ico.geometry.vertices[i] += Math.sin(clock.getElapsedTime() * ico.geometry.vertices[i]) / 2; (for all axes individually) [everyday 5/28/17]


  Finally got around to creating a little tweetbot to accompany It will tweet one photo a day for as long as it lives. LOTS of snags along the way – taking a scrshot in threeJS was unobvious and relaying a base64 back to express was its own little adventure. atob and btoa encoding saved the […]

Back to top walmart pillows