I’ve recently created a simple WebGL demo that showcases a lightmapped scene with multiple instances of the same mesh. This project demonstrates an efficient pipeline for creating and exporting complex, lightmapped scenes for web-based 3D applications. You can find the
WebGPU Ray Tracer: Accelerating the Stanford Dragon
In my latest project, I’ve explored WebGPU to create a ray tracer capable of rendering the Stanford dragon model (87,130 triangles) in real-time. This project is my first step into WebGPU, and I’m excited to share the result. You can
The RenderQueue
Together with my colleague Johan Holwerda, I’ve created the RenderQueue, a platform where we’ll share a selection of WebGL and WebGPU demos we’ve developed over the past decade.
Five years of Turtletoy: a minimalistic, generative art platform
Five years ago, I launched Turtletoy, an online platform that enables users to create plottable generative art using a simple Turtle graphics API. Today, Turtletoy continues to be a popular destination for artists looking for plotter-friendly vector graphics. Why Turtletoy?
E-Ink Family Calendar: a Raspberry Pi project
Over the past few weeks, I’ve developed a custom e-ink family calendar as my first Raspberry Pi project. This calendar combines hardware elements inspired by MagInkCal with layout concepts from MagInkDash, resulting in a unique and functional display for our
Rijkscollection: a Virtual Art Museum
I am excited to share my latest (award-winning!!1!) hobby project, Rijkscollection, a virtual museum built using WebGL. This platform lets you explore paintings and drawings from the Rijksmuseum Amsterdam. Rijkscollection doesn’t offer a tour of the Rijksmuseum. Instead, it creates
Contemporary Relief
I recently collaborated with Mark Knol on “Contemporary Relief” – a generative art project that creates geometric patterns using a WebGL path tracer. We released a collection of 240 unique pieces on fxhash, a generative art platform built on Tezos.
Dittytoy
Over the past few months, I have spent some free time developing Dittytoy: an online platform that allows you to create music using a minimalistic javascript API. All music on Dittytoy is generated entirely in code. So don’t expect easy-to-use
Townscaper’s rendering style in WebGL
I love the rendering style of Townscaper by Oskar Stålberg. Since Townscaper can export your town as a .obj (including three “magic” textures), I thought it would be a nice project to reverse-engineer this style. Last weekend, I finally had
OneShader
After creating Turtletoy, it was easy to create a second toy website: Oneshader. OneShader is an online tool for creating and sharing WebGL fragment shaders. You don’t have access to 3D models, textures, buffers, or any other (external) resources, so
Truchet Tiles: Simple Rules, Infinite Patterns
I’ve been playing with Truchet tiles in my latest Turtletoy project. Let me explain what Truchet tiles are and why they’re cool for generative art. What are Truchet Tiles? Think of a grid made of squares. Now, instead of leaving
Robotic Arm
This shader is a proof of concept to find out if I could create a “typical” Shadertoy shader, i.e. a shader that renders a non-trivial animated 3D scene, by using a ray tracer instead of the commonly used raymarching techniques.
Ray Tracing – Primitives
I created a reference shader with ray-primitive intersection routines on Shadertoy. A simple path tracer is used to visualize the scene.
Wolfenstein: Ray Tracing On using WebGL1
Since the introduction of the Nvidia RTX graphics cards last summer, ray tracing is back again. In the last months, my Twitter feed flooded with a continuous stream of RTX On / RTX Off comparisons.
Home – Global Game Jam
This is the first year that I have participated in the Global GameJam 2019. I created the game “Reinder wants to go home, early” in 4.8 hours.
3D Line Art Engine (port)
I have ported most of “ln, The 3D Line Art Engine” by @FogleBird to javascript so it can be used on Turtletoy. The engine can create drawings of 3D scenes, that you can plot using a pen plotter, which naturally
Yet another Cornell Box
Yet another Cornell Box: a path tracer in a single fragment shader on Shadertoy. Direct light sampling is used to reduce noise. The scene is rendered using 12 samples per pixel.
Procedural cubic city
This is an experiment in drawing a simple procedural city. The basis of the city was initially a Rhombille tiling (2D). By drawing randomly placed doors and windows on each hexagon, the illusion of a 3D city is created.
Turtletoy
I spent some spare time creating Turtletoy: an online platform that allows you to create generative art online using a minimalistic javascript Turtle graphics API.
Augmented Reality and Shadertoy
By combining the webcam texture and the WebVR functionality of Shadertoy, I was able to create two “Augmented Reality” fragment shaders.