#pragma once

#include <GL/glew.h>
#include <GLFW/glfw3.h>
#include <glm/glm.hpp>

#include <vector>
#include <string>
#include <memory>

namespace kek {

class Texture {

public:
	GLuint id;
	std::string path;

	Texture(std::string texturePath);

	Texture(GLuint id);

	~Texture();

	void use(GLenum texture);

	static std::shared_ptr<Texture> load(std::string texturePath);

	static std::shared_ptr<Texture> generateColor(glm::vec3 color);

};

}
