#pragma once

#include <GL/glew.h>
#include <GL/gl.h>
#include <SDL2/SDL.h>
#include <SDL2/SDL_image.h>

#include "../COMMON.h"

typedef struct Texture
{
	GLuint handle;
	ivec2 size;
	s32 channels;
	bool isInit;
} Texture;

bool texture_init(Texture* self, const char* path);
void texture_surface_init(Texture* self, SDL_Surface* surface);
void texture_bind(Texture* self);
void texture_free(Texture* self);
