We use glXGetProcAddress to load glXCreateContextAttribsARB ourselves,
so GLX_GLXEXT_PROTOTYPES is not needed.
| ... | ... | @@ -5,17 +5,16 @@ | 
| 5 | 5 |  extern "C" { | 
| 6 | 6 | #endif | 
| 7 | 7 |  | 
| 8 | -#ifdef __APPLE__ | |
| 8 | +#if defined(__APPLE__) | |
| 9 | 9 | #define GL_SILENCE_DEPRECATION | 
| 10 | 10 | #include <OpenGL/gl3.h> | 
| 11 | +#elif defined(_WIN32) | |
| 12 | + #include "glew.h" | |
| 11 | 13 | #else | 
| 12 | - #if defined(_WIN32) | |
| 13 | - #include "glew.h" | |
| 14 | - #include <GL/gl.h> | |
| 15 | - #else | |
| 16 | - #include <GL/gl.h> | |
| 17 | - #endif | |
| 14 | + #define GL_GLEXT_PROTOTYPES | |
| 15 | + #include <GL/gl.h> | |
| 18 | 16 | #endif | 
| 17 | + | |
| 19 | 18 | #include <stdlib.h> | 
| 20 | 19 |  | 
| 21 | 20 | void printError(const char *functionName); | 
find . -type f -exec chmod -x {} +
| 1 | 1 | new file mode 100755 | 
| ... | ... | @@ -0,0 +1,53 @@ | 
| 1 | +#ifndef _GL_UTILITIES_ | |
| 2 | +#define _GL_UTILITIES_ | |
| 3 | + | |
| 4 | +#ifdef __cplusplus | |
| 5 | +extern "C" { | |
| 6 | +#endif | |
| 7 | + | |
| 8 | +#ifdef __APPLE__ | |
| 9 | + #define GL_SILENCE_DEPRECATION | |
| 10 | + #include <OpenGL/gl3.h> | |
| 11 | +#else | |
| 12 | + #if defined(_WIN32) | |
| 13 | + #include "glew.h" | |
| 14 | + #include <GL/gl.h> | |
| 15 | + #else | |
| 16 | + #include <GL/gl.h> | |
| 17 | + #endif | |
| 18 | +#endif | |
| 19 | +#include <stdlib.h> | |
| 20 | + | |
| 21 | +void printError(const char *functionName); | |
| 22 | +GLuint loadShaders(const char *vertFileName, const char *fragFileName); | |
| 23 | +GLuint loadShadersG(const char *vertFileName, const char *fragFileName, const char *geomFileName); | |
| 24 | +GLuint loadShadersGT(const char *vertFileName, const char *fragFileName, const char *geomFileName, | |
| 25 | + const char *tcFileName, const char *teFileName); | |
| 26 | +void dumpInfo(void); | |
| 27 | + | |
| 28 | +// This is obsolete! Use the functions in MicroGlut instead! | |
| 29 | +//void initKeymapManager(); | |
| 30 | +//char keyIsDown(unsigned char c); | |
| 31 | + | |
| 32 | +// FBO support | |
| 33 | + | |
| 34 | +//------------a structure for FBO information------------------------------------- | |
| 35 | +typedef struct | |
| 36 | +{ | |
| 37 | + GLuint texid; | |
| 38 | + GLuint fb; | |
| 39 | + GLuint rb; | |
| 40 | + GLuint depth; | |
| 41 | + int width, height; | |
| 42 | +} FBOstruct; | |
| 43 | + | |
| 44 | +FBOstruct *initFBO(int width, int height, int int_method); | |
| 45 | +FBOstruct *initFBO2(int width, int height, int int_method, int create_depthimage); | |
| 46 | +void useFBO(FBOstruct *out, FBOstruct *in1, FBOstruct *in2); | |
| 47 | +void updateScreenSizeForFBOHandler(int w, int h); // Temporary workaround to inform useFBO of screen size changes | |
| 48 | + | |
| 49 | +#ifdef __cplusplus | |
| 50 | +} | |
| 51 | +#endif | |
| 52 | + | |
| 53 | +#endif |