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