72 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Objective-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__);                                                                           \
 | 
						|
		}                                                                                                                                                      \
 | 
						|
	}
 |