#endif
#ifndef GL_PROJECTION
+#include <stddef.h>
+
typedef unsigned int GLenum;
typedef unsigned char GLboolean;
typedef unsigned int GLbitfield;
// double precision float in [0,1]
typedef double GLclampd;
// int whose size is the same as a pointer (?)
-typedef size_t GLintptrARB;
+typedef ptrdiff_t GLintptrARB;
// int whose size is the same as a pointer (?)
-typedef size_t GLsizeiptrARB;
+typedef ptrdiff_t GLsizeiptrARB;
#define GL_MODELVIEW 0x1700
#define GL_PROJECTION 0x1701
#define GL_POLYGON_STIPPLE 0x0B42
+#define GL_CLIP_PLANE0 0x3000
+#define GL_CLIP_PLANE1 0x3001
+#define GL_CLIP_PLANE2 0x3002
+#define GL_CLIP_PLANE3 0x3003
+#define GL_CLIP_PLANE4 0x3004
+#define GL_CLIP_PLANE5 0x3005
+
#endif
extern int gl_max_texture_size;
extern void (GLAPIENTRY *qglPolygonOffset)(GLfloat factor, GLfloat units);
extern void (GLAPIENTRY *qglPolygonMode)(GLenum face, GLenum mode);
+extern void (GLAPIENTRY *qglClipPlane)(GLenum plane, const GLdouble *equation);
+extern void (GLAPIENTRY *qglGetClipPlane)(GLenum plane, GLdouble *equation);
+
//[515]: added on 29.07.2005
extern void (GLAPIENTRY *qglLineWidth)(GLfloat width);
extern void (GLAPIENTRY *qglPointSize)(GLfloat size);
// 1-byte character string
typedef char GLcharARB;
// 4-byte integer handle to a shader object or program object
-typedef int GLhandleARB;
+typedef unsigned int GLhandleARB;
#endif
extern void (GLAPIENTRY *qglDeleteObjectARB)(GLhandleARB obj);
extern GLhandleARB (GLAPIENTRY *qglGetHandleARB)(GLenum pname);
#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2
#define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3
#endif
-
+
+// GL_ARB_occlusion_query
+extern int gl_support_arb_occlusion_query;
+extern void (GLAPIENTRY *qglGenQueriesARB)(GLsizei n, GLuint *ids);
+extern void (GLAPIENTRY *qglDeleteQueriesARB)(GLsizei n, const GLuint *ids);
+extern GLboolean (GLAPIENTRY *qglIsQueryARB)(GLuint qid);
+extern void (GLAPIENTRY *qglBeginQueryARB)(GLenum target, GLuint qid);
+extern void (GLAPIENTRY *qglEndQueryARB)(GLenum target);
+extern void (GLAPIENTRY *qglGetQueryivARB)(GLenum target, GLenum pname, GLint *params);
+extern void (GLAPIENTRY *qglGetQueryObjectivARB)(GLuint qid, GLenum pname, GLint *params);
+extern void (GLAPIENTRY *qglGetQueryObjectuivARB)(GLuint qid, GLenum pname, GLuint *params);
+#ifndef GL_SAMPLES_PASSED_ARB
+#define GL_SAMPLES_PASSED_ARB 0x8914
+#define GL_QUERY_COUNTER_BITS_ARB 0x8864
+#define GL_CURRENT_QUERY_ARB 0x8865
+#define GL_QUERY_RESULT_ARB 0x8866
+#define GL_QUERY_RESULT_AVAILABLE_ARB 0x8867
+#endif
+
// GL_EXT_bgr
#define GL_BGR 0x80E0