goat3d

annotate src/opengl.h @ 1:e46529a5d057

some progress
author John Tsiombikas <nuclear@member.fsf.org>
date Sat, 17 Aug 2013 23:51:24 +0300
parents
children
rev   line source
nuclear@1 1 #ifndef OPENGL_H_
nuclear@1 2 #define OPENGL_H_
nuclear@1 3
nuclear@1 4 #include <stdlib.h>
nuclear@1 5
nuclear@1 6 #ifdef __APPLE__
nuclear@1 7 #include "TargetConditionals.h"
nuclear@1 8
nuclear@1 9 #if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
nuclear@1 10 /* iOS */
nuclear@1 11 #include <OpenGLES/ES2/gl.h>
nuclear@1 12 #include <OpenGLES/ES2/glext.h>
nuclear@1 13
nuclear@1 14 #define GL_CLAMP GL_CLAMP_TO_EDGE
nuclear@1 15 #define GL_DEPTH24_STENCIL8 GL_DEPTH24_STENCIL8_OES
nuclear@1 16
nuclear@1 17 #undef USE_OLDGL
nuclear@1 18
nuclear@1 19 #define GL_WRITE_ONLY GL_WRITE_ONLY_OES
nuclear@1 20 #define glMapBuffer glMapBufferOES
nuclear@1 21 #define glUnmapBuffer glUnmapBufferOES
nuclear@1 22
nuclear@1 23 #else
nuclear@1 24 /* MacOS X */
nuclear@1 25 #include <GL/glew.h>
nuclear@1 26 #include <GLUT/glut.h>
nuclear@1 27
nuclear@1 28 #define USE_OLDGL
nuclear@1 29 #endif
nuclear@1 30
nuclear@1 31 #else
nuclear@1 32 /* UNIX or Windows */
nuclear@1 33 #include <GL/glew.h>
nuclear@1 34 #include <GL/glut.h>
nuclear@1 35
nuclear@1 36 #define USE_OLDGL
nuclear@1 37 #endif
nuclear@1 38
nuclear@1 39 #ifndef GL_RGB16F
nuclear@1 40 #define GL_RGB16F 0x881b
nuclear@1 41 #endif
nuclear@1 42 #ifndef GL_RGBA16F
nuclear@1 43 #define GL_RGBA16F 0x881a
nuclear@1 44 #endif
nuclear@1 45 #ifndef GL_RGB32F
nuclear@1 46 #define GL_RGB32F 0x8815
nuclear@1 47 #endif
nuclear@1 48 #ifndef GL_RGBA32F
nuclear@1 49 #define GL_RGBA32F 0x8814
nuclear@1 50 #endif
nuclear@1 51 #ifndef GL_LUMINANCE16F
nuclear@1 52 #define GL_LUMINANCE16F 0x881e
nuclear@1 53 #endif
nuclear@1 54 #ifndef GL_LUMINANCE32F
nuclear@1 55 #define GL_LUMINANCE32F 0x8818
nuclear@1 56 #endif
nuclear@1 57
nuclear@1 58 #define CHECKGLERR \
nuclear@1 59 do { \
nuclear@1 60 int err = glGetError(); \
nuclear@1 61 if(err) { \
nuclear@1 62 fprintf(stderr, "%s:%d: OpenGL error 0x%x: %s\n", __FILE__, __LINE__, err, strglerr(err)); \
nuclear@1 63 abort(); \
nuclear@1 64 } \
nuclear@1 65 } while(0)
nuclear@1 66
nuclear@1 67 void init_opengl();
nuclear@1 68
nuclear@1 69 const char *strglerr(int err);
nuclear@1 70
nuclear@1 71 #endif // OPENGL_H_