Shadertoy node

pluginIcon

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:

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.

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.