#

Custom parameters sample shader

Please note that all custom tweaks need at least a default 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.0, "max": 1.0 }
uniform int u_slider_int1;
//: param custom { "default": 0, "label": "Int2 slider", "min": 0.0, "max": 1.0 }
uniform ivec2 u_slider_int2;
//: param custom { "default": 0, "label": "Int3 slider", "min": 0.0, "max": 1.0 }
uniform ivec3 u_slider_int3;
//: param custom { "default": 0, "label": "Int4 slider", "min": 0.0, "max": 1.0 }
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], "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 }
uniform vec4 u_slider_float4;
#

Bool parameters

//: param custom { "default": false, "label": "Boolean" }
uniform bool u_bool;
#

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

vec3 shade(V2F inputs)
{
  // We simply return the value of the RGB color picker
  return vec3(u_color_float3);
}