{
	"connections": [
		{
			"from": "buffer_2",
			"from_port": 0,
			"to": "fast_blur_shader",
			"to_port": 0
		},
		{
			"from": "fast_blur_shader",
			"from_port": 0,
			"to": "buffer_3",
			"to_port": 0
		},
		{
			"from": "buffer_3",
			"from_port": 0,
			"to": "gen_outputs",
			"to_port": 0
		},
		{
			"from": "fast_blur_shader",
			"from_port": 1,
			"to": "gen_outputs",
			"to_port": 1
		},
		{
			"from": "fast_blur_shader",
			"from_port": 2,
			"to": "gen_outputs",
			"to_port": 2
		},
		{
			"from": "gen_inputs",
			"from_port": 0,
			"to": "ensure_greyscale",
			"to_port": 0
		},
		{
			"from": "ensure_greyscale",
			"from_port": 0,
			"to": "buffer_2",
			"to_port": 0
		}
	],
	"label": "Fast Blur",
	"longdesc": "Applies an approximated gaussian blur",
	"name": "fast_blur",
	"node_position": {
		"x": 0,
		"y": 0
	},
	"nodes": [
		{
			"name": "fast_blur_shader",
			"node_position": {
				"x": -157,
				"y": 127
			},
			"parameters": {
				"quality": 1,
				"sigma": 100,
				"strength": 1
			},
			"seed": -27696,
			"type": "fast_blur_shader"
		},
		{
			"name": "buffer_2",
			"node_position": {
				"x": -183,
				"y": 61.5
			},
			"parameters": {
				"size": 11
			},
			"seed": -48026,
			"type": "buffer",
			"version": 1
		},
		{
			"name": "gen_inputs",
			"node_position": {
				"x": -602,
				"y": 91.75
			},
			"parameters": {

			},
			"ports": [
				{
					"group_size": 0,
					"longdesc": "The input image",
					"name": "input",
					"shortdesc": "Input",
					"type": "rgba"
				}
			],
			"seed": -11967,
			"type": "ios"
		},
		{
			"name": "gen_outputs",
			"node_position": {
				"x": 88,
				"y": 61.75
			},
			"parameters": {

			},
			"ports": [
				{
					"group_size": 0,
					"longdesc": "The input image with high frequency details blurred away",
					"name": "Blurred",
					"shortdesc": "Blurred",
					"type": "rgba"
				},
				{
					"longdesc": "The input image with only high frequency details kept.\nNote that all channels including alpha will be centered at 0, so this will need to be connected to a SwapChannels node to be seen in previews.",
					"name": "High Pass",
					"shortdesc": "High Pass",
					"type": "rgba"
				},
				{
					"longdesc": "The input image with high frequency details strengthened",
					"name": "Sharpened",
					"shortdesc": "Sharpened",
					"type": "rgba"
				}
			],
			"seed": 45717,
			"type": "ios"
		},
		{
			"name": "gen_parameters",
			"node_position": {
				"x": -321.5,
				"y": -230.5
			},
			"parameters": {
				"param0": 11,
				"param1": 100,
				"param2": 1,
				"param3": 1
			},
			"seed": 57528,
			"type": "remote",
			"widgets": [
				{
					"label": "Resolution",
					"linked_widgets": [
						{
							"node": "buffer_2",
							"widget": "size"
						},
						{
							"node": "buffer_3",
							"widget": "size"
						}
					],
					"longdesc": "The resolution used to sample the input image",
					"name": "param0",
					"shortdesc": "Resolution",
					"type": "linked_control"
				},
				{
					"label": "Sigma",
					"linked_widgets": [
						{
							"node": "fast_blur_shader",
							"widget": "sigma"
						}
					],
					"longdesc": "The standard deviation of the gaussian distribution",
					"name": "param1",
					"shortdesc": "Sigma",
					"type": "linked_control"
				},
				{
					"label": "Quality",
					"linked_widgets": [
						{
							"node": "fast_blur_shader",
							"widget": "quality"
						}
					],
					"longdesc": "The quality of the effect (increasing quality increases compute time)",
					"name": "param2",
					"shortdesc": "Quality",
					"type": "linked_control"
				},
				{
					"label": "Strength",
					"linked_widgets": [
						{
							"node": "fast_blur_shader",
							"widget": "strength"
						}
					],
					"longdesc": "High pass multiplier. Unused for low pass output.",
					"name": "param3",
					"shortdesc": "Strength",
					"type": "linked_control"
				}
			]
		},
		{
			"name": "buffer_3",
			"node_position": {
				"x": -186.700012207031,
				"y": 252.5
			},
			"parameters": {
				"size": 11
			},
			"seed": -48026,
			"type": "buffer",
			"version": 1
		},
		{
			"name": "ensure_greyscale",
			"node_position": {
				"x": -170.533325195313,
				"y": -20.25
			},
			"parameters": {

			},
			"seed_int": 0,
			"shader_model": {
				"code": "",
				"global": "",
				"inputs": [
					{
						"default": "vec4(0.0)",
						"label": "",
						"longdesc": "The input grayscale image",
						"name": "input",
						"shortdesc": "Input",
						"type": "rgba"
					}
				],
				"instance": "",
				"longdesc": "Convert the input to RGBA",
				"name": "EnsureRGBA",
				"outputs": [
					{
						"longdesc": "The remapped grayscale image",
						"rgba": "$input($uv)",
						"shortdesc": "Output",
						"type": "rgba"
					}
				],
				"parameters": [],
				"shortdesc": "EnsureRGBA"
			},
			"type": "shader"
		}
	],
	"parameters": {
		"param0": 11,
		"param1": 100,
		"param2": 1,
		"param3": 1
	},
	"seed_int": 0,
	"shortdesc": "Fast Blur",
	"type": "graph"
}
