All Custom Params - Shader API

Custom parameters sample shader

Please note that all custom tweaks need at least a default value.

Group your parameters by adding a group value.

Hide a parameter in the UI by setting a visible value to false .

Add a tooltip on the parameter by setting a description value.

Color parameters


//: param custom { "default": 0, "label": "Color RGB", "widget": "color" }

uniform vec3 u_color_float3;

//: param custom { "default": 1, "label": "Color RGBA", "widget": "color" }

uniform vec4 u_color_float4;

Spinboxes parameters


//: param custom { "default": 0, "label": "Int spinbox" }

uniform int u_spin_int1;

//: param custom { "default": 0, "label": "Int2 spinbox" }

uniform ivec2 u_spin_int2;

//: param custom { "default": 0, "label": "Int3 spinbox" }

uniform ivec3 u_spin_int3;

//: param custom { "default": 0, "label": "Int4 spinbox" }

uniform ivec4 u_spin_int4;

//: param custom { "default": 0, "label": "Float spinbox" }

uniform float u_spin_float1;

//: param custom { "default": 0, "label": "Float2 spinbox" }

uniform vec2 u_spin_float2;

//: param custom { "default": 0, "label": "Float3 spinbox" }

uniform vec3 u_spin_float3;

//: param custom { "default": 0, "label": "Float4 spinbox" }

uniform vec4 u_spin_float4;

Slider parameters


//: param custom { "default": 0, "label": "Int slider", "min": 0, "max": 10 }

uniform int u_slider_int1;

//: param custom { "default": 0, "label": "Int slider", "min": 0, "max": 10, "step": 2 }

uniform int u_slider_int1_stepped;

//: param custom { "default": 0, "label": "Int2 slider", "min": 0, "max": 10 }

uniform ivec2 u_slider_int2;

//: param custom { "default": 0, "label": "Int3 slider", "min": 0, "max": 10 }

uniform ivec3 u_slider_int3;

//: param custom { "default": 0, "label": "Int4 slider", "min": 0, "max": 10 }

uniform ivec4 u_slider_int4;

//: param custom { "default": 0, "label": "Float slider", "min": 0.0, "max": 1.0 }

uniform float u_slider_float1;

//: param custom { "default": 0, "label": "Float2 slider", "min": 0.0, "max": 1.0 }

uniform vec2 u_slider_float2;

//: param custom { "default": [0.2, 0.5, 0.8], "label": "Float3 slider", "min": 0.0, "max": 1.0 }

uniform vec3 u_slider_float3;

//: param custom { "default": 0, "label": "Float4 slider", "min": 0.0, "max": 1.0, "step": 0.02 }

uniform vec4 u_slider_float4_stepped;

Bool parameters


//: param custom { "default": false, "label": "Boolean" }

uniform bool u_bool;

Sampler parameters

The texture is defined by its name in the shelf and must be in the Textures or Environments category.


//: param custom { "default": "", "default_color": [1.0, 1.0, 0.0, 1.0], "label": "Texture" }

uniform sampler2D u_sampler1;

//: param custom { "default": "texture_name", "label": "Texture" }

uniform sampler2D u_sampler2;

//: param custom { "default": "texture_name", "label": "Texture", "usage": "texture" }

uniform sampler2D u_sampler3;

//: param custom { "default": "texture_name", "label": "Texture", "usage": "environment" }

uniform sampler2D u_sampler4;

Combobox parameters


//: param custom {

//:   "default": -1,

//:   "label": "Combobox",

//:   "widget": "combobox",

//:   "values": {

//:     "Value -1": -1,

//:     "Value 0": 0,

//:     "Value 10": 10

//:   }

//: }

uniform int u_combobox;

Shader entry point


vec4 shade(V2F inputs)

{

  // We simply return the value of the RGB color picker

  return vec4(u_color_float3, 1.0);

}
recommendation-more-help
4517c71e-0531-47f5-b14d-d3b9de4d0104