#pragma once
#include "Debugger.h"
#include "STB/stb_image.h"


class Texture
{
private:
	unsigned int m_renderer_ID;

	std::string m_filepath;
	unsigned char* m_local_buffer;
	int m_width, m_height, m_bits_per_pixel;

public:
	Texture(const std::string& filepath);
	~Texture();

	void Bind(unsigned int slot = 0) const; // Modern GPU has almost 32 texture slots
	void UnBind() const;

	inline int GetWidth() const
	{
		return m_width;
	}

	inline int GetHeight() const
	{
		return m_width;
	}

};

