Shadertoy node — Natron 2.5.0 documentation

# Shadertoy node

This documentation is for version 1.0 of Shadertoy (net.sf.openfx.Shadertoy).

## Description

Apply a Shadertoy fragment shader.

This plugin implements Shadertoy 0.8.8, but multipass shaders and sound are not supported. Some multipass shaders can still be implemented by chaining several Shadertoy nodes, one for each pass.

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 responsibility 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 | iTime | 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
vec2 | iChannelOffset[4] | image | Input texture offset in pixel coords 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

Shadertoy was extended to:

- Expose shader parameters as uniforms, which are presented as OpenFX parameters.

- Provide the description and help for these parameters directly in the GLSL code.

- Add a default uniform containing the render scale. In OpenFX, a render scale of 1 means that the image is rendered at full resolution, 0.5 at half resolution, etc. This can be used to scale parameter values so that the final aspect does not depend on the render scale. For example, a blur size parameter given in pixels at full resolution would have to be multiplied by the render scale.

- Add a default uniform containing the offset of the processed texture with respect to the position of the origin.

The extensions are:

- 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 pre-defined `iChannelOffset` uniform contains the texture offset for each channel relative to channel 0. For compatibility with Shadertoy, the first line that starts with `const vec2 iChannelOffset` is ignored (the full line should be `const vec2 iChannelOffset[4] = vec2[4]( vec2(0.,0.), vec2(0.,0.), vec2(0.,0.), vec2(0.,0.) );`).

- 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 (automatic parameters are only updated if the node is connected to a Viewer). 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 bounding box (possible values are Default, Union, Intersection, and iChannel0 to iChannel3): `// BBox: iChannel0`

### Converting a Shadertoy for use in OpenFX

To better understand how to modify a Shadertoy for OpenFX, let use take the simple Gaussian blur example, which is also available as a preset in the Shadertoy node.

In Natron, create a new project, create a Shadertoy node, connect the input 1 of the Viewer to the output of the Shadertoy node. This should give you a blurry color image that corresponds to the default Shadertoy source code. The Shadertoy node should have four inputs, named “iChannel0” to “iChannel3”.

In the Shadertoy node parameters, open the “Image Shader” group. You should see the GLSL source code. Now in the “Load from Preset” choice, select “Blur/Gaussian Blur”. The viewer should display a black image, but you should also notice that the Shadertoy node now has two visible inputs: “Source” and “Modulate” (in Nuke, these inputs are still called iChannel0 and iChannel1). Create a Read node that reads a still image or a video, and connect it to the “Source” input. A blurred version of the image should now appear in the viewer. You should also notice that two parameters appeared at the top of the parameters for the Shadertoy node: “Size” and “Modulate”. Play with the “Size” parameter and see how it affects the blur size (you may have to zoom on the image to see precisely the effect).

Now let us examine the modifications that were brought to the original GLSL code:

These three comment lines describe the label, filter, and wrap parameters for each input, as well as the size of the output bounding box (also called “region of definition”):

    // iChannel0: Source, filter=linear, wrap=clamp
    // iChannel1: Modulate (Image containing a factor to be applied to the Blur size in the first channel), filter=linear, wrap=clamp
    // BBox: iChannel0

Two constant global variables were added, which are ignored by the Shadertoy plugin, so that you can still copy-and-paste the source code in Shadertoy 0.8.8 and it still works (unfortunately, it does not work anymore with later versions of Shadertoy). You can safely ignore these:

    const vec2 iRenderScale = vec2(1.,1.);
    const vec2 iChannelOffset[4] = vec2[4]( vec2(0.,0.), vec2(0.,0.), vec2(0.,0.), vec2(0.,0.) );

Then the uniform section gives the list of what will appear as OpenFX parameters, together with their default value, label, help string, and default range. Note that in the original Shadertoy code, the blur size was a constant hidden inside the code. Finding out the parameters of a Shadertoy requires precise code inspection. If you modify this part of the code, pressing the “Auto. Params” button will apply these changes to the OpenFX parameters:

    uniform float size = 10.; // Size (Size of the filter kernel in pixel units. The standard deviation of the corresponding Gaussian is size/2.4.), min=0., max=21.
    uniform bool perpixel_size = false; // Modulate (Modulate the blur size by multiplying it by the first channel of the Modulate input)

In the `mainImage` function, which does the processing, we compute the `mSize` and `kSize` variables, which are the kernel size and mask size for that particular algorithm, from the “Size” parameter, multiplied by the render scale to get a scale-invariant effect. If the “Modulate” check box is on, we also multiply the size by the value found in the first channel (which is red, not alpha) of the “Modulate” input, which is in the iChannel1 texture according to the comments at the beginning of the source code. This can be use to modulate the blur size depending on the position in the image. The “Modulate” input may be for example connected to the output of a Roto node (with the “R” checkbox checked in the Roto node). Since the Roto output may not have the same size and origin as the Source image, we take care of these by using the iChannelOffset and iChannelResolution values for input 1.

    float fSize = size * iRenderScale.x;
    if (perpixel_size) {
      fSize *= texture2D(iChannel1, (fragCoord.xy-iChannelOffset[1].xy)/iChannelResolution[1].xy).x;
    }
    int kSize = int(min(int((fSize-1)/2), KSIZE_MAX));
    int mSize = kSize*2+1;

In the rest of the code, the only difference is that the blur size is not constant and equal to 7, but comes from the fSize variable:

    float sigma = fSize / 2.4;

### Issues with Gamma correction

OpenGL processing supposes all textures are linear, i.e. not gamma-compressed. This for example about bilinear interpolation on textures: this only works if the intensities are represented linearly. So a proper OpenGL rendering pipe should in principle:

1. Convert all textures to a linear representation (many 8-bit textures are gamma-compressed)

2. Render with OpenGL

3. Gamma-compress the linear framebuffer for display

When processing floating-point buffers in OpenFX, the color representation is usually linear, which means that the OpenFX host usually performs steps 1 and 3 anyway (that includes Natron and Nuke): the images given to an OpenFX plugins are in linear color space, and their output is also supposed to be linear.

However, many OpenGL applications, including Shadertoy and most games, skip steps 1 and 3 (mainly for performance issue): they process gamma-compressed textures as if they were linear, and sometimes have to boost their output by gamma compression so that it looks nice on a standard display (which usually accepts a sRGB-compressed framebuffer).

This is why many shaders from Shadertoy convert their output from linear to sRGB or gamma=2.2, see for example the `srgb2lin` and `lin2srgb` functions in https://www.shadertoy.com/view/XsfXzf . These conversions must be removed when using the shader in OpenFX.

An alternative solution would be to convert all Shadertoy inputs from linear to sRGB, and convert back all outputs to linear, either inside the Shadertoy node, or using external conversion nodes (such as OCIOColorSpace). But this is a bad option, because this adds useless processing. Removing the srgb2lin and lin2srgb conversions from the shader source is a much better option (these functions may have different names, or there may simply be operations line `pow(c,vec3(2.2))` and/or `pow(c,vec3(1./2.2))` in the GLSL code).

As an example, take a look at the changes made to the Barrel Blur Chroma Shadertoy: the OpenFX version is available as a preset in the Shadertoy node as “Effects/Barrel Blur Chroma”. When it was converted to OpenFX, all gamma compression and decompression operations were identified and removed.

### Multipass shaders

Most multipass shaders (those using BufA, BufB, BufC, or BufD) can be implemented using the Shadertoy plugin.

The shader sources for two sample multipass shadertoys are available as Natron PyPlugs (but the shader sources are also available separately next to the PyPlugs if you want to use these in another OpenFX host:

- a 3-pass circular bokeh blur (available as Community/GLSL/BokehCircular_GL in natron-plugins)

- a 4-pass octagonal bokeh blur (available as Community/GLSL/BokehOctagon_GL in natron-plugins)

The principle is very simple: since multipass cannot be done using a single Shadertoy, use several Shadertoy nodes, route the textures between them, and link the parameters. You can learn from these two examples. To figure out the route between textures, click on the tab for each shader in shadertoy.com, and check which shader output is connected to the input textures (iChannel0, etc.) for this shader. The connections between nodes should follow these rules.

The only multipass effects that can not be implemented are the shaders that read back the content of a buffer to compute that same buffer, because compositing graphs cannot have loops (the execution of such a graph would cause an infinite recursion). One example is this progressive lightmap render, where BufB from the previous render is read back as iChannel1 in the BufB shader.

### Default textures and videos

The default shadertoy textures and videos are available 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.

- Textures: tex00, tex01, tex02, tex03, tex04, tex05, tex06, tex07, tex08, tex09, tex10, tex11, tex12, tex14, tex15, tex16, tex17, tex18, tex19, tex20, tex21.

- Videos: vid00, vid01, vid02, vid03.

- Cubemaps: cube00_0, cube01_0, cube02_0, cube03_0, cube04_0, cube05

## 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.
Value7 / `paramValueBool7` | Boolean | Off | Value of the parameter.
Value7 / `paramValueInt7` | Integer | 0 | Value of the parameter.
Value7 / `paramValueFloat7` | Double | 0 | Value of the parameter.
Value7 / `paramValueVec27` | Double | x: 0 y: 0 | Value of the parameter.
Value7 / `paramValueVec37` | Color | r: 0 g: 0 b: 0 | Value of the parameter.
Value7 / `paramValueVec47` | Color | r: 0 g: 0 b: 0 a: 0 | Value of the parameter.
Value8 / `paramValueBool8` | Boolean | Off | Value of the parameter.
Value8 / `paramValueInt8` | Integer | 0 | Value of the parameter.
Value8 / `paramValueFloat8` | Double | 0 | Value of the parameter.
Value8 / `paramValueVec28` | Double | x: 0 y: 0 | Value of the parameter.
Value8 / `paramValueVec38` | Color | r: 0 g: 0 b: 0 | Value of the parameter.
Value8 / `paramValueVec48` | Color | r: 0 g: 0 b: 0 a: 0 | Value of the parameter.
Value9 / `paramValueBool9` | Boolean | Off | Value of the parameter.
Value9 / `paramValueInt9` | Integer | 0 | Value of the parameter.
Value9 / `paramValueFloat9` | Double | 0 | Value of the parameter.
Value9 / `paramValueVec29` | Double | x: 0 y: 0 | Value of the parameter.
Value9 / `paramValueVec39` | Color | r: 0 g: 0 b: 0 | Value of the parameter.
Value9 / `paramValueVec49` | Color | r: 0 g: 0 b: 0 a: 0 | Value of the parameter.
Value10 / `paramValueBool10` | Boolean | Off | Value of the parameter.
Value10 / `paramValueInt10` | Integer | 0 | Value of the parameter.
Value10 / `paramValueFloat10` | Double | 0 | Value of the parameter.
Value10 / `paramValueVec210` | Double | x: 0 y: 0 | Value of the parameter.
Value10 / `paramValueVec310` | Color | r: 0 g: 0 b: 0 | Value of the parameter.
Value10 / `paramValueVec410` | Color | r: 0 g: 0 b: 0 a: 0 | Value of the parameter.
Value11 / `paramValueBool11` | Boolean | Off | Value of the parameter.
Value11 / `paramValueInt11` | Integer | 0 | Value of the parameter.
Value11 / `paramValueFloat11` | Double | 0 | Value of the parameter.
Value11 / `paramValueVec211` | Double | x: 0 y: 0 | Value of the parameter.
Value11 / `paramValueVec311` | Color | r: 0 g: 0 b: 0 | Value of the parameter.
Value11 / `paramValueVec411` | Color | r: 0 g: 0 b: 0 a: 0 | Value of the parameter.
Value12 / `paramValueBool12` | Boolean | Off | Value of the parameter.
Value12 / `paramValueInt12` | Integer | 0 | Value of the parameter.
Value12 / `paramValueFloat12` | Double | 0 | Value of the parameter.
Value12 / `paramValueVec212` | Double | x: 0 y: 0 | Value of the parameter.
Value12 / `paramValueVec312` | Color | r: 0 g: 0 b: 0 | Value of the parameter.
Value12 / `paramValueVec412` | Color | r: 0 g: 0 b: 0 a: 0 | Value of the parameter.
Value13 / `paramValueBool13` | Boolean | Off | Value of the parameter.
Value13 / `paramValueInt13` | Integer | 0 | Value of the parameter.
Value13 / `paramValueFloat13` | Double | 0 | Value of the parameter.
Value13 / `paramValueVec213` | Double | x: 0 y: 0 | Value of the parameter.
Value13 / `paramValueVec313` | Color | r: 0 g: 0 b: 0 | Value of the parameter.
Value13 / `paramValueVec413` | Color | r: 0 g: 0 b: 0 a: 0 | Value of the parameter.
Value14 / `paramValueBool14` | Boolean | Off | Value of the parameter.
Value14 / `paramValueInt14` | Integer | 0 | Value of the parameter.
Value14 / `paramValueFloat14` | Double | 0 | Value of the parameter.
Value14 / `paramValueVec214` | Double | x: 0 y: 0 | Value of the parameter.
Value14 / `paramValueVec314` | Color | r: 0 g: 0 b: 0 | Value of the parameter.
Value14 / `paramValueVec414` | Color | r: 0 g: 0 b: 0 a: 0 | Value of the parameter.
Value15 / `paramValueBool15` | Boolean | Off | Value of the parameter.
Value15 / `paramValueInt15` | Integer | 0 | Value of the parameter.
Value15 / `paramValueFloat15` | Double | 0 | Value of the parameter.
Value15 / `paramValueVec215` | Double | x: 0 y: 0 | Value of the parameter.
Value15 / `paramValueVec315` | Color | r: 0 g: 0 b: 0 | Value of the parameter.
Value15 / `paramValueVec415` | Color | r: 0 g: 0 b: 0 a: 0 | Value of the parameter.
Value16 / `paramValueBool16` | Boolean | Off | Value of the parameter.
Value16 / `paramValueInt16` | Integer | 0 | Value of the parameter.
Value16 / `paramValueFloat16` | Double | 0 | Value of the parameter.
Value16 / `paramValueVec216` | Double | x: 0 y: 0 | Value of the parameter.
Value16 / `paramValueVec316` | Color | r: 0 g: 0 b: 0 | Value of the parameter.
Value16 / `paramValueVec416` | Color | r: 0 g: 0 b: 0 a: 0 | Value of the parameter.
Value17 / `paramValueBool17` | Boolean | Off | Value of the parameter.
Value17 / `paramValueInt17` | Integer | 0 | Value of the parameter.
Value17 / `paramValueFloat17` | Double | 0 | Value of the parameter.
Value17 / `paramValueVec217` | Double | x: 0 y: 0 | Value of the parameter.
Value17 / `paramValueVec317` | Color | r: 0 g: 0 b: 0 | Value of the parameter.
Value17 / `paramValueVec417` | Color | r: 0 g: 0 b: 0 a: 0 | Value of the parameter.
Value18 / `paramValueBool18` | Boolean | Off | Value of the parameter.
Value18 / `paramValueInt18` | Integer | 0 | Value of the parameter.
Value18 / `paramValueFloat18` | Double | 0 | Value of the parameter.
Value18 / `paramValueVec218` | Double | x: 0 y: 0 | Value of the parameter.
Value18 / `paramValueVec318` | Color | r: 0 g: 0 b: 0 | Value of the parameter.
Value18 / `paramValueVec418` | Color | r: 0 g: 0 b: 0 a: 0 | Value of the parameter.
Value19 / `paramValueBool19` | Boolean | Off | Value of the parameter.
Value19 / `paramValueInt19` | Integer | 0 | Value of the parameter.
Value19 / `paramValueFloat19` | Double | 0 | Value of the parameter.
Value19 / `paramValueVec219` | Double | x: 0 y: 0 | Value of the parameter.
Value19 / `paramValueVec319` | Color | r: 0 g: 0 b: 0 | Value of the parameter.
Value19 / `paramValueVec419` | 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. No preset Blur/Bilateral Blur/Bloom Blur/Bokeh Disc Blur/Circular Blur Blur/Fast Blur Blur/Gaussian Blur Blur/HDR Bloom Blur/Mipmap Blur Blur/Monte-Carlo Blur Blur/Poisson Disc Blur/Simple Radial Blur Effect/Anaglyphic Effect/Ball Effect/Barrel Blur Chroma Effect/Bloom Paint Effect/C64 Effect/Chromatic Aberration Effect/CMYK Halftone Effect/CRT Effect/DawnBringer 4bit Effect/Film Grain Effect/Fisheye Effect/Glitch 01 Effect/Glitch 02 Effect/Glitch A Effect/Glitch B Effect/Image Cel Shade Effect/Kaleidoscope Effect/Median Filter Effect/Money Filter Effect/Noisy Distortion Effect/Old Video Effect/Quad Mirror Effect/Postprocessing Effect/Q*Bert-ify Effect/Sharpen Effect/Stripes Effect/TV Snow Effect/Van Gogh Effect/Vignette Merge/MergeOver Merge/MergePlus Merge/MergeMatte Merge/MergeMultiply Merge/MergeIn Merge/MergeOut Merge/MergeMax Merge/MergeMin Merge/MergeAbsminus Merge/MergeScreen Noise Blur Notebook Drawings Plasma2 Source/Bleepy Blocks Source/Bubbles Source/Cellular Source/Cloud Source/Cloudy Sky Source/Color Grid Source/Coloured Circles Source/Deform Flower Source/Disks Source/Dot Dot Dot Source/Fireball Source/Fireball2 Source/Flaring Source/Flash Source/Fractal/Basic Fractal Source/Fractal/Fractal Tiling Source/Fractal/Juliasm Source/Fractal/Julia Bulb Source/Fractal/Julia Trap Source/Fractal/Mandelbrot Distance Source/Fractal/Mandelbrot Orbit Trap Source/Glowing Thing Source/Infinite Fall Source/Input Time Source/Interstellar Source/Interweaving Sine bands Source/Iterations/Guts Source/Iterations/Inversion Source/Iterations/Shiny Source/Iterations/Trigonometric Source/Iterations/Worms Source/Lens Flare Source/Noise Source/Noise Animation Electric Source/Noise Animation Lava Source/Noise Animation Watery Source/Plasma Triangle Source/Seascape Source/Silexars Creation Source/Simple Fire Source/Sky at Night Source/Spiral Source/Star Nest Source/Venus Source/Voronoi Source/Warping/Procedural 1 Source/Warping/Procedural 2 Source/Warping/Procedural 3 Source/Warping/Procedural 4 Source/Water Caustic Source/Worley Noise Waters Star Tunnel Warping/Warp Warping/Texture
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(iTime)); 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 iTime; // 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 vec2 iChannelOffset[4]; // channel texture offset relative to iChannel0 (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.
Enable / `inputEnable0` | Boolean | On | Enable this input.
Filter / `mipmap0` | Choice | Mipmap | Texture filter for this input. Nearest (nearest): MIN/MAG = GL_NEAREST/GL_NEAREST Linear (linear): MIN/MAG = GL_LINEAR/GL_LINEAR Mipmap (mipmap): MIN/MAG = GL_LINEAR_MIPMAP_LINEAR/GL_LINEAR Anisotropic (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 (repeat): WRAP_S/T = GL_REPEAT Clamp (clamp): WRAP_S/T = GL_CLAMP_TO_EDGE Mirror (mirror): WRAP_S/T = GL_MIRRORED_REPEAT
Label / `inputLabel0` | String |  | Label for this input in the user interface.
Hint / `inputHint0` | String |  |
Enable / `inputEnable1` | Boolean | On | Enable this input.
Filter / `mipmap1` | Choice | Mipmap | Texture filter for this input. Nearest (nearest): MIN/MAG = GL_NEAREST/GL_NEAREST Linear (linear): MIN/MAG = GL_LINEAR/GL_LINEAR Mipmap (mipmap): MIN/MAG = GL_LINEAR_MIPMAP_LINEAR/GL_LINEAR Anisotropic (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 (repeat): WRAP_S/T = GL_REPEAT Clamp (clamp): WRAP_S/T = GL_CLAMP_TO_EDGE Mirror (mirror): WRAP_S/T = GL_MIRRORED_REPEAT
Label / `inputLabel1` | String |  | Label for this input in the user interface.
Hint / `inputHint1` | String |  |
Enable / `inputEnable2` | Boolean | On | Enable this input.
Filter / `mipmap2` | Choice | Mipmap | Texture filter for this input. Nearest (nearest): MIN/MAG = GL_NEAREST/GL_NEAREST Linear (linear): MIN/MAG = GL_LINEAR/GL_LINEAR Mipmap (mipmap): MIN/MAG = GL_LINEAR_MIPMAP_LINEAR/GL_LINEAR Anisotropic (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 (repeat): WRAP_S/T = GL_REPEAT Clamp (clamp): WRAP_S/T = GL_CLAMP_TO_EDGE Mirror (mirror): WRAP_S/T = GL_MIRRORED_REPEAT
Label / `inputLabel2` | String |  | Label for this input in the user interface.
Hint / `inputHint2` | String |  |
Enable / `inputEnable3` | Boolean | On | Enable this input.
Filter / `mipmap3` | Choice | Mipmap | Texture filter for this input. Nearest (nearest): MIN/MAG = GL_NEAREST/GL_NEAREST Linear (linear): MIN/MAG = GL_LINEAR/GL_LINEAR Mipmap (mipmap): MIN/MAG = GL_LINEAR_MIPMAP_LINEAR/GL_LINEAR Anisotropic (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 (repeat): WRAP_S/T = GL_REPEAT Clamp (clamp): WRAP_S/T = GL_CLAMP_TO_EDGE Mirror (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): Default bounding box (project size). Format (format): Use a pre-defined image format. Union (union): Union of all connected inputs. Intersect (intersection): 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. PC_Video 640x480 (PC_Video) NTSC 720x486 0.91 (NTSC) PAL 720x576 1.09 (PAL) NTSC_16:9 720x486 1.21 (NTSC_16:9) PAL_16:9 720x576 1.46 (PAL_16:9) HD_720 1280x720 (HD_720) HD 1920x1080 (HD) UHD_4K 3840x2160 (UHD_4K) 1K_Super_35(full-ap) 1024x778 (1K_Super_35(full-ap)) 1K_Cinemascope 914x778 2.00 (1K_Cinemascope) 2K_Super_35(full-ap) 2048x1556 (2K_Super_35(full-ap)) 2K_Cinemascope 1828x1556 2.00 (2K_Cinemascope) 2K_DCP 2048x1080 (2K_DCP) 4K_Super_35(full-ap) 4096x3112 (4K_Super_35(full-ap)) 4K_Cinemascope 3656x3112 2.00 (4K_Cinemascope) 4K_DCP 4096x2160 (4K_DCP) square_256 256x256 (square_256) square_512 512x512 (square_512) square_1K 1024x1024 (square_1K) square_2K 2048x2048 (square_2K)
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. none: No parameter. bool: Boolean parameter (checkbox). int: Integer parameter. float: Floating-point parameter. vec2: 2D floating-point parameter (e.g. position). vec3: 3D floating-point parameter (e.g. 3D position or RGB color). vec4: 4D floating-point parameter (e.g. RGBA color).
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. none: No parameter. bool: Boolean parameter (checkbox). int: Integer parameter. float: Floating-point parameter. vec2: 2D floating-point parameter (e.g. position). vec3: 3D floating-point parameter (e.g. 3D position or RGB color). vec4: 4D floating-point parameter (e.g. RGBA color).
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. none: No parameter. bool: Boolean parameter (checkbox). int: Integer parameter. float: Floating-point parameter. vec2: 2D floating-point parameter (e.g. position). vec3: 3D floating-point parameter (e.g. 3D position or RGB color). vec4: 4D floating-point parameter (e.g. RGBA color).
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. none: No parameter. bool: Boolean parameter (checkbox). int: Integer parameter. float: Floating-point parameter. vec2: 2D floating-point parameter (e.g. position). vec3: 3D floating-point parameter (e.g. 3D position or RGB color). vec4: 4D floating-point parameter (e.g. RGBA color).
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. none: No parameter. bool: Boolean parameter (checkbox). int: Integer parameter. float: Floating-point parameter. vec2: 2D floating-point parameter (e.g. position). vec3: 3D floating-point parameter (e.g. 3D position or RGB color). vec4: 4D floating-point parameter (e.g. RGBA color).
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. none: No parameter. bool: Boolean parameter (checkbox). int: Integer parameter. float: Floating-point parameter. vec2: 2D floating-point parameter (e.g. position). vec3: 3D floating-point parameter (e.g. 3D position or RGB color). vec4: 4D floating-point parameter (e.g. RGBA color).
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. none: No parameter. bool: Boolean parameter (checkbox). int: Integer parameter. float: Floating-point parameter. vec2: 2D floating-point parameter (e.g. position). vec3: 3D floating-point parameter (e.g. 3D position or RGB color). vec4: 4D floating-point parameter (e.g. RGBA color).
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.
Type / `paramType7` | Choice | none | Type of the parameter. none: No parameter. bool: Boolean parameter (checkbox). int: Integer parameter. float: Floating-point parameter. vec2: 2D floating-point parameter (e.g. position). vec3: 3D floating-point parameter (e.g. 3D position or RGB color). vec4: 4D floating-point parameter (e.g. RGBA color).
Name / `paramName7` | String |  | Name of the parameter, as used in the shader.
Label / `paramLabel7` | String |  | Label of the parameter, as displayed in the user interface.
Hint / `paramHint7` | String |  | Help for the parameter.
Default7 / `paramDefaultBool7` | Boolean | Off | Default value of the parameter.
Default7 / `paramDefaultInt7` | Integer | 0 | Default value of the parameter.
Min7 / `paramMinInt7` | Integer | -2147483648 | Min value of the parameter.
Max7 / `paramMaxInt7` | Integer | 2147483647 | Max value of the parameter.
Default7 / `paramDefaultFloat7` | Double | 0 | Default value of the parameter.
Min7 / `paramMinFloat7` | Double | -1.79769e+308 | Min value of the parameter.
Max7 / `paramMaxFloat7` | Double | 1.79769e+308 | Max value of the parameter.
Default7 / `paramDefaultVec27` | Double | x: 0 y: 0 | Default value of the parameter.
Min7 / `paramMinVec27` | Double | x: -1.79769e+308 y: -1.79769e+308 | Min value of the parameter.
Max7 / `paramMaxVec27` | Double | x: 1.79769e+308 y: 1.79769e+308 | Max value of the parameter.
Default7 / `paramDefaultVec37` | Color | r: 0 g: 0 b: 0 | Default value of the parameter.
Default7 / `paramDefaultVec47` | Color | r: 0 g: 0 b: 0 a: 0 | Default value of the parameter.
Type / `paramType8` | Choice | none | Type of the parameter. none: No parameter. bool: Boolean parameter (checkbox). int: Integer parameter. float: Floating-point parameter. vec2: 2D floating-point parameter (e.g. position). vec3: 3D floating-point parameter (e.g. 3D position or RGB color). vec4: 4D floating-point parameter (e.g. RGBA color).
Name / `paramName8` | String |  | Name of the parameter, as used in the shader.
Label / `paramLabel8` | String |  | Label of the parameter, as displayed in the user interface.
Hint / `paramHint8` | String |  | Help for the parameter.
Default8 / `paramDefaultBool8` | Boolean | Off | Default value of the parameter.
Default8 / `paramDefaultInt8` | Integer | 0 | Default value of the parameter.
Min8 / `paramMinInt8` | Integer | -2147483648 | Min value of the parameter.
Max8 / `paramMaxInt8` | Integer | 2147483647 | Max value of the parameter.
Default8 / `paramDefaultFloat8` | Double | 0 | Default value of the parameter.
Min8 / `paramMinFloat8` | Double | -1.79769e+308 | Min value of the parameter.
Max8 / `paramMaxFloat8` | Double | 1.79769e+308 | Max value of the parameter.
Default8 / `paramDefaultVec28` | Double | x: 0 y: 0 | Default value of the parameter.
Min8 / `paramMinVec28` | Double | x: -1.79769e+308 y: -1.79769e+308 | Min value of the parameter.
Max8 / `paramMaxVec28` | Double | x: 1.79769e+308 y: 1.79769e+308 | Max value of the parameter.
Default8 / `paramDefaultVec38` | Color | r: 0 g: 0 b: 0 | Default value of the parameter.
Default8 / `paramDefaultVec48` | Color | r: 0 g: 0 b: 0 a: 0 | Default value of the parameter.
Type / `paramType9` | Choice | none | Type of the parameter. none: No parameter. bool: Boolean parameter (checkbox). int: Integer parameter. float: Floating-point parameter. vec2: 2D floating-point parameter (e.g. position). vec3: 3D floating-point parameter (e.g. 3D position or RGB color). vec4: 4D floating-point parameter (e.g. RGBA color).
Name / `paramName9` | String |  | Name of the parameter, as used in the shader.
Label / `paramLabel9` | String |  | Label of the parameter, as displayed in the user interface.
Hint / `paramHint9` | String |  | Help for the parameter.
Default9 / `paramDefaultBool9` | Boolean | Off | Default value of the parameter.
Default9 / `paramDefaultInt9` | Integer | 0 | Default value of the parameter.
Min9 / `paramMinInt9` | Integer | -2147483648 | Min value of the parameter.
Max9 / `paramMaxInt9` | Integer | 2147483647 | Max value of the parameter.
Default9 / `paramDefaultFloat9` | Double | 0 | Default value of the parameter.
Min9 / `paramMinFloat9` | Double | -1.79769e+308 | Min value of the parameter.
Max9 / `paramMaxFloat9` | Double | 1.79769e+308 | Max value of the parameter.
Default9 / `paramDefaultVec29` | Double | x: 0 y: 0 | Default value of the parameter.
Min9 / `paramMinVec29` | Double | x: -1.79769e+308 y: -1.79769e+308 | Min value of the parameter.
Max9 / `paramMaxVec29` | Double | x: 1.79769e+308 y: 1.79769e+308 | Max value of the parameter.
Default9 / `paramDefaultVec39` | Color | r: 0 g: 0 b: 0 | Default value of the parameter.
Default9 / `paramDefaultVec49` | Color | r: 0 g: 0 b: 0 a: 0 | Default value of the parameter.
Type / `paramType10` | Choice | none | Type of the parameter. none: No parameter. bool: Boolean parameter (checkbox). int: Integer parameter. float: Floating-point parameter. vec2: 2D floating-point parameter (e.g. position). vec3: 3D floating-point parameter (e.g. 3D position or RGB color). vec4: 4D floating-point parameter (e.g. RGBA color).
Name / `paramName10` | String |  | Name of the parameter, as used in the shader.
Label / `paramLabel10` | String |  | Label of the parameter, as displayed in the user interface.
Hint / `paramHint10` | String |  | Help for the parameter.
Default10 / `paramDefaultBool10` | Boolean | Off | Default value of the parameter.
Default10 / `paramDefaultInt10` | Integer | 0 | Default value of the parameter.
Min10 / `paramMinInt10` | Integer | -2147483648 | Min value of the parameter.
Max10 / `paramMaxInt10` | Integer | 2147483647 | Max value of the parameter.
Default10 / `paramDefaultFloat10` | Double | 0 | Default value of the parameter.
Min10 / `paramMinFloat10` | Double | -1.79769e+308 | Min value of the parameter.
Max10 / `paramMaxFloat10` | Double | 1.79769e+308 | Max value of the parameter.
Default10 / `paramDefaultVec210` | Double | x: 0 y: 0 | Default value of the parameter.
Min10 / `paramMinVec210` | Double | x: -1.79769e+308 y: -1.79769e+308 | Min value of the parameter.
Max10 / `paramMaxVec210` | Double | x: 1.79769e+308 y: 1.79769e+308 | Max value of the parameter.
Default10 / `paramDefaultVec310` | Color | r: 0 g: 0 b: 0 | Default value of the parameter.
Default10 / `paramDefaultVec410` | Color | r: 0 g: 0 b: 0 a: 0 | Default value of the parameter.
Type / `paramType11` | Choice | none | Type of the parameter. none: No parameter. bool: Boolean parameter (checkbox). int: Integer parameter. float: Floating-point parameter. vec2: 2D floating-point parameter (e.g. position). vec3: 3D floating-point parameter (e.g. 3D position or RGB color). vec4: 4D floating-point parameter (e.g. RGBA color).
Name / `paramName11` | String |  | Name of the parameter, as used in the shader.
Label / `paramLabel11` | String |  | Label of the parameter, as displayed in the user interface.
Hint / `paramHint11` | String |  | Help for the parameter.
Default11 / `paramDefaultBool11` | Boolean | Off | Default value of the parameter.
Default11 / `paramDefaultInt11` | Integer | 0 | Default value of the parameter.
Min11 / `paramMinInt11` | Integer | -2147483648 | Min value of the parameter.
Max11 / `paramMaxInt11` | Integer | 2147483647 | Max value of the parameter.
Default11 / `paramDefaultFloat11` | Double | 0 | Default value of the parameter.
Min11 / `paramMinFloat11` | Double | -1.79769e+308 | Min value of the parameter.
Max11 / `paramMaxFloat11` | Double | 1.79769e+308 | Max value of the parameter.
Default11 / `paramDefaultVec211` | Double | x: 0 y: 0 | Default value of the parameter.
Min11 / `paramMinVec211` | Double | x: -1.79769e+308 y: -1.79769e+308 | Min value of the parameter.
Max11 / `paramMaxVec211` | Double | x: 1.79769e+308 y: 1.79769e+308 | Max value of the parameter.
Default11 / `paramDefaultVec311` | Color | r: 0 g: 0 b: 0 | Default value of the parameter.
Default11 / `paramDefaultVec411` | Color | r: 0 g: 0 b: 0 a: 0 | Default value of the parameter.
Type / `paramType12` | Choice | none | Type of the parameter. none: No parameter. bool: Boolean parameter (checkbox). int: Integer parameter. float: Floating-point parameter. vec2: 2D floating-point parameter (e.g. position). vec3: 3D floating-point parameter (e.g. 3D position or RGB color). vec4: 4D floating-point parameter (e.g. RGBA color).
Name / `paramName12` | String |  | Name of the parameter, as used in the shader.
Label / `paramLabel12` | String |  | Label of the parameter, as displayed in the user interface.
Hint / `paramHint12` | String |  | Help for the parameter.
Default12 / `paramDefaultBool12` | Boolean | Off | Default value of the parameter.
Default12 / `paramDefaultInt12` | Integer | 0 | Default value of the parameter.
Min12 / `paramMinInt12` | Integer | -2147483648 | Min value of the parameter.
Max12 / `paramMaxInt12` | Integer | 2147483647 | Max value of the parameter.
Default12 / `paramDefaultFloat12` | Double | 0 | Default value of the parameter.
Min12 / `paramMinFloat12` | Double | -1.79769e+308 | Min value of the parameter.
Max12 / `paramMaxFloat12` | Double | 1.79769e+308 | Max value of the parameter.
Default12 / `paramDefaultVec212` | Double | x: 0 y: 0 | Default value of the parameter.
Min12 / `paramMinVec212` | Double | x: -1.79769e+308 y: -1.79769e+308 | Min value of the parameter.
Max12 / `paramMaxVec212` | Double | x: 1.79769e+308 y: 1.79769e+308 | Max value of the parameter.
Default12 / `paramDefaultVec312` | Color | r: 0 g: 0 b: 0 | Default value of the parameter.
Default12 / `paramDefaultVec412` | Color | r: 0 g: 0 b: 0 a: 0 | Default value of the parameter.
Type / `paramType13` | Choice | none | Type of the parameter. none: No parameter. bool: Boolean parameter (checkbox). int: Integer parameter. float: Floating-point parameter. vec2: 2D floating-point parameter (e.g. position). vec3: 3D floating-point parameter (e.g. 3D position or RGB color). vec4: 4D floating-point parameter (e.g. RGBA color).
Name / `paramName13` | String |  | Name of the parameter, as used in the shader.
Label / `paramLabel13` | String |  | Label of the parameter, as displayed in the user interface.
Hint / `paramHint13` | String |  | Help for the parameter.
Default13 / `paramDefaultBool13` | Boolean | Off | Default value of the parameter.
Default13 / `paramDefaultInt13` | Integer | 0 | Default value of the parameter.
Min13 / `paramMinInt13` | Integer | -2147483648 | Min value of the parameter.
Max13 / `paramMaxInt13` | Integer | 2147483647 | Max value of the parameter.
Default13 / `paramDefaultFloat13` | Double | 0 | Default value of the parameter.
Min13 / `paramMinFloat13` | Double | -1.79769e+308 | Min value of the parameter.
Max13 / `paramMaxFloat13` | Double | 1.79769e+308 | Max value of the parameter.
Default13 / `paramDefaultVec213` | Double | x: 0 y: 0 | Default value of the parameter.
Min13 / `paramMinVec213` | Double | x: -1.79769e+308 y: -1.79769e+308 | Min value of the parameter.
Max13 / `paramMaxVec213` | Double | x: 1.79769e+308 y: 1.79769e+308 | Max value of the parameter.
Default13 / `paramDefaultVec313` | Color | r: 0 g: 0 b: 0 | Default value of the parameter.
Default13 / `paramDefaultVec413` | Color | r: 0 g: 0 b: 0 a: 0 | Default value of the parameter.
Type / `paramType14` | Choice | none | Type of the parameter. none: No parameter. bool: Boolean parameter (checkbox). int: Integer parameter. float: Floating-point parameter. vec2: 2D floating-point parameter (e.g. position). vec3: 3D floating-point parameter (e.g. 3D position or RGB color). vec4: 4D floating-point parameter (e.g. RGBA color).
Name / `paramName14` | String |  | Name of the parameter, as used in the shader.
Label / `paramLabel14` | String |  | Label of the parameter, as displayed in the user interface.
Hint / `paramHint14` | String |  | Help for the parameter.
Default14 / `paramDefaultBool14` | Boolean | Off | Default value of the parameter.
Default14 / `paramDefaultInt14` | Integer | 0 | Default value of the parameter.
Min14 / `paramMinInt14` | Integer | -2147483648 | Min value of the parameter.
Max14 / `paramMaxInt14` | Integer | 2147483647 | Max value of the parameter.
Default14 / `paramDefaultFloat14` | Double | 0 | Default value of the parameter.
Min14 / `paramMinFloat14` | Double | -1.79769e+308 | Min value of the parameter.
Max14 / `paramMaxFloat14` | Double | 1.79769e+308 | Max value of the parameter.
Default14 / `paramDefaultVec214` | Double | x: 0 y: 0 | Default value of the parameter.
Min14 / `paramMinVec214` | Double | x: -1.79769e+308 y: -1.79769e+308 | Min value of the parameter.
Max14 / `paramMaxVec214` | Double | x: 1.79769e+308 y: 1.79769e+308 | Max value of the parameter.
Default14 / `paramDefaultVec314` | Color | r: 0 g: 0 b: 0 | Default value of the parameter.
Default14 / `paramDefaultVec414` | Color | r: 0 g: 0 b: 0 a: 0 | Default value of the parameter.
Type / `paramType15` | Choice | none | Type of the parameter. none: No parameter. bool: Boolean parameter (checkbox). int: Integer parameter. float: Floating-point parameter. vec2: 2D floating-point parameter (e.g. position). vec3: 3D floating-point parameter (e.g. 3D position or RGB color). vec4: 4D floating-point parameter (e.g. RGBA color).
Name / `paramName15` | String |  | Name of the parameter, as used in the shader.
Label / `paramLabel15` | String |  | Label of the parameter, as displayed in the user interface.
Hint / `paramHint15` | String |  | Help for the parameter.
Default15 / `paramDefaultBool15` | Boolean | Off | Default value of the parameter.
Default15 / `paramDefaultInt15` | Integer | 0 | Default value of the parameter.
Min15 / `paramMinInt15` | Integer | -2147483648 | Min value of the parameter.
Max15 / `paramMaxInt15` | Integer | 2147483647 | Max value of the parameter.
Default15 / `paramDefaultFloat15` | Double | 0 | Default value of the parameter.
Min15 / `paramMinFloat15` | Double | -1.79769e+308 | Min value of the parameter.
Max15 / `paramMaxFloat15` | Double | 1.79769e+308 | Max value of the parameter.
Default15 / `paramDefaultVec215` | Double | x: 0 y: 0 | Default value of the parameter.
Min15 / `paramMinVec215` | Double | x: -1.79769e+308 y: -1.79769e+308 | Min value of the parameter.
Max15 / `paramMaxVec215` | Double | x: 1.79769e+308 y: 1.79769e+308 | Max value of the parameter.
Default15 / `paramDefaultVec315` | Color | r: 0 g: 0 b: 0 | Default value of the parameter.
Default15 / `paramDefaultVec415` | Color | r: 0 g: 0 b: 0 a: 0 | Default value of the parameter.
Type / `paramType16` | Choice | none | Type of the parameter. none: No parameter. bool: Boolean parameter (checkbox). int: Integer parameter. float: Floating-point parameter. vec2: 2D floating-point parameter (e.g. position). vec3: 3D floating-point parameter (e.g. 3D position or RGB color). vec4: 4D floating-point parameter (e.g. RGBA color).
Name / `paramName16` | String |  | Name of the parameter, as used in the shader.
Label / `paramLabel16` | String |  | Label of the parameter, as displayed in the user interface.
Hint / `paramHint16` | String |  | Help for the parameter.
Default16 / `paramDefaultBool16` | Boolean | Off | Default value of the parameter.
Default16 / `paramDefaultInt16` | Integer | 0 | Default value of the parameter.
Min16 / `paramMinInt16` | Integer | -2147483648 | Min value of the parameter.
Max16 / `paramMaxInt16` | Integer | 2147483647 | Max value of the parameter.
Default16 / `paramDefaultFloat16` | Double | 0 | Default value of the parameter.
Min16 / `paramMinFloat16` | Double | -1.79769e+308 | Min value of the parameter.
Max16 / `paramMaxFloat16` | Double | 1.79769e+308 | Max value of the parameter.
Default16 / `paramDefaultVec216` | Double | x: 0 y: 0 | Default value of the parameter.
Min16 / `paramMinVec216` | Double | x: -1.79769e+308 y: -1.79769e+308 | Min value of the parameter.
Max16 / `paramMaxVec216` | Double | x: 1.79769e+308 y: 1.79769e+308 | Max value of the parameter.
Default16 / `paramDefaultVec316` | Color | r: 0 g: 0 b: 0 | Default value of the parameter.
Default16 / `paramDefaultVec416` | Color | r: 0 g: 0 b: 0 a: 0 | Default value of the parameter.
Type / `paramType17` | Choice | none | Type of the parameter. none: No parameter. bool: Boolean parameter (checkbox). int: Integer parameter. float: Floating-point parameter. vec2: 2D floating-point parameter (e.g. position). vec3: 3D floating-point parameter (e.g. 3D position or RGB color). vec4: 4D floating-point parameter (e.g. RGBA color).
Name / `paramName17` | String |  | Name of the parameter, as used in the shader.
Label / `paramLabel17` | String |  | Label of the parameter, as displayed in the user interface.
Hint / `paramHint17` | String |  | Help for the parameter.
Default17 / `paramDefaultBool17` | Boolean | Off | Default value of the parameter.
Default17 / `paramDefaultInt17` | Integer | 0 | Default value of the parameter.
Min17 / `paramMinInt17` | Integer | -2147483648 | Min value of the parameter.
Max17 / `paramMaxInt17` | Integer | 2147483647 | Max value of the parameter.
Default17 / `paramDefaultFloat17` | Double | 0 | Default value of the parameter.
Min17 / `paramMinFloat17` | Double | -1.79769e+308 | Min value of the parameter.
Max17 / `paramMaxFloat17` | Double | 1.79769e+308 | Max value of the parameter.
Default17 / `paramDefaultVec217` | Double | x: 0 y: 0 | Default value of the parameter.
Min17 / `paramMinVec217` | Double | x: -1.79769e+308 y: -1.79769e+308 | Min value of the parameter.
Max17 / `paramMaxVec217` | Double | x: 1.79769e+308 y: 1.79769e+308 | Max value of the parameter.
Default17 / `paramDefaultVec317` | Color | r: 0 g: 0 b: 0 | Default value of the parameter.
Default17 / `paramDefaultVec417` | Color | r: 0 g: 0 b: 0 a: 0 | Default value of the parameter.
Type / `paramType18` | Choice | none | Type of the parameter. none: No parameter. bool: Boolean parameter (checkbox). int: Integer parameter. float: Floating-point parameter. vec2: 2D floating-point parameter (e.g. position). vec3: 3D floating-point parameter (e.g. 3D position or RGB color). vec4: 4D floating-point parameter (e.g. RGBA color).
Name / `paramName18` | String |  | Name of the parameter, as used in the shader.
Label / `paramLabel18` | String |  | Label of the parameter, as displayed in the user interface.
Hint / `paramHint18` | String |  | Help for the parameter.
Default18 / `paramDefaultBool18` | Boolean | Off | Default value of the parameter.
Default18 / `paramDefaultInt18` | Integer | 0 | Default value of the parameter.
Min18 / `paramMinInt18` | Integer | -2147483648 | Min value of the parameter.
Max18 / `paramMaxInt18` | Integer | 2147483647 | Max value of the parameter.
Default18 / `paramDefaultFloat18` | Double | 0 | Default value of the parameter.
Min18 / `paramMinFloat18` | Double | -1.79769e+308 | Min value of the parameter.
Max18 / `paramMaxFloat18` | Double | 1.79769e+308 | Max value of the parameter.
Default18 / `paramDefaultVec218` | Double | x: 0 y: 0 | Default value of the parameter.
Min18 / `paramMinVec218` | Double | x: -1.79769e+308 y: -1.79769e+308 | Min value of the parameter.
Max18 / `paramMaxVec218` | Double | x: 1.79769e+308 y: 1.79769e+308 | Max value of the parameter.
Default18 / `paramDefaultVec318` | Color | r: 0 g: 0 b: 0 | Default value of the parameter.
Default18 / `paramDefaultVec418` | Color | r: 0 g: 0 b: 0 a: 0 | Default value of the parameter.
Type / `paramType19` | Choice | none | Type of the parameter. none: No parameter. bool: Boolean parameter (checkbox). int: Integer parameter. float: Floating-point parameter. vec2: 2D floating-point parameter (e.g. position). vec3: 3D floating-point parameter (e.g. 3D position or RGB color). vec4: 4D floating-point parameter (e.g. RGBA color).
Name / `paramName19` | String |  | Name of the parameter, as used in the shader.
Label / `paramLabel19` | String |  | Label of the parameter, as displayed in the user interface.
Hint / `paramHint19` | String |  | Help for the parameter.
Default19 / `paramDefaultBool19` | Boolean | Off | Default value of the parameter.
Default19 / `paramDefaultInt19` | Integer | 0 | Default value of the parameter.
Min19 / `paramMinInt19` | Integer | -2147483648 | Min value of the parameter.
Max19 / `paramMaxInt19` | Integer | 2147483647 | Max value of the parameter.
Default19 / `paramDefaultFloat19` | Double | 0 | Default value of the parameter.
Min19 / `paramMinFloat19` | Double | -1.79769e+308 | Min value of the parameter.
Max19 / `paramMaxFloat19` | Double | 1.79769e+308 | Max value of the parameter.
Default19 / `paramDefaultVec219` | Double | x: 0 y: 0 | Default value of the parameter.
Min19 / `paramMinVec219` | Double | x: -1.79769e+308 y: -1.79769e+308 | Min value of the parameter.
Max19 / `paramMaxVec219` | Double | x: 1.79769e+308 y: 1.79769e+308 | Max value of the parameter.
Default19 / `paramDefaultVec319` | Color | r: 0 g: 0 b: 0 | Default value of the parameter.
Default19 / `paramDefaultVec419` | 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” , “llvmpipe” or “swr” (OpenSWR, not always available). softpipe: Gallium softpipe driver from Mesa. A reference signle-threaded driver (slower, has GL_EXT_texture_filter_anisotropic GL_ARB_texture_query_lod GL_ARB_pipeline_statistics_query). llvmpipe: Gallium llvmpipe driver from Mesa, if available. Uses LLVM for x86 JIT code generation and is multi-threaded (faster, has GL_ARB_buffer_storage GL_EXT_polygon_offset_clamp). swr: OpenSWR driver from Mesa, if available. Fully utilizes modern instruction sets like AVX and AVX2 to achieve high rendering performance.
Renderer Info… / `rendererInfo` | Button |  | Retrieve information about the current OpenGL renderer.
Help… / `helpButton` | Button |  | Display help about using Shadertoy.