nuclear@1: #ifndef OPENGL_H_ nuclear@1: #define OPENGL_H_ nuclear@1: nuclear@1: #include nuclear@1: nuclear@1: #ifdef __APPLE__ nuclear@1: #include "TargetConditionals.h" nuclear@1: nuclear@1: #if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR nuclear@1: /* iOS */ nuclear@1: #include nuclear@1: #include nuclear@1: nuclear@1: #define GL_CLAMP GL_CLAMP_TO_EDGE nuclear@1: #define GL_DEPTH24_STENCIL8 GL_DEPTH24_STENCIL8_OES nuclear@1: nuclear@1: #undef USE_OLDGL nuclear@1: nuclear@1: #define GL_WRITE_ONLY GL_WRITE_ONLY_OES nuclear@1: #define glMapBuffer glMapBufferOES nuclear@1: #define glUnmapBuffer glUnmapBufferOES nuclear@1: nuclear@1: #else nuclear@1: /* MacOS X */ nuclear@1: #include nuclear@1: #include nuclear@1: nuclear@1: #define USE_OLDGL nuclear@1: #endif nuclear@1: nuclear@1: #else nuclear@1: /* UNIX or Windows */ nuclear@1: #include nuclear@1: #include nuclear@1: nuclear@1: #define USE_OLDGL nuclear@1: #endif nuclear@1: nuclear@1: #ifndef GL_RGB16F nuclear@1: #define GL_RGB16F 0x881b nuclear@1: #endif nuclear@1: #ifndef GL_RGBA16F nuclear@1: #define GL_RGBA16F 0x881a nuclear@1: #endif nuclear@1: #ifndef GL_RGB32F nuclear@1: #define GL_RGB32F 0x8815 nuclear@1: #endif nuclear@1: #ifndef GL_RGBA32F nuclear@1: #define GL_RGBA32F 0x8814 nuclear@1: #endif nuclear@1: #ifndef GL_LUMINANCE16F nuclear@1: #define GL_LUMINANCE16F 0x881e nuclear@1: #endif nuclear@1: #ifndef GL_LUMINANCE32F nuclear@1: #define GL_LUMINANCE32F 0x8818 nuclear@1: #endif nuclear@1: nuclear@1: #define CHECKGLERR \ nuclear@1: do { \ nuclear@1: int err = glGetError(); \ nuclear@1: if(err) { \ nuclear@1: fprintf(stderr, "%s:%d: OpenGL error 0x%x: %s\n", __FILE__, __LINE__, err, strglerr(err)); \ nuclear@1: abort(); \ nuclear@1: } \ nuclear@1: } while(0) nuclear@1: nuclear@1: void init_opengl(); nuclear@1: nuclear@1: const char *strglerr(int err); nuclear@1: nuclear@1: #endif // OPENGL_H_