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