#pragma once

#include <iostream>
#include <GL/glew.h>
#include <GLFW/glfw3.h>

#define ASSERT(x) if(!(x)){ cout << "[ERROR] " << #x << '\n';\
__debugbreak();}
//#define GLCall(x) glClearError();\
//    x;\
//    ASSERT(glErrorCheck())

#define GLCall(x) \
    glClearError();\
    x;\
    if(!(glErrorCheck())){ cout << "[ERROR] " << #x << '\n';\
    __debugbreak();}

void PrintSizeLimits();
bool glErrorCheck();
void glClearError();
float getRand();

bool fileExists(const std::string & name);
