LOADING

New pass

exit

PREVIOUS SAMPLER

Previous sampler

HORIZONTAL BLUR

Horizontal blur

VERTICAL BLUR

Vertical blur

DEPTH OF FIELDS

Depth of fields

BLANK

Blank

COMMON

Common

Remove pass

exit

Select pass to delete:

Please select which pass you want to delete and click below to confirm.

Report bug

exit

Please wait...

Nah

Report shader

exit

Please DO report shaders which contain hateful symbols and / or hateful messages. Posh Brolly is for everyone and hate won't be tolerated.

Please DO NOT report shaders which contains "something that offends you", such as: penises, vaginas, procedural porn, swearing or satire. This isn't Victorian England, yeah?

Short reason for reporting shader:

Please wait...

Nah

Save

exit

Shader name:

info "Remix of [shaderName]" will be displayed after shader name, so don't use "remix" as part of your name.
info Some special characters will be removed, apart from those:|_|-|'|?|!|&|,|.| Press return to see final name.

Thumbnail:

Thumbnail time
Preroll (secs) must be <= thumbnail time
info Press return inside the thumbnail time text box to see the change. You can update your thumbnail any time in "Global Settings", no sweat.

Shader tags: (min: 1, max: 16)

    Tags will appear once you start typing on the left, yeah? 
      Nah

      Shader recorder

      exit

      Choose yer weapon.

      RECORD VIDEO

      camera

      TAKE SCREENSHOT

      camera

      Choose yer video settings and press RECORD, then press DOWNLOAD.
      Gil said "The Revolution Will Not Be Televised", and for sure it won't be on instagram either.

      Screenshot will be saved to your "downloads" folder.

      info For dimensions above 4096, or if you get blank pixels, please select "Custom HUGE".
      Huge image will be made by stitching smaller image chunks together, no matter how little RAM you got.
      Major thankx to Gregg Tavares for the method and the dekapng code!
      Record video start/end (secs)
      Screenshot time
      Preroll (secs)
      info Preroll starts playing the animation before recording, must be <=  video start screenshot time
      Video format
      info First format is prob best for you, on chrome vp8 seems better than vp9
      Dimensions
      info Screenshot size will be current render canvas size
      info Render canvas will be scaled up to fullscreen according to aspect ratio
      info Careful with big sizes: some pixels will be missing, in which case use "custom HUGE"
      info You MUST use "_uv" in your code for the stitching to work, don't use gl_FragCoord
      info Video size will be current render canvas size
      info Render canvas will be scaled up to fullscreen according to aspect ratio
      info Custom video size, please enter width & height below:
      Width & height
      Padding for blur
      info Extra padding pixels around chunks to fix blur. If yer blur is huge, increase this value, otherwise leave it alone
      Chunk width & height
      info You REALLY should NOT change this, unless padding isn't enough for yer big bad blur and you know what to do
      Bitrate (mbps)
      info Can be erratic. For webm: 2.5 to 8.5 increases bitrate, after 8.5 seems worst than 2.5
      FPS
      info 30fps recommended, 60fps probably won't work, leaving for the future

      Shader I/O

      exit

      Current shader inputs & output:

      Missing something? Switch inputs on in global settings, or add some textures / sounds. Go ham, it's yer tool!

      You ain't got the goodies!

      You need webGL2.0 minimum to run this fluffy tool.
      It enjoys wearing fancy wigs and doesn't care for boating shoes.
      Time to get a better device.

      Click needed!

      exit

      This shader has audio but you ain't clicked nowhere yet, so I can't start it.
      Please click somewhere, will ya?

      About this old rag0.69.07b

      exit

      Hear, hear! This tool was designed and coded by evvvvil from demogroups Handsome Hooligans & Rebels. (twitter: @evvvvil)
      Made with love, anger, tears of joy and moments of pure euphoric madness.

      This tool does't use any garbage front-end libraries: no rubbish React, no lame jQuery, no bloated UI libraries, no dumb CSS templates.
      Everything is made by hand in pure javascript, CSS & Node.JS + Express (only front-end help comes from Ace text editor).

      Thankx to those who have helped:

      Juliana Prunier, wrighter, ob5vr, Gregg Tavares (WebGL2 Fundamentals), Marta Soto, Laurent Le Brun (Ctrl-Alt-Test), Banstead Jeff, lienep, le nep, James Cronk.

      Greetings and love fly out to those special people from the demoscene: (in randomised order)

      LOVE these demogroups! (in randomised order)

      Keyboard shortcuts & camera controls

      exit

      Text editor shortcuts: (many more here: https://github.com/ajaxorg/ace/wiki/Default-Keyboard-Shortcuts)

      ALT
      +
      SHIFT
      +
      C
      Convert code from Shadertoy
      F1
      Open text editor command menu
      ALT
      +
      E
      Show next compile error
      ALT
      +
      SHIFT
      +
      E
      Show previous compile error

      Keyboard shortcuts:

      ALT
      +
      S
      Compile
      CTRL
      +
      S
      Save
      CTRL
      +
      SHIFT
      +
      S
      Save as
      CTRL
      +
      Click save icon
      Save as
      ALT
      +
      X
      +
      Arrow Up
      Play/Pause
      ALT
      +
      X
      +
      Arrow Down
      Rewind
      ALT
      +
      X
      +
      Arrow Left / Right
      Previous / next frame
      ALT
      +
      SHIFT
      +
      Z / Y
      Undo / redo slider (sliders inspector selected)
      CTRL
      +
      + / -
      Font size up / down
      ALT
      +
      F
      Fullscreen mode
      ALT
      +
      B
      Bonzomatic mode
      ALT
      +
      + / -
      Font brightness Up / down (Bonzomatic mode)
      ALT
      +
      H
      Hide editor (Bonzomatic mode)
      ALT
      +
      Click time seek
      Switch time dislay seconds / frames

      Camera controls:

      info "Left / middle mouse" means left / middle mouse button click on render canvas
      ALT
      +
      Left Mouse
      Orbit camera
      ALT
      +
      Middle Mouse
      Pan camera
      ALT
      +
      Wheel scroll
      Zoom camera (orbit radius)
      ALT
      +
      X
      +
      Left Mouse
      Look-around (resets on mouse up)
      ALT
      +
      Middle Mouse
      +
      Middle Mouse
      Reset camera

      Textures

      exit
      Noise - 256 x 256
      Min filter:
      Mag filter:
      Wrap:

      Shader minifier

      exit

      Shader Minifier brought to you by Ctrl-Alt-Test demogroup: https://ctrl-alt-test.fr.
      (via some dumb headless chicken and its fancy fleece, written by yours truly)

      Minify settings:

      Preserve externals
      info Do not rename external values (e.g. uniform)
      Preserve all globals
      info Do not rename functions and global variables
      Inlining
      info Automatically inline variables
      Aggressive inlining
      info Can reduce size due to better constant folding OR can increase size due to repeated inlined constants (which can benefit gzip)
      Do not rename...
      info Comma-separated list of functions to preserve or do not rename anything
      info Comma-separated list of functions to preserve
      Comma operator trick
      info Use comma operator trick
      Smoothstep trick
      info Use IQ's smoothstep trick
      Remove unused code
      info Remove unused code
      Move declarations
      info Move declarations to group them

      More info on Shader Minifier's official github: https://github.com/laurentlb/Shader_Minifier

      Nah

      Minified using Shader Minifier by Ctrl-Alt-Test: http://www.ctrl-alt-test.fr
      Major thankx and greetz to Ctrl-Alt-Test demogroup.

      Character count:

      Sliders settings

      exit
      Show sliders values
      Show sliders names
      Copy / replace float digits precision
      info Sliders float precisions are always maximum when passed to the shader uniforms.
      This precision only applies when clicking buttons below the sliders to copy value or replace uniform.

      FFT settings

      exit

      FFT array data passed to shader as a texture:

      FFT texture as "_texA" uniform sampler2D. Setup your FFT sampler filter below:
      Min filter:
      Mag filter:
      Wrap:

      Global settings

      exit

      Welcome stranger, grab a beer and take a pew.
      It looks like you are packing: . But who am I to judge?

      Shader:

      Shader specific theme ("None" to use your preferred user theme)
      Shader aspect ratio
      Shader float precision
      Rewind shader on fullscreen (useful for multi sampling / fluid shaders)

      Bonzomatic mode:

      Show code characters background
      Show whole editor background
      Editor background opacity
      Turn off cynicism

      Extra uniforms:

      info After modifying any of the following settings, please recompile for changes to take effect.
      Export mouse as "_m" vec4 uniform. (XY: Mouse XY pos, Z: Left click, W: Right click)
      info Left / right click on canvas and drag to pass mouse values. In Bonzomatic mode, you MUST press "ALT" THEN "CTRL" and THEN click to pass mouse values.
      Mouse position range type
      Export frame number as "_fn" int uniform
      Export delta time as "_dt" float uniform

      ERROR
      COMPILED
      SAVED
      0
      code

      CODE:

      Pass 1

      inputs
      colour picker
      count
      switch
      full
      bonzo
      Loading...
      compile
      minify
      Pass 1
      Pass 1
      Pass 2
      Pass 3
      Pass 4
      Pass 5
      Pass 6
      Remove last pass
      Add pass

      WEBGL CRASHED

      Boooooo

      3
      2
      1
      recording

      Please wait, stitching up chunks. File will auto download when it's done.

      00

      25

      00

      800 x 800

      FAILED COMPILING

      Please wait

      Please fix and recompile

      Alt + click + drag to move camera

      expand
      time

      Timeline:

      60s

      collapse
      switch
      expand
      sliders

      Inspector:

      Sliders

      Collapse
      Copy
      Copy
      settings
      remove slider
      add slider
      Copied to clipboard
      Paste that shit where it sticks!

      texture

      Inspector:

      Textures Pass 1

      Collapse
      Add texture
      _tex0
      Add texture
      _tex1
      Add texture
      _tex2
      Add texture
      _tex3
      Add texture
      _tex4
      sounds

      Inspector:

      Audio

      Collapse
      youTube video URL:
      FFT audio-analysis:
      Samples:
      Audio quality:

      Drop audio file
      (mp3|wav|ogg|flac)

      Add sound file
      WTF is that?
      Booooo! File must be: mp3 / wav / ogg / flac, you sausage.

      Click on a range to delete it
      Remove
      unmute mute
      ERROR embeding youTube

      Offset
      Hacking youTube. Please wait...
      0 / 0 loaded
      ERROR hacking youTube

      Offset
      smoothing
      unmute mute
      Remove range
      Add range
      settings
      Remove
      camera

      Inspector:

      Camera

      Collapse
      Camera on / off:
      Flip camera Y:
      Speed:
      Minimum radius:
      Default radius:
      All passes camera:
      Camera XYZ:
      Copy
      Camera Target XYZ:
      Copy
      Copied to clipboard
      Paste that shit where it sticks!

      sliders

      Inspector:

      Midi controller

      Collapse
      Divvin' knaa owt aboot yor space machine, alreet?
      I don't know anything about your controller yet
      info This module is in Geordie, hover over any text to see translation
      Scran flavoor:
      Giz a deek at yor inpoots, alreet?
      Let's see what inputs you got, ok?
      TOUCH MACHINE A WEE BIT, ALREET?
      sliders

      Inspector:

      Timer

      Collapse
      Timer on / off:
      hour minutes
      sliders
      textures
      audio
      camera
      timer
      timer
      REPORT