#pragma once

#include <string>
#include <vector>

#include <glm/glm.hpp>

#define DISPLAY_DIGITS 5

#define CHECK_GL_ERR() Util::_check_gl_err(__FILE__, __LINE__)



namespace charcoal
{
	using namespace glm;

	class Util
	{
	public:
		static std::string load_file(const std::string& path);
		static void set_console_position(short x, short y);
		static void print_matrix(const mat4& matrix);
		static void print_vec(const vec2& v);
		static void print_vec(const vec3& v);
		static void print_vec(const vec4& v);

		// Use the CHECK_GL_ERR macro unless you know what you are doing with this function
		static void _check_gl_err(const char* file_name, int line);
	};
}