#pragma once

#include "material.hpp"
#include "geometry/matrix.hpp"
#include "geometry/vector.hpp"

#include <string>
#include <memory>       // unique_ptr


namespace frog::gl
{


struct model
{
    material mat;
    std::string mesh_tag;
    // TODO
    std::string texture_tag;

    geo::vec3 pos;
    geo::vec3 rot;
    // TODO
    geo::vec3 scale;

    // bool smooth_movement = false;

    // model(mesh& src)
    //     : mesh_ptr(&src) {}

    // void draw(program&) const;

    geo::mat4 matrix() const;
};


} // namespace frog::gl

