Skip to content

reindernijhoff.net

Menu

  • Blog
  • NPM
  • Photos
  • Shadertoy
  • Turtletoy
  • Dittytoy
  • RenderQueue
  • About

Shadertoy

This page gives an overview of all the shaders that I have published on Shadertoy.

Click on an image to see the shader in action.

  • Based on the shaders of the excellent article 'Cameras and Lenses' by @BCiechanowski: [URL]https://ciechanow.ski/cameras-and-lenses[/URL]. Use your mouse to focus.
    Cameras and Lenses
  • The inverse of a Barrel Distortion.  I couldn't find this function online, so I derived it myself. A surprisingly complex formula ;-)
    Inverse Barrel Distortion
  • 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.
    Robotic Arm Hunting Lights
  • A shader about Gaussian weights and fake AO. (Set AA to 1. if the shader is running <60fps - line 27)
    Gaussian Weights and Fake AO
  • This is a collection of ray-primitive intersection routines ([url=http://iquilezles.org/articles/intersectors/intersectors.htm]by Íñigo Quílez[/url]).  Use your mouse to change the camera viewpoint.
    Ray Tracing - Primitives
  • Yet another Cornell Box. I have optimised the code of [url=https://www.shadertoy.com/view/XlGcWD]RIOW 2.07: Instances[/url] for the Cornell Box and added direct light sampling to reduce noise. Only Lambertian solid materials and cubes are supported.
    Yet another Cornell Box
  • This is an experiment to create an "AR shader" by implementing the mainVR-function and using the WebCam texture as background. Use the [url=https://itunes.apple.com/us/app/shadertoy/id717961814]Shadertoy iOS app[/url] to view this shader.
    Portal - iOS AR
  • This is an experiment to create an "AR shader" by implementing the mainVR-function and using the WebCam texture as background. Use the [url=https://itunes.apple.com/us/app/shadertoy/id717961814]Shadertoy iOS app[/url] to view this shader.
    Menger Sponge - iOS AR
  • These shaders are my implementation of the ray/path tracer described in the book "Raytracing in one weekend" by Peter Shirley. - DOF and motion blur; boxes, spheres and constant mediums; Lambertian, dielectric, isotropic, emissive and metal materials -
    RIOW 2.09: A Scene Testing All
  • These shaders are my implementation of the ray/path tracer described in the book "Raytracing in one weekend" by Peter Shirley.
    RIOW 2.08: Volumes
  • The Cornell box. These shaders are my implementation of the ray/path tracer described in the book "Raytracing in one weekend" by Peter Shirley. I didn't implement the rectangle-primitive, so I have used the box-primitive for the thin walls.
    RIOW 2.07: Instances
  • These shaders are my implementation of the ray/path tracer described in the book "Raytracing in one weekend" by Peter Shirley. Note: I didn't implement Perlin noise but used value noise instead.
    RIOW 2.06: Rectangles and lights
  • These shaders are my implementation of the ray/path tracer described in the book "Raytracing in one weekend" by Peter Shirley. I have tried to follow the code from his book as much as possible.
    RIOW 1.12: Where next?
  • These shaders are my implementation of the ray/path tracer described in the book "Raytracing in one weekend" by Peter Shirley. I have tried to follow the code from his book as much as possible.
    RIOW 1.11: Defocus Blur
  • These shaders are my implementation of the ray/path tracer described in the book "Raytracing in one weekend" by Peter Shirley. I have tried to follow the code from his book as much as possible.
    RIOW 1.09: Dielectrics
  • These shaders are my implementation of the ray/path tracer described in the book "Raytracing in one weekend" by Peter Shirley. I have tried to follow the code from his book as much as possible.
    RIOW 1.07: Diffuse
  • A simple path tracer is used to render the watch from my image based lighting shader "Old watch (IBL)". [url=https://www.shadertoy.com/view/lscBW4]Click here to compare[/url].  ! Use your mouse to change the camera viewpoint.
    Old watch (RT)
  • Same strategy as [url=https://www.shadertoy.com/view/llcyD2]"A quine"[/url], but I have focused more on code size.
    A smaller quine
  • This is [url=https://www.shadertoy.com/view/Ml3SWj]done[/url] [url=https://www.shadertoy.com/view/Mlj3zR]before[/url] and my code is not the most [url=https://www.shadertoy.com/view/MlGcRz]optimised[/url], but it is nice to write your own quine!
    A quine
  • I wanted to create an organic-looking SDF scene in a single, fully procedural, fragment shader.
    [SH18] Woman
  • This shader uses motion capture data to animate a humanoid. Image Based Lighting (IBL) is used to render the scene. Have a look at my shader [url=https://www.shadertoy.com/view/lscBW4]Old watch (IBL)[/url] for a clean implementation of IBL.
(mouseable)
    [SH18] Human Document
  • The numeric  key pad  controls  your gun and the firing of your bullets. Two keys start the gun moving:
 < and 4    counterclockwise
 > or 6      clockwise
Using the ^ or 8 key stops  the movement of your gun and fires your bullets.
    Paratrooper (game)
  • This is my first attempt to render volumetric clouds in a fragment shader. I started this shader by trying to model the clouds of Horizon Zero Dawn and render them using the integration method of volumetric media as described by Sébastien Hillaire (SebH).
    Himalayas
  • This shader uses Image Based Lighting (IBL) to render an old watch. The materials of the objects have physically-based properties. I have used the IBL technique as explained in the article 'Real Shading in Unreal Engine 4' by Brian Karis of Epic Games.
    Old watch (IBL)
  • Both rectangles are moving at exactly the same speed.  Based on the [url=https://scratch.mit.edu/projects/188838060/]flash implementation[/url] by Jim Cash and https://quote.ucsd.edu/anstislab/files/2012/11/2001-Footsteps-and-inchworms.pdf.
    Contrast speed illusion
  • Please have a look at the [url=https://www.shadertoy.com/view/4dSfRc]tutorial[/url].
    Super simple raymarching example
  • The shader used as example in this tutorial can be found [url=https://www.shadertoy.com/view/4dSBz3]here[/url].  You can navigate the slides using your arrow keys.
    [SH17C] Raymarching tutorial
  • Legend of the Gelatinous Cube  Collect all keys and escape the dungeons filled with gelatinous cubes.  - Arrow keys: move
- Space: fight & open doors.
    [SH17B] Legend of the Gelatinous
  • Matrix rain. View in full screen.
    [SH17A] Matrix rain
  • 3D metaballs in 280 chars.
    [SH17A] Metaballs
  • Because there is no character limit anymore, a lot more spheres can be rendered.
This shader uses code of the [url=https://www.shadertoy.com/view/MdB3Dw]Analytical Motionblur 3D[/url] shader by Inigo and a grid to trace a lot of spheres.
    [SH16B] Speed tracer
  • [SH16A] Challenge. This is work in progress. For now no change to code flow / algorithm is made.
    [SH16A] Reinder
  • This is my Sig15 shader [url=https://www.shadertoy.com/view/MtsXzf][SIG15] Matrix Lobby Scene[/url]. I don't know why, but the original shader keeps crashing webgl on some windows machines. Therefore I made this version which uses multiple passes.
    Matrix Lobby Scene (MP)
  • Demonstrating post process Screen Space Ambient Occlusion applied to a depth and normal map with the geometry of my shader [url=https://www.shadertoy.com/view/MtsXzf][SIG15] Matrix Lobby Scene'[/url].
    Post process - SSAO
  • Demonstrating post process FXAA on my shader [url=https://www.shadertoy.com/view/Xtf3zn]Tokyo[/url].  FXAA code from: [url=http://www.geeks3d.com/20110405/fxaa-fast-approximate-anti-aliasing-demo-glsl-opengl-test-radeon-geforce/3/]geeks3d[/url].
    Post process - FXAA
  • Compacting [url=https://www.shadertoy.com/view/4tlXR4]matrix - 255 char[/url] by FabriceNeyret2 even more and added some color. All credits go to FabriceNeyret2.
    Matrix rain < 200 char
  • PLEASE REWIND ON FIRST LOAD (⏮), TO MAKE SURE AUDIO IS IN SYNC.
    [SIG15] Matrix Lobby Scene
  • A seamless space-to-surface flight. This is a tribute to all the great shaders on Shadertoy! Use chrome without angle (or a Mac) and run this shader on med, or high settings (line 4 or 5) to get the full shader and the detail I was aiming for.
    Planet Shadertoy
  • Space - winner of the 'best visuals' category of the Shadertoy Hackathon @ NVSCENE 2015.  See [url=https://www.shadertoy.com/view/4tjGRh]4tjGRh[/url] for the updated shader with space-to-surface flight.
    [NV15] Space
  • Psychedelic sand dunes in two tweets. Based on my shader [2TC 15] Minecraft ([url]https://www.shadertoy.com/view/4tsGD7[/url]).
There are some chars left, so please give suggestions to improve this one!
    [2TC 15] Psychedelic Sand Dunes
  • A voxel landscape in two tweets (280 chars). (Remake of this shader: [url]https://www.shadertoy.com/view/4ds3WS[/url])
    [2TC 15] Minecraft
  • I am just one day at home between two holidays, so I don't have the time to really participate in this contest :(. This shader is based on  https://www.shadertoy.com/view/4ls3D4 by Dave_Hoskins. I have added fbm and color.
    [2TC 15] Toxic lake
  • My second try of creating a bidirectional path tracer. I really should read those articles :( (all weights of the paths are guessed)
The shader shows a scene with indirect lighting, using a bidirectional path tracer and a classical path tracer.
    Bidirectional path tracer 2
  • This shader shows the difference between a path tracer with, and without, direct light sampling.
    Simple path tracer
  • Yesterday, I found out about bidirectional path tracing. I didn't read the articles, but looked at the images and I tried to implement something myself. Therefore, I think most of the math will be incorrect - but it looks nice. Only diffuse lighting.
    Bidirectional path tracing
  • Tokyo by night in the rain. The car model is made by Eiffie (Shiny Toy': https://www.shadertoy.com/view/ldsGWB). I have never been in Tokyo btw.
    Tokyo
  • I was hoping that 'folding' the input domain of the distance function would lead to some elegant math. Unfortunately, the math isn't that elegant at all, and also it isn't stable for large folding-angles (hence the 'clipping hack' at lines 90 to 99).
    Folding
  • My entry to the in-official, nonexistent st mine compo :) If you like shiny things, define 'GOLD' at line 3. Use your mouse to look around.
    Abandoned base
  • A misty lake in the morning. Cloud and noise functions by Inigo Quilez.  You can use your mouse to look around.
    Misty Lake
  • Reconstructing the first level of Doom 2 in a shader. This is, just like my shader 'Wolfenstein' ([url]https://www.shadertoy.com/view/4sfGWX[/url]), an experiment to reconstruct some well-known textures in a textureless shader.
    Doom 2
  • Experiment to generate some well-known textures (from the [url=https://en.wikipedia.org/wiki/Wolfenstein_3D]first-person shooter video game developed by id Software[/url]) in a textureless shader.
    Wolfenstein 3D
  • My attempt to create a procedural city with a lot of lights. The city is inspired by Venice. The shader is a combination of my shaders: https://www.shadertoy.com/view/Mdf3zM and https://www.shadertoy.com/view/lslGDB.
(I have never been in Venice btw)
    Venice
  • A living, surrealistic, water world showing reflections and distance field rendering.
As usual, almost al code is copy-paste from shaders by inigo quilez.
Lens flare by musk! (https://www.shadertoy.com/view/4sX3Rs).
    Water world
  • port of javascript minecraft: http://jsfiddle.net/uzMPU/ combined with voxel-shader by inigo quilez (https://www.shadertoy.com/view/4dfGzs).
    Minecraft
  • Just a modification of the shader 'lot of spheres', so you can use it with the Oculus Rift (http://www.oculusvr.com/). All constants are empircal measured. Run the shader full screen.
    Oculus rift & Spheres
  • Tribute to Tim Clarke's Mars demo from 1993. Click and move your mouse to look around.  http://pouet.net/prod.php?which=4662&howmanycomments=25&page=0
    Mars demo
  • A simple pathtracer based on my shader https://www.shadertoy.com/view/lsX3WH showing motion blur, depth of field and importance sampling. Based on: https://iquilezles.org/articles/simplepathtracing/simplepathtracing.htm
    More spheres
  • Simple raytracer showing a lot of spheres and light sources. A grid is used as an acceleration structure.
    A lot of spheres
  • Just a quick one. Please don't look at the source of this shader :) The math is a mess and full of magical numbers and physical incorrect
    Outrun
  • I found this article: http://www.ams.org/notices/200304/fea-escher.pdf describing the transformation used by Escher in the droste-picture: de prentententoonstelling (the picture gallery). The source is a mess atm - I will clean up later.
    Escher's prentententoonstelling
  • Complete rewrite of old shader.
You're exploring an abandoned base on Mars. The base is covered with dirt.
Shader shows procedural levels and materials, a doom-like pseudo 3d-engine, dynamics lights & shadows, bumpmapping, specular maps and reflections.
    Abandoned base on Mars
  • Nyan exploring. The shader shows the procedural textures of my shader 'Abandond base on Mars': https://www.shadertoy.com/view/4sfGR7.
    Nyan
  • Shameless port of javascriptcode by Markus Persson (http://jsfiddle.net/uzMPU/).
    Minecraft Blocks
  • If your using a Mac or Linux please uncomment line 1 to view the full shader with mountains and a floating bottle (screenshot: http://imgur.com/KKPZsj4).  Part of the code is copy-pasted from shaders by inigo quilez and dave hoskins.
    Moonlight

Search

Recent Posts

  • WebGL Lightmapping Demo
  • WebGPU Ray Tracer: Accelerating the Stanford Dragon
  • The RenderQueue
  • Five years of Turtletoy: a minimalistic, generative art platform
  • E-Ink Family Calendar: a Raspberry Pi project
  • Rijkscollection: a Virtual Art Museum
  • Contemporary Relief
  • Dittytoy
  • Townscaper’s rendering style in WebGL
  • OneShader

Categories

  • Apps (8)
  • Dittytoy (1)
  • Game (3)
  • Javascript (13)
  • OneShader (1)
  • RenderQueue (5)
  • Shadertoy (21)
  • Turtletoy (5)
  • Uncategorized (8)
  • WebGL (5)
  • WebGPU (1)

Copyright © 2025 reindernijhoff.net