[
    1,
    0,
    0,
    [
        [
            "cc.EffectAsset",
            [
                "_name",
                "shaders",
                "techniques"
            ],
            0
        ]
    ],
    [
        [
            0,
            0,
            1,
            2,
            4
        ]
    ],
    [
        [
            0,
            "util/splash-screen",
            [
                {
                    "hash": 3189094080,
                    "name": "util/splash-screen|splash-screen-vs:vert|splash-screen-fs:frag",
                    "blocks": [
                        {
                            "name": "Constant",
                            "stageFlags": 1,
                            "binding": 0,
                            "members": [
                                {
                                    "name": "u_buffer0",
                                    "type": 16,
                                    "count": 1
                                },
                                {
                                    "name": "u_buffer1",
                                    "type": 16,
                                    "count": 1
                                },
                                {
                                    "name": "u_projection",
                                    "type": 25,
                                    "count": 1
                                }
                            ],
                            "defines": []
                        },
                        {
                            "name": "Factor",
                            "stageFlags": 16,
                            "binding": 1,
                            "members": [
                                {
                                    "name": "u_percent",
                                    "type": 13,
                                    "count": 1
                                }
                            ],
                            "defines": []
                        }
                    ],
                    "samplerTextures": [
                        {
                            "name": "mainTexture",
                            "type": 28,
                            "count": 1,
                            "stageFlags": 16,
                            "binding": 2,
                            "defines": []
                        }
                    ],
                    "samplers": [],
                    "textures": [],
                    "buffers": [],
                    "images": [],
                    "subpassInputs": [],
                    "attributes": [
                        {
                            "name": "a_position",
                            "format": 21,
                            "location": 0,
                            "defines": []
                        },
                        {
                            "name": "a_texCoord",
                            "format": 21,
                            "location": 1,
                            "defines": []
                        }
                    ],
                    "fragColors": [
                        {
                            "name": "cc_FragColor",
                            "typename": "vec4",
                            "type": 16,
                            "count": 1,
                            "stageFlags": 16,
                            "location": 0,
                            "defines": []
                        }
                    ],
                    "descriptors": [
                        {
                            "rate": 0,
                            "blocks": [],
                            "samplerTextures": [],
                            "samplers": [],
                            "textures": [],
                            "buffers": [],
                            "images": [],
                            "subpassInputs": []
                        },
                        {
                            "rate": 1,
                            "blocks": [
                                {
                                    "name": "Constant",
                                    "stageFlags": 1,
                                    "binding": 0,
                                    "members": [
                                        {
                                            "name": "u_buffer0",
                                            "type": 16,
                                            "count": 1
                                        },
                                        {
                                            "name": "u_buffer1",
                                            "type": 16,
                                            "count": 1
                                        },
                                        {
                                            "name": "u_projection",
                                            "type": 25,
                                            "count": 1
                                        }
                                    ],
                                    "defines": []
                                },
                                {
                                    "name": "Factor",
                                    "stageFlags": 16,
                                    "binding": 1,
                                    "members": [
                                        {
                                            "name": "u_percent",
                                            "type": 13,
                                            "count": 1
                                        }
                                    ],
                                    "defines": []
                                }
                            ],
                            "samplerTextures": [
                                {
                                    "name": "mainTexture",
                                    "type": 28,
                                    "count": 1,
                                    "stageFlags": 16,
                                    "binding": 2,
                                    "defines": []
                                }
                            ],
                            "samplers": [],
                            "textures": [],
                            "buffers": [],
                            "images": [],
                            "subpassInputs": []
                        },
                        {
                            "rate": 2,
                            "blocks": [],
                            "samplerTextures": [],
                            "samplers": [],
                            "textures": [],
                            "buffers": [],
                            "images": [],
                            "subpassInputs": []
                        },
                        {
                            "rate": 3,
                            "blocks": [],
                            "samplerTextures": [],
                            "samplers": [],
                            "textures": [],
                            "buffers": [],
                            "images": [],
                            "subpassInputs": []
                        }
                    ],
                    "glsl3": {
                        "vert": "\nprecision mediump float;\nin vec2 a_position;\nin vec2 a_texCoord;\nout vec2 v_uv;\nlayout(std140) uniform Constant {\n  vec4 u_buffer0;\n  vec4 u_buffer1;\n  mat4 u_projection;\n};\nvec4 vert () {\n  vec2 worldPos = a_position * u_buffer1.xy + u_buffer1.zw;\n  vec2 clipSpace = worldPos / u_buffer0.xy * 2.0 - 1.0;\n  vec4 screenPos = u_projection * vec4(clipSpace, 0.0, 1.0);\n  v_uv = a_texCoord;\n  return screenPos;\n}\nvoid main() { gl_Position = vert(); }",
                        "frag": "\nprecision mediump float;\nin vec2 v_uv;\nlayout(std140) uniform Factor {\n  float u_percent;\n};\nuniform sampler2D mainTexture;\nvec4 frag () {\n  vec4 color = texture(mainTexture, v_uv);\n  float percent = clamp(u_percent, 0.0, 1.0);\n  color.xyz *= percent;\n  return color;\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = frag(); }"
                    },
                    "glsl1": {
                        "vert": "\nprecision mediump float;\nattribute vec2 a_position;\nattribute vec2 a_texCoord;\nvarying vec2 v_uv;\n  uniform vec4 u_buffer0;\n  uniform vec4 u_buffer1;\n  uniform mat4 u_projection;\nvec4 vert () {\n  vec2 worldPos = a_position * u_buffer1.xy + u_buffer1.zw;\n  vec2 clipSpace = worldPos / u_buffer0.xy * 2.0 - 1.0;\n  vec4 screenPos = u_projection * vec4(clipSpace, 0.0, 1.0);\n  v_uv = a_texCoord;\n  return screenPos;\n}\nvoid main() { gl_Position = vert(); }",
                        "frag": "\nprecision mediump float;\nvarying vec2 v_uv;\n  uniform float u_percent;\nuniform sampler2D mainTexture;\nvec4 frag () {\n  vec4 color = texture2D(mainTexture, v_uv);\n  float percent = clamp(u_percent, 0.0, 1.0);\n  color.xyz *= percent;\n  return color;\n}\nvoid main() { gl_FragColor = frag(); }"
                    },
                    "builtins": {
                        "globals": {
                            "blocks": [],
                            "samplerTextures": [],
                            "buffers": [],
                            "images": []
                        },
                        "locals": {
                            "blocks": [],
                            "samplerTextures": [],
                            "buffers": [],
                            "images": []
                        },
                        "statistics": {
                            "CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS": 6,
                            "CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS": 1
                        }
                    },
                    "defines": []
                }
            ],
            [
                {
                    "name": "default",
                    "passes": [
                        {
                            "program": "util/splash-screen|splash-screen-vs:vert|splash-screen-fs:frag",
                            "blendState": {
                                "targets": [
                                    {
                                        "blend": true,
                                        "blendSrc": 2,
                                        "blendDst": 4,
                                        "blendDstAlpha": 4
                                    }
                                ]
                            },
                            "rasterizerState": {
                                "cullMode": 0
                            },
                            "depthStencilState": {
                                "depthTest": false,
                                "depthWrite": false
                            },
                            "properties": {
                                "mainTexture": {
                                    "value": "grey",
                                    "type": 28
                                },
                                "resolution": {
                                    "type": 14,
                                    "value": [
                                        640,
                                        960
                                    ],
                                    "handleInfo": [
                                        "u_buffer0",
                                        0,
                                        14
                                    ]
                                },
                                "percent": {
                                    "type": 13,
                                    "value": [
                                        0.5
                                    ],
                                    "handleInfo": [
                                        "u_percent",
                                        0,
                                        13
                                    ]
                                },
                                "scale": {
                                    "type": 14,
                                    "value": [
                                        200,
                                        500
                                    ],
                                    "handleInfo": [
                                        "u_buffer1",
                                        0,
                                        14
                                    ]
                                },
                                "translate": {
                                    "type": 14,
                                    "value": [
                                        320,
                                        480
                                    ],
                                    "handleInfo": [
                                        "u_buffer1",
                                        2,
                                        14
                                    ]
                                },
                                "u_buffer0": {
                                    "type": 16,
                                    "value": [
                                        640,
                                        960,
                                        0,
                                        0
                                    ]
                                },
                                "u_percent": {
                                    "type": 13,
                                    "value": [
                                        0.5
                                    ]
                                },
                                "u_buffer1": {
                                    "type": 16,
                                    "value": [
                                        200,
                                        500,
                                        320,
                                        480
                                    ]
                                }
                            }
                        }
                    ]
                }
            ]
        ]
    ],
    0,
    0,
    [],
    [],
    []
]
