Extending Shadertoy (& more)

Plugin “Shadertoy unofficial” (unrelated to this site 🙂 )

Features:   extend and fix what you dreamed of 🙂

  • Fork any shader.
  • Backup all your shaders, import or export shaders.
  • Adjustable slider for full control of ‘iTime’ uniform and audio/video inputs + loops.
    4 sliders simulating mouse position.
  • Make link clickable. Make key shortcut work even in fullscreen.
  • Speed-up button for simulation-based shaders.
  • Image preview (to compare what you see with what the coder saw).
  • List of your own recent visited shaders (life-changer for finding again private and unlisted shaders 🙂 ).
  • Change resolution in windowed and fullscreen mode by pressing keys 1…9.
  • Take screenshot width doubled resolution.
  • Pause/Restart in fullscreen mode.
  • Fullscreen edit mode.
  • and more

Scripts for TamperMonkey plugin (all browsers)

  • Andrei Drexler proposes several goodies (some have then be included in Shadertoy):
    Comments preview, browse errors, first-person mouse, enhance video recording, display perfs, limit framerate, force webGL1,…

Using custom textures (only on your local machine)

Exporting images and video

Shadertoy now natively allows to save images and videos. In addition

  • The Shadertoy unofficial plugin add some goodies ( sur-resolution, etc).
  • The Shadertoy frame exporter allow to choose format, fps, duration, and save the video as files.
  • The Koltes Digital frame exporter [ obsolete ? ]
  • As an alternate, one can convert a saved webm video from shell using
    ffmpeg -i capture.webm -vf fps=30 -filter:v "scale=910:512, crop=512:512" frame%3d.png

Pseudo-scripts (via URL, using bookmarks)
[ no longer allowed ]

(… but you can still copy-paste them in the JS console via F12 . )

Theron Tarigo (aka TTG ) propose several goodies here ( + corresponding shadertoy ) :

  • Create a shader (+content) with a simple bookmarkable link ( e.g. your custom default shader )
  • Load them (or first, export) from a bookmarkable JS ( if enabled on your browser ).
  • Overwrite an existing shader.

Applications compatible with Shadertoy

  • Shadertoy iOS app.
  • libShadertoy (Ubuntu and Debian) : run shadertoys from your desktop app.
    Also a simple way to play with fragments shaders on desktop without all the burden (bindings…), with the Shadertoy convention for extra uniforms (mouse, time…).
    Can mix GLSL, CUDA, C++ passes.
  • ShadertoyConnector  (Ubuntu and Debian) : interface with Mathematica and Octave
    ( send parameters and arrays to your shader, get the resulting image as array).
    Also a simple way to interface GLSL shaders with Mathematica and Octave.
  • Accessing shadertoy database from your website or appli: web API.
  • Note that some programs are more or less shadertoy-compatible:
    Gratin, NatronKodeLife .
  • Grimoire (Linux, MaxOS, Windows): command-line tool for creating shader demos
  • Shader Web Background : get a shadertoy on webpage background.

Shadertoy cousins

  • glslsandbox     Goodies: clone, camera
  • shdr@bkcore  Goodies: vertex shaders, snippets, camera, 3D models, custom models
  • shaderfrog      Goodies: shaders + composer, vertex shaders, clone, uniforms, camera, 3D models, custom models
  • shader_editor@kickjs Goodies : vertex shaders, load texture, uniforms, 3D models
  • GLSLbin          Goodies: includes ( from many base stack.gl shaders )
  • vertexShaderArt    Goodies: tune vertex position and color at the same time.
  • Shaderoo         Goodies:  geometry shader, infinite amount of buffers, external textures, includes
  • ISF                     Goodies: vertex shaders, sliders, modules, textures, integrable

On desktop (quick shader prototypers):

  • KodeLife          Goodies: vertex, tesselators, geometry, fragments, custom model, Shadertoy compatibility mode
  • glslEditor
  • shaderEd        ( also have an online lite version )


Note that Firefox and Chrome now allow direct editing (and more) of any online shader:

  • Activating the shader developer tool on Firefox
  • Equivalent plugin on Chrome

8 thoughts on “Extending Shadertoy (& more)

  1. Hadn’t heard of Grimoire. This may be a game-changer for me – simple running of shaders locally based on my own text editor. Thanks for this list !


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s