16#ifndef AEONGAMES_OPENGLFUNCTIONS_HPP
17#define AEONGAMES_OPENGLFUNCTIONS_HPP
22#include <GLES2/gl2ext.h>
23#include <GLES2/gl2platform.h>
30#include <GL/glcorearb.h>
35#include <GL/glcorearb.h>
46#include "glDeclarations.h"
47#include "glProxyFunctions.h"
50#define OPENGL_CHECK_ERROR_THROW \
52 if (int glError = glGetError()) \
54 const char* error_string = (glError == GL_INVALID_ENUM) ? "GL_INVALID_ENUM" : \
55 (glError == GL_INVALID_VALUE) ? "GL_INVALID_VALUE" : \
56 (glError == GL_INVALID_OPERATION) ? "GL_INVALID_OPERATION" : \
57 (glError == GL_STACK_OVERFLOW) ? "GL_STACK_OVERFLOW" : \
58 (glError == GL_STACK_UNDERFLOW) ? "GL_STACK_UNDERFLOW" : \
59 (glError == GL_OUT_OF_MEMORY) ? "GL_OUT_OF_MEMORY" : "Unknown Error Code"; \
60 std::ostringstream stream; \
61 stream << "OpenGL Error " << error_string << " (Code " << glError << " ) " << __FILE__ << ":" << __LINE__; \
62 std::cout << stream.str() << std::endl; \
63 throw std::runtime_error(stream.str().c_str()); \
66#define OPENGL_CHECK_ERROR_NO_THROW \
68 if (int glError = glGetError()) \
70 const char* error_string = (glError == GL_INVALID_ENUM) ? "GL_INVALID_ENUM" : \
71 (glError == GL_INVALID_VALUE) ? "GL_INVALID_VALUE" : \
72 (glError == GL_INVALID_OPERATION) ? "GL_INVALID_OPERATION" : \
73 (glError == GL_STACK_OVERFLOW) ? "GL_STACK_OVERFLOW" : \
74 (glError == GL_STACK_UNDERFLOW) ? "GL_STACK_UNDERFLOW" : \
75 (glError == GL_OUT_OF_MEMORY) ? "GL_OUT_OF_MEMORY" : "Unknown Error Code"; \
76 std::ostringstream stream; \
77 stream << " OpenGL " << __FUNCTION__ << error_string << " (Code " << glError << " ) " << __FILE__ << ":" << __LINE__; \
78 std::cout << LogLevel::Error << stream.str() << std::endl; \
82#define OPENGL_CHECK_ERROR_NO_THROW_LINE_FILE_FUNCTION(LINE, FILE, FUNCTION) \
84 if (int glError = glGetError()) \
86 const char* error_string = (glError == GL_INVALID_ENUM) ? "GL_INVALID_ENUM" : \
87 (glError == GL_INVALID_VALUE) ? "GL_INVALID_VALUE" : \
88 (glError == GL_INVALID_OPERATION) ? "GL_INVALID_OPERATION" : \
89 (glError == GL_STACK_OVERFLOW) ? "GL_STACK_OVERFLOW" : \
90 (glError == GL_STACK_UNDERFLOW) ? "GL_STACK_UNDERFLOW" : \
91 (glError == GL_OUT_OF_MEMORY) ? "GL_OUT_OF_MEMORY" : "Unknown Error Code"; \
92 std::cout << LogLevel::Error << FILE << ":" << LINE << " " << FUNCTION << " " << error_string << " (Code " << glError << " ) " << std::endl; \
Defines log severity levels and stream output for the AeonGames engine.
<- This is here just for the literals
bool LoadOpenGLAPI()
Load all OpenGL function pointers and log driver information.