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 withconst vec2 iRenderScale
is ignored (the full line should beconst 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 exactlymin=
andmax=
, 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
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-RB-2.2-201707041230-092377b.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-RB-2.2-201707041230-092377b.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. |