#pragma once

#include "basic.h"
#include "render_data.h"
#include <glad/glad.h>
#include <GLFW/glfw3.h>


struct Vertex_Buffer {
  u32 vao = 0;
  u32 vbo = 0;
};

bool init_vertex_buffer(Vertex_Buffer *vertex_buffer);
void cleanup_vertex_buffer(Vertex_Buffer *vertex_buffer);
void upload_vertex_buffer_data(Vertex_Buffer *vertex_buffer, Mesh *vertex_data);
void bind_vertex_buffer(Vertex_Buffer *vertex_buffer);
void unbind_vertex_buffer();
void draw_vertex_buffer(u32 mode, u32 start, u32 num);

