[Buildroot] [PATCH 04/11 v5] package/opengl-registry: new package

Nicolas Serafini nicolas.serafini at sensefly.com
Tue Jan 20 17:12:44 UTC 2015


Yann, all,

I have done some test using Nvidia tegra binary blob and I was not able
to build package that has dependency (like QT5 with OpenglES) because
some headers files are missing.
EGL/eglplatform.h
GLES/glplatform.h
GLES2/gl2platform.h
GLES3/gl3platform.h

If I add them manually it's working.

Thanks

Nicolas


On Mon, 19 Jan 2015 21:40:34
+0100 "Yann E. MORIN" <yann.morin.1998 at free.fr> wrote:

> The OpenGL Registry provides all GL headers, save for gl.h itself. We
> vampirise the one from mesa3d (at the version we currently package),
> which is as good as any other.
> 
> Those headers are needed when an OpenGL/EGL/GLES implementation does
> not provide its own headers, like the NVidia binary blob (to come in
> follow-up patches.)
> 
> Note that, even though this is a generic package, and we could
> everything in the BUILD_CMDS, we decided to split the tweaking of
> glx.h in a post-build script, to really make it clear we are tweaking
> a generated file.
> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> 
> --
> Tested by building XBMC against the NVidia proprietary blob.
> 
> Note: their svn repository holds many other things, even non-public
> stuff, so the svn revision we use is the one at which the api
> directory was *changed*, which might be lagging behind the revision
> the repository is currently at
> 
> ---
> Changes v4 -> v5:
>   - fix env when calling make
> 
> Changes v3 -> v4:
>   - move to a sub-dir of opengl/ because we'll add some more Khronos
>     registry packages (OpenMAX...)
>   - bump revision
> ---
>  package/opengl/khronos-registry/Config.in          |    1 +
>  .../khronos-registry/opengl-registry/Config.in     |   24 +
>  .../opengl/khronos-registry/opengl-registry/gl.h   | 2115
> ++++++++++++++++++++ .../opengl-registry-000-run-from-current-dir.patch
> |   17 + .../opengl-registry/opengl-registry.mk             |   87 +
>  5 files changed, 2244 insertions(+)
>  create mode 100644
> package/opengl/khronos-registry/opengl-registry/Config.in create mode
> 100644 package/opengl/khronos-registry/opengl-registry/gl.h create
> mode 100644
> package/opengl/khronos-registry/opengl-registry/opengl-registry-000-run-from-current-dir.patch
> create mode 100644
> package/opengl/khronos-registry/opengl-registry/opengl-registry.mk
> 
> diff --git a/package/opengl/khronos-registry/Config.in
> b/package/opengl/khronos-registry/Config.in index 770c9be..ee550e9
> 100644 --- a/package/opengl/khronos-registry/Config.in
> +++ b/package/opengl/khronos-registry/Config.in
> @@ -1,2 +1,3 @@
>  source
> "package/opengl/khronos-registry/khrplatform-registry/Config.in"
> source "package/opengl/khronos-registry/openkode-registry/Config.in"
> +source "package/opengl/khronos-registry/opengl-registry/Config.in"
> diff --git
> a/package/opengl/khronos-registry/opengl-registry/Config.in
> b/package/opengl/khronos-registry/opengl-registry/Config.in new file
> mode 100644 index 0000000..2c3c60c --- /dev/null +++
> b/package/opengl/khronos-registry/opengl-registry/Config.in @@ -0,0
> +1,24 @@ +# Note: this package has no prompt, because it is to be
> selected by +# packages that need it, and does not make sense on its
> own. +# Further more, we want to avoid it being enabled alongside any
> other +# package that provide their own OpenGL headers, like mesa3d or
> +# rpi-userland...
> +
> +config BR2_PACKAGE_OPENGL_REGISTRY
> +	bool
> +	select BR2_PACKAGE_KHRPLATFORM_REGISTRY
> +	help
> +	  The OpenGL Registry contains specifications, header files,
> and
> +	  related documentation for OpenGL and related APIs
> including GLU,
> +	  GLX, and WGL. In addition to the core API specifications,
> many
> +	  extensions to these APIs have been defined by vendors,
> groups of
> +	  vendors, and the ARB. The Registry also contains
> specifications
> +	  and header files for all registered extensions, written as
> +	  modifications to the appropriate core API specifications.
> +
> +	  This package installs the openGL header files. You do not
> need them
> +	  if the OpenGL/EGL/GLES implementation provides its own
> headers.
> +	  Currently, the only known implementation requiring OpenGL
> Resgistry
> +	  is the NVidia proprietary driver.
> +
> +	  https://www.opengl.org/registry/
> diff --git a/package/opengl/khronos-registry/opengl-registry/gl.h
> b/package/opengl/khronos-registry/opengl-registry/gl.h new file mode
> 100644 index 0000000..5b28480
> --- /dev/null
> +++ b/package/opengl/khronos-registry/opengl-registry/gl.h
> @@ -0,0 +1,2115 @@
> +/*
> + * Mesa 3-D graphics library
> + *
> + * Copyright (C) 1999-2006  Brian Paul   All Rights Reserved.
> + * Copyright (C) 2009  VMware, Inc.  All Rights Reserved.
> + *
> + * Permission is hereby granted, free of charge, to any person
> obtaining a
> + * copy of this software and associated documentation files (the
> "Software"),
> + * to deal in the Software without restriction, including without
> limitation
> + * the rights to use, copy, modify, merge, publish, distribute,
> sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom
> the
> + * Software is furnished to do so, subject to the following
> conditions:
> + *
> + * The above copyright notice and this permission notice shall be
> included
> + * in all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> EXPRESS
> + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO
> EVENT SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
> OR
> + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
> OTHERWISE,
> + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
> USE OR
> + * OTHER DEALINGS IN THE SOFTWARE.
> + */
> +
> +
> +#ifndef __gl_h_
> +#define __gl_h_
> +
> +#if defined(USE_MGL_NAMESPACE)
> +#include "gl_mangle.h"
> +#endif
> +
> +
> +/**********************************************************************
> + * Begin system-specific stuff.
> + */
> +
> +#if defined(_WIN32) && !defined(__WIN32__) && !defined(__CYGWIN__)
> +#define __WIN32__
> +#endif
> +
> +#if defined(__WIN32__) && !defined(__CYGWIN__)
> +#  if (defined(_MSC_VER) || defined(__MINGW32__)) &&
> defined(BUILD_GL32) /* tag specify we're building mesa as a DLL */
> +#    define GLAPI __declspec(dllexport) +#  elif (defined(_MSC_VER)
> || defined(__MINGW32__)) && defined(_DLL) /* tag specifying we're
> building for DLL runtime support */ +#    define GLAPI
> __declspec(dllimport) +#  else /* for use with static link lib build
> of Win32 edition only */ +#    define GLAPI extern +#  endif /*
> _STATIC_MESA support */ +#  if defined(__MINGW32__) &&
> defined(GL_NO_STDCALL) || defined(UNDER_CE)  /* The generated DLLs by
> MingW with STDCALL are not compatible with the ones done by
> Microsoft's compilers */ +#    define GLAPIENTRY +#  else +#
> define GLAPIENTRY __stdcall +#  endif
> +#elif defined(__CYGWIN__) && defined(USE_OPENGL32) /* use native
> windows opengl32 */ +#  define GLAPI extern
> +#  define GLAPIENTRY __stdcall
> +#elif (defined(__GNUC__) && __GNUC__ >= 4) || (defined(__SUNPRO_C)
> && (__SUNPRO_C >= 0x590)) +#  define GLAPI
> __attribute__((visibility("default"))) +#  define GLAPIENTRY
> +#endif /* WIN32 && !CYGWIN */
> +
> +/*
> + * WINDOWS: Include windows.h here to define APIENTRY.
> + * It is also useful when applications include this file by
> + * including only glut.h, since glut.h depends on windows.h.
> + * Applications needing to include windows.h with parms other
> + * than "WIN32_LEAN_AND_MEAN" may include windows.h before
> + * glut.h or gl.h.
> + */
> +#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__)
> +#ifndef WIN32_LEAN_AND_MEAN
> +#define WIN32_LEAN_AND_MEAN 1
> +#endif
> +#include <windows.h>
> +#endif
> +
> +#ifndef GLAPI
> +#define GLAPI extern
> +#endif
> +
> +#ifndef GLAPIENTRY
> +#define GLAPIENTRY
> +#endif
> +
> +#ifndef APIENTRY
> +#define APIENTRY GLAPIENTRY
> +#endif
> +
> +/* "P" suffix to be used for a pointer to a function */
> +#ifndef APIENTRYP
> +#define APIENTRYP APIENTRY *
> +#endif
> +
> +#ifndef GLAPIENTRYP
> +#define GLAPIENTRYP GLAPIENTRY *
> +#endif
> +
> +/*
> + * End system-specific stuff.
> +
> **********************************************************************/
> + +
> +
> +#ifdef __cplusplus
> +extern "C" {
> +#endif
> +
> +
> +
> +#define GL_VERSION_1_1   1
> +#define GL_VERSION_1_2   1
> +#define GL_VERSION_1_3   1
> +#define GL_ARB_imaging   1
> +
> +
> +/*
> + * Datatypes
> + */
> +typedef unsigned int	GLenum;
> +typedef unsigned char	GLboolean;
> +typedef unsigned int	GLbitfield;
> +typedef void		GLvoid;
> +typedef signed char	GLbyte;		/* 1-byte signed */
> +typedef short		GLshort;	/* 2-byte signed */
> +typedef int		GLint;		/* 4-byte signed */
> +typedef unsigned char	GLubyte;	/* 1-byte unsigned */
> +typedef unsigned short	GLushort;	/* 2-byte unsigned */
> +typedef unsigned int	GLuint;		/* 4-byte
> unsigned */ +typedef int		GLsizei;	/* 4-byte
> signed */ +typedef float		GLfloat;	/* single
> precision float */ +typedef float		GLclampf;	/*
> single precision float in [0,1] */ +typedef double
> GLdouble;	/* double precision float */ +typedef
> double		GLclampd;	/* double precision float in
> [0,1] */ + +
> +
> +/*
> + * Constants
> + */
> +
> +/* Boolean values */
> +#define GL_FALSE				0
> +#define GL_TRUE					1
> +
> +/* Data types */
> +#define GL_BYTE					0x1400
> +#define GL_UNSIGNED_BYTE			0x1401
> +#define GL_SHORT				0x1402
> +#define GL_UNSIGNED_SHORT			0x1403
> +#define GL_INT					0x1404
> +#define GL_UNSIGNED_INT				0x1405
> +#define GL_FLOAT				0x1406
> +#define GL_2_BYTES				0x1407
> +#define GL_3_BYTES				0x1408
> +#define GL_4_BYTES				0x1409
> +#define GL_DOUBLE				0x140A
> +
> +/* Primitives */
> +#define GL_POINTS				0x0000
> +#define GL_LINES				0x0001
> +#define GL_LINE_LOOP				0x0002
> +#define GL_LINE_STRIP				0x0003
> +#define GL_TRIANGLES				0x0004
> +#define GL_TRIANGLE_STRIP			0x0005
> +#define GL_TRIANGLE_FAN				0x0006
> +#define GL_QUADS				0x0007
> +#define GL_QUAD_STRIP				0x0008
> +#define GL_POLYGON				0x0009
> +
> +/* Vertex Arrays */
> +#define GL_VERTEX_ARRAY				0x8074
> +#define GL_NORMAL_ARRAY				0x8075
> +#define GL_COLOR_ARRAY				0x8076
> +#define GL_INDEX_ARRAY				0x8077
> +#define GL_TEXTURE_COORD_ARRAY			0x8078
> +#define GL_EDGE_FLAG_ARRAY			0x8079
> +#define GL_VERTEX_ARRAY_SIZE			0x807A
> +#define GL_VERTEX_ARRAY_TYPE			0x807B
> +#define GL_VERTEX_ARRAY_STRIDE			0x807C
> +#define GL_NORMAL_ARRAY_TYPE			0x807E
> +#define GL_NORMAL_ARRAY_STRIDE			0x807F
> +#define GL_COLOR_ARRAY_SIZE			0x8081
> +#define GL_COLOR_ARRAY_TYPE			0x8082
> +#define GL_COLOR_ARRAY_STRIDE			0x8083
> +#define GL_INDEX_ARRAY_TYPE			0x8085
> +#define GL_INDEX_ARRAY_STRIDE			0x8086
> +#define GL_TEXTURE_COORD_ARRAY_SIZE		0x8088
> +#define GL_TEXTURE_COORD_ARRAY_TYPE		0x8089
> +#define GL_TEXTURE_COORD_ARRAY_STRIDE		0x808A
> +#define GL_EDGE_FLAG_ARRAY_STRIDE		0x808C
> +#define GL_VERTEX_ARRAY_POINTER			0x808E
> +#define GL_NORMAL_ARRAY_POINTER			0x808F
> +#define GL_COLOR_ARRAY_POINTER			0x8090
> +#define GL_INDEX_ARRAY_POINTER			0x8091
> +#define GL_TEXTURE_COORD_ARRAY_POINTER		0x8092
> +#define GL_EDGE_FLAG_ARRAY_POINTER		0x8093
> +#define GL_V2F					0x2A20
> +#define GL_V3F					0x2A21
> +#define GL_C4UB_V2F				0x2A22
> +#define GL_C4UB_V3F				0x2A23
> +#define GL_C3F_V3F				0x2A24
> +#define GL_N3F_V3F				0x2A25
> +#define GL_C4F_N3F_V3F				0x2A26
> +#define GL_T2F_V3F				0x2A27
> +#define GL_T4F_V4F				0x2A28
> +#define GL_T2F_C4UB_V3F				0x2A29
> +#define GL_T2F_C3F_V3F				0x2A2A
> +#define GL_T2F_N3F_V3F				0x2A2B
> +#define GL_T2F_C4F_N3F_V3F			0x2A2C
> +#define GL_T4F_C4F_N3F_V4F			0x2A2D
> +
> +/* Matrix Mode */
> +#define GL_MATRIX_MODE				0x0BA0
> +#define GL_MODELVIEW				0x1700
> +#define GL_PROJECTION				0x1701
> +#define GL_TEXTURE				0x1702
> +
> +/* Points */
> +#define GL_POINT_SMOOTH				0x0B10
> +#define GL_POINT_SIZE				0x0B11
> +#define GL_POINT_SIZE_GRANULARITY 		0x0B13
> +#define GL_POINT_SIZE_RANGE			0x0B12
> +
> +/* Lines */
> +#define GL_LINE_SMOOTH				0x0B20
> +#define GL_LINE_STIPPLE				0x0B24
> +#define GL_LINE_STIPPLE_PATTERN			0x0B25
> +#define GL_LINE_STIPPLE_REPEAT			0x0B26
> +#define GL_LINE_WIDTH				0x0B21
> +#define GL_LINE_WIDTH_GRANULARITY		0x0B23
> +#define GL_LINE_WIDTH_RANGE			0x0B22
> +
> +/* Polygons */
> +#define GL_POINT				0x1B00
> +#define GL_LINE					0x1B01
> +#define GL_FILL					0x1B02
> +#define GL_CW					0x0900
> +#define GL_CCW					0x0901
> +#define GL_FRONT				0x0404
> +#define GL_BACK					0x0405
> +#define GL_POLYGON_MODE				0x0B40
> +#define GL_POLYGON_SMOOTH			0x0B41
> +#define GL_POLYGON_STIPPLE			0x0B42
> +#define GL_EDGE_FLAG				0x0B43
> +#define GL_CULL_FACE				0x0B44
> +#define GL_CULL_FACE_MODE			0x0B45
> +#define GL_FRONT_FACE				0x0B46
> +#define GL_POLYGON_OFFSET_FACTOR		0x8038
> +#define GL_POLYGON_OFFSET_UNITS			0x2A00
> +#define GL_POLYGON_OFFSET_POINT			0x2A01
> +#define GL_POLYGON_OFFSET_LINE			0x2A02
> +#define GL_POLYGON_OFFSET_FILL			0x8037
> +
> +/* Display Lists */
> +#define GL_COMPILE				0x1300
> +#define GL_COMPILE_AND_EXECUTE			0x1301
> +#define GL_LIST_BASE				0x0B32
> +#define GL_LIST_INDEX				0x0B33
> +#define GL_LIST_MODE				0x0B30
> +
> +/* Depth buffer */
> +#define GL_NEVER				0x0200
> +#define GL_LESS					0x0201
> +#define GL_EQUAL				0x0202
> +#define GL_LEQUAL				0x0203
> +#define GL_GREATER				0x0204
> +#define GL_NOTEQUAL				0x0205
> +#define GL_GEQUAL				0x0206
> +#define GL_ALWAYS				0x0207
> +#define GL_DEPTH_TEST				0x0B71
> +#define GL_DEPTH_BITS				0x0D56
> +#define GL_DEPTH_CLEAR_VALUE			0x0B73
> +#define GL_DEPTH_FUNC				0x0B74
> +#define GL_DEPTH_RANGE				0x0B70
> +#define GL_DEPTH_WRITEMASK			0x0B72
> +#define GL_DEPTH_COMPONENT			0x1902
> +
> +/* Lighting */
> +#define GL_LIGHTING				0x0B50
> +#define GL_LIGHT0				0x4000
> +#define GL_LIGHT1				0x4001
> +#define GL_LIGHT2				0x4002
> +#define GL_LIGHT3				0x4003
> +#define GL_LIGHT4				0x4004
> +#define GL_LIGHT5				0x4005
> +#define GL_LIGHT6				0x4006
> +#define GL_LIGHT7				0x4007
> +#define GL_SPOT_EXPONENT			0x1205
> +#define GL_SPOT_CUTOFF				0x1206
> +#define GL_CONSTANT_ATTENUATION			0x1207
> +#define GL_LINEAR_ATTENUATION			0x1208
> +#define GL_QUADRATIC_ATTENUATION		0x1209
> +#define GL_AMBIENT				0x1200
> +#define GL_DIFFUSE				0x1201
> +#define GL_SPECULAR				0x1202
> +#define GL_SHININESS				0x1601
> +#define GL_EMISSION				0x1600
> +#define GL_POSITION				0x1203
> +#define GL_SPOT_DIRECTION			0x1204
> +#define GL_AMBIENT_AND_DIFFUSE			0x1602
> +#define GL_COLOR_INDEXES			0x1603
> +#define GL_LIGHT_MODEL_TWO_SIDE			0x0B52
> +#define GL_LIGHT_MODEL_LOCAL_VIEWER		0x0B51
> +#define GL_LIGHT_MODEL_AMBIENT			0x0B53
> +#define GL_FRONT_AND_BACK			0x0408
> +#define GL_SHADE_MODEL				0x0B54
> +#define GL_FLAT					0x1D00
> +#define GL_SMOOTH				0x1D01
> +#define GL_COLOR_MATERIAL			0x0B57
> +#define GL_COLOR_MATERIAL_FACE			0x0B55
> +#define GL_COLOR_MATERIAL_PARAMETER		0x0B56
> +#define GL_NORMALIZE				0x0BA1
> +
> +/* User clipping planes */
> +#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
> +
> +/* Accumulation buffer */
> +#define GL_ACCUM_RED_BITS			0x0D58
> +#define GL_ACCUM_GREEN_BITS			0x0D59
> +#define GL_ACCUM_BLUE_BITS			0x0D5A
> +#define GL_ACCUM_ALPHA_BITS			0x0D5B
> +#define GL_ACCUM_CLEAR_VALUE			0x0B80
> +#define GL_ACCUM				0x0100
> +#define GL_ADD					0x0104
> +#define GL_LOAD					0x0101
> +#define GL_MULT					0x0103
> +#define GL_RETURN				0x0102
> +
> +/* Alpha testing */
> +#define GL_ALPHA_TEST				0x0BC0
> +#define GL_ALPHA_TEST_REF			0x0BC2
> +#define GL_ALPHA_TEST_FUNC			0x0BC1
> +
> +/* Blending */
> +#define GL_BLEND				0x0BE2
> +#define GL_BLEND_SRC				0x0BE1
> +#define GL_BLEND_DST				0x0BE0
> +#define GL_ZERO					0
> +#define GL_ONE					1
> +#define GL_SRC_COLOR				0x0300
> +#define GL_ONE_MINUS_SRC_COLOR			0x0301
> +#define GL_SRC_ALPHA				0x0302
> +#define GL_ONE_MINUS_SRC_ALPHA			0x0303
> +#define GL_DST_ALPHA				0x0304
> +#define GL_ONE_MINUS_DST_ALPHA			0x0305
> +#define GL_DST_COLOR				0x0306
> +#define GL_ONE_MINUS_DST_COLOR			0x0307
> +#define GL_SRC_ALPHA_SATURATE			0x0308
> +
> +/* Render Mode */
> +#define GL_FEEDBACK				0x1C01
> +#define GL_RENDER				0x1C00
> +#define GL_SELECT				0x1C02
> +
> +/* Feedback */
> +#define GL_2D					0x0600
> +#define GL_3D					0x0601
> +#define GL_3D_COLOR				0x0602
> +#define GL_3D_COLOR_TEXTURE			0x0603
> +#define GL_4D_COLOR_TEXTURE			0x0604
> +#define GL_POINT_TOKEN				0x0701
> +#define GL_LINE_TOKEN				0x0702
> +#define GL_LINE_RESET_TOKEN			0x0707
> +#define GL_POLYGON_TOKEN			0x0703
> +#define GL_BITMAP_TOKEN				0x0704
> +#define GL_DRAW_PIXEL_TOKEN			0x0705
> +#define GL_COPY_PIXEL_TOKEN			0x0706
> +#define GL_PASS_THROUGH_TOKEN			0x0700
> +#define GL_FEEDBACK_BUFFER_POINTER		0x0DF0
> +#define GL_FEEDBACK_BUFFER_SIZE			0x0DF1
> +#define GL_FEEDBACK_BUFFER_TYPE			0x0DF2
> +
> +/* Selection */
> +#define GL_SELECTION_BUFFER_POINTER		0x0DF3
> +#define GL_SELECTION_BUFFER_SIZE		0x0DF4
> +
> +/* Fog */
> +#define GL_FOG					0x0B60
> +#define GL_FOG_MODE				0x0B65
> +#define GL_FOG_DENSITY				0x0B62
> +#define GL_FOG_COLOR				0x0B66
> +#define GL_FOG_INDEX				0x0B61
> +#define GL_FOG_START				0x0B63
> +#define GL_FOG_END				0x0B64
> +#define GL_LINEAR				0x2601
> +#define GL_EXP					0x0800
> +#define GL_EXP2					0x0801
> +
> +/* Logic Ops */
> +#define GL_LOGIC_OP				0x0BF1
> +#define GL_INDEX_LOGIC_OP			0x0BF1
> +#define GL_COLOR_LOGIC_OP			0x0BF2
> +#define GL_LOGIC_OP_MODE			0x0BF0
> +#define GL_CLEAR				0x1500
> +#define GL_SET					0x150F
> +#define GL_COPY					0x1503
> +#define GL_COPY_INVERTED			0x150C
> +#define GL_NOOP					0x1505
> +#define GL_INVERT				0x150A
> +#define GL_AND					0x1501
> +#define GL_NAND					0x150E
> +#define GL_OR					0x1507
> +#define GL_NOR					0x1508
> +#define GL_XOR					0x1506
> +#define GL_EQUIV				0x1509
> +#define GL_AND_REVERSE				0x1502
> +#define GL_AND_INVERTED				0x1504
> +#define GL_OR_REVERSE				0x150B
> +#define GL_OR_INVERTED				0x150D
> +
> +/* Stencil */
> +#define GL_STENCIL_BITS				0x0D57
> +#define GL_STENCIL_TEST				0x0B90
> +#define GL_STENCIL_CLEAR_VALUE			0x0B91
> +#define GL_STENCIL_FUNC				0x0B92
> +#define GL_STENCIL_VALUE_MASK			0x0B93
> +#define GL_STENCIL_FAIL				0x0B94
> +#define GL_STENCIL_PASS_DEPTH_FAIL		0x0B95
> +#define GL_STENCIL_PASS_DEPTH_PASS		0x0B96
> +#define GL_STENCIL_REF				0x0B97
> +#define GL_STENCIL_WRITEMASK			0x0B98
> +#define GL_STENCIL_INDEX			0x1901
> +#define GL_KEEP					0x1E00
> +#define GL_REPLACE				0x1E01
> +#define GL_INCR					0x1E02
> +#define GL_DECR					0x1E03
> +
> +/* Buffers, Pixel Drawing/Reading */
> +#define GL_NONE					0
> +#define GL_LEFT					0x0406
> +#define GL_RIGHT				0x0407
> +/*GL_FRONT					0x0404 */
> +/*GL_BACK					0x0405 */
> +/*GL_FRONT_AND_BACK				0x0408 */
> +#define GL_FRONT_LEFT				0x0400
> +#define GL_FRONT_RIGHT				0x0401
> +#define GL_BACK_LEFT				0x0402
> +#define GL_BACK_RIGHT				0x0403
> +#define GL_AUX0					0x0409
> +#define GL_AUX1					0x040A
> +#define GL_AUX2					0x040B
> +#define GL_AUX3					0x040C
> +#define GL_COLOR_INDEX				0x1900
> +#define GL_RED					0x1903
> +#define GL_GREEN				0x1904
> +#define GL_BLUE					0x1905
> +#define GL_ALPHA				0x1906
> +#define GL_LUMINANCE				0x1909
> +#define GL_LUMINANCE_ALPHA			0x190A
> +#define GL_ALPHA_BITS				0x0D55
> +#define GL_RED_BITS				0x0D52
> +#define GL_GREEN_BITS				0x0D53
> +#define GL_BLUE_BITS				0x0D54
> +#define GL_INDEX_BITS				0x0D51
> +#define GL_SUBPIXEL_BITS			0x0D50
> +#define GL_AUX_BUFFERS				0x0C00
> +#define GL_READ_BUFFER				0x0C02
> +#define GL_DRAW_BUFFER				0x0C01
> +#define GL_DOUBLEBUFFER				0x0C32
> +#define GL_STEREO				0x0C33
> +#define GL_BITMAP				0x1A00
> +#define GL_COLOR				0x1800
> +#define GL_DEPTH				0x1801
> +#define GL_STENCIL				0x1802
> +#define GL_DITHER				0x0BD0
> +#define GL_RGB					0x1907
> +#define GL_RGBA					0x1908
> +
> +/* Implementation limits */
> +#define GL_MAX_LIST_NESTING			0x0B31
> +#define GL_MAX_EVAL_ORDER			0x0D30
> +#define GL_MAX_LIGHTS				0x0D31
> +#define GL_MAX_CLIP_PLANES			0x0D32
> +#define GL_MAX_TEXTURE_SIZE			0x0D33
> +#define GL_MAX_PIXEL_MAP_TABLE			0x0D34
> +#define GL_MAX_ATTRIB_STACK_DEPTH		0x0D35
> +#define GL_MAX_MODELVIEW_STACK_DEPTH		0x0D36
> +#define GL_MAX_NAME_STACK_DEPTH			0x0D37
> +#define GL_MAX_PROJECTION_STACK_DEPTH		0x0D38
> +#define GL_MAX_TEXTURE_STACK_DEPTH		0x0D39
> +#define GL_MAX_VIEWPORT_DIMS			0x0D3A
> +#define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH	0x0D3B
> +
> +/* Gets */
> +#define GL_ATTRIB_STACK_DEPTH			0x0BB0
> +#define GL_CLIENT_ATTRIB_STACK_DEPTH		0x0BB1
> +#define GL_COLOR_CLEAR_VALUE			0x0C22
> +#define GL_COLOR_WRITEMASK			0x0C23
> +#define GL_CURRENT_INDEX			0x0B01
> +#define GL_CURRENT_COLOR			0x0B00
> +#define GL_CURRENT_NORMAL			0x0B02
> +#define GL_CURRENT_RASTER_COLOR			0x0B04
> +#define GL_CURRENT_RASTER_DISTANCE		0x0B09
> +#define GL_CURRENT_RASTER_INDEX			0x0B05
> +#define GL_CURRENT_RASTER_POSITION		0x0B07
> +#define GL_CURRENT_RASTER_TEXTURE_COORDS	0x0B06
> +#define GL_CURRENT_RASTER_POSITION_VALID	0x0B08
> +#define GL_CURRENT_TEXTURE_COORDS		0x0B03
> +#define GL_INDEX_CLEAR_VALUE			0x0C20
> +#define GL_INDEX_MODE				0x0C30
> +#define GL_INDEX_WRITEMASK			0x0C21
> +#define GL_MODELVIEW_MATRIX			0x0BA6
> +#define GL_MODELVIEW_STACK_DEPTH		0x0BA3
> +#define GL_NAME_STACK_DEPTH			0x0D70
> +#define GL_PROJECTION_MATRIX			0x0BA7
> +#define GL_PROJECTION_STACK_DEPTH		0x0BA4
> +#define GL_RENDER_MODE				0x0C40
> +#define GL_RGBA_MODE				0x0C31
> +#define GL_TEXTURE_MATRIX			0x0BA8
> +#define GL_TEXTURE_STACK_DEPTH			0x0BA5
> +#define GL_VIEWPORT				0x0BA2
> +
> +/* Evaluators */
> +#define GL_AUTO_NORMAL				0x0D80
> +#define GL_MAP1_COLOR_4				0x0D90
> +#define GL_MAP1_INDEX				0x0D91
> +#define GL_MAP1_NORMAL				0x0D92
> +#define GL_MAP1_TEXTURE_COORD_1			0x0D93
> +#define GL_MAP1_TEXTURE_COORD_2			0x0D94
> +#define GL_MAP1_TEXTURE_COORD_3			0x0D95
> +#define GL_MAP1_TEXTURE_COORD_4			0x0D96
> +#define GL_MAP1_VERTEX_3			0x0D97
> +#define GL_MAP1_VERTEX_4			0x0D98
> +#define GL_MAP2_COLOR_4				0x0DB0
> +#define GL_MAP2_INDEX				0x0DB1
> +#define GL_MAP2_NORMAL				0x0DB2
> +#define GL_MAP2_TEXTURE_COORD_1			0x0DB3
> +#define GL_MAP2_TEXTURE_COORD_2			0x0DB4
> +#define GL_MAP2_TEXTURE_COORD_3			0x0DB5
> +#define GL_MAP2_TEXTURE_COORD_4			0x0DB6
> +#define GL_MAP2_VERTEX_3			0x0DB7
> +#define GL_MAP2_VERTEX_4			0x0DB8
> +#define GL_MAP1_GRID_DOMAIN			0x0DD0
> +#define GL_MAP1_GRID_SEGMENTS			0x0DD1
> +#define GL_MAP2_GRID_DOMAIN			0x0DD2
> +#define GL_MAP2_GRID_SEGMENTS			0x0DD3
> +#define GL_COEFF				0x0A00
> +#define GL_ORDER				0x0A01
> +#define GL_DOMAIN				0x0A02
> +
> +/* Hints */
> +#define GL_PERSPECTIVE_CORRECTION_HINT		0x0C50
> +#define GL_POINT_SMOOTH_HINT			0x0C51
> +#define GL_LINE_SMOOTH_HINT			0x0C52
> +#define GL_POLYGON_SMOOTH_HINT			0x0C53
> +#define GL_FOG_HINT				0x0C54
> +#define GL_DONT_CARE				0x1100
> +#define GL_FASTEST				0x1101
> +#define GL_NICEST				0x1102
> +
> +/* Scissor box */
> +#define GL_SCISSOR_BOX				0x0C10
> +#define GL_SCISSOR_TEST				0x0C11
> +
> +/* Pixel Mode / Transfer */
> +#define GL_MAP_COLOR				0x0D10
> +#define GL_MAP_STENCIL				0x0D11
> +#define GL_INDEX_SHIFT				0x0D12
> +#define GL_INDEX_OFFSET				0x0D13
> +#define GL_RED_SCALE				0x0D14
> +#define GL_RED_BIAS				0x0D15
> +#define GL_GREEN_SCALE				0x0D18
> +#define GL_GREEN_BIAS				0x0D19
> +#define GL_BLUE_SCALE				0x0D1A
> +#define GL_BLUE_BIAS				0x0D1B
> +#define GL_ALPHA_SCALE				0x0D1C
> +#define GL_ALPHA_BIAS				0x0D1D
> +#define GL_DEPTH_SCALE				0x0D1E
> +#define GL_DEPTH_BIAS				0x0D1F
> +#define GL_PIXEL_MAP_S_TO_S_SIZE		0x0CB1
> +#define GL_PIXEL_MAP_I_TO_I_SIZE		0x0CB0
> +#define GL_PIXEL_MAP_I_TO_R_SIZE		0x0CB2
> +#define GL_PIXEL_MAP_I_TO_G_SIZE		0x0CB3
> +#define GL_PIXEL_MAP_I_TO_B_SIZE		0x0CB4
> +#define GL_PIXEL_MAP_I_TO_A_SIZE		0x0CB5
> +#define GL_PIXEL_MAP_R_TO_R_SIZE		0x0CB6
> +#define GL_PIXEL_MAP_G_TO_G_SIZE		0x0CB7
> +#define GL_PIXEL_MAP_B_TO_B_SIZE		0x0CB8
> +#define GL_PIXEL_MAP_A_TO_A_SIZE		0x0CB9
> +#define GL_PIXEL_MAP_S_TO_S			0x0C71
> +#define GL_PIXEL_MAP_I_TO_I			0x0C70
> +#define GL_PIXEL_MAP_I_TO_R			0x0C72
> +#define GL_PIXEL_MAP_I_TO_G			0x0C73
> +#define GL_PIXEL_MAP_I_TO_B			0x0C74
> +#define GL_PIXEL_MAP_I_TO_A			0x0C75
> +#define GL_PIXEL_MAP_R_TO_R			0x0C76
> +#define GL_PIXEL_MAP_G_TO_G			0x0C77
> +#define GL_PIXEL_MAP_B_TO_B			0x0C78
> +#define GL_PIXEL_MAP_A_TO_A			0x0C79
> +#define GL_PACK_ALIGNMENT			0x0D05
> +#define GL_PACK_LSB_FIRST			0x0D01
> +#define GL_PACK_ROW_LENGTH			0x0D02
> +#define GL_PACK_SKIP_PIXELS			0x0D04
> +#define GL_PACK_SKIP_ROWS			0x0D03
> +#define GL_PACK_SWAP_BYTES			0x0D00
> +#define GL_UNPACK_ALIGNMENT			0x0CF5
> +#define GL_UNPACK_LSB_FIRST			0x0CF1
> +#define GL_UNPACK_ROW_LENGTH			0x0CF2
> +#define GL_UNPACK_SKIP_PIXELS			0x0CF4
> +#define GL_UNPACK_SKIP_ROWS			0x0CF3
> +#define GL_UNPACK_SWAP_BYTES			0x0CF0
> +#define GL_ZOOM_X				0x0D16
> +#define GL_ZOOM_Y				0x0D17
> +
> +/* Texture mapping */
> +#define GL_TEXTURE_ENV				0x2300
> +#define GL_TEXTURE_ENV_MODE			0x2200
> +#define GL_TEXTURE_1D				0x0DE0
> +#define GL_TEXTURE_2D				0x0DE1
> +#define GL_TEXTURE_WRAP_S			0x2802
> +#define GL_TEXTURE_WRAP_T			0x2803
> +#define GL_TEXTURE_MAG_FILTER			0x2800
> +#define GL_TEXTURE_MIN_FILTER			0x2801
> +#define GL_TEXTURE_ENV_COLOR			0x2201
> +#define GL_TEXTURE_GEN_S			0x0C60
> +#define GL_TEXTURE_GEN_T			0x0C61
> +#define GL_TEXTURE_GEN_R			0x0C62
> +#define GL_TEXTURE_GEN_Q			0x0C63
> +#define GL_TEXTURE_GEN_MODE			0x2500
> +#define GL_TEXTURE_BORDER_COLOR			0x1004
> +#define GL_TEXTURE_WIDTH			0x1000
> +#define GL_TEXTURE_HEIGHT			0x1001
> +#define GL_TEXTURE_BORDER			0x1005
> +#define GL_TEXTURE_COMPONENTS			0x1003
> +#define GL_TEXTURE_RED_SIZE			0x805C
> +#define GL_TEXTURE_GREEN_SIZE			0x805D
> +#define GL_TEXTURE_BLUE_SIZE			0x805E
> +#define GL_TEXTURE_ALPHA_SIZE			0x805F
> +#define GL_TEXTURE_LUMINANCE_SIZE		0x8060
> +#define GL_TEXTURE_INTENSITY_SIZE		0x8061
> +#define GL_NEAREST_MIPMAP_NEAREST		0x2700
> +#define GL_NEAREST_MIPMAP_LINEAR		0x2702
> +#define GL_LINEAR_MIPMAP_NEAREST		0x2701
> +#define GL_LINEAR_MIPMAP_LINEAR			0x2703
> +#define GL_OBJECT_LINEAR			0x2401
> +#define GL_OBJECT_PLANE				0x2501
> +#define GL_EYE_LINEAR				0x2400
> +#define GL_EYE_PLANE				0x2502
> +#define GL_SPHERE_MAP				0x2402
> +#define GL_DECAL				0x2101
> +#define GL_MODULATE				0x2100
> +#define GL_NEAREST				0x2600
> +#define GL_REPEAT				0x2901
> +#define GL_CLAMP				0x2900
> +#define GL_S					0x2000
> +#define GL_T					0x2001
> +#define GL_R					0x2002
> +#define GL_Q					0x2003
> +
> +/* Utility */
> +#define GL_VENDOR				0x1F00
> +#define GL_RENDERER				0x1F01
> +#define GL_VERSION				0x1F02
> +#define GL_EXTENSIONS				0x1F03
> +
> +/* Errors */
> +#define GL_NO_ERROR 				0
> +#define GL_INVALID_ENUM				0x0500
> +#define GL_INVALID_VALUE			0x0501
> +#define GL_INVALID_OPERATION			0x0502
> +#define GL_STACK_OVERFLOW			0x0503
> +#define GL_STACK_UNDERFLOW			0x0504
> +#define GL_OUT_OF_MEMORY			0x0505
> +
> +/* glPush/PopAttrib bits */
> +#define GL_CURRENT_BIT				0x00000001
> +#define GL_POINT_BIT				0x00000002
> +#define GL_LINE_BIT				0x00000004
> +#define GL_POLYGON_BIT				0x00000008
> +#define GL_POLYGON_STIPPLE_BIT			0x00000010
> +#define GL_PIXEL_MODE_BIT			0x00000020
> +#define GL_LIGHTING_BIT				0x00000040
> +#define GL_FOG_BIT				0x00000080
> +#define GL_DEPTH_BUFFER_BIT			0x00000100
> +#define GL_ACCUM_BUFFER_BIT			0x00000200
> +#define GL_STENCIL_BUFFER_BIT			0x00000400
> +#define GL_VIEWPORT_BIT				0x00000800
> +#define GL_TRANSFORM_BIT			0x00001000
> +#define GL_ENABLE_BIT				0x00002000
> +#define GL_COLOR_BUFFER_BIT			0x00004000
> +#define GL_HINT_BIT				0x00008000
> +#define GL_EVAL_BIT				0x00010000
> +#define GL_LIST_BIT				0x00020000
> +#define GL_TEXTURE_BIT				0x00040000
> +#define GL_SCISSOR_BIT				0x00080000
> +#define GL_ALL_ATTRIB_BITS			0xFFFFFFFF
> +
> +
> +/* OpenGL 1.1 */
> +#define GL_PROXY_TEXTURE_1D			0x8063
> +#define GL_PROXY_TEXTURE_2D			0x8064
> +#define GL_TEXTURE_PRIORITY			0x8066
> +#define GL_TEXTURE_RESIDENT			0x8067
> +#define GL_TEXTURE_BINDING_1D			0x8068
> +#define GL_TEXTURE_BINDING_2D			0x8069
> +#define GL_TEXTURE_INTERNAL_FORMAT		0x1003
> +#define GL_ALPHA4				0x803B
> +#define GL_ALPHA8				0x803C
> +#define GL_ALPHA12				0x803D
> +#define GL_ALPHA16				0x803E
> +#define GL_LUMINANCE4				0x803F
> +#define GL_LUMINANCE8				0x8040
> +#define GL_LUMINANCE12				0x8041
> +#define GL_LUMINANCE16				0x8042
> +#define GL_LUMINANCE4_ALPHA4			0x8043
> +#define GL_LUMINANCE6_ALPHA2			0x8044
> +#define GL_LUMINANCE8_ALPHA8			0x8045
> +#define GL_LUMINANCE12_ALPHA4			0x8046
> +#define GL_LUMINANCE12_ALPHA12			0x8047
> +#define GL_LUMINANCE16_ALPHA16			0x8048
> +#define GL_INTENSITY				0x8049
> +#define GL_INTENSITY4				0x804A
> +#define GL_INTENSITY8				0x804B
> +#define GL_INTENSITY12				0x804C
> +#define GL_INTENSITY16				0x804D
> +#define GL_R3_G3_B2				0x2A10
> +#define GL_RGB4					0x804F
> +#define GL_RGB5					0x8050
> +#define GL_RGB8					0x8051
> +#define GL_RGB10				0x8052
> +#define GL_RGB12				0x8053
> +#define GL_RGB16				0x8054
> +#define GL_RGBA2				0x8055
> +#define GL_RGBA4				0x8056
> +#define GL_RGB5_A1				0x8057
> +#define GL_RGBA8				0x8058
> +#define GL_RGB10_A2				0x8059
> +#define GL_RGBA12				0x805A
> +#define GL_RGBA16				0x805B
> +#define GL_CLIENT_PIXEL_STORE_BIT		0x00000001
> +#define GL_CLIENT_VERTEX_ARRAY_BIT		0x00000002
> +#define GL_ALL_CLIENT_ATTRIB_BITS 		0xFFFFFFFF
> +#define GL_CLIENT_ALL_ATTRIB_BITS 		0xFFFFFFFF
> +
> +
> +
> +/*
> + * Miscellaneous
> + */
> +
> +GLAPI void GLAPIENTRY glClearIndex( GLfloat c );
> +
> +GLAPI void GLAPIENTRY glClearColor( GLclampf red, GLclampf green,
> GLclampf blue, GLclampf alpha ); +
> +GLAPI void GLAPIENTRY glClear( GLbitfield mask );
> +
> +GLAPI void GLAPIENTRY glIndexMask( GLuint mask );
> +
> +GLAPI void GLAPIENTRY glColorMask( GLboolean red, GLboolean green,
> GLboolean blue, GLboolean alpha ); +
> +GLAPI void GLAPIENTRY glAlphaFunc( GLenum func, GLclampf ref );
> +
> +GLAPI void GLAPIENTRY glBlendFunc( GLenum sfactor, GLenum dfactor );
> +
> +GLAPI void GLAPIENTRY glLogicOp( GLenum opcode );
> +
> +GLAPI void GLAPIENTRY glCullFace( GLenum mode );
> +
> +GLAPI void GLAPIENTRY glFrontFace( GLenum mode );
> +
> +GLAPI void GLAPIENTRY glPointSize( GLfloat size );
> +
> +GLAPI void GLAPIENTRY glLineWidth( GLfloat width );
> +
> +GLAPI void GLAPIENTRY glLineStipple( GLint factor, GLushort pattern
> ); +
> +GLAPI void GLAPIENTRY glPolygonMode( GLenum face, GLenum mode );
> +
> +GLAPI void GLAPIENTRY glPolygonOffset( GLfloat factor, GLfloat units
> ); +
> +GLAPI void GLAPIENTRY glPolygonStipple( const GLubyte *mask );
> +
> +GLAPI void GLAPIENTRY glGetPolygonStipple( GLubyte *mask );
> +
> +GLAPI void GLAPIENTRY glEdgeFlag( GLboolean flag );
> +
> +GLAPI void GLAPIENTRY glEdgeFlagv( const GLboolean *flag );
> +
> +GLAPI void GLAPIENTRY glScissor( GLint x, GLint y, GLsizei width,
> GLsizei height); +
> +GLAPI void GLAPIENTRY glClipPlane( GLenum plane, const GLdouble
> *equation ); +
> +GLAPI void GLAPIENTRY glGetClipPlane( GLenum plane, GLdouble
> *equation ); +
> +GLAPI void GLAPIENTRY glDrawBuffer( GLenum mode );
> +
> +GLAPI void GLAPIENTRY glReadBuffer( GLenum mode );
> +
> +GLAPI void GLAPIENTRY glEnable( GLenum cap );
> +
> +GLAPI void GLAPIENTRY glDisable( GLenum cap );
> +
> +GLAPI GLboolean GLAPIENTRY glIsEnabled( GLenum cap );
> +
> +
> +GLAPI void GLAPIENTRY glEnableClientState( GLenum cap );  /* 1.1 */
> +
> +GLAPI void GLAPIENTRY glDisableClientState( GLenum cap );  /* 1.1 */
> +
> +
> +GLAPI void GLAPIENTRY glGetBooleanv( GLenum pname, GLboolean *params
> ); +
> +GLAPI void GLAPIENTRY glGetDoublev( GLenum pname, GLdouble *params );
> +
> +GLAPI void GLAPIENTRY glGetFloatv( GLenum pname, GLfloat *params );
> +
> +GLAPI void GLAPIENTRY glGetIntegerv( GLenum pname, GLint *params );
> +
> +
> +GLAPI void GLAPIENTRY glPushAttrib( GLbitfield mask );
> +
> +GLAPI void GLAPIENTRY glPopAttrib( void );
> +
> +
> +GLAPI void GLAPIENTRY glPushClientAttrib( GLbitfield mask );  /* 1.1
> */ +
> +GLAPI void GLAPIENTRY glPopClientAttrib( void );  /* 1.1 */
> +
> +
> +GLAPI GLint GLAPIENTRY glRenderMode( GLenum mode );
> +
> +GLAPI GLenum GLAPIENTRY glGetError( void );
> +
> +GLAPI const GLubyte * GLAPIENTRY glGetString( GLenum name );
> +
> +GLAPI void GLAPIENTRY glFinish( void );
> +
> +GLAPI void GLAPIENTRY glFlush( void );
> +
> +GLAPI void GLAPIENTRY glHint( GLenum target, GLenum mode );
> +
> +
> +/*
> + * Depth Buffer
> + */
> +
> +GLAPI void GLAPIENTRY glClearDepth( GLclampd depth );
> +
> +GLAPI void GLAPIENTRY glDepthFunc( GLenum func );
> +
> +GLAPI void GLAPIENTRY glDepthMask( GLboolean flag );
> +
> +GLAPI void GLAPIENTRY glDepthRange( GLclampd near_val, GLclampd
> far_val ); +
> +
> +/*
> + * Accumulation Buffer
> + */
> +
> +GLAPI void GLAPIENTRY glClearAccum( GLfloat red, GLfloat green,
> GLfloat blue, GLfloat alpha ); +
> +GLAPI void GLAPIENTRY glAccum( GLenum op, GLfloat value );
> +
> +
> +/*
> + * Transformation
> + */
> +
> +GLAPI void GLAPIENTRY glMatrixMode( GLenum mode );
> +
> +GLAPI void GLAPIENTRY glOrtho( GLdouble left, GLdouble right,
> +                                 GLdouble bottom, GLdouble top,
> +                                 GLdouble near_val, GLdouble far_val
> ); +
> +GLAPI void GLAPIENTRY glFrustum( GLdouble left, GLdouble right,
> +                                   GLdouble bottom, GLdouble top,
> +                                   GLdouble near_val, GLdouble
> far_val ); +
> +GLAPI void GLAPIENTRY glViewport( GLint x, GLint y,
> +                                    GLsizei width, GLsizei height );
> +
> +GLAPI void GLAPIENTRY glPushMatrix( void );
> +
> +GLAPI void GLAPIENTRY glPopMatrix( void );
> +
> +GLAPI void GLAPIENTRY glLoadIdentity( void );
> +
> +GLAPI void GLAPIENTRY glLoadMatrixd( const GLdouble *m );
> +GLAPI void GLAPIENTRY glLoadMatrixf( const GLfloat *m );
> +
> +GLAPI void GLAPIENTRY glMultMatrixd( const GLdouble *m );
> +GLAPI void GLAPIENTRY glMultMatrixf( const GLfloat *m );
> +
> +GLAPI void GLAPIENTRY glRotated( GLdouble angle,
> +                                   GLdouble x, GLdouble y, GLdouble
> z ); +GLAPI void GLAPIENTRY glRotatef( GLfloat angle,
> +                                   GLfloat x, GLfloat y, GLfloat z );
> +
> +GLAPI void GLAPIENTRY glScaled( GLdouble x, GLdouble y, GLdouble z );
> +GLAPI void GLAPIENTRY glScalef( GLfloat x, GLfloat y, GLfloat z );
> +
> +GLAPI void GLAPIENTRY glTranslated( GLdouble x, GLdouble y, GLdouble
> z ); +GLAPI void GLAPIENTRY glTranslatef( GLfloat x, GLfloat y,
> GLfloat z ); +
> +
> +/*
> + * Display Lists
> + */
> +
> +GLAPI GLboolean GLAPIENTRY glIsList( GLuint list );
> +
> +GLAPI void GLAPIENTRY glDeleteLists( GLuint list, GLsizei range );
> +
> +GLAPI GLuint GLAPIENTRY glGenLists( GLsizei range );
> +
> +GLAPI void GLAPIENTRY glNewList( GLuint list, GLenum mode );
> +
> +GLAPI void GLAPIENTRY glEndList( void );
> +
> +GLAPI void GLAPIENTRY glCallList( GLuint list );
> +
> +GLAPI void GLAPIENTRY glCallLists( GLsizei n, GLenum type,
> +                                     const GLvoid *lists );
> +
> +GLAPI void GLAPIENTRY glListBase( GLuint base );
> +
> +
> +/*
> + * Drawing Functions
> + */
> +
> +GLAPI void GLAPIENTRY glBegin( GLenum mode );
> +
> +GLAPI void GLAPIENTRY glEnd( void );
> +
> +
> +GLAPI void GLAPIENTRY glVertex2d( GLdouble x, GLdouble y );
> +GLAPI void GLAPIENTRY glVertex2f( GLfloat x, GLfloat y );
> +GLAPI void GLAPIENTRY glVertex2i( GLint x, GLint y );
> +GLAPI void GLAPIENTRY glVertex2s( GLshort x, GLshort y );
> +
> +GLAPI void GLAPIENTRY glVertex3d( GLdouble x, GLdouble y, GLdouble z
> ); +GLAPI void GLAPIENTRY glVertex3f( GLfloat x, GLfloat y, GLfloat z
> ); +GLAPI void GLAPIENTRY glVertex3i( GLint x, GLint y, GLint z );
> +GLAPI void GLAPIENTRY glVertex3s( GLshort x, GLshort y, GLshort z );
> +
> +GLAPI void GLAPIENTRY glVertex4d( GLdouble x, GLdouble y, GLdouble
> z, GLdouble w ); +GLAPI void GLAPIENTRY glVertex4f( GLfloat x,
> GLfloat y, GLfloat z, GLfloat w ); +GLAPI void GLAPIENTRY
> glVertex4i( GLint x, GLint y, GLint z, GLint w ); +GLAPI void
> GLAPIENTRY glVertex4s( GLshort x, GLshort y, GLshort z, GLshort w ); +
> +GLAPI void GLAPIENTRY glVertex2dv( const GLdouble *v );
> +GLAPI void GLAPIENTRY glVertex2fv( const GLfloat *v );
> +GLAPI void GLAPIENTRY glVertex2iv( const GLint *v );
> +GLAPI void GLAPIENTRY glVertex2sv( const GLshort *v );
> +
> +GLAPI void GLAPIENTRY glVertex3dv( const GLdouble *v );
> +GLAPI void GLAPIENTRY glVertex3fv( const GLfloat *v );
> +GLAPI void GLAPIENTRY glVertex3iv( const GLint *v );
> +GLAPI void GLAPIENTRY glVertex3sv( const GLshort *v );
> +
> +GLAPI void GLAPIENTRY glVertex4dv( const GLdouble *v );
> +GLAPI void GLAPIENTRY glVertex4fv( const GLfloat *v );
> +GLAPI void GLAPIENTRY glVertex4iv( const GLint *v );
> +GLAPI void GLAPIENTRY glVertex4sv( const GLshort *v );
> +
> +
> +GLAPI void GLAPIENTRY glNormal3b( GLbyte nx, GLbyte ny, GLbyte nz );
> +GLAPI void GLAPIENTRY glNormal3d( GLdouble nx, GLdouble ny, GLdouble
> nz ); +GLAPI void GLAPIENTRY glNormal3f( GLfloat nx, GLfloat ny,
> GLfloat nz ); +GLAPI void GLAPIENTRY glNormal3i( GLint nx, GLint ny,
> GLint nz ); +GLAPI void GLAPIENTRY glNormal3s( GLshort nx, GLshort
> ny, GLshort nz ); +
> +GLAPI void GLAPIENTRY glNormal3bv( const GLbyte *v );
> +GLAPI void GLAPIENTRY glNormal3dv( const GLdouble *v );
> +GLAPI void GLAPIENTRY glNormal3fv( const GLfloat *v );
> +GLAPI void GLAPIENTRY glNormal3iv( const GLint *v );
> +GLAPI void GLAPIENTRY glNormal3sv( const GLshort *v );
> +
> +
> +GLAPI void GLAPIENTRY glIndexd( GLdouble c );
> +GLAPI void GLAPIENTRY glIndexf( GLfloat c );
> +GLAPI void GLAPIENTRY glIndexi( GLint c );
> +GLAPI void GLAPIENTRY glIndexs( GLshort c );
> +GLAPI void GLAPIENTRY glIndexub( GLubyte c );  /* 1.1 */
> +
> +GLAPI void GLAPIENTRY glIndexdv( const GLdouble *c );
> +GLAPI void GLAPIENTRY glIndexfv( const GLfloat *c );
> +GLAPI void GLAPIENTRY glIndexiv( const GLint *c );
> +GLAPI void GLAPIENTRY glIndexsv( const GLshort *c );
> +GLAPI void GLAPIENTRY glIndexubv( const GLubyte *c );  /* 1.1 */
> +
> +GLAPI void GLAPIENTRY glColor3b( GLbyte red, GLbyte green, GLbyte
> blue ); +GLAPI void GLAPIENTRY glColor3d( GLdouble red, GLdouble
> green, GLdouble blue ); +GLAPI void GLAPIENTRY glColor3f( GLfloat
> red, GLfloat green, GLfloat blue ); +GLAPI void GLAPIENTRY
> glColor3i( GLint red, GLint green, GLint blue ); +GLAPI void
> GLAPIENTRY glColor3s( GLshort red, GLshort green, GLshort blue );
> +GLAPI void GLAPIENTRY glColor3ub( GLubyte red, GLubyte green,
> GLubyte blue ); +GLAPI void GLAPIENTRY glColor3ui( GLuint red, GLuint
> green, GLuint blue ); +GLAPI void GLAPIENTRY glColor3us( GLushort
> red, GLushort green, GLushort blue ); + +GLAPI void GLAPIENTRY
> glColor4b( GLbyte red, GLbyte green,
> +                                   GLbyte blue, GLbyte alpha );
> +GLAPI void GLAPIENTRY glColor4d( GLdouble red, GLdouble green,
> +                                   GLdouble blue, GLdouble alpha );
> +GLAPI void GLAPIENTRY glColor4f( GLfloat red, GLfloat green,
> +                                   GLfloat blue, GLfloat alpha );
> +GLAPI void GLAPIENTRY glColor4i( GLint red, GLint green,
> +                                   GLint blue, GLint alpha );
> +GLAPI void GLAPIENTRY glColor4s( GLshort red, GLshort green,
> +                                   GLshort blue, GLshort alpha );
> +GLAPI void GLAPIENTRY glColor4ub( GLubyte red, GLubyte green,
> +                                    GLubyte blue, GLubyte alpha );
> +GLAPI void GLAPIENTRY glColor4ui( GLuint red, GLuint green,
> +                                    GLuint blue, GLuint alpha );
> +GLAPI void GLAPIENTRY glColor4us( GLushort red, GLushort green,
> +                                    GLushort blue, GLushort alpha );
> +
> +
> +GLAPI void GLAPIENTRY glColor3bv( const GLbyte *v );
> +GLAPI void GLAPIENTRY glColor3dv( const GLdouble *v );
> +GLAPI void GLAPIENTRY glColor3fv( const GLfloat *v );
> +GLAPI void GLAPIENTRY glColor3iv( const GLint *v );
> +GLAPI void GLAPIENTRY glColor3sv( const GLshort *v );
> +GLAPI void GLAPIENTRY glColor3ubv( const GLubyte *v );
> +GLAPI void GLAPIENTRY glColor3uiv( const GLuint *v );
> +GLAPI void GLAPIENTRY glColor3usv( const GLushort *v );
> +
> +GLAPI void GLAPIENTRY glColor4bv( const GLbyte *v );
> +GLAPI void GLAPIENTRY glColor4dv( const GLdouble *v );
> +GLAPI void GLAPIENTRY glColor4fv( const GLfloat *v );
> +GLAPI void GLAPIENTRY glColor4iv( const GLint *v );
> +GLAPI void GLAPIENTRY glColor4sv( const GLshort *v );
> +GLAPI void GLAPIENTRY glColor4ubv( const GLubyte *v );
> +GLAPI void GLAPIENTRY glColor4uiv( const GLuint *v );
> +GLAPI void GLAPIENTRY glColor4usv( const GLushort *v );
> +
> +
> +GLAPI void GLAPIENTRY glTexCoord1d( GLdouble s );
> +GLAPI void GLAPIENTRY glTexCoord1f( GLfloat s );
> +GLAPI void GLAPIENTRY glTexCoord1i( GLint s );
> +GLAPI void GLAPIENTRY glTexCoord1s( GLshort s );
> +
> +GLAPI void GLAPIENTRY glTexCoord2d( GLdouble s, GLdouble t );
> +GLAPI void GLAPIENTRY glTexCoord2f( GLfloat s, GLfloat t );
> +GLAPI void GLAPIENTRY glTexCoord2i( GLint s, GLint t );
> +GLAPI void GLAPIENTRY glTexCoord2s( GLshort s, GLshort t );
> +
> +GLAPI void GLAPIENTRY glTexCoord3d( GLdouble s, GLdouble t, GLdouble
> r ); +GLAPI void GLAPIENTRY glTexCoord3f( GLfloat s, GLfloat t,
> GLfloat r ); +GLAPI void GLAPIENTRY glTexCoord3i( GLint s, GLint t,
> GLint r ); +GLAPI void GLAPIENTRY glTexCoord3s( GLshort s, GLshort t,
> GLshort r ); +
> +GLAPI void GLAPIENTRY glTexCoord4d( GLdouble s, GLdouble t, GLdouble
> r, GLdouble q ); +GLAPI void GLAPIENTRY glTexCoord4f( GLfloat s,
> GLfloat t, GLfloat r, GLfloat q ); +GLAPI void GLAPIENTRY
> glTexCoord4i( GLint s, GLint t, GLint r, GLint q ); +GLAPI void
> GLAPIENTRY glTexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q
> ); + +GLAPI void GLAPIENTRY glTexCoord1dv( const GLdouble *v );
> +GLAPI void GLAPIENTRY glTexCoord1fv( const GLfloat *v );
> +GLAPI void GLAPIENTRY glTexCoord1iv( const GLint *v );
> +GLAPI void GLAPIENTRY glTexCoord1sv( const GLshort *v );
> +
> +GLAPI void GLAPIENTRY glTexCoord2dv( const GLdouble *v );
> +GLAPI void GLAPIENTRY glTexCoord2fv( const GLfloat *v );
> +GLAPI void GLAPIENTRY glTexCoord2iv( const GLint *v );
> +GLAPI void GLAPIENTRY glTexCoord2sv( const GLshort *v );
> +
> +GLAPI void GLAPIENTRY glTexCoord3dv( const GLdouble *v );
> +GLAPI void GLAPIENTRY glTexCoord3fv( const GLfloat *v );
> +GLAPI void GLAPIENTRY glTexCoord3iv( const GLint *v );
> +GLAPI void GLAPIENTRY glTexCoord3sv( const GLshort *v );
> +
> +GLAPI void GLAPIENTRY glTexCoord4dv( const GLdouble *v );
> +GLAPI void GLAPIENTRY glTexCoord4fv( const GLfloat *v );
> +GLAPI void GLAPIENTRY glTexCoord4iv( const GLint *v );
> +GLAPI void GLAPIENTRY glTexCoord4sv( const GLshort *v );
> +
> +
> +GLAPI void GLAPIENTRY glRasterPos2d( GLdouble x, GLdouble y );
> +GLAPI void GLAPIENTRY glRasterPos2f( GLfloat x, GLfloat y );
> +GLAPI void GLAPIENTRY glRasterPos2i( GLint x, GLint y );
> +GLAPI void GLAPIENTRY glRasterPos2s( GLshort x, GLshort y );
> +
> +GLAPI void GLAPIENTRY glRasterPos3d( GLdouble x, GLdouble y,
> GLdouble z ); +GLAPI void GLAPIENTRY glRasterPos3f( GLfloat x,
> GLfloat y, GLfloat z ); +GLAPI void GLAPIENTRY glRasterPos3i( GLint
> x, GLint y, GLint z ); +GLAPI void GLAPIENTRY glRasterPos3s( GLshort
> x, GLshort y, GLshort z ); +
> +GLAPI void GLAPIENTRY glRasterPos4d( GLdouble x, GLdouble y,
> GLdouble z, GLdouble w ); +GLAPI void GLAPIENTRY
> glRasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w ); +GLAPI
> void GLAPIENTRY glRasterPos4i( GLint x, GLint y, GLint z, GLint w );
> +GLAPI void GLAPIENTRY glRasterPos4s( GLshort x, GLshort y, GLshort
> z, GLshort w ); + +GLAPI void GLAPIENTRY glRasterPos2dv( const
> GLdouble *v ); +GLAPI void GLAPIENTRY glRasterPos2fv( const GLfloat
> *v ); +GLAPI void GLAPIENTRY glRasterPos2iv( const GLint *v );
> +GLAPI void GLAPIENTRY glRasterPos2sv( const GLshort *v );
> +
> +GLAPI void GLAPIENTRY glRasterPos3dv( const GLdouble *v );
> +GLAPI void GLAPIENTRY glRasterPos3fv( const GLfloat *v );
> +GLAPI void GLAPIENTRY glRasterPos3iv( const GLint *v );
> +GLAPI void GLAPIENTRY glRasterPos3sv( const GLshort *v );
> +
> +GLAPI void GLAPIENTRY glRasterPos4dv( const GLdouble *v );
> +GLAPI void GLAPIENTRY glRasterPos4fv( const GLfloat *v );
> +GLAPI void GLAPIENTRY glRasterPos4iv( const GLint *v );
> +GLAPI void GLAPIENTRY glRasterPos4sv( const GLshort *v );
> +
> +
> +GLAPI void GLAPIENTRY glRectd( GLdouble x1, GLdouble y1, GLdouble
> x2, GLdouble y2 ); +GLAPI void GLAPIENTRY glRectf( GLfloat x1,
> GLfloat y1, GLfloat x2, GLfloat y2 ); +GLAPI void GLAPIENTRY
> glRecti( GLint x1, GLint y1, GLint x2, GLint y2 ); +GLAPI void
> GLAPIENTRY glRects( GLshort x1, GLshort y1, GLshort x2, GLshort y2 );
> + +
> +GLAPI void GLAPIENTRY glRectdv( const GLdouble *v1, const GLdouble
> *v2 ); +GLAPI void GLAPIENTRY glRectfv( const GLfloat *v1, const
> GLfloat *v2 ); +GLAPI void GLAPIENTRY glRectiv( const GLint *v1,
> const GLint *v2 ); +GLAPI void GLAPIENTRY glRectsv( const GLshort
> *v1, const GLshort *v2 ); +
> +
> +/*
> + * Vertex Arrays  (1.1)
> + */
> +
> +GLAPI void GLAPIENTRY glVertexPointer( GLint size, GLenum type,
> +                                       GLsizei stride, const GLvoid
> *ptr ); +
> +GLAPI void GLAPIENTRY glNormalPointer( GLenum type, GLsizei stride,
> +                                       const GLvoid *ptr );
> +
> +GLAPI void GLAPIENTRY glColorPointer( GLint size, GLenum type,
> +                                      GLsizei stride, const GLvoid
> *ptr ); +
> +GLAPI void GLAPIENTRY glIndexPointer( GLenum type, GLsizei stride,
> +                                      const GLvoid *ptr );
> +
> +GLAPI void GLAPIENTRY glTexCoordPointer( GLint size, GLenum type,
> +                                         GLsizei stride, const
> GLvoid *ptr ); +
> +GLAPI void GLAPIENTRY glEdgeFlagPointer( GLsizei stride, const
> GLvoid *ptr ); +
> +GLAPI void GLAPIENTRY glGetPointerv( GLenum pname, GLvoid **params );
> +
> +GLAPI void GLAPIENTRY glArrayElement( GLint i );
> +
> +GLAPI void GLAPIENTRY glDrawArrays( GLenum mode, GLint first,
> GLsizei count ); +
> +GLAPI void GLAPIENTRY glDrawElements( GLenum mode, GLsizei count,
> +                                      GLenum type, const GLvoid
> *indices ); +
> +GLAPI void GLAPIENTRY glInterleavedArrays( GLenum format, GLsizei
> stride,
> +                                           const GLvoid *pointer );
> +
> +/*
> + * Lighting
> + */
> +
> +GLAPI void GLAPIENTRY glShadeModel( GLenum mode );
> +
> +GLAPI void GLAPIENTRY glLightf( GLenum light, GLenum pname, GLfloat
> param ); +GLAPI void GLAPIENTRY glLighti( GLenum light, GLenum pname,
> GLint param ); +GLAPI void GLAPIENTRY glLightfv( GLenum light, GLenum
> pname,
> +                                 const GLfloat *params );
> +GLAPI void GLAPIENTRY glLightiv( GLenum light, GLenum pname,
> +                                 const GLint *params );
> +
> +GLAPI void GLAPIENTRY glGetLightfv( GLenum light, GLenum pname,
> +                                    GLfloat *params );
> +GLAPI void GLAPIENTRY glGetLightiv( GLenum light, GLenum pname,
> +                                    GLint *params );
> +
> +GLAPI void GLAPIENTRY glLightModelf( GLenum pname, GLfloat param );
> +GLAPI void GLAPIENTRY glLightModeli( GLenum pname, GLint param );
> +GLAPI void GLAPIENTRY glLightModelfv( GLenum pname, const GLfloat
> *params ); +GLAPI void GLAPIENTRY glLightModeliv( GLenum pname, const
> GLint *params ); +
> +GLAPI void GLAPIENTRY glMaterialf( GLenum face, GLenum pname,
> GLfloat param ); +GLAPI void GLAPIENTRY glMateriali( GLenum face,
> GLenum pname, GLint param ); +GLAPI void GLAPIENTRY
> glMaterialfv( GLenum face, GLenum pname, const GLfloat *params );
> +GLAPI void GLAPIENTRY glMaterialiv( GLenum face, GLenum pname, const
> GLint *params ); + +GLAPI void GLAPIENTRY glGetMaterialfv( GLenum
> face, GLenum pname, GLfloat *params ); +GLAPI void GLAPIENTRY
> glGetMaterialiv( GLenum face, GLenum pname, GLint *params ); +
> +GLAPI void GLAPIENTRY glColorMaterial( GLenum face, GLenum mode );
> +
> +
> +/*
> + * Raster functions
> + */
> +
> +GLAPI void GLAPIENTRY glPixelZoom( GLfloat xfactor, GLfloat yfactor
> ); +
> +GLAPI void GLAPIENTRY glPixelStoref( GLenum pname, GLfloat param );
> +GLAPI void GLAPIENTRY glPixelStorei( GLenum pname, GLint param );
> +
> +GLAPI void GLAPIENTRY glPixelTransferf( GLenum pname, GLfloat param
> ); +GLAPI void GLAPIENTRY glPixelTransferi( GLenum pname, GLint param
> ); +
> +GLAPI void GLAPIENTRY glPixelMapfv( GLenum map, GLsizei mapsize,
> +                                    const GLfloat *values );
> +GLAPI void GLAPIENTRY glPixelMapuiv( GLenum map, GLsizei mapsize,
> +                                     const GLuint *values );
> +GLAPI void GLAPIENTRY glPixelMapusv( GLenum map, GLsizei mapsize,
> +                                     const GLushort *values );
> +
> +GLAPI void GLAPIENTRY glGetPixelMapfv( GLenum map, GLfloat *values );
> +GLAPI void GLAPIENTRY glGetPixelMapuiv( GLenum map, GLuint *values );
> +GLAPI void GLAPIENTRY glGetPixelMapusv( GLenum map, GLushort *values
> ); +
> +GLAPI void GLAPIENTRY glBitmap( GLsizei width, GLsizei height,
> +                                GLfloat xorig, GLfloat yorig,
> +                                GLfloat xmove, GLfloat ymove,
> +                                const GLubyte *bitmap );
> +
> +GLAPI void GLAPIENTRY glReadPixels( GLint x, GLint y,
> +                                    GLsizei width, GLsizei height,
> +                                    GLenum format, GLenum type,
> +                                    GLvoid *pixels );
> +
> +GLAPI void GLAPIENTRY glDrawPixels( GLsizei width, GLsizei height,
> +                                    GLenum format, GLenum type,
> +                                    const GLvoid *pixels );
> +
> +GLAPI void GLAPIENTRY glCopyPixels( GLint x, GLint y,
> +                                    GLsizei width, GLsizei height,
> +                                    GLenum type );
> +
> +/*
> + * Stenciling
> + */
> +
> +GLAPI void GLAPIENTRY glStencilFunc( GLenum func, GLint ref, GLuint
> mask ); +
> +GLAPI void GLAPIENTRY glStencilMask( GLuint mask );
> +
> +GLAPI void GLAPIENTRY glStencilOp( GLenum fail, GLenum zfail, GLenum
> zpass ); +
> +GLAPI void GLAPIENTRY glClearStencil( GLint s );
> +
> +
> +
> +/*
> + * Texture mapping
> + */
> +
> +GLAPI void GLAPIENTRY glTexGend( GLenum coord, GLenum pname,
> GLdouble param ); +GLAPI void GLAPIENTRY glTexGenf( GLenum coord,
> GLenum pname, GLfloat param ); +GLAPI void GLAPIENTRY
> glTexGeni( GLenum coord, GLenum pname, GLint param ); +
> +GLAPI void GLAPIENTRY glTexGendv( GLenum coord, GLenum pname, const
> GLdouble *params ); +GLAPI void GLAPIENTRY glTexGenfv( GLenum coord,
> GLenum pname, const GLfloat *params ); +GLAPI void GLAPIENTRY
> glTexGeniv( GLenum coord, GLenum pname, const GLint *params ); +
> +GLAPI void GLAPIENTRY glGetTexGendv( GLenum coord, GLenum pname,
> GLdouble *params ); +GLAPI void GLAPIENTRY glGetTexGenfv( GLenum
> coord, GLenum pname, GLfloat *params ); +GLAPI void GLAPIENTRY
> glGetTexGeniv( GLenum coord, GLenum pname, GLint *params ); +
> +
> +GLAPI void GLAPIENTRY glTexEnvf( GLenum target, GLenum pname,
> GLfloat param ); +GLAPI void GLAPIENTRY glTexEnvi( GLenum target,
> GLenum pname, GLint param ); +
> +GLAPI void GLAPIENTRY glTexEnvfv( GLenum target, GLenum pname, const
> GLfloat *params ); +GLAPI void GLAPIENTRY glTexEnviv( GLenum target,
> GLenum pname, const GLint *params ); +
> +GLAPI void GLAPIENTRY glGetTexEnvfv( GLenum target, GLenum pname,
> GLfloat *params ); +GLAPI void GLAPIENTRY glGetTexEnviv( GLenum
> target, GLenum pname, GLint *params ); +
> +
> +GLAPI void GLAPIENTRY glTexParameterf( GLenum target, GLenum pname,
> GLfloat param ); +GLAPI void GLAPIENTRY glTexParameteri( GLenum
> target, GLenum pname, GLint param ); +
> +GLAPI void GLAPIENTRY glTexParameterfv( GLenum target, GLenum pname,
> +                                          const GLfloat *params );
> +GLAPI void GLAPIENTRY glTexParameteriv( GLenum target, GLenum pname,
> +                                          const GLint *params );
> +
> +GLAPI void GLAPIENTRY glGetTexParameterfv( GLenum target,
> +                                           GLenum pname, GLfloat
> *params); +GLAPI void GLAPIENTRY glGetTexParameteriv( GLenum target,
> +                                           GLenum pname, GLint
> *params ); +
> +GLAPI void GLAPIENTRY glGetTexLevelParameterfv( GLenum target, GLint
> level,
> +                                                GLenum pname,
> GLfloat *params ); +GLAPI void GLAPIENTRY
> glGetTexLevelParameteriv( GLenum target, GLint level,
> +                                                GLenum pname, GLint
> *params ); +
> +
> +GLAPI void GLAPIENTRY glTexImage1D( GLenum target, GLint level,
> +                                    GLint internalFormat,
> +                                    GLsizei width, GLint border,
> +                                    GLenum format, GLenum type,
> +                                    const GLvoid *pixels );
> +
> +GLAPI void GLAPIENTRY glTexImage2D( GLenum target, GLint level,
> +                                    GLint internalFormat,
> +                                    GLsizei width, GLsizei height,
> +                                    GLint border, GLenum format,
> GLenum type,
> +                                    const GLvoid *pixels );
> +
> +GLAPI void GLAPIENTRY glGetTexImage( GLenum target, GLint level,
> +                                     GLenum format, GLenum type,
> +                                     GLvoid *pixels );
> +
> +
> +/* 1.1 functions */
> +
> +GLAPI void GLAPIENTRY glGenTextures( GLsizei n, GLuint *textures );
> +
> +GLAPI void GLAPIENTRY glDeleteTextures( GLsizei n, const GLuint
> *textures); +
> +GLAPI void GLAPIENTRY glBindTexture( GLenum target, GLuint texture );
> +
> +GLAPI void GLAPIENTRY glPrioritizeTextures( GLsizei n,
> +                                            const GLuint *textures,
> +                                            const GLclampf
> *priorities ); +
> +GLAPI GLboolean GLAPIENTRY glAreTexturesResident( GLsizei n,
> +                                                  const GLuint
> *textures,
> +                                                  GLboolean
> *residences ); +
> +GLAPI GLboolean GLAPIENTRY glIsTexture( GLuint texture );
> +
> +
> +GLAPI void GLAPIENTRY glTexSubImage1D( GLenum target, GLint level,
> +                                       GLint xoffset,
> +                                       GLsizei width, GLenum format,
> +                                       GLenum type, const GLvoid
> *pixels ); +
> +
> +GLAPI void GLAPIENTRY glTexSubImage2D( GLenum target, GLint level,
> +                                       GLint xoffset, GLint yoffset,
> +                                       GLsizei width, GLsizei height,
> +                                       GLenum format, GLenum type,
> +                                       const GLvoid *pixels );
> +
> +
> +GLAPI void GLAPIENTRY glCopyTexImage1D( GLenum target, GLint level,
> +                                        GLenum internalformat,
> +                                        GLint x, GLint y,
> +                                        GLsizei width, GLint border
> ); +
> +
> +GLAPI void GLAPIENTRY glCopyTexImage2D( GLenum target, GLint level,
> +                                        GLenum internalformat,
> +                                        GLint x, GLint y,
> +                                        GLsizei width, GLsizei
> height,
> +                                        GLint border );
> +
> +
> +GLAPI void GLAPIENTRY glCopyTexSubImage1D( GLenum target, GLint
> level,
> +                                           GLint xoffset, GLint x,
> GLint y,
> +                                           GLsizei width );
> +
> +
> +GLAPI void GLAPIENTRY glCopyTexSubImage2D( GLenum target, GLint
> level,
> +                                           GLint xoffset, GLint
> yoffset,
> +                                           GLint x, GLint y,
> +                                           GLsizei width, GLsizei
> height ); +
> +
> +/*
> + * Evaluators
> + */
> +
> +GLAPI void GLAPIENTRY glMap1d( GLenum target, GLdouble u1, GLdouble
> u2,
> +                               GLint stride,
> +                               GLint order, const GLdouble *points );
> +GLAPI void GLAPIENTRY glMap1f( GLenum target, GLfloat u1, GLfloat u2,
> +                               GLint stride,
> +                               GLint order, const GLfloat *points );
> +
> +GLAPI void GLAPIENTRY glMap2d( GLenum target,
> +		     GLdouble u1, GLdouble u2, GLint ustride, GLint
> uorder,
> +		     GLdouble v1, GLdouble v2, GLint vstride, GLint
> vorder,
> +		     const GLdouble *points );
> +GLAPI void GLAPIENTRY glMap2f( GLenum target,
> +		     GLfloat u1, GLfloat u2, GLint ustride, GLint
> uorder,
> +		     GLfloat v1, GLfloat v2, GLint vstride, GLint
> vorder,
> +		     const GLfloat *points );
> +
> +GLAPI void GLAPIENTRY glGetMapdv( GLenum target, GLenum query,
> GLdouble *v ); +GLAPI void GLAPIENTRY glGetMapfv( GLenum target,
> GLenum query, GLfloat *v ); +GLAPI void GLAPIENTRY glGetMapiv( GLenum
> target, GLenum query, GLint *v ); +
> +GLAPI void GLAPIENTRY glEvalCoord1d( GLdouble u );
> +GLAPI void GLAPIENTRY glEvalCoord1f( GLfloat u );
> +
> +GLAPI void GLAPIENTRY glEvalCoord1dv( const GLdouble *u );
> +GLAPI void GLAPIENTRY glEvalCoord1fv( const GLfloat *u );
> +
> +GLAPI void GLAPIENTRY glEvalCoord2d( GLdouble u, GLdouble v );
> +GLAPI void GLAPIENTRY glEvalCoord2f( GLfloat u, GLfloat v );
> +
> +GLAPI void GLAPIENTRY glEvalCoord2dv( const GLdouble *u );
> +GLAPI void GLAPIENTRY glEvalCoord2fv( const GLfloat *u );
> +
> +GLAPI void GLAPIENTRY glMapGrid1d( GLint un, GLdouble u1, GLdouble
> u2 ); +GLAPI void GLAPIENTRY glMapGrid1f( GLint un, GLfloat u1,
> GLfloat u2 ); +
> +GLAPI void GLAPIENTRY glMapGrid2d( GLint un, GLdouble u1, GLdouble
> u2,
> +                                   GLint vn, GLdouble v1, GLdouble
> v2 ); +GLAPI void GLAPIENTRY glMapGrid2f( GLint un, GLfloat u1,
> GLfloat u2,
> +                                   GLint vn, GLfloat v1, GLfloat v2
> ); +
> +GLAPI void GLAPIENTRY glEvalPoint1( GLint i );
> +
> +GLAPI void GLAPIENTRY glEvalPoint2( GLint i, GLint j );
> +
> +GLAPI void GLAPIENTRY glEvalMesh1( GLenum mode, GLint i1, GLint i2 );
> +
> +GLAPI void GLAPIENTRY glEvalMesh2( GLenum mode, GLint i1, GLint i2,
> GLint j1, GLint j2 ); +
> +
> +/*
> + * Fog
> + */
> +
> +GLAPI void GLAPIENTRY glFogf( GLenum pname, GLfloat param );
> +
> +GLAPI void GLAPIENTRY glFogi( GLenum pname, GLint param );
> +
> +GLAPI void GLAPIENTRY glFogfv( GLenum pname, const GLfloat *params );
> +
> +GLAPI void GLAPIENTRY glFogiv( GLenum pname, const GLint *params );
> +
> +
> +/*
> + * Selection and Feedback
> + */
> +
> +GLAPI void GLAPIENTRY glFeedbackBuffer( GLsizei size, GLenum type,
> GLfloat *buffer ); +
> +GLAPI void GLAPIENTRY glPassThrough( GLfloat token );
> +
> +GLAPI void GLAPIENTRY glSelectBuffer( GLsizei size, GLuint *buffer );
> +
> +GLAPI void GLAPIENTRY glInitNames( void );
> +
> +GLAPI void GLAPIENTRY glLoadName( GLuint name );
> +
> +GLAPI void GLAPIENTRY glPushName( GLuint name );
> +
> +GLAPI void GLAPIENTRY glPopName( void );
> +
> +
> +
> +/*
> + * OpenGL 1.2
> + */
> +
> +#define GL_RESCALE_NORMAL			0x803A
> +#define GL_CLAMP_TO_EDGE			0x812F
> +#define GL_MAX_ELEMENTS_VERTICES		0x80E8
> +#define GL_MAX_ELEMENTS_INDICES			0x80E9
> +#define GL_BGR					0x80E0
> +#define GL_BGRA					0x80E1
> +#define GL_UNSIGNED_BYTE_3_3_2			0x8032
> +#define GL_UNSIGNED_BYTE_2_3_3_REV		0x8362
> +#define GL_UNSIGNED_SHORT_5_6_5			0x8363
> +#define GL_UNSIGNED_SHORT_5_6_5_REV		0x8364
> +#define GL_UNSIGNED_SHORT_4_4_4_4		0x8033
> +#define GL_UNSIGNED_SHORT_4_4_4_4_REV		0x8365
> +#define GL_UNSIGNED_SHORT_5_5_5_1		0x8034
> +#define GL_UNSIGNED_SHORT_1_5_5_5_REV		0x8366
> +#define GL_UNSIGNED_INT_8_8_8_8			0x8035
> +#define GL_UNSIGNED_INT_8_8_8_8_REV		0x8367
> +#define GL_UNSIGNED_INT_10_10_10_2		0x8036
> +#define GL_UNSIGNED_INT_2_10_10_10_REV		0x8368
> +#define GL_LIGHT_MODEL_COLOR_CONTROL		0x81F8
> +#define GL_SINGLE_COLOR				0x81F9
> +#define GL_SEPARATE_SPECULAR_COLOR		0x81FA
> +#define GL_TEXTURE_MIN_LOD			0x813A
> +#define GL_TEXTURE_MAX_LOD			0x813B
> +#define GL_TEXTURE_BASE_LEVEL			0x813C
> +#define GL_TEXTURE_MAX_LEVEL			0x813D
> +#define GL_SMOOTH_POINT_SIZE_RANGE		0x0B12
> +#define GL_SMOOTH_POINT_SIZE_GRANULARITY	0x0B13
> +#define GL_SMOOTH_LINE_WIDTH_RANGE		0x0B22
> +#define GL_SMOOTH_LINE_WIDTH_GRANULARITY	0x0B23
> +#define GL_ALIASED_POINT_SIZE_RANGE		0x846D
> +#define GL_ALIASED_LINE_WIDTH_RANGE		0x846E
> +#define GL_PACK_SKIP_IMAGES			0x806B
> +#define GL_PACK_IMAGE_HEIGHT			0x806C
> +#define GL_UNPACK_SKIP_IMAGES			0x806D
> +#define GL_UNPACK_IMAGE_HEIGHT			0x806E
> +#define GL_TEXTURE_3D				0x806F
> +#define GL_PROXY_TEXTURE_3D			0x8070
> +#define GL_TEXTURE_DEPTH			0x8071
> +#define GL_TEXTURE_WRAP_R			0x8072
> +#define GL_MAX_3D_TEXTURE_SIZE			0x8073
> +#define GL_TEXTURE_BINDING_3D			0x806A
> +
> +GLAPI void GLAPIENTRY glDrawRangeElements( GLenum mode, GLuint start,
> +	GLuint end, GLsizei count, GLenum type, const GLvoid
> *indices ); +
> +GLAPI void GLAPIENTRY glTexImage3D( GLenum target, GLint level,
> +                                      GLint internalFormat,
> +                                      GLsizei width, GLsizei height,
> +                                      GLsizei depth, GLint border,
> +                                      GLenum format, GLenum type,
> +                                      const GLvoid *pixels );
> +
> +GLAPI void GLAPIENTRY glTexSubImage3D( GLenum target, GLint level,
> +                                         GLint xoffset, GLint
> yoffset,
> +                                         GLint zoffset, GLsizei
> width,
> +                                         GLsizei height, GLsizei
> depth,
> +                                         GLenum format,
> +                                         GLenum type, const GLvoid
> *pixels); +
> +GLAPI void GLAPIENTRY glCopyTexSubImage3D( GLenum target, GLint
> level,
> +                                             GLint xoffset, GLint
> yoffset,
> +                                             GLint zoffset, GLint x,
> +                                             GLint y, GLsizei width,
> +                                             GLsizei height );
> +
> +typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode,
> GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid
> *indices); +typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum
> target, GLint level, GLint internalformat, GLsizei width, GLsizei
> height, GLsizei depth, GLint border, GLenum format, GLenum type,
> const GLvoid *pixels); +typedef void (APIENTRYP
> PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset,
> GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei
> depth, GLenum format, GLenum type, const GLvoid *pixels); +typedef
> void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint
> level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y,
> GLsizei width, GLsizei height); + + +/*
> + * GL_ARB_imaging
> + */
> +
> +#define GL_CONSTANT_COLOR			0x8001
> +#define GL_ONE_MINUS_CONSTANT_COLOR		0x8002
> +#define GL_CONSTANT_ALPHA			0x8003
> +#define GL_ONE_MINUS_CONSTANT_ALPHA		0x8004
> +#define GL_COLOR_TABLE				0x80D0
> +#define GL_POST_CONVOLUTION_COLOR_TABLE		0x80D1
> +#define GL_POST_COLOR_MATRIX_COLOR_TABLE	0x80D2
> +#define GL_PROXY_COLOR_TABLE			0x80D3
> +#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE	0x80D4
> +#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE	0x80D5
> +#define GL_COLOR_TABLE_SCALE			0x80D6
> +#define GL_COLOR_TABLE_BIAS			0x80D7
> +#define GL_COLOR_TABLE_FORMAT			0x80D8
> +#define GL_COLOR_TABLE_WIDTH			0x80D9
> +#define GL_COLOR_TABLE_RED_SIZE			0x80DA
> +#define GL_COLOR_TABLE_GREEN_SIZE		0x80DB
> +#define GL_COLOR_TABLE_BLUE_SIZE		0x80DC
> +#define GL_COLOR_TABLE_ALPHA_SIZE		0x80DD
> +#define GL_COLOR_TABLE_LUMINANCE_SIZE		0x80DE
> +#define GL_COLOR_TABLE_INTENSITY_SIZE		0x80DF
> +#define GL_CONVOLUTION_1D			0x8010
> +#define GL_CONVOLUTION_2D			0x8011
> +#define GL_SEPARABLE_2D				0x8012
> +#define GL_CONVOLUTION_BORDER_MODE		0x8013
> +#define GL_CONVOLUTION_FILTER_SCALE		0x8014
> +#define GL_CONVOLUTION_FILTER_BIAS		0x8015
> +#define GL_REDUCE				0x8016
> +#define GL_CONVOLUTION_FORMAT			0x8017
> +#define GL_CONVOLUTION_WIDTH			0x8018
> +#define GL_CONVOLUTION_HEIGHT			0x8019
> +#define GL_MAX_CONVOLUTION_WIDTH		0x801A
> +#define GL_MAX_CONVOLUTION_HEIGHT		0x801B
> +#define GL_POST_CONVOLUTION_RED_SCALE		0x801C
> +#define GL_POST_CONVOLUTION_GREEN_SCALE		0x801D
> +#define GL_POST_CONVOLUTION_BLUE_SCALE		0x801E
> +#define GL_POST_CONVOLUTION_ALPHA_SCALE		0x801F
> +#define GL_POST_CONVOLUTION_RED_BIAS		0x8020
> +#define GL_POST_CONVOLUTION_GREEN_BIAS		0x8021
> +#define GL_POST_CONVOLUTION_BLUE_BIAS		0x8022
> +#define GL_POST_CONVOLUTION_ALPHA_BIAS		0x8023
> +#define GL_CONSTANT_BORDER			0x8151
> +#define GL_REPLICATE_BORDER			0x8153
> +#define GL_CONVOLUTION_BORDER_COLOR		0x8154
> +#define GL_COLOR_MATRIX				0x80B1
> +#define GL_COLOR_MATRIX_STACK_DEPTH		0x80B2
> +#define GL_MAX_COLOR_MATRIX_STACK_DEPTH		0x80B3
> +#define GL_POST_COLOR_MATRIX_RED_SCALE		0x80B4
> +#define GL_POST_COLOR_MATRIX_GREEN_SCALE	0x80B5
> +#define GL_POST_COLOR_MATRIX_BLUE_SCALE		0x80B6
> +#define GL_POST_COLOR_MATRIX_ALPHA_SCALE	0x80B7
> +#define GL_POST_COLOR_MATRIX_RED_BIAS		0x80B8
> +#define GL_POST_COLOR_MATRIX_GREEN_BIAS		0x80B9
> +#define GL_POST_COLOR_MATRIX_BLUE_BIAS		0x80BA
> +#define GL_POST_COLOR_MATRIX_ALPHA_BIAS		0x80BB
> +#define GL_HISTOGRAM				0x8024
> +#define GL_PROXY_HISTOGRAM			0x8025
> +#define GL_HISTOGRAM_WIDTH			0x8026
> +#define GL_HISTOGRAM_FORMAT			0x8027
> +#define GL_HISTOGRAM_RED_SIZE			0x8028
> +#define GL_HISTOGRAM_GREEN_SIZE			0x8029
> +#define GL_HISTOGRAM_BLUE_SIZE			0x802A
> +#define GL_HISTOGRAM_ALPHA_SIZE			0x802B
> +#define GL_HISTOGRAM_LUMINANCE_SIZE		0x802C
> +#define GL_HISTOGRAM_SINK			0x802D
> +#define GL_MINMAX				0x802E
> +#define GL_MINMAX_FORMAT			0x802F
> +#define GL_MINMAX_SINK				0x8030
> +#define GL_TABLE_TOO_LARGE			0x8031
> +#define GL_BLEND_EQUATION			0x8009
> +#define GL_MIN					0x8007
> +#define GL_MAX					0x8008
> +#define GL_FUNC_ADD				0x8006
> +#define GL_FUNC_SUBTRACT			0x800A
> +#define GL_FUNC_REVERSE_SUBTRACT		0x800B
> +#define GL_BLEND_COLOR				0x8005
> +
> +
> +GLAPI void GLAPIENTRY glColorTable( GLenum target, GLenum
> internalformat,
> +                                    GLsizei width, GLenum format,
> +                                    GLenum type, const GLvoid *table
> ); +
> +GLAPI void GLAPIENTRY glColorSubTable( GLenum target,
> +                                       GLsizei start, GLsizei count,
> +                                       GLenum format, GLenum type,
> +                                       const GLvoid *data );
> +
> +GLAPI void GLAPIENTRY glColorTableParameteriv(GLenum target, GLenum
> pname,
> +                                              const GLint *params);
> +
> +GLAPI void GLAPIENTRY glColorTableParameterfv(GLenum target, GLenum
> pname,
> +                                              const GLfloat *params);
> +
> +GLAPI void GLAPIENTRY glCopyColorSubTable( GLenum target, GLsizei
> start,
> +                                           GLint x, GLint y, GLsizei
> width ); +
> +GLAPI void GLAPIENTRY glCopyColorTable( GLenum target, GLenum
> internalformat,
> +                                        GLint x, GLint y, GLsizei
> width ); +
> +GLAPI void GLAPIENTRY glGetColorTable( GLenum target, GLenum format,
> +                                       GLenum type, GLvoid *table );
> +
> +GLAPI void GLAPIENTRY glGetColorTableParameterfv( GLenum target,
> GLenum pname,
> +                                                  GLfloat *params );
> +
> +GLAPI void GLAPIENTRY glGetColorTableParameteriv( GLenum target,
> GLenum pname,
> +                                                  GLint *params );
> +
> +GLAPI void GLAPIENTRY glBlendEquation( GLenum mode );
> +
> +GLAPI void GLAPIENTRY glBlendColor( GLclampf red, GLclampf green,
> +                                    GLclampf blue, GLclampf alpha );
> +
> +GLAPI void GLAPIENTRY glHistogram( GLenum target, GLsizei width,
> +				   GLenum internalformat, GLboolean
> sink ); +
> +GLAPI void GLAPIENTRY glResetHistogram( GLenum target );
> +
> +GLAPI void GLAPIENTRY glGetHistogram( GLenum target, GLboolean reset,
> +				      GLenum format, GLenum type,
> +				      GLvoid *values );
> +
> +GLAPI void GLAPIENTRY glGetHistogramParameterfv( GLenum target,
> GLenum pname,
> +						 GLfloat *params );
> +
> +GLAPI void GLAPIENTRY glGetHistogramParameteriv( GLenum target,
> GLenum pname,
> +						 GLint *params );
> +
> +GLAPI void GLAPIENTRY glMinmax( GLenum target, GLenum internalformat,
> +				GLboolean sink );
> +
> +GLAPI void GLAPIENTRY glResetMinmax( GLenum target );
> +
> +GLAPI void GLAPIENTRY glGetMinmax( GLenum target, GLboolean reset,
> +                                   GLenum format, GLenum types,
> +                                   GLvoid *values );
> +
> +GLAPI void GLAPIENTRY glGetMinmaxParameterfv( GLenum target, GLenum
> pname,
> +					      GLfloat *params );
> +
> +GLAPI void GLAPIENTRY glGetMinmaxParameteriv( GLenum target, GLenum
> pname,
> +					      GLint *params );
> +
> +GLAPI void GLAPIENTRY glConvolutionFilter1D( GLenum target,
> +	GLenum internalformat, GLsizei width, GLenum format, GLenum
> type,
> +	const GLvoid *image );
> +
> +GLAPI void GLAPIENTRY glConvolutionFilter2D( GLenum target,
> +	GLenum internalformat, GLsizei width, GLsizei height, GLenum
> format,
> +	GLenum type, const GLvoid *image );
> +
> +GLAPI void GLAPIENTRY glConvolutionParameterf( GLenum target, GLenum
> pname,
> +	GLfloat params );
> +
> +GLAPI void GLAPIENTRY glConvolutionParameterfv( GLenum target,
> GLenum pname,
> +	const GLfloat *params );
> +
> +GLAPI void GLAPIENTRY glConvolutionParameteri( GLenum target, GLenum
> pname,
> +	GLint params );
> +
> +GLAPI void GLAPIENTRY glConvolutionParameteriv( GLenum target,
> GLenum pname,
> +	const GLint *params );
> +
> +GLAPI void GLAPIENTRY glCopyConvolutionFilter1D( GLenum target,
> +	GLenum internalformat, GLint x, GLint y, GLsizei width );
> +
> +GLAPI void GLAPIENTRY glCopyConvolutionFilter2D( GLenum target,
> +	GLenum internalformat, GLint x, GLint y, GLsizei width,
> +	GLsizei height);
> +
> +GLAPI void GLAPIENTRY glGetConvolutionFilter( GLenum target, GLenum
> format,
> +	GLenum type, GLvoid *image );
> +
> +GLAPI void GLAPIENTRY glGetConvolutionParameterfv( GLenum target,
> GLenum pname,
> +	GLfloat *params );
> +
> +GLAPI void GLAPIENTRY glGetConvolutionParameteriv( GLenum target,
> GLenum pname,
> +	GLint *params );
> +
> +GLAPI void GLAPIENTRY glSeparableFilter2D( GLenum target,
> +	GLenum internalformat, GLsizei width, GLsizei height, GLenum
> format,
> +	GLenum type, const GLvoid *row, const GLvoid *column );
> +
> +GLAPI void GLAPIENTRY glGetSeparableFilter( GLenum target, GLenum
> format,
> +	GLenum type, GLvoid *row, GLvoid *column, GLvoid *span );
> +
> +
> +
> +
> +/*
> + * OpenGL 1.3
> + */
> +
> +/* multitexture */
> +#define GL_TEXTURE0				0x84C0
> +#define GL_TEXTURE1				0x84C1
> +#define GL_TEXTURE2				0x84C2
> +#define GL_TEXTURE3				0x84C3
> +#define GL_TEXTURE4				0x84C4
> +#define GL_TEXTURE5				0x84C5
> +#define GL_TEXTURE6				0x84C6
> +#define GL_TEXTURE7				0x84C7
> +#define GL_TEXTURE8				0x84C8
> +#define GL_TEXTURE9				0x84C9
> +#define GL_TEXTURE10				0x84CA
> +#define GL_TEXTURE11				0x84CB
> +#define GL_TEXTURE12				0x84CC
> +#define GL_TEXTURE13				0x84CD
> +#define GL_TEXTURE14				0x84CE
> +#define GL_TEXTURE15				0x84CF
> +#define GL_TEXTURE16				0x84D0
> +#define GL_TEXTURE17				0x84D1
> +#define GL_TEXTURE18				0x84D2
> +#define GL_TEXTURE19				0x84D3
> +#define GL_TEXTURE20				0x84D4
> +#define GL_TEXTURE21				0x84D5
> +#define GL_TEXTURE22				0x84D6
> +#define GL_TEXTURE23				0x84D7
> +#define GL_TEXTURE24				0x84D8
> +#define GL_TEXTURE25				0x84D9
> +#define GL_TEXTURE26				0x84DA
> +#define GL_TEXTURE27				0x84DB
> +#define GL_TEXTURE28				0x84DC
> +#define GL_TEXTURE29				0x84DD
> +#define GL_TEXTURE30				0x84DE
> +#define GL_TEXTURE31				0x84DF
> +#define GL_ACTIVE_TEXTURE			0x84E0
> +#define GL_CLIENT_ACTIVE_TEXTURE		0x84E1
> +#define GL_MAX_TEXTURE_UNITS			0x84E2
> +/* texture_cube_map */
> +#define GL_NORMAL_MAP				0x8511
> +#define GL_REFLECTION_MAP			0x8512
> +#define GL_TEXTURE_CUBE_MAP			0x8513
> +#define GL_TEXTURE_BINDING_CUBE_MAP		0x8514
> +#define GL_TEXTURE_CUBE_MAP_POSITIVE_X		0x8515
> +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X		0x8516
> +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y		0x8517
> +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y		0x8518
> +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z		0x8519
> +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z		0x851A
> +#define GL_PROXY_TEXTURE_CUBE_MAP		0x851B
> +#define GL_MAX_CUBE_MAP_TEXTURE_SIZE		0x851C
> +/* texture_compression */
> +#define GL_COMPRESSED_ALPHA			0x84E9
> +#define GL_COMPRESSED_LUMINANCE			0x84EA
> +#define GL_COMPRESSED_LUMINANCE_ALPHA		0x84EB
> +#define GL_COMPRESSED_INTENSITY			0x84EC
> +#define GL_COMPRESSED_RGB			0x84ED
> +#define GL_COMPRESSED_RGBA			0x84EE
> +#define GL_TEXTURE_COMPRESSION_HINT		0x84EF
> +#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE	0x86A0
> +#define GL_TEXTURE_COMPRESSED			0x86A1
> +#define GL_NUM_COMPRESSED_TEXTURE_FORMATS	0x86A2
> +#define GL_COMPRESSED_TEXTURE_FORMATS		0x86A3
> +/* multisample */
> +#define GL_MULTISAMPLE				0x809D
> +#define GL_SAMPLE_ALPHA_TO_COVERAGE		0x809E
> +#define GL_SAMPLE_ALPHA_TO_ONE			0x809F
> +#define GL_SAMPLE_COVERAGE			0x80A0
> +#define GL_SAMPLE_BUFFERS			0x80A8
> +#define GL_SAMPLES				0x80A9
> +#define GL_SAMPLE_COVERAGE_VALUE		0x80AA
> +#define GL_SAMPLE_COVERAGE_INVERT		0x80AB
> +#define GL_MULTISAMPLE_BIT			0x20000000
> +/* transpose_matrix */
> +#define GL_TRANSPOSE_MODELVIEW_MATRIX		0x84E3
> +#define GL_TRANSPOSE_PROJECTION_MATRIX		0x84E4
> +#define GL_TRANSPOSE_TEXTURE_MATRIX		0x84E5
> +#define GL_TRANSPOSE_COLOR_MATRIX		0x84E6
> +/* texture_env_combine */
> +#define GL_COMBINE				0x8570
> +#define GL_COMBINE_RGB				0x8571
> +#define GL_COMBINE_ALPHA			0x8572
> +#define GL_SOURCE0_RGB				0x8580
> +#define GL_SOURCE1_RGB				0x8581
> +#define GL_SOURCE2_RGB				0x8582
> +#define GL_SOURCE0_ALPHA			0x8588
> +#define GL_SOURCE1_ALPHA			0x8589
> +#define GL_SOURCE2_ALPHA			0x858A
> +#define GL_OPERAND0_RGB				0x8590
> +#define GL_OPERAND1_RGB				0x8591
> +#define GL_OPERAND2_RGB				0x8592
> +#define GL_OPERAND0_ALPHA			0x8598
> +#define GL_OPERAND1_ALPHA			0x8599
> +#define GL_OPERAND2_ALPHA			0x859A
> +#define GL_RGB_SCALE				0x8573
> +#define GL_ADD_SIGNED				0x8574
> +#define GL_INTERPOLATE				0x8575
> +#define GL_SUBTRACT				0x84E7
> +#define GL_CONSTANT				0x8576
> +#define GL_PRIMARY_COLOR			0x8577
> +#define GL_PREVIOUS				0x8578
> +/* texture_env_dot3 */
> +#define GL_DOT3_RGB				0x86AE
> +#define GL_DOT3_RGBA				0x86AF
> +/* texture_border_clamp */
> +#define GL_CLAMP_TO_BORDER			0x812D
> +
> +GLAPI void GLAPIENTRY glActiveTexture( GLenum texture );
> +
> +GLAPI void GLAPIENTRY glClientActiveTexture( GLenum texture );
> +
> +GLAPI void GLAPIENTRY glCompressedTexImage1D( GLenum target, GLint
> level, GLenum internalformat, GLsizei width, GLint border, GLsizei
> imageSize, const GLvoid *data ); + +GLAPI void GLAPIENTRY
> glCompressedTexImage2D( GLenum target, GLint level, GLenum
> internalformat, GLsizei width, GLsizei height, GLint border, GLsizei
> imageSize, const GLvoid *data ); + +GLAPI void GLAPIENTRY
> glCompressedTexImage3D( GLenum target, GLint level, GLenum
> internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint
> border, GLsizei imageSize, const GLvoid *data ); + +GLAPI void
> GLAPIENTRY glCompressedTexSubImage1D( GLenum target, GLint level,
> GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const
> GLvoid *data ); + +GLAPI void GLAPIENTRY
> glCompressedTexSubImage2D( GLenum target, GLint level, GLint xoffset,
> GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei
> imageSize, const GLvoid *data ); + +GLAPI void GLAPIENTRY
> glCompressedTexSubImage3D( GLenum target, GLint level, GLint xoffset,
> GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei
> depth, GLenum format, GLsizei imageSize, const GLvoid *data ); +
> +GLAPI void GLAPIENTRY glGetCompressedTexImage( GLenum target, GLint
> lod, GLvoid *img ); + +GLAPI void GLAPIENTRY
> glMultiTexCoord1d( GLenum target, GLdouble s ); + +GLAPI void
> GLAPIENTRY glMultiTexCoord1dv( GLenum target, const GLdouble *v ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord1f( GLenum target, GLfloat s );
> + +GLAPI void GLAPIENTRY glMultiTexCoord1fv( GLenum target, const
> GLfloat *v ); + +GLAPI void GLAPIENTRY glMultiTexCoord1i( GLenum
> target, GLint s ); + +GLAPI void GLAPIENTRY
> glMultiTexCoord1iv( GLenum target, const GLint *v ); + +GLAPI void
> GLAPIENTRY glMultiTexCoord1s( GLenum target, GLshort s ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord1sv( GLenum target, const
> GLshort *v ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord2d( GLenum target, GLdouble s,
> GLdouble t ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord2dv( GLenum target, const
> GLdouble *v ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord2f( GLenum target, GLfloat s,
> GLfloat t ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord2fv( GLenum target, const
> GLfloat *v ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord2i( GLenum target, GLint s,
> GLint t ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord2iv( GLenum target, const GLint
> *v ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord2s( GLenum target, GLshort s,
> GLshort t ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord2sv( GLenum target, const
> GLshort *v ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord3d( GLenum target, GLdouble s,
> GLdouble t, GLdouble r ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord3dv( GLenum target, const
> GLdouble *v ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord3f( GLenum target, GLfloat s,
> GLfloat t, GLfloat r ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord3fv( GLenum target, const
> GLfloat *v ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord3i( GLenum target, GLint s,
> GLint t, GLint r ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord3iv( GLenum target, const GLint
> *v ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord3s( GLenum target, GLshort s,
> GLshort t, GLshort r ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord3sv( GLenum target, const
> GLshort *v ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord4d( GLenum target, GLdouble s,
> GLdouble t, GLdouble r, GLdouble q ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord4dv( GLenum target, const
> GLdouble *v ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord4f( GLenum target, GLfloat s,
> GLfloat t, GLfloat r, GLfloat q ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord4fv( GLenum target, const
> GLfloat *v ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord4i( GLenum target, GLint s,
> GLint t, GLint r, GLint q ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord4iv( GLenum target, const GLint
> *v ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord4s( GLenum target, GLshort s,
> GLshort t, GLshort r, GLshort q ); +
> +GLAPI void GLAPIENTRY glMultiTexCoord4sv( GLenum target, const
> GLshort *v ); +
> +
> +GLAPI void GLAPIENTRY glLoadTransposeMatrixd( const GLdouble m[16] );
> +
> +GLAPI void GLAPIENTRY glLoadTransposeMatrixf( const GLfloat m[16] );
> +
> +GLAPI void GLAPIENTRY glMultTransposeMatrixd( const GLdouble m[16] );
> +
> +GLAPI void GLAPIENTRY glMultTransposeMatrixf( const GLfloat m[16] );
> +
> +GLAPI void GLAPIENTRY glSampleCoverage( GLclampf value, GLboolean
> invert ); +
> +
> +typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
> +typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLclampf value,
> GLboolean invert); +typedef void (APIENTRYP
> PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum
> internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint
> border, GLsizei imageSize, const GLvoid *data); +typedef void
> (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint
> level, GLenum internalformat, GLsizei width, GLsizei height, GLint
> border, GLsizei imageSize, const GLvoid *data); +typedef void
> (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint
> level, GLenum internalformat, GLsizei width, GLint border, GLsizei
> imageSize, const GLvoid *data); +typedef void (APIENTRYP
> PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint
> xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height,
> GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
> +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum
> target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
> GLsizei height, GLenum format, GLsizei imageSize, const GLvoid
> *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)
> (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum
> format, GLsizei imageSize, const GLvoid *data); +typedef void
> (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint
> level, GLvoid *img); + + + +/*
> + * GL_ARB_multitexture (ARB extension 1 and OpenGL 1.2.1)
> + */
> +#ifndef GL_ARB_multitexture
> +#define GL_ARB_multitexture 1
> +
> +#define GL_TEXTURE0_ARB				0x84C0
> +#define GL_TEXTURE1_ARB				0x84C1
> +#define GL_TEXTURE2_ARB				0x84C2
> +#define GL_TEXTURE3_ARB				0x84C3
> +#define GL_TEXTURE4_ARB				0x84C4
> +#define GL_TEXTURE5_ARB				0x84C5
> +#define GL_TEXTURE6_ARB				0x84C6
> +#define GL_TEXTURE7_ARB				0x84C7
> +#define GL_TEXTURE8_ARB				0x84C8
> +#define GL_TEXTURE9_ARB				0x84C9
> +#define GL_TEXTURE10_ARB			0x84CA
> +#define GL_TEXTURE11_ARB			0x84CB
> +#define GL_TEXTURE12_ARB			0x84CC
> +#define GL_TEXTURE13_ARB			0x84CD
> +#define GL_TEXTURE14_ARB			0x84CE
> +#define GL_TEXTURE15_ARB			0x84CF
> +#define GL_TEXTURE16_ARB			0x84D0
> +#define GL_TEXTURE17_ARB			0x84D1
> +#define GL_TEXTURE18_ARB			0x84D2
> +#define GL_TEXTURE19_ARB			0x84D3
> +#define GL_TEXTURE20_ARB			0x84D4
> +#define GL_TEXTURE21_ARB			0x84D5
> +#define GL_TEXTURE22_ARB			0x84D6
> +#define GL_TEXTURE23_ARB			0x84D7
> +#define GL_TEXTURE24_ARB			0x84D8
> +#define GL_TEXTURE25_ARB			0x84D9
> +#define GL_TEXTURE26_ARB			0x84DA
> +#define GL_TEXTURE27_ARB			0x84DB
> +#define GL_TEXTURE28_ARB			0x84DC
> +#define GL_TEXTURE29_ARB			0x84DD
> +#define GL_TEXTURE30_ARB			0x84DE
> +#define GL_TEXTURE31_ARB			0x84DF
> +#define GL_ACTIVE_TEXTURE_ARB			0x84E0
> +#define GL_CLIENT_ACTIVE_TEXTURE_ARB		0x84E1
> +#define GL_MAX_TEXTURE_UNITS_ARB		0x84E2
> +
> +GLAPI void GLAPIENTRY glActiveTextureARB(GLenum texture);
> +GLAPI void GLAPIENTRY glClientActiveTextureARB(GLenum texture);
> +GLAPI void GLAPIENTRY glMultiTexCoord1dARB(GLenum target, GLdouble
> s); +GLAPI void GLAPIENTRY glMultiTexCoord1dvARB(GLenum target, const
> GLdouble *v); +GLAPI void GLAPIENTRY glMultiTexCoord1fARB(GLenum
> target, GLfloat s); +GLAPI void GLAPIENTRY
> glMultiTexCoord1fvARB(GLenum target, const GLfloat *v); +GLAPI void
> GLAPIENTRY glMultiTexCoord1iARB(GLenum target, GLint s); +GLAPI void
> GLAPIENTRY glMultiTexCoord1ivARB(GLenum target, const GLint *v);
> +GLAPI void GLAPIENTRY glMultiTexCoord1sARB(GLenum target, GLshort
> s); +GLAPI void GLAPIENTRY glMultiTexCoord1svARB(GLenum target, const
> GLshort *v); +GLAPI void GLAPIENTRY glMultiTexCoord2dARB(GLenum
> target, GLdouble s, GLdouble t); +GLAPI void GLAPIENTRY
> glMultiTexCoord2dvARB(GLenum target, const GLdouble *v); +GLAPI void
> GLAPIENTRY glMultiTexCoord2fARB(GLenum target, GLfloat s, GLfloat t);
> +GLAPI void GLAPIENTRY glMultiTexCoord2fvARB(GLenum target, const
> GLfloat *v); +GLAPI void GLAPIENTRY glMultiTexCoord2iARB(GLenum
> target, GLint s, GLint t); +GLAPI void GLAPIENTRY
> glMultiTexCoord2ivARB(GLenum target, const GLint *v); +GLAPI void
> GLAPIENTRY glMultiTexCoord2sARB(GLenum target, GLshort s, GLshort t);
> +GLAPI void GLAPIENTRY glMultiTexCoord2svARB(GLenum target, const
> GLshort *v); +GLAPI void GLAPIENTRY glMultiTexCoord3dARB(GLenum
> target, GLdouble s, GLdouble t, GLdouble r); +GLAPI void GLAPIENTRY
> glMultiTexCoord3dvARB(GLenum target, const GLdouble *v); +GLAPI void
> GLAPIENTRY glMultiTexCoord3fARB(GLenum target, GLfloat s, GLfloat t,
> GLfloat r); +GLAPI void GLAPIENTRY glMultiTexCoord3fvARB(GLenum
> target, const GLfloat *v); +GLAPI void GLAPIENTRY
> glMultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r);
> +GLAPI void GLAPIENTRY glMultiTexCoord3ivARB(GLenum target, const
> GLint *v); +GLAPI void GLAPIENTRY glMultiTexCoord3sARB(GLenum target,
> GLshort s, GLshort t, GLshort r); +GLAPI void GLAPIENTRY
> glMultiTexCoord3svARB(GLenum target, const GLshort *v); +GLAPI void
> GLAPIENTRY glMultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble
> t, GLdouble r, GLdouble q); +GLAPI void GLAPIENTRY
> glMultiTexCoord4dvARB(GLenum target, const GLdouble *v); +GLAPI void
> GLAPIENTRY glMultiTexCoord4fARB(GLenum target, GLfloat s, GLfloat t,
> GLfloat r, GLfloat q); +GLAPI void GLAPIENTRY
> glMultiTexCoord4fvARB(GLenum target, const GLfloat *v); +GLAPI void
> GLAPIENTRY glMultiTexCoord4iARB(GLenum target, GLint s, GLint t,
> GLint r, GLint q); +GLAPI void GLAPIENTRY
> glMultiTexCoord4ivARB(GLenum target, const GLint *v); +GLAPI void
> GLAPIENTRY glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t,
> GLshort r, GLshort q); +GLAPI void GLAPIENTRY
> glMultiTexCoord4svARB(GLenum target, const GLshort *v); + +typedef
> void (APIENTRYP PFNGLACTIVETEXTUREARBPROC) (GLenum texture); +typedef
> void (APIENTRYP PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
> +typedef void (APIENTRYP PFNGLMULTITEXCOORD1DARBPROC) (GLenum target,
> GLdouble s); +typedef void (APIENTRYP PFNGLMULTITEXCOORD1DVARBPROC)
> (GLenum target, const GLdouble *v); +typedef void (APIENTRYP
> PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s); +typedef
> void (APIENTRYP PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const
> GLfloat *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD1IARBPROC)
> (GLenum target, GLint s); +typedef void (APIENTRYP
> PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
> +typedef void (APIENTRYP PFNGLMULTITEXCOORD1SARBPROC) (GLenum target,
> GLshort s); +typedef void (APIENTRYP PFNGLMULTITEXCOORD1SVARBPROC)
> (GLenum target, const GLshort *v); +typedef void (APIENTRYP
> PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
> +typedef void (APIENTRYP PFNGLMULTITEXCOORD2DVARBPROC) (GLenum
> target, const GLdouble *v); +typedef void (APIENTRYP
> PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
> +typedef void (APIENTRYP PFNGLMULTITEXCOORD2FVARBPROC) (GLenum
> target, const GLfloat *v); +typedef void (APIENTRYP
> PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
> +typedef void (APIENTRYP PFNGLMULTITEXCOORD2IVARBPROC) (GLenum
> target, const GLint *v); +typedef void (APIENTRYP
> PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
> +typedef void (APIENTRYP PFNGLMULTITEXCOORD2SVARBPROC) (GLenum
> target, const GLshort *v); +typedef void (APIENTRYP
> PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t,
> GLdouble r); +typedef void (APIENTRYP PFNGLMULTITEXCOORD3DVARBPROC)
> (GLenum target, const GLdouble *v); +typedef void (APIENTRYP
> PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t,
> GLfloat r); +typedef void (APIENTRYP PFNGLMULTITEXCOORD3FVARBPROC)
> (GLenum target, const GLfloat *v); +typedef void (APIENTRYP
> PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint
> r); +typedef void (APIENTRYP PFNGLMULTITEXCOORD3IVARBPROC) (GLenum
> target, const GLint *v); +typedef void (APIENTRYP
> PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t,
> GLshort r); +typedef void (APIENTRYP PFNGLMULTITEXCOORD3SVARBPROC)
> (GLenum target, const GLshort *v); +typedef void (APIENTRYP
> PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t,
> GLdouble r, GLdouble q); +typedef void (APIENTRYP
> PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
> +typedef void (APIENTRYP PFNGLMULTITEXCOORD4FARBPROC) (GLenum target,
> GLfloat s, GLfloat t, GLfloat r, GLfloat q); +typedef void (APIENTRYP
> PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
> +typedef void (APIENTRYP PFNGLMULTITEXCOORD4IARBPROC) (GLenum target,
> GLint s, GLint t, GLint r, GLint q); +typedef void (APIENTRYP
> PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
> +typedef void (APIENTRYP PFNGLMULTITEXCOORD4SARBPROC) (GLenum target,
> GLshort s, GLshort t, GLshort r, GLshort q); +typedef void (APIENTRYP
> PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v); +
> +#endif /* GL_ARB_multitexture */ + + + +/*
> + * Define this token if you want "old-style" header file behaviour
> (extensions
> + * defined in gl.h).  Otherwise, extensions will be included from
> glext.h.
> + */
> +#if defined(GL_GLEXT_LEGACY)
> +
> +/* All extensions that used to be here are now found in glext.h */
> +
> +#else  /* GL_GLEXT_LEGACY */
> +
> +#include <GL/glext.h>
> +
> +#endif  /* GL_GLEXT_LEGACY */
> +
> +
> +
> +/*
> + * ???. GL_MESA_packed_depth_stencil
> + * XXX obsolete
> + */
> +#ifndef GL_MESA_packed_depth_stencil
> +#define GL_MESA_packed_depth_stencil 1
> +
> +#define GL_DEPTH_STENCIL_MESA			0x8750
> +#define GL_UNSIGNED_INT_24_8_MESA		0x8751
> +#define GL_UNSIGNED_INT_8_24_REV_MESA		0x8752
> +#define GL_UNSIGNED_SHORT_15_1_MESA		0x8753
> +#define GL_UNSIGNED_SHORT_1_15_REV_MESA		0x8754
> +
> +#endif /* GL_MESA_packed_depth_stencil */
> +
> +
> +#ifndef GL_ATI_blend_equation_separate
> +#define GL_ATI_blend_equation_separate 1
> +
> +#define GL_ALPHA_BLEND_EQUATION_ATI	        0x883D
> +
> +GLAPI void GLAPIENTRY glBlendEquationSeparateATI( GLenum modeRGB,
> GLenum modeA ); +typedef void (APIENTRYP
> PFNGLBLENDEQUATIONSEPARATEATIPROC) (GLenum modeRGB, GLenum modeA); +
> +#endif /* GL_ATI_blend_equation_separate */
> +
> +
> +/* GL_OES_EGL_image */
> +#ifndef GL_OES_EGL_image
> +typedef void* GLeglImageOES;
> +#endif
> +
> +#ifndef GL_OES_EGL_image
> +#define GL_OES_EGL_image 1
> +#ifdef GL_GLEXT_PROTOTYPES
> +GLAPI void APIENTRY glEGLImageTargetTexture2DOES (GLenum target,
> GLeglImageOES image); +GLAPI void APIENTRY
> glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES
> image); +#endif +typedef void (APIENTRYP
> PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES
> image); +typedef void (APIENTRYP
> PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target,
> GLeglImageOES image); +#endif + +
> +/**
> + ** NOTE!!!!!  If you add new functions to this file, or update
> + ** glext.h be sure to regenerate the gl_mangle.h file.  See comments
> + ** in that file for details.
> + **/
> +
> +
> +#ifdef __cplusplus
> +}
> +#endif
> +
> +#endif /* __gl_h_ */
> diff --git
> a/package/opengl/khronos-registry/opengl-registry/opengl-registry-000-run-from-current-dir.patch
> b/package/opengl/khronos-registry/opengl-registry/opengl-registry-000-run-from-current-dir.patch
> new file mode 100644 index 0000000..4b042ab --- /dev/null
> +++
> b/package/opengl/khronos-registry/opengl-registry/opengl-registry-000-run-from-current-dir.patch
> @@ -0,0 +1,17 @@ +Makefile: allow running without the current dir in
> PATH +
> +Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> +
> +Index: a/Makefile
> +===================================================================
> +--- a/Makefile	(revision 27863)
> ++++ a/Makefile	(working copy)
> +@@ -24,7 +24,7 @@
> + 
> + PYFILES = genheaders.py reg.py
> + GENOPTS =
> +-GENHEADERS = genheaders.py $(GENOPTS)
> ++GENHEADERS = ./genheaders.py $(GENOPTS)
> + 
> + # Generate all headers for GL / GLES / WGL / GLX / EGL
> + # Different headers depend on different XML registry files
> diff --git
> a/package/opengl/khronos-registry/opengl-registry/opengl-registry.mk
> b/package/opengl/khronos-registry/opengl-registry/opengl-registry.mk
> new file mode 100644 index 0000000..0616789 --- /dev/null
> +++
> b/package/opengl/khronos-registry/opengl-registry/opengl-registry.mk
> @@ -0,0 +1,87 @@
> +################################################################################
> +# +# opengl-registry
> +#
> +################################################################################
> +
> +# Using last revision at which the 'api' directory was *changed*,
> which might +# not be the latest revision the repository is currently
> at. +OPENGL_REGISTRY_VERSION = 29429
> +OPENGL_REGISTRY_SITE =
> https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/api
> +OPENGL_REGISTRY_SITE_METHOD = svn +# The license is MIT, but with
> 's/Software/Materials/' so it is not exactly MIT
> +OPENGL_REGISTRY_LICENSE = MIT-like +# No license file, license
> header in all generated headers +
> +OPENGL_REGISTRY_DEPENDENCIES = host-python host-python-lxml \
> +	khrplatform-registry
> +
> +# The registry only installs header files
> +OPENGL_REGISTRY_INSTALL_STAGING = YES
> +OPENGL_REGISTRY_INSTALL_TARGET = NO
> +
> +# opengl-registry depends on at least one of those virtual packages,
> +# so we can be sure we'll have _DIRS set to non-empty.
> +OPENGL_REGISTRY_DIRS = \
> +	$(if $(BR2_PACKAGE_HAS_LIBGL),GL) \
> +	$(if $(BR2_PACKAGE_HAS_LIBEGL),EGL) \
> +	$(if $(BR2_PACKAGE_HAS_LIBGLES),GLES GLES2 GLES3)
> +
> +# Remove pre-generated files
> +define OPENGL_REGISTRY_RM_H
> +	rm -f $(@D)/GL/*.h
> +endef
> +OPENGL_REGISTRY_POST_EXTRACT_HOOKS += OPENGL_REGISTRY_RM_H
> +
> +define OPENGL_REGISTRY_BUILD_CMDS
> +	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
> +endef
> +
> +# We need to tweak the generated glx.h to:
> +# - include the X11 headers it needs
> +# - include glxext.h like mesa3d's one does
> +# - define the glxext prototypes
> +define OPENGL_REGISTRY_FIX_GLX_H
> +	awk 'BEGIN { def_proto=1; } \
> +	 $$0=="#ifdef GLX_GLXEXT_PROTOTYPES" && def_proto==1 { \
> +		print "#define GLX_GLXEXT_PROTOTYPES 1 /* Added by
> Buildroot */"; \
> +		def_proto=0; \
> +	 } \
> +	 $$0=="#endif /* GLX_VERSION_1_4 */" { \
> +		print ""; \
> +		print "/* Added by Buildroot */"; \
> +		print "#ifndef GLX_GLXEXT_LEGACY"; \
> +		print "#include <GL/glxext.h>"; \
> +		print "#endif /* GLX_GLXEXT_LEGACY */"; \
> +		print "/* End added by Buildroot */"; \
> +		print ""; \
> +	 } \
> +	 { print; } \
> +	 $$0=="#define GLX_VERSION_1_0 1" { \
> +		print ""; \
> +		print "/* Added by Buildroot */"; \
> +		print "#include <X11/Xlib.h>"; \
> +		print "#include <X11/Xutil.h>"; \
> +		print "#include <GL/gl.h>"; \
> +		print "/* End added by Buildroot */"; \
> +		print ""; \
> +	 } \
> +	' $(@D)/GL/glx.h >$(@D)/GL/glx.h.tmp
> +	mv $(@D)/GL/glx.h.tmp $(@D)/GL/glx.h
> +endef
> +OPENGL_REGISTRY_POST_BUILD_HOOKS += OPENGL_REGISTRY_FIX_GLX_H
> +
> +# Always install gl.h since the others may depend on it, and
> +# we are sure at least one OpenGL variants will be installed.
> +define OPENGL_REGISTRY_INSTALL_STAGING_CMDS
> +	$(INSTALL) -D -m 0644
> package/opengl/khronos-registry/opengl-registry/gl.h \
> +		   $(STAGING_DIR)/usr/include/GL/gl.h
> +	for d in $(OPENGL_REGISTRY_DIRS); do \
> +		for h in $(@D)/$${d}/*.h; do \
> +			$(INSTALL) -D -m 0644 $${h}
> $(STAGING_DIR)/usr/include/$${d}/$${h##*/} \
> +			|| exit 1; \
> +		done \
> +	done
> +endef
> +
> +$(eval $(generic-package))



-- 
Nicolas Serafini
R&D Embedded Software Engineer

www.sensefly.com
Route de Genève 38
1033 Cheseaux-Lausanne
Switzerland



More information about the buildroot mailing list