{
  "static_branchs": [
    {
      "name": "modelMatrix_instance",
      "value": [
        "modelMatrix_noInstance",
        "modelMatrix_hardware_instance",
        "modelMatrix_batch_instance"
      ]
    },
    {
      "name": "normalMatrix_instance",
      "value": [
        "normalMatrix_noInstance",
        "normalMatrix_hardware_instance",
        "normalMatrix_batch_instance"
      ]
    }
  ],
  "dynamic_branchs": [
    {
      "name": "common_light_map",
      "condition": "light_has_map",
      "pass": "common_light_map"
    },
    {
      "name": "diffuse_map",
      "condition": "has_diffuse_map",
      "pass": "diffuse_map",
      "fail": "no_diffuse_map"
    },
    {
      "name": "specular_map",
      "condition": "has_specular_map",
      "pass": "specular_map",
      "fail": "no_specular_map"
    }
  ],
  "groups": [
    {
      "name": "top",
      "value": [
        "common",
        "vertex"
      ]
    },
    {
      "name": "end",
      "value": [
        "end"
      ]
    }
  ],
  "material_shaders": [
    {
      "name": "render_basic",
      "shader_libs": [
        {
          "type": "group",
          "name": "top"
        },
        {
          "type": "static_branch",
          "name": "modelMatrix_instance"
        },
        {
          "name": "basic"
        },
        {
          "name": "no_basic_map"
        },
        {
          "name": "basic_end"
        },
        {
          "type": "group",
          "name": "end"
        }
      ]
    },
    {
      "name": "front_render_light",
      "shader_libs": [
        {
          "type": "group",
          "name": "top"
        },
        {
          "name": "normal"
        },
        {
          "type": "static_branch",
          "name": "modelMatrix_instance"
        },
        {
          "type": "static_branch",
          "name": "normalMatrix_instance"
        },
        {
          "name": "light_common"
        },
        {
          "name": "light_setWorldPosition"
        },
        {
          "type": "dynamic_branch",
          "name": "common_light_map"
        },
        {
          "type": "dynamic_branch",
          "name": "diffuse_map"
        },
        {
          "type": "dynamic_branch",
          "name": "specular_map"
        },
        {
          "name": "no_light_map"
        },
        {
          "name": "no_emission_map"
        },
        {
          "name": "no_normal_map"
        },
        {
          "name": "no_shadow_map"
        },
        {
          "name": "light"
        },
        {
          "name": "ambient_light"
        },
        {
          "name": "direction_light"
        },
        {
          "name": "point_light"
        },
        {
          "name": "light_end"
        },
        {
          "type": "group",
          "name": "end"
        }
      ]
    }
  ],
  "no_material_shaders": [
    {
      "name": "rotation_gizmo_for_editor",
      "shader_libs": [
        {
          "type": "group",
          "name": "top"
        },
        {
          "name": "modelMatrix_noInstance"
        },
        {
          "name": "rotation_gizmo_circle_for_editor"
        },
        {
          "type": "group",
          "name": "end"
        }
      ]
    },
    {
      "name": "outline_draw_origin_gameObjects",
      "shader_libs": [
        {
          "type": "group",
          "name": "top"
        },
        {
          "name": "modelMatrix_noInstance"
        },
        {
          "name": "outline_origin"
        },
        {
          "type": "group",
          "name": "end"
        }
      ]
    },
    {
      "name": "outline_draw_expand_gameObjects",
      "shader_libs": [
        {
          "type": "group",
          "name": "top"
        },
        {
          "name": "normal"
        },
        {
          "name": "outline_scaled_modelMatrix"
        },
        {
          "name": "outline_expand"
        },
        {
          "type": "group",
          "name": "end"
        }
      ]
    },
    {
      "name": "skybox",
      "shader_libs": [
        {
          "type": "group",
          "name": "top"
        },
        {
          "name": "skybox"
        },
        {
          "type": "group",
          "name": "end"
        }
      ]
    }
  ]
}