{
	"connections": [
		{
			"from": "tex3d_fbm_4",
			"from_port": 0,
			"to": "tex3d_distort_2",
			"to_port": 1
		},
		{
			"from": "tex3d_pattern_2",
			"from_port": 0,
			"to": "tex3d_distort_2",
			"to_port": 0
		},
		{
			"from": "tex3d_distort_2",
			"from_port": 0,
			"to": "4330",
			"to_port": 0
		},
		{
			"from": "sdf3d_elongation",
			"from_port": 0,
			"to": "raymarching",
			"to_port": 0
		},
		{
			"from": "sdf3d_torus",
			"from_port": 0,
			"to": "sdf3d_elongation",
			"to_port": 0
		},
		{
			"from": "shape_2",
			"from_port": 0,
			"to": "colorize",
			"to_port": 0
		},
		{
			"from": "shape_2_3",
			"from_port": 0,
			"to": "colorize_2",
			"to_port": 0
		},
		{
			"from": "shape_2_2",
			"from_port": 0,
			"to": "colorize_2_2",
			"to_port": 0
		},
		{
			"from": "shape_2_2_2",
			"from_port": 0,
			"to": "colorize_2_2_2",
			"to_port": 0
		},
		{
			"from": "colorize",
			"from_port": 0,
			"to": "tile2x2",
			"to_port": 0
		},
		{
			"from": "colorize_2",
			"from_port": 0,
			"to": "tile2x2",
			"to_port": 1
		},
		{
			"from": "colorize_2_2",
			"from_port": 0,
			"to": "tile2x2",
			"to_port": 2
		},
		{
			"from": "colorize_2_2_2",
			"from_port": 0,
			"to": "tile2x2",
			"to_port": 3
		},
		{
			"from": "tile2x2",
			"from_port": 0,
			"to": "splatter",
			"to_port": 0
		},
		{
			"from": "tile2x2",
			"from_port": 0,
			"to": "splatter_color",
			"to_port": 0
		},
		{
			"from": "tile2x2",
			"from_port": 0,
			"to": "tiler_color",
			"to_port": 0
		},
		{
			"from": "tiler_color",
			"from_port": 0,
			"to": "Material",
			"to_port": 0
		},
		{
			"from": "shape",
			"from_port": 0,
			"to": "colorize_3",
			"to_port": 0
		},
		{
			"from": "colorize_3",
			"from_port": 0,
			"to": "splatter_2",
			"to_port": 0
		},
		{
			"from": "graph",
			"from_port": 0,
			"to": "shape_3",
			"to_port": 0
		},
		{
			"from": "colormap",
			"from_port": 0,
			"to": "graph",
			"to_port": 0
		},
		{
			"from": "fbm2",
			"from_port": 0,
			"to": "colormap",
			"to_port": 0
		},
		{
			"from": "fbm2",
			"from_port": 0,
			"to": "graph",
			"to_port": 1
		},
		{
			"from": "perlin_color",
			"from_port": 0,
			"to": "colormap",
			"to_port": 1
		},
		{
			"from": "perlin_color_2",
			"from_port": 0,
			"to": "uniform_greyscale",
			"to_port": 0
		}
	],
	"label": "Graph",
	"longdesc": "",
	"name": "49",
	"node_position": {
		"x": 0,
		"y": 0
	},
	"nodes": [
		{
			"export_paths": {

			},
			"name": "Material",
			"node_position": {
				"x": -119.455994,
				"y": 403.080017
			},
			"parameters": {
				"albedo_color": {
					"a": 1,
					"b": 1,
					"g": 1,
					"r": 1,
					"type": "Color"
				},
				"ao": 1,
				"depth_scale": 1,
				"emission_energy": 1,
				"flags_transparent": true,
				"metallic": 1,
				"normal": 1,
				"roughness": 1,
				"size": 8,
				"sss": 0
			},
			"seed": 51892,
			"seed_locked": false,
			"type": "material"
		},
		{
			"name": "raymarching",
			"node_position": {
				"x": -249.531464,
				"y": 322.145508
			},
			"parameters": {

			},
			"seed": -17509,
			"seed_locked": false,
			"shader_model": {
				"code": "",
				"global": "",
				"inputs": [
					{
						"default": "0.0",
						"function": true,
						"label": "",
						"name": "sdf",
						"type": "sdf3d"
					}
				],
				"instance": "float calcdist_$name(vec3 p) {\n    return min($sdf(p), p.z);\n}\n\nfloat raymarch_$name(vec3 ro, vec3 rd) {\n\tfloat d=0.0;\n\tfor (int i = 0; i < 50; i++) {\n\t\tvec3 p = ro + rd*d;\n\t\tfloat dstep = calcdist_$name(p);\n\t\td += dstep;\n\t\tif (dstep < 0.0001) break;\n\t}\n\treturn d;\n}\n\nvec3 normal_$name(vec3 p) {\n\tfloat d = calcdist_$name(p);\n\tfloat e = .0001;\n\tvec3 n = d - vec3(calcdist_$name(p-vec3(e, 0.0, 0.0)), calcdist_$name(p-vec3(0.0, e, 0.0)), calcdist_$name(p-vec3(0.0, 0.0, e)));\n\treturn normalize(n);\n}\n\nvec3 render_$name(vec2 uv) {\n\tvec3 p = vec3(uv, 2.0-raymarch_$name(vec3(uv, 2.0), vec3(0.0, 0.0, -1.0)));\n\tvec3 n = normal_$name(p);\n\tvec3 l = vec3(5.0, 5.0, 10.0);\n\tvec3 ld = normalize(l-p);\n\tfloat o = step(p.z, 0.001);\n\tfloat shadow = 1.0-0.75*step(raymarch_$name(l, -ld), length(l-p)-0.01);\n\tfloat light = 0.3+0.7*dot(n, ld)*shadow;\n\treturn vec3(0.8+0.2*o, 0.8+0.2*o, 1.0)*light;\n}\n",
				"name": "Render3d",
				"outputs": [
					{
						"rgb": "render_$name($uv-vec2(0.5))",
						"type": "rgb"
					}
				],
				"parameters": [

				]
			},
			"type": "shader"
		},
		{
			"connections": [
				{
					"from": "sdf3d_sphere_2",
					"from_port": 0,
					"to": "sdf3d_translate_4",
					"to_port": 0
				},
				{
					"from": "sdf3d_translate_4_2",
					"from_port": 0,
					"to": "sdf3d_smoothboolean_3",
					"to_port": 1
				},
				{
					"from": "sdf3d_smoothboolean_3",
					"from_port": 0,
					"to": "sdf3d_smoothboolean_3_2",
					"to_port": 1
				},
				{
					"from": "sdf3d_translate_4_2_2",
					"from_port": 0,
					"to": "sdf3d_smoothboolean_3_2",
					"to_port": 0
				},
				{
					"from": "sdf3d_sphere_2_2",
					"from_port": 0,
					"to": "sdf3d_translate_4_3",
					"to_port": 0
				},
				{
					"from": "sdf3d_translate_4_3",
					"from_port": 0,
					"to": "sdf3d_smoothboolean_3_2_2",
					"to_port": 0
				},
				{
					"from": "sdf3d_smoothboolean_3_2",
					"from_port": 0,
					"to": "sdf3d_smoothboolean_3_2_2",
					"to_port": 1
				},
				{
					"from": "sdf3d_sphere_2_2_2",
					"from_port": 0,
					"to": "sdf3d_translate_4_3_2",
					"to_port": 0
				},
				{
					"from": "sdf3d_smoothboolean_3_2_2",
					"from_port": 0,
					"to": "sdf3d_smoothboolean_3_2_3",
					"to_port": 1
				},
				{
					"from": "sdf3d_translate_4_3_2",
					"from_port": 0,
					"to": "sdf3d_smoothboolean_3_2_3",
					"to_port": 0
				},
				{
					"from": "sdf3d_smoothboolean_3_2_3",
					"from_port": 0,
					"to": "sdf3d_smoothboolean_3_2_3_2",
					"to_port": 1
				},
				{
					"from": "sdf3d_box_2",
					"from_port": 0,
					"to": "sdf3d_rotate_2",
					"to_port": 0
				},
				{
					"from": "sdf3d_rotate_2",
					"from_port": 0,
					"to": "sdf3d_translate_4_3_2_2",
					"to_port": 0
				},
				{
					"from": "sdf3d_translate_4_3_2_2",
					"from_port": 0,
					"to": "sdf3d_smoothboolean_3_2_3_2",
					"to_port": 0
				},
				{
					"from": "sdf3d_translate_4_3_2_2_2",
					"from_port": 0,
					"to": "sdf3d_repeat",
					"to_port": 0
				},
				{
					"from": "sdf3d_rotate_2_2_2",
					"from_port": 0,
					"to": "sdf3d_translate_4_3_2_2_2_2",
					"to_port": 0
				},
				{
					"from": "sdf3d_cylinder",
					"from_port": 0,
					"to": "sdf3d_translate_4_2",
					"to_port": 0
				},
				{
					"from": "sdf3d_smoothboolean_3_3",
					"from_port": 0,
					"to": "sdf3d_smoothboolean_3",
					"to_port": 0
				},
				{
					"from": "sdf3d_sphere_2",
					"from_port": 0,
					"to": "sdf3d_smoothboolean_3_3",
					"to_port": 1
				},
				{
					"from": "sdf3d_translate_4",
					"from_port": 0,
					"to": "sdf3d_smoothboolean_3_3",
					"to_port": 0
				},
				{
					"from": "sdf3d_box_2_2",
					"from_port": 0,
					"to": "sdf3d_rotate_2_2",
					"to_port": 0
				},
				{
					"from": "sdf3d_box_2_2",
					"from_port": 0,
					"to": "sdf3d_translate_4_3_2_2_2",
					"to_port": 0
				},
				{
					"from": "sdf3d_smoothboolean_3_2_3_2",
					"from_port": 0,
					"to": "sdf3d_smoothboolean_3_2_3_2_2",
					"to_port": 0
				},
				{
					"from": "sdf3d_smoothboolean_3_2_3_2_2",
					"from_port": 0,
					"to": "sdf3d_translate_4_3_3",
					"to_port": 0
				},
				{
					"from": "sdf3d_sphere_2_3",
					"from_port": 0,
					"to": "sdf3d_translate_4_3_2_2_2_3",
					"to_port": 0
				},
				{
					"from": "sdf3d_translate_4_3_2_2_2_3",
					"from_port": 0,
					"to": "sdf3d_boolean",
					"to_port": 0
				},
				{
					"from": "sdf3d_boolean",
					"from_port": 0,
					"to": "sdf3d_rotate_2_2_2",
					"to_port": 0
				},
				{
					"from": "sdf3d_translate_4_3_2_2_2_2",
					"from_port": 0,
					"to": "sdroundedshape",
					"to_port": 0
				},
				{
					"from": "sdroundedshape",
					"from_port": 0,
					"to": "sdf3d_smoothboolean_3_2_3_2_2",
					"to_port": 1
				},
				{
					"from": "sdf3d_repeat",
					"from_port": 0,
					"to": "sdf3d_rotate_2_2_3",
					"to_port": 0
				},
				{
					"from": "sdf3d_rotate_2_2_3",
					"from_port": 0,
					"to": "sdf3d_boolean",
					"to_port": 1
				},
				{
					"from": "sdf3d_translate_4_3_3",
					"from_port": 0,
					"to": "gen_outputs",
					"to_port": 0
				},
				{
					"from": "sdf3d_scale_2",
					"from_port": 0,
					"to": "sdf3d_translate_4_2_2",
					"to_port": 0
				},
				{
					"from": "sdf3d_translate_4_2",
					"from_port": 0,
					"to": "sdf3d_scale_2",
					"to_port": 0
				}
			],
			"label": "Skull",
			"longdesc": "",
			"name": "graph_3_2",
			"node_position": {
				"x": -184.234314,
				"y": 34.957581
			},
			"nodes": [
				{
					"name": "sdf3d_smoothboolean_3",
					"node_position": {
						"x": -841.989258,
						"y": 938.422729
					},
					"parameters": {
						"k": 0.04,
						"op": 0
					},
					"seed": -16253,
					"seed_locked": false,
					"type": "sdf3d_smoothboolean"
				},
				{
					"name": "sdf3d_translate_4",
					"node_position": {
						"x": -1309.989258,
						"y": 736.422729
					},
					"parameters": {
						"x": 0.52,
						"y": -0.22,
						"z": 0
					},
					"seed": -9059,
					"seed_locked": false,
					"type": "sdf3d_translate"
				},
				{
					"name": "sdf3d_smoothboolean_3_2",
					"node_position": {
						"x": -629.489258,
						"y": 873.422729
					},
					"parameters": {
						"k": 0.17,
						"op": 1
					},
					"seed": -29764,
					"seed_locked": false,
					"type": "sdf3d_smoothboolean"
				},
				{
					"name": "sdf3d_sphere_2_2",
					"node_position": {
						"x": -830.318359,
						"y": 1023.672852
					},
					"parameters": {
						"r": 0.07
					},
					"seed": -58751,
					"seed_locked": false,
					"type": "sdf3d_sphere"
				},
				{
					"name": "sdf3d_translate_4_3",
					"node_position": {
						"x": -834.318359,
						"y": 1078.672852
					},
					"parameters": {
						"x": 0.13,
						"y": -0.04,
						"z": 0.18
					},
					"seed": -26316,
					"seed_locked": false,
					"type": "sdf3d_translate"
				},
				{
					"name": "sdf3d_sphere_2_2_2",
					"node_position": {
						"x": -831.318359,
						"y": 1179.672852
					},
					"parameters": {
						"r": 0.08
					},
					"seed": -316,
					"seed_locked": false,
					"type": "sdf3d_sphere"
				},
				{
					"name": "sdf3d_sphere_2",
					"node_position": {
						"x": -1297.989258,
						"y": 844.922729
					},
					"parameters": {
						"r": 0.28
					},
					"seed": -44867,
					"seed_locked": false,
					"type": "sdf3d_sphere"
				},
				{
					"name": "sdf3d_box_2",
					"node_position": {
						"x": -855.193726,
						"y": 1338.172852
					},
					"parameters": {
						"r": 0,
						"sx": 0.05,
						"sy": 0.05,
						"sz": 0.05
					},
					"seed": -62899,
					"seed_locked": false,
					"type": "sdf3d_box"
				},
				{
					"name": "sdf3d_translate_4_3_2",
					"node_position": {
						"x": -834.318359,
						"y": 1232.672852
					},
					"parameters": {
						"x": 0.12,
						"y": -0.03,
						"z": 0.18
					},
					"seed": -26158,
					"seed_locked": false,
					"type": "sdf3d_translate"
				},
				{
					"name": "sdf3d_rotate_2",
					"node_position": {
						"x": -839.193726,
						"y": 1471.172852
					},
					"parameters": {
						"ax": -30,
						"ay": 45,
						"az": 0
					},
					"seed": -64296,
					"seed_locked": false,
					"shader_model": {
						"code": "",
						"global": "vec3 rotate3d(vec3 p, vec3 a) {\n\tvec3 rv;\n\tfloat c;\n\tfloat s;\n\tc = cos(a.x);\n\ts = sin(a.x);\n\trv.x = p.x;\n\trv.y = p.y*c+p.z*s;\n\trv.z = -p.y*s+p.z*c;\n\tc = cos(a.y);\n\ts = sin(a.y);\n\tp.x = rv.x*c+rv.z*s;\n\tp.y = rv.y;\n\tp.z = -rv.x*s+rv.z*c;\n\tc = cos(a.z);\n\ts = sin(a.z);\n\trv.x = p.x*c+p.y*s;\n\trv.y = -p.x*s+p.y*c;\n\trv.z = p.z;\n\treturn rv;\n}\n",
						"inputs": [
							{
								"default": "0.0",
								"label": "",
								"name": "in",
								"type": "sdf3d"
							}
						],
						"instance": "",
						"name": "Rotate",
						"outputs": [
							{
								"sdf3d": "$in(rotate3d($uv, -vec3($ax, $ay, $az)*0.01745329251))",
								"type": "sdf3d"
							}
						],
						"parameters": [
							{
								"default": 0,
								"label": "X",
								"max": 180,
								"min": -180,
								"name": "ax",
								"step": 1,
								"type": "float"
							},
							{
								"default": 0,
								"label": "Y",
								"max": 180,
								"min": -180,
								"name": "ay",
								"step": 1,
								"type": "float"
							},
							{
								"default": 0,
								"label": "Z",
								"max": 180,
								"min": -180,
								"name": "az",
								"step": 1,
								"type": "float"
							}
						]
					},
					"type": "shader"
				},
				{
					"name": "sdf3d_translate_4_3_2_2",
					"node_position": {
						"x": -840.193726,
						"y": 1600.172852
					},
					"parameters": {
						"x": 0,
						"y": 0.11,
						"z": 0.19
					},
					"seed": -7160,
					"seed_locked": false,
					"type": "sdf3d_translate"
				},
				{
					"name": "sdf3d_smoothboolean_3_2_3",
					"node_position": {
						"x": -623.818359,
						"y": 1236.172852
					},
					"parameters": {
						"k": 0.09,
						"op": 1
					},
					"seed": -47269,
					"seed_locked": false,
					"type": "sdf3d_smoothboolean"
				},
				{
					"name": "sdf3d_smoothboolean_3_2_2",
					"node_position": {
						"x": -622.818359,
						"y": 1073.172852
					},
					"parameters": {
						"k": 0.15,
						"op": 0
					},
					"seed": -39265,
					"seed_locked": false,
					"type": "sdf3d_smoothboolean"
				},
				{
					"name": "sdf3d_translate_4_2_2",
					"node_position": {
						"x": -832.989258,
						"y": 826.922729
					},
					"parameters": {
						"x": 0,
						"y": 0.24,
						"z": 0.01
					},
					"seed": -10118,
					"seed_locked": false,
					"type": "sdf3d_translate"
				},
				{
					"name": "sdf3d_smoothboolean_3_2_3_2",
					"node_position": {
						"x": -602.693726,
						"y": 1454.672852
					},
					"parameters": {
						"k": 0.03,
						"op": 1
					},
					"seed": -11084,
					"seed_locked": false,
					"type": "sdf3d_smoothboolean"
				},
				{
					"name": "sdf3d_translate_4_2",
					"node_position": {
						"x": -1141.989258,
						"y": 1070.922729
					},
					"parameters": {
						"x": 0,
						"y": 0.21,
						"z": 0.08
					},
					"seed": -45317,
					"seed_locked": false,
					"type": "sdf3d_translate"
				},
				{
					"name": "sdf3d_translate_4_3_3",
					"node_position": {
						"x": -363.318359,
						"y": 1762.672852
					},
					"parameters": {

					},
					"seed": -9751,
					"seed_locked": false,
					"shader_model": {
						"code": "",
						"global": "",
						"inputs": [
							{
								"default": "0.0",
								"label": "",
								"name": "in",
								"type": "sdf3d"
							}
						],
						"instance": "",
						"name": "Mirror",
						"outputs": [
							{
								"sdf3d": "$in(vec3(abs($uv.x), $uv.y, $uv.z))",
								"type": "sdf3d"
							}
						],
						"parameters": [

						]
					},
					"type": "shader"
				},
				{
					"name": "gen_inputs",
					"node_position": {
						"x": -1375.989258,
						"y": 1121.935181
					},
					"parameters": {

					},
					"ports": [

					],
					"seed": -9186,
					"seed_locked": false,
					"type": "ios"
				},
				{
					"name": "gen_outputs",
					"node_position": {
						"x": -179.318359,
						"y": 1763.935181
					},
					"parameters": {

					},
					"ports": [
						{
							"name": "port0",
							"type": "sdf3d"
						}
					],
					"seed": -50256,
					"seed_locked": false,
					"type": "ios"
				},
				{
					"name": "gen_parameters",
					"node_position": {
						"x": -1028.995361,
						"y": 476.422729
					},
					"parameters": {

					},
					"seed": -63912,
					"seed_locked": false,
					"type": "remote",
					"widgets": [

					]
				},
				{
					"name": "sdf3d_translate_4_3_2_2_2",
					"node_position": {
						"x": -1172.482544,
						"y": 1931.119385
					},
					"parameters": {
						"x": 0,
						"y": 0.14,
						"z": 0
					},
					"seed": -32353,
					"seed_locked": false,
					"shader_model": {
						"code": "",
						"global": "",
						"inputs": [
							{
								"default": "0.0",
								"label": "",
								"name": "in",
								"type": "sdf3d"
							}
						],
						"instance": "",
						"name": "Translate",
						"outputs": [
							{
								"sdf3d": "$in($uv-vec3($x, $y, $z))",
								"type": "sdf3d"
							}
						],
						"parameters": [
							{
								"default": 0,
								"label": "X",
								"max": 1,
								"min": -1,
								"name": "x",
								"step": 0.01,
								"type": "float"
							},
							{
								"default": 0,
								"label": "Y",
								"max": 1,
								"min": -1,
								"name": "y",
								"step": 0.01,
								"type": "float"
							},
							{
								"default": 0,
								"label": "Z",
								"max": 1,
								"min": -1,
								"name": "z",
								"step": 0.01,
								"type": "float"
							}
						]
					},
					"type": "shader"
				},
				{
					"name": "sdf3d_rotate_2_2",
					"node_position": {
						"x": -1172.482544,
						"y": 1829.119385
					},
					"parameters": {
						"ax": 0,
						"ay": 0,
						"az": 45
					},
					"seed": -32463,
					"seed_locked": false,
					"shader_model": {
						"code": "",
						"global": "vec3 rotate3d(vec3 p, vec3 a) {\n\tvec3 rv;\n\tfloat c;\n\tfloat s;\n\tc = cos(a.x);\n\ts = sin(a.x);\n\trv.x = p.x;\n\trv.y = p.y*c+p.z*s;\n\trv.z = -p.y*s+p.z*c;\n\tc = cos(a.y);\n\ts = sin(a.y);\n\tp.x = rv.x*c+rv.z*s;\n\tp.y = rv.y;\n\tp.z = -rv.x*s+rv.z*c;\n\tc = cos(a.z);\n\ts = sin(a.z);\n\trv.x = p.x*c+p.y*s;\n\trv.y = -p.x*s+p.y*c;\n\trv.z = p.z;\n\treturn rv;\n}\n",
						"inputs": [
							{
								"default": "0.0",
								"label": "",
								"name": "in",
								"type": "sdf3d"
							}
						],
						"instance": "",
						"name": "Rotate",
						"outputs": [
							{
								"sdf3d": "$in(rotate3d($uv, -vec3($ax, $ay, $az)*0.01745329251))",
								"type": "sdf3d"
							}
						],
						"parameters": [
							{
								"default": 0,
								"label": "X",
								"max": 180,
								"min": -180,
								"name": "ax",
								"step": 1,
								"type": "float"
							},
							{
								"default": 0,
								"label": "Y",
								"max": 180,
								"min": -180,
								"name": "ay",
								"step": 1,
								"type": "float"
							},
							{
								"default": 0,
								"label": "Z",
								"max": 180,
								"min": -180,
								"name": "az",
								"step": 1,
								"type": "float"
							}
						]
					},
					"type": "shader"
				},
				{
					"name": "sdf3d_repeat",
					"node_position": {
						"x": -1166.482544,
						"y": 2035.119385
					},
					"parameters": {
						"c": 15
					},
					"seed": -47299,
					"seed_locked": false,
					"shader_model": {
						"code": "",
						"global": "vec3 circle_repeat_transform(vec3 p, float count) {\n\tfloat r = 6.28/count;\n\tfloat pa = atan(p.x, p.y);\n\tfloat a = mod(pa+0.5*r, r)-0.5*r;\n\tvec3 rv;\n\tfloat c = cos(a-pa);\n\tfloat s = sin(a-pa);\n\trv.x = p.x*c+p.y*s;\n\trv.y = -p.x*s+p.y*c;\n\trv.z = p.z;\n\treturn rv;\n}\n",
						"inputs": [
							{
								"default": "0.0",
								"label": "",
								"name": "in",
								"type": "sdf3d"
							}
						],
						"instance": "",
						"name": "Circle Repeat",
						"outputs": [
							{
								"sdf3d": "$in(circle_repeat_transform($uv, $c))",
								"type": "sdf3d"
							}
						],
						"parameters": [
							{
								"default": 4,
								"label": "",
								"max": 32,
								"min": 1,
								"name": "c",
								"step": 1,
								"type": "float"
							}
						]
					},
					"type": "shader"
				},
				{
					"name": "sdf3d_rotate_2_2_2",
					"node_position": {
						"x": -791.235718,
						"y": 1859.869385
					},
					"parameters": {
						"ax": -90,
						"ay": 0,
						"az": 0
					},
					"seed": -12172,
					"seed_locked": false,
					"shader_model": {
						"code": "",
						"global": "vec3 rotate3d(vec3 p, vec3 a) {\n\tvec3 rv;\n\tfloat c;\n\tfloat s;\n\tc = cos(a.x);\n\ts = sin(a.x);\n\trv.x = p.x;\n\trv.y = p.y*c+p.z*s;\n\trv.z = -p.y*s+p.z*c;\n\tc = cos(a.y);\n\ts = sin(a.y);\n\tp.x = rv.x*c+rv.z*s;\n\tp.y = rv.y;\n\tp.z = -rv.x*s+rv.z*c;\n\tc = cos(a.z);\n\ts = sin(a.z);\n\trv.x = p.x*c+p.y*s;\n\trv.y = -p.x*s+p.y*c;\n\trv.z = p.z;\n\treturn rv;\n}\n",
						"inputs": [
							{
								"default": "0.0",
								"label": "",
								"name": "in",
								"type": "sdf3d"
							}
						],
						"instance": "",
						"name": "Rotate",
						"outputs": [
							{
								"sdf3d": "$in(rotate3d($uv, -vec3($ax, $ay, $az)*0.01745329251))",
								"type": "sdf3d"
							}
						],
						"parameters": [
							{
								"default": 0,
								"label": "X",
								"max": 180,
								"min": -180,
								"name": "ax",
								"step": 1,
								"type": "float"
							},
							{
								"default": 0,
								"label": "Y",
								"max": 180,
								"min": -180,
								"name": "ay",
								"step": 1,
								"type": "float"
							},
							{
								"default": 0,
								"label": "Z",
								"max": 180,
								"min": -180,
								"name": "az",
								"step": 1,
								"type": "float"
							}
						]
					},
					"type": "shader"
				},
				{
					"name": "sdf3d_translate_4_3_2_2_2_2",
					"node_position": {
						"x": -788.235718,
						"y": 1967.869385
					},
					"parameters": {
						"x": 0,
						"y": 0.315,
						"z": 0.08
					},
					"seed": -52421,
					"seed_locked": false,
					"type": "sdf3d_translate"
				},
				{
					"name": "sdf3d_cylinder",
					"node_position": {
						"x": -1161,
						"y": 994.5
					},
					"parameters": {
						"axis": 1,
						"l": 0.06,
						"r": 0.15
					},
					"seed": -8309,
					"seed_locked": false,
					"type": "sdf3d_cylinder"
				},
				{
					"name": "sdf3d_smoothboolean_3_3",
					"node_position": {
						"x": -1104.305908,
						"y": 815.75
					},
					"parameters": {
						"k": 0.1,
						"op": 1
					},
					"seed": -13953,
					"seed_locked": false,
					"type": "sdf3d_smoothboolean"
				},
				{
					"name": "sdf3d_box_2_2",
					"node_position": {
						"x": -1190.880981,
						"y": 1701
					},
					"parameters": {
						"r": 0,
						"sx": 0.01,
						"sy": 0.01,
						"sz": 0.015
					},
					"seed": -44221,
					"seed_locked": false,
					"type": "sdf3d_box"
				},
				{
					"name": "sdf3d_smoothboolean_3_2_3_2_2",
					"node_position": {
						"x": -562.468933,
						"y": 1761.75
					},
					"parameters": {
						"k": 0.05,
						"op": 0
					},
					"seed": -21741,
					"seed_locked": false,
					"type": "sdf3d_smoothboolean"
				},
				{
					"name": "sdf3d_sphere_2_3",
					"node_position": {
						"x": -1165.397095,
						"y": 2204.25
					},
					"parameters": {
						"r": 0.28
					},
					"seed": -43151,
					"seed_locked": false,
					"type": "sdf3d_sphere"
				},
				{
					"name": "sdf3d_translate_4_3_2_2_2_3",
					"node_position": {
						"x": -1175.397095,
						"y": 2261.5
					},
					"parameters": {
						"x": 0,
						"y": 0.28,
						"z": 0
					},
					"seed": -57246,
					"seed_locked": false,
					"type": "sdf3d_translate"
				},
				{
					"name": "sdf3d_boolean",
					"node_position": {
						"x": -990.397095,
						"y": 2076
					},
					"parameters": {
						"op": 2
					},
					"seed": -20990,
					"seed_locked": false,
					"type": "sdf3d_boolean"
				},
				{
					"name": "sdroundedshape",
					"node_position": {
						"x": -794.225342,
						"y": 2070.75
					},
					"parameters": {
						"r": 0.01
					},
					"seed": -36404,
					"seed_locked": false,
					"shader_model": {
						"code": "",
						"global": "",
						"inputs": [
							{
								"default": "0.0",
								"label": "",
								"name": "in",
								"type": "sdf3d"
							}
						],
						"instance": "",
						"name": "Rounded",
						"outputs": [
							{
								"sdf3d": "$in($uv)-$r",
								"type": "sdf3d"
							}
						],
						"parameters": [
							{
								"default": 0,
								"label": "",
								"max": 1,
								"min": 0,
								"name": "r",
								"step": 0.01,
								"type": "float"
							}
						]
					},
					"type": "shader"
				},
				{
					"name": "sdf3d_rotate_2_2_3",
					"node_position": {
						"x": -1172.268311,
						"y": 2085.75
					},
					"parameters": {
						"ax": 0,
						"ay": 0,
						"az": 11
					},
					"seed": -29135,
					"seed_locked": false,
					"shader_model": {
						"code": "",
						"global": "vec3 rotate3d(vec3 p, vec3 a) {\n\tvec3 rv;\n\tfloat c;\n\tfloat s;\n\tc = cos(a.x);\n\ts = sin(a.x);\n\trv.x = p.x;\n\trv.y = p.y*c+p.z*s;\n\trv.z = -p.y*s+p.z*c;\n\tc = cos(a.y);\n\ts = sin(a.y);\n\tp.x = rv.x*c+rv.z*s;\n\tp.y = rv.y;\n\tp.z = -rv.x*s+rv.z*c;\n\tc = cos(a.z);\n\ts = sin(a.z);\n\trv.x = p.x*c+p.y*s;\n\trv.y = -p.x*s+p.y*c;\n\trv.z = p.z;\n\treturn rv;\n}\n",
						"inputs": [
							{
								"default": "0.0",
								"label": "",
								"name": "in",
								"type": "sdf3d"
							}
						],
						"instance": "",
						"name": "Rotate",
						"outputs": [
							{
								"sdf3d": "$in(rotate3d($uv, -vec3($ax, $ay, $az)*0.01745329251))",
								"type": "sdf3d"
							}
						],
						"parameters": [
							{
								"default": 0,
								"label": "X",
								"max": 180,
								"min": -180,
								"name": "ax",
								"step": 1,
								"type": "float"
							},
							{
								"default": 0,
								"label": "Y",
								"max": 180,
								"min": -180,
								"name": "ay",
								"step": 1,
								"type": "float"
							},
							{
								"default": 0,
								"label": "Z",
								"max": 180,
								"min": -180,
								"name": "az",
								"step": 1,
								"type": "float"
							}
						]
					},
					"type": "shader"
				},
				{
					"name": "sdf3d_scale_2",
					"node_position": {
						"x": -825.646118,
						"y": 772.643799
					},
					"parameters": {
						"s": 0.48
					},
					"seed": -18915,
					"seed_locked": false,
					"type": "sdf3d_scale"
				}
			],
			"parameters": {

			},
			"seed": -24166,
			"seed_locked": false,
			"shortdesc": "",
			"type": "graph"
		},
		{
			"name": "sdf3d_extrusion",
			"node_position": {
				"x": -69.41095,
				"y": -191.970337
			},
			"parameters": {
				"d": -0.53
			},
			"seed": 25572,
			"seed_locked": false,
			"type": "sdf3d_extrusion"
		},
		{
			"name": "sdf3d_cylinder",
			"node_position": {
				"x": -701.943542,
				"y": 10.501892
			},
			"parameters": {
				"axis": 1,
				"l": 0.25,
				"r": 0.25
			},
			"seed": -14313,
			"seed_locked": false,
			"type": "sdf3d_cylinder"
		},
		{
			"name": "shape",
			"node_position": {
				"x": -100.198914,
				"y": 824.517395
			},
			"parameters": {
				"edge": 0.754975,
				"radius": 0.41,
				"shape": 1,
				"sides": 6
			},
			"seed": -11044,
			"seed_locked": false,
			"type": "shape"
		},
		{
			"name": "4330",
			"node_position": {
				"x": -240.982361,
				"y": 435.636383
			},
			"parameters": {

			},
			"seed": -11453,
			"seed_locked": false,
			"shader_model": {
				"code": "",
				"global": "float calcdist(vec3 p) {\n    return length(p)-0.4;\n}\n\nfloat raymarch(vec3 ro, vec3 rd) {\n    float d=0.0;\n    for (int i = 0; i < 250; i++) {\n        vec3 p = ro + rd*d;\n        float dstep = calcdist(p);\n        d += dstep;\n        if (dstep < 0.0000001) break;\n    }\n    return d;\n}\nvec3 normal(vec3 p) {\n    float d = calcdist(p);\n    float e = .0001;\n    vec3 n = d - vec3(calcdist(p-vec3(e, 0.0, 0.0)), calcdist(p-vec3(0.0, e, 0.0)), calcdist(p-vec3(0.0, 0.0, e)));\n    return normalize(n);\n}\n\n",
				"inputs": [
					{
						"default": "vec3(1.0)",
						"function": true,
						"label": "",
						"name": "in",
						"type": "tex3d"
					}
				],
				"instance": "vec4 pvt3d(vec2 uv) {\n    uv -= vec2(0.5);\n    vec3 p = vec3(uv, 2.0-raymarch(vec3(uv, 2.0), vec3(0.0, 0.0, -1.0)));\n    vec3 n = normal(p);\n    vec3 l = vec3(5.0, 5.0, 10.0);\n    vec3 ld = normalize(l-p);\n    float o = step(p.z, 0.001);\n    float shadow = 1.0-0.75*step(raymarch(l, -ld), length(l-p)-0.01);\n    float light = 0.3+0.7*dot(n, ld)*shadow;\n    return vec4($in(vec4(p, 0.0))*light, 1.0);\n}\n",
				"name": "TEX3D preview",
				"outputs": [
					{
						"rgba": "pvt3d($uv)",
						"type": "rgba"
					}
				],
				"parameters": [

				]
			},
			"type": "shader"
		},
		{
			"name": "tex3d_pattern_2",
			"node_position": {
				"x": -973.849976,
				"y": 562.386353
			},
			"parameters": {
				"mix": 4,
				"x_scale": 2,
				"x_wave": 2,
				"y_scale": 2,
				"y_wave": 2,
				"z_scale": 2,
				"z_wave": 2
			},
			"seed": -19169,
			"seed_locked": false,
			"type": "tex3d_pattern"
		},
		{
			"name": "tex3d_fbm_4",
			"node_position": {
				"x": -967.880981,
				"y": 383.243591
			},
			"parameters": {
				"iterations": 3,
				"noise": 2,
				"persistence": 0.5,
				"scale_x": 8,
				"scale_y": 8,
				"scale_z": 8
			},
			"seed": -36712,
			"seed_locked": false,
			"type": "tex3d_fbm"
		},
		{
			"name": "tex3d_distort_2",
			"node_position": {
				"x": -606.474854,
				"y": 463.950104
			},
			"parameters": {
				"Distort": 0.3
			},
			"seed": -43695,
			"seed_locked": false,
			"shader_model": {
				"code": "",
				"global": "",
				"inputs": [
					{
						"default": "vec3(1.0)",
						"label": "",
						"name": "in1",
						"type": "tex3d"
					},
					{
						"default": "vec3(0.0)",
						"label": "",
						"name": "in2",
						"type": "tex3d"
					}
				],
				"instance": "",
				"name": "TEX3D Distort",
				"outputs": [
					{
						"tex3d": "$in1(vec4($uv.xyz+($in2($uv)*$Distort*0.5-0.5), 0.0))",
						"type": "tex3d"
					}
				],
				"parameters": [
					{
						"control": "None",
						"default": 0.5,
						"label": "Distort",
						"max": 1,
						"min": 0,
						"name": "Distort",
						"step": 0.01,
						"type": "float"
					}
				]
			},
			"type": "shader"
		},
		{
			"name": "sdf3d_elongation",
			"node_position": {
				"x": -493.474854,
				"y": 290.950104
			},
			"parameters": {
				"x": 0.2,
				"y": 0,
				"z": 0
			},
			"seed": -61329,
			"seed_locked": false,
			"type": "sdf3d_elongation"
		},
		{
			"name": "sdf3d_torus",
			"node_position": {
				"x": -505.208618,
				"y": 190.516663
			},
			"parameters": {
				"R": 0.180551,
				"axis": 2,
				"r": 0.097392
			},
			"seed": -25753,
			"seed_locked": false,
			"type": "sdf3d_torus"
		},
		{
			"name": "fbm",
			"node_position": {
				"x": -264.208618,
				"y": 128.516663
			},
			"parameters": {
				"folds": 0,
				"iterations": 6,
				"noise": 2,
				"persistence": 0.5,
				"scale_x": 8,
				"scale_y": 8
			},
			"seed": -6008,
			"seed_locked": false,
			"type": "fbm"
		},
		{
			"name": "splatter",
			"node_position": {
				"x": -408.208618,
				"y": 540.266663
			},
			"parameters": {
				"count": 25,
				"inputs": 0,
				"rotate": 0,
				"scale": 0,
				"scale_x": 1,
				"scale_y": 1,
				"value": 0,
				"variations": false
			},
			"seed": -37536,
			"seed_locked": false,
			"type": "splatter"
		},
		{
			"name": "colorize_2_2_2",
			"node_position": {
				"x": -819.442566,
				"y": 1165.332642
			},
			"parameters": {
				"gradient": {
					"interpolation": 1,
					"points": [
						{
							"a": 0,
							"b": 0,
							"g": 0,
							"pos": 0,
							"r": 0
						},
						{
							"a": 1,
							"b": 1,
							"g": 0.093751,
							"pos": 0.045455,
							"r": 0
						},
						{
							"a": 1,
							"b": 1,
							"g": 1,
							"pos": 1,
							"r": 1
						}
					],
					"type": "Gradient"
				}
			},
			"seed": -38050,
			"seed_locked": false,
			"type": "colorize"
		},
		{
			"name": "shape_2_2",
			"node_position": {
				"x": -1016.442627,
				"y": 1034.332642
			},
			"parameters": {
				"edge": 1,
				"radius": 0.13,
				"shape": 0,
				"sides": 6
			},
			"seed": -34574,
			"seed_locked": false,
			"type": "shape"
		},
		{
			"name": "colorize_2_2",
			"node_position": {
				"x": -840.442566,
				"y": 1029.332642
			},
			"parameters": {
				"gradient": {
					"interpolation": 1,
					"points": [
						{
							"a": 0,
							"b": 0,
							"g": 0,
							"pos": 0,
							"r": 0
						},
						{
							"a": 1,
							"b": 0,
							"g": 1,
							"pos": 0.036364,
							"r": 0.21875
						},
						{
							"a": 1,
							"b": 1,
							"g": 1,
							"pos": 1,
							"r": 1
						}
					],
					"type": "Gradient"
				}
			},
			"seed": -6579,
			"seed_locked": false,
			"type": "colorize"
		},
		{
			"name": "shape_2",
			"node_position": {
				"x": -1019.442627,
				"y": 754.082642
			},
			"parameters": {
				"edge": 1,
				"radius": 0.12,
				"shape": 1,
				"sides": 6
			},
			"seed": -58007,
			"seed_locked": false,
			"type": "shape"
		},
		{
			"name": "shape_2_3",
			"node_position": {
				"x": -1022.442627,
				"y": 897.332642
			},
			"parameters": {
				"edge": 1,
				"radius": 0.06,
				"shape": 2,
				"sides": 5
			},
			"seed": -15937,
			"seed_locked": false,
			"type": "shape"
		},
		{
			"name": "colorize_2",
			"node_position": {
				"x": -838.442566,
				"y": 893.332642
			},
			"parameters": {
				"gradient": {
					"interpolation": 1,
					"points": [
						{
							"a": 0,
							"b": 0,
							"g": 0,
							"pos": 0,
							"r": 0
						},
						{
							"a": 1,
							"b": 0,
							"g": 0.9375,
							"pos": 0.045455,
							"r": 1
						},
						{
							"a": 1,
							"b": 1,
							"g": 1,
							"pos": 1,
							"r": 1
						}
					],
					"type": "Gradient"
				}
			},
			"seed": -56325,
			"seed_locked": false,
			"type": "colorize"
		},
		{
			"name": "colorize",
			"node_position": {
				"x": -840.442566,
				"y": 748.082642
			},
			"parameters": {
				"gradient": {
					"interpolation": 1,
					"points": [
						{
							"a": 0,
							"b": 0,
							"g": 0,
							"pos": 0,
							"r": 0
						},
						{
							"a": 1,
							"b": 0,
							"g": 0,
							"pos": 0.036364,
							"r": 1
						},
						{
							"a": 1,
							"b": 1,
							"g": 1,
							"pos": 1,
							"r": 1
						}
					],
					"type": "Gradient"
				}
			},
			"seed": -8028,
			"seed_locked": false,
			"type": "colorize"
		},
		{
			"name": "shape_2_2_2",
			"node_position": {
				"x": -1016.442627,
				"y": 1170.332642
			},
			"parameters": {
				"edge": 1,
				"radius": 0.12,
				"shape": 3,
				"sides": 7
			},
			"seed": -34710,
			"seed_locked": false,
			"type": "shape"
		},
		{
			"name": "tile2x2",
			"node_position": {
				"x": -558.442566,
				"y": 890.082642
			},
			"parameters": {

			},
			"seed": -55020,
			"seed_locked": false,
			"type": "tile2x2"
		},
		{
			"name": "splatter_color",
			"node_position": {
				"x": -328.164795,
				"y": 1041.0271
			},
			"parameters": {
				"count": 100,
				"opacity": 0,
				"rotate": 0,
				"scale": 0,
				"scale_x": 1,
				"scale_y": 1,
				"select_inputs": 0,
				"variations": false
			},
			"seed": -56231,
			"seed_locked": false,
			"type": "splatter_color"
		},
		{
			"name": "tiler_color",
			"node_position": {
				"x": -664.862,
				"y": 637.541748
			},
			"parameters": {
				"fixed_offset": 0,
				"offset": 0.62,
				"opacity": 0,
				"overlap": 1,
				"rotate": 45,
				"scale": 0.2,
				"scale_x": 1,
				"scale_y": 1,
				"select_inputs": 1,
				"tx": 8,
				"ty": 8,
				"variations": false
			},
			"seed": -45119,
			"seed_locked": false,
			"type": "tiler_color"
		},
		{
			"name": "splatter_2",
			"node_position": {
				"x": -69.299805,
				"y": 1020.827515
			},
			"parameters": {
				"count": 8,
				"inputs": 0,
				"rotate": 0,
				"scale": 0,
				"scale_x": 1,
				"scale_y": 1,
				"value": 0,
				"variations": false
			},
			"seed": -24743,
			"seed_locked": false,
			"type": "splatter"
		},
		{
			"name": "colorize_3",
			"node_position": {
				"x": -100.299805,
				"y": 952.827515
			},
			"parameters": {
				"gradient": {
					"interpolation": 0,
					"points": [
						{
							"a": 1,
							"b": 0,
							"g": 0,
							"pos": 0,
							"r": 0
						},
						{
							"a": 1,
							"b": 1,
							"g": 1,
							"pos": 0.081818,
							"r": 1
						},
						{
							"a": 1,
							"b": 0,
							"g": 0,
							"pos": 0.163636,
							"r": 0
						}
					],
					"type": "Gradient"
				}
			},
			"seed": -11172,
			"seed_locked": false,
			"type": "colorize"
		},
		{
			"name": "fill_to_random_grey",
			"node_position": {
				"x": 209.928162,
				"y": 965.827515
			},
			"parameters": {
				"edgecolor": 1
			},
			"seed": 27530,
			"seed_locked": false,
			"type": "fill_to_random_grey"
		},
		{
			"name": "fill_to_random_color",
			"node_position": {
				"x": 203.903778,
				"y": 1033.827515
			},
			"parameters": {
				"edgecolor": {
					"a": 1,
					"b": 1,
					"g": 1,
					"r": 1,
					"type": "Color"
				}
			},
			"seed": 43420,
			"seed_locked": false,
			"type": "fill_to_random_color"
		},
		{
			"name": "fill_to_uv",
			"node_position": {
				"x": 228.874451,
				"y": 1094.827515
			},
			"parameters": {
				"mode": 0
			},
			"seed": 46042,
			"seed_locked": false,
			"type": "fill_to_uv"
		},
		{
			"name": "1644",
			"node_position": {
				"x": 479.442322,
				"y": 1067.827515
			},
			"parameters": {

			},
			"seed": 16170,
			"seed_locked": false,
			"shader_model": {
				"code": "",
				"global": "",
				"inputs": [
					{
						"default": "vec3(0.0)",
						"label": "",
						"name": "in",
						"type": "rgb"
					}
				],
				"instance": "",
				"name": "Limit",
				"outputs": [
					{
						"rgb": "clamp($in($uv), vec3(0.0), vec3(1.0))",
						"type": "rgb"
					}
				],
				"parameters": [

				]
			},
			"type": "shader"
		},
		{
			"name": "fill_to_position",
			"node_position": {
				"x": 239.209686,
				"y": 1157.572266
			},
			"parameters": {
				"axis": 0
			},
			"seed": 2420,
			"seed_locked": false,
			"type": "fill_to_position"
		},
		{
			"name": "fill_to_size",
			"node_position": {
				"x": 249.209686,
				"y": 1219.572266
			},
			"parameters": {
				"formula": 1
			},
			"seed": -52887,
			"seed_locked": true,
			"type": "fill_to_size"
		},
		{
			"name": "image",
			"node_position": {
				"x": 56.791626,
				"y": 859.482544
			},
			"parameters": {
				"image": "C:/Users/rodzi/Downloads/Qpalette.png"
			},
			"seed": 0,
			"seed_locked": false,
			"type": "image"
		},
		{
			"name": "shape_3",
			"node_position": {
				"x": 1055.958252,
				"y": 280.149109
			},
			"parameters": {
				"edge": 0.1,
				"radius": 0.85,
				"shape": 1,
				"sides": 6
			},
			"seed": 0,
			"seed_locked": false,
			"type": "shape"
		},
		{
			"name": "colormap",
			"node_position": {
				"x": 487.958313,
				"y": 392.149109
			},
			"parameters": {
				"direction": 0,
				"offset": 0.48
			},
			"seed": 0,
			"seed_locked": false,
			"type": "colormap"
		},
		{
			"name": "fbm2",
			"node_position": {
				"x": 254.958313,
				"y": 513.149109
			},
			"parameters": {
				"folds": 0,
				"iterations": 5,
				"noise": 0,
				"offset": 0,
				"persistence": 0.5,
				"scale_x": 2,
				"scale_y": 2
			},
			"seed": 0.513607,
			"seed_locked": false,
			"type": "fbm2"
		},
		{
			"name": "perlin_color",
			"node_position": {
				"x": 186.958313,
				"y": 353.149109
			},
			"parameters": {
				"iterations": 3,
				"persistence": 0.5,
				"scale_x": 4,
				"scale_y": 4
			},
			"seed": 0,
			"seed_locked": false,
			"type": "perlin_color"
		},
		{
			"connections": [
				{
					"from": "graph_2",
					"from_port": 0,
					"to": "blend_2",
					"to_port": 0
				},
				{
					"from": "blend",
					"from_port": 0,
					"to": "blend_2",
					"to_port": 1
				},
				{
					"from": "graph_3",
					"from_port": 0,
					"to": "blend",
					"to_port": 2
				},
				{
					"from": "blend_2",
					"from_port": 0,
					"to": "gen_outputs",
					"to_port": 0
				},
				{
					"from": "gen_inputs",
					"from_port": 0,
					"to": "blend",
					"to_port": 0
				},
				{
					"from": "gen_inputs",
					"from_port": 1,
					"to": "blend",
					"to_port": 1
				}
			],
			"label": "A to B",
			"longdesc": "",
			"name": "graph",
			"node_position": {
				"x": 753.377441,
				"y": 377.7742
			},
			"nodes": [
				{
					"connections": [
						{
							"from": "sdbox_3",
							"from_port": 0,
							"to": "sdboolean_3",
							"to_port": 1
						},
						{
							"from": "sdboolean_3_2",
							"from_port": 0,
							"to": "sdboolean_3",
							"to_port": 0
						},
						{
							"from": "sdrhombus_2",
							"from_port": 0,
							"to": "sdboolean_3_2",
							"to_port": 1
						},
						{
							"from": "sdbox_3_2",
							"from_port": 0,
							"to": "sdboolean_3_2",
							"to_port": 0
						},
						{
							"from": "colorize",
							"from_port": 0,
							"to": "gen_outputs",
							"to_port": 0
						},
						{
							"from": "sdboolean_3",
							"from_port": 0,
							"to": "sdshow",
							"to_port": 0
						},
						{
							"from": "sdshow",
							"from_port": 0,
							"to": "colorize",
							"to_port": 0
						}
					],
					"label": "Arrow",
					"longdesc": "",
					"name": "graph_2",
					"node_position": {
						"x": 800.827515,
						"y": 247.753479
					},
					"nodes": [
						{
							"name": "sdbox_3",
							"node_position": {
								"x": 368.648682,
								"y": 387.121552
							},
							"parameters": {
								"cx": -0.07,
								"cy": 0,
								"h": 0.04,
								"w": 0.08
							},
							"seed": 48403,
							"seed_locked": false,
							"type": "sdbox"
						},
						{
							"name": "sdrhombus_2",
							"node_position": {
								"x": 235.398682,
								"y": 252.121552
							},
							"parameters": {
								"cx": -0.02,
								"cy": 0,
								"h": 0.12,
								"w": 0.15
							},
							"seed": 37257,
							"seed_locked": false,
							"type": "sdrhombus"
						},
						{
							"name": "sdbox_3_2",
							"node_position": {
								"x": 220.086548,
								"y": 108.972382
							},
							"parameters": {
								"cx": -0.23,
								"cy": 0,
								"h": 0.35,
								"w": 0.21
							},
							"seed": 48840,
							"seed_locked": false,
							"type": "sdbox"
						},
						{
							"name": "sdboolean_3_2",
							"node_position": {
								"x": 454.586548,
								"y": 205.972443
							},
							"parameters": {
								"op": 1
							},
							"seed": 12343,
							"seed_locked": false,
							"type": "sdboolean"
						},
						{
							"name": "sdboolean_3",
							"node_position": {
								"x": 614.648682,
								"y": 282.510315
							},
							"parameters": {
								"op": 0
							},
							"seed": 42304,
							"seed_locked": false,
							"type": "sdboolean"
						},
						{
							"name": "colorize",
							"node_position": {
								"x": 858.58667,
								"y": 374.972534
							},
							"parameters": {
								"gradient": {
									"interpolation": 1,
									"points": [
										{
											"a": 0,
											"b": 0,
											"g": 0,
											"pos": 0,
											"r": 1
										},
										{
											"a": 1,
											"b": 0,
											"g": 0,
											"pos": 1,
											"r": 1
										}
									],
									"type": "Gradient"
								}
							},
							"seed": 19600,
							"seed_locked": false,
							"type": "colorize"
						},
						{
							"name": "gen_inputs",
							"node_position": {
								"x": -64.601318,
								"y": 285.753479
							},
							"parameters": {

							},
							"ports": [

							],
							"seed": -50851,
							"seed_locked": false,
							"type": "ios"
						},
						{
							"name": "gen_outputs",
							"node_position": {
								"x": 1158.58667,
								"y": 285.753479
							},
							"parameters": {

							},
							"ports": [
								{
									"name": "port0",
									"type": "rgba"
								}
							],
							"seed": 50983,
							"seed_locked": false,
							"type": "ios"
						},
						{
							"name": "gen_parameters",
							"node_position": {
								"x": 281.827484,
								"y": -178.027618
							},
							"parameters": {

							},
							"seed": -10679,
							"seed_locked": false,
							"type": "remote",
							"widgets": [

							]
						},
						{
							"name": "sdshow",
							"node_position": {
								"x": 631.060425,
								"y": 365.52536
							},
							"parameters": {
								"base": 0,
								"bevel": 0.01
							},
							"seed": 46084,
							"seed_locked": false,
							"type": "sdshow"
						}
					],
					"parameters": {

					},
					"seed": 51213,
					"seed_locked": false,
					"shortdesc": "",
					"type": "graph"
				},
				{
					"connections": [
						{
							"from": "pattern",
							"from_port": 0,
							"to": "transform",
							"to_port": 0
						},
						{
							"from": "transform",
							"from_port": 0,
							"to": "colorize",
							"to_port": 0
						},
						{
							"from": "colorize",
							"from_port": 0,
							"to": "gen_outputs",
							"to_port": 0
						}
					],
					"label": "Gradient",
					"longdesc": "",
					"name": "graph_3",
					"node_position": {
						"x": 729.212097,
						"y": 543.143799
					},
					"nodes": [
						{
							"name": "pattern",
							"node_position": {
								"x": -389.625,
								"y": -359.458374
							},
							"parameters": {
								"mix": 0,
								"x_scale": 1,
								"x_wave": 3,
								"y_scale": 1,
								"y_wave": 4
							},
							"seed": 19324,
							"seed_locked": false,
							"type": "pattern"
						},
						{
							"name": "transform",
							"node_position": {
								"x": -371.125,
								"y": -262.458374
							},
							"parameters": {
								"repeat": false,
								"rotate": 180,
								"scale_x": 1,
								"scale_y": 1,
								"translate_x": 0,
								"translate_y": 0
							},
							"seed": 6377,
							"seed_locked": false,
							"type": "transform"
						},
						{
							"name": "colorize",
							"node_position": {
								"x": -352.125,
								"y": -69.458374
							},
							"parameters": {
								"gradient": {
									"interpolation": 0,
									"points": [
										{
											"a": 1,
											"b": 1,
											"g": 1,
											"pos": 0,
											"r": 1
										},
										{
											"a": 1,
											"b": 0,
											"g": 0,
											"pos": 1,
											"r": 0
										}
									],
									"type": "Gradient"
								}
							},
							"seed": 51931,
							"seed_locked": false,
							"type": "colorize"
						},
						{
							"name": "gen_parameters",
							"node_position": {
								"x": -406.125,
								"y": -498.858337
							},
							"parameters": {
								"param0": 1,
								"param1": 180,
								"param2": {
									"interpolation": 0,
									"points": [
										{
											"a": 1,
											"b": 1,
											"g": 1,
											"pos": 0,
											"r": 1
										},
										{
											"a": 1,
											"b": 0,
											"g": 0,
											"pos": 1,
											"r": 0
										}
									],
									"type": "Gradient"
								}
							},
							"seed": 23256,
							"seed_locked": false,
							"type": "remote",
							"widgets": [
								{
									"label": "Repeat",
									"linked_widgets": [
										{
											"node": "pattern",
											"widget": "x_scale"
										}
									],
									"name": "param0",
									"type": "linked_control"
								},
								{
									"label": "Rotate",
									"linked_widgets": [
										{
											"node": "transform",
											"widget": "rotate"
										}
									],
									"name": "param1",
									"type": "linked_control"
								},
								{
									"label": "Gradient",
									"linked_widgets": [
										{
											"node": "colorize",
											"widget": "gradient"
										}
									],
									"name": "param2",
									"type": "linked_control"
								}
							]
						},
						{
							"name": "gen_inputs",
							"node_position": {
								"x": -706.125,
								"y": -297.55835
							},
							"parameters": {

							},
							"ports": [

							],
							"seed": 53845,
							"seed_locked": false,
							"type": "ios"
						},
						{
							"name": "gen_outputs",
							"node_position": {
								"x": -52.125,
								"y": -297.55835
							},
							"parameters": {

							},
							"ports": [
								{
									"name": "port0",
									"type": "rgba"
								}
							],
							"seed": 21347,
							"seed_locked": false,
							"type": "ios"
						}
					],
					"parameters": {
						"param0": 1,
						"param1": 180,
						"param2": {
							"interpolation": 0,
							"points": [
								{
									"a": 1,
									"b": 1,
									"g": 1,
									"pos": 0,
									"r": 1
								},
								{
									"a": 1,
									"b": 0,
									"g": 0,
									"pos": 1,
									"r": 0
								}
							],
							"type": "Gradient"
						}
					},
					"seed": -14554,
					"seed_locked": false,
					"shortdesc": "",
					"type": "graph"
				},
				{
					"name": "blend",
					"node_position": {
						"x": 742.235168,
						"y": 415.099731
					},
					"parameters": {
						"amount": 1,
						"blend_type": 0
					},
					"seed": 48719,
					"seed_locked": false,
					"type": "blend"
				},
				{
					"name": "blend_2",
					"node_position": {
						"x": 741.235168,
						"y": 305.099731
					},
					"parameters": {
						"amount": 1,
						"blend_type": 0
					},
					"seed": 40090,
					"seed_locked": false,
					"type": "blend"
				},
				{
					"name": "gen_inputs",
					"node_position": {
						"x": 251.212097,
						"y": 418.7742
					},
					"parameters": {

					},
					"ports": [
						{
							"group_size": 0,
							"name": "port0",
							"type": "rgba"
						},
						{
							"group_size": 0,
							"name": "port1",
							"type": "f"
						}
					],
					"seed": 0,
					"seed_locked": false,
					"type": "ios"
				},
				{
					"name": "gen_outputs",
					"node_position": {
						"x": 1100.827515,
						"y": 377.7742
					},
					"parameters": {

					},
					"ports": [
						{
							"group_size": 0,
							"name": "port0",
							"type": "rgba"
						}
					],
					"seed": 0,
					"seed_locked": false,
					"type": "ios"
				},
				{
					"name": "gen_parameters",
					"node_position": {
						"x": 553.377441,
						"y": -52.246521
					},
					"parameters": {

					},
					"seed": 0,
					"seed_locked": false,
					"type": "remote",
					"widgets": [

					]
				}
			],
			"parameters": {

			},
			"seed": 0,
			"seed_locked": false,
			"shortdesc": "",
			"type": "graph"
		},
		{
			"connections": [
				{
					"from": "buffer",
					"from_port": 0,
					"to": "invert",
					"to_port": 0
				},
				{
					"from": "buffer",
					"from_port": 0,
					"to": "switch",
					"to_port": 0
				},
				{
					"from": "invert",
					"from_port": 0,
					"to": "switch",
					"to_port": 1
				},
				{
					"from": "switch",
					"from_port": 0,
					"to": "shape_2",
					"to_port": 0
				},
				{
					"from": "shape_3",
					"from_port": 0,
					"to": "gen_outputs",
					"to_port": 0
				},
				{
					"from": "buffer",
					"from_port": 0,
					"to": "shape_3",
					"to_port": 1
				},
				{
					"from": "gen_inputs",
					"from_port": 0,
					"to": "buffer",
					"to_port": 0
				},
				{
					"from": "shape_2",
					"from_port": 0,
					"to": "uniform_greyscale",
					"to_port": 0
				},
				{
					"from": "buffer_3",
					"from_port": 0,
					"to": "uniform_greyscale_2",
					"to_port": 0
				},
				{
					"from": "uniform_greyscale",
					"from_port": 0,
					"to": "buffer_3",
					"to_port": 0
				},
				{
					"from": "uniform_greyscale_2",
					"from_port": 0,
					"to": "shape_3",
					"to_port": 0
				}
			],
			"label": "Morphology",
			"longdesc": "",
			"name": "uniform_greyscale",
			"node_position": {
				"x": 654.047668,
				"y": -146.946777
			},
			"nodes": [
				{
					"name": "buffer",
					"node_position": {
						"x": -800,
						"y": 60
					},
					"parameters": {
						"filter": false,
						"mipmap": false,
						"size": 10
					},
					"seed": 0,
					"seed_locked": false,
					"type": "buffer",
					"version": 2
				},
				{
					"name": "invert",
					"node_position": {
						"x": -460,
						"y": 60
					},
					"parameters": {

					},
					"seed": 0,
					"seed_locked": false,
					"type": "invert"
				},
				{
					"name": "shape_2",
					"node_position": {
						"x": -99,
						"y": -45
					},
					"parameters": {
						"d": 0.1,
						"s": 10
					},
					"seed": 0,
					"seed_locked": false,
					"shader_model": {
						"code": "",
						"global": "",
						"inputs": [
							{
								"default": "0.0",
								"function": true,
								"label": "",
								"name": "in",
								"type": "f"
							}
						],
						"instance": "vec2 $(name)_dilate(vec2 uv) {\n\tfloat e = 1.0/$s;\n\tfloat dx = floor($d/e)*e;\n\tfloat v = 0.0;\n\tfloat bestuv_x = uv.x;\n\tfor (float x = 0.0; x < dx; x += e) {\n\t\tfloat c = $in(uv+vec2(x, 0.0));\n\t\tif (c > v) {\n\t\t\tv = c;\n\t\t\tbestuv_x = uv.x+x;\n\t\t}\n\t\tc = $in(uv-vec2(x, 0.0));\n\t\tif (c > v) {\n\t\t\tv = c;\n\t\t\tbestuv_x = uv.x-x;\n\t\t}\n\t}\n\treturn vec2(v, bestuv_x);\n}",
						"name": "Morphology Dilation 1",
						"outputs": [
							{
								"rgb": "vec3($(name)_dilate($uv), 0.0)",
								"type": "rgb"
							}
						],
						"parameters": [
							{
								"default": 9,
								"first": 6,
								"label": "",
								"last": 12,
								"name": "s",
								"type": "size"
							},
							{
								"control": "None",
								"default": 0.1,
								"label": "",
								"max": 0.3,
								"min": 0,
								"name": "d",
								"step": 0.01,
								"type": "float"
							}
						]
					},
					"type": "shader"
				},
				{
					"name": "shape_3",
					"node_position": {
						"x": -217,
						"y": 340
					},
					"parameters": {
						"d": 0.1,
						"s": 10
					},
					"seed": 0,
					"seed_locked": false,
					"shader_model": {
						"code": "",
						"global": "",
						"inputs": [
							{
								"default": "vec3(0.0)",
								"function": true,
								"label": "",
								"name": "in",
								"type": "rgb"
							},
							{
								"default": "vec4(0.0)",
								"label": "",
								"name": "in2",
								"type": "rgba"
							}
						],
						"instance": "vec3 $(name)_dilate(vec2 uv) {\n\tfloat e = 1.0/$s;\n\tfloat dx = floor($d/e)*e;\n\tfloat v = 0.0;\n\tvec2 bestuv = uv;\n\tfor (float x = 0.0; x < dx; x += e) {\n\t\tvec2 input = $in(uv+vec2(0.0, x)).xy;\n\t\tif (v < input.x && $d >= length(vec2(input.y-uv.x, x))) {\n\t\t\tv = input.x;\n\t\t\tbestuv = vec2(input.y, uv.y+x);\n\t\t}\n\t\tinput = $in(uv-vec2(0.0, x)).xy;\n\t\tif (v < input.x && $d >= length(vec2(input.y-uv.x, x))) {\n\t\t\tv = input.x;\n\t\t\tbestuv = vec2(input.y, uv.y-x);\n\t\t}\n\t}\n\treturn vec3(v, bestuv);\n}",
						"name": "Morphology Dilation 2",
						"outputs": [
							{
								"rgba": "$in2(fract($(name)_dilate($uv).yz))",
								"type": "rgba"
							}
						],
						"parameters": [
							{
								"default": 9,
								"first": 6,
								"label": "",
								"last": 12,
								"name": "s",
								"type": "size"
							},
							{
								"control": "None",
								"default": 0.1,
								"label": "",
								"max": 0.3,
								"min": 0,
								"name": "d",
								"step": 0.01,
								"type": "float"
							}
						]
					},
					"type": "shader"
				},
				{
					"name": "uniform_greyscale",
					"node_position": {
						"x": -107.877747,
						"y": 80.625549
					},
					"parameters": {

					},
					"seed": 0,
					"seed_locked": false,
					"type": "pack_2x32_to_4x16"
				},
				{
					"name": "buffer_3",
					"node_position": {
						"x": -149,
						"y": 148
					},
					"parameters": {
						"filter": false,
						"mipmap": false,
						"size": 10
					},
					"seed": 0,
					"seed_locked": false,
					"type": "buffer",
					"version": 2
				},
				{
					"name": "uniform_greyscale_2",
					"node_position": {
						"x": -185.877747,
						"y": 271.625549
					},
					"parameters": {

					},
					"seed": 0,
					"seed_locked": false,
					"type": "pack_4x16_to_2x32"
				},
				{
					"name": "switch",
					"node_position": {
						"x": -300,
						"y": -40
					},
					"parameters": {
						"choices": 2,
						"outputs": 1,
						"source": 0
					},
					"seed": 0,
					"seed_locked": false,
					"type": "switch"
				},
				{
					"name": "gen_parameters",
					"node_position": {
						"x": -243,
						"y": -205
					},
					"parameters": {
						"distance": 0.1,
						"operation": 0,
						"resolution": 10
					},
					"seed": 0,
					"seed_locked": false,
					"type": "remote",
					"widgets": [
						{
							"configurations": {
								"Dilation": [
									{
										"node": "switch",
										"value": 0,
										"widget": "source"
									}
								],
								"Erosion": [
									{
										"node": "switch",
										"value": 1,
										"widget": "source"
									}
								]
							},
							"label": "",
							"linked_widgets": [
								{
									"node": "switch",
									"widget": "source"
								}
							],
							"longdesc": "Morphology operation",
							"name": "operation",
							"shortdesc": "Operation",
							"type": "config_control"
						},
						{
							"label": "",
							"linked_widgets": [
								{
									"node": "shape_2",
									"widget": "s"
								},
								{
									"node": "shape_3",
									"widget": "s"
								},
								{
									"node": "buffer",
									"widget": "size"
								},
								{
									"node": "buffer_3",
									"widget": "size"
								}
							],
							"longdesc": "Resolution of the generated image",
							"name": "resolution",
							"shortdesc": "Resolution",
							"type": "linked_control"
						},
						{
							"label": "",
							"linked_widgets": [
								{
									"node": "shape_2",
									"widget": "d"
								},
								{
									"node": "shape_3",
									"widget": "d"
								}
							],
							"longdesc": "Distance of the operation",
							"name": "distance",
							"shortdesc": "Distance",
							"type": "linked_control"
						}
					]
				},
				{
					"name": "gen_inputs",
					"node_position": {
						"x": -1221.203125,
						"y": 65.215454
					},
					"parameters": {

					},
					"ports": [
						{
							"name": "port0",
							"type": "rgb"
						}
					],
					"seed": 0,
					"seed_locked": false,
					"type": "ios"
				},
				{
					"name": "gen_outputs",
					"node_position": {
						"x": 200,
						"y": 75.583458
					},
					"parameters": {

					},
					"ports": [
						{
							"name": "port0",
							"type": "rgba"
						}
					],
					"seed": 0,
					"seed_locked": false,
					"type": "ios"
				}
			],
			"parameters": {
				"distance": 0.1,
				"operation": 0,
				"resolution": 10
			},
			"seed": 0,
			"seed_locked": false,
			"shortdesc": "",
			"type": "graph"
		},
		{
			"name": "perlin_color_2",
			"node_position": {
				"x": 332.047668,
				"y": -213.946777
			},
			"parameters": {
				"iterations": 1,
				"persistence": 0.5,
				"scale_x": 32,
				"scale_y": 32
			},
			"seed": 0.626789,
			"seed_locked": false,
			"type": "perlin_color"
		},
		{
			"name": "uniform_greyscale_2",
			"node_position": {
				"x": 635.15625,
				"y": 24.505493
			},
			"parameters": {
				"distance": 0.05,
				"operation": 0,
				"resolution": 10
			},
			"seed": 0,
			"seed_locked": false,
			"type": "morphology2"
		}
	],
	"parameters": {

	},
	"seed": 0,
	"seed_locked": false,
	"shortdesc": "",
	"type": "graph"
}