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?
I am excited to share my latest 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 unique
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. Townscaper’s rendering style in WebGL
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
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.
I created a reference shader with ray-primitive intersection routines on Shadertoy. A simple path tracer is used to visualize the scene.
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.
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.
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.
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.
By combining the webcam texture and the WebVR functionality of Shadertoy, I was able to create two “Augmented Reality” fragment shaders.
It’s the next week so time for “Raytracing: the next week” by Peter Shirley. Again, I implemented some of the chapters of the book in four shaders on Shadertoy.
I know I’m a bit late to the party, but I had a lot of fun reading “Ray tracing in one weekend” by Peter Shirley yesterday. I implemented some of the chapters of the book in four shaders on Shadertoy.
A simple path tracer is used to render an old watch. The old watch scene is (almost) the same scene as rendered using image-based lighting in my Shadertoy shader “Old watch (IBL).”
I created a shader quine, a fragment shader without input (textures or models) that produces a copy of its own source code as its output, on Shadertoy.
An organic-looking SDF scene in a single, fully procedural, fragment shader. The scene is modelled for this specific camera viewpoint and lighting setup.
“Human Document” – my entry for the Shadertoy Competition 2018. A bit to my surprise, this shader turned out to be the winning entry :) You can find (the full source of) the fragment shader here: https://www.shadertoy.com/view/XtcyW4.