{
    "components": [
        {
            "id": 1,
            "inputs": [
                {
                    "name": "fx",
                    "outputs": [
                        7,
                        18,
                        12,
                        24,
                        51,
                        33,
                        46
                    ]
                }
            ],
            "name": "Sceneplayer",
            "outputs": [
                {
                    "id": 3
                }
            ],
            "type": "Sceneplayer",
            "variables": {
                "branch_name": "Sceneplayer",
                "children": [
                    {
                        "branch_name": "controller",
                        "color": "#00000000",
                        "open": true,
                        "variables": [
                            {
                                "name": "sensitivity",
                                "type": 0,
                                "value": {
                                    "v": 1.0
                                }
                            },
                            {
                                "name": "position",
                                "type": 5,
                                "value": {
                                    "x": -47.01294708251953,
                                    "y": -97.99715423583984,
                                    "z": 6.951483726501465
                                }
                            },
                            {
                                "name": "direction",
                                "type": 5,
                                "value": {
                                    "x": 0.4835589826107025,
                                    "y": 0.8733274340629578,
                                    "z": 0.05890612676739693
                                }
                            },
                            {
                                "name": "up",
                                "type": 5,
                                "value": {
                                    "x": 0.829186201095581,
                                    "y": -0.47858425974845886,
                                    "z": 0.28880369663238525
                                }
                            },
                            {
                                "name": "detached",
                                "type": 9,
                                "value": {
                                    "v": 1.0
                                }
                            }
                        ]
                    }
                ],
                "color": "#00000000",
                "open": true,
                "variables": [
                    {
                        "name": "fov",
                        "type": 0,
                        "value": {
                            "v": 60.72829055786133
                        }
                    },
                    {
                        "name": "camera_idx",
                        "type": 0,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "near",
                        "type": 0,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "far",
                        "type": 0,
                        "value": {
                            "v": 1000.0
                        }
                    },
                    {
                        "name": "time",
                        "type": 0,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "ambient",
                        "type": 4,
                        "value": {
                            "a": 1.0,
                            "b": 0.0,
                            "g": 0.0,
                            "r": 0.0
                        }
                    },
                    {
                        "name": "fill",
                        "type": 4,
                        "value": {
                            "a": 1.0,
                            "b": 0.0010000000474974513,
                            "g": 0.0010000000474974513,
                            "r": 0.0010000000474974513
                        }
                    },
                    {
                        "name": "skyboxblur",
                        "type": 0,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "skyboxblur_pow",
                        "type": 0,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "shadowsplit",
                        "type": 0,
                        "value": {
                            "v": 0.75
                        }
                    },
                    {
                        "name": "Screen Space Reflections",
                        "type": 9,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "SSR Depth Thickness",
                        "type": 0,
                        "value": {
                            "v": 0.546218991279602
                        }
                    },
                    {
                        "name": "Screen Space Ambient Occlusion",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "SSAO Intensity",
                        "type": 0,
                        "value": {
                            "v": 1.1764709949493408
                        }
                    },
                    {
                        "name": "SSAO Bias",
                        "type": 0,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "SSAO Radius",
                        "type": 0,
                        "value": {
                            "v": 1.0
                        }
                    }
                ]
            },
            "visual": {
                "collapsed": {
                    "v": true
                },
                "position": {
                    "x": 1192.0,
                    "y": 323.0
                }
            }
        },
        {
            "id": 4,
            "name": "Voxelizer",
            "type": "Voxelizer",
            "variables": {
                "branch_name": "Voxelizer",
                "color": "#00000000",
                "open": true,
                "variables": [
                    {
                        "name": "grid size",
                        "type": 0,
                        "value": {
                            "v": 0.25
                        }
                    },
                    {
                        "name": "transparencies",
                        "type": 9,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "light smoothing position factor",
                        "type": 0,
                        "value": {
                            "v": 50.0
                        }
                    },
                    {
                        "name": "light falloff",
                        "type": 0,
                        "value": {
                            "v": 0.3278689980506897
                        }
                    },
                    {
                        "name": "occlusion falloff",
                        "type": 0,
                        "value": {
                            "v": 0.23529399931430817
                        }
                    },
                    {
                        "name": "light trace distance scale",
                        "type": 0,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "material_raytrace",
                        "type": 8,
                        "value": {
                            "material_name": "voxelization_partitioning"
                        }
                    },
                    {
                        "name": "envmap",
                        "type": 10,
                        "value": {
                            "resource_name": "env_texture::default",
                            "resource_type": 2
                        }
                    },
                    {
                        "name": "render_debug",
                        "type": 0,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "render_debug_bounce",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "enabled",
                        "type": 9,
                        "value": {
                            "v": 1.0
                        }
                    }
                ]
            },
            "visual": {
                "collapsed": {
                    "v": true
                },
                "position": {
                    "x": 1301.0,
                    "y": 110.0
                }
            }
        },
        {
            "id": 5,
            "name": "Raytracer",
            "type": "Raytracer",
            "variables": {
                "branch_name": "Raytracer",
                "color": "#00000000",
                "open": true,
                "variables": [
                    {
                        "name": "rotation",
                        "type": 5,
                        "value": {
                            "x": 0.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    {
                        "name": "scale",
                        "type": 0,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "grid size",
                        "type": 0,
                        "value": {
                            "v": 0.25
                        }
                    },
                    {
                        "name": "reflections",
                        "type": 9,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "transparencies",
                        "type": 9,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "material_raytrace",
                        "type": 8,
                        "value": {
                            "material_name": "raytrace_simple"
                        }
                    },
                    {
                        "name": "material_proxy",
                        "type": 8,
                        "value": {
                            "material_name": "raytrace_proxy"
                        }
                    },
                    {
                        "name": "envmap",
                        "type": 10,
                        "value": {
                            "resource_name": "multi-area-light.hdr",
                            "resource_type": 2
                        }
                    },
                    {
                        "name": "render_debug",
                        "type": 0,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "render_debug_bounce",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "voxelization_method",
                        "type": 0,
                        "value": {
                            "v": 2.0
                        }
                    },
                    {
                        "name": "enabled",
                        "type": 9,
                        "value": {
                            "v": 1.0
                        }
                    }
                ]
            },
            "visual": {
                "collapsed": {
                    "v": true
                },
                "position": {
                    "x": 1299.0,
                    "y": 168.0
                }
            }
        },
        {
            "id": 6,
            "name": "NewLight",
            "outputs": [
                {
                    "id": 7
                }
            ],
            "type": "Light",
            "variables": {
                "branch_name": "NewLight",
                "color": "#00000000",
                "open": true,
                "variables": [
                    {
                        "name": "type",
                        "type": 6,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "position",
                        "type": 5,
                        "value": {
                            "x": 12.0,
                            "y": -241.0,
                            "z": 56.0
                        }
                    },
                    {
                        "name": "rotation",
                        "type": 5,
                        "value": {
                            "x": 229.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    {
                        "name": "dimensions",
                        "type": 5,
                        "value": {
                            "x": 0.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    {
                        "name": "color",
                        "type": 4,
                        "value": {
                            "a": 1.3919999599456787,
                            "b": 1.0,
                            "g": 1.0,
                            "r": 1.0
                        }
                    },
                    {
                        "name": "intensity",
                        "type": 0,
                        "value": {
                            "v": 27.868852615356445
                        }
                    },
                    {
                        "name": "roughness modifier",
                        "type": 0,
                        "value": {
                            "v": 2.7322399616241455
                        }
                    },
                    {
                        "name": "range",
                        "type": 0,
                        "value": {
                            "v": 371.9888000488281
                        }
                    },
                    {
                        "name": "fov",
                        "type": 0,
                        "value": {
                            "v": 63.2923469543457
                        }
                    },
                    {
                        "name": "area",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "shadowcasting",
                        "type": 9,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "volumetric",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    }
                ]
            },
            "visual": {
                "collapsed": {
                    "v": true
                },
                "position": {
                    "x": 1037.0,
                    "y": 107.0
                }
            }
        },
        {
            "id": 8,
            "inputs": [
                {
                    "name": "target obj"
                },
                {
                    "name": "inst"
                },
                {
                    "name": "vm"
                }
            ],
            "name": "Floor",
            "outputs": [
                {
                    "id": 12
                },
                {
                    "id": 13
                }
            ],
            "type": "Primitive",
            "variables": {
                "branch_name": "Floor",
                "children": [
                    {
                        "branch_name": "materials",
                        "children": [
                            {
                                "branch_name": "Material 0",
                                "color": "#00000000",
                                "open": true,
                                "variables": [
                                    {
                                        "name": "diffuse",
                                        "type": 4,
                                        "value": {
                                            "a": 0.5,
                                            "b": 0.10999999940395355,
                                            "g": 0.2709999978542328,
                                            "r": 0.054999999701976776
                                        }
                                    },
                                    {
                                        "name": "emmisive",
                                        "type": 4,
                                        "value": {
                                            "a": 0.0,
                                            "b": 0.0,
                                            "g": 0.0,
                                            "r": 0.0
                                        }
                                    },
                                    {
                                        "name": "transparency",
                                        "type": 0,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "roughness",
                                        "type": 0,
                                        "value": {
                                            "v": 0.8688520193099976
                                        }
                                    },
                                    {
                                        "name": "metalness",
                                        "type": 0,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "flat",
                                        "type": 9,
                                        "value": {
                                            "v": 1.0
                                        }
                                    },
                                    {
                                        "name": "doublesided",
                                        "type": 9,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "reflective",
                                        "type": 9,
                                        "value": {
                                            "v": 1.0
                                        }
                                    },
                                    {
                                        "name": "ssr",
                                        "type": 9,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "material",
                                        "type": 8,
                                        "value": {
                                            "material_name": "flat"
                                        }
                                    },
                                    {
                                        "name": "shader",
                                        "type": 12,
                                        "value": {
                                            "text": ""
                                        }
                                    }
                                ]
                            }
                        ],
                        "color": "#00000000",
                        "open": true
                    }
                ],
                "color": "#00000000",
                "open": true,
                "variables": [
                    {
                        "name": "subdivisions 1",
                        "type": 1,
                        "value": {
                            "v": 10.0
                        }
                    },
                    {
                        "name": "subdivisions 2",
                        "type": 1,
                        "value": {
                            "v": 10.0
                        }
                    },
                    {
                        "name": "radius 1",
                        "type": 0,
                        "value": {
                            "v": 27.056474685668945
                        }
                    },
                    {
                        "name": "radius 2",
                        "type": 0,
                        "value": {
                            "v": 10.0
                        }
                    },
                    {
                        "name": "type",
                        "type": 6,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "scale",
                        "type": 5,
                        "value": {
                            "x": 8.0,
                            "y": 0.10000000149011612,
                            "z": 8.0
                        }
                    },
                    {
                        "name": "rotation",
                        "type": 5,
                        "value": {
                            "x": 1.0,
                            "y": 6.0,
                            "z": 0.0
                        }
                    },
                    {
                        "name": "position",
                        "type": 5,
                        "value": {
                            "x": 0.0,
                            "y": 7.0,
                            "z": 0.0
                        }
                    },
                    {
                        "name": "raytrace",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "voxelize",
                        "type": 9,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "reflect",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "hidden",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    }
                ]
            },
            "visual": {
                "collapsed": {
                    "v": true
                },
                "position": {
                    "x": 754.0,
                    "y": 168.0
                }
            }
        },
        {
            "id": 14,
            "inputs": [
                {
                    "name": "target obj"
                },
                {
                    "name": "inst"
                },
                {
                    "name": "vm"
                }
            ],
            "name": "Occluder",
            "outputs": [
                {
                    "id": 18
                },
                {
                    "id": 19
                }
            ],
            "type": "Primitive",
            "variables": {
                "branch_name": "Occluder",
                "children": [
                    {
                        "branch_name": "materials",
                        "children": [
                            {
                                "branch_name": "Material 0",
                                "color": "#00000000",
                                "open": true,
                                "variables": [
                                    {
                                        "name": "diffuse",
                                        "type": 4,
                                        "value": {
                                            "a": 0.5,
                                            "b": 0.27399998903274536,
                                            "g": 0.0860000029206276,
                                            "r": 0.20399999618530273
                                        }
                                    },
                                    {
                                        "name": "emmisive",
                                        "type": 4,
                                        "value": {
                                            "a": 0.0,
                                            "b": 0.47099998593330383,
                                            "g": 0.0,
                                            "r": 0.15700000524520874
                                        }
                                    },
                                    {
                                        "name": "transparency",
                                        "type": 0,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "roughness",
                                        "type": 0,
                                        "value": {
                                            "v": 1.0
                                        }
                                    },
                                    {
                                        "name": "metalness",
                                        "type": 0,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "flat",
                                        "type": 9,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "doublesided",
                                        "type": 9,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "reflective",
                                        "type": 9,
                                        "value": {
                                            "v": 1.0
                                        }
                                    },
                                    {
                                        "name": "ssr",
                                        "type": 9,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "material",
                                        "type": 8,
                                        "value": {
                                            "material_name": "flat"
                                        }
                                    },
                                    {
                                        "name": "shader",
                                        "type": 12,
                                        "value": {
                                            "text": ""
                                        }
                                    }
                                ]
                            }
                        ],
                        "color": "#00000000",
                        "open": true
                    }
                ],
                "color": "#00000000",
                "open": true,
                "variables": [
                    {
                        "name": "subdivisions 1",
                        "type": 1,
                        "value": {
                            "v": 10.0
                        }
                    },
                    {
                        "name": "subdivisions 2",
                        "type": 1,
                        "value": {
                            "v": 10.0
                        }
                    },
                    {
                        "name": "radius 1",
                        "type": 0,
                        "value": {
                            "v": 10.0
                        }
                    },
                    {
                        "name": "radius 2",
                        "type": 0,
                        "value": {
                            "v": 10.0
                        }
                    },
                    {
                        "name": "type",
                        "type": 6,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "scale",
                        "type": 5,
                        "value": {
                            "x": 6.0,
                            "y": 2.0,
                            "z": 1.0
                        }
                    },
                    {
                        "name": "rotation",
                        "type": 5,
                        "value": {
                            "x": 0.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    {
                        "name": "position",
                        "type": 5,
                        "value": {
                            "x": 2.0,
                            "y": -43.0,
                            "z": -71.0
                        }
                    },
                    {
                        "name": "raytrace",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "voxelize",
                        "type": 9,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "reflect",
                        "type": 9,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "hidden",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    }
                ]
            },
            "visual": {
                "collapsed": {
                    "v": true
                },
                "position": {
                    "x": 756.0,
                    "y": 299.0
                }
            }
        },
        {
            "id": 20,
            "inputs": [
                {
                    "name": "target obj"
                },
                {
                    "name": "inst"
                },
                {
                    "name": "vm",
                    "outputs": [
                        57
                    ]
                }
            ],
            "name": "Emitter",
            "outputs": [
                {
                    "id": 24
                },
                {
                    "id": 25
                }
            ],
            "type": "Primitive",
            "variables": {
                "branch_name": "Emitter",
                "children": [
                    {
                        "branch_name": "materials",
                        "children": [
                            {
                                "branch_name": "Material 0",
                                "color": "#00000000",
                                "open": true,
                                "variables": [
                                    {
                                        "name": "diffuse",
                                        "type": 4,
                                        "value": {
                                            "a": 0.5,
                                            "b": 0.6520000100135803,
                                            "g": 0.4359999895095825,
                                            "r": 0.8650000095367432
                                        }
                                    },
                                    {
                                        "name": "emmisive",
                                        "type": 4,
                                        "value": {
                                            "a": 0.32899999618530273,
                                            "b": 0.5289999842643738,
                                            "g": 0.3400000035762787,
                                            "r": 0.3319999873638153
                                        }
                                    },
                                    {
                                        "name": "transparency",
                                        "type": 0,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "roughness",
                                        "type": 0,
                                        "value": {
                                            "v": 0.04481799900531769
                                        }
                                    },
                                    {
                                        "name": "metalness",
                                        "type": 0,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "flat",
                                        "type": 9,
                                        "value": {
                                            "v": 1.0
                                        }
                                    },
                                    {
                                        "name": "doublesided",
                                        "type": 9,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "reflective",
                                        "type": 9,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "ssr",
                                        "type": 9,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "material",
                                        "type": 8,
                                        "value": {
                                            "material_name": "flat"
                                        }
                                    },
                                    {
                                        "name": "shader",
                                        "type": 12,
                                        "value": {
                                            "text": ""
                                        }
                                    }
                                ]
                            }
                        ],
                        "color": "#00000000",
                        "open": true
                    }
                ],
                "color": "#00000000",
                "open": true,
                "variables": [
                    {
                        "name": "subdivisions 1",
                        "type": 1,
                        "value": {
                            "v": 40.0
                        }
                    },
                    {
                        "name": "subdivisions 2",
                        "type": 1,
                        "value": {
                            "v": 10.0
                        }
                    },
                    {
                        "name": "radius 1",
                        "type": 0,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "radius 2",
                        "type": 0,
                        "value": {
                            "v": 7.852353096008301
                        }
                    },
                    {
                        "name": "type",
                        "type": 6,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "scale",
                        "type": 5,
                        "value": {
                            "x": 100.0,
                            "y": 40.0,
                            "z": 10.0
                        }
                    },
                    {
                        "name": "rotation",
                        "type": 5,
                        "value": {
                            "x": -33.0,
                            "y": -3.0,
                            "z": 1.0
                        }
                    },
                    {
                        "name": "position",
                        "type": 5,
                        "value": {
                            "x": 6.0,
                            "y": -17.0,
                            "z": 47.0
                        }
                    },
                    {
                        "name": "raytrace",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "voxelize",
                        "type": 9,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "reflect",
                        "type": 9,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "hidden",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    }
                ]
            },
            "visual": {
                "collapsed": {
                    "v": true
                },
                "position": {
                    "x": 761.0,
                    "y": 432.0
                }
            }
        },
        {
            "id": 26,
            "inputs": [
                {
                    "name": "img",
                    "outputs": [
                        3
                    ]
                },
                {
                    "name": "post",
                    "outputs": [
                        31
                    ]
                }
            ],
            "name": "OutputBuffer",
            "outputs": [
                {
                    "id": 29
                }
            ],
            "type": "OutputBuffer",
            "variables": {
                "branch_name": "OutputBuffer",
                "color": "#00000000",
                "open": true
            },
            "visual": {
                "collapsed": {
                    "v": true
                },
                "position": {
                    "x": 1402.0,
                    "y": 323.0
                }
            }
        },
        {
            "id": 30,
            "name": "Tonemapper",
            "outputs": [
                {
                    "id": 31
                }
            ],
            "type": "PostTonemap",
            "variables": {
                "branch_name": "Tonemapper",
                "color": "#00000000",
                "open": true,
                "variables": [
                    {
                        "name": "Type",
                        "type": 6,
                        "value": {
                            "v": 2.0
                        }
                    },
                    {
                        "name": "Lift",
                        "type": 4,
                        "value": {
                            "a": 0.00800000037997961,
                            "b": 0.0,
                            "g": 0.0,
                            "r": 0.004000000189989805
                        }
                    },
                    {
                        "name": "Gamma",
                        "type": 4,
                        "value": {
                            "a": 0.0,
                            "b": 0.4000000059604645,
                            "g": 0.3880000114440918,
                            "r": 0.3610000014305115
                        }
                    },
                    {
                        "name": "Gain",
                        "type": 4,
                        "value": {
                            "a": 0.00800000037997961,
                            "b": 0.0,
                            "g": 0.0,
                            "r": 0.0
                        }
                    },
                    {
                        "name": "Contrast",
                        "type": 4,
                        "value": {
                            "a": 1.3370000123977661,
                            "b": 0.0,
                            "g": 0.0,
                            "r": 0.0
                        }
                    },
                    {
                        "name": "Exposure",
                        "type": 0,
                        "value": {
                            "v": 1.2605040073394775
                        }
                    },
                    {
                        "name": "Blend",
                        "type": 0,
                        "value": {
                            "v": 1.0
                        }
                    }
                ]
            },
            "visual": {
                "collapsed": {
                    "v": true
                },
                "position": {
                    "x": 1187.0,
                    "y": 430.0
                }
            }
        },
        {
            "id": 32,
            "name": "NewLight",
            "outputs": [
                {
                    "id": 33
                }
            ],
            "type": "Light",
            "variables": {
                "branch_name": "NewLight",
                "color": "#00000000",
                "open": true,
                "variables": [
                    {
                        "name": "type",
                        "type": 6,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "position",
                        "type": 5,
                        "value": {
                            "x": 8.0,
                            "y": -96.0,
                            "z": 52.0
                        }
                    },
                    {
                        "name": "rotation",
                        "type": 5,
                        "value": {
                            "x": -115.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    {
                        "name": "dimensions",
                        "type": 5,
                        "value": {
                            "x": 0.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    {
                        "name": "color",
                        "type": 4,
                        "value": {
                            "a": 0.0,
                            "b": 1.0,
                            "g": 1.0,
                            "r": 1.0
                        }
                    },
                    {
                        "name": "intensity",
                        "type": 0,
                        "value": {
                            "v": 21.31147575378418
                        }
                    },
                    {
                        "name": "roughness modifier",
                        "type": 0,
                        "value": {
                            "v": 3.005465030670166
                        }
                    },
                    {
                        "name": "range",
                        "type": 0,
                        "value": {
                            "v": 365.02734375
                        }
                    },
                    {
                        "name": "fov",
                        "type": 0,
                        "value": {
                            "v": 90.0
                        }
                    },
                    {
                        "name": "area",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "shadowcasting",
                        "type": 9,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "volumetric",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    }
                ]
            },
            "visual": {
                "collapsed": {
                    "v": true
                },
                "position": {
                    "x": 1037.0,
                    "y": 36.0
                }
            }
        },
        {
            "id": 34,
            "name": "RaymarchProcedural",
            "outputs": [
                {
                    "id": 35
                }
            ],
            "type": "RaymarchProcedural",
            "variables": {
                "branch_name": "RaymarchProcedural",
                "color": "#00000000",
                "open": true,
                "variables": [
                    {
                        "name": "diffuse",
                        "type": 4,
                        "value": {
                            "a": 0.0,
                            "b": 0.3179999887943268,
                            "g": 0.953000009059906,
                            "r": 0.40400001406669617
                        }
                    },
                    {
                        "name": "emmisive",
                        "type": 4,
                        "value": {
                            "a": 0.0,
                            "b": 0.0,
                            "g": 0.10199999809265137,
                            "r": 0.0
                        }
                    },
                    {
                        "name": "transparency",
                        "type": 0,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "roughness",
                        "type": 0,
                        "value": {
                            "v": 0.16806699335575104
                        }
                    },
                    {
                        "name": "metalness",
                        "type": 0,
                        "value": {
                            "v": 0.4535520076751709
                        }
                    },
                    {
                        "name": "flat",
                        "type": 9,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "doublesided",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "reflective",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "ssr",
                        "type": 9,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "material",
                        "type": 8,
                        "value": {
                            "material_name": "flat"
                        }
                    },
                    {
                        "name": "shader",
                        "type": 12,
                        "uuid": 1643275002882,
                        "value": {
                            "text": "\n//#define MATERIAL_OVERRIDE_ALBEDO\n//vec4 getMaterialAlbedo(vec3 worldCoords, vec3 localCoords)\n//{\n//\treturn vec4(1.0);\n//}\n\n//#define MATERIAL_OVERRIDE_ROUGHNESS\n//float getMaterialRoughness(vec3 worldCoords, vec3 localCoords)\n//{\n//\treturn 1.0;\n//}\n\n//#define MATERIAL_OVERRIDE_METALNESS\n//float getMaterialMetalness(vec3 worldCoords, vec3 localCoords)\n//{\n//\treturn 1.0;\n//}\n\n"
                        }
                    },
                    {
                        "name": "Scale",
                        "type": 5,
                        "value": {
                            "x": 3.0,
                            "y": 3.0,
                            "z": 3.0
                        }
                    },
                    {
                        "name": "Rotation",
                        "type": 5,
                        "value": {
                            "x": 95.0,
                            "y": 836.0,
                            "z": 0.0
                        }
                    },
                    {
                        "name": "Position",
                        "type": 5,
                        "value": {
                            "x": 34.0,
                            "y": -33.0,
                            "z": 17.0
                        }
                    },
                    {
                        "name": "Output Depth",
                        "type": 9,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "Hidden",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "Program",
                        "type": 12,
                        "uuid": 1642741934080,
                        "value": {
                            "text": "\n#extension GL_ARB_conservative_depth: require\n\n#include <shaders/materials/commons.glsl>\n\nin vec3 vNorm;\nin vec3 vLocalPos;\nin vec4 vCoords;\nin vec4 vWorldPos;\nin vec3 vWorldNorm;\nin vec4 vsColor;\nin vec3 vsCameraPosition;\n\nuniform vec4 colorDiffuse;\nuniform int materialId;\nuniform int materialIndex;\n\nuniform mat4 mModel;\nuniform mat4 mModelInv;\nuniform vec4 vModelview[3];\nuniform vec4 vModelviewInv[3];\nuniform mat4 mProjection;\n\n//uniform vec3 vCameraPosition;\n\n#ifndef SHADOWMAP_PASS\nlayout(location = 0) out vec4 outAlbedo;\nlayout(location = 1) out uint outNormalMaterial;\nlayout(location = 2) out uint outMetalnessRoughnessMeterial;\n#endif\n\nlayout (depth_any) out float gl_FragDepth;\n\nuniform int gUseDerivedNormal = 0;\nuniform int gMaterialMode = 0;\n\n#include <shaders/materials/material_overrides.glsl>\n\n#define STEPS 64\n#define EPS 0.01\n#define FAR 21.0\n#define TAU 6.28318530718\n\nfloat knot(vec3 p, float k)\n{\n    float r = length(p.xy);\n    float oa, a = atan(p.y, p.x); oa = k*a;\n    a = mod(a, 0.001*TAU) - 0.001*TAU/2.0;\n    p.xy = r*vec2(cos(a), sin(a)); p.x -= 6.0;\n    p.xz = cos(oa)*p.xz + sin(oa)*vec2(-p.z, p.x);\n    p.x = abs(p.x) - 1.35; \n    return length(p) - 0.5;\n}\n\nfloat doModel(vec3 p)\n{\n\t// sphere intersection for testing\n\treturn length(vec2(length(p.xy) - 5.5, p.z)) - 2.1;\n\t//return knot(p, 4.0);\n//\treturn length(p - vec3(0.0, 0.0, 0.0)) - 10.0;\n}\n\nfloat calcIntersection(in vec3 ro, in vec3 rd, out vec4 color)\n{\n\tconst float maxd = 20000.0;         // max trace distance\n\tconst float precis = 0.001;        // precission of the intersection\n\tfloat h = precis;\n\tfloat t = 0.0;\n\tfloat res = -1.0;\n\tfor( int i=0; i<90; i++ )          // max number of raymarching iterations is 90\n\t{\n\t\tif( h<precis||t>maxd ) break;\n\t\tvec3 p = ro + rd * t;\n\t\th = doModel(p);\n\t\tt += h;\n\t}\n\n\tif( t<maxd )\n\t{\n\t\tres = t;\n\t\tcolor = vec4(1.0);\n\t}\n\treturn res;\n}\nvec3 calculateNormal(in vec3 pos)\n{\n    vec3 eps = vec3(0.00001,0.0,0.0);\n\treturn normalize( vec3(\n           doModel(pos+eps.xyy).x - doModel(pos-eps.xyy).x,\n           doModel(pos+eps.yxy).x - doModel(pos-eps.yxy).x,\n           doModel(pos+eps.yyx).x - doModel(pos-eps.yyx).x ) );\n}\n\nvoid main() {\n\n#ifndef SHADOWMAP_PASS\n\n\tMaterialPropertiesGPU material = materials.material_properties[materialIndex];\n\n\t// output normal only\n\tfloat g = vNorm.z * 0.5 + 0.5;\n\tvec3 worldNorm = vWorldNorm;\n\n\tif ((material.flags & MaterialFlag_Flat) != 0)\n\t{\n\t\tvec3 dFdxPos = dFdx(vWorldPos.xyz);\n\t\tvec3 dFdyPos = dFdy(vWorldPos.xyz);\n\t\tworldNorm = normalize(cross(dFdyPos, dFdxPos));\n\t}\n\n\tvec3 normal = worldNorm;\n\tnormal = getMaterialNormal(normal, vWorldPos.xyz, vLocalPos.xyz);\n\n\toutNormalMaterial = encode_normal_material(normal, materialId);\n\toutAlbedo = vec4(getMaterialAlbedo(vWorldPos.xyz, vLocalPos.xyz).rgb, 1.0);\n\n\tfloat roughness = material.roughness;\n\troughness = getMaterialRoughness(roughness, vWorldPos.xyz, vLocalPos.xyz);\n\n#endif\n\n\tvec4 cp = vec4(vLocalPos.xyz, 1.0);\n\tvec3 ro = vsCameraPosition;\n\n\tvec4 rd0 = vec4(normalize(vLocalPos.xyz - ro.xyz), 0.0);\n\tvec3 rd = rd0.xyz;\n\n\tvec4 color = vec4(1.0);\n\tfloat intersection = calcIntersection(ro, rd, color);\n\tif (intersection > 0.0)\n\t{\n\t\tvec3 ri = ro + intersection * rd;\n\t\tvec3 normal = normalize((mModel * vec4(calculateNormal(ri), 0.0)).xyz);\n\n\t\tvec4 rii = vec4(ri, 1.0);\n\t\tri.x = dot(vModelview[0], rii);\n\t\tri.y = dot(vModelview[1], rii);\n\t\tri.z = dot(vModelview[2], rii);\n\n\t\tfloat depth = (mProjection * vec4(ri, 1.0)).z / (mProjection * vec4(ri, 1.0)).w;\n\n\t\tfloat near = -1.0;\t// this is depth range, not the projection\n\t\tfloat far = 1.0;\n\t\tdepth =  (((far - near) * depth) + near + far) / 2.0;\n\n\t\tgl_FragDepth = depth;\n\n#ifndef SHADOWMAP_PASS\n\t\toutAlbedo.rgb = vec3(1.0);//fract(ri * 0.1);\n\t\toutNormalMaterial = encode_normal_material(normal, materialId);\n#endif\n\t}\n\telse\n\t\tdiscard;\n\n#ifndef SHADOWMAP_PASS\n\n\t// output\n\toutMetalnessRoughnessMeterial = encode_metalness_roughness_material(material.metalness, roughness, materialIndex);\n\n#endif\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
                        }
                    },
                    {
                        "name": "Program Vertex",
                        "type": 12,
                        "uuid": 1642772333568,
                        "value": {
                            "text": "\n\n#include <shaders/materials/commons.glsl>\n\nuniform mat4 mModel;\nuniform mat4 mModelInv;\nuniform vec4 vModelview[3];\nuniform vec4 vModelviewInvTrans[3];\nuniform mat4 mProjection;\n\nuniform vec3 vCameraPosition;\n\nuniform int g_instances_stride = 0;\nlayout(std430) buffer InstanceBuffer\n{\n\tvec4 transformation[];\n} g_instances;\n\nlayout(std430) buffer VTXCoords {\n\tfloat coords[];\n} vtx_coords;\n\nvec3 vtx_coords_load(uint idx)\n{\n\treturn vec3(vtx_coords.coords[idx * 3 + 0], vtx_coords.coords[idx * 3 + 1], vtx_coords.coords[idx * 3 + 2]);\n}\n\nlayout(std430) buffer VTXNormals {\n\tfloat normals[];\n} vtx_normals;\n\nvec3 vtx_normals_load(uint idx)\n{\n\treturn vec3(vtx_normals.normals[idx * 3 + 0], vtx_normals.normals[idx * 3 + 1], vtx_normals.normals[idx * 3 + 2]);\n}\n\nlayout(std430) buffer VTXAlbedo {\n\tfloat albedo[];\n} vtx_albedo;\n\nvec3 vtx_albedo_load(uint idx)\n{\n\treturn vec3(vtx_albedo.albedo[idx * 3 + 0] , vtx_albedo.albedo[idx * 3 + 1], vtx_albedo.albedo[idx * 3 + 2]);\n}\n\nuniform int vtx_builtin_buffers = 0;\n\nout vec4 vCoords;\n\nout vec3 vNorm;\nout vec3 vWorldNorm;\nout vec3 vLocalPos;\nout vec4 vWorldPos;\nout vec4 vsColor;\nout vec3 vsCameraPosition;\n\n\nvoid main() {\n\t\n\tvec3 pos = vtx_coords_load(gl_VertexID);\n\tvec3 norm = vec3(1.0, 0.0, 0.0);\n\t\n\tif ((vtx_builtin_buffers & VTXBuiltinAttribute_Normals) != 0)\n\t\tnorm = vtx_normals_load(gl_VertexID);\n\n\t{\n\t\tvec4 inst_m0 = g_instances.transformation[gl_InstanceID * g_instances_stride + 0];\n\t\tvec4 inst_m1 = g_instances.transformation[gl_InstanceID * g_instances_stride + 1];\n\t\tvec4 inst_m2 = g_instances.transformation[gl_InstanceID * g_instances_stride + 2];\n\n\t\tvec4 v = vec4(pos, 1.0);\n\t\tpos.x = dot(inst_m0, v);\n\t\tpos.y = dot(inst_m1, v);\n\t\tpos.z = dot(inst_m2, v);\n\t}\n\tpos *= 20.0;\n\tvLocalPos = pos;\n\t\n\tvec4 vPos1 = vec4(pos, 1.0);\n\tvec4 vPos;\n\tvPos.x = dot(vModelview[0], vPos1);\n\tvPos.y = dot(vModelview[1], vPos1);\n\tvPos.z = dot(vModelview[2], vPos1);\n\tvPos.w = 1.0;\n\tvWorldPos = mModel * vPos1;\n\tvWorldNorm = (mModel * vec4(norm, 0.0)).xyz;\n\tvWorldNorm = normalize(vWorldNorm);\n\n\tvNorm.x = dot(vModelviewInvTrans[0].xyz, norm);\n\tvNorm.y = dot(vModelviewInvTrans[1].xyz, norm);\n\tvNorm.z = dot(vModelviewInvTrans[2].xyz, norm);\n\tvNorm = normalize(vNorm);//vNormal;\n\n\tvNorm = norm;\n\n\t//vPos = vec4(vProjection.x * vPos.x, vProjection.y * vPos.y, dot(vProjection.zw, vPos.zw), -vPos.z);\t\n\tvCoords = vPos;\n\tvPos = mProjection * vPos;\n\tgl_Position = vPos;\n\n\tvsColor = vec4(1.0);\n\tif ((vtx_builtin_buffers & VTXBuiltinAttribute_Albedo) != 0)\n\t\tvsColor = vec4(vtx_albedo_load(gl_VertexID), 1.0);\n\t\t\n\tvsCameraPosition = (mModelInv * vec4(vCameraPosition, 1.0)).xyz;\n}\n\n\n\n\n\n\n\n\n\n\n"
                        }
                    }
                ]
            },
            "visual": {
                "collapsed": {
                    "v": true
                },
                "position": {
                    "x": 742.0,
                    "y": 77.0
                }
            }
        },
        {
            "id": 36,
            "name": "RaymarchProcedural",
            "outputs": [
                {
                    "id": 37
                }
            ],
            "type": "RaymarchProcedural",
            "variables": {
                "branch_name": "RaymarchProcedural",
                "color": "#00000000",
                "open": true,
                "variables": [
                    {
                        "name": "diffuse",
                        "type": 4,
                        "value": {
                            "a": 0.0,
                            "b": 1.0,
                            "g": 1.0,
                            "r": 1.0
                        }
                    },
                    {
                        "name": "emmisive",
                        "type": 4,
                        "value": {
                            "a": 0.0,
                            "b": 0.23100000619888306,
                            "g": 0.0,
                            "r": 0.027000000700354576
                        }
                    },
                    {
                        "name": "transparency",
                        "type": 0,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "roughness",
                        "type": 0,
                        "value": {
                            "v": 0.8291320204734802
                        }
                    },
                    {
                        "name": "metalness",
                        "type": 0,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "flat",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "doublesided",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "reflective",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "ssr",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "material",
                        "type": 8,
                        "value": {
                            "material_name": "flat"
                        }
                    },
                    {
                        "name": "shader",
                        "type": 12,
                        "value": {
                            "text": "\n//#define MATERIAL_OVERRIDE_ALBEDO\n//vec4 getMaterialAlbedo(vec3 worldCoords, vec3 localCoords)\n//{\n//\treturn vec4(1.0);\n//}\n\n//#define MATERIAL_OVERRIDE_ROUGHNESS\n//float getMaterialRoughness(vec3 worldCoords, vec3 localCoords)\n//{\n//\treturn 1.0;\n//}\n\n//#define MATERIAL_OVERRIDE_METALNESS\n//float getMaterialMetalness(vec3 worldCoords, vec3 localCoords)\n//{\n//\treturn 1.0;\n//}\n"
                        }
                    },
                    {
                        "name": "Scale",
                        "type": 5,
                        "value": {
                            "x": 20.0,
                            "y": 20.0,
                            "z": 20.0
                        }
                    },
                    {
                        "name": "Rotation",
                        "type": 5,
                        "value": {
                            "x": 0.0,
                            "y": 777.0,
                            "z": 0.0
                        }
                    },
                    {
                        "name": "Position",
                        "type": 5,
                        "value": {
                            "x": 13.0,
                            "y": -10.0,
                            "z": 79.0
                        }
                    },
                    {
                        "name": "Output Depth",
                        "type": 9,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "Hidden",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "Program",
                        "type": 12,
                        "uuid": 1643275002881,
                        "value": {
                            "text": "\n#extension GL_ARB_conservative_depth: require\n\n#include <shaders/materials/commons.glsl>\n\nin vec3 vNorm;\nin vec3 vLocalPos;\nin vec4 vCoords;\nin vec4 vWorldPos;\nin vec3 vWorldNorm;\nin vec4 vsColor;\nin vec3 vsCameraPosition;\n\nuniform vec4 colorDiffuse;\nuniform int materialId;\nuniform int materialIndex;\n\nuniform mat4 mModel;\nuniform mat4 mModelInv;\nuniform vec4 vModelview[3];\nuniform vec4 vModelviewInv[3];\nuniform mat4 mProjection;\n\n//uniform vec3 vCameraPosition;\n\n#ifndef SHADOWMAP_PASS\nlayout(location = 0) out vec4 outAlbedo;\nlayout(location = 1) out uint outNormalMaterial;\nlayout(location = 2) out uint outMetalnessRoughnessMeterial;\n#endif\n\nlayout (depth_any) out float gl_FragDepth;\n\nuniform int gUseDerivedNormal = 0;\nuniform int gMaterialMode = 0;\n\n#include <shaders/materials/material_overrides.glsl>\n\n#define STEPS 64\n#define EPS 0.01\n#define FAR 21.0\n#define TAU 6.28318530718\n\n\n// Mandelbulb\n//\n//\n\nfloat stime, ctime;\n void ry(inout vec3 p, float a){  \n \tfloat c,s;vec3 q=p;  \n  \tc = cos(a); s = sin(a);  \n  \tp.x = c * q.x + s * q.z;  \n  \tp.z = -s * q.x + c * q.z; \n } \n\nfloat pixel_size = 0.0;\n\n/* \n\nz = r*(sin(theta)cos(phi) + i cos(theta) + j sin(theta)sin(phi)\n\nzn+1 = zn^8 +c\n\nz^8 = r^8 * (sin(8*theta)*cos(8*phi) + i cos(8*theta) + j sin(8*theta)*sin(8*theta)\n\nzn+1' = 8 * zn^7 * zn' + 1\n\n*/\n\nvec3 mb(vec3 p) {\n\tp.xyz = p.xzy;\n\tvec3 z = p;\n\tvec3 dz=vec3(0.0);\n\tfloat power = 8.0;\n\tfloat r, theta, phi;\n\tfloat dr = 1.0;\n\t\n\tfloat t0 = 1.0;\n\tfor(int i = 0; i < 7; ++i) {\n\t\tr = length(z);\n\t\tif(r > 2.0) continue;\n\t\ttheta = atan(z.y / z.x);\n        #ifdef phase_shift_on\n\t\tphi = asin(z.z / r) + iTime*0.1;\n        #else\n        phi = asin(z.z / r);\n        #endif\n\t\t\n\t\tdr = pow(r, power - 1.0) * dr * power + 1.0;\n\t\n\t\tr = pow(r, power);\n\t\ttheta = theta * power;\n\t\tphi = phi * power;\n\t\t\n\t\tz = r * vec3(cos(theta)*cos(phi), sin(theta)*cos(phi), sin(phi)) + p;\n\t\t\n\t\tt0 = min(t0, r);\n\t}\n\treturn vec3(0.5 * log(r) * r / dr, t0, 0.0);\n}\n\n vec3 f(vec3 p){\n     return mb(p);\n }\n \n \n\nfloat knot(vec3 p, float k)\n{\n    float r = length(p.xy);\n    float oa, a = atan(p.y, p.x); oa = k*a;\n    a = mod(a, 0.001*TAU) - 0.001*TAU/2.0;\n    p.xy = r*vec2(cos(a), sin(a)); p.x -= 6.0;\n    p.xz = cos(oa)*p.xz + sin(oa)*vec2(-p.z, p.x);\n    p.x = abs(p.x) - 1.35; \n    return length(p) - 0.5;\n}\n\nfloat doModel(vec3 p)\n{\n\t// sphere intersection for testing\n\treturn length(vec2(length(p.xy) - 5.5, p.z)) - 2.1;\n//\treturn knot(p, 4.0);\n\t//return length(p - vec3(0.0, 0.0, 0.0)) - 10.0;\n}\n\nfloat calcIntersection(in vec3 ro, in vec3 rd, out vec4 color)\n{\n    float t = 1.0;\n    float res_t = 0.0;\n    float res_d = 1000.0;\n    vec3 c, res_c;\n    float max_error = 1000.0;\n\tfloat d = 1.0;\n    float pd = 100.0;\n    float os = 0.0;\n    float step = 0.0;\n    float error = 1000.0;\n    float max_t = 1000.0;\n    \n    for( int i=0; i<48; i++ )\n    {\n        if( error < pixel_size*0.5 || t > max_t )\n        {\n            break;\n        }\n        else\n        {  // avoid broken shader on windows\n        \n            c = f(ro + rd*t);\n            d = c.x;\n\n            if(d > os)\n            {\n                os = 0.4 * d*d/pd;\n                step = d + os;\n                pd = d;\n            }\n            else\n            {\n                step =-os; os = 0.0; pd = 100.0; d = 1.0;\n            }\n\n            error = d / t;\n\n            if(error < max_error) \n            {\n                max_error = error;\n                res_t = t;\n                res_c = c;\n            }\n        \n            t += step;\n        }\n\n    }\n\tif( t>max_t/* || max_error > pixel_size*/ ) res_t=-1.0;\n\t\n\tfloat dc = pow(clamp(res_c.y, 0.0, 1.0), 0.55);\n\tcolor = vec4(dc, dc, dc, 1.0);\n\t\n\t\n    return res_t;// vec3(res_t, res_c.y, res_c.z);\n}\n\nvec3 calculateNormal(in vec3 pos)\n{\n    vec3 eps = vec3(0.005,0.0,0.0);\n\treturn normalize( vec3(\n           f(pos+eps.xyy).x - f(pos-eps.xyy).x,\n           f(pos+eps.yxy).x - f(pos-eps.yxy).x,\n           f(pos+eps.yyx).x - f(pos-eps.yyx).x ) );\n}\n\nvoid main() {\n\n#ifndef SHADOWMAP_PASS\n\n\tMaterialPropertiesGPU material = materials.material_properties[materialIndex];\n\n\t// output normal only\n\tfloat g = vNorm.z * 0.5 + 0.5;\n\tvec3 worldNorm = vWorldNorm;\n\n\tif ((material.flags & MaterialFlag_Flat) != 0)\n\t{\n\t\tvec3 dFdxPos = dFdx(vWorldPos.xyz);\n\t\tvec3 dFdyPos = dFdy(vWorldPos.xyz);\n\t\tworldNorm = normalize(cross(dFdyPos, dFdxPos));\n\t}\n\n\tvec3 normal = worldNorm;\n\tnormal = getMaterialNormal(normal, vWorldPos.xyz, vLocalPos.xyz);\n\n\toutNormalMaterial = encode_normal_material(normal, materialId);\n\toutAlbedo = vec4(getMaterialAlbedo(vWorldPos.xyz, vLocalPos.xyz).rgb, 1.0);\n\n\tfloat roughness = material.roughness;\n\troughness = getMaterialRoughness(roughness, vWorldPos.xyz, vLocalPos.xyz);\n\n#endif\n\n\tvec4 cp = vec4(vLocalPos.xyz, 1.0);\n\tvec3 ro = vsCameraPosition;\n\n\tvec4 rd0 = vec4(normalize(vLocalPos.xyz - ro.xyz), 0.0);\n\tvec3 rd = rd0.xyz;\n\n\tvec4 color = vec4(1.0);\n\n\tfloat intersection = calcIntersection(ro, rd, color);\n\tif (intersection > 0.0)\n\t{\n\t\tvec3 ri = ro + intersection * rd;\n\t\tvec3 normal = normalize(-(mModel * vec4(calculateNormal(ri), 0.0)).xyz);\n\n\t\tvec4 rii = vec4(ri, 1.0);\n\t\tri.x = dot(vModelview[0], rii);\n\t\tri.y = dot(vModelview[1], rii);\n\t\tri.z = dot(vModelview[2], rii);\n\n\t\tfloat depth = (mProjection * vec4(ri, 1.0)).z / (mProjection * vec4(ri, 1.0)).w;\n\n\t\tfloat near = -1.0;\t// this is depth range, not the projection\n\t\tfloat far = 1.0;\n\t\tdepth =  (((far - near) * depth) + near + far) / 2.0;\n\n\t\tgl_FragDepth = depth;\n\n#ifndef SHADOWMAP_PASS\n\t\toutAlbedo.rgb = vec3(color);//fract(ri * 0.1);\n\t\toutNormalMaterial = encode_normal_material(normal, materialId);\n#endif\n\t}\n\telse\n\t{\n\t\tdiscard;\n\t}\n\n#ifndef SHADOWMAP_PASS\n\n\t// output\n\toutMetalnessRoughnessMeterial = encode_metalness_roughness_material(material.metalness, roughness, materialIndex);\n\n#endif\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
                        }
                    },
                    {
                        "name": "Program Vertex",
                        "type": 12,
                        "uuid": 1643275002880,
                        "value": {
                            "text": "\n\n#include <shaders/materials/commons.glsl>\n\nuniform mat4 mModel;\nuniform mat4 mModelInv;\nuniform vec4 vModelview[3];\nuniform vec4 vModelviewInvTrans[3];\nuniform mat4 mProjection;\n\nuniform vec3 vCameraPosition;\n\nuniform int g_instances_stride = 0;\nlayout(std430) buffer InstanceBuffer\n{\n\tvec4 transformation[];\n} g_instances;\n\nlayout(std430) buffer VTXCoords {\n\tfloat coords[];\n} vtx_coords;\n\nvec3 vtx_coords_load(uint idx)\n{\n\treturn vec3(vtx_coords.coords[idx * 3 + 0], vtx_coords.coords[idx * 3 + 1], vtx_coords.coords[idx * 3 + 2]);\n}\n\nlayout(std430) buffer VTXNormals {\n\tfloat normals[];\n} vtx_normals;\n\nvec3 vtx_normals_load(uint idx)\n{\n\treturn vec3(vtx_normals.normals[idx * 3 + 0], vtx_normals.normals[idx * 3 + 1], vtx_normals.normals[idx * 3 + 2]);\n}\n\nlayout(std430) buffer VTXAlbedo {\n\tfloat albedo[];\n} vtx_albedo;\n\nvec3 vtx_albedo_load(uint idx)\n{\n\treturn vec3(vtx_albedo.albedo[idx * 3 + 0] , vtx_albedo.albedo[idx * 3 + 1], vtx_albedo.albedo[idx * 3 + 2]);\n}\n\nuniform int vtx_builtin_buffers = 0;\n\nout vec4 vCoords;\n\nout vec3 vNorm;\nout vec3 vWorldNorm;\nout vec3 vLocalPos;\nout vec4 vWorldPos;\nout vec4 vsColor;\nout vec3 vsCameraPosition;\n\n\nvoid main() {\n\t\n\tvec3 pos = vtx_coords_load(gl_VertexID);\n\tvec3 norm = vec3(1.0, 0.0, 0.0);\n\t\n\tif ((vtx_builtin_buffers & VTXBuiltinAttribute_Normals) != 0)\n\t\tnorm = vtx_normals_load(gl_VertexID);\n\n\t{\n\t\tvec4 inst_m0 = g_instances.transformation[gl_InstanceID * g_instances_stride + 0];\n\t\tvec4 inst_m1 = g_instances.transformation[gl_InstanceID * g_instances_stride + 1];\n\t\tvec4 inst_m2 = g_instances.transformation[gl_InstanceID * g_instances_stride + 2];\n\n\t\tvec4 v = vec4(pos, 1.0);\n\t\tpos.x = dot(inst_m0, v);\n\t\tpos.y = dot(inst_m1, v);\n\t\tpos.z = dot(inst_m2, v);\n\t}\n\tpos *= 2.5;\n\tvLocalPos = pos;\n\t\n\tvec4 vPos1 = vec4(pos, 1.0);\n\tvec4 vPos;\n\tvPos.x = dot(vModelview[0], vPos1);\n\tvPos.y = dot(vModelview[1], vPos1);\n\tvPos.z = dot(vModelview[2], vPos1);\n\tvPos.w = 1.0;\n\tvWorldPos = mModel * vPos1;\n\tvWorldNorm = (mModel * vec4(norm, 0.0)).xyz;\n\tvWorldNorm = normalize(vWorldNorm);\n\n\tvNorm.x = dot(vModelviewInvTrans[0].xyz, norm);\n\tvNorm.y = dot(vModelviewInvTrans[1].xyz, norm);\n\tvNorm.z = dot(vModelviewInvTrans[2].xyz, norm);\n\tvNorm = normalize(vNorm);//vNormal;\n\n\tvNorm = norm;\n\n\t//vPos = vec4(vProjection.x * vPos.x, vProjection.y * vPos.y, dot(vProjection.zw, vPos.zw), -vPos.z);\t\n\tvCoords = vPos;\n\tvPos = mProjection * vPos;\n\tgl_Position = vPos;\n\n\tvsColor = vec4(1.0);\n\tif ((vtx_builtin_buffers & VTXBuiltinAttribute_Albedo) != 0)\n\t\tvsColor = vec4(vtx_albedo_load(gl_VertexID), 1.0);\n\t\t\n\tvsCameraPosition = (mModelInv * vec4(vCameraPosition, 1.0)).xyz;\n}\n\n\n\n\n\n\n\n\n\n\n"
                        }
                    }
                ]
            },
            "visual": {
                "collapsed": {
                    "v": true
                },
                "position": {
                    "x": 742.0,
                    "y": -31.0
                }
            }
        },
        {
            "id": 38,
            "inputs": [
                {
                    "cvar_uuid": 1644104890368,
                    "name": "Noise Phase 3D",
                    "outputs": [
                        60
                    ]
                }
            ],
            "name": "Noise deformer",
            "outputs": [
                {
                    "id": 39
                }
            ],
            "type": "VertexModifierNoise",
            "variables": {
                "branch_name": "Noise deformer",
                "color": "#00000000",
                "open": true,
                "variables": [
                    {
                        "name": "Strength",
                        "type": 5,
                        "value": {
                            "x": 2.0,
                            "y": -0.10000000149011612,
                            "z": 2.0
                        }
                    },
                    {
                        "name": "Noise Scale",
                        "type": 5,
                        "value": {
                            "x": 0.12999999523162842,
                            "y": 0.05999999865889549,
                            "z": 0.20000000298023224
                        }
                    },
                    {
                        "graph_exposed": true,
                        "name": "Noise Phase 3D",
                        "type": 0,
                        "uuid": 1644104890368,
                        "value": {
                            "v": 10.83292293548584
                        }
                    },
                    {
                        "name": "program",
                        "type": 12,
                        "uuid": 1643817632768,
                        "value": {
                            "text": "\n{\n\tvec3 ni = vtx_input.pos * {Name}_params.noise_scale;\n\t\n\tfloat n1 = snoise(ni + {Name}_params.noise_phase.xyz + {Name}_params.noise_phase.w\n\t * 0.1) + 1.0;\n\tfloat n2 = 0.5 * snoise(0.5 * ni + {Name}_params.noise_phase.xyz + {Name}_params.noise_phase.w * 0.05) + 1.0;\n\tvtx_input.pos += vtx_input.norm * (n1 + n2) * {Name}_params.scale;\n}\n\n\n\n"
                        }
                    }
                ]
            },
            "visual": {
                "collapsed": {
                    "v": true
                },
                "position": {
                    "x": 338.0,
                    "y": 224.0
                }
            }
        },
        {
            "id": 41,
            "inputs": [
                {
                    "name": "obj"
                },
                {
                    "name": "target obj"
                },
                {
                    "name": "inst"
                },
                {
                    "name": "vm",
                    "outputs": [
                        57
                    ]
                }
            ],
            "name": "MeshRenderer",
            "outputs": [
                {
                    "id": 46
                }
            ],
            "type": "Meshrenderer",
            "variables": {
                "branch_name": "MeshRenderer",
                "children": [
                    {
                        "branch_name": "materials",
                        "children": [
                            {
                                "branch_name": "Material 0",
                                "color": "#00000000",
                                "open": true,
                                "variables": [
                                    {
                                        "name": "diffuse",
                                        "type": 4,
                                        "value": {
                                            "a": 0.5,
                                            "b": 0.7843137383460999,
                                            "g": 0.7843137383460999,
                                            "r": 0.7843137383460999
                                        }
                                    },
                                    {
                                        "name": "emmisive",
                                        "type": 4,
                                        "value": {
                                            "a": 0.0,
                                            "b": 0.0,
                                            "g": 0.0,
                                            "r": 0.0
                                        }
                                    },
                                    {
                                        "name": "transparency",
                                        "type": 0,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "roughness",
                                        "type": 0,
                                        "value": {
                                            "v": 0.5
                                        }
                                    },
                                    {
                                        "name": "metalness",
                                        "type": 0,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "flat",
                                        "type": 9,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "doublesided",
                                        "type": 9,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "reflective",
                                        "type": 9,
                                        "value": {
                                            "v": 1.0
                                        }
                                    },
                                    {
                                        "name": "ssr",
                                        "type": 9,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "material",
                                        "type": 8,
                                        "value": {
                                            "material_name": "flat"
                                        }
                                    },
                                    {
                                        "name": "shader",
                                        "type": 12,
                                        "value": {
                                            "text": "\n//#define MATERIAL_OVERRIDE_ALBEDO\n//vec4 getMaterialAlbedo(vec3 worldCoords, vec3 localCoords)\n//{\n//\treturn vec4(1.0);\n//}\n\n//#define MATERIAL_OVERRIDE_ROUGHNESS\n//float getMaterialRoughness(vec3 worldCoords, vec3 localCoords)\n//{\n//\treturn 1.0;\n//}\n\n//#define MATERIAL_OVERRIDE_METALNESS\n//float getMaterialMetalness(vec3 worldCoords, vec3 localCoords)\n//{\n//\treturn 1.0;\n//}\n"
                                        }
                                    }
                                ]
                            }
                        ],
                        "color": "#00000000",
                        "open": true
                    }
                ],
                "color": "#00000000",
                "open": true,
                "variables": [
                    {
                        "name": "scale",
                        "type": 5,
                        "value": {
                            "x": 10.0,
                            "y": 10.0,
                            "z": 10.0
                        }
                    },
                    {
                        "name": "rotation",
                        "type": 5,
                        "value": {
                            "x": 351.0,
                            "y": 359.0,
                            "z": 0.0
                        }
                    },
                    {
                        "name": "position",
                        "type": 5,
                        "value": {
                            "x": -13.0,
                            "y": -51.0,
                            "z": 0.0
                        }
                    },
                    {
                        "name": "raytrace",
                        "type": 9,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "voxelize",
                        "type": 9,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "reflect",
                        "type": 9,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "hidden",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "object",
                        "type": 10,
                        "value": {
                            "resource_name": "skull_20k.lwo",
                            "resource_type": 5
                        }
                    }
                ]
            },
            "visual": {
                "collapsed": {
                    "v": true
                },
                "position": {
                    "x": 763.0,
                    "y": 573.0
                }
            }
        },
        {
            "id": 47,
            "inputs": [
                {
                    "name": "target obj"
                },
                {
                    "name": "inst"
                },
                {
                    "name": "vm",
                    "outputs": [
                        39
                    ]
                },
                {
                    "cvar_uuid": 1644104890369,
                    "name": "rotation",
                    "outputs": [
                        55
                    ]
                }
            ],
            "name": "Primitive",
            "outputs": [
                {
                    "id": 51
                },
                {
                    "id": 52
                }
            ],
            "type": "Primitive",
            "variables": {
                "branch_name": "Primitive",
                "children": [
                    {
                        "branch_name": "materials",
                        "children": [
                            {
                                "branch_name": "Material 0",
                                "color": "#00000000",
                                "open": true,
                                "variables": [
                                    {
                                        "name": "diffuse",
                                        "type": 4,
                                        "value": {
                                            "a": 0.5,
                                            "b": 0.3630000054836273,
                                            "g": 0.5,
                                            "r": 0.6570000052452087
                                        }
                                    },
                                    {
                                        "name": "emmisive",
                                        "type": 4,
                                        "value": {
                                            "a": 0.0,
                                            "b": 0.421999990940094,
                                            "g": 0.12200000137090683,
                                            "r": 1.1109999418258667
                                        }
                                    },
                                    {
                                        "name": "transparency",
                                        "type": 0,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "roughness",
                                        "type": 0,
                                        "value": {
                                            "v": 0.313726007938385
                                        }
                                    },
                                    {
                                        "name": "metalness",
                                        "type": 0,
                                        "value": {
                                            "v": 0.5742300152778625
                                        }
                                    },
                                    {
                                        "name": "flat",
                                        "type": 9,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "doublesided",
                                        "type": 9,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "reflective",
                                        "type": 9,
                                        "value": {
                                            "v": 1.0
                                        }
                                    },
                                    {
                                        "name": "ssr",
                                        "type": 9,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "material",
                                        "type": 8,
                                        "value": {
                                            "material_name": "flat"
                                        }
                                    },
                                    {
                                        "name": "shader",
                                        "type": 12,
                                        "value": {
                                            "text": "\n//#define MATERIAL_OVERRIDE_ALBEDO\n//vec4 getMaterialAlbedo(vec3 worldCoords, vec3 localCoords)\n//{\n//\treturn vec4(1.0);\n//}\n\n//#define MATERIAL_OVERRIDE_ROUGHNESS\n//float getMaterialRoughness(vec3 worldCoords, vec3 localCoords)\n//{\n//\treturn 1.0;\n//}\n\n//#define MATERIAL_OVERRIDE_METALNESS\n//float getMaterialMetalness(vec3 worldCoords, vec3 localCoords)\n//{\n//\treturn 1.0;\n//}\n"
                                        }
                                    }
                                ]
                            }
                        ],
                        "color": "#00000000",
                        "open": true
                    }
                ],
                "color": "#00000000",
                "open": true,
                "variables": [
                    {
                        "name": "subdivisions 1",
                        "type": 1,
                        "value": {
                            "v": 1250.0
                        }
                    },
                    {
                        "name": "subdivisions 2",
                        "type": 1,
                        "value": {
                            "v": 80.0
                        }
                    },
                    {
                        "name": "radius 1",
                        "type": 0,
                        "value": {
                            "v": 28.018404006958008
                        }
                    },
                    {
                        "name": "radius 2",
                        "type": 0,
                        "value": {
                            "v": 0.5701680183410645
                        }
                    },
                    {
                        "name": "type",
                        "type": 6,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "scale",
                        "type": 5,
                        "value": {
                            "x": 1.0,
                            "y": 20.0,
                            "z": 1.0
                        }
                    },
                    {
                        "graph_exposed": true,
                        "name": "rotation",
                        "type": 5,
                        "uuid": 1644104890369,
                        "value": {
                            "x": 24.83119010925293,
                            "y": 24.83119010925293,
                            "z": 24.83119010925293
                        }
                    },
                    {
                        "name": "position",
                        "type": 5,
                        "value": {
                            "x": -16.0,
                            "y": -48.0,
                            "z": 0.0
                        }
                    },
                    {
                        "name": "raytrace",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "voxelize",
                        "type": 9,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "reflect",
                        "type": 9,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "hidden",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    }
                ]
            },
            "visual": {
                "collapsed": {
                    "v": true
                },
                "position": {
                    "x": 555.0,
                    "y": 226.0
                }
            }
        },
        {
            "id": 54,
            "name": "NewWaveValue",
            "outputs": [
                {
                    "id": 55
                }
            ],
            "type": "ValueWave",
            "variables": {
                "branch_name": "NewWaveValue",
                "color": "#00000000",
                "open": true,
                "variables": [
                    {
                        "name": "frequency",
                        "type": 0,
                        "value": {
                            "v": 0.20000000298023224
                        }
                    },
                    {
                        "name": "scale",
                        "type": 0,
                        "value": {
                            "v": 30.0
                        }
                    },
                    {
                        "name": "type",
                        "type": 6,
                        "value": {
                            "v": 0.0
                        }
                    }
                ]
            },
            "visual": {
                "collapsed": {
                    "v": true
                },
                "position": {
                    "x": 341.0,
                    "y": 310.0
                }
            }
        },
        {
            "id": 56,
            "inputs": [
                {
                    "cvar_uuid": 1644807206912,
                    "name": "Noise Phase 3D",
                    "outputs": [
                        60
                    ]
                }
            ],
            "name": "Noise VertexModifier",
            "outputs": [
                {
                    "id": 57
                }
            ],
            "type": "VertexModifierNoise",
            "variables": {
                "branch_name": "Noise VertexModifier",
                "color": "#00000000",
                "open": true,
                "variables": [
                    {
                        "name": "Strength",
                        "type": 5,
                        "value": {
                            "x": 0.25,
                            "y": 0.25,
                            "z": 0.25
                        }
                    },
                    {
                        "name": "Noise Scale",
                        "type": 5,
                        "value": {
                            "x": 3.0,
                            "y": 3.0,
                            "z": 3.0
                        }
                    },
                    {
                        "graph_exposed": true,
                        "name": "Noise Phase 3D",
                        "type": 0,
                        "uuid": 1644807206912,
                        "value": {
                            "v": 10.83292293548584
                        }
                    },
                    {
                        "name": "program",
                        "type": 12,
                        "uuid": 1644807206913,
                        "value": {
                            "text": "\n{\n\tvec3 ni = vtx_input.pos * {Name}_params.noise_scale;\n\t\n\tfloat n1 = snoise(ni + {Name}_params.noise_phase.xyz + {Name}_params.noise_phase.w * 0.123);\n\tfloat n2 = 0.5 * snoise(0.5 * ni + {Name}_params.noise_phase.xyz + {Name}_params.noise_phase.w * 0.217);\n\tvtx_input.pos += abs(vtx_input.norm * (n1 + n2) * {Name}_params.scale) * 0.1;\n\tvtx_input.norm += (n1 + n2) * {Name}_params.scale;\n\tvtx_input.norm = normalize(vtx_input.norm);\n\n}\n\n\n\n\n\n\n"
                        }
                    }
                ]
            },
            "visual": {
                "collapsed": {
                    "v": true
                },
                "position": {
                    "x": 322.0,
                    "y": 442.0
                }
            }
        },
        {
            "id": 59,
            "name": "NewLinearValue",
            "outputs": [
                {
                    "id": 60
                }
            ],
            "type": "ValueLinear",
            "variables": {
                "branch_name": "NewLinearValue",
                "color": "#00000000",
                "open": true,
                "variables": [
                    {
                        "name": "frequency",
                        "type": 0,
                        "value": {
                            "v": 10.0
                        }
                    },
                    {
                        "name": "scale",
                        "type": 0,
                        "value": {
                            "v": 0.10000000149011612
                        }
                    },
                    {
                        "name": "wrap ar",
                        "type": 0,
                        "value": {
                            "v": 0.0
                        }
                    }
                ]
            },
            "visual": {
                "collapsed": {
                    "v": true
                },
                "position": {
                    "x": 118.0,
                    "y": 386.0
                }
            }
        },
        {
            "id": 61,
            "inputs": [
                {
                    "name": "obj"
                },
                {
                    "name": "target obj"
                },
                {
                    "name": "inst"
                },
                {
                    "name": "vm"
                }
            ],
            "name": "MeshRenderer",
            "outputs": [
                {
                    "id": 66
                }
            ],
            "type": "Meshrenderer",
            "variables": {
                "branch_name": "MeshRenderer",
                "children": [
                    {
                        "branch_name": "materials",
                        "children": [
                            {
                                "branch_name": "Material 0",
                                "color": "#00000000",
                                "open": true,
                                "variables": [
                                    {
                                        "name": "diffuse",
                                        "type": 4,
                                        "value": {
                                            "a": 0.5,
                                            "b": 0.7529412508010864,
                                            "g": 0.7529412508010864,
                                            "r": 0.7529412508010864
                                        }
                                    },
                                    {
                                        "name": "emmisive",
                                        "type": 4,
                                        "value": {
                                            "a": 0.0,
                                            "b": 0.0,
                                            "g": 0.0,
                                            "r": 0.0
                                        }
                                    },
                                    {
                                        "name": "transparency",
                                        "type": 0,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "roughness",
                                        "type": 0,
                                        "value": {
                                            "v": 0.5
                                        }
                                    },
                                    {
                                        "name": "metalness",
                                        "type": 0,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "flat",
                                        "type": 9,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "doublesided",
                                        "type": 9,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "reflective",
                                        "type": 9,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "ssr",
                                        "type": 9,
                                        "value": {
                                            "v": 0.0
                                        }
                                    },
                                    {
                                        "name": "material",
                                        "type": 8,
                                        "value": {
                                            "material_name": "flat"
                                        }
                                    },
                                    {
                                        "name": "shader",
                                        "type": 12,
                                        "value": {
                                            "text": "\n//#define MATERIAL_OVERRIDE_ALBEDO\n//vec4 getMaterialAlbedo(vec3 worldCoords, vec3 localCoords)\n//{\n//\treturn vec4(1.0);\n//}\n\n//#define MATERIAL_OVERRIDE_ROUGHNESS\n//float getMaterialRoughness(vec3 worldCoords, vec3 localCoords)\n//{\n//\treturn 1.0;\n//}\n\n//#define MATERIAL_OVERRIDE_METALNESS\n//float getMaterialMetalness(vec3 worldCoords, vec3 localCoords)\n//{\n//\treturn 1.0;\n//}\n"
                                        }
                                    }
                                ]
                            }
                        ],
                        "color": "#00000000",
                        "open": true
                    }
                ],
                "color": "#00000000",
                "open": true,
                "variables": [
                    {
                        "name": "scale",
                        "type": 5,
                        "value": {
                            "x": 0.10000000149011612,
                            "y": 0.10000000149011612,
                            "z": 0.10000000149011612
                        }
                    },
                    {
                        "name": "rotation",
                        "type": 5,
                        "value": {
                            "x": 84.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    {
                        "name": "position",
                        "type": 5,
                        "value": {
                            "x": 12.0,
                            "y": 0.0,
                            "z": 0.0
                        }
                    },
                    {
                        "name": "raytrace",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "voxelize",
                        "type": 9,
                        "value": {
                            "v": 1.0
                        }
                    },
                    {
                        "name": "reflect",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "hidden",
                        "type": 9,
                        "value": {
                            "v": 0.0
                        }
                    },
                    {
                        "name": "object",
                        "type": 10,
                        "value": {
                            "resource_name": "pistons.lwo",
                            "resource_type": 5
                        }
                    }
                ]
            },
            "visual": {
                "collapsed": {
                    "v": true
                },
                "position": {
                    "x": 765.0,
                    "y": 708.0
                }
            }
        }
    ]
}