From af45c276129966782bd3066582b91b4f3cf1c10f Mon Sep 17 00:00:00 2001 From: malc Date: Sun, 2 Nov 2008 14:16:06 +0300 Subject: [PATCH] Factor out GL cruft into pgl.h --- pgl.h | 40 ++++++++++++++++++++++++++++++++++++++++ skin.c | 42 +----------------------------------------- 2 files changed, 41 insertions(+), 41 deletions(-) create mode 100644 pgl.h diff --git a/pgl.h b/pgl.h new file mode 100644 index 0000000..4b1817f --- /dev/null +++ b/pgl.h @@ -0,0 +1,40 @@ +#define GL_GLEXT_PROTOTYPES +#ifdef _WIN32 +#define WIN32_LEAN_AND_MEAN +#include +#endif +#ifdef __APPLE__ +#include +#else +#include +#endif + +#ifndef GL_VERSION_1_5 +#define GL_ARRAY_BUFFER 0x8892 +#define GL_DYNAMIC_DRAW 0x88E8 +#define GL_STATIC_DRAW 0x88E4 +#define GL_WRITE_ONLY 0x88B9 +#ifndef APIENTRYP +#define APIENTRYP APIENTRY * +#endif +typedef ptrdiff_t GLintptr; +typedef ptrdiff_t GLsizeiptr; +typedef void (APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer); +typedef void (APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers); +typedef void (APIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage); +typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERPROC) (GLenum target, GLenum access); +typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERPROC) (GLenum target); +static PFNGLBINDBUFFERPROC glBindBuffer; +static PFNGLGENBUFFERSPROC glGenBuffers; +static PFNGLBUFFERDATAPROC glBufferData; +static PFNGLMAPBUFFERPROC glMapBuffer; +static PFNGLUNMAPBUFFERPROC glUnmapBuffer; +#define GETPA(name) for (;;) { \ + *(PROC *) &gl##name = wglGetProcAddress ("gl" # name); \ + if (!gl##name) { \ + fprintf (stderr, "could not get address of gl"#name"\n"); \ + exit (EXIT_FAILURE); \ + } \ + break; \ +} +#endif diff --git a/skin.c b/skin.c index 3bba7ea..15bf424 100644 --- a/skin.c +++ b/skin.c @@ -1,44 +1,3 @@ -#define GL_GLEXT_PROTOTYPES -#ifdef _WIN32 -#define WIN32_LEAN_AND_MEAN -#include -#endif -#ifdef __APPLE__ -#include -#else -#include -#endif - -#ifndef GL_VERSION_1_5 -#define GL_ARRAY_BUFFER 0x8892 -#define GL_DYNAMIC_DRAW 0x88E8 -#define GL_STATIC_DRAW 0x88E4 -#define GL_WRITE_ONLY 0x88B9 -#ifndef APIENTRYP -#define APIENTRYP APIENTRY * -#endif -typedef ptrdiff_t GLintptr; -typedef ptrdiff_t GLsizeiptr; -typedef void (APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer); -typedef void (APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers); -typedef void (APIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage); -typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERPROC) (GLenum target, GLenum access); -typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERPROC) (GLenum target); -static PFNGLBINDBUFFERPROC glBindBuffer; -static PFNGLGENBUFFERSPROC glGenBuffers; -static PFNGLBUFFERDATAPROC glBufferData; -static PFNGLMAPBUFFERPROC glMapBuffer; -static PFNGLUNMAPBUFFERPROC glUnmapBuffer; -#define GETPA(name) for (;;) { \ - *(PROC *) &gl##name = wglGetProcAddress ("gl" # name); \ - if (!gl##name) { \ - fprintf (stderr, "could not get address of gl"#name"\n"); \ - exit (EXIT_FAILURE); \ - } \ - break; \ -} -#endif - #include #include #include @@ -49,6 +8,7 @@ static PFNGLUNMAPBUFFERPROC glUnmapBuffer; #include #include "vec.c" +#include "pgl.h" enum {V_IDX, N_IDX, UV_IDX, C_IDX, COUNT}; -- 2.11.4.GIT