Shadertoy node

This documentation is for version 1.0 of Shadertoy.

Description

Apply a Shadertoy fragment shader.

This plugin implements Shadertoy 0.8.8, but multipass shaders and sound are not supported.

Shadertoy 0.8.8 uses WebGL 1.0 (a.k.a. GLSL ES 1.0 from GLES 2.0), based on GLSL 1.20

Note that the more recent Shadertoy 0.9.1 uses WebGL 2.0 (a.k.a. GLSL ES 3.0 from GLES 3.0), based on GLSL 3.3

This help only covers the parts of GLSL ES that are relevant for Shadertoy. For the complete specification please have a look at GLSL ES 1.0 specification or pages 3 and 4 of the OpenGL ES 2.0 quick reference card. See also the Shadertoy/GLSL tutorial.

Image shaders

Image shaders implement the mainImage() function in order to generate the procedural images by computing a color for each pixel. This function is expected to be called once per pixel, and it is responsability of the host application to provide the right inputs to it and get the output color from it and assign it to the screen pixel. The prototype is:

void mainImage( out vec4 fragColor, in vec2 fragCoord );

where fragCoord contains the pixel coordinates for which the shader needs to compute a color. The coordinates are in pixel units, ranging from 0.5 to resolution-0.5, over the rendering surface, where the resolution is passed to the shader through the iResolution uniform (see below).

The resulting color is gathered in fragColor as a four component vector.

Language:

  • Preprocessor: # #define #undef #if #ifdef #ifndef #else #elif #endif #error #pragma #extension #version #line
  • Operators: () + - ! * / % < > <= >= == != && ||
  • Comments: // /* */
  • Types: void bool int float vec2 vec3 vec4 bvec2 bvec3 bvec4 ivec2 ivec3 ivec4 mat2 mat3 mat4 sampler2D
  • Function Parameter Qualifiers: [STRIKEOUT:none], in, out, inout
  • Global Variable Qualifiers: const
  • Vector Components: .xyzw .rgba .stpq
  • Flow Control: if else for return break continue
  • Output: vec4 fragColor
  • Input: vec2 fragCoord

Built-in Functions (details)

Angle and Trigonometry Functions

  • type radians (type degrees)
  • type degrees (type radians)
  • type sin (type angle)
  • type cos (type angle)
  • type tan (type angle)
  • type asin (type x)
  • type acos (type x)
  • type atan (type y, type x)
  • type atan (type y_over_x)

Exponential Functions

  • type pow (type x, type y)
  • type exp (type x)
  • type log (type x)
  • type exp2 (type x)
  • type log2 (type x)
  • type sqrt (type x)
  • type inversesqrt (type x)

Common Functions

  • type abs (type x)
  • type sign (type x)
  • type floor (type x)
  • type ceil (type x)
  • type fract (type x)
  • type mod (type x, float y)
  • type mod (type x, type y)
  • type min (type x, type y)
  • type min (type x, float y)
  • type max (type x, type y)
  • type max (type x, float y)
  • type clamp (type x, type minV, type maxV)
  • type clamp (type x, float minV, float maxV)
  • type mix (type x, type y, type a)
  • type mix (type x, type y, float a)
  • type step (type edge, type x)
  • type step (float edge, type x)
  • type smoothstep (type a, type b, type x)
  • type smoothstep (float a, float b, type x)

Geometric Functions

  • float length (type x)
  • float distance (type p0, type p1)
  • float dot (type x, type y)
  • vec3 cross (vec3 x, vec3 y)
  • type normalize (type x)
  • type faceforward (type N, type I, type Nref)
  • type reflect (type I, type N)
  • type refract (type I, type N,float eta)

Matrix Functions

  • mat matrixCompMult (mat x, mat y)

Vector Relational Functions

  • bvec lessThan(vec x, vec y)
  • bvec lessThan(ivec x, ivec y)
  • bvec lessThanEqual(vec x, vec y)
  • bvec lessThanEqual(ivec x, ivec y)
  • bvec greaterThan(vec x, vec y)
  • bvec greaterThan(ivec x, ivec y)
  • bvec greaterThanEqual(vec x, vec y)
  • bvec greaterThanEqual(ivec x, ivec y)
  • bvec equal(vec x, vec y)
  • bvec equal(ivec x, ivec y)
  • bvec equal(bvec x, bvec y)
  • bvec notEqual(vec x, vec y)
  • bvec notEqual(ivec x, ivec y)
  • bvec notEqual(bvec x, bvec y)
  • bool any(bvec x)
  • bool all(bvec x)
  • bvec not(bvec x)

Texture Lookup Functions

  • vec4 texture2D(sampler2D sampler, vec2 coord )
  • vec4 texture2D(sampler2D sampler, vec2 coord, float bias)
  • vec4 textureCube(samplerCube sampler, vec3 coord)
  • vec4 texture2DProj(sampler2D sampler, vec3 coord )
  • vec4 texture2DProj(sampler2D sampler, vec3 coord, float bias)
  • vec4 texture2DProj(sampler2D sampler, vec4 coord)
  • vec4 texture2DProj(sampler2D sampler, vec4 coord, float bias)
  • vec4 texture2DLodEXT(sampler2D sampler, vec2 coord, float lod)
  • vec4 texture2DProjLodEXT(sampler2D sampler, vec3 coord, float lod)
  • vec4 texture2DProjLodEXT(sampler2D sampler, vec4 coord, float lod)
  • vec4 textureCubeLodEXT(samplerCube sampler, vec3 coord, float lod)
  • vec4 texture2DGradEXT(sampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy)
  • vec4 texture2DProjGradEXT(sampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy)
  • vec4 texture2DProjGradEXT(sampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy)
  • vec4 textureCubeGradEXT(samplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy)

Function Derivatives

  • type dFdx( type x ), dFdy( type x )
  • type fwidth( type p )

How-to

  • Use structs: struct myDataType { float occlusion; vec3 color; }; myDataType myData = myDataType(0.7, vec3(1.0, 2.0, 3.0));
  • Initialize arrays: arrays cannot be initialized in WebGL.
  • Do conversions: int a = 3; float b = float(a);
  • Do component swizzling: vec4 a = vec4(1.0,2.0,3.0,4.0); vec4 b = a.zyyw;
  • Access matrix components: mat4 m; m[1] = vec4(2.0); m[0][0] = 1.0; m[2][3] = 2.0;

Be careful!

  • the f suffix for floating point numbers: 1.0f is illegal in GLSL. You must use 1.0
  • saturate(): saturate(x) doesn’t exist in GLSL. Use clamp(x,0.0,1.0) instead
  • pow/sqrt: please don’t feed sqrt() and pow() with negative numbers. Add an abs() or max(0.0,) to the argument
  • mod: please don’t do mod(x,0.0). This is undefined in some platforms
  • variables: initialize your variables! Don’t assume they’ll be set to zero by default
  • functions: don’t call your functions the same as some of your variables

Shadertoy Inputs

Type Name Function Description
vec3 iResolution image The viewport resolution (z is pixel aspect ratio, usually 1.0)
float iGlobalTime image/sound Current time in seconds
float iTimeDelta image Time it takes to render a frame, in seconds
int iFrame image Current frame
float iFrameRate image Number of frames rendered per second
float iChannelTime[4] image Time for channel (if video or sound), in seconds
vec3 iChannelResolution[4] image/sound Input texture resolution for each channel
vec4 iMouse image xy = current pixel coords (if LMB is down). zw = click pixel
sampler2D iChannel{i} image/sound Sampler for input textures i
vec4 iDate image/sound Year, month, day, time in seconds in .xyzw
float iSampleRate image/sound The sound sample rate (typically 44100)
vec2 iRenderScale image The OpenFX render scale (e.g. 0.5,0.5 when rendering half-size) [OFX plugin only]

Shadertoy Outputs

For image shaders, fragColor is used as output channel. It is not, for now, mandatory but recommended to leave the alpha channel to 1.0.

For sound shaders, the mainSound() function returns a vec2 containing the left and right (stereo) sound channel wave data.

OpenFX extensions to Shadertoy

  • The pre-defined iRenderScale uniform contains the current render scale. Basically all pixel sizes must be multiplied by the renderscale to get a scale-independent effect. For compatibility with Shadertoy, the first line that starts with const vec2 iRenderScale is ignored (the full line should be const vec2 iRenderScale = vec2(1.,1.);).
  • The shader may define additional uniforms, which should have a default value, as in uniform vec2 blurSize = vec2(5., 5.);. These uniforms can be made available as OpenFX parameters using settings in the ‘Extra parameters’ group, which can be set automatically using the ‘Auto. Params’ button (in this case, parameters are updated when the image is rendered). A parameter label and help string can be given in the comment on the same line. The help string must be in parenthesis. uniform vec2 blurSize = vec2(5., 5.); // Blur Size (The blur size in pixels.) min/max values can also be given after a comma. The strings must be exactly min= and max=, without additional spaces, separated by a comma, and the values must have the same dimension as the uniform: uniform vec2 blurSize = vec2(5., 5.); // Blur Size (The blur size in pixels.), min=(0.,0.), max=(1000.,1000.)
  • The following comment line placed in the shader gives a label and help string to input 1 (the comment must be the only thing on the line): // iChannel1: Noise (A noise texture to be used for random number calculations. The texture should not be frame-varying.)
  • This one also sets the filter and wrap parameters: // iChannel0: Source (Source image.), filter=linear, wrap=clamp
  • And this one sets the output bouding box (possible values are Default, Union, Intersection, and iChannel0 to iChannel3): // BBox: iChannel0

Default textures and videos

The default shadertoy textures and videos are avalaible from the Shadertoy web site. In order to mimic the behavior of each shader, download the corresponding textures or videos and connect them to the proper input.

Inputs

Input Description Optional
iChannel0   Yes
iChannel1   Yes
iChannel2   Yes
iChannel3   Yes

Controls

Parameter / script name Type Default Function
Mouse Pos. / mousePosition Double x: 0 y: 0 Mouse position, in pixels. Gets mapped to the xy components of the iMouse input. Note that in the web version of Shadertoy, the y coordinate goes from 1 to height.
Click Pos. / mouseClick Double x: 1 y: 1 Mouse click position, in pixels. The zw components of the iMouse input contain mouseClick if mousePressed is checked, else -mouseClick. The default is (1.,1.)
Mouse Pressed / mousePressed Boolean Off When checked, the zw components of the iMouse input contain mouseClick, else they contain -mouseClick. If the host does not support animating this parameter, use negative values for mouseClick to emulate a released mouse button.
Value0 / paramValueBool0 Boolean Off Value of the parameter.
Value0 / paramValueInt0 Integer 0 Value of the parameter.
Value0 / paramValueFloat0 Double 0 Value of the parameter.
Value0 / paramValueVec20 Double x: 0 y: 0 Value of the parameter.
Value0 / paramValueVec30 Color r: 0 g: 0 b: 0 Value of the parameter.
Value0 / paramValueVec40 Color r: 0 g: 0 b: 0 a: 0 Value of the parameter.
Value1 / paramValueBool1 Boolean Off Value of the parameter.
Value1 / paramValueInt1 Integer 0 Value of the parameter.
Value1 / paramValueFloat1 Double 0 Value of the parameter.
Value1 / paramValueVec21 Double x: 0 y: 0 Value of the parameter.
Value1 / paramValueVec31 Color r: 0 g: 0 b: 0 Value of the parameter.
Value1 / paramValueVec41 Color r: 0 g: 0 b: 0 a: 0 Value of the parameter.
Value2 / paramValueBool2 Boolean Off Value of the parameter.
Value2 / paramValueInt2 Integer 0 Value of the parameter.
Value2 / paramValueFloat2 Double 0 Value of the parameter.
Value2 / paramValueVec22 Double x: 0 y: 0 Value of the parameter.
Value2 / paramValueVec32 Color r: 0 g: 0 b: 0 Value of the parameter.
Value2 / paramValueVec42 Color r: 0 g: 0 b: 0 a: 0 Value of the parameter.
Value3 / paramValueBool3 Boolean Off Value of the parameter.
Value3 / paramValueInt3 Integer 0 Value of the parameter.
Value3 / paramValueFloat3 Double 0 Value of the parameter.
Value3 / paramValueVec23 Double x: 0 y: 0 Value of the parameter.
Value3 / paramValueVec33 Color r: 0 g: 0 b: 0 Value of the parameter.
Value3 / paramValueVec43 Color r: 0 g: 0 b: 0 a: 0 Value of the parameter.
Value4 / paramValueBool4 Boolean Off Value of the parameter.
Value4 / paramValueInt4 Integer 0 Value of the parameter.
Value4 / paramValueFloat4 Double 0 Value of the parameter.
Value4 / paramValueVec24 Double x: 0 y: 0 Value of the parameter.
Value4 / paramValueVec34 Color r: 0 g: 0 b: 0 Value of the parameter.
Value4 / paramValueVec44 Color r: 0 g: 0 b: 0 a: 0 Value of the parameter.
Value5 / paramValueBool5 Boolean Off Value of the parameter.
Value5 / paramValueInt5 Integer 0 Value of the parameter.
Value5 / paramValueFloat5 Double 0 Value of the parameter.
Value5 / paramValueVec25 Double x: 0 y: 0 Value of the parameter.
Value5 / paramValueVec35 Color r: 0 g: 0 b: 0 Value of the parameter.
Value5 / paramValueVec45 Color r: 0 g: 0 b: 0 a: 0 Value of the parameter.
Value6 / paramValueBool6 Boolean Off Value of the parameter.
Value6 / paramValueInt6 Integer 0 Value of the parameter.
Value6 / paramValueFloat6 Double 0 Value of the parameter.
Value6 / paramValueVec26 Double x: 0 y: 0 Value of the parameter.
Value6 / paramValueVec36 Color r: 0 g: 0 b: 0 Value of the parameter.
Value6 / paramValueVec46 Color r: 0 g: 0 b: 0 a: 0 Value of the parameter.
Load from File / imageShaderFileName N/A   Load the source from the given file. The file contents is only loaded once. Press the “Reload” button to load again the same file.
Reload / imageShaderReload Button   Reload the source from the given file.
Presets Directory / imageShaderPresetDir N/A   The directory where presets are located. There must be a “Shadertoy.txt” file in this directory to give the list of presets (see the default presets directory for an example). The default textures are located in “/Applications/Natron.app/Contents/Plugins/OFX/Natron/Shadertoy.ofx.bundle/Contents/Resources/presets”.
Load from Preset / imageShaderPreset Choice No preset Load the source from the preset. The default textures are located in “/Applications/Natron.app/Contents/Plugins/OFX/Natron/Shadertoy.ofx.bundle/Contents/Resources/presets”, and more presets can be added by editing “Shadertoy.txt” in the Presets Directory.
Source / imageShaderSource String
// iChannel0: Source (Source image.), filter=linear, wrap=clamp
// BBox: iChannel0

const vec2 iRenderScale = vec2(1.,1.); // Render Scale (The size of a full-resolution pixel).
uniform float amplitude = 0.5; // Amplitude (The amplitude of the xy sine wave), min=0., max=1.
uniform float size = 50.; // Size (The period of the xy sine wave), min = 0., max = 200.

void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
vec2 uv = fragCoord.xy / iResolution.xy;
vec3 sinetex = vec3(0.5+0.5*amplitude*sin(fragCoord.x/(size*iRenderScale.x)),
0.5+0.5*amplitude*sin(fragCoord.y/(size*iRenderScale.y)),
0.5+0.5*sin(iGlobalTime));
fragColor = vec4(amplitude*sinetex + (1 - amplitude)*texture2D( iChannel0, uv ).xyz,1.0);
}
Image shader.

Shader Inputs:
uniform vec3 iResolution; // viewport resolution (in pixels)
uniform float iGlobalTime; // shader playback time (in seconds)
uniform float iTimeDelta; // render time (in seconds)
uniform int iFrame; // shader playback frame
uniform float iChannelTime[4]; // channel playback time (in seconds)
uniform vec3 iChannelResolution[4]; // channel resolution (in pixels)
uniform vec4 iMouse; // mouse pixel coords. xy: current (if MLB down), zw: click
uniform samplerXX iChannel0..3; // input channel. XX = 2D/Cube
uniform vec4 iDate; // (year, month, day, time in seconds)
uniform float iSampleRate; // sound sample rate (i.e., 44100)
Compile / imageShaderCompile Button   Compile the image shader.
Auto. Params / autoParams Button   Automatically set the parameters from the shader source next time image is rendered. May require clicking twice, depending on the OpenFX host. Also reset these parameters to their default value.
Reset Params Values / resetParams Button   Set all the extra parameters to their default values, as set automatically by the “Auto. Params”, or in the “Extra Parameters” group.
/ inputName0 String iChannel0  
Enable / inputEnable0 Boolean On Enable this input.
Filter / mipmap0 Choice Mipmap
Texture filter for this input.
Nearest: MIN/MAG = GL_NEAREST/GL_NEAREST
Linear: MIN/MAG = GL_LINEAR/GL_LINEAR
Mipmap: MIN/MAG = GL_LINEAR_MIPMAP_LINEAR/GL_LINEAR
Anisotropic: Mipmap with anisotropic filtering. Available with GPU if supported (check for the presence of the GL_EXT_texture_filter_anisotropic extension in the Renderer Info) and with “softpipe” CPU driver.
Wrap / wrap0 Choice Repeat
Texture wrap parameter for this input.
Repeat: WRAP_S/T = GL_REPEAT
Clamp: WRAP_S/T = GL_CLAMP_TO_EDGE
Mirror: WRAP_S/T = GL_MIRRORED_REPEAT
Label / inputLabel0 String   Label for this input in the user interface.
Hint / inputHint0 String    
/ inputName1 String iChannel1  
Enable / inputEnable1 Boolean On Enable this input.
Filter / mipmap1 Choice Mipmap
Texture filter for this input.
Nearest: MIN/MAG = GL_NEAREST/GL_NEAREST
Linear: MIN/MAG = GL_LINEAR/GL_LINEAR
Mipmap: MIN/MAG = GL_LINEAR_MIPMAP_LINEAR/GL_LINEAR
Anisotropic: Mipmap with anisotropic filtering. Available with GPU if supported (check for the presence of the GL_EXT_texture_filter_anisotropic extension in the Renderer Info) and with “softpipe” CPU driver.
Wrap / wrap1 Choice Repeat
Texture wrap parameter for this input.
Repeat: WRAP_S/T = GL_REPEAT
Clamp: WRAP_S/T = GL_CLAMP_TO_EDGE
Mirror: WRAP_S/T = GL_MIRRORED_REPEAT
Label / inputLabel1 String   Label for this input in the user interface.
Hint / inputHint1 String    
/ inputName2 String iChannel2  
Enable / inputEnable2 Boolean On Enable this input.
Filter / mipmap2 Choice Mipmap
Texture filter for this input.
Nearest: MIN/MAG = GL_NEAREST/GL_NEAREST
Linear: MIN/MAG = GL_LINEAR/GL_LINEAR
Mipmap: MIN/MAG = GL_LINEAR_MIPMAP_LINEAR/GL_LINEAR
Anisotropic: Mipmap with anisotropic filtering. Available with GPU if supported (check for the presence of the GL_EXT_texture_filter_anisotropic extension in the Renderer Info) and with “softpipe” CPU driver.
Wrap / wrap2 Choice Repeat
Texture wrap parameter for this input.
Repeat: WRAP_S/T = GL_REPEAT
Clamp: WRAP_S/T = GL_CLAMP_TO_EDGE
Mirror: WRAP_S/T = GL_MIRRORED_REPEAT
Label / inputLabel2 String   Label for this input in the user interface.
Hint / inputHint2 String    
/ inputName3 String iChannel3  
Enable / inputEnable3 Boolean On Enable this input.
Filter / mipmap3 Choice Mipmap
Texture filter for this input.
Nearest: MIN/MAG = GL_NEAREST/GL_NEAREST
Linear: MIN/MAG = GL_LINEAR/GL_LINEAR
Mipmap: MIN/MAG = GL_LINEAR_MIPMAP_LINEAR/GL_LINEAR
Anisotropic: Mipmap with anisotropic filtering. Available with GPU if supported (check for the presence of the GL_EXT_texture_filter_anisotropic extension in the Renderer Info) and with “softpipe” CPU driver.
Wrap / wrap3 Choice Repeat
Texture wrap parameter for this input.
Repeat: WRAP_S/T = GL_REPEAT
Clamp: WRAP_S/T = GL_CLAMP_TO_EDGE
Mirror: WRAP_S/T = GL_MIRRORED_REPEAT
Label / inputLabel3 String   Label for this input in the user interface.
Hint / inputHint3 String    
Output Bounding Box / bbox Choice Default
What to use to produce the output image’s bounding box. If no selected input is connected, use the project size.
Default: Default bounding box (project size).
Format: Use a pre-defined image format.
Union: Union of all connected inputs.
Intersect: Intersection of all connected inputs.
iChannel0: Bounding box of iChannel0.
iChannel1: Bounding box of iChannel1.
iChannel2: Bounding box of iChannel2.
iChannel3: Bounding box of iChannel3.
Format / NatronParamFormatChoice Choice HD 1920x1080 The output format.
Mouse Params. / mouseParams Boolean On Enable mouse parameters.
Start Date / startDate Color y: 1970 m: 0 d: 1 s: 0 The date (yyyy,mm,dd,s) corresponding to frame 0. The month starts at 0 for january, the day starts at 1, and the seconds start from 0 at midnight and should be at most 24*60*60=86400. December 28, 1895 at 10:30 would thus the be (1895,11,28,37800).
No. of Params / paramCount Integer 0 Number of extra parameters.
Type / paramType0 Choice none Type of the parameter.
Name / paramName0 String   Name of the parameter, as used in the shader.
Label / paramLabel0 String   Label of the parameter, as displayed in the user interface.
Hint / paramHint0 String   Help for the parameter.
Default0 / paramDefaultBool0 Boolean Off Default value of the parameter.
Default0 / paramDefaultInt0 Integer 0 Default value of the parameter.
Min0 / paramMinInt0 Integer -2147483648 Min value of the parameter.
Max0 / paramMaxInt0 Integer 2147483647 Max value of the parameter.
Default0 / paramDefaultFloat0 Double 0 Default value of the parameter.
Min0 / paramMinFloat0 Double -1.79769e+308 Min value of the parameter.
Max0 / paramMaxFloat0 Double 1.79769e+308 Max value of the parameter.
Default0 / paramDefaultVec20 Double x: 0 y: 0 Default value of the parameter.
Min0 / paramMinVec20 Double x: -1.79769e+308 y: -1.79769e+308 Min value of the parameter.
Max0 / paramMaxVec20 Double x: 1.79769e+308 y: 1.79769e+308 Max value of the parameter.
Default0 / paramDefaultVec30 Color r: 0 g: 0 b: 0 Default value of the parameter.
Default0 / paramDefaultVec40 Color r: 0 g: 0 b: 0 a: 0 Default value of the parameter.
Type / paramType1 Choice none Type of the parameter.
Name / paramName1 String   Name of the parameter, as used in the shader.
Label / paramLabel1 String   Label of the parameter, as displayed in the user interface.
Hint / paramHint1 String   Help for the parameter.
Default1 / paramDefaultBool1 Boolean Off Default value of the parameter.
Default1 / paramDefaultInt1 Integer 0 Default value of the parameter.
Min1 / paramMinInt1 Integer -2147483648 Min value of the parameter.
Max1 / paramMaxInt1 Integer 2147483647 Max value of the parameter.
Default1 / paramDefaultFloat1 Double 0 Default value of the parameter.
Min1 / paramMinFloat1 Double -1.79769e+308 Min value of the parameter.
Max1 / paramMaxFloat1 Double 1.79769e+308 Max value of the parameter.
Default1 / paramDefaultVec21 Double x: 0 y: 0 Default value of the parameter.
Min1 / paramMinVec21 Double x: -1.79769e+308 y: -1.79769e+308 Min value of the parameter.
Max1 / paramMaxVec21 Double x: 1.79769e+308 y: 1.79769e+308 Max value of the parameter.
Default1 / paramDefaultVec31 Color r: 0 g: 0 b: 0 Default value of the parameter.
Default1 / paramDefaultVec41 Color r: 0 g: 0 b: 0 a: 0 Default value of the parameter.
Type / paramType2 Choice none Type of the parameter.
Name / paramName2 String   Name of the parameter, as used in the shader.
Label / paramLabel2 String   Label of the parameter, as displayed in the user interface.
Hint / paramHint2 String   Help for the parameter.
Default2 / paramDefaultBool2 Boolean Off Default value of the parameter.
Default2 / paramDefaultInt2 Integer 0 Default value of the parameter.
Min2 / paramMinInt2 Integer -2147483648 Min value of the parameter.
Max2 / paramMaxInt2 Integer 2147483647 Max value of the parameter.
Default2 / paramDefaultFloat2 Double 0 Default value of the parameter.
Min2 / paramMinFloat2 Double -1.79769e+308 Min value of the parameter.
Max2 / paramMaxFloat2 Double 1.79769e+308 Max value of the parameter.
Default2 / paramDefaultVec22 Double x: 0 y: 0 Default value of the parameter.
Min2 / paramMinVec22 Double x: -1.79769e+308 y: -1.79769e+308 Min value of the parameter.
Max2 / paramMaxVec22 Double x: 1.79769e+308 y: 1.79769e+308 Max value of the parameter.
Default2 / paramDefaultVec32 Color r: 0 g: 0 b: 0 Default value of the parameter.
Default2 / paramDefaultVec42 Color r: 0 g: 0 b: 0 a: 0 Default value of the parameter.
Type / paramType3 Choice none Type of the parameter.
Name / paramName3 String   Name of the parameter, as used in the shader.
Label / paramLabel3 String   Label of the parameter, as displayed in the user interface.
Hint / paramHint3 String   Help for the parameter.
Default3 / paramDefaultBool3 Boolean Off Default value of the parameter.
Default3 / paramDefaultInt3 Integer 0 Default value of the parameter.
Min3 / paramMinInt3 Integer -2147483648 Min value of the parameter.
Max3 / paramMaxInt3 Integer 2147483647 Max value of the parameter.
Default3 / paramDefaultFloat3 Double 0 Default value of the parameter.
Min3 / paramMinFloat3 Double -1.79769e+308 Min value of the parameter.
Max3 / paramMaxFloat3 Double 1.79769e+308 Max value of the parameter.
Default3 / paramDefaultVec23 Double x: 0 y: 0 Default value of the parameter.
Min3 / paramMinVec23 Double x: -1.79769e+308 y: -1.79769e+308 Min value of the parameter.
Max3 / paramMaxVec23 Double x: 1.79769e+308 y: 1.79769e+308 Max value of the parameter.
Default3 / paramDefaultVec33 Color r: 0 g: 0 b: 0 Default value of the parameter.
Default3 / paramDefaultVec43 Color r: 0 g: 0 b: 0 a: 0 Default value of the parameter.
Type / paramType4 Choice none Type of the parameter.
Name / paramName4 String   Name of the parameter, as used in the shader.
Label / paramLabel4 String   Label of the parameter, as displayed in the user interface.
Hint / paramHint4 String   Help for the parameter.
Default4 / paramDefaultBool4 Boolean Off Default value of the parameter.
Default4 / paramDefaultInt4 Integer 0 Default value of the parameter.
Min4 / paramMinInt4 Integer -2147483648 Min value of the parameter.
Max4 / paramMaxInt4 Integer 2147483647 Max value of the parameter.
Default4 / paramDefaultFloat4 Double 0 Default value of the parameter.
Min4 / paramMinFloat4 Double -1.79769e+308 Min value of the parameter.
Max4 / paramMaxFloat4 Double 1.79769e+308 Max value of the parameter.
Default4 / paramDefaultVec24 Double x: 0 y: 0 Default value of the parameter.
Min4 / paramMinVec24 Double x: -1.79769e+308 y: -1.79769e+308 Min value of the parameter.
Max4 / paramMaxVec24 Double x: 1.79769e+308 y: 1.79769e+308 Max value of the parameter.
Default4 / paramDefaultVec34 Color r: 0 g: 0 b: 0 Default value of the parameter.
Default4 / paramDefaultVec44 Color r: 0 g: 0 b: 0 a: 0 Default value of the parameter.
Type / paramType5 Choice none Type of the parameter.
Name / paramName5 String   Name of the parameter, as used in the shader.
Label / paramLabel5 String   Label of the parameter, as displayed in the user interface.
Hint / paramHint5 String   Help for the parameter.
Default5 / paramDefaultBool5 Boolean Off Default value of the parameter.
Default5 / paramDefaultInt5 Integer 0 Default value of the parameter.
Min5 / paramMinInt5 Integer -2147483648 Min value of the parameter.
Max5 / paramMaxInt5 Integer 2147483647 Max value of the parameter.
Default5 / paramDefaultFloat5 Double 0 Default value of the parameter.
Min5 / paramMinFloat5 Double -1.79769e+308 Min value of the parameter.
Max5 / paramMaxFloat5 Double 1.79769e+308 Max value of the parameter.
Default5 / paramDefaultVec25 Double x: 0 y: 0 Default value of the parameter.
Min5 / paramMinVec25 Double x: -1.79769e+308 y: -1.79769e+308 Min value of the parameter.
Max5 / paramMaxVec25 Double x: 1.79769e+308 y: 1.79769e+308 Max value of the parameter.
Default5 / paramDefaultVec35 Color r: 0 g: 0 b: 0 Default value of the parameter.
Default5 / paramDefaultVec45 Color r: 0 g: 0 b: 0 a: 0 Default value of the parameter.
Type / paramType6 Choice none Type of the parameter.
Name / paramName6 String   Name of the parameter, as used in the shader.
Label / paramLabel6 String   Label of the parameter, as displayed in the user interface.
Hint / paramHint6 String   Help for the parameter.
Default6 / paramDefaultBool6 Boolean Off Default value of the parameter.
Default6 / paramDefaultInt6 Integer 0 Default value of the parameter.
Min6 / paramMinInt6 Integer -2147483648 Min value of the parameter.
Max6 / paramMaxInt6 Integer 2147483647 Max value of the parameter.
Default6 / paramDefaultFloat6 Double 0 Default value of the parameter.
Min6 / paramMinFloat6 Double -1.79769e+308 Min value of the parameter.
Max6 / paramMaxFloat6 Double 1.79769e+308 Max value of the parameter.
Default6 / paramDefaultVec26 Double x: 0 y: 0 Default value of the parameter.
Min6 / paramMinVec26 Double x: -1.79769e+308 y: -1.79769e+308 Min value of the parameter.
Max6 / paramMaxVec26 Double x: 1.79769e+308 y: 1.79769e+308 Max value of the parameter.
Default6 / paramDefaultVec36 Color r: 0 g: 0 b: 0 Default value of the parameter.
Default6 / paramDefaultVec46 Color r: 0 g: 0 b: 0 a: 0 Default value of the parameter.
Enable GPU Render / enableGPU Boolean On
Enable GPU-based OpenGL render.
If the checkbox is checked but is not enabled (i.e. it cannot be unchecked), GPU render can not be enabled or disabled from the plugin and is probably part of the host options.
If the checkbox is not checked and is not enabled (i.e. it cannot be checked), GPU render is not available on this host.
CPU Driver / cpuDriver Choice llvmpipe Driver for CPU rendering. May be “softpipe” (slower, has GL_EXT_texture_filter_anisotropic GL_ARB_texture_query_lod GL_ARB_pipeline_statistics_query), “llvmpipe” (faster, has GL_ARB_buffer_storage GL_EXT_polygon_offset_clamp) or “swr” (OpenSWR, not always available).
Renderer Info... / rendererInfo Button   Retrieve information about the current OpenGL renderer.
Help... / helpButton Button   Display help about using Shadertoy.