#ifndef __G_MODELS_H__
#define __G_MODELS_H__

#include <gear/base.h>
#include <gear/graphics/color.h>
#include <sokol/sokol_gfx.h>

typedef struct g_vertex {
    float x, y, z;
    g_color color;
    int16_t u, v;
} g_vertex;

typedef u32 g_index;

typedef sl_vec(g_vertex) g_vertex_vec;
typedef sl_vec(g_index) g_index_vec;

typedef struct g_model {
    g_vertex_vec vertices;
    g_index_vec indices;
    sg_buffer vertex_buffer;
    sg_buffer index_buffer;
} g_model;

// src/graphics/models/create.c
g_model* g_model_create(g_vertex_vec* vertices, g_index_vec* indices);

// src/graphics/models/load.c
// g_model* g_model_load(const char* filename);

// src/graphics/models/destroy.c
void g_model_destroy(g_model* model);

#endif
