Mam problem z wiązany z OpenGL, mianowicie gdy wywołuje program (który się debaguje i po trzymaniu F5 działa) za każdym razem gdy trafia na makro GLCall() visual studio robi przerwanie i zgłasza wyjątek: Element OpenGL.exe wyzwolił punkt przerwania.
Kod .h
#include <GL/glew.h>
#define ASSERT(x) if (!(x)) __debugbreak();
#define GLCall(x) GLClearError();\
x;\
ASSERT(GLLogCall(#x, __FILE__, __LINE__))
void GLClearError();
bool GLLogCall(const char* function, const char* file, int line);
i .cpp
void GLClearError()
{
while (glGetError() != GL_NO_ERROR);
}
bool GLLogCall(const char* function, const char* file, int line)
{
while (GLenum error = glGetError())
{
std::cout << "[OpenGL Error] (" << error << "): " << function <<
" " << file << ":" << line << std::endl;
return false;
}
return false;
}
a gdy zamiast while (glGetError() != GL_NO_ERROR); wpisze while (!glGetError()); to program sie zawiesza na pierwszym wywołaniu makra GLCall()