72 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			72 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|  | #pragma once
 | ||
|  | 
 | ||
|  | #ifdef KINC_WINDOWS
 | ||
|  | #include <GL/gl.h>
 | ||
|  | #include <GL/glew.h>
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #ifdef KINC_MACOS
 | ||
|  | #include <OpenGL/gl.h>
 | ||
|  | #include <OpenGL/glext.h>
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #ifdef KINC_IOS
 | ||
|  | #import <OpenGLES/ES2/gl.h>
 | ||
|  | #import <OpenGLES/ES2/glext.h>
 | ||
|  | #import <OpenGLES/ES3/gl.h>
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #ifdef KINC_ANDROID
 | ||
|  | #include <EGL/egl.h>
 | ||
|  | #if KINC_ANDROID_API >= 18
 | ||
|  | #include <GLES3/gl3.h>
 | ||
|  | #endif
 | ||
|  | #include <GLES2/gl2.h>
 | ||
|  | #include <GLES2/gl2ext.h>
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #ifdef KINC_EMSCRIPTEN
 | ||
|  | #define GL_GLEXT_PROTOTYPES
 | ||
|  | #define EGL_EGLEXT_PROTOTYPES
 | ||
|  | #include <GL/gl.h>
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #ifdef KINC_LINUX
 | ||
|  | #include <X11/X.h>
 | ||
|  | #include <X11/Xlib.h>
 | ||
|  | #define GL_GLEXT_PROTOTYPES
 | ||
|  | #include <GL/gl.h>
 | ||
|  | #include <GL/glext.h>
 | ||
|  | #include <GL/glx.h>
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #ifdef KINC_RASPBERRY_PI
 | ||
|  | // #define GL_GLEXT_PROTOTYPES
 | ||
|  | #include "EGL/egl.h"
 | ||
|  | #include "EGL/eglext.h"
 | ||
|  | #include "GLES2/gl2.h"
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #include <Kore/Log.h>
 | ||
|  | 
 | ||
|  | #if defined(NDEBUG) || defined(KINC_OSX) || defined(KINC_IOS) || defined(KINC_ANDROID) || 1 // Calling glGetError too early means trouble
 | ||
|  | #define glCheckErrors()                                                                                                                                        \
 | ||
|  | 	{} | ||
|  | #else
 | ||
|  | #define glCheckErrors()                                                                                                                                        \
 | ||
|  | 	{                                                                                                                                                          \ | ||
|  | 		GLenum code = glGetError();                                                                                                                            \ | ||
|  | 		while (code != GL_NO_ERROR) {                                                                                                                          \ | ||
|  | 			Kore::log(Kore::Error, "GL Error %d %s %d\n", code, __FILE__, __LINE__);                                                                           \ | ||
|  | 		}                                                                                                                                                      \ | ||
|  | 	} | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #define glCheckErrors2()                                                                                                                                       \
 | ||
|  | 	{                                                                                                                                                          \ | ||
|  | 		GLenum code = glGetError();                                                                                                                            \ | ||
|  | 		while (code != GL_NO_ERROR) {                                                                                                                          \ | ||
|  | 			Kore::log(Kore::Error, "GL Error %d %s %d\n", code, __FILE__, __LINE__);                                                                           \ | ||
|  | 		}                                                                                                                                                      \ | ||
|  | 	} |