{ "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": "sdf3d_cylinder", "from_port": 0, "to": "raymarching", "to_port": 0 }, { "from": "blend_2", "from_port": 0, "to": "Material", "to_port": 0 }, { "from": "shape", "from_port": 0, "to": "quantize", "to_port": 0 }, { "from": "quantize", "from_port": 0, "to": "edge_detect_1", "to_port": 0 }, { "from": "quantize", "from_port": 0, "to": "edge_detect_2", "to_port": 0 }, { "from": "quantize", "from_port": 0, "to": "edge_detect_3", "to_port": 0 }, { "from": "quantize", "from_port": 0, "to": "sharpen", "to_port": 0 }, { "from": "quantize", "from_port": 0, "to": "blend", "to_port": 0 }, { "from": "edge_detect_1", "from_port": 0, "to": "blend", "to_port": 1 } ], "label": "Graph", "name": "49", "node_position": { "x": 0, "y": 0 }, "nodes": [ { "name": "Material", "node_position": { "x": 501.544006, "y": 288.080017 }, "parameters": { "albedo_color": { "a": 1, "b": 1, "g": 1, "r": 1, "type": "Color" }, "ao_light_affect": 1, "depth_scale": 1, "emission_energy": 1, "metallic": 1, "normal_scale": 1, "roughness": 1, "size": 9, "subsurf_scatter_strength": 0 }, "type": "material" }, { "connections": [ { "from": "transform", "from_port": 0, "to": "blend_3", "to_port": 0 }, { "from": "transform_2", "from_port": 0, "to": "blend_3", "to_port": 1 }, { "from": "blend_3", "from_port": 0, "to": "blend", "to_port": 0 }, { "from": "transform_3", "from_port": 0, "to": "blend_2", "to_port": 0 }, { "from": "transform_4", "from_port": 0, "to": "blend_2", "to_port": 1 }, { "from": "blend_2", "from_port": 0, "to": "blend", "to_port": 1 }, { "from": "shape_5", "from_port": 0, "to": "blend_4", "to_port": 1 }, { "from": "gen_inputs", "from_port": 3, "to": "blend_4", "to_port": 0 }, { "from": "blend_4", "from_port": 0, "to": "transform_4", "to_port": 0 }, { "from": "shape_5", "from_port": 0, "to": "blend_4_2", "to_port": 1 }, { "from": "gen_inputs", "from_port": 2, "to": "blend_4_2", "to_port": 0 }, { "from": "shape_5", "from_port": 0, "to": "blend_4_3", "to_port": 1 }, { "from": "gen_inputs", "from_port": 1, "to": "blend_4_3", "to_port": 0 }, { "from": "gen_inputs", "from_port": 0, "to": "blend_4_4", "to_port": 0 }, { "from": "shape_5", "from_port": 0, "to": "blend_4_4", "to_port": 1 }, { "from": "blend_4_4", "from_port": 0, "to": "transform", "to_port": 0 }, { "from": "blend_4_3", "from_port": 0, "to": "transform_2", "to_port": 0 }, { "from": "blend_4_2", "from_port": 0, "to": "transform_3", "to_port": 0 }, { "from": "blend", "from_port": 0, "to": "gen_outputs", "to_port": 0 } ], "label": "Tile Inputs", "name": "graph", "node_position": { "x": 197.541992, "y": 137.266541 }, "nodes": [ { "name": "transform_4", "node_position": { "x": -144.5, "y": 193 }, "parameters": { "repeat": false, "rotate": 0, "scale_x": 0.5, "scale_y": 0.5, "translate_x": 0.25, "translate_y": 0.25 }, "type": "transform" }, { "name": "transform_3", "node_position": { "x": -141.5, "y": -2 }, "parameters": { "repeat": false, "rotate": 0, "scale_x": 0.5, "scale_y": 0.5, "translate_x": -0.25, "translate_y": 0.25 }, "type": "transform" }, { "name": "transform", "node_position": { "x": -136.5, "y": -418 }, "parameters": { "repeat": false, "rotate": 0, "scale_x": 0.5, "scale_y": 0.5, "translate_x": -0.25, "translate_y": -0.25 }, "type": "transform" }, { "name": "transform_2", "node_position": { "x": -135.5, "y": -224 }, "parameters": { "repeat": false, "rotate": 0, "scale_x": 0.5, "scale_y": 0.5, "translate_x": 0.25, "translate_y": -0.25 }, "type": "transform" }, { "name": "blend_2", "node_position": { "x": 113.5, "y": -10 }, "parameters": { "amount": 1, "blend_type": 9 }, "type": "blend" }, { "name": "blend_3", "node_position": { "x": 114.5, "y": -95 }, "parameters": { "amount": 1, "blend_type": 9 }, "type": "blend" }, { "name": "shape_5", "node_position": { "x": -392.29126, "y": 349 }, "parameters": { "edge": 0, "radius": 0.99, "shape": 1, "sides": 4 }, "type": "shape" }, { "name": "blend_4", "node_position": { "x": -405.29126, "y": 184.25 }, "parameters": { "amount": 1, "blend_type": 10 }, "type": "blend" }, { "name": "blend_4_2", "node_position": { "x": -404.79126, "y": 12.25 }, "parameters": { "amount": 1, "blend_type": 10 }, "type": "blend" }, { "name": "blend_4_3", "node_position": { "x": -399.79126, "y": -141.75 }, "parameters": { "amount": 1, "blend_type": 10 }, "type": "blend" }, { "name": "blend_4_4", "node_position": { "x": -393.79126, "y": -293 }, "parameters": { "amount": 1, "blend_type": 10 }, "type": "blend" }, { "name": "blend", "node_position": { "x": 358.220001, "y": -53.728001 }, "parameters": { "amount": 1, "blend_type": 9 }, "type": "blend" }, { "name": "gen_inputs", "node_position": { "x": -705.29126, "y": -41.581501 }, "parameters": { }, "ports": [ { "name": "port3", "type": "rgba" }, { "name": "port2", "type": "rgba" }, { "name": "port1", "type": "rgba" }, { "name": "port0", "type": "rgba" } ], "type": "ios" }, { "name": "gen_outputs", "node_position": { "x": 658.219971, "y": -41.581501 }, "parameters": { }, "ports": [ { "name": "port0", "type": "rgba" } ], "type": "ios" }, { "name": "gen_parameters", "node_position": { "x": -363.978027, "y": -718 }, "parameters": { }, "type": "remote", "widgets": [ ] } ], "parameters": { }, "type": "graph" }, { "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", "name": "graph_2", "node_position": { "x": 196.827515, "y": 248.753479 }, "nodes": [ { "name": "sdbox_3", "node_position": { "x": 368.648682, "y": 387.121552 }, "parameters": { "cx": -0.07, "cy": 0, "h": 0.04, "r": 0.3, "w": 0.08 }, "type": "sdbox" }, { "name": "sdrhombus_2", "node_position": { "x": 235.398682, "y": 252.121552 }, "parameters": { "cx": -0.02, "cy": 0, "h": 0.12, "r": 0.3, "w": 0.15 }, "type": "sdrhombus" }, { "name": "sdbox_3_2", "node_position": { "x": 220.086548, "y": 108.972382 }, "parameters": { "cx": -0.23, "cy": 0, "h": 0.35, "r": 0.3, "w": 0.21 }, "type": "sdbox" }, { "name": "sdboolean_3_2", "node_position": { "x": 454.586548, "y": 205.972443 }, "parameters": { "bevel": 0, "cx": 0, "cy": 0, "h": 0.08, "op": 1, "r": 0.3, "w": 0.28 }, "type": "sdboolean" }, { "name": "sdboolean_3", "node_position": { "x": 614.648682, "y": 282.510315 }, "parameters": { "bevel": 0, "cx": 0, "cy": 0, "h": 0.08, "op": 0, "r": 0.3, "w": 0.28 }, "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" } }, "type": "colorize" }, { "name": "gen_inputs", "node_position": { "x": -64.601318, "y": 285.753479 }, "parameters": { }, "ports": [ ], "type": "ios" }, { "name": "gen_outputs", "node_position": { "x": 1158.58667, "y": 285.753479 }, "parameters": { }, "ports": [ { "name": "port0", "type": "rgba" } ], "type": "ios" }, { "name": "gen_parameters", "node_position": { "x": 281.827484, "y": -178.027618 }, "parameters": { }, "type": "remote", "widgets": [ ] }, { "name": "sdshow", "node_position": { "x": 631.060425, "y": 365.52536 }, "parameters": { "bevel": 0.01, "cx": 0, "cy": 0, "h": 0.08, "r": 0.3, "w": 0.28 }, "type": "sdshow" } ], "parameters": { }, "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", "name": "graph_3", "node_position": { "x": -226.787903, "y": 711.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 }, "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 }, "type": "transform" }, { "name": "colorize", "node_position": { "x": -352.125, "y": -69.458374 }, "parameters": { "gradient": { "interpolation": 0, "points": [ { "a": 1, "b": 0, "g": 0, "pos": 0, "r": 0 }, { "a": 1, "b": 1, "g": 1, "pos": 1, "r": 1 } ], "type": "Gradient" } }, "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": 0, "g": 0, "pos": 0, "r": 0 }, { "a": 1, "b": 1, "g": 1, "pos": 1, "r": 1 } ], "type": "Gradient" } }, "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": [ ], "type": "ios" }, { "name": "gen_outputs", "node_position": { "x": -52.125, "y": -297.55835 }, "parameters": { }, "ports": [ { "name": "port0", "type": "rgba" } ], "type": "ios" } ], "parameters": { "param0": 1, "param1": 180, "param2": { "interpolation": 0, "points": [ { "a": 1, "b": 0, "g": 0, "pos": 0, "r": 0 }, { "a": 1, "b": 1, "g": 1, "pos": 1, "r": 1 } ], "type": "Gradient" } }, "type": "graph" }, { "name": "blend", "node_position": { "x": 138.235168, "y": 415.099731 }, "parameters": { "amount": 1, "blend_type": 0 }, "type": "blend" }, { "name": "blend_2", "node_position": { "x": 142.235168, "y": 326.099731 }, "parameters": { "amount": 1, "blend_type": 0 }, "type": "blend" }, { "name": "raymarching", "node_position": { "x": 380.468536, "y": 2.145508 }, "parameters": { }, "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", "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": { "bevel": 0, "cx": 0, "cy": 0, "h": 0.08, "k": 0.04, "op": 0, "r": 0.3, "w": 0.28 }, "type": "sdf3d_smoothboolean" }, { "name": "sdf3d_translate_4", "node_position": { "x": -1309.989258, "y": 736.422729 }, "parameters": { "x": 0.52, "y": -0.22, "z": 0 }, "type": "sdf3d_translate" }, { "name": "sdf3d_smoothboolean_3_2", "node_position": { "x": -629.489258, "y": 873.422729 }, "parameters": { "bevel": 0, "cx": 0, "cy": 0, "h": 0.08, "k": 0.17, "op": 1, "r": 0.3, "w": 0.28 }, "type": "sdf3d_smoothboolean" }, { "name": "sdf3d_sphere_2_2", "node_position": { "x": -830.318359, "y": 1023.672852 }, "parameters": { "r": 0.07 }, "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 }, "type": "sdf3d_translate" }, { "name": "sdf3d_sphere_2_2_2", "node_position": { "x": -831.318359, "y": 1179.672852 }, "parameters": { "r": 0.08 }, "type": "sdf3d_sphere" }, { "name": "sdf3d_sphere_2", "node_position": { "x": -1297.989258, "y": 844.922729 }, "parameters": { "r": 0.28 }, "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 }, "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 }, "type": "sdf3d_translate" }, { "name": "sdf3d_rotate_2", "node_position": { "x": -839.193726, "y": 1471.172852 }, "parameters": { "a": 0, "ax": -30, "ay": 45, "az": 0, "x": 0.35, "y": 0, "z": 0 }, "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 }, "type": "sdf3d_translate" }, { "name": "sdf3d_smoothboolean_3_2_3", "node_position": { "x": -623.818359, "y": 1236.172852 }, "parameters": { "bevel": 0, "cx": 0, "cy": 0, "h": 0.08, "k": 0.09, "op": 1, "r": 0.3, "w": 0.28 }, "type": "sdf3d_smoothboolean" }, { "name": "sdf3d_smoothboolean_3_2_2", "node_position": { "x": -622.818359, "y": 1073.172852 }, "parameters": { "bevel": 0, "cx": 0, "cy": 0, "h": 0.08, "k": 0.15, "op": 0, "r": 0.3, "w": 0.28 }, "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 }, "type": "sdf3d_translate" }, { "name": "sdf3d_smoothboolean_3_2_3_2", "node_position": { "x": -602.693726, "y": 1454.672852 }, "parameters": { "bevel": 0, "cx": 0, "cy": 0, "h": 0.08, "k": 0.03, "op": 1, "r": 0.3, "w": 0.28 }, "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 }, "type": "sdf3d_translate" }, { "name": "sdf3d_translate_4_3_3", "node_position": { "x": -363.318359, "y": 1762.672852 }, "parameters": { "x": 0.15, "y": 0, "z": 0.18 }, "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": [ ], "type": "ios" }, { "name": "gen_outputs", "node_position": { "x": -179.318359, "y": 1763.935181 }, "parameters": { }, "ports": [ { "name": "port0", "type": "sdf3d" } ], "type": "ios" }, { "name": "gen_parameters", "node_position": { "x": -1028.995361, "y": 476.422729 }, "parameters": { }, "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 }, "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": { "a": 0, "ax": 0, "ay": 0, "az": 45, "x": 0.35, "y": 0, "z": 0 }, "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": { "a": 0, "c": 15, "r": 0.24, "rx": 4, "ry": 4, "s": 0.3, "x": 0.35, "y": 0, "z": 0 }, "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": { "a": 0, "ax": -90, "ay": 0, "az": 0, "x": 0.35, "y": 0, "z": 0 }, "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 }, "type": "sdf3d_translate" }, { "name": "sdf3d_cylinder", "node_position": { "x": -1161, "y": 994.5 }, "parameters": { "l": 0.06, "r": 0.15, "sx": 0.25, "sy": 0.25, "sz": 0.5 }, "type": "sdf3d_cylinder" }, { "name": "sdf3d_smoothboolean_3_3", "node_position": { "x": -1104.305908, "y": 815.75 }, "parameters": { "bevel": 0, "cx": 0, "cy": 0, "h": 0.08, "k": 0.1, "op": 1, "r": 0.3, "w": 0.28 }, "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 }, "type": "sdf3d_box" }, { "name": "sdf3d_smoothboolean_3_2_3_2_2", "node_position": { "x": -562.468933, "y": 1761.75 }, "parameters": { "bevel": 0, "cx": 0, "cy": 0, "h": 0.08, "k": 0.05, "op": 0, "r": 0.3, "w": 0.28 }, "type": "sdf3d_smoothboolean" }, { "name": "sdf3d_sphere_2_3", "node_position": { "x": -1165.397095, "y": 2204.25 }, "parameters": { "r": 0.28 }, "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 }, "type": "sdf3d_translate" }, { "name": "sdf3d_boolean", "node_position": { "x": -990.397095, "y": 2076 }, "parameters": { "bevel": 0, "cx": 0, "cy": 0, "h": 0.08, "op": 2, "r": 0.3, "w": 0.28 }, "type": "sdf3d_boolean" }, { "name": "sdroundedshape", "node_position": { "x": -794.225342, "y": 2070.75 }, "parameters": { "bevel": 0, "cx": 0, "cy": 0, "h": 0.08, "k": 0.15, "op": 0, "r": 0.01, "w": 0.28 }, "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": { "a": 0, "ax": 0, "ay": 0, "az": 11, "x": 0.35, "y": 0, "z": 0 }, "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": { "a": 0, "s": 0.48, "x": 0.35, "y": 0, "z": 0 }, "type": "sdf3d_scale" } ], "parameters": { }, "type": "graph" }, { "name": "sdf3d_extrusion", "node_position": { "x": -69.41095, "y": -191.970337 }, "parameters": { "a": 0, "d": -0.53, "s": 1, "x": 0.35, "y": 0, "z": 0 }, "type": "sdf3d_extrusion" }, { "name": "sdf3d_cylinder", "node_position": { "x": 115.056458, "y": -125.498108 }, "parameters": { "l": 0.25, "r": 0.25, "sx": 0.25, "sy": 0.25, "sz": 0.5 }, "type": "sdf3d_cylinder" }, { "name": "edge_detect_1", "node_position": { "x": -275.198914, "y": 265.017395 }, "parameters": { "size": 7 }, "type": "edge_detect_1" }, { "name": "shape", "node_position": { "x": -651.198914, "y": 310.517395 }, "parameters": { "edge": 0.754975, "radius": 1, "shape": 1, "sides": 7 }, "type": "shape" }, { "name": "edge_detect_2", "node_position": { "x": -275.198914, "y": 318.017395 }, "parameters": { "size": 6 }, "type": "edge_detect_2" }, { "name": "edge_detect_3", "node_position": { "x": -276.198914, "y": 371.017395 }, "parameters": { "size": 6 }, "type": "edge_detect_3" }, { "name": "sharpen", "node_position": { "x": -288.198914, "y": 505.017395 }, "parameters": { "size": 6 }, "type": "sharpen" }, { "name": "quantize", "node_position": { "x": -497.198914, "y": 378.517395 }, "parameters": { "steps": 4 }, "type": "quantize" } ], "parameters": { }, "type": "graph" }