import package::util::{ VertexInput, uniforms };

@vertex
fn vs_main(input: VertexInput) -> @builtin(position) vec4<f32> {
    let instance_model = mat4x4<f32>(
        input.instance_model_0,
        input.instance_model_1,
        input.instance_model_2,
        input.instance_model_3
    );

    let world_pos = instance_model * vec4<f32>(input.position, 1.0);
    return uniforms.projection * world_pos;
}
