{
    "entryPoints" : [
        {
            "name" : "main",
            "mode" : "vert"
        }
    ],
    "types" : {
        "_12" : {
            "name" : "type.TransformBuffer",
            "members" : [
                {
                    "name" : "world_to_projection",
                    "type" : "mat4",
                    "offset" : 0,
                    "matrix_stride" : 16,
                    "row_major" : true
                },
                {
                    "name" : "projection_to_world",
                    "type" : "mat4",
                    "offset" : 64,
                    "matrix_stride" : 16,
                    "row_major" : true
                },
                {
                    "name" : "world_to_view",
                    "type" : "mat4",
                    "offset" : 128,
                    "matrix_stride" : 16,
                    "row_major" : true
                },
                {
                    "name" : "view_to_projection",
                    "type" : "mat4",
                    "offset" : 192,
                    "matrix_stride" : 16,
                    "row_major" : true
                },
                {
                    "name" : "camera_pos_world",
                    "type" : "vec3",
                    "offset" : 256
                },
                {
                    "name" : "viewport_min_z",
                    "type" : "float",
                    "offset" : 268
                },
                {
                    "name" : "camera_dir_world",
                    "type" : "vec3",
                    "offset" : 272
                },
                {
                    "name" : "viewport_max_z",
                    "type" : "float",
                    "offset" : 284
                },
                {
                    "name" : "viewport_size",
                    "type" : "vec2",
                    "offset" : 288
                },
                {
                    "name" : "viewport_offset",
                    "type" : "vec2",
                    "offset" : 296
                },
                {
                    "name" : "render_size",
                    "type" : "vec2",
                    "offset" : 304
                },
                {
                    "name" : "time",
                    "type" : "float",
                    "offset" : 312
                }
            ]
        }
    },
    "inputs" : [
        {
            "type" : "vec3",
            "name" : "in.var.pos",
            "location" : 0
        },
        {
            "type" : "vec2",
            "name" : "in.var.uv",
            "location" : 1
        },
        {
            "type" : "vec4",
            "name" : "in.var.color",
            "location" : 2
        },
        {
            "type" : "vec3",
            "name" : "in.var.norm",
            "location" : 3
        }
    ],
    "outputs" : [
        {
            "type" : "vec2",
            "name" : "out.var.TEXCOORD0",
            "location" : 0
        },
        {
            "type" : "vec4",
            "name" : "out.var.COLOR0",
            "location" : 1
        },
        {
            "type" : "vec3",
            "name" : "out.var.NORMAL",
            "location" : 2
        },
        {
            "type" : "vec3",
            "name" : "out.var.COLOR1",
            "location" : 3
        }
    ],
    "ubos" : [
        {
            "type" : "_12",
            "name" : "type.TransformBuffer",
            "block_size" : 316,
            "set" : 1,
            "binding" : 0
        }
    ]
}