{
	"name": "profile",
	"node_position": {
		"x": 0,
		"y": 0
	},
	"parameters": {
		"gradient": {
			"interpolation": 2,
			"points": [
				{
					"a": 1,
					"b": 0,
					"g": 0,
					"pos": 0,
					"r": 0
				},
				{
					"a": 1,
					"b": 0.55,
					"g": 0.55,
					"pos": 0.504545,
					"r": 0.55
				},
				{
					"a": 1,
					"b": 1,
					"g": 1,
					"pos": 1,
					"r": 1
				}
			],
			"type": "Gradient"
		},
		"style": 1,
		"width": 0.01
	},
	"seed": 65353,
	"seed_locked": true,
	"shader_model": {
		"code": "",
		"global": [
			"float draw_profile_fill(vec2 uv, float y, float dy, float w) {",
			"\treturn 1.0-clamp(sin(1.57079632679-atan(dy))*(1.0-uv.y-y)/w, 0.0, 1.0);",
			"}",
			"",
			"float draw_profile_curve(vec2 uv, float y, float dy, float w) {",
			"\treturn 1.0-clamp(sin(1.57079632679-atan(dy))*abs(1.0-uv.y-y)/w, 0.0, 1.0);",
			"}"
		],
		"inputs": [
			{
				"default": "dot($gradient($uv.x).xyz, vec3(1.0/3.0))",
				"label": "2:",
				"name": "in",
				"type": "f"
			}
		],
		"instance": "",
		"name": "Profile",
		"outputs": [
			{
				"f": "draw_profile_$style($uv, $in($uv), (dot($gradient($uv.x+0.001).xyz, vec3(1.0/3.0))-dot($gradient($uv.x-0.001).xyz, vec3(1.0/3.0)))/0.002, max(0.0001, $width))",
				"longdesc": "An image showing the profile defined by the gradient",
				"shortdesc": "Output",
				"type": "f"
			}
		],
		"parameters": [
			{
				"default": 0,
				"label": "",
				"longdesc": "Style of the output image (fill or curve)",
				"name": "style",
				"shortdesc": "Style",
				"type": "enum",
				"values": [
					{
						"name": "Curve",
						"value": "curve"
					},
					{
						"name": "Fill",
						"value": "fill"
					}
				]
			},
			{
				"default": {
					"interpolation": 1,
					"points": [
						{
							"a": 1,
							"b": 0,
							"g": 0,
							"pos": 0,
							"r": 0
						},
						{
							"a": 1,
							"b": 1,
							"g": 1,
							"pos": 1,
							"r": 1
						}
					],
					"type": "Gradient"
				},
				"label": "",
				"longdesc": "Gradient that defines the profile to be shown",
				"name": "gradient",
				"shortdesc": "Gradient",
				"type": "gradient"
			},
			{
				"control": "None",
				"default": 0.05,
				"label": "",
				"longdesc": "Width of the curve",
				"max": 1,
				"min": 0,
				"name": "width",
				"shortdesc": "Width",
				"step": 0.01,
				"type": "float"
			}
		],
		"shortdesc": "Profile",
		"longdesc": "Generates profile as a grayscale image from specified gradient"
	},
	"type": "shader"
}