If you're not familiar with userscripts, you can think of them as mini browser extensions. In order to use them, you first need to install a so-called userscript manager (an actual browser extension), like Tampermonkey. Once that's taken care of, you should be able to install any of these scripts using the links below.
Script | Description |
---|---|
Comment preview Install • View source |
Adds comment preview functionality, so that you can check your BBCode for errors before posting. Also makes the comment input area resizable, in case you have a lot on your mind. Bonus: sets tab size to 4 (matching the editor), so that code pasted in comments aligns nicely. |
Go to error Install • View source |
Adds Go to first error / previous error (Shift-F8) / next error (F8) functionality. |
GPU timing Install • View source |
Adds a switchable HUD with per-pass GPU timing (click framerate display to toggle). You'll probably also want to disable GPU boost when profiling. |
Framerate limiter Install • View source |
Adds a configurable framerate limiter, in case you want to conserve your laptop's battery life, or maybe play Contra on a high refresh rate monitor. |
First-person mouse input Install • View source |
Adds a switchable first-person mouse input mode. When enabled, you only have to click once on the canvas and then you can move the mouse freely, without the need to keep the mouse button pressed, or worry about going out of bounds. Meant primarily for FPS-like shaders, such as Quake or DOOM, but it works nicely with pretty much any shader where you use the mouse to look around or scroll. |
Force WebGL 1 Install • View source |
Disables WebGL 2 support, forcing ShaderToy to use WebGL 1. Useful if you want to check whether or not your shader would run on fruity platforms that don't implement WebGL 2. |
Enhanced video recording Install • View source |
Adds an explicit (high) bitrate, limits the recording framerate to 60 fps (shader still running at full speed), changes the codec to H264 if available (for better compatibility with video editing/playback software), generates a more descriptive output file name (e.g. Quake_Introduction-20190130-1948.webm), and also resumes the shader (if paused) when you begin recording and pauses it when you're done. |