unit opengl12;
{
$Id: opengl12.pas,v 1.2 2004/04/05 09:59:46 savage Exp $
}
{******************************************************************************}
{ }
{ Borland Delphi Runtime Library }
{ OpenGL interface unit }
{ }
{ }
{ This is an interface unit for the use of OpenGL from within Delphi and Kylix.}
{ It contains the translations of gl.h, glu.h, glx.h as well as context }
{ and extension management functions. }
{ }
{ The original Pascal code is: OpenGL12.pas }
{ The initial developer of the Pascal code is Mike Lischke }
{ }
{ }
{ Portions created by Microsoft are }
{ Copyright (C) 1995-2001 Microsoft Corporation. }
{ All Rights Reserved. }
{ }
{ Portions created by Silicon Graphics Incorporated are }
{ Copyright (C) 1995-2001 Silicon Graphics Incorporated }
{ All Rights Reserved. }
{ }
{ Portions created by NVidia are }
{ Copyright (C) 1995-2001 NVidia }
{ All Rights Reserved. }
{ }
{ Portions created by Brian Paul }
{ Copyright (C) 1995-2001 Brian Paul }
{ All Rights Reserved. }
{ }
{ }
{ The original file is: gl.h }
{ The original file is: glut.h }
{ The original file is: glx.h }
{ The original file is: glx.h }
{ }
{ Portions created by Mike Lischke are }
{ Copyright (C) 2001 Mike Lischke. }
{ }
{ Portions created by John O'Harrow are }
{ Copyright (C) 2001 John O'Harrow. }
{ }
{ Portions created by Eric Grange are }
{ Copyright (C) 2001 Eric Grange. }
{ }
{ Portions created by Olivier Chatelain }
{ Copyright (C) 2001 Olivier Chatelain. }
{ }
{ Portions created by Tom Nuydens }
{ Copyright (C) 2001 Tom Nuydens. }
{ }
{ Portions created by Matthias Thoma are }
{ Copyright (C) 2001 Matthias Thoma. }
{ }
{ Portions created by Sven Bobrowski are }
{ Copyright (C) 2001 Sven Bobrowski }
{ }
{ }
{ Obtained through: }
{ }
{ Joint Endeavour of Delphi Innovators (Project JEDI) }
{ }
{ You may retrieve the latest version of this file at the Project }
{ JEDI home page, located at http://delphi-jedi.org }
{ }
{ The contents of this file are used with permission, subject to }
{ the Mozilla Public License Version 1.1 (the "License"); you may }
{ not use this file except in compliance with the License. You may }
{ obtain a copy of the License at }
{ http://www.mozilla.org/MPL/MPL-1.1.html }
{ }
{ Software distributed under the License is distributed on an }
{ "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or }
{ implied. See the License for the specific language governing }
{ rights and limitations under the License. }
{ }
{******************************************************************************}
//----------------------------------------------------------------------------------------------------------------------
//
// This is an interface unit for the use of OpenGL from within Delphi and contains
// the translations of gl.h, glu.h as well as some support functions.
// OpenGL12.pas contains bug fixes and enhancements of Delphi's and other translations
// as well as support for extensions.
//
// NOTE: In order to fully support multi thread rendering it is necessary to hold all
// extension address in threadvars. For single threaded applications this would be an
// unnecessary time penalty, however. Hence there is a compiler switch to
// allow single threaded OpenGL application to use vars while multi threaded applications
// will use threadvars. By default the switch MULTITHREADOPENGL (see compiler switch under der interface keyword)
// is not active and must explicitly enabled to take effect.
//
//----------------------------------------------------------------------------------------------------------------------
//
// function InitOpenGL: Boolean;
// Needed to load the OpenGL DLLs and all addresses of the standard functions.
// In case OpenGL is already initialized this function does nothing. No error
// is raised, if something goes wrong, but you need to inspect the result in order
// to know if all went okay.
// Result: True if successful or already loaded, False otherwise.
//
// function InitOpenGLFromLibrary(GL_Name, GLU_Name: String): Boolean;
// Same as InitOpenGL, but you can specify specific DLLs. Useful if you want to
// use different DLLs than the default ones. This function closes previously
// loaded DLLs before it tries to open the new libraries.
// Result: True if successful, False otherwise.
//
// procedure CloseOpenGL;
// Unloads the OpenGL DLLs and sets all function addresses to nil, including
// extensions. You can load and unload the DLLs as often as you like.
//
// procedure ClearExtensions;
// Sets all extension routines to nil. This is needed when you change the Pixelformat
// of your OpenGL window, since the availability of these routines changes from
// PixelFormat to Pixelformat (and also between various vendors).
//
// function CreateRenderingContext(DC: HDC; Options: TRCOptions; ColorBits, StencilBits, AccumBits, AuxBuffers: Integer;
// Layer: Integer; var Palette: HPALETTE): HGLRC;
// Sets up a pixel format and creates a new rendering context depending of the
// given parameters:
// DC - the device context for which the rc is to be created
// Options - options for the context, which the application would like to have
// (it is not guaranteed they will be available)
// ColorBits - the color depth of the device context (Note: Because of the internal DC handling of the VCL you
// should avoid using GetDeviceCaps for memory DCs which are members of a TBitmap class.
// Translate the Pixelformat member instead!)
// StencilBits - requested size of the stencil buffer
// AccumBits - requested size of the accumulation buffer
// AuxBuffers - requested number of auxiliary buffers
// Layer - ID for the layer for which the RC will be created (-1..-15 for underlay planes, 0 for main plane,
// 1..15 for overlay planes)
// Note: The layer handling is not yet complete as there is very few information
// available and (until now) no OpenGL implementation with layer support on the low budget market.
// Hence use 0 (for the main plane) as layer ID.
// Palette - Palette Handle created within function (need to use DeleteObject(Palette) to free this if <> 0)
// Result: the newly created context or 0 if setup failed
//
// procedure ActivateRenderingContext(DC: HDC; RC: HGLRC);
// Makes RC in DC 'current' (wglMakeCurrent(..)) and loads all extension addresses
// and flags if necessary.
//
// procedure DeactivateRenderingContext;
// Counterpart to ActivateRenderingContext.
//
// procedure DestroyRenderingContext(RC: HGLRC);
// RC will be destroyed and must be recreated if you want to use it again.
//
// procedure ReadExtensions;
// Determines which extensions for the current rendering context are available and
// loads their addresses. This procedure is called from ActivateRenderingContext
// if a new pixel format is used, but you can safely call it from where you want
// to actualize those values (under the condition that a rendering context MUST be
// active).
//
// procedure ReadImplementationProperties;
// Determines other properties of the OpenGL DLL (version, availability of extensions).
// Again, a valid rendering context must be active.
//
// function HasActiveContext: Boolean;
// Determines whether the calling thread has currently an active rendering context.
//----------------------------------------------------------------------------------------------------------------------
//
// This translation is based on different sources:
//
// - first translation from Artemis Alliance Inc.
// - previous versions from Mike Lischke
// - Alexander Staubo
// - Borland OpenGL.pas (from Delphi 3)
// - Microsoft and SGI OpenGL header files
// - www.opengl.org, www.sgi.com/OpenGL
// - nVidia extension reference as of December 1999
// - nVidia extension reference as of January 2001
// - vertex_array_range sample by Tom Nuydens at Delphi3D
// - minor bug fixes and greatly extended by John O'Harrow (john@elmcrest.demon.co.uk)
// - initial context activation balancing by Eric Grange (egrange@infonie.fr)
// - additional nVidia extensions by Olivier Chatelain (Olivier.Chatelain@xitact.com)
//
// Contact: public@lischke-online.de, www.lischke-online.de
//
// Version: 1.2.11
//----------------------------------------------------------------------------------------------------------------------
//
// 12-Feb-2002 dml :
// - Further modifications to allow unit to compile under Free Pascal
// as suggested by "QuePasha Pepe" <mrkroket@hotmail.com>
//
// 25-OCT-2001 dre :
// - Made modifications to allow unit to compile under Free Pascal
// - added tMaxLogPalette declaration to Free Pascal
// - included fix to ReadExtensions
// - Added Set8088CW procedure
//
// 13-SEP-2001 ml:
// - added PWGLSwap etc. declarations for Delphi 3
// 18-AUG-2001 ml:
// - multi thread support for function addresses (extensions)
// 28-JUL-2001 ml:
// - included original type names (+ $EXTERNALSYM directives)
// 10-JUL-2001 ml:
// - TGLubyte changed to UCHAR
// 05-JUL-2001 ml:
// - own exception type for OpenGL
// - TGLboolean is now of type BYTEBOOL
// 05-MAY-2001 ml:
// - correct tracking of RC creation and release as well as multithreaded RC activation
// - compatibility routines for users of other OpenGL unit variants
// - improved rendering context creation
// - bug fixes
// 01-MAY-2001 ml:
// - added more nVidia extensions
//----------------------------------------------------------------------------------------------------------------------
{ April 03 2003 - DL : Added jedi-sdl.inc include file to support more }
{ Pascal compilers. Initial support is now included }
{ for GnuPascal, VirtualPascal, TMT and obviously }
{ continue support for Delphi Kylix and FreePascal. }
{ }
{ May 03 2003 - DL : under instruction from David Mears AKA }
{ Jason Siletto, I have added FPC Linux support. }
{ }
{******************************************************************************}
{
$Log: opengl12.pas,v $
Revision 1.2 2004/04/05 09:59:46 savage
Changes for FreePacal as suggested by Marco
Revision 1.1 2004/03/30 21:53:55 savage
Moved to it's own folder.
Revision 1.6 2004/02/20 17:26:19 savage
Extensions are now loaded using SDL_GL_GetProcAddress, thus making it more cross-platform compatible, but now more tied to SDL.
Revision 1.5 2004/02/15 22:48:36 savage
More FPC and FreeBSD support changes.
Revision 1.4 2004/02/14 22:36:29 savage
Fixed inconsistencies of using LoadLibrary and LoadModule.
Now all units make use of LoadModule rather than LoadLibrary and other dynamic proc procedures.
Revision 1.3 2004/02/14 00:23:39 savage
As UNIX is defined in jedi-sdl.inc this will be used to check linux compatability as well. Units have been changed to reflect this change.
Revision 1.2 2004/02/14 00:09:19 savage
Changed uses to now make use of moduleloader.pas rather than dllfuncs.pas
Revision 1.1 2004/02/05 00:08:20 savage
Module 1.0 release
}
{$I jedi-sdl.inc}
interface
{.$define MULTITHREADOPENGL}
uses
{$IFDEF __GPC__}
gpc;
{$ENDIF}
{$IFDEF WIN32}
{$IFNDEF __GPC__}
Windows;
{$ENDIF}
{$ENDIF}
{$IFDEF Unix}
{$IFDEF FPC}
{$IFDEF Ver1_0}
linux,
{$ELSE}
baseunix,
unix,
{$ENDIF}
x,
xlib,
xutil,
dl;
{$ELSE}
Types,
Libc,
Xlib;
{$ENDIF}
{$ENDIF}
type
TRCOptions = set of ( opDoubleBuffered, opGDI, opStereo );
{$EXTERNALSYM GLenum}
GLenum = Cardinal;
TGLenum = Cardinal;
PGLenum = ^TGLenum;
{$EXTERNALSYM GLboolean}
GLboolean = BYTEBOOL;
TGLboolean = BYTEBOOL;
PGLboolean = ^TGLboolean;
{$EXTERNALSYM GLbitfield}
GLbitfield = Cardinal;
TGLbitfield = Cardinal;
PGLbitfield = ^TGLbitfield;
{$EXTERNALSYM GLbyte}
GLbyte = ShortInt;
TGLbyte = ShortInt;
PGLbyte = ^TGLbyte;
{$EXTERNALSYM GLshort}
GLshort = SmallInt;
TGLshort = SmallInt;
PGLshort = ^TGLshort;
{$EXTERNALSYM GLint}
GLint = Integer;
TGLint = Integer;
PGLint = ^TGLint;
{$EXTERNALSYM GLsizei}
GLsizei = Integer;
TGLsizei = Integer;
PGLsizei = ^TGLsizei;
{$EXTERNALSYM GLubyte}
UCHAR = Byte;
GLubyte = UCHAR;
TGLubyte = UCHAR;
PGLubyte = ^TGLubyte;
{$EXTERNALSYM GLushort}
GLushort = Word;
TGLushort = Word;
PGLushort = ^TGLushort;
{$EXTERNALSYM GLuint}
GLuint = Cardinal;
TGLuint = Cardinal;
PGLuint = ^TGLuint;
{$EXTERNALSYM GLfloat}
GLfloat = Single;
TGLfloat = Single;
PGLfloat = ^TGLfloat;
{$EXTERNALSYM GLclampf}
GLclampf = Single;
TGLclampf = Single;
PGLclampf = ^TGLclampf;
{$EXTERNALSYM GLdouble}
GLdouble = Double;
TGLdouble = Double;
PGLdouble = ^TGLdouble;
{$EXTERNALSYM GLclampd}
GLclampd = Double;
TGLclampd = Double;
PGLclampd = ^TGLclampd;
TVector3d = array[0..2] of GLdouble;
TVector4i = array[0..3] of GLint;
TVector4f = array[0..3] of GLfloat;
TVector4p = array[0..3] of Pointer;
TMatrix4f = array[0..3, 0..3] of GLfloat;
TMatrix4d = array[0..3, 0..3] of GLdouble;
PPointer = ^Pointer;
{$ifndef FPC}
{$ifdef MULTITHREADOPENGL}
threadvar
{$else}
var
{$endif}
{$else}
var
{$endif}
GL_VERSION_1_0,
GL_VERSION_1_1,
GL_VERSION_1_2,
GLU_VERSION_1_1,
GLU_VERSION_1_2,
GLU_VERSION_1_3: Boolean;
// Extensions (gl)
GL_3DFX_multisample,
GL_3DFX_tbuffer,
GL_3DFX_texture_compression_FXT1,
GL_APPLE_specular_vector,
GL_APPLE_transform_hint,
GL_ARB_imaging,
GL_ARB_multisample,
GL_ARB_multitexture,
GL_ARB_texture_compression,
GL_ARB_texture_cube_map,
GL_ARB_transpose_matrix,
GL_ARB_vertex_blend,
GL_EXT_422_pixels,
GL_EXT_abgr,
GL_EXT_bgra,
GL_EXT_blend_color,
GL_EXT_blend_func_separate,
GL_EXT_blend_logic_op,
GL_EXT_blend_minmax,
GL_EXT_blend_subtract,
GL_EXT_clip_volume_hint,
GL_EXT_cmyka,
GL_EXT_color_subtable,
GL_EXT_compiled_vertex_array,
GL_EXT_convolution,
GL_EXT_coordinate_frame,
GL_EXT_copy_texture,
GL_EXT_cull_vertex,
GL_EXT_draw_range_elements,
GL_EXT_fog_coord,
GL_EXT_histogram,
GL_EXT_index_array_formats,
GL_EXT_index_func,
GL_EXT_index_material,
GL_EXT_index_texture,
GL_EXT_light_max_exponent,
GL_EXT_light_texture,
GL_EXT_misc_attribute,
GL_EXT_multi_draw_arrays,
GL_EXT_multisample,
GL_EXT_packed_pixels,
GL_EXT_paletted_texture,
GL_EXT_pixel_transform,
GL_EXT_point_parameters,
GL_EXT_polygon_offset,
GL_EXT_rescale_normal,
GL_EXT_scene_marker,
GL_EXT_secondary_color,
GL_EXT_separate_specular_color,
GL_EXT_shared_texture_palette,
GL_EXT_stencil_wrap,
GL_EXT_subtexture,
GL_EXT_texture_color_table,
GL_EXT_texture_compression_s3tc,
GL_EXT_texture_cube_map,
GL_EXT_texture_edge_clamp,
GL_EXT_texture_env_add,
GL_EXT_texture_env_combine,
GL_EXT_texture_filter_anisotropic,
GL_EXT_texture_lod_bias,
GL_EXT_texture_object,
GL_EXT_texture_perturb_normal,
GL_EXT_texture3D,
GL_EXT_vertex_array,
GL_EXT_vertex_weighting,
GL_FfdMaskSGIX,
GL_HP_convolution_border_modes,
GL_HP_image_transform,
GL_HP_occlusion_test,
GL_HP_texture_lighting,
GL_IBM_cull_vertex,
GL_IBM_multimode_draw_arrays,
GL_IBM_rasterpos_clip,
GL_IBM_vertex_array_lists,
GL_INGR_color_clamp,
GL_INGR_interlace_read,
GL_INTEL_parallel_arrays,
GL_KTX_buffer_region,
GL_MESA_resize_buffers,
GL_MESA_window_pos,
GL_NV_blend_square,
GL_NV_fog_distance,
GL_NV_light_max_exponent,
GL_NV_register_combiners,
GL_NV_texgen_emboss,
GL_NV_texgen_reflection,
GL_NV_texture_env_combine4,
GL_NV_vertex_array_range,
GL_NV_vertex_program,
GL_PGI_misc_hints,
GL_PGI_vertex_hints,
GL_REND_screen_coordinates,
GL_SGI_color_matrix,
GL_SGI_color_table,
GL_SGI_depth_pass_instrument,
GL_SGIS_detail_texture,
GL_SGIS_fog_function,
GL_SGIS_generate_mipmap,
GL_SGIS_multisample,
GL_SGIS_multitexture,
GL_SGIS_pixel_texture,
GL_SGIS_point_line_texgen,
GL_SGIS_point_parameters,
GL_SGIS_sharpen_texture,
GL_SGIS_texture_border_clamp,
GL_SGIS_texture_color_mask,
GL_SGIS_texture_edge_clamp,
GL_SGIS_texture_filter4,
GL_SGIS_texture_lod,
GL_SGIS_texture_select,
GL_SGIS_texture4D,
GL_SGIX_async,
GL_SGIX_async_histogram,
GL_SGIX_async_pixel,
GL_SGIX_blend_alpha_minmax,
GL_SGIX_calligraphic_fragment,
GL_SGIX_clipmap,
GL_SGIX_convolution_accuracy,
GL_SGIX_depth_texture,
GL_SGIX_flush_raster,
GL_SGIX_fog_offset,
GL_SGIX_fog_scale,
GL_SGIX_fragment_lighting,
GL_SGIX_framezoom,
GL_SGIX_igloo_interface,
GL_SGIX_instruments,
GL_SGIX_interlace,
GL_SGIX_ir_instrument1,
GL_SGIX_list_priority,
GL_SGIX_pixel_texture,
GL_SGIX_pixel_tiles,
GL_SGIX_polynomial_ffd,
GL_SGIX_reference_plane,
GL_SGIX_resample,
GL_SGIX_shadow,
GL_SGIX_shadow_ambient,
GL_SGIX_sprite,
GL_SGIX_subsample,
GL_SGIX_tag_sample_buffer,
GL_SGIX_texture_add_env,
GL_SGIX_texture_lod_bias,
GL_SGIX_texture_multi_buffer,
GL_SGIX_texture_scale_bias,
GL_SGIX_vertex_preclip,
GL_SGIX_ycrcb,
GL_SGIX_ycrcba,
GL_SUN_convolution_border_modes,
GL_SUN_global_alpha,
GL_SUN_triangle_list,
GL_SUN_vertex,
GL_SUNX_constant_data,
GL_WIN_phong_shading,
GL_WIN_specular_fog,
GL_WIN_swap_hint,
WGL_EXT_swap_control,
WGL_ARB_extensions_string,
WGL_ARB_pixel_format,
// Extensions (glu)
GLU_EXT_Texture,
GLU_EXT_object_space_tess,
GLU_EXT_nurbs_tessellator: Boolean;
const
// ********** GL generic constants **********
// errors
GL_NO_ERROR = 0;
{$EXTERNALSYM GL_NO_ERROR}
GL_INVALID_ENUM = $0500;
{$EXTERNALSYM GL_INVALID_ENUM}
GL_INVALID_VALUE = $0501;
{$EXTERNALSYM GL_INVALID_VALUE}
GL_INVALID_OPERATION = $0502;
{$EXTERNALSYM GL_INVALID_OPERATION}
GL_STACK_OVERFLOW = $0503;
{$EXTERNALSYM GL_STACK_OVERFLOW}
GL_STACK_UNDERFLOW = $0504;
{$EXTERNALSYM GL_STACK_UNDERFLOW}
GL_OUT_OF_MEMORY = $0505;
{$EXTERNALSYM GL_STACK_UNDERFLOW}
// attribute bits
GL_CURRENT_BIT = $00000001;
{$EXTERNALSYM GL_CURRENT_BIT}
GL_POINT_BIT = $00000002;
{$EXTERNALSYM GL_POINT_BIT}
GL_LINE_BIT = $00000004;
{$EXTERNALSYM GL_LINE_BIT}
GL_POLYGON_BIT = $00000008;
{$EXTERNALSYM GL_POLYGON_BIT}
GL_POLYGON_STIPPLE_BIT = $00000010;
{$EXTERNALSYM GL_POLYGON_STIPPLE_BIT}
GL_PIXEL_MODE_BIT = $00000020;
{$EXTERNALSYM GL_PIXEL_MODE_BIT}
GL_LIGHTING_BIT = $00000040;
{$EXTERNALSYM GL_LIGHTING_BIT}
GL_FOG_BIT = $00000080;
{$EXTERNALSYM GL_FOG_BIT}
GL_DEPTH_BUFFER_BIT = $00000100;
{$EXTERNALSYM GL_DEPTH_BUFFER_BIT}
GL_ACCUM_BUFFER_BIT = $00000200;
{$EXTERNALSYM GL_ACCUM_BUFFER_BIT}
GL_STENCIL_BUFFER_BIT = $00000400;
{$EXTERNALSYM GL_STENCIL_BUFFER_BIT}
GL_VIEWPORT_BIT = $00000800;
{$EXTERNALSYM GL_VIEWPORT_BIT}
GL_TRANSFORM_BIT = $00001000;
{$EXTERNALSYM GL_TRANSFORM_BIT}
GL_ENABLE_BIT = $00002000;
{$EXTERNALSYM GL_ENABLE_BIT}
GL_COLOR_BUFFER_BIT = $00004000;
{$EXTERNALSYM GL_COLOR_BUFFER_BIT}
GL_HINT_BIT = $00008000;
{$EXTERNALSYM GL_HINT_BIT}
GL_EVAL_BIT = $00010000;
{$EXTERNALSYM GL_EVAL_BIT}
GL_LIST_BIT = $00020000;
{$EXTERNALSYM GL_LIST_BIT}
GL_TEXTURE_BIT = $00040000;
{$EXTERNALSYM GL_TEXTURE_BIT}
GL_SCISSOR_BIT = $00080000;
{$EXTERNALSYM GL_SCISSOR_BIT}
GL_ALL_ATTRIB_BITS = $000FFFFF;
{$EXTERNALSYM GL_ALL_ATTRIB_BITS}
// client attribute bits
GL_CLIENT_PIXEL_STORE_BIT = $00000001;
{$EXTERNALSYM GL_CLIENT_PIXEL_STORE_BIT}
GL_CLIENT_VERTEX_ARRAY_BIT = $00000002;
{$EXTERNALSYM GL_CLIENT_VERTEX_ARRAY_BIT}
GL_CLIENT_ALL_ATTRIB_BITS = $FFFFFFFF;
{$EXTERNALSYM GL_CLIENT_ALL_ATTRIB_BITS}
// boolean values
GL_FALSE = Boolean( 0 );
{$EXTERNALSYM GL_FALSE}
GL_TRUE = Boolean( 1 );
{$EXTERNALSYM GL_TRUE}
// primitives
GL_POINTS = $0000;
{$EXTERNALSYM GL_POINTS}
GL_LINES = $0001;
{$EXTERNALSYM GL_LINES}
GL_LINE_LOOP = $0002;
{$EXTERNALSYM GL_LINE_LOOP}
GL_LINE_STRIP = $0003;
{$EXTERNALSYM GL_LINE_STRIP}
GL_TRIANGLES = $0004;
{$EXTERNALSYM GL_TRIANGLES}
GL_TRIANGLE_STRIP = $0005;
{$EXTERNALSYM GL_TRIANGLE_STRIP}
GL_TRIANGLE_FAN = $0006;
{$EXTERNALSYM GL_TRIANGLE_FAN}
GL_QUADS = $0007;
{$EXTERNALSYM GL_QUADS}
GL_QUAD_STRIP = $0008;
{$EXTERNALSYM GL_QUAD_STRIP}
GL_POLYGON = $0009;
{$EXTERNALSYM GL_POLYGON}
// blending
GL_ZERO = 0;
{$EXTERNALSYM GL_ZERO}
GL_ONE = 1;
{$EXTERNALSYM GL_ONE}
GL_SRC_COLOR = $0300;
{$EXTERNALSYM GL_SRC_COLOR}
GL_ONE_MINUS_SRC_COLOR = $0301;
{$EXTERNALSYM GL_ONE_MINUS_SRC_COLOR}
GL_SRC_ALPHA = $0302;
{$EXTERNALSYM GL_SRC_ALPHA}
GL_ONE_MINUS_SRC_ALPHA = $0303;
{$EXTERNALSYM GL_ONE_MINUS_SRC_ALPHA}
GL_DST_ALPHA = $0304;
{$EXTERNALSYM GL_DST_ALPHA}
GL_ONE_MINUS_DST_ALPHA = $0305;
{$EXTERNALSYM GL_ONE_MINUS_DST_ALPHA}
GL_DST_COLOR = $0306;
{$EXTERNALSYM GL_DST_COLOR}
GL_ONE_MINUS_DST_COLOR = $0307;
{$EXTERNALSYM GL_ONE_MINUS_DST_COLOR}
GL_SRC_ALPHA_SATURATE = $0308;
{$EXTERNALSYM GL_SRC_ALPHA_SATURATE}
GL_BLEND_DST = $0BE0;
{$EXTERNALSYM GL_BLEND_DST}
GL_BLEND_SRC = $0BE1;
{$EXTERNALSYM GL_BLEND_SRC}
GL_BLEND = $0BE2;
{$EXTERNALSYM GL_BLEND}
// blending (GL 1.2 ARB imaging)
GL_BLEND_COLOR = $8005;
{$EXTERNALSYM GL_BLEND_COLOR}
GL_CONSTANT_COLOR = $8001;
{$EXTERNALSYM GL_CONSTANT_COLOR}
GL_ONE_MINUS_CONSTANT_COLOR = $8002;
{$EXTERNALSYM GL_ONE_MINUS_CONSTANT_COLOR}
GL_CONSTANT_ALPHA = $8003;
{$EXTERNALSYM GL_CONSTANT_ALPHA}
GL_ONE_MINUS_CONSTANT_ALPHA = $8004;
{$EXTERNALSYM GL_ONE_MINUS_CONSTANT_ALPHA}
GL_FUNC_ADD = $8006;
{$EXTERNALSYM GL_FUNC_ADD}
GL_MIN = $8007;
{$EXTERNALSYM GL_MIN}
GL_MAX = $8008;
{$EXTERNALSYM GL_MAX}
GL_FUNC_SUBTRACT = $800A;
{$EXTERNALSYM GL_FUNC_SUBTRACT}
GL_FUNC_REVERSE_SUBTRACT = $800B;
{$EXTERNALSYM GL_FUNC_REVERSE_SUBTRACT}
// color table GL 1.2 ARB imaging
GL_COLOR_TABLE = $80D0;
{$EXTERNALSYM GL_COLOR_TABLE}
GL_POST_CONVOLUTION_COLOR_TABLE = $80D1;
{$EXTERNALSYM GL_POST_CONVOLUTION_COLOR_TABLE}
GL_POST_COLOR_MATRIX_COLOR_TABLE = $80D2;
{$EXTERNALSYM GL_POST_COLOR_MATRIX_COLOR_TABLE}
GL_PROXY_COLOR_TABLE = $80D3;
{$EXTERNALSYM GL_PROXY_COLOR_TABLE}
GL_PROXY_POST_CONVOLUTION_COLOR_TABLE = $80D4;
{$EXTERNALSYM GL_PROXY_POST_CONVOLUTION_COLOR_TABLE}
GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = $80D5;
{$EXTERNALSYM GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE}
GL_COLOR_TABLE_SCALE = $80D6;
{$EXTERNALSYM GL_COLOR_TABLE_SCALE}
GL_COLOR_TABLE_BIAS = $80D7;
{$EXTERNALSYM GL_COLOR_TABLE_BIAS}
GL_COLOR_TABLE_FORMAT = $80D8;
{$EXTERNALSYM GL_COLOR_TABLE_FORMAT}
GL_COLOR_TABLE_WIDTH = $80D9;
{$EXTERNALSYM GL_COLOR_TABLE_WIDTH}
GL_COLOR_TABLE_RED_SIZE = $80DA;
{$EXTERNALSYM GL_COLOR_TABLE_RED_SIZE}
GL_COLOR_TABLE_GREEN_SIZE = $80DB;
{$EXTERNALSYM GL_COLOR_TABLE_GREEN_SIZE}
GL_COLOR_TABLE_BLUE_SIZE = $80DC;
{$EXTERNALSYM GL_COLOR_TABLE_BLUE_SIZE}
GL_COLOR_TABLE_ALPHA_SIZE = $80DD;
{$EXTERNALSYM GL_COLOR_TABLE_ALPHA_SIZE}
GL_COLOR_TABLE_LUMINANCE_SIZE = $80DE;
{$EXTERNALSYM GL_COLOR_TABLE_LUMINANCE_SIZE}
GL_COLOR_TABLE_INTENSITY_SIZE = $80DF;
{$EXTERNALSYM GL_COLOR_TABLE_INTENSITY_SIZE}
// convolutions GL 1.2 ARB imaging
GL_CONVOLUTION_1D = $8010;
{$EXTERNALSYM GL_CONVOLUTION_1D}
GL_CONVOLUTION_2D = $8011;
{$EXTERNALSYM GL_CONVOLUTION_2D}
GL_SEPARABLE_2D = $8012;
{$EXTERNALSYM GL_SEPARABLE_2D}
GL_CONVOLUTION_BORDER_MODE = $8013;
{$EXTERNALSYM GL_CONVOLUTION_BORDER_MODE}
GL_CONVOLUTION_FILTER_SCALE = $8014;
{$EXTERNALSYM GL_CONVOLUTION_FILTER_SCALE}
GL_CONVOLUTION_FILTER_BIAS = $8015;
{$EXTERNALSYM GL_CONVOLUTION_FILTER_BIAS}
GL_REDUCE = $8016;
{$EXTERNALSYM GL_REDUCE}
GL_CONVOLUTION_FORMAT = $8017;
{$EXTERNALSYM GL_CONVOLUTION_FORMAT}
GL_CONVOLUTION_WIDTH = $8018;
{$EXTERNALSYM GL_CONVOLUTION_WIDTH}
GL_CONVOLUTION_HEIGHT = $8019;
{$EXTERNALSYM GL_CONVOLUTION_HEIGHT}
GL_MAX_CONVOLUTION_WIDTH = $801A;
{$EXTERNALSYM GL_MAX_CONVOLUTION_WIDTH}
GL_MAX_CONVOLUTION_HEIGHT = $801B;
{$EXTERNALSYM GL_MAX_CONVOLUTION_HEIGHT}
GL_POST_CONVOLUTION_RED_SCALE = $801C;
{$EXTERNALSYM GL_POST_CONVOLUTION_RED_SCALE}
GL_POST_CONVOLUTION_GREEN_SCALE = $801D;
{$EXTERNALSYM GL_POST_CONVOLUTION_GREEN_SCALE}
GL_POST_CONVOLUTION_BLUE_SCALE = $801E;
{$EXTERNALSYM GL_POST_CONVOLUTION_BLUE_SCALE}
GL_POST_CONVOLUTION_ALPHA_SCALE = $801F;
{$EXTERNALSYM GL_POST_CONVOLUTION_ALPHA_SCALE}
GL_POST_CONVOLUTION_RED_BIAS = $8020;
{$EXTERNALSYM GL_POST_CONVOLUTION_RED_BIAS}
GL_POST_CONVOLUTION_GREEN_BIAS = $8021;
{$EXTERNALSYM GL_POST_CONVOLUTION_GREEN_BIAS}
GL_POST_CONVOLUTION_BLUE_BIAS = $8022;
{$EXTERNALSYM GL_POST_CONVOLUTION_BLUE_BIAS}
GL_POST_CONVOLUTION_ALPHA_BIAS = $8023;
{$EXTERNALSYM GL_POST_CONVOLUTION_ALPHA_BIAS}
// histogram GL 1.2 ARB imaging
GL_HISTOGRAM = $8024;
{$EXTERNALSYM GL_HISTOGRAM}
GL_PROXY_HISTOGRAM = $8025;
{$EXTERNALSYM GL_PROXY_HISTOGRAM}
GL_HISTOGRAM_WIDTH = $8026;
{$EXTERNALSYM GL_HISTOGRAM_WIDTH}
GL_HISTOGRAM_FORMAT = $8027;
{$EXTERNALSYM GL_HISTOGRAM_FORMAT}
GL_HISTOGRAM_RED_SIZE = $8028;
{$EXTERNALSYM GL_HISTOGRAM_RED_SIZE}
GL_HISTOGRAM_GREEN_SIZE = $8029;
{$EXTERNALSYM GL_HISTOGRAM_GREEN_SIZE}
GL_HISTOGRAM_BLUE_SIZE = $802A;
{$EXTERNALSYM GL_HISTOGRAM_BLUE_SIZE}
GL_HISTOGRAM_ALPHA_SIZE = $802B;
{$EXTERNALSYM GL_HISTOGRAM_ALPHA_SIZE}
GL_HISTOGRAM_LUMINANCE_SIZE = $802C;
{$EXTERNALSYM GL_HISTOGRAM_LUMINANCE_SIZE}
GL_HISTOGRAM_SINK = $802D;
{$EXTERNALSYM GL_HISTOGRAM_SINK}
GL_MINMAX = $802E;
{$EXTERNALSYM GL_MINMAX}
GL_MINMAX_FORMAT = $802F;
{$EXTERNALSYM GL_MINMAX_FORMAT}
GL_MINMAX_SINK = $8030;
{$EXTERNALSYM GL_MINMAX_SINK}
// buffers
GL_NONE = 0;
{$EXTERNALSYM GL_NONE}
GL_FRONT_LEFT = $0400;
{$EXTERNALSYM GL_FRONT_LEFT}
GL_FRONT_RIGHT = $0401;
{$EXTERNALSYM GL_FRONT_RIGHT}
GL_BACK_LEFT = $0402;
{$EXTERNALSYM GL_BACK_LEFT}
GL_BACK_RIGHT = $0403;
{$EXTERNALSYM GL_BACK_RIGHT}
GL_FRONT = $0404;
{$EXTERNALSYM GL_FRONT}
GL_BACK = $0405;
{$EXTERNALSYM GL_BACK}
GL_LEFT = $0406;
{$EXTERNALSYM GL_LEFT}
GL_RIGHT = $0407;
{$EXTERNALSYM GL_RIGHT}
GL_FRONT_AND_BACK = $0408;
{$EXTERNALSYM GL_FRONT_AND_BACK}
GL_AUX0 = $0409;
{$EXTERNALSYM GL_AUX0}
GL_AUX1 = $040A;
{$EXTERNALSYM GL_AUX1}
GL_AUX2 = $040B;
{$EXTERNALSYM GL_AUX2}
GL_AUX3 = $040C;
{$EXTERNALSYM GL_AUX3}
GL_AUX_BUFFERS = $0C00;
{$EXTERNALSYM GL_AUX_BUFFERS}
GL_DRAW_BUFFER = $0C01;
{$EXTERNALSYM GL_DRAW_BUFFER}
GL_READ_BUFFER = $0C02;
{$EXTERNALSYM GL_READ_BUFFER}
GL_DOUBLEBUFFER = $0C32;
{$EXTERNALSYM GL_DOUBLEBUFFER}
GL_STEREO = $0C33;
{$EXTERNALSYM GL_STEREO}
// depth buffer
GL_DEPTH_RANGE = $0B70;
{$EXTERNALSYM GL_DEPTH_RANGE}
GL_DEPTH_TEST = $0B71;
{$EXTERNALSYM GL_DEPTH_TEST}
GL_DEPTH_WRITEMASK = $0B72;
{$EXTERNALSYM GL_DEPTH_WRITEMASK}
GL_DEPTH_CLEAR_VALUE = $0B73;
{$EXTERNALSYM GL_DEPTH_CLEAR_VALUE}
GL_DEPTH_FUNC = $0B74;
{$EXTERNALSYM GL_DEPTH_FUNC}
GL_NEVER = $0200;
{$EXTERNALSYM GL_NEVER}
GL_LESS = $0201;
{$EXTERNALSYM GL_LESS}
GL_EQUAL = $0202;
{$EXTERNALSYM GL_EQUAL}
GL_LEQUAL = $0203;
{$EXTERNALSYM GL_LEQUAL}
GL_GREATER = $0204;
{$EXTERNALSYM GL_GREATER}
GL_NOTEQUAL = $0205;
{$EXTERNALSYM GL_NOTEQUAL}
GL_GEQUAL = $0206;
{$EXTERNALSYM GL_GEQUAL}
GL_ALWAYS = $0207;
{$EXTERNALSYM GL_ALWAYS}
// accumulation buffer
GL_ACCUM = $0100;
{$EXTERNALSYM GL_ACCUM}
GL_LOAD = $0101;
{$EXTERNALSYM GL_LOAD}
GL_RETURN = $0102;
{$EXTERNALSYM GL_RETURN}
GL_MULT = $0103;
{$EXTERNALSYM GL_MULT}
GL_ADD = $0104;
{$EXTERNALSYM GL_ADD}
GL_ACCUM_CLEAR_VALUE = $0B80;
{$EXTERNALSYM GL_ACCUM_CLEAR_VALUE}
// feedback buffer
GL_FEEDBACK_BUFFER_POINTER = $0DF0;
{$EXTERNALSYM GL_FEEDBACK_BUFFER_POINTER}
GL_FEEDBACK_BUFFER_SIZE = $0DF1;
{$EXTERNALSYM GL_FEEDBACK_BUFFER_SIZE}
GL_FEEDBACK_BUFFER_TYPE = $0DF2;
{$EXTERNALSYM GL_FEEDBACK_BUFFER_TYPE}
// feedback types
GL_2D = $0600;
{$EXTERNALSYM GL_2D}
GL_3D = $0601;
{$EXTERNALSYM GL_3D}
GL_3D_COLOR = $0602;
{$EXTERNALSYM GL_3D_COLOR}
GL_3D_COLOR_TEXTURE = $0603;
{$EXTERNALSYM GL_3D_COLOR_TEXTURE}
GL_4D_COLOR_TEXTURE = $0604;
{$EXTERNALSYM GL_4D_COLOR_TEXTURE}
// feedback tokens
GL_PASS_THROUGH_TOKEN = $0700;
{$EXTERNALSYM GL_PASS_THROUGH_TOKEN}
GL_POINT_TOKEN = $0701;
{$EXTERNALSYM GL_POINT_TOKEN}
GL_LINE_TOKEN = $0702;
{$EXTERNALSYM GL_LINE_TOKEN}
GL_POLYGON_TOKEN = $0703;
{$EXTERNALSYM GL_POLYGON_TOKEN}
GL_BITMAP_TOKEN = $0704;
{$EXTERNALSYM GL_BITMAP_TOKEN}
GL_DRAW_PIXEL_TOKEN = $0705;
{$EXTERNALSYM GL_DRAW_PIXEL_TOKEN}
GL_COPY_PIXEL_TOKEN = $0706;
{$EXTERNALSYM GL_COPY_PIXEL_TOKEN}
GL_LINE_RESET_TOKEN = $0707;
{$EXTERNALSYM GL_LINE_RESET_TOKEN}
// fog
GL_EXP = $0800;
{$EXTERNALSYM GL_EXP}
GL_EXP2 = $0801;
{$EXTERNALSYM GL_EXP2}
GL_FOG = $0B60;
{$EXTERNALSYM GL_FOG}
GL_FOG_INDEX = $0B61;
{$EXTERNALSYM GL_FOG_INDEX}
GL_FOG_DENSITY = $0B62;
{$EXTERNALSYM GL_FOG_DENSITY}
GL_FOG_START = $0B63;
{$EXTERNALSYM GL_FOG_START}
GL_FOG_END = $0B64;
{$EXTERNALSYM GL_FOG_END}
GL_FOG_MODE = $0B65;
{$EXTERNALSYM GL_FOG_MODE}
GL_FOG_COLOR = $0B66;
{$EXTERNALSYM GL_FOG_COLOR}
// pixel mode, transfer
GL_PIXEL_MAP_I_TO_I = $0C70;
{$EXTERNALSYM GL_PIXEL_MAP_I_TO_I}
GL_PIXEL_MAP_S_TO_S = $0C71;
{$EXTERNALSYM GL_PIXEL_MAP_S_TO_S}
GL_PIXEL_MAP_I_TO_R = $0C72;
{$EXTERNALSYM GL_PIXEL_MAP_I_TO_R}
GL_PIXEL_MAP_I_TO_G = $0C73;
{$EXTERNALSYM GL_PIXEL_MAP_I_TO_G}
GL_PIXEL_MAP_I_TO_B = $0C74;
{$EXTERNALSYM GL_PIXEL_MAP_I_TO_B}
GL_PIXEL_MAP_I_TO_A = $0C75;
{$EXTERNALSYM GL_PIXEL_MAP_I_TO_A}
GL_PIXEL_MAP_R_TO_R = $0C76;
{$EXTERNALSYM GL_PIXEL_MAP_R_TO_R}
GL_PIXEL_MAP_G_TO_G = $0C77;
{$EXTERNALSYM GL_PIXEL_MAP_G_TO_G}
GL_PIXEL_MAP_B_TO_B = $0C78;
{$EXTERNALSYM GL_PIXEL_MAP_B_TO_B}
GL_PIXEL_MAP_A_TO_A = $0C79;
{$EXTERNALSYM GL_PIXEL_MAP_A_TO_A}
// vertex arrays
GL_VERTEX_ARRAY_POINTER = $808E;
{$EXTERNALSYM GL_VERTEX_ARRAY_POINTER}
GL_NORMAL_ARRAY_POINTER = $808F;
{$EXTERNALSYM GL_NORMAL_ARRAY_POINTER}
GL_COLOR_ARRAY_POINTER = $8090;
{$EXTERNALSYM GL_COLOR_ARRAY_POINTER}
GL_INDEX_ARRAY_POINTER = $8091;
{$EXTERNALSYM GL_INDEX_ARRAY_POINTER}
GL_TEXTURE_COORD_ARRAY_POINTER = $8092;
{$EXTERNALSYM GL_TEXTURE_COORD_ARRAY_POINTER}
GL_EDGE_FLAG_ARRAY_POINTER = $8093;
{$EXTERNALSYM GL_EDGE_FLAG_ARRAY_POINTER}
// stenciling
GL_STENCIL_TEST = $0B90;
{$EXTERNALSYM GL_STENCIL_TEST}
GL_STENCIL_CLEAR_VALUE = $0B91;
{$EXTERNALSYM GL_STENCIL_CLEAR_VALUE}
GL_STENCIL_FUNC = $0B92;
{$EXTERNALSYM GL_STENCIL_FUNC}
GL_STENCIL_VALUE_MASK = $0B93;
{$EXTERNALSYM GL_STENCIL_VALUE_MASK}
GL_STENCIL_FAIL = $0B94;
{$EXTERNALSYM GL_STENCIL_FAIL}
GL_STENCIL_PASS_DEPTH_FAIL = $0B95;
{$EXTERNALSYM GL_STENCIL_PASS_DEPTH_FAIL}
GL_STENCIL_PASS_DEPTH_PASS = $0B96;
{$EXTERNALSYM GL_STENCIL_PASS_DEPTH_PASS}
GL_STENCIL_REF = $0B97;
{$EXTERNALSYM GL_STENCIL_REF}
GL_STENCIL_WRITEMASK = $0B98;
{$EXTERNALSYM GL_STENCIL_WRITEMASK}
GL_KEEP = $1E00;
{$EXTERNALSYM GL_KEEP}
GL_REPLACE = $1E01;
{$EXTERNALSYM GL_REPLACE}
GL_INCR = $1E02;
{$EXTERNALSYM GL_INCR}
GL_DECR = $1E03;
{$EXTERNALSYM GL_DECR}
// color material
GL_COLOR_MATERIAL_FACE = $0B55;
{$EXTERNALSYM GL_COLOR_MATERIAL_FACE}
GL_COLOR_MATERIAL_PARAMETER = $0B56;
{$EXTERNALSYM GL_COLOR_MATERIAL_PARAMETER}
GL_COLOR_MATERIAL = $0B57;
{$EXTERNALSYM GL_COLOR_MATERIAL}
// points
GL_POINT_SMOOTH = $0B10;
{$EXTERNALSYM GL_POINT_SMOOTH}
GL_POINT_SIZE = $0B11;
{$EXTERNALSYM GL_POINT_SIZE}
GL_POINT_SIZE_RANGE = $0B12;
{$EXTERNALSYM GL_POINT_SIZE_RANGE}
GL_POINT_SIZE_GRANULARITY = $0B13;
{$EXTERNALSYM GL_POINT_SIZE_GRANULARITY}
// lines
GL_LINE_SMOOTH = $0B20;
{$EXTERNALSYM GL_LINE_SMOOTH}
GL_LINE_WIDTH = $0B21;
{$EXTERNALSYM GL_LINE_WIDTH}
GL_LINE_WIDTH_RANGE = $0B22;
{$EXTERNALSYM GL_LINE_WIDTH_RANGE}
GL_LINE_WIDTH_GRANULARITY = $0B23;
{$EXTERNALSYM GL_LINE_WIDTH_GRANULARITY}
GL_LINE_STIPPLE = $0B24;
{$EXTERNALSYM GL_LINE_STIPPLE}
GL_LINE_STIPPLE_PATTERN = $0B25;
{$EXTERNALSYM GL_LINE_STIPPLE_PATTERN}
GL_LINE_STIPPLE_REPEAT = $0B26;
{$EXTERNALSYM GL_LINE_STIPPLE_REPEAT}
// polygons
GL_POLYGON_MODE = $0B40;
{$EXTERNALSYM GL_POLYGON_MODE}
GL_POLYGON_SMOOTH = $0B41;
{$EXTERNALSYM GL_POLYGON_SMOOTH}
GL_POLYGON_STIPPLE = $0B42;
{$EXTERNALSYM GL_POLYGON_STIPPLE}
GL_EDGE_FLAG = $0B43;
{$EXTERNALSYM GL_EDGE_FLAG}
GL_CULL_FACE = $0B44;
{$EXTERNALSYM GL_CULL_FACE}
GL_CULL_FACE_MODE = $0B45;
{$EXTERNALSYM GL_CULL_FACE_MODE}
GL_FRONT_FACE = $0B46;
{$EXTERNALSYM GL_FRONT_FACE}
GL_CW = $0900;
{$EXTERNALSYM GL_CW}
GL_CCW = $0901;
{$EXTERNALSYM GL_CCW}
GL_POINT = $1B00;
{$EXTERNALSYM GL_POINT}
GL_LINE = $1B01;
{$EXTERNALSYM GL_LINE}
GL_FILL = $1B02;
{$EXTERNALSYM GL_FILL}
// display lists
GL_LIST_MODE = $0B30;
{$EXTERNALSYM GL_LIST_MODE}
GL_LIST_BASE = $0B32;
{$EXTERNALSYM GL_LIST_BASE}
GL_LIST_INDEX = $0B33;
{$EXTERNALSYM GL_LIST_INDEX}
GL_COMPILE = $1300;
{$EXTERNALSYM GL_COMPILE}
GL_COMPILE_AND_EXECUTE = $1301;
{$EXTERNALSYM GL_COMPILE_AND_EXECUTE}
// lighting
GL_LIGHTING = $0B50;
{$EXTERNALSYM GL_LIGHTING}
GL_LIGHT_MODEL_LOCAL_VIEWER = $0B51;
{$EXTERNALSYM GL_LIGHT_MODEL_LOCAL_VIEWER}
GL_LIGHT_MODEL_TWO_SIDE = $0B52;
{$EXTERNALSYM GL_LIGHT_MODEL_TWO_SIDE}
GL_LIGHT_MODEL_AMBIENT = $0B53;
{$EXTERNALSYM GL_LIGHT_MODEL_AMBIENT}
GL_LIGHT_MODEL_COLOR_CONTROL = $81F8; // GL 1.2
{$EXTERNALSYM GL_LIGHT_MODEL_COLOR_CONTROL}
GL_SHADE_MODEL = $0B54;
{$EXTERNALSYM GL_SHADE_MODEL}
GL_NORMALIZE = $0BA1;
{$EXTERNALSYM GL_NORMALIZE}
GL_AMBIENT = $1200;
{$EXTERNALSYM GL_AMBIENT}
GL_DIFFUSE = $1201;
{$EXTERNALSYM GL_DIFFUSE}
GL_SPECULAR = $1202;
{$EXTERNALSYM GL_SPECULAR}
GL_POSITION = $1203;
{$EXTERNALSYM GL_POSITION}
GL_SPOT_DIRECTION = $1204;
{$EXTERNALSYM GL_SPOT_DIRECTION}
GL_SPOT_EXPONENT = $1205;
{$EXTERNALSYM GL_SPOT_EXPONENT}
GL_SPOT_CUTOFF = $1206;
{$EXTERNALSYM GL_SPOT_CUTOFF}
GL_CONSTANT_ATTENUATION = $1207;
{$EXTERNALSYM GL_CONSTANT_ATTENUATION}
GL_LINEAR_ATTENUATION = $1208;
{$EXTERNALSYM GL_LINEAR_ATTENUATION}
GL_QUADRATIC_ATTENUATION = $1209;
{$EXTERNALSYM GL_QUADRATIC_ATTENUATION}
GL_EMISSION = $1600;
{$EXTERNALSYM GL_EMISSION}
GL_SHININESS = $1601;
{$EXTERNALSYM GL_SHININESS}
GL_AMBIENT_AND_DIFFUSE = $1602;
{$EXTERNALSYM GL_AMBIENT_AND_DIFFUSE}
GL_COLOR_INDEXES = $1603;
{$EXTERNALSYM GL_COLOR_INDEXES}
GL_FLAT = $1D00;
{$EXTERNALSYM GL_FLAT}
GL_SMOOTH = $1D01;
{$EXTERNALSYM GL_SMOOTH}
GL_LIGHT0 = $4000;
{$EXTERNALSYM GL_LIGHT0}
GL_LIGHT1 = $4001;
{$EXTERNALSYM GL_LIGHT1}
GL_LIGHT2 = $4002;
{$EXTERNALSYM GL_LIGHT2}
GL_LIGHT3 = $4003;
{$EXTERNALSYM GL_LIGHT3}
GL_LIGHT4 = $4004;
{$EXTERNALSYM GL_LIGHT4}
GL_LIGHT5 = $4005;
{$EXTERNALSYM GL_LIGHT5}
GL_LIGHT6 = $4006;
{$EXTERNALSYM GL_LIGHT6}
GL_LIGHT7 = $4007;
{$EXTERNALSYM GL_LIGHT7}
// matrix modes
GL_MATRIX_MODE = $0BA0;
{$EXTERNALSYM GL_MATRIX_MODE}
GL_MODELVIEW = $1700;
{$EXTERNALSYM GL_MODELVIEW}
GL_PROJECTION = $1701;
{$EXTERNALSYM GL_PROJECTION}
GL_TEXTURE = $1702;
{$EXTERNALSYM GL_TEXTURE}
// gets
GL_CURRENT_COLOR = $0B00;
{$EXTERNALSYM GL_CURRENT_COLOR}
GL_CURRENT_INDEX = $0B01;
{$EXTERNALSYM GL_CURRENT_INDEX}
GL_CURRENT_NORMAL = $0B02;
{$EXTERNALSYM GL_CURRENT_NORMAL}
GL_CURRENT_TEXTURE_COORDS = $0B03;
{$EXTERNALSYM GL_CURRENT_TEXTURE_COORDS}
GL_CURRENT_RASTER_COLOR = $0B04;
{$EXTERNALSYM GL_CURRENT_RASTER_COLOR}
GL_CURRENT_RASTER_INDEX = $0B05;
{$EXTERNALSYM GL_CURRENT_RASTER_INDEX}
GL_CURRENT_RASTER_TEXTURE_COORDS = $0B06;
{$EXTERNALSYM GL_CURRENT_RASTER_TEXTURE_COORDS}
GL_CURRENT_RASTER_POSITION = $0B07;
{$EXTERNALSYM GL_CURRENT_RASTER_POSITION}
GL_CURRENT_RASTER_POSITION_VALID = $0B08;
{$EXTERNALSYM GL_CURRENT_RASTER_POSITION_VALID}
GL_CURRENT_RASTER_DISTANCE = $0B09;
{$EXTERNALSYM GL_CURRENT_RASTER_DISTANCE}
GL_MAX_LIST_NESTING = $0B31;
{$EXTERNALSYM GL_MAX_LIST_NESTING}
GL_VIEWPORT = $0BA2;
{$EXTERNALSYM GL_VIEWPORT}
GL_MODELVIEW_STACK_DEPTH = $0BA3;
{$EXTERNALSYM GL_MODELVIEW_STACK_DEPTH}
GL_PROJECTION_STACK_DEPTH = $0BA4;
{$EXTERNALSYM GL_PROJECTION_STACK_DEPTH}
GL_TEXTURE_STACK_DEPTH = $0BA5;
{$EXTERNALSYM GL_TEXTURE_STACK_DEPTH}
GL_MODELVIEW_MATRIX = $0BA6;
{$EXTERNALSYM GL_MODELVIEW_MATRIX}
GL_PROJECTION_MATRIX = $0BA7;
{$EXTERNALSYM GL_PROJECTION_MATRIX}
GL_TEXTURE_MATRIX = $0BA8;
{$EXTERNALSYM GL_TEXTURE_MATRIX}
GL_ATTRIB_STACK_DEPTH = $0BB0;
{$EXTERNALSYM GL_ATTRIB_STACK_DEPTH}
GL_CLIENT_ATTRIB_STACK_DEPTH = $0BB1;
{$EXTERNALSYM GL_CLIENT_ATTRIB_STACK_DEPTH}
GL_SINGLE_COLOR = $81F9; // GL 1.2
{$EXTERNALSYM GL_SINGLE_COLOR}
GL_SEPARATE_SPECULAR_COLOR = $81FA; // GL 1.2
{$EXTERNALSYM GL_SEPARATE_SPECULAR_COLOR}
// alpha testing
GL_ALPHA_TEST = $0BC0;
{$EXTERNALSYM GL_ALPHA_TEST}
GL_ALPHA_TEST_FUNC = $0BC1;
{$EXTERNALSYM GL_ALPHA_TEST_FUNC}
GL_ALPHA_TEST_REF = $0BC2;
{$EXTERNALSYM GL_ALPHA_TEST_REF}
GL_LOGIC_OP_MODE = $0BF0;
{$EXTERNALSYM GL_LOGIC_OP_MODE}
GL_INDEX_LOGIC_OP = $0BF1;
{$EXTERNALSYM GL_INDEX_LOGIC_OP}
GL_LOGIC_OP = $0BF1;
{$EXTERNALSYM GL_LOGIC_OP}
GL_COLOR_LOGIC_OP = $0BF2;
{$EXTERNALSYM GL_COLOR_LOGIC_OP}
GL_SCISSOR_BOX = $0C10;
{$EXTERNALSYM GL_SCISSOR_BOX}
GL_SCISSOR_TEST = $0C11;
{$EXTERNALSYM GL_SCISSOR_TEST}
GL_INDEX_CLEAR_VALUE = $0C20;
{$EXTERNALSYM GL_INDEX_CLEAR_VALUE}
GL_INDEX_WRITEMASK = $0C21;
{$EXTERNALSYM GL_INDEX_WRITEMASK}
GL_COLOR_CLEAR_VALUE = $0C22;
{$EXTERNALSYM GL_COLOR_CLEAR_VALUE}
GL_COLOR_WRITEMASK = $0C23;
{$EXTERNALSYM GL_COLOR_WRITEMASK}
GL_INDEX_MODE = $0C30;
{$EXTERNALSYM GL_INDEX_MODE}
GL_RGBA_MODE = $0C31;
{$EXTERNALSYM GL_RGBA_MODE}
GL_RENDER_MODE = $0C40;
{$EXTERNALSYM GL_RENDER_MODE}
GL_PERSPECTIVE_CORRECTION_HINT = $0C50;
{$EXTERNALSYM GL_PERSPECTIVE_CORRECTION_HINT}
GL_POINT_SMOOTH_HINT = $0C51;
{$EXTERNALSYM GL_POINT_SMOOTH_HINT}
GL_LINE_SMOOTH_HINT = $0C52;
{$EXTERNALSYM GL_LINE_SMOOTH_HINT}
GL_POLYGON_SMOOTH_HINT = $0C53;
{$EXTERNALSYM GL_POLYGON_SMOOTH_HINT}
GL_FOG_HINT = $0C54;
{$EXTERNALSYM GL_FOG_HINT}
GL_TEXTURE_GEN_S = $0C60;
{$EXTERNALSYM GL_TEXTURE_GEN_S}
GL_TEXTURE_GEN_T = $0C61;
{$EXTERNALSYM GL_TEXTURE_GEN_T}
GL_TEXTURE_GEN_R = $0C62;
{$EXTERNALSYM GL_TEXTURE_GEN_R}
GL_TEXTURE_GEN_Q = $0C63;
{$EXTERNALSYM GL_TEXTURE_GEN_Q}
GL_PIXEL_MAP_I_TO_I_SIZE = $0CB0;
{$EXTERNALSYM GL_PIXEL_MAP_I_TO_I_SIZE}
GL_PIXEL_MAP_S_TO_S_SIZE = $0CB1;
{$EXTERNALSYM GL_PIXEL_MAP_S_TO_S_SIZE}
GL_PIXEL_MAP_I_TO_R_SIZE = $0CB2;
{$EXTERNALSYM GL_PIXEL_MAP_I_TO_R_SIZE}
GL_PIXEL_MAP_I_TO_G_SIZE = $0CB3;
{$EXTERNALSYM GL_PIXEL_MAP_I_TO_G_SIZE}
GL_PIXEL_MAP_I_TO_B_SIZE = $0CB4;
{$EXTERNALSYM GL_PIXEL_MAP_I_TO_B_SIZE}
GL_PIXEL_MAP_I_TO_A_SIZE = $0CB5;
{$EXTERNALSYM GL_PIXEL_MAP_I_TO_A_SIZE}
GL_PIXEL_MAP_R_TO_R_SIZE = $0CB6;
{$EXTERNALSYM GL_PIXEL_MAP_R_TO_R_SIZE}
GL_PIXEL_MAP_G_TO_G_SIZE = $0CB7;
{$EXTERNALSYM GL_PIXEL_MAP_G_TO_G_SIZE}
GL_PIXEL_MAP_B_TO_B_SIZE = $0CB8;
{$EXTERNALSYM GL_PIXEL_MAP_B_TO_B_SIZE}
GL_PIXEL_MAP_A_TO_A_SIZE = $0CB9;
{$EXTERNALSYM GL_PIXEL_MAP_A_TO_A_SIZE}
GL_UNPACK_SWAP_BYTES = $0CF0;
{$EXTERNALSYM GL_UNPACK_SWAP_BYTES}
GL_UNPACK_LSB_FIRST = $0CF1;
{$EXTERNALSYM GL_UNPACK_LSB_FIRST}
GL_UNPACK_ROW_LENGTH = $0CF2;
{$EXTERNALSYM GL_UNPACK_ROW_LENGTH}
GL_UNPACK_SKIP_ROWS = $0CF3;
{$EXTERNALSYM GL_UNPACK_SKIP_ROWS}
GL_UNPACK_SKIP_PIXELS = $0CF4;
{$EXTERNALSYM GL_UNPACK_SKIP_PIXELS}
GL_UNPACK_ALIGNMENT = $0CF5;
{$EXTERNALSYM GL_UNPACK_ALIGNMENT}
GL_PACK_SWAP_BYTES = $0D00;
{$EXTERNALSYM GL_PACK_SWAP_BYTES}
GL_PACK_LSB_FIRST = $0D01;
{$EXTERNALSYM GL_PACK_LSB_FIRST}
GL_PACK_ROW_LENGTH = $0D02;
{$EXTERNALSYM GL_PACK_ROW_LENGTH}
GL_PACK_SKIP_ROWS = $0D03;
{$EXTERNALSYM GL_PACK_SKIP_ROWS}
GL_PACK_SKIP_PIXELS = $0D04;
{$EXTERNALSYM GL_PACK_SKIP_PIXELS}
GL_PACK_ALIGNMENT = $0D05;
{$EXTERNALSYM GL_PACK_ALIGNMENT}
GL_PACK_SKIP_IMAGES = $806B; // GL 1.2
{$EXTERNALSYM GL_PACK_SKIP_IMAGES}
GL_PACK_IMAGE_HEIGHT = $806C; // GL 1.2
{$EXTERNALSYM GL_PACK_IMAGE_HEIGHT}
GL_UNPACK_SKIP_IMAGES = $806D; // GL 1.2
{$EXTERNALSYM GL_UNPACK_SKIP_IMAGES}
GL_UNPACK_IMAGE_HEIGHT = $806E; // GL 1.2
{$EXTERNALSYM GL_UNPACK_IMAGE_HEIGHT}
GL_MAP_COLOR = $0D10;
{$EXTERNALSYM GL_MAP_COLOR}
GL_MAP_STENCIL = $0D11;
{$EXTERNALSYM GL_MAP_STENCIL}
GL_INDEX_SHIFT = $0D12;
{$EXTERNALSYM GL_INDEX_SHIFT}
GL_INDEX_OFFSET = $0D13;
{$EXTERNALSYM GL_INDEX_OFFSET}
GL_RED_SCALE = $0D14;
{$EXTERNALSYM GL_RED_SCALE}
GL_RED_BIAS = $0D15;
{$EXTERNALSYM GL_RED_BIAS}
GL_ZOOM_X = $0D16;
{$EXTERNALSYM GL_ZOOM_X}
GL_ZOOM_Y = $0D17;
{$EXTERNALSYM GL_ZOOM_Y}
GL_GREEN_SCALE = $0D18;
{$EXTERNALSYM GL_GREEN_SCALE}
GL_GREEN_BIAS = $0D19;
{$EXTERNALSYM GL_GREEN_BIAS}
GL_BLUE_SCALE = $0D1A;
{$EXTERNALSYM GL_BLUE_SCALE}
GL_BLUE_BIAS = $0D1B;
{$EXTERNALSYM GL_BLUE_BIAS}
GL_ALPHA_SCALE = $0D1C;
{$EXTERNALSYM GL_ALPHA_SCALE}
GL_ALPHA_BIAS = $0D1D;
{$EXTERNALSYM GL_ALPHA_BIAS}
GL_DEPTH_SCALE = $0D1E;
{$EXTERNALSYM GL_DEPTH_SCALE}
GL_DEPTH_BIAS = $0D1F;
{$EXTERNALSYM GL_DEPTH_BIAS}
GL_MAX_EVAL_ORDER = $0D30;
{$EXTERNALSYM GL_MAX_EVAL_ORDER}
GL_MAX_LIGHTS = $0D31;
{$EXTERNALSYM GL_MAX_LIGHTS}
GL_MAX_CLIP_PLANES = $0D32;
{$EXTERNALSYM GL_MAX_CLIP_PLANES}
GL_MAX_TEXTURE_SIZE = $0D33;
{$EXTERNALSYM GL_MAX_TEXTURE_SIZE}
GL_MAX_3D_TEXTURE_SIZE = $8073; // GL 1.2
{$EXTERNALSYM GL_MAX_3D_TEXTURE_SIZE}
GL_MAX_PIXEL_MAP_TABLE = $0D34;
{$EXTERNALSYM GL_MAX_PIXEL_MAP_TABLE}
GL_MAX_ATTRIB_STACK_DEPTH = $0D35;
{$EXTERNALSYM GL_MAX_ATTRIB_STACK_DEPTH}
GL_MAX_MODELVIEW_STACK_DEPTH = $0D36;
{$EXTERNALSYM GL_MAX_MODELVIEW_STACK_DEPTH}
GL_MAX_NAME_STACK_DEPTH = $0D37;
{$EXTERNALSYM GL_MAX_NAME_STACK_DEPTH}
GL_MAX_PROJECTION_STACK_DEPTH = $0D38;
{$EXTERNALSYM GL_MAX_PROJECTION_STACK_DEPTH}
GL_MAX_TEXTURE_STACK_DEPTH = $0D39;
{$EXTERNALSYM GL_MAX_TEXTURE_STACK_DEPTH}
GL_MAX_VIEWPORT_DIMS = $0D3A;
{$EXTERNALSYM GL_MAX_VIEWPORT_DIMS}
GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = $0D3B;
{$EXTERNALSYM GL_MAX_CLIENT_ATTRIB_STACK_DEPTH}
GL_MAX_ELEMENTS_VERTICES = $80E8; // GL 1.2
{$EXTERNALSYM GL_MAX_ELEMENTS_VERTICES}
GL_MAX_ELEMENTS_INDICES = $80E9; // GL 1.2
{$EXTERNALSYM GL_MAX_ELEMENTS_INDICES}
GL_RESCALE_NORMAL = $803A; // GL 1.2
{$EXTERNALSYM GL_RESCALE_NORMAL}
GL_SUBPIXEL_BITS = $0D50;
{$EXTERNALSYM GL_SUBPIXEL_BITS}
GL_INDEX_BITS = $0D51;
{$EXTERNALSYM GL_INDEX_BITS}
GL_RED_BITS = $0D52;
{$EXTERNALSYM GL_RED_BITS}
GL_GREEN_BITS = $0D53;
{$EXTERNALSYM GL_GREEN_BITS}
GL_BLUE_BITS = $0D54;
{$EXTERNALSYM GL_BLUE_BITS}
GL_ALPHA_BITS = $0D55;
{$EXTERNALSYM GL_ALPHA_BITS}
GL_DEPTH_BITS = $0D56;
{$EXTERNALSYM GL_DEPTH_BITS}
GL_STENCIL_BITS = $0D57;
{$EXTERNALSYM GL_STENCIL_BITS}
GL_ACCUM_RED_BITS = $0D58;
{$EXTERNALSYM GL_ACCUM_RED_BITS}
GL_ACCUM_GREEN_BITS = $0D59;
{$EXTERNALSYM GL_ACCUM_GREEN_BITS}
GL_ACCUM_BLUE_BITS = $0D5A;
{$EXTERNALSYM GL_ACCUM_BLUE_BITS}
GL_ACCUM_ALPHA_BITS = $0D5B;
{$EXTERNALSYM GL_ACCUM_ALPHA_BITS}
GL_NAME_STACK_DEPTH = $0D70;
{$EXTERNALSYM GL_NAME_STACK_DEPTH}
GL_AUTO_NORMAL = $0D80;
{$EXTERNALSYM GL_AUTO_NORMAL}
GL_MAP1_COLOR_4 = $0D90;
{$EXTERNALSYM GL_MAP1_COLOR_4}
GL_MAP1_INDEX = $0D91;
{$EXTERNALSYM GL_MAP1_INDEX}
GL_MAP1_NORMAL = $0D92;
{$EXTERNALSYM GL_MAP1_NORMAL}
GL_MAP1_TEXTURE_COORD_1 = $0D93;
{$EXTERNALSYM GL_MAP1_TEXTURE_COORD_1}
GL_MAP1_TEXTURE_COORD_2 = $0D94;
{$EXTERNALSYM GL_MAP1_TEXTURE_COORD_2}
GL_MAP1_TEXTURE_COORD_3 = $0D95;
{$EXTERNALSYM GL_MAP1_TEXTURE_COORD_3}
GL_MAP1_TEXTURE_COORD_4 = $0D96;
{$EXTERNALSYM GL_MAP1_TEXTURE_COORD_4}
GL_MAP1_VERTEX_3 = $0D97;
{$EXTERNALSYM GL_MAP1_VERTEX_3}
GL_MAP1_VERTEX_4 = $0D98;
{$EXTERNALSYM GL_MAP1_VERTEX_4}
GL_MAP2_COLOR_4 = $0DB0;
{$EXTERNALSYM GL_MAP2_COLOR_4}
GL_MAP2_INDEX = $0DB1;
{$EXTERNALSYM GL_MAP2_INDEX}
GL_MAP2_NORMAL = $0DB2;
{$EXTERNALSYM GL_MAP2_NORMAL}
GL_MAP2_TEXTURE_COORD_1 = $0DB3;
{$EXTERNALSYM GL_MAP2_TEXTURE_COORD_1}
GL_MAP2_TEXTURE_COORD_2 = $0DB4;
{$EXTERNALSYM GL_MAP2_TEXTURE_COORD_2}
GL_MAP2_TEXTURE_COORD_3 = $0DB5;
{$EXTERNALSYM GL_MAP2_TEXTURE_COORD_3}
GL_MAP2_TEXTURE_COORD_4 = $0DB6;
{$EXTERNALSYM GL_MAP2_TEXTURE_COORD_4}
GL_MAP2_VERTEX_3 = $0DB7;
{$EXTERNALSYM GL_MAP2_VERTEX_3}
GL_MAP2_VERTEX_4 = $0DB8;
{$EXTERNALSYM GL_MAP2_VERTEX_4}
GL_MAP1_GRID_DOMAIN = $0DD0;
{$EXTERNALSYM GL_MAP1_GRID_DOMAIN}
GL_MAP1_GRID_SEGMENTS = $0DD1;
{$EXTERNALSYM GL_MAP1_GRID_SEGMENTS}
GL_MAP2_GRID_DOMAIN = $0DD2;
{$EXTERNALSYM GL_MAP2_GRID_DOMAIN}
GL_MAP2_GRID_SEGMENTS = $0DD3;
{$EXTERNALSYM GL_MAP2_GRID_SEGMENTS}
GL_TEXTURE_1D = $0DE0;
{$EXTERNALSYM GL_TEXTURE_1D}
GL_TEXTURE_2D = $0DE1;
{$EXTERNALSYM GL_TEXTURE_2D}
GL_TEXTURE_3D = $806F; // GL 1.2
{$EXTERNALSYM GL_TEXTURE_3D}
GL_SELECTION_BUFFER_POINTER = $0DF3;
{$EXTERNALSYM GL_SELECTION_BUFFER_POINTER}
GL_SELECTION_BUFFER_SIZE = $0DF4;
{$EXTERNALSYM GL_SELECTION_BUFFER_SIZE}
GL_POLYGON_OFFSET_UNITS = $2A00;
{$EXTERNALSYM GL_POLYGON_OFFSET_UNITS}
GL_POLYGON_OFFSET_POINT = $2A01;
{$EXTERNALSYM GL_POLYGON_OFFSET_POINT}
GL_POLYGON_OFFSET_LINE = $2A02;
{$EXTERNALSYM GL_POLYGON_OFFSET_LINE}
GL_POLYGON_OFFSET_FILL = $8037;
{$EXTERNALSYM GL_POLYGON_OFFSET_FILL}
GL_POLYGON_OFFSET_FACTOR = $8038;
{$EXTERNALSYM GL_POLYGON_OFFSET_FACTOR}
GL_TEXTURE_BINDING_1D = $8068;
{$EXTERNALSYM GL_TEXTURE_BINDING_1D}
GL_TEXTURE_BINDING_2D = $8069;
{$EXTERNALSYM GL_TEXTURE_BINDING_2D}
GL_VERTEX_ARRAY = $8074;
{$EXTERNALSYM GL_VERTEX_ARRAY}
GL_NORMAL_ARRAY = $8075;
{$EXTERNALSYM GL_NORMAL_ARRAY}
GL_COLOR_ARRAY = $8076;
{$EXTERNALSYM GL_COLOR_ARRAY}
GL_INDEX_ARRAY = $8077;
{$EXTERNALSYM GL_INDEX_ARRAY}
GL_TEXTURE_COORD_ARRAY = $8078;
{$EXTERNALSYM GL_TEXTURE_COORD_ARRAY}
GL_EDGE_FLAG_ARRAY = $8079;
{$EXTERNALSYM GL_EDGE_FLAG_ARRAY}
GL_VERTEX_ARRAY_SIZE = $807A;
{$EXTERNALSYM GL_VERTEX_ARRAY_SIZE}
GL_VERTEX_ARRAY_TYPE = $807B;
{$EXTERNALSYM GL_VERTEX_ARRAY_TYPE}
GL_VERTEX_ARRAY_STRIDE = $807C;
{$EXTERNALSYM GL_VERTEX_ARRAY_STRIDE}
GL_NORMAL_ARRAY_TYPE = $807E;
{$EXTERNALSYM GL_NORMAL_ARRAY_TYPE}
GL_NORMAL_ARRAY_STRIDE = $807F;
{$EXTERNALSYM GL_NORMAL_ARRAY_STRIDE}
GL_COLOR_ARRAY_SIZE = $8081;
{$EXTERNALSYM GL_COLOR_ARRAY_SIZE}
GL_COLOR_ARRAY_TYPE = $8082;
{$EXTERNALSYM GL_COLOR_ARRAY_TYPE}
GL_COLOR_ARRAY_STRIDE = $8083;
{$EXTERNALSYM GL_COLOR_ARRAY_STRIDE}
GL_INDEX_ARRAY_TYPE = $8085;
{$EXTERNALSYM GL_INDEX_ARRAY_TYPE}
GL_INDEX_ARRAY_STRIDE = $8086;
{$EXTERNALSYM GL_INDEX_ARRAY_STRIDE}
GL_TEXTURE_COORD_ARRAY_SIZE = $8088;
{$EXTERNALSYM GL_TEXTURE_COORD_ARRAY_SIZE}
GL_TEXTURE_COORD_ARRAY_TYPE = $8089;
{$EXTERNALSYM GL_TEXTURE_COORD_ARRAY_TYPE}
GL_TEXTURE_COORD_ARRAY_STRIDE = $808A;
{$EXTERNALSYM GL_TEXTURE_COORD_ARRAY_STRIDE}
GL_EDGE_FLAG_ARRAY_STRIDE = $808C;
{$EXTERNALSYM GL_EDGE_FLAG_ARRAY_STRIDE}
GL_COLOR_MATRIX = $80B1; // GL 1.2 ARB imaging
{$EXTERNALSYM GL_COLOR_MATRIX}
GL_COLOR_MATRIX_STACK_DEPTH = $80B2; // GL 1.2 ARB imaging
{$EXTERNALSYM GL_COLOR_MATRIX_STACK_DEPTH}
GL_MAX_COLOR_MATRIX_STACK_DEPTH = $80B3; // GL 1.2 ARB imaging
{$EXTERNALSYM GL_MAX_COLOR_MATRIX_STACK_DEPTH}
GL_POST_COLOR_MATRIX_RED_SCALE = $80B4; // GL 1.2 ARB imaging
{$EXTERNALSYM GL_POST_COLOR_MATRIX_RED_SCALE}
GL_POST_COLOR_MATRIX_GREEN_SCALE = $80B5; // GL 1.2 ARB imaging
{$EXTERNALSYM GL_POST_COLOR_MATRIX_GREEN_SCALE}
GL_POST_COLOR_MATRIX_BLUE_SCALE = $80B6; // GL 1.2 ARB imaging
{$EXTERNALSYM GL_POST_COLOR_MATRIX_BLUE_SCALE}
GL_POST_COLOR_MATRIX_ALPHA_SCALE = $80B7; // GL 1.2 ARB imaging
{$EXTERNALSYM GL_POST_COLOR_MATRIX_ALPHA_SCALE}
GL_POST_COLOR_MATRIX_RED_BIAS = $80B8; // GL 1.2 ARB imaging
{$EXTERNALSYM GL_POST_COLOR_MATRIX_RED_BIAS}
GL_POST_COLOR_MATRIX_GREEN_BIAS = $80B9; // GL 1.2 ARB imaging
{$EXTERNALSYM GL_POST_COLOR_MATRIX_GREEN_BIAS}
GL_POST_COLOR_MATRIX_BLUE_BIAS = $80BA; // GL 1.2 ARB imaging
{$EXTERNALSYM GL_POST_COLOR_MATRIX_BLUE_BIAS}
GL_POST_COLOR_MATRIX_ALPHA_BIAS = $80BB; // GL 1.2 ARB imaging
{$EXTERNALSYM GL_POST_COLOR_MATRIX_ALPHA_BIAS}
// evaluators
GL_COEFF = $0A00;
{$EXTERNALSYM GL_COEFF}
GL_ORDER = $0A01;
{$EXTERNALSYM GL_ORDER}
GL_DOMAIN = $0A02;
{$EXTERNALSYM GL_DOMAIN}
// texture mapping
GL_TEXTURE_WIDTH = $1000;
{$EXTERNALSYM GL_TEXTURE_WIDTH}
GL_TEXTURE_HEIGHT = $1001;
{$EXTERNALSYM GL_TEXTURE_HEIGHT}
GL_TEXTURE_INTERNAL_FORMAT = $1003;
{$EXTERNALSYM GL_TEXTURE_INTERNAL_FORMAT}
GL_TEXTURE_COMPONENTS = $1003;
{$EXTERNALSYM GL_TEXTURE_COMPONENTS}
GL_TEXTURE_BORDER_COLOR = $1004;
{$EXTERNALSYM GL_TEXTURE_BORDER_COLOR}
GL_TEXTURE_BORDER = $1005;
{$EXTERNALSYM GL_TEXTURE_BORDER}
GL_TEXTURE_RED_SIZE = $805C;
{$EXTERNALSYM GL_TEXTURE_RED_SIZE}
GL_TEXTURE_GREEN_SIZE = $805D;
{$EXTERNALSYM GL_TEXTURE_GREEN_SIZE}
GL_TEXTURE_BLUE_SIZE = $805E;
{$EXTERNALSYM GL_TEXTURE_BLUE_SIZE}
GL_TEXTURE_ALPHA_SIZE = $805F;
{$EXTERNALSYM GL_TEXTURE_ALPHA_SIZE}
GL_TEXTURE_LUMINANCE_SIZE = $8060;
{$EXTERNALSYM GL_TEXTURE_LUMINANCE_SIZE}
GL_TEXTURE_INTENSITY_SIZE = $8061;
{$EXTERNALSYM GL_TEXTURE_INTENSITY_SIZE}
GL_TEXTURE_PRIORITY = $8066;
{$EXTERNALSYM GL_TEXTURE_PRIORITY}
GL_TEXTURE_RESIDENT = $8067;
{$EXTERNALSYM GL_TEXTURE_RESIDENT}
GL_BGR = $80E0; // v 1.2
{$EXTERNALSYM GL_BGR}
GL_BGRA = $80E1; // v 1.2
{$EXTERNALSYM GL_BGRA}
GL_S = $2000;
{$EXTERNALSYM GL_S}
GL_T = $2001;
{$EXTERNALSYM GL_T}
GL_R = $2002;
{$EXTERNALSYM GL_R}
GL_Q = $2003;
{$EXTERNALSYM GL_Q}
GL_MODULATE = $2100;
{$EXTERNALSYM GL_MODULATE}
GL_DECAL = $2101;
{$EXTERNALSYM GL_DECAL}
GL_TEXTURE_ENV_MODE = $2200;
{$EXTERNALSYM GL_TEXTURE_ENV_MODE}
GL_TEXTURE_ENV_COLOR = $2201;
{$EXTERNALSYM GL_TEXTURE_ENV_COLOR}
GL_TEXTURE_ENV = $2300;
{$EXTERNALSYM GL_TEXTURE_ENV}
GL_EYE_LINEAR = $2400;
{$EXTERNALSYM GL_EYE_LINEAR}
GL_OBJECT_LINEAR = $2401;
{$EXTERNALSYM GL_OBJECT_LINEAR}
GL_SPHERE_MAP = $2402;
{$EXTERNALSYM GL_SPHERE_MAP}
GL_TEXTURE_GEN_MODE = $2500;
{$EXTERNALSYM GL_TEXTURE_GEN_MODE}
GL_OBJECT_PLANE = $2501;
{$EXTERNALSYM GL_OBJECT_PLANE}
GL_EYE_PLANE = $2502;
{$EXTERNALSYM GL_EYE_PLANE}
GL_NEAREST = $2600;
{$EXTERNALSYM GL_NEAREST}
GL_LINEAR = $2601;
{$EXTERNALSYM GL_LINEAR}
GL_NEAREST_MIPMAP_NEAREST = $2700;
{$EXTERNALSYM GL_NEAREST_MIPMAP_NEAREST}
GL_LINEAR_MIPMAP_NEAREST = $2701;
{$EXTERNALSYM GL_LINEAR_MIPMAP_NEAREST}
GL_NEAREST_MIPMAP_LINEAR = $2702;
{$EXTERNALSYM GL_NEAREST_MIPMAP_LINEAR}
GL_LINEAR_MIPMAP_LINEAR = $2703;
{$EXTERNALSYM GL_LINEAR_MIPMAP_LINEAR}
GL_TEXTURE_MAG_FILTER = $2800;
{$EXTERNALSYM GL_TEXTURE_MAG_FILTER}
GL_TEXTURE_MIN_FILTER = $2801;
{$EXTERNALSYM GL_TEXTURE_MIN_FILTER}
GL_TEXTURE_WRAP_R = $8072; // GL 1.2
{$EXTERNALSYM GL_TEXTURE_WRAP_R}
GL_TEXTURE_WRAP_S = $2802;
{$EXTERNALSYM GL_TEXTURE_WRAP_S}
GL_TEXTURE_WRAP_T = $2803;
{$EXTERNALSYM GL_TEXTURE_WRAP_T}
GL_CLAMP_TO_EDGE = $812F; // GL 1.2
{$EXTERNALSYM GL_CLAMP_TO_EDGE}
GL_TEXTURE_MIN_LOD = $813A; // GL 1.2
{$EXTERNALSYM GL_TEXTURE_MIN_LOD}
GL_TEXTURE_MAX_LOD = $813B; // GL 1.2
{$EXTERNALSYM GL_TEXTURE_MAX_LOD}
GL_TEXTURE_BASE_LEVEL = $813C; // GL 1.2
{$EXTERNALSYM GL_TEXTURE_BASE_LEVEL}
GL_TEXTURE_MAX_LEVEL = $813D; // GL 1.2
{$EXTERNALSYM GL_TEXTURE_MAX_LEVEL}
GL_TEXTURE_DEPTH = $8071; // GL 1.2
{$EXTERNALSYM GL_TEXTURE_DEPTH}
GL_PROXY_TEXTURE_1D = $8063;
{$EXTERNALSYM GL_PROXY_TEXTURE_1D}
GL_PROXY_TEXTURE_2D = $8064;
{$EXTERNALSYM GL_PROXY_TEXTURE_2D}
GL_PROXY_TEXTURE_3D = $8070; // GL 1.2
{$EXTERNALSYM GL_PROXY_TEXTURE_3D}
GL_CLAMP = $2900;
{$EXTERNALSYM GL_CLAMP}
GL_REPEAT = $2901;
{$EXTERNALSYM GL_REPEAT}
// hints
GL_DONT_CARE = $1100;
{$EXTERNALSYM GL_DONT_CARE}
GL_FASTEST = $1101;
{$EXTERNALSYM GL_FASTEST}
GL_NICEST = $1102;
{$EXTERNALSYM GL_NICEST}
// data types
GL_BYTE = $1400;
{$EXTERNALSYM GL_BYTE}
GL_UNSIGNED_BYTE = $1401;
{$EXTERNALSYM GL_UNSIGNED_BYTE}
GL_SHORT = $1402;
{$EXTERNALSYM GL_SHORT}
GL_UNSIGNED_SHORT = $1403;
{$EXTERNALSYM GL_UNSIGNED_SHORT}
GL_INT = $1404;
{$EXTERNALSYM GL_INT}
GL_UNSIGNED_INT = $1405;
{$EXTERNALSYM GL_UNSIGNED_INT}
GL_FLOAT = $1406;
{$EXTERNALSYM GL_FLOAT}
GL_2_BYTES = $1407;
{$EXTERNALSYM GL_2_BYTES}
GL_3_BYTES = $1408;
{$EXTERNALSYM GL_3_BYTES}
GL_4_BYTES = $1409;
{$EXTERNALSYM GL_4_BYTES}
GL_DOUBLE = $140A;
{$EXTERNALSYM GL_DOUBLE}
GL_DOUBLE_EXT = $140A;
{$EXTERNALSYM GL_DOUBLE_EXT}
// logic operations
GL_CLEAR = $1500;
{$EXTERNALSYM GL_CLEAR}
GL_AND = $1501;
{$EXTERNALSYM GL_AND}
GL_AND_REVERSE = $1502;
{$EXTERNALSYM GL_AND_REVERSE}
GL_COPY = $1503;
{$EXTERNALSYM GL_COPY}
GL_AND_INVERTED = $1504;
{$EXTERNALSYM GL_AND_INVERTED}
GL_NOOP = $1505;
{$EXTERNALSYM GL_NOOP}
GL_XOR = $1506;
{$EXTERNALSYM GL_XOR}
GL_OR = $1507;
{$EXTERNALSYM GL_OR}
GL_NOR = $1508;
{$EXTERNALSYM GL_NOR}
GL_EQUIV = $1509;
{$EXTERNALSYM GL_EQUIV}
GL_INVERT = $150A;
{$EXTERNALSYM GL_INVERT}
GL_OR_REVERSE = $150B;
{$EXTERNALSYM GL_OR_REVERSE}
GL_COPY_INVERTED = $150C;
{$EXTERNALSYM GL_COPY_INVERTED}
GL_OR_INVERTED = $150D;
{$EXTERNALSYM GL_OR_INVERTED}
GL_NAND = $150E;
{$EXTERNALSYM GL_NAND}
GL_SET = $150F;
{$EXTERNALSYM GL_SET}
// PixelCopyType
GL_COLOR = $1800;
{$EXTERNALSYM GL_COLOR}
GL_DEPTH = $1801;
{$EXTERNALSYM GL_DEPTH}
GL_STENCIL = $1802;
{$EXTERNALSYM GL_STENCIL}
// pixel formats
GL_COLOR_INDEX = $1900;
{$EXTERNALSYM GL_COLOR_INDEX}
GL_STENCIL_INDEX = $1901;
{$EXTERNALSYM GL_STENCIL_INDEX}
GL_DEPTH_COMPONENT = $1902;
{$EXTERNALSYM GL_DEPTH_COMPONENT}
GL_RED = $1903;
{$EXTERNALSYM GL_RED}
GL_GREEN = $1904;
{$EXTERNALSYM GL_GREEN}
GL_BLUE = $1905;
{$EXTERNALSYM GL_BLUE}
GL_ALPHA = $1906;
{$EXTERNALSYM GL_ALPHA}
GL_RGB = $1907;
{$EXTERNALSYM GL_RGB}
GL_RGBA = $1908;
{$EXTERNALSYM GL_RGBA}
GL_LUMINANCE = $1909;
{$EXTERNALSYM GL_LUMINANCE}
GL_LUMINANCE_ALPHA = $190A;
{$EXTERNALSYM GL_LUMINANCE_ALPHA}
// pixel type
GL_BITMAP = $1A00;
{$EXTERNALSYM GL_BITMAP}
// rendering modes
GL_RENDER = $1C00;
{$EXTERNALSYM GL_RENDER}
GL_FEEDBACK = $1C01;
{$EXTERNALSYM GL_FEEDBACK}
GL_SELECT = $1C02;
{$EXTERNALSYM GL_SELECT}
// implementation strings
GL_VENDOR = $1F00;
{$EXTERNALSYM GL_VENDOR}
GL_RENDERER = $1F01;
{$EXTERNALSYM GL_RENDERER}
GL_VERSION = $1F02;
{$EXTERNALSYM GL_VERSION}
GL_EXTENSIONS = $1F03;
{$EXTERNALSYM GL_EXTENSIONS}
// pixel formats
GL_R3_G3_B2 = $2A10;
{$EXTERNALSYM GL_R3_G3_B2}
GL_ALPHA4 = $803B;
{$EXTERNALSYM GL_ALPHA4}
GL_ALPHA8 = $803C;
{$EXTERNALSYM GL_ALPHA8}
GL_ALPHA12 = $803D;
{$EXTERNALSYM GL_ALPHA12}
GL_ALPHA16 = $803E;
{$EXTERNALSYM GL_ALPHA16}
GL_LUMINANCE4 = $803F;
{$EXTERNALSYM GL_LUMINANCE4}
GL_LUMINANCE8 = $8040;
{$EXTERNALSYM GL_LUMINANCE8}
GL_LUMINANCE12 = $8041;
{$EXTERNALSYM GL_LUMINANCE12}
GL_LUMINANCE16 = $8042;
{$EXTERNALSYM GL_LUMINANCE16}
GL_LUMINANCE4_ALPHA4 = $8043;
{$EXTERNALSYM GL_LUMINANCE4_ALPHA4}
GL_LUMINANCE6_ALPHA2 = $8044;
{$EXTERNALSYM GL_LUMINANCE6_ALPHA2}
GL_LUMINANCE8_ALPHA8 = $8045;
{$EXTERNALSYM GL_LUMINANCE8_ALPHA8}
GL_LUMINANCE12_ALPHA4 = $8046;
{$EXTERNALSYM GL_LUMINANCE12_ALPHA4}
GL_LUMINANCE12_ALPHA12 = $8047;
{$EXTERNALSYM GL_LUMINANCE12_ALPHA12}
GL_LUMINANCE16_ALPHA16 = $8048;
{$EXTERNALSYM GL_LUMINANCE16_ALPHA16}
GL_INTENSITY = $8049;
{$EXTERNALSYM GL_INTENSITY}
GL_INTENSITY4 = $804A;
{$EXTERNALSYM GL_INTENSITY4}
GL_INTENSITY8 = $804B;
{$EXTERNALSYM GL_INTENSITY8}
GL_INTENSITY12 = $804C;
{$EXTERNALSYM GL_INTENSITY12}
GL_INTENSITY16 = $804D;
{$EXTERNALSYM GL_INTENSITY16}
GL_RGB4 = $804F;
{$EXTERNALSYM GL_RGB4}
GL_RGB5 = $8050;
{$EXTERNALSYM GL_RGB5}
GL_RGB8 = $8051;
{$EXTERNALSYM GL_RGB8}
GL_RGB10 = $8052;
{$EXTERNALSYM GL_RGB10}
GL_RGB12 = $8053;
{$EXTERNALSYM GL_RGB12}
GL_RGB16 = $8054;
{$EXTERNALSYM GL_RGB16}
GL_RGBA2 = $8055;
{$EXTERNALSYM GL_RGBA2}
GL_RGBA4 = $8056;
{$EXTERNALSYM GL_RGBA4}
GL_RGB5_A1 = $8057;
{$EXTERNALSYM GL_RGB5_A1}
GL_RGBA8 = $8058;
{$EXTERNALSYM GL_RGBA8}
GL_RGB10_A2 = $8059;
{$EXTERNALSYM GL_RGB10_A2}
GL_RGBA12 = $805A;
{$EXTERNALSYM GL_RGBA12}
GL_RGBA16 = $805B;
{$EXTERNALSYM GL_RGBA16}
UNSIGNED_BYTE_3_3_2 = $8032; // GL 1.2
{$EXTERNALSYM UNSIGNED_BYTE_3_3_2}
UNSIGNED_BYTE_2_3_3_REV = $8362; // GL 1.2
{$EXTERNALSYM UNSIGNED_BYTE_2_3_3_REV}
UNSIGNED_SHORT_5_6_5 = $8363; // GL 1.2
{$EXTERNALSYM UNSIGNED_SHORT_5_6_5}
UNSIGNED_SHORT_5_6_5_REV = $8364; // GL 1.2
{$EXTERNALSYM UNSIGNED_SHORT_5_6_5_REV}
UNSIGNED_SHORT_4_4_4_4 = $8033; // GL 1.2
{$EXTERNALSYM UNSIGNED_SHORT_4_4_4_4}
UNSIGNED_SHORT_4_4_4_4_REV = $8365; // GL 1.2
{$EXTERNALSYM UNSIGNED_SHORT_4_4_4_4_REV}
UNSIGNED_SHORT_5_5_5_1 = $8034; // GL 1.2
{$EXTERNALSYM UNSIGNED_SHORT_5_5_5_1}
UNSIGNED_SHORT_1_5_5_5_REV = $8366; // GL 1.2
{$EXTERNALSYM UNSIGNED_SHORT_1_5_5_5_REV}
UNSIGNED_INT_8_8_8_8 = $8035; // GL 1.2
{$EXTERNALSYM UNSIGNED_INT_8_8_8_8}
UNSIGNED_INT_8_8_8_8_REV = $8367; // GL 1.2
{$EXTERNALSYM UNSIGNED_INT_8_8_8_8_REV}
UNSIGNED_INT_10_10_10_2 = $8036; // GL 1.2
{$EXTERNALSYM UNSIGNED_INT_10_10_10_2}
UNSIGNED_INT_2_10_10_10_REV = $8368; // GL 1.2
{$EXTERNALSYM UNSIGNED_INT_2_10_10_10_REV}
// interleaved arrays formats
GL_V2F = $2A20;
{$EXTERNALSYM GL_V2F}
GL_V3F = $2A21;
{$EXTERNALSYM GL_V3F}
GL_C4UB_V2F = $2A22;
{$EXTERNALSYM GL_C4UB_V2F}
GL_C4UB_V3F = $2A23;
{$EXTERNALSYM GL_C4UB_V3F}
GL_C3F_V3F = $2A24;
{$EXTERNALSYM GL_C3F_V3F}
GL_N3F_V3F = $2A25;
{$EXTERNALSYM GL_N3F_V3F}
GL_C4F_N3F_V3F = $2A26;
{$EXTERNALSYM GL_C4F_N3F_V3F}
GL_T2F_V3F = $2A27;
{$EXTERNALSYM GL_T2F_V3F}
GL_T4F_V4F = $2A28;
{$EXTERNALSYM GL_T4F_V4F}
GL_T2F_C4UB_V3F = $2A29;
{$EXTERNALSYM GL_T2F_C4UB_V3F}
GL_T2F_C3F_V3F = $2A2A;
{$EXTERNALSYM GL_T2F_C3F_V3F}
GL_T2F_N3F_V3F = $2A2B;
{$EXTERNALSYM GL_T2F_N3F_V3F}
GL_T2F_C4F_N3F_V3F = $2A2C;
{$EXTERNALSYM GL_T2F_C4F_N3F_V3F}
GL_T4F_C4F_N3F_V4F = $2A2D;
{$EXTERNALSYM GL_T4F_C4F_N3F_V4F}
// clip planes
GL_CLIP_PLANE0 = $3000;
{$EXTERNALSYM GL_CLIP_PLANE0}
GL_CLIP_PLANE1 = $3001;
{$EXTERNALSYM GL_CLIP_PLANE1}
GL_CLIP_PLANE2 = $3002;
{$EXTERNALSYM GL_CLIP_PLANE2}
GL_CLIP_PLANE3 = $3003;
{$EXTERNALSYM GL_CLIP_PLANE3}
GL_CLIP_PLANE4 = $3004;
{$EXTERNALSYM GL_CLIP_PLANE4}
GL_CLIP_PLANE5 = $3005;
{$EXTERNALSYM GL_CLIP_PLANE5}
// miscellaneous
GL_DITHER = $0BD0;
{$EXTERNALSYM GL_DITHER}
// ----- extensions enumerants -----
// EXT_abgr
GL_ABGR_EXT = $8000;
{$EXTERNALSYM GL_ABGR_EXT}
// EXT_packed_pixels
GL_UNSIGNED_BYTE_3_3_2_EXT = $8032;
{$EXTERNALSYM GL_UNSIGNED_BYTE_3_3_2_EXT}
GL_UNSIGNED_SHORT_4_4_4_4_EXT = $8033;
{$EXTERNALSYM GL_UNSIGNED_SHORT_4_4_4_4_EXT}
GL_UNSIGNED_SHORT_5_5_5_1_EXT = $8034;
{$EXTERNALSYM GL_UNSIGNED_SHORT_5_5_5_1_EXT}
GL_UNSIGNED_INT_8_8_8_8_EXT = $8035;
{$EXTERNALSYM GL_UNSIGNED_INT_8_8_8_8_EXT}
GL_UNSIGNED_INT_10_10_10_2_EXT = $8036;
{$EXTERNALSYM GL_UNSIGNED_INT_10_10_10_2_EXT}
// EXT_vertex_array
GL_VERTEX_ARRAY_EXT = $8074;
{$EXTERNALSYM GL_VERTEX_ARRAY_EXT}
GL_NORMAL_ARRAY_EXT = $8075;
{$EXTERNALSYM GL_NORMAL_ARRAY_EXT}
GL_COLOR_ARRAY_EXT = $8076;
{$EXTERNALSYM GL_COLOR_ARRAY_EXT}
GL_INDEX_ARRAY_EXT = $8077;
{$EXTERNALSYM GL_INDEX_ARRAY_EXT}
GL_TEXTURE_COORD_ARRAY_EXT = $8078;
{$EXTERNALSYM GL_TEXTURE_COORD_ARRAY_EXT}
GL_EDGE_FLAG_ARRAY_EXT = $8079;
{$EXTERNALSYM GL_EDGE_FLAG_ARRAY_EXT}
GL_VERTEX_ARRAY_SIZE_EXT = $807A;
{$EXTERNALSYM GL_VERTEX_ARRAY_SIZE_EXT}
GL_VERTEX_ARRAY_TYPE_EXT = $807B;
{$EXTERNALSYM GL_VERTEX_ARRAY_TYPE_EXT}
GL_VERTEX_ARRAY_STRIDE_EXT = $807C;
{$EXTERNALSYM GL_VERTEX_ARRAY_STRIDE_EXT}
GL_VERTEX_ARRAY_COUNT_EXT = $807D;
{$EXTERNALSYM GL_VERTEX_ARRAY_COUNT_EXT}
GL_NORMAL_ARRAY_TYPE_EXT = $807E;
{$EXTERNALSYM GL_NORMAL_ARRAY_TYPE_EXT}
GL_NORMAL_ARRAY_STRIDE_EXT = $807F;
{$EXTERNALSYM GL_NORMAL_ARRAY_STRIDE_EXT}
GL_NORMAL_ARRAY_COUNT_EXT = $8080;
{$EXTERNALSYM GL_NORMAL_ARRAY_COUNT_EXT}
GL_COLOR_ARRAY_SIZE_EXT = $8081;
{$EXTERNALSYM GL_COLOR_ARRAY_SIZE_EXT}
GL_COLOR_ARRAY_TYPE_EXT = $8082;
{$EXTERNALSYM GL_COLOR_ARRAY_TYPE_EXT}
GL_COLOR_ARRAY_STRIDE_EXT = $8083;
{$EXTERNALSYM GL_COLOR_ARRAY_STRIDE_EXT}
GL_COLOR_ARRAY_COUNT_EXT = $8084;
{$EXTERNALSYM GL_COLOR_ARRAY_COUNT_EXT}
GL_INDEX_ARRAY_TYPE_EXT = $8085;
{$EXTERNALSYM GL_INDEX_ARRAY_TYPE_EXT}
GL_INDEX_ARRAY_STRIDE_EXT = $8086;
{$EXTERNALSYM GL_INDEX_ARRAY_STRIDE_EXT}
GL_INDEX_ARRAY_COUNT_EXT = $8087;
{$EXTERNALSYM GL_INDEX_ARRAY_COUNT_EXT}
GL_TEXTURE_COORD_ARRAY_SIZE_EXT = $8088;
{$EXTERNALSYM GL_TEXTURE_COORD_ARRAY_SIZE_EXT}
GL_TEXTURE_COORD_ARRAY_TYPE_EXT = $8089;
{$EXTERNALSYM GL_TEXTURE_COORD_ARRAY_TYPE_EXT}
GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = $808A;
{$EXTERNALSYM GL_TEXTURE_COORD_ARRAY_STRIDE_EXT}
GL_TEXTURE_COORD_ARRAY_COUNT_EXT = $808B;
{$EXTERNALSYM GL_TEXTURE_COORD_ARRAY_COUNT_EXT}
GL_EDGE_FLAG_ARRAY_STRIDE_EXT = $808C;
{$EXTERNALSYM GL_EDGE_FLAG_ARRAY_STRIDE_EXT}
GL_EDGE_FLAG_ARRAY_COUNT_EXT = $808D;
{$EXTERNALSYM GL_EDGE_FLAG_ARRAY_COUNT_EXT}
GL_VERTEX_ARRAY_POINTER_EXT = $808E;
{$EXTERNALSYM GL_VERTEX_ARRAY_POINTER_EXT}
GL_NORMAL_ARRAY_POINTER_EXT = $808F;
{$EXTERNALSYM GL_NORMAL_ARRAY_POINTER_EXT}
GL_COLOR_ARRAY_POINTER_EXT = $8090;
{$EXTERNALSYM GL_COLOR_ARRAY_POINTER_EXT}
GL_INDEX_ARRAY_POINTER_EXT = $8091;
{$EXTERNALSYM GL_INDEX_ARRAY_POINTER_EXT}
GL_TEXTURE_COORD_ARRAY_POINTER_EXT = $8092;
{$EXTERNALSYM GL_TEXTURE_COORD_ARRAY_POINTER_EXT}
GL_EDGE_FLAG_ARRAY_POINTER_EXT = $8093;
{$EXTERNALSYM GL_EDGE_FLAG_ARRAY_POINTER_EXT}
// EXT_color_table
GL_TABLE_TOO_LARGE_EXT = $8031;
{$EXTERNALSYM GL_TABLE_TOO_LARGE_EXT}
GL_COLOR_TABLE_EXT = $80D0;
{$EXTERNALSYM GL_COLOR_TABLE_EXT}
GL_POST_CONVOLUTION_COLOR_TABLE_EXT = $80D1;
{$EXTERNALSYM GL_POST_CONVOLUTION_COLOR_TABLE_EXT}
GL_POST_COLOR_MATRIX_COLOR_TABLE_EXT = $80D2;
{$EXTERNALSYM GL_POST_COLOR_MATRIX_COLOR_TABLE_EXT}
GL_PROXY_COLOR_TABLE_EXT = $80D3;
{$EXTERNALSYM GL_PROXY_COLOR_TABLE_EXT}
GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_EXT = $80D4;
{$EXTERNALSYM GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_EXT}
GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_EXT = $80D5;
{$EXTERNALSYM GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_EXT}
GL_COLOR_TABLE_SCALE_EXT = $80D6;
{$EXTERNALSYM GL_COLOR_TABLE_SCALE_EXT}
GL_COLOR_TABLE_BIAS_EXT = $80D7;
{$EXTERNALSYM GL_COLOR_TABLE_BIAS_EXT}
GL_COLOR_TABLE_FORMAT_EXT = $80D8;
{$EXTERNALSYM GL_COLOR_TABLE_FORMAT_EXT}
GL_COLOR_TABLE_WIDTH_EXT = $80D9;
{$EXTERNALSYM GL_COLOR_TABLE_WIDTH_EXT}
GL_COLOR_TABLE_RED_SIZE_EXT = $80DA;
{$EXTERNALSYM GL_COLOR_TABLE_RED_SIZE_EXT}
GL_COLOR_TABLE_GREEN_SIZE_EXT = $80DB;
{$EXTERNALSYM GL_COLOR_TABLE_GREEN_SIZE_EXT}
GL_COLOR_TABLE_BLUE_SIZE_EXT = $80DC;
{$EXTERNALSYM GL_COLOR_TABLE_BLUE_SIZE_EXT}
GL_COLOR_TABLE_ALPHA_SIZE_EXT = $80DD;
{$EXTERNALSYM GL_COLOR_TABLE_ALPHA_SIZE_EXT}
GL_COLOR_TABLE_LUMINANCE_SIZE_EXT = $80DE;
{$EXTERNALSYM GL_COLOR_TABLE_LUMINANCE_SIZE_EXT}
GL_COLOR_TABLE_INTENSITY_SIZE_EXT = $80DF;
{$EXTERNALSYM GL_COLOR_TABLE_INTENSITY_SIZE_EXT}
// EXT_bgra
GL_BGR_EXT = $80E0;
{$EXTERNALSYM GL_BGR_EXT}
GL_BGRA_EXT = $80E1;
{$EXTERNALSYM GL_BGRA_EXT}
// EXT_paletted_texture
GL_COLOR_INDEX1_EXT = $80E2;
{$EXTERNALSYM GL_COLOR_INDEX1_EXT}
GL_COLOR_INDEX2_EXT = $80E3;
{$EXTERNALSYM GL_COLOR_INDEX2_EXT}
GL_COLOR_INDEX4_EXT = $80E4;
{$EXTERNALSYM GL_COLOR_INDEX4_EXT}
GL_COLOR_INDEX8_EXT = $80E5;
{$EXTERNALSYM GL_COLOR_INDEX8_EXT}
GL_COLOR_INDEX12_EXT = $80E6;
{$EXTERNALSYM GL_COLOR_INDEX12_EXT}
GL_COLOR_INDEX16_EXT = $80E7;
{$EXTERNALSYM GL_COLOR_INDEX16_EXT}
// EXT_blend_color
GL_CONSTANT_COLOR_EXT = $8001;
{$EXTERNALSYM GL_CONSTANT_COLOR_EXT}
GL_ONE_MINUS_CONSTANT_COLOR_EXT = $8002;
{$EXTERNALSYM GL_ONE_MINUS_CONSTANT_COLOR_EXT}
GL_CONSTANT_ALPHA_EXT = $8003;
{$EXTERNALSYM GL_CONSTANT_ALPHA_EXT}
GL_ONE_MINUS_CONSTANT_ALPHA_EXT = $8004;
{$EXTERNALSYM GL_ONE_MINUS_CONSTANT_ALPHA_EXT}
GL_BLEND_COLOR_EXT = $8005;
{$EXTERNALSYM GL_BLEND_COLOR_EXT}
// EXT_blend_minmax
GL_FUNC_ADD_EXT = $8006;
{$EXTERNALSYM GL_FUNC_ADD_EXT}
GL_MIN_EXT = $8007;
{$EXTERNALSYM GL_MIN_EXT}
GL_MAX_EXT = $8008;
{$EXTERNALSYM GL_MAX_EXT}
GL_BLEND_EQUATION_EXT = $8009;
{$EXTERNALSYM GL_BLEND_EQUATION_EXT}
// EXT_blend_subtract
GL_FUNC_SUBTRACT_EXT = $800A;
{$EXTERNALSYM GL_FUNC_SUBTRACT_EXT}
GL_FUNC_REVERSE_SUBTRACT_EXT = $800B;
{$EXTERNALSYM GL_FUNC_REVERSE_SUBTRACT_EXT}
// EXT_convolution
GL_CONVOLUTION_1D_EXT = $8010;
{$EXTERNALSYM GL_CONVOLUTION_1D_EXT}
GL_CONVOLUTION_2D_EXT = $8011;
{$EXTERNALSYM GL_CONVOLUTION_2D_EXT}
GL_SEPARABLE_2D_EXT = $8012;
{$EXTERNALSYM GL_SEPARABLE_2D_EXT}
GL_CONVOLUTION_BORDER_MODE_EXT = $8013;
{$EXTERNALSYM GL_CONVOLUTION_BORDER_MODE_EXT}
GL_CONVOLUTION_FILTER_SCALE_EXT = $8014;
{$EXTERNALSYM GL_CONVOLUTION_FILTER_SCALE_EXT}
GL_CONVOLUTION_FILTER_BIAS_EXT = $8015;
{$EXTERNALSYM GL_CONVOLUTION_FILTER_BIAS_EXT}
GL_REDUCE_EXT = $8016;
{$EXTERNALSYM GL_REDUCE_EXT}
GL_CONVOLUTION_FORMAT_EXT = $8017;
{$EXTERNALSYM GL_CONVOLUTION_FORMAT_EXT}
GL_CONVOLUTION_WIDTH_EXT = $8018;
{$EXTERNALSYM GL_CONVOLUTION_WIDTH_EXT}
GL_CONVOLUTION_HEIGHT_EXT = $8019;
{$EXTERNALSYM GL_CONVOLUTION_HEIGHT_EXT}
GL_MAX_CONVOLUTION_WIDTH_EXT = $801A;
{$EXTERNALSYM GL_MAX_CONVOLUTION_WIDTH_EXT}
GL_MAX_CONVOLUTION_HEIGHT_EXT = $801B;
{$EXTERNALSYM GL_MAX_CONVOLUTION_HEIGHT_EXT}
GL_POST_CONVOLUTION_RED_SCALE_EXT = $801C;
{$EXTERNALSYM GL_POST_CONVOLUTION_RED_SCALE_EXT}
GL_POST_CONVOLUTION_GREEN_SCALE_EXT = $801D;
{$EXTERNALSYM GL_POST_CONVOLUTION_GREEN_SCALE_EXT}
GL_POST_CONVOLUTION_BLUE_SCALE_EXT = $801E;
{$EXTERNALSYM GL_POST_CONVOLUTION_BLUE_SCALE_EXT}
GL_POST_CONVOLUTION_ALPHA_SCALE_EXT = $801F;
{$EXTERNALSYM GL_POST_CONVOLUTION_ALPHA_SCALE_EXT}
GL_POST_CONVOLUTION_RED_BIAS_EXT = $8020;
{$EXTERNALSYM GL_POST_CONVOLUTION_RED_BIAS_EXT}
GL_POST_CONVOLUTION_GREEN_BIAS_EXT = $8021;
{$EXTERNALSYM GL_POST_CONVOLUTION_GREEN_BIAS_EXT}
GL_POST_CONVOLUTION_BLUE_BIAS_EXT = $8022;
{$EXTERNALSYM GL_POST_CONVOLUTION_BLUE_BIAS_EXT}
GL_POST_CONVOLUTION_ALPHA_BIAS_EXT = $8023;
{$EXTERNALSYM GL_POST_CONVOLUTION_ALPHA_BIAS_EXT}
// EXT_histogram
GL_HISTOGRAM_EXT = $8024;
{$EXTERNALSYM GL_HISTOGRAM_EXT}
GL_PROXY_HISTOGRAM_EXT = $8025;
{$EXTERNALSYM GL_PROXY_HISTOGRAM_EXT}
GL_HISTOGRAM_WIDTH_EXT = $8026;
{$EXTERNALSYM GL_HISTOGRAM_WIDTH_EXT}
GL_HISTOGRAM_FORMAT_EXT = $8027;
{$EXTERNALSYM GL_HISTOGRAM_FORMAT_EXT}
GL_HISTOGRAM_RED_SIZE_EXT = $8028;
{$EXTERNALSYM GL_HISTOGRAM_RED_SIZE_EXT}
GL_HISTOGRAM_GREEN_SIZE_EXT = $8029;
{$EXTERNALSYM GL_HISTOGRAM_GREEN_SIZE_EXT}
GL_HISTOGRAM_BLUE_SIZE_EXT = $802A;
{$EXTERNALSYM GL_HISTOGRAM_BLUE_SIZE_EXT}
GL_HISTOGRAM_ALPHA_SIZE_EXT = $802B;
{$EXTERNALSYM GL_HISTOGRAM_ALPHA_SIZE_EXT}
GL_HISTOGRAM_LUMINANCE_SIZE_EXT = $802C;
{$EXTERNALSYM GL_HISTOGRAM_LUMINANCE_SIZE_EXT}
GL_HISTOGRAM_SINK_EXT = $802D;
{$EXTERNALSYM GL_HISTOGRAM_SINK_EXT}
GL_MINMAX_EXT = $802E;
{$EXTERNALSYM GL_MINMAX_EXT}
GL_MINMAX_FORMAT_EXT = $802F;
{$EXTERNALSYM GL_MINMAX_FORMAT_EXT}
GL_MINMAX_SINK_EXT = $8030;
{$EXTERNALSYM GL_MINMAX_SINK_EXT}
// EXT_polygon_offset
GL_POLYGON_OFFSET_EXT = $8037;
{$EXTERNALSYM GL_POLYGON_OFFSET_EXT}
GL_POLYGON_OFFSET_FACTOR_EXT = $8038;
{$EXTERNALSYM GL_POLYGON_OFFSET_FACTOR_EXT}
GL_POLYGON_OFFSET_BIAS_EXT = $8039;
{$EXTERNALSYM GL_POLYGON_OFFSET_BIAS_EXT}
// EXT_texture
GL_ALPHA4_EXT = $803B;
{$EXTERNALSYM GL_ALPHA4_EXT}
GL_ALPHA8_EXT = $803C;
{$EXTERNALSYM GL_ALPHA8_EXT}
GL_ALPHA12_EXT = $803D;
{$EXTERNALSYM GL_ALPHA12_EXT}
GL_ALPHA16_EXT = $803E;
{$EXTERNALSYM GL_ALPHA16_EXT}
GL_LUMINANCE4_EXT = $803F;
{$EXTERNALSYM GL_LUMINANCE4_EXT}
GL_LUMINANCE8_EXT = $8040;
{$EXTERNALSYM GL_LUMINANCE8_EXT}
GL_LUMINANCE12_EXT = $8041;
{$EXTERNALSYM GL_LUMINANCE12_EXT}
GL_LUMINANCE16_EXT = $8042;
{$EXTERNALSYM GL_LUMINANCE16_EXT}
GL_LUMINANCE4_ALPHA4_EXT = $8043;
{$EXTERNALSYM GL_LUMINANCE4_ALPHA4_EXT}
GL_LUMINANCE6_ALPHA2_EXT = $8044;
{$EXTERNALSYM GL_LUMINANCE6_ALPHA2_EXT}
GL_LUMINANCE8_ALPHA8_EXT = $8045;
{$EXTERNALSYM GL_LUMINANCE8_ALPHA8_EXT}
GL_LUMINANCE12_ALPHA4_EXT = $8046;
{$EXTERNALSYM GL_LUMINANCE12_ALPHA4_EXT}
GL_LUMINANCE12_ALPHA12_EXT = $8047;
{$EXTERNALSYM GL_LUMINANCE12_ALPHA12_EXT}
GL_LUMINANCE16_ALPHA16_EXT = $8048;
{$EXTERNALSYM GL_LUMINANCE16_ALPHA16_EXT}
GL_INTENSITY_EXT = $8049;
{$EXTERNALSYM GL_INTENSITY_EXT}
GL_INTENSITY4_EXT = $804A;
{$EXTERNALSYM GL_INTENSITY4_EXT}
GL_INTENSITY8_EXT = $804B;
{$EXTERNALSYM GL_INTENSITY8_EXT}
GL_INTENSITY12_EXT = $804C;
{$EXTERNALSYM GL_INTENSITY12_EXT}
GL_INTENSITY16_EXT = $804D;
{$EXTERNALSYM GL_INTENSITY16_EXT}
GL_RGB2_EXT = $804E;
{$EXTERNALSYM GL_RGB2_EXT}
GL_RGB4_EXT = $804F;
{$EXTERNALSYM GL_RGB4_EXT}
GL_RGB5_EXT = $8050;
{$EXTERNALSYM GL_RGB5_EXT}
GL_RGB8_EXT = $8051;
{$EXTERNALSYM GL_RGB8_EXT}
GL_RGB10_EXT = $8052;
{$EXTERNALSYM GL_RGB10_EXT}
GL_RGB12_EXT = $8053;
{$EXTERNALSYM GL_RGB12_EXT}
GL_RGB16_EXT = $8054;
{$EXTERNALSYM GL_RGB16_EXT}
GL_RGBA2_EXT = $8055;
{$EXTERNALSYM GL_RGBA2_EXT}
GL_RGBA4_EXT = $8056;
{$EXTERNALSYM GL_RGBA4_EXT}
GL_RGB5_A1_EXT = $8057;
{$EXTERNALSYM GL_RGB5_A1_EXT}
GL_RGBA8_EXT = $8058;
{$EXTERNALSYM GL_RGBA8_EXT}
GL_RGB10_A2_EXT = $8059;
{$EXTERNALSYM GL_RGB10_A2_EXT}
GL_RGBA12_EXT = $805A;
{$EXTERNALSYM GL_RGBA12_EXT}
GL_RGBA16_EXT = $805B;
{$EXTERNALSYM GL_RGBA16_EXT}
GL_TEXTURE_RED_SIZE_EXT = $805C;
{$EXTERNALSYM GL_TEXTURE_RED_SIZE_EXT}
GL_TEXTURE_GREEN_SIZE_EXT = $805D;
{$EXTERNALSYM GL_TEXTURE_GREEN_SIZE_EXT}
GL_TEXTURE_BLUE_SIZE_EXT = $805E;
{$EXTERNALSYM GL_TEXTURE_BLUE_SIZE_EXT}
GL_TEXTURE_ALPHA_SIZE_EXT = $805F;
{$EXTERNALSYM GL_TEXTURE_ALPHA_SIZE_EXT}
GL_TEXTURE_LUMINANCE_SIZE_EXT = $8060;
{$EXTERNALSYM GL_TEXTURE_LUMINANCE_SIZE_EXT}
GL_TEXTURE_INTENSITY_SIZE_EXT = $8061;
{$EXTERNALSYM GL_TEXTURE_INTENSITY_SIZE_EXT}
GL_REPLACE_EXT = $8062;
{$EXTERNALSYM GL_REPLACE_EXT}
GL_PROXY_TEXTURE_1D_EXT = $8063;
{$EXTERNALSYM GL_PROXY_TEXTURE_1D_EXT}
GL_PROXY_TEXTURE_2D_EXT = $8064;
{$EXTERNALSYM GL_PROXY_TEXTURE_2D_EXT}
GL_TEXTURE_TOO_LARGE_EXT = $8065;
{$EXTERNALSYM GL_TEXTURE_TOO_LARGE_EXT}
// EXT_texture_object
GL_TEXTURE_PRIORITY_EXT = $8066;
{$EXTERNALSYM GL_TEXTURE_PRIORITY_EXT}
GL_TEXTURE_RESIDENT_EXT = $8067;
{$EXTERNALSYM GL_TEXTURE_RESIDENT_EXT}
GL_TEXTURE_1D_BINDING_EXT = $8068;
{$EXTERNALSYM GL_TEXTURE_1D_BINDING_EXT}
GL_TEXTURE_2D_BINDING_EXT = $8069;
{$EXTERNALSYM GL_TEXTURE_2D_BINDING_EXT}
GL_TEXTURE_3D_BINDING_EXT = $806A;
{$EXTERNALSYM GL_TEXTURE_3D_BINDING_EXT}
// EXT_texture3D
GL_PACK_SKIP_IMAGES_EXT = $806B;
{$EXTERNALSYM GL_PACK_SKIP_IMAGES_EXT}
GL_PACK_IMAGE_HEIGHT_EXT = $806C;
{$EXTERNALSYM GL_PACK_IMAGE_HEIGHT_EXT}
GL_UNPACK_SKIP_IMAGES_EXT = $806D;
{$EXTERNALSYM GL_UNPACK_SKIP_IMAGES_EXT}
GL_UNPACK_IMAGE_HEIGHT_EXT = $806E;
{$EXTERNALSYM GL_UNPACK_IMAGE_HEIGHT_EXT}
GL_TEXTURE_3D_EXT = $806F;
{$EXTERNALSYM GL_TEXTURE_3D_EXT}
GL_PROXY_TEXTURE_3D_EXT = $8070;
{$EXTERNALSYM GL_PROXY_TEXTURE_3D_EXT}
GL_TEXTURE_DEPTH_EXT = $8071;
{$EXTERNALSYM GL_TEXTURE_DEPTH_EXT}
GL_TEXTURE_WRAP_R_EXT = $8072;
{$EXTERNALSYM GL_TEXTURE_WRAP_R_EXT}
GL_MAX_3D_TEXTURE_SIZE_EXT = $8073;
{$EXTERNALSYM GL_MAX_3D_TEXTURE_SIZE_EXT}
// SGI_color_matrix
GL_COLOR_MATRIX_SGI = $80B1;
{$EXTERNALSYM GL_COLOR_MATRIX_SGI}
GL_COLOR_MATRIX_STACK_DEPTH_SGI = $80B2;
{$EXTERNALSYM GL_COLOR_MATRIX_STACK_DEPTH_SGI}
GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI = $80B3;
{$EXTERNALSYM GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI}
GL_POST_COLOR_MATRIX_RED_SCALE_SGI = $80B4;
{$EXTERNALSYM GL_POST_COLOR_MATRIX_RED_SCALE_SGI}
GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI = $80B5;
{$EXTERNALSYM GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI}
GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI = $80B6;
{$EXTERNALSYM GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI}
GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI = $80B7;
{$EXTERNALSYM GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI}
GL_POST_COLOR_MATRIX_RED_BIAS_SGI = $80B8;
{$EXTERNALSYM GL_POST_COLOR_MATRIX_RED_BIAS_SGI}
GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI = $80B9;
{$EXTERNALSYM GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI}
GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI = $80BA;
{$EXTERNALSYM GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI}
GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI = $80BB;
{$EXTERNALSYM GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI}
// SGI_texture_color_table
GL_TEXTURE_COLOR_TABLE_SGI = $80BC;
{$EXTERNALSYM GL_TEXTURE_COLOR_TABLE_SGI}
GL_PROXY_TEXTURE_COLOR_TABLE_SGI = $80BD;
{$EXTERNALSYM GL_PROXY_TEXTURE_COLOR_TABLE_SGI}
GL_TEXTURE_COLOR_TABLE_BIAS_SGI = $80BE;
{$EXTERNALSYM GL_TEXTURE_COLOR_TABLE_BIAS_SGI}
GL_TEXTURE_COLOR_TABLE_SCALE_SGI = $80BF;
{$EXTERNALSYM GL_TEXTURE_COLOR_TABLE_SCALE_SGI}
// SGI_color_table
GL_COLOR_TABLE_SGI = $80D0;
{$EXTERNALSYM GL_COLOR_TABLE_SGI}
GL_POST_CONVOLUTION_COLOR_TABLE_SGI = $80D1;
{$EXTERNALSYM GL_POST_CONVOLUTION_COLOR_TABLE_SGI}
GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI = $80D2;
{$EXTERNALSYM GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI}
GL_PROXY_COLOR_TABLE_SGI = $80D3;
{$EXTERNALSYM GL_PROXY_COLOR_TABLE_SGI}
GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = $80D4;
{$EXTERNALSYM GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI}
GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = $80D5;
{$EXTERNALSYM GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI}
GL_COLOR_TABLE_SCALE_SGI = $80D6;
{$EXTERNALSYM GL_COLOR_TABLE_SCALE_SGI}
GL_COLOR_TABLE_BIAS_SGI = $80D7;
{$EXTERNALSYM GL_COLOR_TABLE_BIAS_SGI}
GL_COLOR_TABLE_FORMAT_SGI = $80D8;
{$EXTERNALSYM GL_COLOR_TABLE_FORMAT_SGI}
GL_COLOR_TABLE_WIDTH_SGI = $80D9;
{$EXTERNALSYM GL_COLOR_TABLE_WIDTH_SGI}
GL_COLOR_TABLE_RED_SIZE_SGI = $80DA;
{$EXTERNALSYM GL_COLOR_TABLE_RED_SIZE_SGI}
GL_COLOR_TABLE_GREEN_SIZE_SGI = $80DB;
{$EXTERNALSYM GL_COLOR_TABLE_GREEN_SIZE_SGI}
GL_COLOR_TABLE_BLUE_SIZE_SGI = $80DC;
{$EXTERNALSYM GL_COLOR_TABLE_BLUE_SIZE_SGI}
GL_COLOR_TABLE_ALPHA_SIZE_SGI = $80DD;
{$EXTERNALSYM GL_COLOR_TABLE_ALPHA_SIZE_SGI}
GL_COLOR_TABLE_LUMINANCE_SIZE_SGI = $80DE;
{$EXTERNALSYM GL_COLOR_TABLE_LUMINANCE_SIZE_SGI}
GL_COLOR_TABLE_INTENSITY_SIZE_SGI = $80DF;
{$EXTERNALSYM GL_COLOR_TABLE_INTENSITY_SIZE_SGI}
// EXT_cmyka
GL_CMYK_EXT = $800C;
{$EXTERNALSYM GL_CMYK_EXT}
GL_CMYKA_EXT = $800D;
{$EXTERNALSYM GL_CMYKA_EXT}
GL_PACK_CMYK_HINT_EXT = $800E;
{$EXTERNALSYM GL_PACK_CMYK_HINT_EXT}
GL_UNPACK_CMYK_HINT_EXT = $800F;
{$EXTERNALSYM GL_UNPACK_CMYK_HINT_EXT}
// EXT_rescale_normal
GL_RESCALE_NORMAL_EXT = $803A;
{$EXTERNALSYM GL_RESCALE_NORMAL_EXT}
// EXT_clip_volume_hint
GL_CLIP_VOLUME_CLIPPING_HINT_EXT = $80F0;
{$EXTERNALSYM GL_CLIP_VOLUME_CLIPPING_HINT_EXT}
// EXT_cull_vertex
GL_CULL_VERTEX_EXT = $81AA;
{$EXTERNALSYM GL_CULL_VERTEX_EXT}
GL_CULL_VERTEX_EYE_POSITION_EXT = $81AB;
{$EXTERNALSYM GL_CULL_VERTEX_EYE_POSITION_EXT}
GL_CULL_VERTEX_OBJECT_POSITION_EXT = $81AC;
{$EXTERNALSYM GL_CULL_VERTEX_OBJECT_POSITION_EXT}
// EXT_index_array_formats
GL_IUI_V2F_EXT = $81AD;
{$EXTERNALSYM GL_IUI_V2F_EXT}
GL_IUI_V3F_EXT = $81AE;
{$EXTERNALSYM GL_IUI_V3F_EXT}
GL_IUI_N3F_V2F_EXT = $81AF;
{$EXTERNALSYM GL_IUI_N3F_V2F_EXT}
GL_IUI_N3F_V3F_EXT = $81B0;
{$EXTERNALSYM GL_IUI_N3F_V3F_EXT}
GL_T2F_IUI_V2F_EXT = $81B1;
{$EXTERNALSYM GL_T2F_IUI_V2F_EXT}
GL_T2F_IUI_V3F_EXT = $81B2;
{$EXTERNALSYM GL_T2F_IUI_V3F_EXT}
GL_T2F_IUI_N3F_V2F_EXT = $81B3;
{$EXTERNALSYM GL_T2F_IUI_N3F_V2F_EXT}
GL_T2F_IUI_N3F_V3F_EXT = $81B4;
{$EXTERNALSYM GL_T2F_IUI_N3F_V3F_EXT}
// EXT_index_func
GL_INDEX_TEST_EXT = $81B5;
{$EXTERNALSYM GL_INDEX_TEST_EXT}
GL_INDEX_TEST_FUNC_EXT = $81B6;
{$EXTERNALSYM GL_INDEX_TEST_FUNC_EXT}
GL_INDEX_TEST_REF_EXT = $81B7;
{$EXTERNALSYM GL_INDEX_TEST_REF_EXT}
// EXT_index_material
GL_INDEX_MATERIAL_EXT = $81B8;
{$EXTERNALSYM GL_INDEX_MATERIAL_EXT}
GL_INDEX_MATERIAL_PARAMETER_EXT = $81B9;
{$EXTERNALSYM GL_INDEX_MATERIAL_PARAMETER_EXT}
GL_INDEX_MATERIAL_FACE_EXT = $81BA;
{$EXTERNALSYM GL_INDEX_MATERIAL_FACE_EXT}
// EXT_misc_attribute
GL_MISC_BIT_EXT = 0; // not yet defined
{$EXTERNALSYM GL_MISC_BIT_EXT}
// EXT_scene_marker
GL_SCENE_REQUIRED_EXT = 0; // not yet defined
{$EXTERNALSYM GL_SCENE_REQUIRED_EXT}
// EXT_shared_texture_palette
GL_SHARED_TEXTURE_PALETTE_EXT = $81FB;
{$EXTERNALSYM GL_SHARED_TEXTURE_PALETTE_EXT}
// EXT_nurbs_tessellator
GLU_NURBS_MODE_EXT = 100160;
{$EXTERNALSYM GLU_NURBS_MODE_EXT}
GLU_NURBS_TESSELLATOR_EXT = 100161;
{$EXTERNALSYM GLU_NURBS_TESSELLATOR_EXT}
GLU_NURBS_RENDERER_EXT = 100162;
{$EXTERNALSYM GLU_NURBS_RENDERER_EXT}
GLU_NURBS_BEGIN_EXT = 100164;
{$EXTERNALSYM GLU_NURBS_BEGIN_EXT}
GLU_NURBS_VERTEX_EXT = 100165;
{$EXTERNALSYM GLU_NURBS_VERTEX_EXT}
GLU_NURBS_NORMAL_EXT = 100166;
{$EXTERNALSYM GLU_NURBS_NORMAL_EXT}
GLU_NURBS_COLOR_EXT = 100167;
{$EXTERNALSYM GLU_NURBS_COLOR_EXT}
GLU_NURBS_TEX_COORD_EXT = 100168;
{$EXTERNALSYM GLU_NURBS_TEX_COORD_EXT}
GLU_NURBS_END_EXT = 100169;
{$EXTERNALSYM GLU_NURBS_END_EXT}
GLU_NURBS_BEGIN_DATA_EXT = 100170;
{$EXTERNALSYM GLU_NURBS_BEGIN_DATA_EXT}
GLU_NURBS_VERTEX_DATA_EXT = 100171;
{$EXTERNALSYM GLU_NURBS_VERTEX_DATA_EXT}
GLU_NURBS_NORMAL_DATA_EXT = 100172;
{$EXTERNALSYM GLU_NURBS_NORMAL_DATA_EXT}
GLU_NURBS_COLOR_DATA_EXT = 100173;
{$EXTERNALSYM GLU_NURBS_COLOR_DATA_EXT}
GLU_NURBS_TEX_COORD_DATA_EXT = 100174;
{$EXTERNALSYM GLU_NURBS_TEX_COORD_DATA_EXT}
GLU_NURBS_END_DATA_EXT = 100175;
{$EXTERNALSYM GLU_NURBS_END_DATA_EXT}
// EXT_object_space_tess
GLU_OBJECT_PARAMETRIC_ERROR_EXT = 100208;
{$EXTERNALSYM GLU_OBJECT_PARAMETRIC_ERROR_EXT}
GLU_OBJECT_PATH_LENGTH_EXT = 100209;
{$EXTERNALSYM GLU_OBJECT_PATH_LENGTH_EXT}
// EXT_point_parameters
GL_POINT_SIZE_MIN_EXT = $8126;
{$EXTERNALSYM GL_POINT_SIZE_MIN_EXT}
GL_POINT_SIZE_MAX_EXT = $8127;
{$EXTERNALSYM GL_POINT_SIZE_MAX_EXT}
GL_POINT_FADE_THRESHOLD_SIZE_EXT = $8128;
{$EXTERNALSYM GL_POINT_FADE_THRESHOLD_SIZE_EXT}
GL_DISTANCE_ATTENUATION_EXT = $8129;
{$EXTERNALSYM GL_DISTANCE_ATTENUATION_EXT}
// EXT_compiled_vertex_array
GL_ARRAY_ELEMENT_LOCK_FIRST_EXT = $81A8;
{$EXTERNALSYM GL_ARRAY_ELEMENT_LOCK_FIRST_EXT}
GL_ARRAY_ELEMENT_LOCK_COUNT_EXT = $81A9;
{$EXTERNALSYM GL_ARRAY_ELEMENT_LOCK_COUNT_EXT}
// ARB_multitexture
GL_ACTIVE_TEXTURE_ARB = $84E0;
{$EXTERNALSYM GL_ACTIVE_TEXTURE_ARB}
GL_CLIENT_ACTIVE_TEXTURE_ARB = $84E1;
{$EXTERNALSYM GL_CLIENT_ACTIVE_TEXTURE_ARB}
GL_MAX_TEXTURE_UNITS_ARB = $84E2;
{$EXTERNALSYM GL_MAX_TEXTURE_UNITS_ARB}
GL_TEXTURE0_ARB = $84C0;
{$EXTERNALSYM GL_TEXTURE0_ARB}
GL_TEXTURE1_ARB = $84C1;
{$EXTERNALSYM GL_TEXTURE1_ARB}
GL_TEXTURE2_ARB = $84C2;
{$EXTERNALSYM GL_TEXTURE2_ARB}
GL_TEXTURE3_ARB = $84C3;
{$EXTERNALSYM GL_TEXTURE3_ARB}
GL_TEXTURE4_ARB = $84C4;
{$EXTERNALSYM GL_TEXTURE4_ARB}
GL_TEXTURE5_ARB = $84C5;
{$EXTERNALSYM GL_TEXTURE5_ARB}
GL_TEXTURE6_ARB = $84C6;
{$EXTERNALSYM GL_TEXTURE6_ARB}
GL_TEXTURE7_ARB = $84C7;
{$EXTERNALSYM GL_TEXTURE7_ARB}
GL_TEXTURE8_ARB = $84C8;
{$EXTERNALSYM GL_TEXTURE8_ARB}
GL_TEXTURE9_ARB = $84C9;
{$EXTERNALSYM GL_TEXTURE9_ARB}
GL_TEXTURE10_ARB = $84CA;
{$EXTERNALSYM GL_TEXTURE10_ARB}
GL_TEXTURE11_ARB = $84CB;
{$EXTERNALSYM GL_TEXTURE11_ARB}
GL_TEXTURE12_ARB = $84CC;
{$EXTERNALSYM GL_TEXTURE12_ARB}
GL_TEXTURE13_ARB = $84CD;
{$EXTERNALSYM GL_TEXTURE13_ARB}
GL_TEXTURE14_ARB = $84CE;
{$EXTERNALSYM GL_TEXTURE14_ARB}
GL_TEXTURE15_ARB = $84CF;
{$EXTERNALSYM GL_TEXTURE15_ARB}
GL_TEXTURE16_ARB = $84D0;
{$EXTERNALSYM GL_TEXTURE16_ARB}
GL_TEXTURE17_ARB = $84D1;
{$EXTERNALSYM GL_TEXTURE17_ARB}
GL_TEXTURE18_ARB = $84D2;
{$EXTERNALSYM GL_TEXTURE18_ARB}
GL_TEXTURE19_ARB = $84D3;
{$EXTERNALSYM GL_TEXTURE19_ARB}
GL_TEXTURE20_ARB = $84D4;
{$EXTERNALSYM GL_TEXTURE20_ARB}
GL_TEXTURE21_ARB = $84D5;
{$EXTERNALSYM GL_TEXTURE21_ARB}
GL_TEXTURE22_ARB = $84D6;
{$EXTERNALSYM GL_TEXTURE22_ARB}
GL_TEXTURE23_ARB = $84D7;
{$EXTERNALSYM GL_TEXTURE23_ARB}
GL_TEXTURE24_ARB = $84D8;
{$EXTERNALSYM GL_TEXTURE24_ARB}
GL_TEXTURE25_ARB = $84D9;
{$EXTERNALSYM GL_TEXTURE25_ARB}
GL_TEXTURE26_ARB = $84DA;
{$EXTERNALSYM GL_TEXTURE26_ARB}
GL_TEXTURE27_ARB = $84DB;
{$EXTERNALSYM GL_TEXTURE27_ARB}
GL_TEXTURE28_ARB = $84DC;
{$EXTERNALSYM GL_TEXTURE28_ARB}
GL_TEXTURE29_ARB = $84DD;
{$EXTERNALSYM GL_TEXTURE29_ARB}
GL_TEXTURE30_ARB = $84DE;
{$EXTERNALSYM GL_TEXTURE30_ARB}
GL_TEXTURE31_ARB = $84DF;
{$EXTERNALSYM GL_TEXTURE31_ARB}
// EXT_stencil_wrap
GL_INCR_WRAP_EXT = $8507;
{$EXTERNALSYM GL_INCR_WRAP_EXT}
GL_DECR_WRAP_EXT = $8508;
{$EXTERNALSYM GL_DECR_WRAP_EXT}
// NV_texgen_reflection
GL_NORMAL_MAP_NV = $8511;
{$EXTERNALSYM GL_NORMAL_MAP_NV}
GL_REFLECTION_MAP_NV = $8512;
{$EXTERNALSYM GL_REFLECTION_MAP_NV}
// EXT_texture_env_combine
GL_COMBINE_EXT = $8570;
{$EXTERNALSYM GL_COMBINE_EXT}
GL_COMBINE_RGB_EXT = $8571;
{$EXTERNALSYM GL_COMBINE_RGB_EXT}
GL_COMBINE_ALPHA_EXT = $8572;
{$EXTERNALSYM GL_COMBINE_ALPHA_EXT}
GL_RGB_SCALE_EXT = $8573;
{$EXTERNALSYM GL_RGB_SCALE_EXT}
GL_ADD_SIGNED_EXT = $8574;
{$EXTERNALSYM GL_ADD_SIGNED_EXT}
GL_INTERPOLATE_EXT = $8575;
{$EXTERNALSYM GL_INTERPOLATE_EXT}
GL_CONSTANT_EXT = $8576;
{$EXTERNALSYM GL_CONSTANT_EXT}
GL_PRIMARY_COLOR_EXT = $8577;
{$EXTERNALSYM GL_PRIMARY_COLOR_EXT}
GL_PREVIOUS_EXT = $8578;
{$EXTERNALSYM GL_PREVIOUS_EXT}
GL_SOURCE0_RGB_EXT = $8580;
{$EXTERNALSYM GL_SOURCE0_RGB_EXT}
GL_SOURCE1_RGB_EXT = $8581;
{$EXTERNALSYM GL_SOURCE1_RGB_EXT}
GL_SOURCE2_RGB_EXT = $8582;
{$EXTERNALSYM GL_SOURCE2_RGB_EXT}
GL_SOURCE0_ALPHA_EXT = $8588;
{$EXTERNALSYM GL_SOURCE0_ALPHA_EXT}
GL_SOURCE1_ALPHA_EXT = $8589;
{$EXTERNALSYM GL_SOURCE1_ALPHA_EXT}
GL_SOURCE2_ALPHA_EXT = $858A;
{$EXTERNALSYM GL_SOURCE2_ALPHA_EXT}
GL_OPERAND0_RGB_EXT = $8590;
{$EXTERNALSYM GL_OPERAND0_RGB_EXT}
GL_OPERAND1_RGB_EXT = $8591;
{$EXTERNALSYM GL_OPERAND1_RGB_EXT}
GL_OPERAND2_RGB_EXT = $8592;
{$EXTERNALSYM GL_OPERAND2_RGB_EXT}
GL_OPERAND0_ALPHA_EXT = $8598;
{$EXTERNALSYM GL_OPERAND0_ALPHA_EXT}
GL_OPERAND1_ALPHA_EXT = $8599;
{$EXTERNALSYM GL_OPERAND1_ALPHA_EXT}
GL_OPERAND2_ALPHA_EXT = $859A;
{$EXTERNALSYM GL_OPERAND2_ALPHA_EXT}
// NV_texture_env_combine4
GL_COMBINE4_NV = $8503;
{$EXTERNALSYM GL_COMBINE4_NV}
GL_SOURCE3_RGB_NV = $8583;
{$EXTERNALSYM GL_SOURCE3_RGB_NV}
GL_SOURCE3_ALPHA_NV = $858B;
{$EXTERNALSYM GL_SOURCE3_ALPHA_NV}
GL_OPERAND3_RGB_NV = $8593;
{$EXTERNALSYM GL_OPERAND3_RGB_NV}
GL_OPERAND3_ALPHA_NV = $859B;
{$EXTERNALSYM GL_OPERAND3_ALPHA_NV}
GL_BLEND_EQUATION = $8009;
{$EXTERNALSYM GL_BLEND_EQUATION}
GL_TABLE_TOO_LARGE = $8031;
{$EXTERNALSYM GL_TABLE_TOO_LARGE}
GL_UNSIGNED_BYTE_3_3_2 = $8032;
{$EXTERNALSYM GL_UNSIGNED_BYTE_3_3_2}
GL_UNSIGNED_SHORT_4_4_4_4 = $8033;
{$EXTERNALSYM GL_UNSIGNED_SHORT_4_4_4_4}
GL_UNSIGNED_SHORT_5_5_5_1 = $8034;
{$EXTERNALSYM GL_UNSIGNED_SHORT_5_5_5_1}
GL_UNSIGNED_INT_8_8_8_8 = $8035;
{$EXTERNALSYM GL_UNSIGNED_INT_8_8_8_8}
GL_UNSIGNED_INT_10_10_10_2 = $8036;
{$EXTERNALSYM GL_UNSIGNED_INT_10_10_10_2}
GL_UNSIGNED_BYTE_2_3_3_REV = $8362;
{$EXTERNALSYM GL_UNSIGNED_BYTE_2_3_3_REV}
GL_UNSIGNED_SHORT_5_6_5 = $8363;
{$EXTERNALSYM GL_UNSIGNED_SHORT_5_6_5}
GL_UNSIGNED_SHORT_5_6_5_REV = $8364;
{$EXTERNALSYM GL_UNSIGNED_SHORT_5_6_5_REV}
GL_UNSIGNED_SHORT_4_4_4_4_REV = $8365;
{$EXTERNALSYM GL_UNSIGNED_SHORT_4_4_4_4_REV}
GL_UNSIGNED_SHORT_1_5_5_5_REV = $8366;
{$EXTERNALSYM GL_UNSIGNED_SHORT_1_5_5_5_REV}
GL_UNSIGNED_INT_8_8_8_8_REV = $8367;
{$EXTERNALSYM GL_UNSIGNED_INT_8_8_8_8_REV}
GL_UNSIGNED_INT_2_10_10_10_REV = $8368;
{$EXTERNALSYM GL_UNSIGNED_INT_2_10_10_10_REV}
// GL_ARB_transpose_matrix
GL_TRANSPOSE_MODELVIEW_MATRIX_ARB = $84E3;
{$EXTERNALSYM GL_TRANSPOSE_MODELVIEW_MATRIX_ARB}
GL_TRANSPOSE_PROJECTION_MATRIX_ARB = $84E4;
{$EXTERNALSYM GL_TRANSPOSE_PROJECTION_MATRIX_ARB}
GL_TRANSPOSE_TEXTURE_MATRIX_ARB = $84E5;
{$EXTERNALSYM GL_TRANSPOSE_TEXTURE_MATRIX_ARB}
GL_TRANSPOSE_COLOR_MATRIX_ARB = $84E6;
{$EXTERNALSYM GL_TRANSPOSE_COLOR_MATRIX_ARB}
// GL_ARB_multisample
GL_MULTISAMPLE_ARB = $809D;
{$EXTERNALSYM GL_MULTISAMPLE_ARB}
GL_SAMPLE_ALPHA_TO_COVERAGE_ARB = $809E;
{$EXTERNALSYM GL_SAMPLE_ALPHA_TO_COVERAGE_ARB}
GL_SAMPLE_ALPHA_TO_ONE_ARB = $809F;
{$EXTERNALSYM GL_SAMPLE_ALPHA_TO_ONE_ARB}
GL_SAMPLE_COVERAGE_ARB = $80A0;
{$EXTERNALSYM GL_SAMPLE_COVERAGE_ARB}
GL_SAMPLE_BUFFERS_ARB = $80A8;
{$EXTERNALSYM GL_SAMPLE_BUFFERS_ARB}
GL_SAMPLES_ARB = $80A9;
{$EXTERNALSYM GL_SAMPLES_ARB}
GL_SAMPLE_COVERAGE_VALUE_ARB = $80AA;
{$EXTERNALSYM GL_SAMPLE_COVERAGE_VALUE_ARB}
GL_SAMPLE_COVERAGE_INVERT_ARB = $80AB;
{$EXTERNALSYM GL_SAMPLE_COVERAGE_INVERT_ARB}
GL_MULTISAMPLE_BIT_ARB = $20000000;
{$EXTERNALSYM GL_MULTISAMPLE_BIT_ARB}
GLX_SAMPLE_BUFFERS_ARB = 100000;
{$EXTERNALSYM GLX_SAMPLE_BUFFERS_ARB}
GLX_SAMPLES_ARB = 100001;
{$EXTERNALSYM GLX_SAMPLES_ARB}
WGL_SAMPLE_BUFFERS_ARB = $2041;
{$EXTERNALSYM WGL_SAMPLE_BUFFERS_ARB}
WGL_SAMPLES_ARB = $2042;
{$EXTERNALSYM WGL_SAMPLES_ARB}
// GL_ARB_texture_cube_map
GL_NORMAL_MAP_ARB = $8511;
{$EXTERNALSYM GL_NORMAL_MAP_ARB}
GL_REFLECTION_MAP_ARB = $8512;
{$EXTERNALSYM GL_REFLECTION_MAP_ARB}
GL_TEXTURE_CUBE_MAP_ARB = $8513;
{$EXTERNALSYM GL_TEXTURE_CUBE_MAP_ARB}
GL_TEXTURE_BINDING_CUBE_MAP_ARB = $8514;
{$EXTERNALSYM GL_TEXTURE_BINDING_CUBE_MAP_ARB}
GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = $8515;
{$EXTERNALSYM GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB}
GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = $8516;
{$EXTERNALSYM GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB}
GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = $8517;
{$EXTERNALSYM GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB}
GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = $8518;
{$EXTERNALSYM GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB}
GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = $8519;
{$EXTERNALSYM GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB}
GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = $851A;
{$EXTERNALSYM GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB}
GL_PROXY_TEXTURE_CUBE_MAP_ARB = $851B;
{$EXTERNALSYM GL_PROXY_TEXTURE_CUBE_MAP_ARB}
GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = $851C;
{$EXTERNALSYM GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB}
// GL_ARB_texture_compression
GL_COMPRESSED_ALPHA_ARB = $84E9;
{$EXTERNALSYM GL_COMPRESSED_ALPHA_ARB}
GL_COMPRESSED_LUMINANCE_ARB = $84EA;
{$EXTERNALSYM GL_COMPRESSED_LUMINANCE_ARB}
GL_COMPRESSED_LUMINANCE_ALPHA_ARB = $84EB;
{$EXTERNALSYM GL_COMPRESSED_LUMINANCE_ALPHA_ARB}
GL_COMPRESSED_INTENSITY_ARB = $84EC;
{$EXTERNALSYM GL_COMPRESSED_INTENSITY_ARB}
GL_COMPRESSED_RGB_ARB = $84ED;
{$EXTERNALSYM GL_COMPRESSED_RGB_ARB}
GL_COMPRESSED_RGBA_ARB = $84EE;
{$EXTERNALSYM GL_COMPRESSED_RGBA_ARB}
GL_TEXTURE_COMPRESSION_HINT_ARB = $84EF;
{$EXTERNALSYM GL_TEXTURE_COMPRESSION_HINT_ARB}
GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = $86A0;
{$EXTERNALSYM GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB}
GL_TEXTURE_COMPRESSED_ARB = $86A1;
{$EXTERNALSYM GL_TEXTURE_COMPRESSED_ARB}
GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = $86A2;
{$EXTERNALSYM GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB}
GL_COMPRESSED_TEXTURE_FORMATS_ARB = $86A3;
{$EXTERNALSYM GL_COMPRESSED_TEXTURE_FORMATS_ARB}
// GL_ARB_vertex_blend
GL_MAX_VERTEX_UNITS_ARB = $86A4;
{$EXTERNALSYM GL_MAX_VERTEX_UNITS_ARB}
GL_ACTIVE_VERTEX_UNITS_ARB = $86A5;
{$EXTERNALSYM GL_ACTIVE_VERTEX_UNITS_ARB}
GL_WEIGHT_SUM_UNITY_ARB = $86A6;
{$EXTERNALSYM GL_WEIGHT_SUM_UNITY_ARB}
GL_VERTEX_BLEND_ARB = $86A7;
{$EXTERNALSYM GL_VERTEX_BLEND_ARB}
GL_CURRENT_WEIGHT_ARB = $86A8;
{$EXTERNALSYM GL_CURRENT_WEIGHT_ARB}
GL_WEIGHT_ARRAY_TYPE_ARB = $86A9;
{$EXTERNALSYM GL_WEIGHT_ARRAY_TYPE_ARB}
GL_WEIGHT_ARRAY_STRIDE_ARB = $86AA;
{$EXTERNALSYM GL_WEIGHT_ARRAY_STRIDE_ARB}
GL_WEIGHT_ARRAY_SIZE_ARB = $86AB;
{$EXTERNALSYM GL_WEIGHT_ARRAY_SIZE_ARB}
GL_WEIGHT_ARRAY_POINTER_ARB = $86AC;
{$EXTERNALSYM GL_WEIGHT_ARRAY_POINTER_ARB}
GL_WEIGHT_ARRAY_ARB = $86AD;
{$EXTERNALSYM GL_WEIGHT_ARRAY_ARB}
GL_MODELVIEW0_ARB = $1700;
{$EXTERNALSYM GL_MODELVIEW0_ARB}
GL_MODELVIEW1_ARB = $850A;
{$EXTERNALSYM GL_MODELVIEW1_ARB}
GL_MODELVIEW2_ARB = $8722;
{$EXTERNALSYM GL_MODELVIEW2_ARB}
GL_MODELVIEW3_ARB = $8723;
{$EXTERNALSYM GL_MODELVIEW3_ARB}
GL_MODELVIEW4_ARB = $8724;
{$EXTERNALSYM GL_MODELVIEW4_ARB}
GL_MODELVIEW5_ARB = $8725;
{$EXTERNALSYM GL_MODELVIEW5_ARB}
GL_MODELVIEW6_ARB = $8726;
{$EXTERNALSYM GL_MODELVIEW6_ARB}
GL_MODELVIEW7_ARB = $8727;
{$EXTERNALSYM GL_MODELVIEW7_ARB}
GL_MODELVIEW8_ARB = $8728;
{$EXTERNALSYM GL_MODELVIEW8_ARB}
GL_MODELVIEW9_ARB = $8729;
{$EXTERNALSYM GL_MODELVIEW9_ARB}
GL_MODELVIEW10_ARB = $872A;
{$EXTERNALSYM GL_MODELVIEW10_ARB}
GL_MODELVIEW11_ARB = $872B;
{$EXTERNALSYM GL_MODELVIEW11_ARB}
GL_MODELVIEW12_ARB = $872C;
{$EXTERNALSYM GL_MODELVIEW12_ARB}
GL_MODELVIEW13_ARB = $872D;
{$EXTERNALSYM GL_MODELVIEW13_ARB}
GL_MODELVIEW14_ARB = $872E;
{$EXTERNALSYM GL_MODELVIEW14_ARB}
GL_MODELVIEW15_ARB = $872F;
{$EXTERNALSYM GL_MODELVIEW15_ARB}
GL_MODELVIEW16_ARB = $8730;
{$EXTERNALSYM GL_MODELVIEW16_ARB}
GL_MODELVIEW17_ARB = $8731;
{$EXTERNALSYM GL_MODELVIEW17_ARB}
GL_MODELVIEW18_ARB = $8732;
{$EXTERNALSYM GL_MODELVIEW18_ARB}
GL_MODELVIEW19_ARB = $8733;
{$EXTERNALSYM GL_MODELVIEW19_ARB}
GL_MODELVIEW20_ARB = $8734;
{$EXTERNALSYM GL_MODELVIEW20_ARB}
GL_MODELVIEW21_ARB = $8735;
{$EXTERNALSYM GL_MODELVIEW21_ARB}
GL_MODELVIEW22_ARB = $8736;
{$EXTERNALSYM GL_MODELVIEW22_ARB}
GL_MODELVIEW23_ARB = $8737;
{$EXTERNALSYM GL_MODELVIEW23_ARB}
GL_MODELVIEW24_ARB = $8738;
{$EXTERNALSYM GL_MODELVIEW24_ARB}
GL_MODELVIEW25_ARB = $8739;
{$EXTERNALSYM GL_MODELVIEW25_ARB}
GL_MODELVIEW26_ARB = $873A;
{$EXTERNALSYM GL_MODELVIEW26_ARB}
GL_MODELVIEW27_ARB = $873B;
{$EXTERNALSYM GL_MODELVIEW27_ARB}
GL_MODELVIEW28_ARB = $873C;
{$EXTERNALSYM GL_MODELVIEW28_ARB}
GL_MODELVIEW29_ARB = $873D;
{$EXTERNALSYM GL_MODELVIEW29_ARB}
GL_MODELVIEW30_ARB = $873E;
{$EXTERNALSYM GL_MODELVIEW30_ARB}
GL_MODELVIEW31_ARB = $873F;
{$EXTERNALSYM GL_MODELVIEW31_ARB}
// GL_SGIS_texture_filter4
GL_FILTER4_SGIS = $8146;
{$EXTERNALSYM GL_FILTER4_SGIS}
GL_TEXTURE_FILTER4_SIZE_SGIS = $8147;
{$EXTERNALSYM GL_TEXTURE_FILTER4_SIZE_SGIS}
// GL_SGIS_pixel_texture
GL_PIXEL_TEXTURE_SGIS = $8353;
{$EXTERNALSYM GL_PIXEL_TEXTURE_SGIS}
GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS = $8354;
{$EXTERNALSYM GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS}
GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = $8355;
{$EXTERNALSYM GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS}
GL_PIXEL_GROUP_COLOR_SGIS = $8356;
{$EXTERNALSYM GL_PIXEL_GROUP_COLOR_SGIS}
// GL_SGIX_pixel_texture
GL_PIXEL_TEX_GEN_SGIX = $8139;
{$EXTERNALSYM GL_PIXEL_TEX_GEN_SGIX}
GL_PIXEL_TEX_GEN_MODE_SGIX = $832B;
{$EXTERNALSYM GL_PIXEL_TEX_GEN_MODE_SGIX}
// GL_SGIS_texture4D
GL_PACK_SKIP_VOLUMES_SGIS = $8130;
{$EXTERNALSYM GL_PACK_SKIP_VOLUMES_SGIS}
GL_PACK_IMAGE_DEPTH_SGIS = $8131;
{$EXTERNALSYM GL_PACK_IMAGE_DEPTH_SGIS}
GL_UNPACK_SKIP_VOLUMES_SGIS = $8132;
{$EXTERNALSYM GL_UNPACK_SKIP_VOLUMES_SGIS}
GL_UNPACK_IMAGE_DEPTH_SGIS = $8133;
{$EXTERNALSYM GL_UNPACK_IMAGE_DEPTH_SGIS}
GL_TEXTURE_4D_SGIS = $8134;
{$EXTERNALSYM GL_TEXTURE_4D_SGIS}
GL_PROXY_TEXTURE_4D_SGIS = $8135;
{$EXTERNALSYM GL_PROXY_TEXTURE_4D_SGIS}
GL_TEXTURE_4DSIZE_SGIS = $8136;
{$EXTERNALSYM GL_TEXTURE_4DSIZE_SGIS}
GL_TEXTURE_WRAP_Q_SGIS = $8137;
{$EXTERNALSYM GL_TEXTURE_WRAP_Q_SGIS}
GL_MAX_4D_TEXTURE_SIZE_SGIS = $8138;
{$EXTERNALSYM GL_MAX_4D_TEXTURE_SIZE_SGIS}
GL_TEXTURE_4D_BINDING_SGIS = $814F;
{$EXTERNALSYM GL_TEXTURE_4D_BINDING_SGIS}
// GL_SGIS_detail_texture
GL_DETAIL_TEXTURE_2D_SGIS = $8095;
{$EXTERNALSYM GL_DETAIL_TEXTURE_2D_SGIS}
GL_DETAIL_TEXTURE_2D_BINDING_SGIS = $8096;
{$EXTERNALSYM GL_DETAIL_TEXTURE_2D_BINDING_SGIS}
GL_LINEAR_DETAIL_SGIS = $8097;
{$EXTERNALSYM GL_LINEAR_DETAIL_SGIS}
GL_LINEAR_DETAIL_ALPHA_SGIS = $8098;
{$EXTERNALSYM GL_LINEAR_DETAIL_ALPHA_SGIS}
GL_LINEAR_DETAIL_COLOR_SGIS = $8099;
{$EXTERNALSYM GL_LINEAR_DETAIL_COLOR_SGIS}
GL_DETAIL_TEXTURE_LEVEL_SGIS = $809A;
{$EXTERNALSYM GL_DETAIL_TEXTURE_LEVEL_SGIS}
GL_DETAIL_TEXTURE_MODE_SGIS = $809B;
{$EXTERNALSYM GL_DETAIL_TEXTURE_MODE_SGIS}
GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS = $809C;
{$EXTERNALSYM GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS}
// GL_SGIS_sharpen_texture
GL_LINEAR_SHARPEN_SGIS = $80AD;
{$EXTERNALSYM GL_LINEAR_SHARPEN_SGIS}
GL_LINEAR_SHARPEN_ALPHA_SGIS = $80AE;
{$EXTERNALSYM GL_LINEAR_SHARPEN_ALPHA_SGIS}
GL_LINEAR_SHARPEN_COLOR_SGIS = $80AF;
{$EXTERNALSYM GL_LINEAR_SHARPEN_COLOR_SGIS}
GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS = $80B0;
{$EXTERNALSYM GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS}
// GL_SGIS_texture_lod
GL_TEXTURE_MIN_LOD_SGIS = $813A;
{$EXTERNALSYM GL_TEXTURE_MIN_LOD_SGIS}
GL_TEXTURE_MAX_LOD_SGIS = $813B;
{$EXTERNALSYM GL_TEXTURE_MAX_LOD_SGIS}
GL_TEXTURE_BASE_LEVEL_SGIS = $813C;
{$EXTERNALSYM GL_TEXTURE_BASE_LEVEL_SGIS}
GL_TEXTURE_MAX_LEVEL_SGIS = $813D;
{$EXTERNALSYM GL_TEXTURE_MAX_LEVEL_SGIS}
// GL_SGIS_multisample
GL_MULTISAMPLE_SGIS = $809D;
{$EXTERNALSYM GL_MULTISAMPLE_SGIS}
GL_SAMPLE_ALPHA_TO_MASK_SGIS = $809E;
{$EXTERNALSYM GL_SAMPLE_ALPHA_TO_MASK_SGIS}
GL_SAMPLE_ALPHA_TO_ONE_SGIS = $809F;
{$EXTERNALSYM GL_SAMPLE_ALPHA_TO_ONE_SGIS}
GL_SAMPLE_MASK_SGIS = $80A0;
{$EXTERNALSYM GL_SAMPLE_MASK_SGIS}
GL_1PASS_SGIS = $80A1;
{$EXTERNALSYM GL_1PASS_SGIS}
GL_2PASS_0_SGIS = $80A2;
{$EXTERNALSYM GL_2PASS_0_SGIS}
GL_2PASS_1_SGIS = $80A3;
{$EXTERNALSYM GL_2PASS_1_SGIS}
GL_4PASS_0_SGIS = $80A4;
{$EXTERNALSYM GL_4PASS_0_SGIS}
GL_4PASS_1_SGIS = $80A5;
{$EXTERNALSYM GL_4PASS_1_SGIS}
GL_4PASS_2_SGIS = $80A6;
{$EXTERNALSYM GL_4PASS_2_SGIS}
GL_4PASS_3_SGIS = $80A7;
{$EXTERNALSYM GL_4PASS_3_SGIS}
GL_SAMPLE_BUFFERS_SGIS = $80A8;
{$EXTERNALSYM GL_SAMPLE_BUFFERS_SGIS}
GL_SAMPLES_SGIS = $80A9;
{$EXTERNALSYM GL_SAMPLES_SGIS}
GL_SAMPLE_MASK_VALUE_SGIS = $80AA;
{$EXTERNALSYM GL_SAMPLE_MASK_VALUE_SGIS}
GL_SAMPLE_MASK_INVERT_SGIS = $80AB;
{$EXTERNALSYM GL_SAMPLE_MASK_INVERT_SGIS}
GL_SAMPLE_PATTERN_SGIS = $80AC;
{$EXTERNALSYM GL_SAMPLE_PATTERN_SGIS}
// GL_SGIS_generate_mipmap
GL_GENERATE_MIPMAP_SGIS = $8191;
{$EXTERNALSYM GL_GENERATE_MIPMAP_SGIS}
GL_GENERATE_MIPMAP_HINT_SGIS = $8192;
{$EXTERNALSYM GL_GENERATE_MIPMAP_HINT_SGIS}
// GL_SGIX_clipmap
GL_LINEAR_CLIPMAP_LINEAR_SGIX = $8170;
{$EXTERNALSYM GL_LINEAR_CLIPMAP_LINEAR_SGIX}
GL_TEXTURE_CLIPMAP_CENTER_SGIX = $8171;
{$EXTERNALSYM GL_TEXTURE_CLIPMAP_CENTER_SGIX}
GL_TEXTURE_CLIPMAP_FRAME_SGIX = $8172;
{$EXTERNALSYM GL_TEXTURE_CLIPMAP_FRAME_SGIX}
GL_TEXTURE_CLIPMAP_OFFSET_SGIX = $8173;
{$EXTERNALSYM GL_TEXTURE_CLIPMAP_OFFSET_SGIX}
GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = $8174;
{$EXTERNALSYM GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX}
GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = $8175;
{$EXTERNALSYM GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX}
GL_TEXTURE_CLIPMAP_DEPTH_SGIX = $8176;
{$EXTERNALSYM GL_TEXTURE_CLIPMAP_DEPTH_SGIX}
GL_MAX_CLIPMAP_DEPTH_SGIX = $8177;
{$EXTERNALSYM GL_MAX_CLIPMAP_DEPTH_SGIX}
GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = $8178;
{$EXTERNALSYM GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX}
GL_NEAREST_CLIPMAP_NEAREST_SGIX = $844D;
{$EXTERNALSYM GL_NEAREST_CLIPMAP_NEAREST_SGIX}
GL_NEAREST_CLIPMAP_LINEAR_SGIX = $844E;
{$EXTERNALSYM GL_NEAREST_CLIPMAP_LINEAR_SGIX}
GL_LINEAR_CLIPMAP_NEAREST_SGIX = $844F;
{$EXTERNALSYM GL_LINEAR_CLIPMAP_NEAREST_SGIX}
// GL_SGIX_shadow
GL_TEXTURE_COMPARE_SGIX = $819A;
{$EXTERNALSYM GL_TEXTURE_COMPARE_SGIX}
GL_TEXTURE_COMPARE_OPERATOR_SGIX = $819B;
{$EXTERNALSYM GL_TEXTURE_COMPARE_OPERATOR_SGIX}
GL_TEXTURE_LEQUAL_R_SGIX = $819C;
{$EXTERNALSYM GL_TEXTURE_LEQUAL_R_SGIX}
GL_TEXTURE_GEQUAL_R_SGIX = $819D;
{$EXTERNALSYM GL_TEXTURE_GEQUAL_R_SGIX}
// GL_SGIS_texture_edge_clamp
GL_CLAMP_TO_EDGE_SGIS = $812F;
{$EXTERNALSYM GL_CLAMP_TO_EDGE_SGIS}
// GL_SGIS_texture_border_clamp
GL_CLAMP_TO_BORDER_SGIS = $812D;
{$EXTERNALSYM GL_CLAMP_TO_BORDER_SGIS}
// GL_SGIX_interlace
GL_INTERLACE_SGIX = $8094;
{$EXTERNALSYM GL_INTERLACE_SGIX}
// GL_SGIX_pixel_tiles
GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX = $813E;
{$EXTERNALSYM GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX}
GL_PIXEL_TILE_CACHE_INCREMENT_SGIX = $813F;
{$EXTERNALSYM GL_PIXEL_TILE_CACHE_INCREMENT_SGIX}
GL_PIXEL_TILE_WIDTH_SGIX = $8140;
{$EXTERNALSYM GL_PIXEL_TILE_WIDTH_SGIX}
GL_PIXEL_TILE_HEIGHT_SGIX = $8141;
{$EXTERNALSYM GL_PIXEL_TILE_HEIGHT_SGIX}
GL_PIXEL_TILE_GRID_WIDTH_SGIX = $8142;
{$EXTERNALSYM GL_PIXEL_TILE_GRID_WIDTH_SGIX}
GL_PIXEL_TILE_GRID_HEIGHT_SGIX = $8143;
{$EXTERNALSYM GL_PIXEL_TILE_GRID_HEIGHT_SGIX}
GL_PIXEL_TILE_GRID_DEPTH_SGIX = $8144;
{$EXTERNALSYM GL_PIXEL_TILE_GRID_DEPTH_SGIX}
GL_PIXEL_TILE_CACHE_SIZE_SGIX = $8145;
{$EXTERNALSYM GL_PIXEL_TILE_CACHE_SIZE_SGIX}
// GL_SGIS_texture_select
GL_DUAL_ALPHA4_SGIS = $8110;
{$EXTERNALSYM GL_DUAL_ALPHA4_SGIS}
GL_DUAL_ALPHA8_SGIS = $8111;
{$EXTERNALSYM GL_DUAL_ALPHA8_SGIS}
GL_DUAL_ALPHA12_SGIS = $8112;
{$EXTERNALSYM GL_DUAL_ALPHA12_SGIS}
GL_DUAL_ALPHA16_SGIS = $8113;
{$EXTERNALSYM GL_DUAL_ALPHA16_SGIS}
GL_DUAL_LUMINANCE4_SGIS = $8114;
{$EXTERNALSYM GL_DUAL_LUMINANCE4_SGIS}
GL_DUAL_LUMINANCE8_SGIS = $8115;
{$EXTERNALSYM GL_DUAL_LUMINANCE8_SGIS}
GL_DUAL_LUMINANCE12_SGIS = $8116;
{$EXTERNALSYM GL_DUAL_LUMINANCE12_SGIS}
GL_DUAL_LUMINANCE16_SGIS = $8117;
{$EXTERNALSYM GL_DUAL_LUMINANCE16_SGIS}
GL_DUAL_INTENSITY4_SGIS = $8118;
{$EXTERNALSYM GL_DUAL_INTENSITY4_SGIS}
GL_DUAL_INTENSITY8_SGIS = $8119;
{$EXTERNALSYM GL_DUAL_INTENSITY8_SGIS}
GL_DUAL_INTENSITY12_SGIS = $811A;
{$EXTERNALSYM GL_DUAL_INTENSITY12_SGIS}
GL_DUAL_INTENSITY16_SGIS = $811B;
{$EXTERNALSYM GL_DUAL_INTENSITY16_SGIS}
GL_DUAL_LUMINANCE_ALPHA4_SGIS = $811C;
{$EXTERNALSYM GL_DUAL_LUMINANCE_ALPHA4_SGIS}
GL_DUAL_LUMINANCE_ALPHA8_SGIS = $811D;
{$EXTERNALSYM GL_DUAL_LUMINANCE_ALPHA8_SGIS}
GL_QUAD_ALPHA4_SGIS = $811E;
{$EXTERNALSYM GL_QUAD_ALPHA4_SGIS}
GL_QUAD_ALPHA8_SGIS = $811F;
{$EXTERNALSYM GL_QUAD_ALPHA8_SGIS}
GL_QUAD_LUMINANCE4_SGIS = $8120;
{$EXTERNALSYM GL_QUAD_LUMINANCE4_SGIS}
GL_QUAD_LUMINANCE8_SGIS = $8121;
{$EXTERNALSYM GL_QUAD_LUMINANCE8_SGIS}
GL_QUAD_INTENSITY4_SGIS = $8122;
{$EXTERNALSYM GL_QUAD_INTENSITY4_SGIS}
GL_QUAD_INTENSITY8_SGIS = $8123;
{$EXTERNALSYM GL_QUAD_INTENSITY8_SGIS}
GL_DUAL_TEXTURE_SELECT_SGIS = $8124;
{$EXTERNALSYM GL_DUAL_TEXTURE_SELECT_SGIS}
GL_QUAD_TEXTURE_SELECT_SGIS = $8125;
{$EXTERNALSYM GL_QUAD_TEXTURE_SELECT_SGIS}
// GL_SGIX_sprite
GL_SPRITE_SGIX = $8148;
{$EXTERNALSYM GL_SPRITE_SGIX}
GL_SPRITE_MODE_SGIX = $8149;
{$EXTERNALSYM GL_SPRITE_MODE_SGIX}
GL_SPRITE_AXIS_SGIX = $814A;
{$EXTERNALSYM GL_SPRITE_AXIS_SGIX}
GL_SPRITE_TRANSLATION_SGIX = $814B;
{$EXTERNALSYM GL_SPRITE_TRANSLATION_SGIX}
GL_SPRITE_AXIAL_SGIX = $814C;
{$EXTERNALSYM GL_SPRITE_AXIAL_SGIX}
GL_SPRITE_OBJECT_ALIGNED_SGIX = $814D;
{$EXTERNALSYM GL_SPRITE_OBJECT_ALIGNED_SGIX}
GL_SPRITE_EYE_ALIGNED_SGIX = $814E;
{$EXTERNALSYM GL_SPRITE_EYE_ALIGNED_SGIX}
// GL_SGIX_texture_multi_buffer
GL_TEXTURE_MULTI_BUFFER_HINT_SGIX = $812E;
{$EXTERNALSYM GL_TEXTURE_MULTI_BUFFER_HINT_SGIX}
// GL_SGIS_point_parameters
GL_POINT_SIZE_MIN_SGIS = $8126;
{$EXTERNALSYM GL_POINT_SIZE_MIN_SGIS}
GL_POINT_SIZE_MAX_SGIS = $8127;
{$EXTERNALSYM GL_POINT_SIZE_MAX_SGIS}
GL_POINT_FADE_THRESHOLD_SIZE_SGIS = $8128;
{$EXTERNALSYM GL_POINT_FADE_THRESHOLD_SIZE_SGIS}
GL_DISTANCE_ATTENUATION_SGIS = $8129;
{$EXTERNALSYM GL_DISTANCE_ATTENUATION_SGIS}
// GL_SGIX_instruments
GL_INSTRUMENT_BUFFER_POINTER_SGIX = $8180;
{$EXTERNALSYM GL_INSTRUMENT_BUFFER_POINTER_SGIX}
GL_INSTRUMENT_MEASUREMENTS_SGIX = $8181;
{$EXTERNALSYM GL_INSTRUMENT_MEASUREMENTS_SGIX}
// GL_SGIX_texture_scale_bias
GL_POST_TEXTURE_FILTER_BIAS_SGIX = $8179;
{$EXTERNALSYM GL_POST_TEXTURE_FILTER_BIAS_SGIX}
GL_POST_TEXTURE_FILTER_SCALE_SGIX = $817A;
{$EXTERNALSYM GL_POST_TEXTURE_FILTER_SCALE_SGIX}
GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = $817B;
{$EXTERNALSYM GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX}
GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = $817C;
{$EXTERNALSYM GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX}
// GL_SGIX_framezoom
GL_FRAMEZOOM_SGIX = $818B;
{$EXTERNALSYM GL_FRAMEZOOM_SGIX}
GL_FRAMEZOOM_FACTOR_SGIX = $818C;
{$EXTERNALSYM GL_FRAMEZOOM_FACTOR_SGIX}
GL_MAX_FRAMEZOOM_FACTOR_SGIX = $818D;
{$EXTERNALSYM GL_MAX_FRAMEZOOM_FACTOR_SGIX}
// GL_FfdMaskSGIX
GL_TEXTURE_DEFORMATION_BIT_SGIX = $00000001;
{$EXTERNALSYM GL_TEXTURE_DEFORMATION_BIT_SGIX}
GL_GEOMETRY_DEFORMATION_BIT_SGIX = $00000002;
{$EXTERNALSYM GL_GEOMETRY_DEFORMATION_BIT_SGIX}
// GL_SGIX_polynomial_ffd
GL_GEOMETRY_DEFORMATION_SGIX = $8194;
{$EXTERNALSYM GL_GEOMETRY_DEFORMATION_SGIX}
GL_TEXTURE_DEFORMATION_SGIX = $8195;
{$EXTERNALSYM GL_TEXTURE_DEFORMATION_SGIX}
GL_DEFORMATIONS_MASK_SGIX = $8196;
{$EXTERNALSYM GL_DEFORMATIONS_MASK_SGIX}
GL_MAX_DEFORMATION_ORDER_SGIX = $8197;
{$EXTERNALSYM GL_MAX_DEFORMATION_ORDER_SGIX}
// GL_SGIX_reference_plane
GL_REFERENCE_PLANE_SGIX = $817D;
{$EXTERNALSYM GL_REFERENCE_PLANE_SGIX}
GL_REFERENCE_PLANE_EQUATION_SGIX = $817E;
{$EXTERNALSYM GL_REFERENCE_PLANE_EQUATION_SGIX}
// GL_SGIX_depth_texture
GL_DEPTH_COMPONENT16_SGIX = $81A5;
{$EXTERNALSYM GL_DEPTH_COMPONENT16_SGIX}
GL_DEPTH_COMPONENT24_SGIX = $81A6;
{$EXTERNALSYM GL_DEPTH_COMPONENT24_SGIX}
GL_DEPTH_COMPONENT32_SGIX = $81A7;
{$EXTERNALSYM GL_DEPTH_COMPONENT32_SGIX}
// GL_SGIS_fog_function
GL_FOG_FUNC_SGIS = $812A;
{$EXTERNALSYM GL_FOG_FUNC_SGIS}
GL_FOG_FUNC_POINTS_SGIS = $812B;
{$EXTERNALSYM GL_FOG_FUNC_POINTS_SGIS}
GL_MAX_FOG_FUNC_POINTS_SGIS = $812C;
{$EXTERNALSYM GL_MAX_FOG_FUNC_POINTS_SGIS}
// GL_SGIX_fog_offset
GL_FOG_OFFSET_SGIX = $8198;
{$EXTERNALSYM GL_FOG_OFFSET_SGIX}
GL_FOG_OFFSET_VALUE_SGIX = $8199;
{$EXTERNALSYM GL_FOG_OFFSET_VALUE_SGIX}
// GL_HP_image_transform
GL_IMAGE_SCALE_X_HP = $8155;
{$EXTERNALSYM GL_IMAGE_SCALE_X_HP}
GL_IMAGE_SCALE_Y_HP = $8156;
{$EXTERNALSYM GL_IMAGE_SCALE_Y_HP}
GL_IMAGE_TRANSLATE_X_HP = $8157;
{$EXTERNALSYM GL_IMAGE_TRANSLATE_X_HP}
GL_IMAGE_TRANSLATE_Y_HP = $8158;
{$EXTERNALSYM GL_IMAGE_TRANSLATE_Y_HP}
GL_IMAGE_ROTATE_ANGLE_HP = $8159;
{$EXTERNALSYM GL_IMAGE_ROTATE_ANGLE_HP}
GL_IMAGE_ROTATE_ORIGIN_X_HP = $815A;
{$EXTERNALSYM GL_IMAGE_ROTATE_ORIGIN_X_HP}
GL_IMAGE_ROTATE_ORIGIN_Y_HP = $815B;
{$EXTERNALSYM GL_IMAGE_ROTATE_ORIGIN_Y_HP}
GL_IMAGE_MAG_FILTER_HP = $815C;
{$EXTERNALSYM GL_IMAGE_MAG_FILTER_HP}
GL_IMAGE_MIN_FILTER_HP = $815D;
{$EXTERNALSYM GL_IMAGE_MIN_FILTER_HP}
GL_IMAGE_CUBIC_WEIGHT_HP = $815E;
{$EXTERNALSYM GL_IMAGE_CUBIC_WEIGHT_HP}
GL_CUBIC_HP = $815F;
{$EXTERNALSYM GL_CUBIC_HP}
GL_AVERAGE_HP = $8160;
{$EXTERNALSYM GL_AVERAGE_HP}
GL_IMAGE_TRANSFORM_2D_HP = $8161;
{$EXTERNALSYM GL_IMAGE_TRANSFORM_2D_HP}
GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = $8162;
{$EXTERNALSYM GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP}
GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = $8163;
{$EXTERNALSYM GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP}
// GL_HP_convolution_border_modes
GL_IGNORE_BORDER_HP = $8150;
{$EXTERNALSYM GL_IGNORE_BORDER_HP}
GL_CONSTANT_BORDER_HP = $8151;
{$EXTERNALSYM GL_CONSTANT_BORDER_HP}
GL_REPLICATE_BORDER_HP = $8153;
{$EXTERNALSYM GL_REPLICATE_BORDER_HP}
GL_CONVOLUTION_BORDER_COLOR_HP = $8154;
{$EXTERNALSYM GL_CONVOLUTION_BORDER_COLOR_HP}
// GL_SGIX_texture_add_env
GL_TEXTURE_ENV_BIAS_SGIX = $80BE;
{$EXTERNALSYM GL_TEXTURE_ENV_BIAS_SGIX}
// GL_PGI_vertex_hints
GL_VERTEX_DATA_HINT_PGI = $1A22A;
{$EXTERNALSYM GL_VERTEX_DATA_HINT_PGI}
GL_VERTEX_CONSISTENT_HINT_PGI = $1A22B;
{$EXTERNALSYM GL_VERTEX_CONSISTENT_HINT_PGI}
GL_MATERIAL_SIDE_HINT_PGI = $1A22C;
{$EXTERNALSYM GL_MATERIAL_SIDE_HINT_PGI}
GL_MAX_VERTEX_HINT_PGI = $1A22D;
{$EXTERNALSYM GL_MAX_VERTEX_HINT_PGI}
GL_COLOR3_BIT_PGI = $00010000;
{$EXTERNALSYM GL_COLOR3_BIT_PGI}
GL_COLOR4_BIT_PGI = $00020000;
{$EXTERNALSYM GL_COLOR4_BIT_PGI}
GL_EDGEFLAG_BIT_PGI = $00040000;
{$EXTERNALSYM GL_EDGEFLAG_BIT_PGI}
GL_INDEX_BIT_PGI = $00080000;
{$EXTERNALSYM GL_INDEX_BIT_PGI}
GL_MAT_AMBIENT_BIT_PGI = $00100000;
{$EXTERNALSYM GL_MAT_AMBIENT_BIT_PGI}
GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = $00200000;
{$EXTERNALSYM GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI}
GL_MAT_DIFFUSE_BIT_PGI = $00400000;
{$EXTERNALSYM GL_MAT_DIFFUSE_BIT_PGI}
GL_MAT_EMISSION_BIT_PGI = $00800000;
{$EXTERNALSYM GL_MAT_EMISSION_BIT_PGI}
GL_MAT_COLOR_INDEXES_BIT_PGI = $01000000;
{$EXTERNALSYM GL_MAT_COLOR_INDEXES_BIT_PGI}
GL_MAT_SHININESS_BIT_PGI = $02000000;
{$EXTERNALSYM GL_MAT_SHININESS_BIT_PGI}
GL_MAT_SPECULAR_BIT_PGI = $04000000;
{$EXTERNALSYM GL_MAT_SPECULAR_BIT_PGI}
GL_NORMAL_BIT_PGI = $08000000;
{$EXTERNALSYM GL_NORMAL_BIT_PGI}
GL_TEXCOORD1_BIT_PGI = $10000000;
{$EXTERNALSYM GL_TEXCOORD1_BIT_PGI}
GL_TEXCOORD2_BIT_PGI = $20000000;
{$EXTERNALSYM GL_TEXCOORD2_BIT_PGI}
GL_TEXCOORD3_BIT_PGI = $40000000;
{$EXTERNALSYM GL_TEXCOORD3_BIT_PGI}
GL_TEXCOORD4_BIT_PGI = $80000000;
{$EXTERNALSYM GL_TEXCOORD4_BIT_PGI}
GL_VERTEX23_BIT_PGI = $00000004;
{$EXTERNALSYM GL_VERTEX23_BIT_PGI}
GL_VERTEX4_BIT_PGI = $00000008;
{$EXTERNALSYM GL_VERTEX4_BIT_PGI}
// GL_PGI_misc_hints
GL_PREFER_DOUBLEBUFFER_HINT_PGI = $1A1F8;
{$EXTERNALSYM GL_PREFER_DOUBLEBUFFER_HINT_PGI}
GL_CONSERVE_MEMORY_HINT_PGI = $1A1FD;
{$EXTERNALSYM GL_CONSERVE_MEMORY_HINT_PGI}
GL_RECLAIM_MEMORY_HINT_PGI = $1A1FE;
{$EXTERNALSYM GL_RECLAIM_MEMORY_HINT_PGI}
GL_NATIVE_GRAPHICS_HANDLE_PGI = $1A202;
{$EXTERNALSYM GL_NATIVE_GRAPHICS_HANDLE_PGI}
GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI = $1A203;
{$EXTERNALSYM GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI}
GL_NATIVE_GRAPHICS_END_HINT_PGI = $1A204;
{$EXTERNALSYM GL_NATIVE_GRAPHICS_END_HINT_PGI}
GL_ALWAYS_FAST_HINT_PGI = $1A20C;
{$EXTERNALSYM GL_ALWAYS_FAST_HINT_PGI}
GL_ALWAYS_SOFT_HINT_PGI = $1A20D;
{$EXTERNALSYM GL_ALWAYS_SOFT_HINT_PGI}
GL_ALLOW_DRAW_OBJ_HINT_PGI = $1A20E;
{$EXTERNALSYM GL_ALLOW_DRAW_OBJ_HINT_PGI}
GL_ALLOW_DRAW_WIN_HINT_PGI = $1A20F;
{$EXTERNALSYM GL_ALLOW_DRAW_WIN_HINT_PGI}
GL_ALLOW_DRAW_FRG_HINT_PGI = $1A210;
{$EXTERNALSYM GL_ALLOW_DRAW_FRG_HINT_PGI}
GL_ALLOW_DRAW_MEM_HINT_PGI = $1A211;
{$EXTERNALSYM GL_ALLOW_DRAW_MEM_HINT_PGI}
GL_STRICT_DEPTHFUNC_HINT_PGI = $1A216;
{$EXTERNALSYM GL_STRICT_DEPTHFUNC_HINT_PGI}
GL_STRICT_LIGHTING_HINT_PGI = $1A217;
{$EXTERNALSYM GL_STRICT_LIGHTING_HINT_PGI}
GL_STRICT_SCISSOR_HINT_PGI = $1A218;
{$EXTERNALSYM GL_STRICT_SCISSOR_HINT_PGI}
GL_FULL_STIPPLE_HINT_PGI = $1A219;
{$EXTERNALSYM GL_FULL_STIPPLE_HINT_PGI}
GL_CLIP_NEAR_HINT_PGI = $1A220;
{$EXTERNALSYM GL_CLIP_NEAR_HINT_PGI}
GL_CLIP_FAR_HINT_PGI = $1A221;
{$EXTERNALSYM GL_CLIP_FAR_HINT_PGI}
GL_WIDE_LINE_HINT_PGI = $1A222;
{$EXTERNALSYM GL_WIDE_LINE_HINT_PGI}
GL_BACK_NORMALS_HINT_PGI = $1A223;
{$EXTERNALSYM GL_BACK_NORMALS_HINT_PGI}
// GL_EXT_paletted_texture
GL_TEXTURE_INDEX_SIZE_EXT = $80ED;
{$EXTERNALSYM GL_TEXTURE_INDEX_SIZE_EXT}
// GL_SGIX_list_priority
GL_LIST_PRIORITY_SGIX = $8182;
{$EXTERNALSYM GL_LIST_PRIORITY_SGIX}
// GL_SGIX_ir_instrument1
GL_IR_INSTRUMENT1_SGIX = $817F;
{$EXTERNALSYM GL_IR_INSTRUMENT1_SGIX}
// GL_SGIX_calligraphic_fragment
GL_CALLIGRAPHIC_FRAGMENT_SGIX = $8183;
{$EXTERNALSYM GL_CALLIGRAPHIC_FRAGMENT_SGIX}
// GL_SGIX_texture_lod_bias
GL_TEXTURE_LOD_BIAS_S_SGIX = $818E;
{$EXTERNALSYM GL_TEXTURE_LOD_BIAS_S_SGIX}
GL_TEXTURE_LOD_BIAS_T_SGIX = $818F;
{$EXTERNALSYM GL_TEXTURE_LOD_BIAS_T_SGIX}
GL_TEXTURE_LOD_BIAS_R_SGIX = $8190;
{$EXTERNALSYM GL_TEXTURE_LOD_BIAS_R_SGIX}
// GL_SGIX_shadow_ambient
GL_SHADOW_AMBIENT_SGIX = $80BF;
{$EXTERNALSYM GL_SHADOW_AMBIENT_SGIX}
// GL_SGIX_ycrcb
GL_YCRCB_422_SGIX = $81BB;
{$EXTERNALSYM GL_YCRCB_422_SGIX}
GL_YCRCB_444_SGIX = $81BC;
{$EXTERNALSYM GL_YCRCB_444_SGIX}
// GL_SGIX_fragment_lighting
GL_FRAGMENT_LIGHTING_SGIX = $8400;
{$EXTERNALSYM GL_FRAGMENT_LIGHTING_SGIX}
GL_FRAGMENT_COLOR_MATERIAL_SGIX = $8401;
{$EXTERNALSYM GL_FRAGMENT_COLOR_MATERIAL_SGIX}
GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX = $8402;
{$EXTERNALSYM GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX}
GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = $8403;
{$EXTERNALSYM GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX}
GL_MAX_FRAGMENT_LIGHTS_SGIX = $8404;
{$EXTERNALSYM GL_MAX_FRAGMENT_LIGHTS_SGIX}
GL_MAX_ACTIVE_LIGHTS_SGIX = $8405;
{$EXTERNALSYM GL_MAX_ACTIVE_LIGHTS_SGIX}
GL_CURRENT_RASTER_NORMAL_SGIX = $8406;
{$EXTERNALSYM GL_CURRENT_RASTER_NORMAL_SGIX}
GL_LIGHT_ENV_MODE_SGIX = $8407;
{$EXTERNALSYM GL_LIGHT_ENV_MODE_SGIX}
GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = $8408;
{$EXTERNALSYM GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX}
GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = $8409;
{$EXTERNALSYM GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX}
GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = $840A;
{$EXTERNALSYM GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX}
GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = $840B;
{$EXTERNALSYM GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX}
GL_FRAGMENT_LIGHT0_SGIX = $840C;
{$EXTERNALSYM GL_FRAGMENT_LIGHT0_SGIX}
GL_FRAGMENT_LIGHT1_SGIX = $840D;
{$EXTERNALSYM GL_FRAGMENT_LIGHT1_SGIX}
GL_FRAGMENT_LIGHT2_SGIX = $840E;
{$EXTERNALSYM GL_FRAGMENT_LIGHT2_SGIX}
GL_FRAGMENT_LIGHT3_SGIX = $840F;
{$EXTERNALSYM GL_FRAGMENT_LIGHT3_SGIX}
GL_FRAGMENT_LIGHT4_SGIX = $8410;
{$EXTERNALSYM GL_FRAGMENT_LIGHT4_SGIX}
GL_FRAGMENT_LIGHT5_SGIX = $8411;
{$EXTERNALSYM GL_FRAGMENT_LIGHT5_SGIX}
GL_FRAGMENT_LIGHT6_SGIX = $8412;
{$EXTERNALSYM GL_FRAGMENT_LIGHT6_SGIX}
GL_FRAGMENT_LIGHT7_SGIX = $8413;
{$EXTERNALSYM GL_FRAGMENT_LIGHT7_SGIX}
// GL_IBM_rasterpos_clip
GL_RASTER_POSITION_UNCLIPPED_IBM = $19262;
{$EXTERNALSYM GL_RASTER_POSITION_UNCLIPPED_IBM}
// GL_HP_texture_lighting
GL_TEXTURE_LIGHTING_MODE_HP = $8167;
{$EXTERNALSYM GL_TEXTURE_LIGHTING_MODE_HP}
GL_TEXTURE_POST_SPECULAR_HP = $8168;
{$EXTERNALSYM GL_TEXTURE_POST_SPECULAR_HP}
GL_TEXTURE_PRE_SPECULAR_HP = $8169;
{$EXTERNALSYM GL_TEXTURE_PRE_SPECULAR_HP}
// GL_EXT_draw_range_elements
GL_MAX_ELEMENTS_VERTICES_EXT = $80E8;
{$EXTERNALSYM GL_MAX_ELEMENTS_VERTICES_EXT}
GL_MAX_ELEMENTS_INDICES_EXT = $80E9;
{$EXTERNALSYM GL_MAX_ELEMENTS_INDICES_EXT}
// GL_WIN_phong_shading
GL_PHONG_WIN = $80EA;
{$EXTERNALSYM GL_PHONG_WIN}
GL_PHONG_HINT_WIN = $80EB;
{$EXTERNALSYM GL_PHONG_HINT_WIN}
// GL_WIN_specular_fog
GL_FOG_SPECULAR_TEXTURE_WIN = $80EC;
{$EXTERNALSYM GL_FOG_SPECULAR_TEXTURE_WIN}
// GL_EXT_light_texture
GL_FRAGMENT_MATERIAL_EXT = $8349;
{$EXTERNALSYM GL_FRAGMENT_MATERIAL_EXT}
GL_FRAGMENT_NORMAL_EXT = $834A;
{$EXTERNALSYM GL_FRAGMENT_NORMAL_EXT}
GL_FRAGMENT_COLOR_EXT = $834C;
{$EXTERNALSYM GL_FRAGMENT_COLOR_EXT}
GL_ATTENUATION_EXT = $834D;
{$EXTERNALSYM GL_ATTENUATION_EXT}
GL_SHADOW_ATTENUATION_EXT = $834E;
{$EXTERNALSYM GL_SHADOW_ATTENUATION_EXT}
GL_TEXTURE_APPLICATION_MODE_EXT = $834F;
{$EXTERNALSYM GL_TEXTURE_APPLICATION_MODE_EXT}
GL_TEXTURE_LIGHT_EXT = $8350;
{$EXTERNALSYM GL_TEXTURE_LIGHT_EXT}
GL_TEXTURE_MATERIAL_FACE_EXT = $8351;
{$EXTERNALSYM GL_TEXTURE_MATERIAL_FACE_EXT}
GL_TEXTURE_MATERIAL_PARAMETER_EXT = $8352;
{$EXTERNALSYM GL_TEXTURE_MATERIAL_PARAMETER_EXT}
// GL_SGIX_blend_alpha_minmax
GL_ALPHA_MIN_SGIX = $8320;
{$EXTERNALSYM GL_ALPHA_MIN_SGIX}
GL_ALPHA_MAX_SGIX = $8321;
{$EXTERNALSYM GL_ALPHA_MAX_SGIX}
// GL_SGIX_async
GL_ASYNC_MARKER_SGIX = $8329;
{$EXTERNALSYM GL_ASYNC_MARKER_SGIX}
// GL_SGIX_async_pixel
GL_ASYNC_TEX_IMAGE_SGIX = $835C;
{$EXTERNALSYM GL_ASYNC_TEX_IMAGE_SGIX}
GL_ASYNC_DRAW_PIXELS_SGIX = $835D;
{$EXTERNALSYM GL_ASYNC_DRAW_PIXELS_SGIX}
GL_ASYNC_READ_PIXELS_SGIX = $835E;
{$EXTERNALSYM GL_ASYNC_READ_PIXELS_SGIX}
GL_MAX_ASYNC_TEX_IMAGE_SGIX = $835F;
{$EXTERNALSYM GL_MAX_ASYNC_TEX_IMAGE_SGIX}
GL_MAX_ASYNC_DRAW_PIXELS_SGIX = $8360;
{$EXTERNALSYM GL_MAX_ASYNC_DRAW_PIXELS_SGIX}
GL_MAX_ASYNC_READ_PIXELS_SGIX = $8361;
{$EXTERNALSYM GL_MAX_ASYNC_READ_PIXELS_SGIX}
// GL_SGIX_async_histogram
GL_ASYNC_HISTOGRAM_SGIX = $832C;
{$EXTERNALSYM GL_ASYNC_HISTOGRAM_SGIX}
GL_MAX_ASYNC_HISTOGRAM_SGIX = $832D;
{$EXTERNALSYM GL_MAX_ASYNC_HISTOGRAM_SGIX}
// GL_INTEL_parallel_arrays
GL_PARALLEL_ARRAYS_INTEL = $83F4;
{$EXTERNALSYM GL_PARALLEL_ARRAYS_INTEL}
GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = $83F5;
{$EXTERNALSYM GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL}
GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = $83F6;
{$EXTERNALSYM GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL}
GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL = $83F7;
{$EXTERNALSYM GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL}
GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = $83F8;
{$EXTERNALSYM GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL}
// GL_HP_occlusion_test
GL_OCCLUSION_TEST_HP = $8165;
{$EXTERNALSYM GL_OCCLUSION_TEST_HP}
GL_OCCLUSION_TEST_RESULT_HP = $8166;
{$EXTERNALSYM GL_OCCLUSION_TEST_RESULT_HP}
// GL_EXT_pixel_transform
GL_PIXEL_TRANSFORM_2D_EXT = $8330;
{$EXTERNALSYM GL_PIXEL_TRANSFORM_2D_EXT}
GL_PIXEL_MAG_FILTER_EXT = $8331;
{$EXTERNALSYM GL_PIXEL_MAG_FILTER_EXT}
GL_PIXEL_MIN_FILTER_EXT = $8332;
{$EXTERNALSYM GL_PIXEL_MIN_FILTER_EXT}
GL_PIXEL_CUBIC_WEIGHT_EXT = $8333;
{$EXTERNALSYM GL_PIXEL_CUBIC_WEIGHT_EXT}
GL_CUBIC_EXT = $8334;
{$EXTERNALSYM GL_CUBIC_EXT}
GL_AVERAGE_EXT = $8335;
{$EXTERNALSYM GL_AVERAGE_EXT}
GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = $8336;
{$EXTERNALSYM GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT}
GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = $8337;
{$EXTERNALSYM GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT}
GL_PIXEL_TRANSFORM_2D_MATRIX_EXT = $8338;
{$EXTERNALSYM GL_PIXEL_TRANSFORM_2D_MATRIX_EXT}
// GL_EXT_separate_specular_color
GL_LIGHT_MODEL_COLOR_CONTROL_EXT = $81F8;
{$EXTERNALSYM GL_LIGHT_MODEL_COLOR_CONTROL_EXT}
GL_SINGLE_COLOR_EXT = $81F9;
{$EXTERNALSYM GL_SINGLE_COLOR_EXT}
GL_SEPARATE_SPECULAR_COLOR_EXT = $81FA;
{$EXTERNALSYM GL_SEPARATE_SPECULAR_COLOR_EXT}
// GL_EXT_secondary_color
GL_COLOR_SUM_EXT = $8458;
{$EXTERNALSYM GL_COLOR_SUM_EXT}
GL_CURRENT_SECONDARY_COLOR_EXT = $8459;
{$EXTERNALSYM GL_CURRENT_SECONDARY_COLOR_EXT}
GL_SECONDARY_COLOR_ARRAY_SIZE_EXT = $845A;
{$EXTERNALSYM GL_SECONDARY_COLOR_ARRAY_SIZE_EXT}
GL_SECONDARY_COLOR_ARRAY_TYPE_EXT = $845B;
{$EXTERNALSYM GL_SECONDARY_COLOR_ARRAY_TYPE_EXT}
GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT = $845C;
{$EXTERNALSYM GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT}
GL_SECONDARY_COLOR_ARRAY_POINTER_EXT = $845D;
{$EXTERNALSYM GL_SECONDARY_COLOR_ARRAY_POINTER_EXT}
GL_SECONDARY_COLOR_ARRAY_EXT = $845E;
{$EXTERNALSYM GL_SECONDARY_COLOR_ARRAY_EXT}
// GL_EXT_texture_perturb_normal
GL_PERTURB_EXT = $85AE;
{$EXTERNALSYM GL_PERTURB_EXT}
GL_TEXTURE_NORMAL_EXT = $85AF;
{$EXTERNALSYM GL_TEXTURE_NORMAL_EXT}
// GL_EXT_fog_coord
GL_FOG_COORDINATE_SOURCE_EXT = $8450;
{$EXTERNALSYM GL_FOG_COORDINATE_SOURCE_EXT}
GL_FOG_COORDINATE_EXT = $8451;
{$EXTERNALSYM GL_FOG_COORDINATE_EXT}
GL_FRAGMENT_DEPTH_EXT = $8452;
{$EXTERNALSYM GL_FRAGMENT_DEPTH_EXT}
GL_CURRENT_FOG_COORDINATE_EXT = $8453;
{$EXTERNALSYM GL_CURRENT_FOG_COORDINATE_EXT}
GL_FOG_COORDINATE_ARRAY_TYPE_EXT = $8454;
{$EXTERNALSYM GL_FOG_COORDINATE_ARRAY_TYPE_EXT}
GL_FOG_COORDINATE_ARRAY_STRIDE_EXT = $8455;
{$EXTERNALSYM GL_FOG_COORDINATE_ARRAY_STRIDE_EXT}
GL_FOG_COORDINATE_ARRAY_POINTER_EXT = $8456;
{$EXTERNALSYM GL_FOG_COORDINATE_ARRAY_POINTER_EXT}
GL_FOG_COORDINATE_ARRAY_EXT = $8457;
{$EXTERNALSYM GL_FOG_COORDINATE_ARRAY_EXT}
// GL_REND_screen_coordinates
GL_SCREEN_COORDINATES_REND = $8490;
{$EXTERNALSYM GL_SCREEN_COORDINATES_REND}
GL_INVERTED_SCREEN_W_REND = $8491;
{$EXTERNALSYM GL_INVERTED_SCREEN_W_REND}
// GL_EXT_coordinate_frame
GL_TANGENT_ARRAY_EXT = $8439;
{$EXTERNALSYM GL_TANGENT_ARRAY_EXT}
GL_BINORMAL_ARRAY_EXT = $843A;
{$EXTERNALSYM GL_BINORMAL_ARRAY_EXT}
GL_CURRENT_TANGENT_EXT = $843B;
{$EXTERNALSYM GL_CURRENT_TANGENT_EXT}
GL_CURRENT_BINORMAL_EXT = $843C;
{$EXTERNALSYM GL_CURRENT_BINORMAL_EXT}
GL_TANGENT_ARRAY_TYPE_EXT = $843E;
{$EXTERNALSYM GL_TANGENT_ARRAY_TYPE_EXT}
GL_TANGENT_ARRAY_STRIDE_EXT = $843F;
{$EXTERNALSYM GL_TANGENT_ARRAY_STRIDE_EXT}
GL_BINORMAL_ARRAY_TYPE_EXT = $8440;
{$EXTERNALSYM GL_BINORMAL_ARRAY_TYPE_EXT}
GL_BINORMAL_ARRAY_STRIDE_EXT = $8441;
{$EXTERNALSYM GL_BINORMAL_ARRAY_STRIDE_EXT}
GL_TANGENT_ARRAY_POINTER_EXT = $8442;
{$EXTERNALSYM GL_TANGENT_ARRAY_POINTER_EXT}
GL_BINORMAL_ARRAY_POINTER_EXT = $8443;
{$EXTERNALSYM GL_BINORMAL_ARRAY_POINTER_EXT}
GL_MAP1_TANGENT_EXT = $8444;
{$EXTERNALSYM GL_MAP1_TANGENT_EXT}
GL_MAP2_TANGENT_EXT = $8445;
{$EXTERNALSYM GL_MAP2_TANGENT_EXT}
GL_MAP1_BINORMAL_EXT = $8446;
{$EXTERNALSYM GL_MAP1_BINORMAL_EXT}
GL_MAP2_BINORMAL_EXT = $8447;
{$EXTERNALSYM GL_MAP2_BINORMAL_EXT}
// GL_EXT_texture_env_combine
GL_SOURCE3_RGB_EXT = $8583;
{$EXTERNALSYM GL_SOURCE3_RGB_EXT}
GL_SOURCE4_RGB_EXT = $8584;
{$EXTERNALSYM GL_SOURCE4_RGB_EXT}
GL_SOURCE5_RGB_EXT = $8585;
{$EXTERNALSYM GL_SOURCE5_RGB_EXT}
GL_SOURCE6_RGB_EXT = $8586;
{$EXTERNALSYM GL_SOURCE6_RGB_EXT}
GL_SOURCE7_RGB_EXT = $8587;
{$EXTERNALSYM GL_SOURCE7_RGB_EXT}
GL_SOURCE3_ALPHA_EXT = $858B;
{$EXTERNALSYM GL_SOURCE3_ALPHA_EXT}
GL_SOURCE4_ALPHA_EXT = $858C;
{$EXTERNALSYM GL_SOURCE4_ALPHA_EXT}
GL_SOURCE5_ALPHA_EXT = $858D;
{$EXTERNALSYM GL_SOURCE5_ALPHA_EXT}
GL_SOURCE6_ALPHA_EXT = $858E;
{$EXTERNALSYM GL_SOURCE6_ALPHA_EXT}
GL_SOURCE7_ALPHA_EXT = $858F;
{$EXTERNALSYM GL_SOURCE7_ALPHA_EXT}
GL_OPERAND3_RGB_EXT = $8593;
{$EXTERNALSYM GL_OPERAND3_RGB_EXT}
GL_OPERAND4_RGB_EXT = $8594;
{$EXTERNALSYM GL_OPERAND4_RGB_EXT}
GL_OPERAND5_RGB_EXT = $8595;
{$EXTERNALSYM GL_OPERAND5_RGB_EXT}
GL_OPERAND6_RGB_EXT = $8596;
{$EXTERNALSYM GL_OPERAND6_RGB_EXT}
GL_OPERAND7_RGB_EXT = $8597;
{$EXTERNALSYM GL_OPERAND7_RGB_EXT}
GL_OPERAND3_ALPHA_EXT = $859B;
{$EXTERNALSYM GL_OPERAND3_ALPHA_EXT}
GL_OPERAND4_ALPHA_EXT = $859C;
{$EXTERNALSYM GL_OPERAND4_ALPHA_EXT}
GL_OPERAND5_ALPHA_EXT = $859D;
{$EXTERNALSYM GL_OPERAND5_ALPHA_EXT}
GL_OPERAND6_ALPHA_EXT = $859E;
{$EXTERNALSYM GL_OPERAND6_ALPHA_EXT}
GL_OPERAND7_ALPHA_EXT = $859F;
{$EXTERNALSYM GL_OPERAND7_ALPHA_EXT}
// GL_APPLE_specular_vector
GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE = $85B0;
{$EXTERNALSYM GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE}
// GL_APPLE_transform_hint
GL_TRANSFORM_HINT_APPLE = $85B1;
{$EXTERNALSYM GL_TRANSFORM_HINT_APPLE}
// GL_SGIX_fog_scale
GL_FOG_SCALE_SGIX = $81FC;
{$EXTERNALSYM GL_FOG_SCALE_SGIX}
GL_FOG_SCALE_VALUE_SGIX = $81FD;
{$EXTERNALSYM GL_FOG_SCALE_VALUE_SGIX}
// GL_SUNX_constant_data
GL_UNPACK_CONSTANT_DATA_SUNX = $81D5;
{$EXTERNALSYM GL_UNPACK_CONSTANT_DATA_SUNX}
GL_TEXTURE_CONSTANT_DATA_SUNX = $81D6;
{$EXTERNALSYM GL_TEXTURE_CONSTANT_DATA_SUNX}
// GL_SUN_global_alpha
GL_GLOBAL_ALPHA_SUN = $81D9;
{$EXTERNALSYM GL_GLOBAL_ALPHA_SUN}
GL_GLOBAL_ALPHA_FACTOR_SUN = $81DA;
{$EXTERNALSYM GL_GLOBAL_ALPHA_FACTOR_SUN}
// GL_SUN_triangle_list
GL_RESTART_SUN = $01;
{$EXTERNALSYM GL_RESTART_SUN}
GL_REPLACE_MIDDLE_SUN = $02;
{$EXTERNALSYM GL_REPLACE_MIDDLE_SUN}
GL_REPLACE_OLDEST_SUN = $03;
{$EXTERNALSYM GL_REPLACE_OLDEST_SUN}
GL_TRIANGLE_LIST_SUN = $81D7;
{$EXTERNALSYM GL_TRIANGLE_LIST_SUN}
GL_REPLACEMENT_CODE_SUN = $81D8;
{$EXTERNALSYM GL_REPLACEMENT_CODE_SUN}
GL_REPLACEMENT_CODE_ARRAY_SUN = $85C0;
{$EXTERNALSYM GL_REPLACEMENT_CODE_ARRAY_SUN}
GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN = $85C1;
{$EXTERNALSYM GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN}
GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN = $85C2;
{$EXTERNALSYM GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN}
GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN = $85C3;
{$EXTERNALSYM GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN}
GL_R1UI_V3F_SUN = $85C4;
{$EXTERNALSYM GL_R1UI_V3F_SUN}
GL_R1UI_C4UB_V3F_SUN = $85C5;
{$EXTERNALSYM GL_R1UI_C4UB_V3F_SUN}
GL_R1UI_C3F_V3F_SUN = $85C6;
{$EXTERNALSYM GL_R1UI_C3F_V3F_SUN}
GL_R1UI_N3F_V3F_SUN = $85C7;
{$EXTERNALSYM GL_R1UI_N3F_V3F_SUN}
GL_R1UI_C4F_N3F_V3F_SUN = $85C8;
{$EXTERNALSYM GL_R1UI_C4F_N3F_V3F_SUN}
GL_R1UI_T2F_V3F_SUN = $85C9;
{$EXTERNALSYM GL_R1UI_T2F_V3F_SUN}
GL_R1UI_T2F_N3F_V3F_SUN = $85CA;
{$EXTERNALSYM GL_R1UI_T2F_N3F_V3F_SUN}
GL_R1UI_T2F_C4F_N3F_V3F_SUN = $85CB;
{$EXTERNALSYM GL_R1UI_T2F_C4F_N3F_V3F_SUN}
// GL_EXT_blend_func_separate
GL_BLEND_DST_RGB_EXT = $80C8;
{$EXTERNALSYM GL_BLEND_DST_RGB_EXT}
GL_BLEND_SRC_RGB_EXT = $80C9;
{$EXTERNALSYM GL_BLEND_SRC_RGB_EXT}
GL_BLEND_DST_ALPHA_EXT = $80CA;
{$EXTERNALSYM GL_BLEND_DST_ALPHA_EXT}
GL_BLEND_SRC_ALPHA_EXT = $80CB;
{$EXTERNALSYM GL_BLEND_SRC_ALPHA_EXT}
// GL_INGR_color_clamp
GL_RED_MIN_CLAMP_INGR = $8560;
{$EXTERNALSYM GL_RED_MIN_CLAMP_INGR}
GL_GREEN_MIN_CLAMP_INGR = $8561;
{$EXTERNALSYM GL_GREEN_MIN_CLAMP_INGR}
GL_BLUE_MIN_CLAMP_INGR = $8562;
{$EXTERNALSYM GL_BLUE_MIN_CLAMP_INGR}
GL_ALPHA_MIN_CLAMP_INGR = $8563;
{$EXTERNALSYM GL_ALPHA_MIN_CLAMP_INGR}
GL_RED_MAX_CLAMP_INGR = $8564;
{$EXTERNALSYM GL_RED_MAX_CLAMP_INGR}
GL_GREEN_MAX_CLAMP_INGR = $8565;
{$EXTERNALSYM GL_GREEN_MAX_CLAMP_INGR}
GL_BLUE_MAX_CLAMP_INGR = $8566;
{$EXTERNALSYM GL_BLUE_MAX_CLAMP_INGR}
GL_ALPHA_MAX_CLAMP_INGR = $8567;
{$EXTERNALSYM GL_ALPHA_MAX_CLAMP_INGR}
// GL_INGR_interlace_read
GL_INTERLACE_READ_INGR = $8568;
{$EXTERNALSYM GL_INTERLACE_READ_INGR}
// GL_EXT_422_pixels
GL_422_EXT = $80CC;
{$EXTERNALSYM GL_422_EXT}
GL_422_REV_EXT = $80CD;
{$EXTERNALSYM GL_422_REV_EXT}
GL_422_AVERAGE_EXT = $80CE;
{$EXTERNALSYM GL_422_AVERAGE_EXT}
GL_422_REV_AVERAGE_EXT = $80CF;
{$EXTERNALSYM GL_422_REV_AVERAGE_EXT}
// GL_EXT_texture_cube_map
GL_NORMAL_MAP_EXT = $8511;
{$EXTERNALSYM GL_NORMAL_MAP_EXT}
GL_REFLECTION_MAP_EXT = $8512;
{$EXTERNALSYM GL_REFLECTION_MAP_EXT}
GL_TEXTURE_CUBE_MAP_EXT = $8513;
{$EXTERNALSYM GL_TEXTURE_CUBE_MAP_EXT}
GL_TEXTURE_BINDING_CUBE_MAP_EXT = $8514;
{$EXTERNALSYM GL_TEXTURE_BINDING_CUBE_MAP_EXT}
GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT = $8515;
{$EXTERNALSYM GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT}
GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = $8516;
{$EXTERNALSYM GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT}
GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = $8517;
{$EXTERNALSYM GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT}
GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = $8518;
{$EXTERNALSYM GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT}
GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = $8519;
{$EXTERNALSYM GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT}
GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = $851A;
{$EXTERNALSYM GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT}
GL_PROXY_TEXTURE_CUBE_MAP_EXT = $851B;
{$EXTERNALSYM GL_PROXY_TEXTURE_CUBE_MAP_EXT}
GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT = $851C;
{$EXTERNALSYM GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT}
// GL_SUN_convolution_border_modes
GL_WRAP_BORDER_SUN = $81D4;
{$EXTERNALSYM GL_WRAP_BORDER_SUN}
// GL_EXT_texture_lod_bias
GL_MAX_TEXTURE_LOD_BIAS_EXT = $84FD;
{$EXTERNALSYM GL_MAX_TEXTURE_LOD_BIAS_EXT}
GL_TEXTURE_FILTER_CONTROL_EXT = $8500;
{$EXTERNALSYM GL_TEXTURE_FILTER_CONTROL_EXT}
GL_TEXTURE_LOD_BIAS_EXT = $8501;
{$EXTERNALSYM GL_TEXTURE_LOD_BIAS_EXT}
// GL_EXT_texture_filter_anisotropic
GL_TEXTURE_MAX_ANISOTROPY_EXT = $84FE;
{$EXTERNALSYM GL_TEXTURE_MAX_ANISOTROPY_EXT}
GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = $84FF;
{$EXTERNALSYM GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT}
// GL_EXT_vertex_weighting
GL_MODELVIEW0_STACK_DEPTH_EXT = GL_MODELVIEW_STACK_DEPTH;
{$EXTERNALSYM GL_MODELVIEW0_STACK_DEPTH_EXT}
GL_MODELVIEW1_STACK_DEPTH_EXT = $8502;
{$EXTERNALSYM GL_MODELVIEW1_STACK_DEPTH_EXT}
GL_MODELVIEW0_MATRIX_EXT = GL_MODELVIEW_MATRIX;
{$EXTERNALSYM GL_MODELVIEW0_MATRIX_EXT}
GL_MODELVIEW_MATRIX1_EXT = $8506;
{$EXTERNALSYM GL_MODELVIEW_MATRIX1_EXT}
GL_VERTEX_WEIGHTING_EXT = $8509;
{$EXTERNALSYM GL_VERTEX_WEIGHTING_EXT}
GL_MODELVIEW0_EXT = GL_MODELVIEW;
{$EXTERNALSYM GL_MODELVIEW0_EXT}
GL_MODELVIEW1_EXT = $850A;
{$EXTERNALSYM GL_MODELVIEW1_EXT}
GL_CURRENT_VERTEX_WEIGHT_EXT = $850B;
{$EXTERNALSYM GL_CURRENT_VERTEX_WEIGHT_EXT}
GL_VERTEX_WEIGHT_ARRAY_EXT = $850C;
{$EXTERNALSYM GL_VERTEX_WEIGHT_ARRAY_EXT}
GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT = $850D;
{$EXTERNALSYM GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT}
GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT = $850E;
{$EXTERNALSYM GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT}
GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT = $850F;
{$EXTERNALSYM GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT}
GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT = $8510;
{$EXTERNALSYM GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT}
// GL_NV_light_max_exponent
GL_MAX_SHININESS_NV = $8504;
{$EXTERNALSYM GL_MAX_SHININESS_NV}
GL_MAX_SPOT_EXPONENT_NV = $8505;
{$EXTERNALSYM GL_MAX_SPOT_EXPONENT_NV}
// GL_NV_vertex_array_range
GL_VERTEX_ARRAY_RANGE_NV = $851D;
{$EXTERNALSYM GL_VERTEX_ARRAY_RANGE_NV}
GL_VERTEX_ARRAY_RANGE_LENGTH_NV = $851E;
{$EXTERNALSYM GL_VERTEX_ARRAY_RANGE_LENGTH_NV}
GL_VERTEX_ARRAY_RANGE_VALID_NV = $851F;
{$EXTERNALSYM GL_VERTEX_ARRAY_RANGE_VALID_NV}
GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = $8520;
{$EXTERNALSYM GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV}
GL_VERTEX_ARRAY_RANGE_POINTER_NV = $8521;
{$EXTERNALSYM GL_VERTEX_ARRAY_RANGE_POINTER_NV}
// GL_NV_register_combiners
GL_REGISTER_COMBINERS_NV = $8522;
{$EXTERNALSYM GL_REGISTER_COMBINERS_NV}
GL_VARIABLE_A_NV = $8523;
{$EXTERNALSYM GL_VARIABLE_A_NV}
GL_VARIABLE_B_NV = $8524;
{$EXTERNALSYM GL_VARIABLE_B_NV}
GL_VARIABLE_C_NV = $8525;
{$EXTERNALSYM GL_VARIABLE_C_NV}
GL_VARIABLE_D_NV = $8526;
{$EXTERNALSYM GL_VARIABLE_D_NV}
GL_VARIABLE_E_NV = $8527;
{$EXTERNALSYM GL_VARIABLE_E_NV}
GL_VARIABLE_F_NV = $8528;
{$EXTERNALSYM GL_VARIABLE_F_NV}
GL_VARIABLE_G_NV = $8529;
{$EXTERNALSYM GL_VARIABLE_G_NV}
GL_CONSTANT_COLOR0_NV = $852A;
{$EXTERNALSYM GL_CONSTANT_COLOR0_NV}
GL_CONSTANT_COLOR1_NV = $852B;
{$EXTERNALSYM GL_CONSTANT_COLOR1_NV}
GL_PRIMARY_COLOR_NV = $852C;
{$EXTERNALSYM GL_PRIMARY_COLOR_NV}
GL_SECONDARY_COLOR_NV = $852D;
{$EXTERNALSYM GL_SECONDARY_COLOR_NV}
GL_SPARE0_NV = $852E;
{$EXTERNALSYM GL_SPARE0_NV}
GL_SPARE1_NV = $852F;
{$EXTERNALSYM GL_SPARE1_NV}
GL_DISCARD_NV = $8530;
{$EXTERNALSYM GL_DISCARD_NV}
GL_E_TIMES_F_NV = $8531;
{$EXTERNALSYM GL_E_TIMES_F_NV}
GL_SPARE0_PLUS_SECONDARY_COLOR_NV = $8532;
{$EXTERNALSYM GL_SPARE0_PLUS_SECONDARY_COLOR_NV}
GL_UNSIGNED_IDENTITY_NV = $8536;
{$EXTERNALSYM GL_UNSIGNED_IDENTITY_NV}
GL_UNSIGNED_INVERT_NV = $8537;
{$EXTERNALSYM GL_UNSIGNED_INVERT_NV}
GL_EXPAND_NORMAL_NV = $8538;
{$EXTERNALSYM GL_EXPAND_NORMAL_NV}
GL_EXPAND_NEGATE_NV = $8539;
{$EXTERNALSYM GL_EXPAND_NEGATE_NV}
GL_HALF_BIAS_NORMAL_NV = $853A;
{$EXTERNALSYM GL_HALF_BIAS_NORMAL_NV}
GL_HALF_BIAS_NEGATE_NV = $853B;
{$EXTERNALSYM GL_HALF_BIAS_NEGATE_NV}
GL_SIGNED_IDENTITY_NV = $853C;
{$EXTERNALSYM GL_SIGNED_IDENTITY_NV}
GL_SIGNED_NEGATE_NV = $853D;
{$EXTERNALSYM GL_SIGNED_NEGATE_NV}
GL_SCALE_BY_TWO_NV = $853E;
{$EXTERNALSYM GL_SCALE_BY_TWO_NV}
GL_SCALE_BY_FOUR_NV = $853F;
{$EXTERNALSYM GL_SCALE_BY_FOUR_NV}
GL_SCALE_BY_ONE_HALF_NV = $8540;
{$EXTERNALSYM GL_SCALE_BY_ONE_HALF_NV}
GL_BIAS_BY_NEGATIVE_ONE_HALF_NV = $8541;
{$EXTERNALSYM GL_BIAS_BY_NEGATIVE_ONE_HALF_NV}
GL_COMBINER_INPUT_NV = $8542;
{$EXTERNALSYM GL_COMBINER_INPUT_NV}
GL_COMBINER_MAPPING_NV = $8543;
{$EXTERNALSYM GL_COMBINER_MAPPING_NV}
GL_COMBINER_COMPONENT_USAGE_NV = $8544;
{$EXTERNALSYM GL_COMBINER_COMPONENT_USAGE_NV}
GL_COMBINER_AB_DOT_PRODUCT_NV = $8545;
{$EXTERNALSYM GL_COMBINER_AB_DOT_PRODUCT_NV}
GL_COMBINER_CD_DOT_PRODUCT_NV = $8546;
{$EXTERNALSYM GL_COMBINER_CD_DOT_PRODUCT_NV}
GL_COMBINER_MUX_SUM_NV = $8547;
{$EXTERNALSYM GL_COMBINER_MUX_SUM_NV}
GL_COMBINER_SCALE_NV = $8548;
{$EXTERNALSYM GL_COMBINER_SCALE_NV}
GL_COMBINER_BIAS_NV = $8549;
{$EXTERNALSYM GL_COMBINER_BIAS_NV}
GL_COMBINER_AB_OUTPUT_NV = $854A;
{$EXTERNALSYM GL_COMBINER_AB_OUTPUT_NV}
GL_COMBINER_CD_OUTPUT_NV = $854B;
{$EXTERNALSYM GL_COMBINER_CD_OUTPUT_NV}
GL_COMBINER_SUM_OUTPUT_NV = $854C;
{$EXTERNALSYM GL_COMBINER_SUM_OUTPUT_NV}
GL_MAX_GENERAL_COMBINERS_NV = $854D;
{$EXTERNALSYM GL_MAX_GENERAL_COMBINERS_NV}
GL_NUM_GENERAL_COMBINERS_NV = $854E;
{$EXTERNALSYM GL_NUM_GENERAL_COMBINERS_NV}
GL_COLOR_SUM_CLAMP_NV = $854F;
{$EXTERNALSYM GL_COLOR_SUM_CLAMP_NV}
GL_COMBINER0_NV = $8550;
{$EXTERNALSYM GL_COMBINER0_NV}
GL_COMBINER1_NV = $8551;
{$EXTERNALSYM GL_COMBINER1_NV}
GL_COMBINER2_NV = $8552;
{$EXTERNALSYM GL_COMBINER2_NV}
GL_COMBINER3_NV = $8553;
{$EXTERNALSYM GL_COMBINER3_NV}
GL_COMBINER4_NV = $8554;
{$EXTERNALSYM GL_COMBINER4_NV}
GL_COMBINER5_NV = $8555;
{$EXTERNALSYM GL_COMBINER5_NV}
GL_COMBINER6_NV = $8556;
{$EXTERNALSYM GL_COMBINER6_NV}
GL_COMBINER7_NV = $8557;
{$EXTERNALSYM GL_COMBINER7_NV}
// GL_NV_fog_distance
GL_FOG_DISTANCE_MODE_NV = $855A;
{$EXTERNALSYM GL_FOG_DISTANCE_MODE_NV}
GL_EYE_RADIAL_NV = $855B;
{$EXTERNALSYM GL_EYE_RADIAL_NV}
GL_EYE_PLANE_ABSOLUTE_NV = $855C;
{$EXTERNALSYM GL_EYE_PLANE_ABSOLUTE_NV}
// GL_NV_texgen_emboss
GL_EMBOSS_LIGHT_NV = $855D;
{$EXTERNALSYM GL_EMBOSS_LIGHT_NV}
GL_EMBOSS_CONSTANT_NV = $855E;
{$EXTERNALSYM GL_EMBOSS_CONSTANT_NV}
GL_EMBOSS_MAP_NV = $855F;
{$EXTERNALSYM GL_EMBOSS_MAP_NV}
// GL_EXT_texture_compression_s3tc
GL_COMPRESSED_RGB_S3TC_DXT1_EXT = $83F0;
{$EXTERNALSYM GL_COMPRESSED_RGB_S3TC_DXT1_EXT}
GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = $83F1;
{$EXTERNALSYM GL_COMPRESSED_RGBA_S3TC_DXT1_EXT}
GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = $83F2;
{$EXTERNALSYM GL_COMPRESSED_RGBA_S3TC_DXT3_EXT}
GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = $83F3;
{$EXTERNALSYM GL_COMPRESSED_RGBA_S3TC_DXT5_EXT}
// GL_IBM_cull_vertex
GL_CULL_VERTEX_IBM = 103050;
{$EXTERNALSYM GL_CULL_VERTEX_IBM}
// GL_IBM_vertex_array_lists
GL_VERTEX_ARRAY_LIST_IBM = 103070;
{$EXTERNALSYM GL_VERTEX_ARRAY_LIST_IBM}
GL_NORMAL_ARRAY_LIST_IBM = 103071;
{$EXTERNALSYM GL_NORMAL_ARRAY_LIST_IBM}
GL_COLOR_ARRAY_LIST_IBM = 103072;
{$EXTERNALSYM GL_COLOR_ARRAY_LIST_IBM}
GL_INDEX_ARRAY_LIST_IBM = 103073;
{$EXTERNALSYM GL_INDEX_ARRAY_LIST_IBM}
GL_TEXTURE_COORD_ARRAY_LIST_IBM = 103074;
{$EXTERNALSYM GL_TEXTURE_COORD_ARRAY_LIST_IBM}
GL_EDGE_FLAG_ARRAY_LIST_IBM = 103075;
{$EXTERNALSYM GL_EDGE_FLAG_ARRAY_LIST_IBM}
GL_FOG_COORDINATE_ARRAY_LIST_IBM = 103076;
{$EXTERNALSYM GL_FOG_COORDINATE_ARRAY_LIST_IBM}
GL_SECONDARY_COLOR_ARRAY_LIST_IBM = 103077;
{$EXTERNALSYM GL_SECONDARY_COLOR_ARRAY_LIST_IBM}
GL_VERTEX_ARRAY_LIST_STRIDE_IBM = 103080;
{$EXTERNALSYM GL_VERTEX_ARRAY_LIST_STRIDE_IBM}
GL_NORMAL_ARRAY_LIST_STRIDE_IBM = 103081;
{$EXTERNALSYM GL_NORMAL_ARRAY_LIST_STRIDE_IBM}
GL_COLOR_ARRAY_LIST_STRIDE_IBM = 103082;
{$EXTERNALSYM GL_COLOR_ARRAY_LIST_STRIDE_IBM}
GL_INDEX_ARRAY_LIST_STRIDE_IBM = 103083;
{$EXTERNALSYM GL_INDEX_ARRAY_LIST_STRIDE_IBM}
GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = 103084;
{$EXTERNALSYM GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM}
GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = 103085;
{$EXTERNALSYM GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM}
GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 103086;
{$EXTERNALSYM GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM}
GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = 103087;
{$EXTERNALSYM GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM}
// GL_SGIX_subsample
GL_PACK_SUBSAMPLE_RATE_SGIX = $85A0;
{$EXTERNALSYM GL_PACK_SUBSAMPLE_RATE_SGIX}
GL_UNPACK_SUBSAMPLE_RATE_SGIX = $85A1;
{$EXTERNALSYM GL_UNPACK_SUBSAMPLE_RATE_SGIX}
GL_PIXEL_SUBSAMPLE_4444_SGIX = $85A2;
{$EXTERNALSYM GL_PIXEL_SUBSAMPLE_4444_SGIX}
GL_PIXEL_SUBSAMPLE_2424_SGIX = $85A3;
{$EXTERNALSYM GL_PIXEL_SUBSAMPLE_2424_SGIX}
GL_PIXEL_SUBSAMPLE_4242_SGIX = $85A4;
{$EXTERNALSYM GL_PIXEL_SUBSAMPLE_4242_SGIX}
// GL_SGIX_ycrcba
GL_YCRCB_SGIX = $8318;
{$EXTERNALSYM GL_YCRCB_SGIX}
GL_YCRCBA_SGIX = $8319;
{$EXTERNALSYM GL_YCRCBA_SGIX}
// GL_SGI_depth_pass_instrument
GL_DEPTH_PASS_INSTRUMENT_SGIX = $8310;
{$EXTERNALSYM GL_DEPTH_PASS_INSTRUMENT_SGIX}
GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX = $8311;
{$EXTERNALSYM GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX}
GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX = $8312;
{$EXTERNALSYM GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX}
// GL_3DFX_texture_compression_FXT1
GL_COMPRESSED_RGB_FXT1_3DFX = $86B0;
{$EXTERNALSYM GL_COMPRESSED_RGB_FXT1_3DFX}
GL_COMPRESSED_RGBA_FXT1_3DFX = $86B1;
{$EXTERNALSYM GL_COMPRESSED_RGBA_FXT1_3DFX}
// GL_3DFX_multisample
GL_MULTISAMPLE_3DFX = $86B2;
{$EXTERNALSYM GL_MULTISAMPLE_3DFX}
GL_SAMPLE_BUFFERS_3DFX = $86B3;
{$EXTERNALSYM GL_SAMPLE_BUFFERS_3DFX}
GL_SAMPLES_3DFX = $86B4;
{$EXTERNALSYM GL_SAMPLES_3DFX}
GL_MULTISAMPLE_BIT_3DFX = $20000000;
{$EXTERNALSYM GL_MULTISAMPLE_BIT_3DFX}
// GL_EXT_multisample
GL_MULTISAMPLE_EXT = $809D;
{$EXTERNALSYM GL_MULTISAMPLE_EXT}
GL_SAMPLE_ALPHA_TO_MASK_EXT = $809E;
{$EXTERNALSYM GL_SAMPLE_ALPHA_TO_MASK_EXT}
GL_SAMPLE_ALPHA_TO_ONE_EXT = $809F;
{$EXTERNALSYM GL_SAMPLE_ALPHA_TO_ONE_EXT}
GL_SAMPLE_MASK_EXT = $80A0;
{$EXTERNALSYM GL_SAMPLE_MASK_EXT}
GL_1PASS_EXT = $80A1;
{$EXTERNALSYM GL_1PASS_EXT}
GL_2PASS_0_EXT = $80A2;
{$EXTERNALSYM GL_2PASS_0_EXT}
GL_2PASS_1_EXT = $80A3;
{$EXTERNALSYM GL_2PASS_1_EXT}
GL_4PASS_0_EXT = $80A4;
{$EXTERNALSYM GL_4PASS_0_EXT}
GL_4PASS_1_EXT = $80A5;
{$EXTERNALSYM GL_4PASS_1_EXT}
GL_4PASS_2_EXT = $80A6;
{$EXTERNALSYM GL_4PASS_2_EXT}
GL_4PASS_3_EXT = $80A7;
{$EXTERNALSYM GL_4PASS_3_EXT}
GL_SAMPLE_BUFFERS_EXT = $80A8;
{$EXTERNALSYM GL_SAMPLE_BUFFERS_EXT}
GL_SAMPLES_EXT = $80A9;
{$EXTERNALSYM GL_SAMPLES_EXT}
GL_SAMPLE_MASK_VALUE_EXT = $80AA;
{$EXTERNALSYM GL_SAMPLE_MASK_VALUE_EXT}
GL_SAMPLE_MASK_INVERT_EXT = $80AB;
{$EXTERNALSYM GL_SAMPLE_MASK_INVERT_EXT}
GL_SAMPLE_PATTERN_EXT = $80AC;
{$EXTERNALSYM GL_SAMPLE_PATTERN_EXT}
// GL_SGIX_vertex_preclip
GL_VERTEX_PRECLIP_SGIX = $83EE;
{$EXTERNALSYM GL_VERTEX_PRECLIP_SGIX}
GL_VERTEX_PRECLIP_HINT_SGIX = $83EF;
{$EXTERNALSYM GL_VERTEX_PRECLIP_HINT_SGIX}
// GL_SGIX_convolution_accuracy
GL_CONVOLUTION_HINT_SGIX = $8316;
{$EXTERNALSYM GL_CONVOLUTION_HINT_SGIX}
// GL_SGIX_resample
GL_PACK_RESAMPLE_SGIX = $842C;
{$EXTERNALSYM GL_PACK_RESAMPLE_SGIX}
GL_UNPACK_RESAMPLE_SGIX = $842D;
{$EXTERNALSYM GL_UNPACK_RESAMPLE_SGIX}
GL_RESAMPLE_REPLICATE_SGIX = $842E;
{$EXTERNALSYM GL_RESAMPLE_REPLICATE_SGIX}
GL_RESAMPLE_ZERO_FILL_SGIX = $842F;
{$EXTERNALSYM GL_RESAMPLE_ZERO_FILL_SGIX}
GL_RESAMPLE_DECIMATE_SGIX = $8430;
{$EXTERNALSYM GL_RESAMPLE_DECIMATE_SGIX}
// GL_SGIS_point_line_texgen
GL_EYE_DISTANCE_TO_POINT_SGIS = $81F0;
{$EXTERNALSYM GL_EYE_DISTANCE_TO_POINT_SGIS}
GL_OBJECT_DISTANCE_TO_POINT_SGIS = $81F1;
{$EXTERNALSYM GL_OBJECT_DISTANCE_TO_POINT_SGIS}
GL_EYE_DISTANCE_TO_LINE_SGIS = $81F2;
{$EXTERNALSYM GL_EYE_DISTANCE_TO_LINE_SGIS}
GL_OBJECT_DISTANCE_TO_LINE_SGIS = $81F3;
{$EXTERNALSYM GL_OBJECT_DISTANCE_TO_LINE_SGIS}
GL_EYE_POINT_SGIS = $81F4;
{$EXTERNALSYM GL_EYE_POINT_SGIS}
GL_OBJECT_POINT_SGIS = $81F5;
{$EXTERNALSYM GL_OBJECT_POINT_SGIS}
GL_EYE_LINE_SGIS = $81F6;
{$EXTERNALSYM GL_EYE_LINE_SGIS}
GL_OBJECT_LINE_SGIS = $81F7;
{$EXTERNALSYM GL_OBJECT_LINE_SGIS}
// GL_SGIS_texture_color_mask
GL_TEXTURE_COLOR_WRITEMASK_SGIS = $81EF;
{$EXTERNALSYM GL_TEXTURE_COLOR_WRITEMASK_SGIS}
// GL_NV_vertex_program
GL_VERTEX_PROGRAM_NV = $8620;
{$EXTERNALSYM GL_VERTEX_PROGRAM_NV}
GL_VERTEX_STATE_PROGRAM_NV = $8621;
{$EXTERNALSYM GL_VERTEX_STATE_PROGRAM_NV}
GL_ATTRIB_ARRAY_SIZE_NV = $8623;
{$EXTERNALSYM GL_ATTRIB_ARRAY_SIZE_NV}
GL_ATTRIB_ARRAY_STRIDE_NV = $8624;
{$EXTERNALSYM GL_ATTRIB_ARRAY_STRIDE_NV}
GL_ATTRIB_ARRAY_TYPE_NV = $8625;
{$EXTERNALSYM GL_ATTRIB_ARRAY_TYPE_NV}
GL_CURRENT_ATTRIB_NV = $8626;
{$EXTERNALSYM GL_CURRENT_ATTRIB_NV}
GL_PROGRAM_LENGTH_NV = $8627;
{$EXTERNALSYM GL_PROGRAM_LENGTH_NV}
GL_PROGRAM_STRING_NV = $8628;
{$EXTERNALSYM GL_PROGRAM_STRING_NV}
GL_MODELVIEW_PROJECTION_NV = $8629;
{$EXTERNALSYM GL_MODELVIEW_PROJECTION_NV}
GL_IDENTITY_NV = $862A;
{$EXTERNALSYM GL_IDENTITY_NV}
GL_INVERSE_NV = $862B;
{$EXTERNALSYM GL_INVERSE_NV}
GL_TRANSPOSE_NV = $862C;
{$EXTERNALSYM GL_TRANSPOSE_NV}
GL_INVERSE_TRANSPOSE_NV = $862D;
{$EXTERNALSYM GL_INVERSE_TRANSPOSE_NV}
GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV = $862E;
{$EXTERNALSYM GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV}
GL_MAX_TRACK_MATRICES_NV = $862F;
{$EXTERNALSYM GL_MAX_TRACK_MATRICES_NV}
GL_MATRIX0_NV = $8630;
{$EXTERNALSYM GL_MATRIX0_NV}
GL_MATRIX1_NV = $8631;
{$EXTERNALSYM GL_MATRIX1_NV}
GL_MATRIX2_NV = $8632;
{$EXTERNALSYM GL_MATRIX2_NV}
GL_MATRIX3_NV = $8633;
{$EXTERNALSYM GL_MATRIX3_NV}
GL_MATRIX4_NV = $8634;
{$EXTERNALSYM GL_MATRIX4_NV}
GL_MATRIX5_NV = $8635;
{$EXTERNALSYM GL_MATRIX5_NV}
GL_MATRIX6_NV = $8636;
{$EXTERNALSYM GL_MATRIX6_NV}
GL_MATRIX7_NV = $8637;
{$EXTERNALSYM GL_MATRIX7_NV}
GL_CURRENT_MATRIX_STACK_DEPTH_NV = $8640;
{$EXTERNALSYM GL_CURRENT_MATRIX_STACK_DEPTH_NV}
GL_CURRENT_MATRIX_NV = $8641;
{$EXTERNALSYM GL_CURRENT_MATRIX_NV}
GL_VERTEX_PROGRAM_POINT_SIZE_NV = $8642;
{$EXTERNALSYM GL_VERTEX_PROGRAM_POINT_SIZE_NV}
GL_VERTEX_PROGRAM_TWO_SIDE_NV = $8643;
{$EXTERNALSYM GL_VERTEX_PROGRAM_TWO_SIDE_NV}
GL_PROGRAM_PARAMETER_NV = $8644;
{$EXTERNALSYM GL_PROGRAM_PARAMETER_NV}
GL_ATTRIB_ARRAY_POINTER_NV = $8645;
{$EXTERNALSYM GL_ATTRIB_ARRAY_POINTER_NV}
GL_PROGRAM_TARGET_NV = $8646;
{$EXTERNALSYM GL_PROGRAM_TARGET_NV}
GL_PROGRAM_RESIDENT_NV = $8647;
{$EXTERNALSYM GL_PROGRAM_RESIDENT_NV}
GL_TRACK_MATRIX_NV = $8648;
{$EXTERNALSYM GL_TRACK_MATRIX_NV}
GL_TRACK_MATRIX_TRANSFORM_NV = $8649;
{$EXTERNALSYM GL_TRACK_MATRIX_TRANSFORM_NV}
GL_VERTEX_PROGRAM_BINDING_NV = $864A;
{$EXTERNALSYM GL_VERTEX_PROGRAM_BINDING_NV}
GL_PROGRAM_ERROR_POSITION_NV = $864B;
{$EXTERNALSYM GL_PROGRAM_ERROR_POSITION_NV}
GL_VERTEX_ATTRIB_ARRAY0_NV = $8650;
{$EXTERNALSYM GL_VERTEX_ATTRIB_ARRAY0_NV}
GL_VERTEX_ATTRIB_ARRAY1_NV = $8651;
{$EXTERNALSYM GL_VERTEX_ATTRIB_ARRAY1_NV}
GL_VERTEX_ATTRIB_ARRAY2_NV = $8652;
{$EXTERNALSYM GL_VERTEX_ATTRIB_ARRAY2_NV}
GL_VERTEX_ATTRIB_ARRAY3_NV = $8653;
{$EXTERNALSYM GL_VERTEX_ATTRIB_ARRAY3_NV}
GL_VERTEX_ATTRIB_ARRAY4_NV = $8654;
{$EXTERNALSYM GL_VERTEX_ATTRIB_ARRAY4_NV}
GL_VERTEX_ATTRIB_ARRAY5_NV = $8655;
{$EXTERNALSYM GL_VERTEX_ATTRIB_ARRAY5_NV}
GL_VERTEX_ATTRIB_ARRAY6_NV = $8656;
{$EXTERNALSYM GL_VERTEX_ATTRIB_ARRAY6_NV}
GL_VERTEX_ATTRIB_ARRAY7_NV = $8657;
{$EXTERNALSYM GL_VERTEX_ATTRIB_ARRAY7_NV}
GL_VERTEX_ATTRIB_ARRAY8_NV = $8658;
{$EXTERNALSYM GL_VERTEX_ATTRIB_ARRAY8_NV}
GL_VERTEX_ATTRIB_ARRAY9_NV = $8659;
{$EXTERNALSYM GL_VERTEX_ATTRIB_ARRAY9_NV}
GL_VERTEX_ATTRIB_ARRAY10_NV = $865A;
{$EXTERNALSYM GL_VERTEX_ATTRIB_ARRAY10_NV}
GL_VERTEX_ATTRIB_ARRAY11_NV = $865B;
{$EXTERNALSYM GL_VERTEX_ATTRIB_ARRAY11_NV}
GL_VERTEX_ATTRIB_ARRAY12_NV = $865C;
{$EXTERNALSYM GL_VERTEX_ATTRIB_ARRAY12_NV}
GL_VERTEX_ATTRIB_ARRAY13_NV = $865D;
{$EXTERNALSYM GL_VERTEX_ATTRIB_ARRAY13_NV}
GL_VERTEX_ATTRIB_ARRAY14_NV = $865E;
{$EXTERNALSYM GL_VERTEX_ATTRIB_ARRAY14_NV}
GL_VERTEX_ATTRIB_ARRAY15_NV = $865F;
{$EXTERNALSYM GL_VERTEX_ATTRIB_ARRAY15_NV}
GL_MAP1_VERTEX_ATTRIB0_4_NV = $8660;
{$EXTERNALSYM GL_MAP1_VERTEX_ATTRIB0_4_NV}
GL_MAP1_VERTEX_ATTRIB1_4_NV = $8661;
{$EXTERNALSYM GL_MAP1_VERTEX_ATTRIB1_4_NV}
GL_MAP1_VERTEX_ATTRIB2_4_NV = $8662;
{$EXTERNALSYM GL_MAP1_VERTEX_ATTRIB2_4_NV}
GL_MAP1_VERTEX_ATTRIB3_4_NV = $8663;
{$EXTERNALSYM GL_MAP1_VERTEX_ATTRIB3_4_NV}
GL_MAP1_VERTEX_ATTRIB4_4_NV = $8664;
{$EXTERNALSYM GL_MAP1_VERTEX_ATTRIB4_4_NV}
GL_MAP1_VERTEX_ATTRIB5_4_NV = $8665;
{$EXTERNALSYM GL_MAP1_VERTEX_ATTRIB5_4_NV}
GL_MAP1_VERTEX_ATTRIB6_4_NV = $8666;
{$EXTERNALSYM GL_MAP1_VERTEX_ATTRIB6_4_NV}
GL_MAP1_VERTEX_ATTRIB7_4_NV = $8667;
{$EXTERNALSYM GL_MAP1_VERTEX_ATTRIB7_4_NV}
GL_MAP1_VERTEX_ATTRIB8_4_NV = $8668;
{$EXTERNALSYM GL_MAP1_VERTEX_ATTRIB8_4_NV}
GL_MAP1_VERTEX_ATTRIB9_4_NV = $8669;
{$EXTERNALSYM GL_MAP1_VERTEX_ATTRIB9_4_NV}
GL_MAP1_VERTEX_ATTRIB10_4_NV = $866A;
{$EXTERNALSYM GL_MAP1_VERTEX_ATTRIB10_4_NV}
GL_MAP1_VERTEX_ATTRIB11_4_NV = $866B;
{$EXTERNALSYM GL_MAP1_VERTEX_ATTRIB11_4_NV}
GL_MAP1_VERTEX_ATTRIB12_4_NV = $866C;
{$EXTERNALSYM GL_MAP1_VERTEX_ATTRIB12_4_NV}
GL_MAP1_VERTEX_ATTRIB13_4_NV = $866D;
{$EXTERNALSYM GL_MAP1_VERTEX_ATTRIB13_4_NV}
GL_MAP1_VERTEX_ATTRIB14_4_NV = $866E;
{$EXTERNALSYM GL_MAP1_VERTEX_ATTRIB14_4_NV}
GL_MAP1_VERTEX_ATTRIB15_4_NV = $866F;
{$EXTERNALSYM GL_MAP1_VERTEX_ATTRIB15_4_NV}
GL_MAP2_VERTEX_ATTRIB0_4_NV = $8670;
{$EXTERNALSYM GL_MAP2_VERTEX_ATTRIB0_4_NV}
GL_MAP2_VERTEX_ATTRIB1_4_NV = $8671;
{$EXTERNALSYM GL_MAP2_VERTEX_ATTRIB1_4_NV}
GL_MAP2_VERTEX_ATTRIB2_4_NV = $8672;
{$EXTERNALSYM GL_MAP2_VERTEX_ATTRIB2_4_NV}
GL_MAP2_VERTEX_ATTRIB3_4_NV = $8673;
{$EXTERNALSYM GL_MAP2_VERTEX_ATTRIB3_4_NV}
GL_MAP2_VERTEX_ATTRIB4_4_NV = $8674;
{$EXTERNALSYM GL_MAP2_VERTEX_ATTRIB4_4_NV}
GL_MAP2_VERTEX_ATTRIB5_4_NV = $8675;
{$EXTERNALSYM GL_MAP2_VERTEX_ATTRIB5_4_NV}
GL_MAP2_VERTEX_ATTRIB6_4_NV = $8676;
{$EXTERNALSYM GL_MAP2_VERTEX_ATTRIB6_4_NV}
GL_MAP2_VERTEX_ATTRIB7_4_NV = $8677;
{$EXTERNALSYM GL_MAP2_VERTEX_ATTRIB7_4_NV}
GL_MAP2_VERTEX_ATTRIB8_4_NV = $8678;
{$EXTERNALSYM GL_MAP2_VERTEX_ATTRIB8_4_NV}
GL_MAP2_VERTEX_ATTRIB9_4_NV = $8679;
{$EXTERNALSYM GL_MAP2_VERTEX_ATTRIB9_4_NV}
GL_MAP2_VERTEX_ATTRIB10_4_NV = $867A;
{$EXTERNALSYM GL_MAP2_VERTEX_ATTRIB10_4_NV}
GL_MAP2_VERTEX_ATTRIB11_4_NV = $867B;
{$EXTERNALSYM GL_MAP2_VERTEX_ATTRIB11_4_NV}
GL_MAP2_VERTEX_ATTRIB12_4_NV = $867C;
{$EXTERNALSYM GL_MAP2_VERTEX_ATTRIB12_4_NV}
GL_MAP2_VERTEX_ATTRIB13_4_NV = $867D;
{$EXTERNALSYM GL_MAP2_VERTEX_ATTRIB13_4_NV}
GL_MAP2_VERTEX_ATTRIB14_4_NV = $867E;
{$EXTERNALSYM GL_MAP2_VERTEX_ATTRIB14_4_NV}
GL_MAP2_VERTEX_ATTRIB15_4_NV = $867F;
{$EXTERNALSYM GL_MAP2_VERTEX_ATTRIB15_4_NV}
// WGL_ARB_pixel_format
WGL_NUMBER_PIXEL_FORMATS_ARB = $2000;
{$EXTERNALSYM WGL_NUMBER_PIXEL_FORMATS_ARB}
WGL_DRAW_TO_WINDOW_ARB = $2001;
{$EXTERNALSYM WGL_DRAW_TO_WINDOW_ARB}
WGL_DRAW_TO_BITMAP_ARB = $2002;
{$EXTERNALSYM WGL_DRAW_TO_BITMAP_ARB}
WGL_ACCELERATION_ARB = $2003;
{$EXTERNALSYM WGL_ACCELERATION_ARB}
WGL_NEED_PALETTE_ARB = $2004;
{$EXTERNALSYM WGL_NEED_PALETTE_ARB}
WGL_NEED_SYSTEM_PALETTE_ARB = $2005;
{$EXTERNALSYM WGL_NEED_SYSTEM_PALETTE_ARB}
WGL_SWAP_LAYER_BUFFERS_ARB = $2006;
{$EXTERNALSYM WGL_SWAP_LAYER_BUFFERS_ARB}
WGL_SWAP_METHOD_ARB = $2007;
{$EXTERNALSYM WGL_SWAP_METHOD_ARB}
WGL_NUMBER_OVERLAYS_ARB = $2008;
{$EXTERNALSYM WGL_NUMBER_OVERLAYS_ARB}
WGL_NUMBER_UNDERLAYS_ARB = $2009;
{$EXTERNALSYM WGL_NUMBER_UNDERLAYS_ARB}
WGL_TRANSPARENT_ARB = $200A;
{$EXTERNALSYM WGL_TRANSPARENT_ARB}
WGL_TRANSPARENT_RED_VALUE_ARB = $2037;
{$EXTERNALSYM WGL_TRANSPARENT_RED_VALUE_ARB}
WGL_TRANSPARENT_GREEN_VALUE_ARB = $2038;
{$EXTERNALSYM WGL_TRANSPARENT_GREEN_VALUE_ARB}
WGL_TRANSPARENT_BLUE_VALUE_ARB = $2039;
{$EXTERNALSYM WGL_TRANSPARENT_BLUE_VALUE_ARB}
WGL_TRANSPARENT_ALPHA_VALUE_ARB = $203A;
{$EXTERNALSYM WGL_TRANSPARENT_ALPHA_VALUE_ARB}
WGL_TRANSPARENT_INDEX_VALUE_ARB = $203B;
{$EXTERNALSYM WGL_TRANSPARENT_INDEX_VALUE_ARB}
WGL_SHARE_DEPTH_ARB = $200C;
{$EXTERNALSYM WGL_SHARE_DEPTH_ARB}
WGL_SHARE_STENCIL_ARB = $200D;
{$EXTERNALSYM WGL_SHARE_STENCIL_ARB}
WGL_SHARE_ACCUM_ARB = $200E;
{$EXTERNALSYM WGL_SHARE_ACCUM_ARB}
WGL_SUPPORT_GDI_ARB = $200F;
{$EXTERNALSYM WGL_SUPPORT_GDI_ARB}
WGL_SUPPORT_OPENGL_ARB = $2010;
{$EXTERNALSYM WGL_SUPPORT_OPENGL_ARB}
WGL_DOUBLE_BUFFER_ARB = $2011;
{$EXTERNALSYM WGL_DOUBLE_BUFFER_ARB}
WGL_STEREO_ARB = $2012;
{$EXTERNALSYM WGL_STEREO_ARB}
WGL_PIXEL_TYPE_ARB = $2013;
{$EXTERNALSYM WGL_PIXEL_TYPE_ARB}
WGL_COLOR_BITS_ARB = $2014;
{$EXTERNALSYM WGL_COLOR_BITS_ARB}
WGL_RED_BITS_ARB = $2015;
{$EXTERNALSYM WGL_RED_BITS_ARB}
WGL_RED_SHIFT_ARB = $2016;
{$EXTERNALSYM WGL_RED_SHIFT_ARB}
WGL_GREEN_BITS_ARB = $2017;
{$EXTERNALSYM WGL_GREEN_BITS_ARB}
WGL_GREEN_SHIFT_ARB = $2018;
{$EXTERNALSYM WGL_GREEN_SHIFT_ARB}
WGL_BLUE_BITS_ARB = $2019;
{$EXTERNALSYM WGL_BLUE_BITS_ARB}
WGL_BLUE_SHIFT_ARB = $201A;
{$EXTERNALSYM WGL_BLUE_SHIFT_ARB}
WGL_ALPHA_BITS_ARB = $201B;
{$EXTERNALSYM WGL_ALPHA_BITS_ARB}
WGL_ALPHA_SHIFT_ARB = $201C;
{$EXTERNALSYM WGL_ALPHA_SHIFT_ARB}
WGL_ACCUM_BITS_ARB = $201D;
{$EXTERNALSYM WGL_ACCUM_BITS_ARB}
WGL_ACCUM_RED_BITS_ARB = $201E;
{$EXTERNALSYM WGL_ACCUM_RED_BITS_ARB}
WGL_ACCUM_GREEN_BITS_ARB = $201F;
{$EXTERNALSYM WGL_ACCUM_GREEN_BITS_ARB}
WGL_ACCUM_BLUE_BITS_ARB = $2020;
{$EXTERNALSYM WGL_ACCUM_BLUE_BITS_ARB}
WGL_ACCUM_ALPHA_BITS_ARB = $2021;
{$EXTERNALSYM WGL_ACCUM_ALPHA_BITS_ARB}
WGL_DEPTH_BITS_ARB = $2022;
{$EXTERNALSYM WGL_DEPTH_BITS_ARB}
WGL_STENCIL_BITS_ARB = $2023;
{$EXTERNALSYM WGL_STENCIL_BITS_ARB}
WGL_AUX_BUFFERS_ARB = $2024;
{$EXTERNALSYM WGL_AUX_BUFFERS_ARB}
WGL_NO_ACCELERATION_ARB = $2025;
{$EXTERNALSYM WGL_NO_ACCELERATION_ARB}
WGL_GENERIC_ACCELERATION_ARB = $2026;
{$EXTERNALSYM WGL_GENERIC_ACCELERATION_ARB}
WGL_FULL_ACCELERATION_ARB = $2027;
{$EXTERNALSYM WGL_FULL_ACCELERATION_ARB}
WGL_SWAP_EXCHANGE_ARB = $2028;
{$EXTERNALSYM WGL_SWAP_EXCHANGE_ARB}
WGL_SWAP_COPY_ARB = $2029;
{$EXTERNALSYM WGL_SWAP_COPY_ARB}
WGL_SWAP_UNDEFINED_ARB = $202A;
{$EXTERNALSYM WGL_SWAP_UNDEFINED_ARB}
WGL_TYPE_RGBA_ARB = $202B;
{$EXTERNALSYM WGL_TYPE_RGBA_ARB}
WGL_TYPE_COLORINDEX_ARB = $202C;
{$EXTERNALSYM WGL_TYPE_COLORINDEX_ARB}
// ********** GLU generic constants **********
// Errors: (return value 0 = no error)
GLU_INVALID_ENUM = 100900;
{$EXTERNALSYM GLU_INVALID_ENUM}
GLU_INVALID_VALUE = 100901;
{$EXTERNALSYM GLU_INVALID_VALUE}
GLU_OUT_OF_MEMORY = 100902;
{$EXTERNALSYM GLU_OUT_OF_MEMORY}
GLU_INCOMPATIBLE_GL_VERSION = 100903;
{$EXTERNALSYM GLU_INCOMPATIBLE_GL_VERSION}
// StringName
GLU_VERSION = 100800;
{$EXTERNALSYM GLU_VERSION}
GLU_EXTENSIONS = 100801;
{$EXTERNALSYM GLU_EXTENSIONS}
// Boolean
GLU_TRUE = GL_TRUE;
{$EXTERNALSYM GLU_TRUE}
GLU_FALSE = GL_FALSE;
{$EXTERNALSYM GLU_FALSE}
// Quadric constants
// QuadricNormal
GLU_SMOOTH = 100000;
{$EXTERNALSYM GLU_SMOOTH}
GLU_FLAT = 100001;
{$EXTERNALSYM GLU_FLAT}
GLU_NONE = 100002;
{$EXTERNALSYM GLU_NONE}
// QuadricDrawStyle
GLU_POINT = 100010;
{$EXTERNALSYM GLU_POINT}
GLU_LINE = 100011;
{$EXTERNALSYM GLU_LINE}
GLU_FILL = 100012;
{$EXTERNALSYM GLU_FILL}
GLU_SILHOUETTE = 100013;
{$EXTERNALSYM GLU_SILHOUETTE}
// QuadricOrientation
GLU_OUTSIDE = 100020;
{$EXTERNALSYM GLU_OUTSIDE}
GLU_INSIDE = 100021;
{$EXTERNALSYM GLU_INSIDE}
// Tesselation constants
GLU_TESS_MAX_COORD = 1.0e150;
{$EXTERNALSYM GLU_TESS_MAX_COORD}
// TessProperty
GLU_TESS_WINDING_RULE = 100140;
{$EXTERNALSYM GLU_TESS_WINDING_RULE}
GLU_TESS_BOUNDARY_ONLY = 100141;
{$EXTERNALSYM GLU_TESS_BOUNDARY_ONLY}
GLU_TESS_TOLERANCE = 100142;
{$EXTERNALSYM GLU_TESS_TOLERANCE}
// TessWinding
GLU_TESS_WINDING_ODD = 100130;
{$EXTERNALSYM GLU_TESS_WINDING_ODD}
GLU_TESS_WINDING_NONZERO = 100131;
{$EXTERNALSYM GLU_TESS_WINDING_NONZERO}
GLU_TESS_WINDING_POSITIVE = 100132;
{$EXTERNALSYM GLU_TESS_WINDING_POSITIVE}
GLU_TESS_WINDING_NEGATIVE = 100133;
{$EXTERNALSYM GLU_TESS_WINDING_NEGATIVE}
GLU_TESS_WINDING_ABS_GEQ_TWO = 100134;
{$EXTERNALSYM GLU_TESS_WINDING_ABS_GEQ_TWO}
// TessCallback
GLU_TESS_BEGIN = 100100; // TGLUTessBeginProc
{$EXTERNALSYM GLU_TESS_BEGIN}
GLU_TESS_VERTEX = 100101; // TGLUTessVertexProc
{$EXTERNALSYM GLU_TESS_VERTEX}
GLU_TESS_END = 100102; // TGLUTessEndProc
{$EXTERNALSYM GLU_TESS_END}
GLU_TESS_ERROR = 100103; // TGLUTessErrorProc
{$EXTERNALSYM GLU_TESS_ERROR}
GLU_TESS_EDGE_FLAG = 100104; // TGLUTessEdgeFlagProc
{$EXTERNALSYM GLU_TESS_EDGE_FLAG}
GLU_TESS_COMBINE = 100105; // TGLUTessCombineProc
{$EXTERNALSYM GLU_TESS_COMBINE}
GLU_TESS_BEGIN_DATA = 100106; // TGLUTessBeginDataProc
{$EXTERNALSYM GLU_TESS_BEGIN_DATA}
GLU_TESS_VERTEX_DATA = 100107; // TGLUTessVertexDataProc
{$EXTERNALSYM GLU_TESS_VERTEX_DATA}
GLU_TESS_END_DATA = 100108; // TGLUTessEndDataProc
{$EXTERNALSYM GLU_TESS_END_DATA}
GLU_TESS_ERROR_DATA = 100109; // TGLUTessErrorDataProc
{$EXTERNALSYM GLU_TESS_ERROR_DATA}
GLU_TESS_EDGE_FLAG_DATA = 100110; // TGLUTessEdgeFlagDataProc
{$EXTERNALSYM GLU_TESS_EDGE_FLAG_DATA}
GLU_TESS_COMBINE_DATA = 100111; // TGLUTessCombineDataProc
{$EXTERNALSYM GLU_TESS_COMBINE_DATA}
// TessError
GLU_TESS_ERROR1 = 100151;
{$EXTERNALSYM GLU_TESS_ERROR1}
GLU_TESS_ERROR2 = 100152;
{$EXTERNALSYM GLU_TESS_ERROR2}
GLU_TESS_ERROR3 = 100153;
{$EXTERNALSYM GLU_TESS_ERROR3}
GLU_TESS_ERROR4 = 100154;
{$EXTERNALSYM GLU_TESS_ERROR4}
GLU_TESS_ERROR5 = 100155;
{$EXTERNALSYM GLU_TESS_ERROR5}
GLU_TESS_ERROR6 = 100156;
{$EXTERNALSYM GLU_TESS_ERROR6}
GLU_TESS_ERROR7 = 100157;
{$EXTERNALSYM GLU_TESS_ERROR7}
GLU_TESS_ERROR8 = 100158;
{$EXTERNALSYM GLU_TESS_ERROR8}
GLU_TESS_MISSING_BEGIN_POLYGON = GLU_TESS_ERROR1;
{$EXTERNALSYM GLU_TESS_MISSING_BEGIN_POLYGON}
GLU_TESS_MISSING_BEGIN_CONTOUR = GLU_TESS_ERROR2;
{$EXTERNALSYM GLU_TESS_MISSING_BEGIN_CONTOUR}
GLU_TESS_MISSING_END_POLYGON = GLU_TESS_ERROR3;
{$EXTERNALSYM GLU_TESS_MISSING_END_POLYGON}
GLU_TESS_MISSING_END_CONTOUR = GLU_TESS_ERROR4;
{$EXTERNALSYM GLU_TESS_MISSING_END_CONTOUR}
GLU_TESS_COORD_TOO_LARGE = GLU_TESS_ERROR5;
{$EXTERNALSYM GLU_TESS_COORD_TOO_LARGE}
GLU_TESS_NEED_COMBINE_CALLBACK = GLU_TESS_ERROR6;
{$EXTERNALSYM GLU_TESS_NEED_COMBINE_CALLBACK}
// NURBS constants
// NurbsProperty
GLU_AUTO_LOAD_MATRIX = 100200;
{$EXTERNALSYM GLU_AUTO_LOAD_MATRIX}
GLU_CULLING = 100201;
{$EXTERNALSYM GLU_CULLING}
GLU_SAMPLING_TOLERANCE = 100203;
{$EXTERNALSYM GLU_SAMPLING_TOLERANCE}
GLU_DISPLAY_MODE = 100204;
{$EXTERNALSYM GLU_DISPLAY_MODE}
GLU_PARAMETRIC_TOLERANCE = 100202;
{$EXTERNALSYM GLU_PARAMETRIC_TOLERANCE}
GLU_SAMPLING_METHOD = 100205;
{$EXTERNALSYM GLU_SAMPLING_METHOD}
GLU_U_STEP = 100206;
{$EXTERNALSYM GLU_U_STEP}
GLU_V_STEP = 100207;
{$EXTERNALSYM GLU_V_STEP}
// NurbsSampling
GLU_PATH_LENGTH = 100215;
{$EXTERNALSYM GLU_PATH_LENGTH}
GLU_PARAMETRIC_ERROR = 100216;
{$EXTERNALSYM GLU_PARAMETRIC_ERROR}
GLU_DOMAIN_DISTANCE = 100217;
{$EXTERNALSYM GLU_DOMAIN_DISTANCE}
// NurbsTrim
GLU_MAP1_TRIM_2 = 100210;
{$EXTERNALSYM GLU_MAP1_TRIM_2}
GLU_MAP1_TRIM_3 = 100211;
{$EXTERNALSYM GLU_MAP1_TRIM_3}
// NurbsDisplay
GLU_OUTLINE_POLYGON = 100240;
{$EXTERNALSYM GLU_OUTLINE_POLYGON}
GLU_OUTLINE_PATCH = 100241;
{$EXTERNALSYM GLU_OUTLINE_PATCH}
// NurbsErrors
GLU_NURBS_ERROR1 = 100251;
{$EXTERNALSYM GLU_NURBS_ERROR1}
GLU_NURBS_ERROR2 = 100252;
{$EXTERNALSYM GLU_NURBS_ERROR2}
GLU_NURBS_ERROR3 = 100253;
{$EXTERNALSYM GLU_NURBS_ERROR3}
GLU_NURBS_ERROR4 = 100254;
{$EXTERNALSYM GLU_NURBS_ERROR4}
GLU_NURBS_ERROR5 = 100255;
{$EXTERNALSYM GLU_NURBS_ERROR5}
GLU_NURBS_ERROR6 = 100256;
{$EXTERNALSYM GLU_NURBS_ERROR6}
GLU_NURBS_ERROR7 = 100257;
{$EXTERNALSYM GLU_NURBS_ERROR7}
GLU_NURBS_ERROR8 = 100258;
{$EXTERNALSYM GLU_NURBS_ERROR8}
GLU_NURBS_ERROR9 = 100259;
{$EXTERNALSYM GLU_NURBS_ERROR9}
GLU_NURBS_ERROR10 = 100260;
{$EXTERNALSYM GLU_NURBS_ERROR10}
GLU_NURBS_ERROR11 = 100261;
{$EXTERNALSYM GLU_NURBS_ERROR11}
GLU_NURBS_ERROR12 = 100262;
{$EXTERNALSYM GLU_NURBS_ERROR12}
GLU_NURBS_ERROR13 = 100263;
{$EXTERNALSYM GLU_NURBS_ERROR13}
GLU_NURBS_ERROR14 = 100264;
{$EXTERNALSYM GLU_NURBS_ERROR14}
GLU_NURBS_ERROR15 = 100265;
{$EXTERNALSYM GLU_NURBS_ERROR15}
GLU_NURBS_ERROR16 = 100266;
{$EXTERNALSYM GLU_NURBS_ERROR16}
GLU_NURBS_ERROR17 = 100267;
{$EXTERNALSYM GLU_NURBS_ERROR17}
GLU_NURBS_ERROR18 = 100268;
{$EXTERNALSYM GLU_NURBS_ERROR18}
GLU_NURBS_ERROR19 = 100269;
{$EXTERNALSYM GLU_NURBS_ERROR19}
GLU_NURBS_ERROR20 = 100270;
{$EXTERNALSYM GLU_NURBS_ERROR20}
GLU_NURBS_ERROR21 = 100271;
{$EXTERNALSYM GLU_NURBS_ERROR21}
GLU_NURBS_ERROR22 = 100272;
{$EXTERNALSYM GLU_NURBS_ERROR22}
GLU_NURBS_ERROR23 = 100273;
{$EXTERNALSYM GLU_NURBS_ERROR23}
GLU_NURBS_ERROR24 = 100274;
{$EXTERNALSYM GLU_NURBS_ERROR24}
GLU_NURBS_ERROR25 = 100275;
{$EXTERNALSYM GLU_NURBS_ERROR25}
GLU_NURBS_ERROR26 = 100276;
{$EXTERNALSYM GLU_NURBS_ERROR26}
GLU_NURBS_ERROR27 = 100277;
{$EXTERNALSYM GLU_NURBS_ERROR27}
GLU_NURBS_ERROR28 = 100278;
{$EXTERNALSYM GLU_NURBS_ERROR28}
GLU_NURBS_ERROR29 = 100279;
{$EXTERNALSYM GLU_NURBS_ERROR29}
GLU_NURBS_ERROR30 = 100280;
{$EXTERNALSYM GLU_NURBS_ERROR30}
GLU_NURBS_ERROR31 = 100281;
{$EXTERNALSYM GLU_NURBS_ERROR31}
GLU_NURBS_ERROR32 = 100282;
{$EXTERNALSYM GLU_NURBS_ERROR32}
GLU_NURBS_ERROR33 = 100283;
{$EXTERNALSYM GLU_NURBS_ERROR33}
GLU_NURBS_ERROR34 = 100284;
{$EXTERNALSYM GLU_NURBS_ERROR34}
GLU_NURBS_ERROR35 = 100285;
{$EXTERNALSYM GLU_NURBS_ERROR35}
GLU_NURBS_ERROR36 = 100286;
{$EXTERNALSYM GLU_NURBS_ERROR36}
GLU_NURBS_ERROR37 = 100287;
{$EXTERNALSYM GLU_NURBS_ERROR37}
// Contours types -- obsolete!
GLU_CW = 100120;
{$EXTERNALSYM GLU_CW}
GLU_CCW = 100121;
{$EXTERNALSYM GLU_CCW}
GLU_INTERIOR = 100122;
{$EXTERNALSYM GLU_INTERIOR}
GLU_EXTERIOR = 100123;
{$EXTERNALSYM GLU_EXTERIOR}
GLU_UNKNOWN = 100124;
{$EXTERNALSYM GLU_UNKNOWN}
// Names without "TESS_" prefix
GLU_BEGIN = GLU_TESS_BEGIN;
{$EXTERNALSYM GLU_BEGIN}
GLU_VERTEX = GLU_TESS_VERTEX;
{$EXTERNALSYM GLU_VERTEX}
GLU_END = GLU_TESS_END;
{$EXTERNALSYM GLU_END}
GLU_ERROR = GLU_TESS_ERROR;
{$EXTERNALSYM GLU_ERROR}
GLU_EDGE_FLAG = GLU_TESS_EDGE_FLAG;
{$EXTERNALSYM GLU_EDGE_FLAG}
GLX_VERSION_1_1 = 1;
GLX_VERSION_1_2 = 1;
GLX_VERSION_1_3 = 1;
GLX_EXTENSION_NAME = 'GLX';
{$EXTERNALSYM GLX_EXTENSION_NAME}
GLX_USE_GL = 1;
{$EXTERNALSYM GLX_USE_GL}
GLX_BUFFER_SIZE = 2;
{$EXTERNALSYM GLX_BUFFER_SIZE}
GLX_LEVEL = 3;
{$EXTERNALSYM GLX_LEVEL}
GLX_RGBA = 4;
{$EXTERNALSYM GLX_RGBA}
GLX_DOUBLEBUFFER = 5;
{$EXTERNALSYM GLX_DOUBLEBUFFER}
GLX_STEREO = 6;
{$EXTERNALSYM GLX_STEREO}
GLX_AUX_BUFFERS = 7;
{$EXTERNALSYM GLX_AUX_BUFFERS}
GLX_RED_SIZE = 8;
{$EXTERNALSYM GLX_RED_SIZE}
GLX_GREEN_SIZE = 9;
{$EXTERNALSYM GLX_GREEN_SIZE}
GLX_BLUE_SIZE = 10;
{$EXTERNALSYM GLX_BLUE_SIZE}
GLX_ALPHA_SIZE = 11;
{$EXTERNALSYM GLX_ALPHA_SIZE}
GLX_DEPTH_SIZE = 12;
{$EXTERNALSYM GLX_DEPTH_SIZE}
GLX_STENCIL_SIZE = 13;
{$EXTERNALSYM GLX_STENCIL_SIZE}
GLX_ACCUM_RED_SIZE = 14;
{$EXTERNALSYM GLX_ACCUM_RED_SIZE}
GLX_ACCUM_GREEN_SIZE = 15;
{$EXTERNALSYM GLX_ACCUM_GREEN_SIZE}
GLX_ACCUM_BLUE_SIZE = 16;
{$EXTERNALSYM GLX_ACCUM_BLUE_SIZE}
GLX_ACCUM_ALPHA_SIZE = 17;
{$EXTERNALSYM GLX_ACCUM_ALPHA_SIZE}
// Error codes returned by glXGetConfig:
GLX_BAD_SCREEN = 1;
{$EXTERNALSYM GLX_BAD_SCREEN}
GLX_BAD_ATTRIBUTE = 2;
{$EXTERNALSYM GLX_BAD_ATTRIBUTE}
GLX_NO_EXTENSION = 3;
{$EXTERNALSYM GLX_NO_EXTENSION}
GLX_BAD_VISUAL = 4;
{$EXTERNALSYM GLX_BAD_VISUAL}
GLX_BAD_CONTEXT = 5;
{$EXTERNALSYM GLX_BAD_CONTEXT}
GLX_BAD_VALUE = 6;
{$EXTERNALSYM GLX_BAD_VALUE}
GLX_BAD_ENUM = 7;
{$EXTERNALSYM GLX_BAD_ENUM}
// GLX 1.1 and later:
GLX_VENDOR = 1;
{$EXTERNALSYM GLX_VENDOR}
GLX_VERSION = 2;
{$EXTERNALSYM GLX_VERSION}
GLX_EXTENSIONS = 3;
{$EXTERNALSYM GLX_EXTENSIONS}
// GLX 1.3 and later:
GLX_CONFIG_CAVEAT = $20;
{$EXTERNALSYM GLX_CONFIG_CAVEAT}
GLX_DONT_CARE = $FFFFFFFF;
{$EXTERNALSYM GLX_DONT_CARE}
GLX_SLOW_CONFIG = $8001;
{$EXTERNALSYM GLX_SLOW_CONFIG}
GLX_NON_CONFORMANT_CONFIG = $800D;
{$EXTERNALSYM GLX_NON_CONFORMANT_CONFIG}
GLX_X_VISUAL_TYPE = $22;
{$EXTERNALSYM GLX_X_VISUAL_TYPE}
GLX_TRANSPARENT_TYPE = $23;
{$EXTERNALSYM GLX_TRANSPARENT_TYPE}
GLX_TRANSPARENT_INDEX_VALUE = $24;
{$EXTERNALSYM GLX_TRANSPARENT_INDEX_VALUE}
GLX_TRANSPARENT_RED_VALUE = $25;
{$EXTERNALSYM GLX_TRANSPARENT_RED_VALUE}
GLX_TRANSPARENT_GREEN_VALUE = $26;
{$EXTERNALSYM GLX_TRANSPARENT_GREEN_VALUE}
GLX_TRANSPARENT_BLUE_VALUE = $27;
{$EXTERNALSYM GLX_TRANSPARENT_BLUE_VALUE}
GLX_TRANSPARENT_ALPHA_VALUE = $28;
{$EXTERNALSYM GLX_TRANSPARENT_ALPHA_VALUE}
GLX_MAX_PBUFFER_WIDTH = $8016;
{$EXTERNALSYM GLX_MAX_PBUFFER_WIDTH}
GLX_MAX_PBUFFER_HEIGHT = $8017;
{$EXTERNALSYM GLX_MAX_PBUFFER_HEIGHT}
GLX_MAX_PBUFFER_PIXELS = $8018;
{$EXTERNALSYM GLX_MAX_PBUFFER_PIXELS}
GLX_PRESERVED_CONTENTS = $801B;
{$EXTERNALSYM GLX_PRESERVED_CONTENTS}
GLX_LARGEST_BUFFER = $801C;
{$EXTERNALSYM GLX_LARGEST_BUFFER}
GLX_DRAWABLE_TYPE = $8010;
{$EXTERNALSYM GLX_DRAWABLE_TYPE}
GLX_FBCONFIG_ID = $8013;
{$EXTERNALSYM GLX_FBCONFIG_ID}
GLX_VISUAL_ID = $800B;
{$EXTERNALSYM GLX_VISUAL_ID}
GLX_WINDOW_BIT = $00000001;
{$EXTERNALSYM GLX_WINDOW_BIT}
GLX_PIXMAP_BIT = $00000002;
{$EXTERNALSYM GLX_PIXMAP_BIT}
GLX_PBUFFER_BIT = $00000004;
{$EXTERNALSYM GLX_PBUFFER_BIT}
GLX_AUX_BUFFERS_BIT = $00000010;
{$EXTERNALSYM GLX_AUX_BUFFERS_BIT}
GLX_FRONT_LEFT_BUFFER_BIT = $00000001;
{$EXTERNALSYM GLX_FRONT_LEFT_BUFFER_BIT}
GLX_FRONT_RIGHT_BUFFER_BIT = $00000002;
{$EXTERNALSYM GLX_FRONT_RIGHT_BUFFER_BIT}
GLX_BACK_LEFT_BUFFER_BIT = $00000004;
{$EXTERNALSYM GLX_BACK_LEFT_BUFFER_BIT}
GLX_BACK_RIGHT_BUFFER_BIT = $00000008;
{$EXTERNALSYM GLX_BACK_RIGHT_BUFFER_BIT}
GLX_DEPTH_BUFFER_BIT = $00000020;
{$EXTERNALSYM GLX_DEPTH_BUFFER_BIT}
GLX_STENCIL_BUFFER_BIT = $00000040;
{$EXTERNALSYM GLX_STENCIL_BUFFER_BIT}
GLX_ACCUM_BUFFER_BIT = $00000080;
{$EXTERNALSYM GLX_ACCUM_BUFFER_BIT}
GLX_RENDER_TYPE = $8011;
{$EXTERNALSYM GLX_RENDER_TYPE}
GLX_X_RENDERABLE = $8012;
{$EXTERNALSYM GLX_X_RENDERABLE}
GLX_NONE = $8000;
{$EXTERNALSYM GLX_NONE}
GLX_TRUE_COLOR = $8002;
{$EXTERNALSYM GLX_TRUE_COLOR}
GLX_DIRECT_COLOR = $8003;
{$EXTERNALSYM GLX_DIRECT_COLOR}
GLX_PSEUDO_COLOR = $8004;
{$EXTERNALSYM GLX_PSEUDO_COLOR}
GLX_STATIC_COLOR = $8005;
{$EXTERNALSYM GLX_STATIC_COLOR}
GLX_GRAY_SCALE = $8006;
{$EXTERNALSYM GLX_GRAY_SCALE}
GLX_STATIC_GRAY = $8007;
{$EXTERNALSYM GLX_STATIC_GRAY}
GLX_TRANSPARENT_INDEX = $8009;
{$EXTERNALSYM GLX_TRANSPARENT_INDEX}
GLX_COLOR_INDEX_TYPE = $8015;
{$EXTERNALSYM GLX_COLOR_INDEX_TYPE}
GLX_COLOR_INDEX_BIT = $00000002;
{$EXTERNALSYM GLX_COLOR_INDEX_BIT}
GLX_SCREEN = $800C;
{$EXTERNALSYM GLX_SCREEN}
GLX_PBUFFER_CLOBBER_MASK = $08000000;
{$EXTERNALSYM GLX_PBUFFER_CLOBBER_MASK}
GLX_DAMAGED = $8020;
{$EXTERNALSYM GLX_DAMAGED}
GLX_SAVED = $8021;
{$EXTERNALSYM GLX_SAVED}
GLX_WINDOW = $8022;
{$EXTERNALSYM GLX_WINDOW}
GLX_PBUFFER = $8023;
{$EXTERNALSYM GLX_PBUFFER}
GLX_EXT_visual_info = 1;
{$EXTERNALSYM GLX_EXT_visual_info}
GLX_X_VISUAL_TYPE_EXT = $22;
{$EXTERNALSYM GLX_X_VISUAL_TYPE_EXT}
GLX_TRANSPARENT_TYPE_EXT = $23;
{$EXTERNALSYM GLX_TRANSPARENT_TYPE_EXT}
GLX_TRANSPARENT_INDEX_VALUE_EXT = $24;
{$EXTERNALSYM GLX_TRANSPARENT_INDEX_VALUE_EXT}
GLX_TRANSPARENT_RED_VALUE_EXT = $25;
{$EXTERNALSYM GLX_TRANSPARENT_RED_VALUE_EXT}
GLX_TRANSPARENT_GREEN_VALUE_EXT = $26;
{$EXTERNALSYM GLX_TRANSPARENT_GREEN_VALUE_EXT}
GLX_TRANSPARENT_BLUE_VALUE_EXT = $27;
{$EXTERNALSYM GLX_TRANSPARENT_BLUE_VALUE_EXT}
GLX_TRANSPARENT_ALPHA_VALUE_EXT = $28;
{$EXTERNALSYM GLX_TRANSPARENT_ALPHA_VALUE_EXT}
GLX_TRUE_COLOR_EXT = $8002;
{$EXTERNALSYM GLX_TRUE_COLOR_EXT}
GLX_DIRECT_COLOR_EXT = $8003;
{$EXTERNALSYM GLX_DIRECT_COLOR_EXT}
GLX_PSEUDO_COLOR_EXT = $8004;
{$EXTERNALSYM GLX_PSEUDO_COLOR_EXT}
GLX_STATIC_COLOR_EXT = $8005;
{$EXTERNALSYM GLX_STATIC_COLOR_EXT}
GLX_GRAY_SCALE_EXT = $8006;
{$EXTERNALSYM GLX_GRAY_SCALE_EXT}
GLX_STATIC_GRAY_EXT = $8007;
{$EXTERNALSYM GLX_STATIC_GRAY_EXT}
GLX_NONE_EXT = $8000;
{$EXTERNALSYM GLX_NONE_EXT}
GLX_TRANSPARENT_RGB_EXT = $8008;
{$EXTERNALSYM GLX_TRANSPARENT_RGB_EXT}
GLX_TRANSPARENT_INDEX_EXT = $8009;
{$EXTERNALSYM GLX_TRANSPARENT_INDEX_EXT}
GLX_VISUAL_CAVEAT_EXT = $20;
{$EXTERNALSYM GLX_VISUAL_CAVEAT_EXT}
GLX_SLOW_VISUAL_EXT = $8001;
{$EXTERNALSYM GLX_SLOW_VISUAL_EXT}
GLX_NON_CONFORMANT_VISUAL_EXT = $800D;
{$EXTERNALSYM GLX_NON_CONFORMANT_VISUAL_EXT}
GLX_SHARE_CONTEXT_EXT = $800A;
{$EXTERNALSYM GLX_SHARE_CONTEXT_EXT}
GLX_VISUAL_ID_EXT = $800B;
{$EXTERNALSYM GLX_VISUAL_ID_EXT}
GLX_SCREEN_EXT = $800C;
{$EXTERNALSYM GLX_SCREEN_EXT}
GLX_3DFX_WINDOW_MODE_MESA = $1;
{$EXTERNALSYM GLX_3DFX_WINDOW_MODE_MESA}
GLX_3DFX_FULLSCREEN_MODE_MESA = $2;
{$EXTERNALSYM GLX_3DFX_FULLSCREEN_MODE_MESA}
type
// GLU types
TGLUNurbs = record end;
TGLUQuadric = record end;
TGLUTesselator = record end;
PGLUNurbs = ^TGLUNurbs;
PGLUQuadric = ^TGLUQuadric;
PGLUTesselator = ^TGLUTesselator;
// backwards compatibility
TGLUNurbsObj = TGLUNurbs;
TGLUQuadricObj = TGLUQuadric;
TGLUTesselatorObj = TGLUTesselator;
TGLUTriangulatorObj = TGLUTesselator;
PGLUNurbsObj = PGLUNurbs;
PGLUQuadricObj = PGLUQuadric;
PGLUTesselatorObj = PGLUTesselator;
PGLUTriangulatorObj = PGLUTesselator;
{$IFDEF FPC}
{$IFDEF UNIX}
PALETTEENTRY = record
peRed : BYTE;
peGreen : BYTE;
peBlue : BYTE;
peFlags : BYTE;
end;
LPPALETTEENTRY = ^PALETTEENTRY;
tagPALETTEENTRY = PALETTEENTRY;
TPaletteEntry = PALETTEENTRY;
PPALETTEENTRY = ^PALETTEENTRY;
xid = txid;
pixmap = tpixmap;
font = tfont;
window = twindow;
colormap = tcolormap;
{$ENDIF}
PMaxLogPalette = ^TMaxLogPalette;
TMaxLogPalette = packed record
palversion : word;
palnumentries : word;
palpalentry : array[byte] of TPaletteEntry;
end;
{$ifdef WIN32} // If Windows
PWGLSwap = ^TWGLSwap;
{$EXTERNALSYM _WGLSWAP}
_WGLSWAP = packed record
hdc: HDC;
uiFlags: Cardinal;
end;
TWGLSwap = _WGLSWAP;
{$EXTERNALSYM WGLSWAP}
WGLSWAP = _WGLSWAP;
{$endif WIN32}
{$ENDIF}
{$ifdef VER100} // Delphi 3
PWGLSwap = ^TWGLSwap;
{$EXTERNALSYM _WGLSWAP}
_WGLSWAP = packed record
hdc: HDC;
uiFlags: Cardinal;
end;
TWGLSwap = _WGLSWAP;
{$EXTERNALSYM WGLSWAP}
WGLSWAP = _WGLSWAP;
{$endif VER100}
// Callback function prototypes
// GLUQuadricCallback
TGLUQuadricErrorProc = procedure(errorCode: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
// GLUTessCallback
TGLUTessBeginProc = procedure(AType: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
TGLUTessEdgeFlagProc = procedure(Flag: TGLboolean); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
TGLUTessVertexProc = procedure(VertexData: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
TGLUTessEndProc = procedure; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
TGLUTessErrorProc = procedure(ErrNo: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
TGLUTessCombineProc = procedure(Coords: TVector3d; VertexData: TVector4p; Weight: TVector4f; OutData: PPointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
TGLUTessBeginDataProc = procedure(AType: TGLEnum; UserData: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
TGLUTessEdgeFlagDataProc = procedure(Flag: TGLboolean; UserData: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
TGLUTessVertexDataProc = procedure(VertexData: Pointer; UserData: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
TGLUTessEndDataProc = procedure(UserData: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
TGLUTessErrorDataProc = procedure(ErrNo: TGLEnum; UserData: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
TGLUTessCombineDataProc = procedure(Coords: TVector3d; VertexData: TVector4p; Weight: TVector4f; OutData: PPointer; UserData: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
// GLUNurbsCallback
TGLUNurbsErrorProc = procedure(ErrorCode: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
var
// GL functions and procedures
glAccum: procedure(op: TGLuint; value: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glAccum}
glAlphaFunc: procedure(func: TGLEnum; ref: TGLclampf); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glAlphaFunc}
glAreTexturesResident: function(n: TGLsizei; Textures: PGLuint; residences: PGLboolean): TGLboolean; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glAreTexturesResident}
glArrayElement: procedure(i: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glArrayElement}
glBegin: procedure(mode: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glBegin}
glBindTexture: procedure(target: TGLEnum; texture: TGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glBindTexture}
glBitmap: procedure(width: TGLsizei; height: TGLsizei; xorig, yorig: TGLfloat; xmove: TGLfloat; ymove: TGLfloat; bitmap: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glBitmap}
glBlendFunc: procedure(sfactor: TGLEnum; dfactor: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glBlendFunc}
glCallList: procedure(list: TGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCallList}
glCallLists: procedure(n: TGLsizei; atype: TGLEnum; lists: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCallLists}
glClear: procedure(mask: TGLbitfield); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glClear}
glClearAccum: procedure(red, green, blue, alpha: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glClearAccum}
glClearColor: procedure(red, green, blue, alpha: TGLclampf); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glClearColor}
glClearDepth: procedure(depth: TGLclampd); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glClearDepth}
glClearIndex: procedure(c: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glClearIndex}
glClearStencil: procedure(s: TGLint ); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glClearStencil}
glClipPlane: procedure(plane: TGLEnum; equation: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glClipPlane}
glColor3b: procedure(red, green, blue: TGLbyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor3b}
glColor3bv: procedure(v: PGLbyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor3bv}
glColor3d: procedure(red, green, blue: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor3d}
glColor3dv: procedure(v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor3dv}
glColor3f: procedure(red, green, blue: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor3f}
glColor3fv: procedure(v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor3fv}
glColor3i: procedure(red, green, blue: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor3i}
glColor3iv: procedure(v: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor3iv}
glColor3s: procedure(red, green, blue: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor3s}
glColor3sv: procedure(v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor3sv}
glColor3ub: procedure(red, green, blue: TGLubyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor3ub}
glColor3ubv: procedure(v: PGLubyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor3ubv}
glColor3ui: procedure(red, green, blue: TGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor3ui}
glColor3uiv: procedure(v: PGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor3uiv}
glColor3us: procedure(red, green, blue: TGLushort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor3us}
glColor3usv: procedure(v: PGLushort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor3usv}
glColor4b: procedure(red, green, blue, alpha: TGLbyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor4b}
glColor4bv: procedure(v: PGLbyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor4bv}
glColor4d: procedure(red, green, blue, alpha: TGLdouble ); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor4d}
glColor4dv: procedure(v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor4dv}
glColor4f: procedure(red, green, blue, alpha: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor4f}
glColor4fv: procedure(v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor4fv}
glColor4i: procedure(red, green, blue, alpha: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor4i}
glColor4iv: procedure(v: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor4iv}
glColor4s: procedure(red, green, blue, alpha: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor4s}
glColor4sv: procedure(v: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor4sv}
glColor4ub: procedure(red, green, blue, alpha: TGLubyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor4ub}
glColor4ubv: procedure(v: PGLubyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor4ubv}
glColor4ui: procedure(red, green, blue, alpha: TGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor4ui}
glColor4uiv: procedure(v: PGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor4uiv}
glColor4us: procedure(red, green, blue, alpha: TGLushort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor4us}
glColor4usv: procedure(v: PGLushort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor4usv}
glColorMask: procedure(red, green, blue, alpha: TGLboolean); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColorMask}
glColorMaterial: procedure(face: TGLEnum; mode: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColorMaterial}
glColorPointer: procedure(size: TGLint; atype: TGLEnum; stride: TGLsizei; data: pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColorPointer}
glCopyPixels: procedure(x, y: TGLint; width, height: TGLsizei; atype: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCopyPixels}
glCopyTexImage1D: procedure(target: TGLEnum; level: TGLint; internalFormat: TGLEnum; x, y: TGLint; width: TGLsizei; border: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCopyTexImage1D}
glCopyTexImage2D: procedure(target: TGLEnum; level: TGLint; internalFormat: TGLEnum; x, y: TGLint; width, height: TGLsizei; border: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCopyTexImage2D}
glCopyTexSubImage1D: procedure(target: TGLEnum; level, xoffset, x, y: TGLint; width: TGLsizei); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCopyTexSubImage1D}
glCopyTexSubImage2D: procedure(target: TGLEnum; level, xoffset, yoffset, x, y: TGLint; width, height: TGLsizei); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCopyTexSubImage2D}
glCullFace: procedure(mode: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCullFace}
glDeleteLists: procedure(list: TGLuint; range: TGLsizei); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glDeleteLists}
glDeleteTextures: procedure(n: TGLsizei; textures: PGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glDeleteTextures}
glDepthFunc: procedure(func: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glDepthFunc}
glDepthMask: procedure(flag: TGLboolean); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glDepthMask}
glDepthRange: procedure(zNear, zFar: TGLclampd); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glDepthRange}
glDisable: procedure(cap: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glDisable}
glDisableClientState: procedure(aarray: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glDisableClientState}
glDrawArrays: procedure(mode: TGLEnum; first: TGLint; count: TGLsizei); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glDrawArrays}
glDrawBuffer: procedure(mode: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glDrawBuffer}
glDrawElements: procedure(mode: TGLEnum; count: TGLsizei; atype: TGLEnum; indices: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glDrawElements}
glDrawPixels: procedure(width, height: TGLsizei; format, atype: TGLEnum; pixels: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glDrawPixels}
glEdgeFlag: procedure(flag: TGLboolean); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glEdgeFlag}
glEdgeFlagPointer: procedure(stride: TGLsizei; data: pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glEdgeFlagPointer}
glEdgeFlagv: procedure(flag: PGLboolean); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glEdgeFlagv}
glEnable: procedure(cap: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glEnable}
glEnableClientState: procedure(aarray: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glEnableClientState}
glEnd: procedure; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glEnd}
glEndList: procedure; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glEndList}
glEvalCoord1d: procedure(u: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glEvalCoord1d}
glEvalCoord1dv: procedure(u: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glEvalCoord1dv}
glEvalCoord1f: procedure(u: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glEvalCoord1f}
glEvalCoord1fv: procedure(u: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glEvalCoord1fv}
glEvalCoord2d: procedure(u: TGLdouble; v: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glEvalCoord2d}
glEvalCoord2dv: procedure(u: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glEvalCoord2dv}
glEvalCoord2f: procedure(u, v: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glEvalCoord2f}
glEvalCoord2fv: procedure(u: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glEvalCoord2fv}
glEvalMesh1: procedure(mode: TGLEnum; i1, i2: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glEvalMesh1}
glEvalMesh2: procedure(mode: TGLEnum; i1, i2, j1, j2: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glEvalMesh2}
glEvalPoint1: procedure(i: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glEvalPoint1}
glEvalPoint2: procedure(i, j: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glEvalPoint2}
glFeedbackBuffer: procedure(size: TGLsizei; atype: TGLEnum; buffer: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFeedbackBuffer}
glFinish: procedure; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFinish}
glFlush: procedure; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFlush}
glFogf: procedure(pname: TGLEnum; param: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFogf}
glFogfv: procedure(pname: TGLEnum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFogfv}
glFogi: procedure(pname: TGLEnum; param: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFogi}
glFogiv: procedure(pname: TGLEnum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFogiv}
glFrontFace: procedure(mode: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFrontFace}
glFrustum: procedure(left, right, bottom, top, zNear, zFar: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFrustum}
glGenLists: function(range: TGLsizei): TGLuint; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGenLists}
glGenTextures: procedure(n: TGLsizei; textures: PGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGenTextures}
glGetBooleanv: procedure(pname: TGLEnum; params: PGLboolean); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetBooleanv}
glGetClipPlane: procedure(plane: TGLEnum; equation: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetClipPlane}
glGetDoublev: procedure(pname: TGLEnum; params: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetDoublev}
glGetError: function: TGLuint; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetError}
glGetFloatv: procedure(pname: TGLEnum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetFloatv}
glGetIntegerv: procedure(pname: TGLEnum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetIntegerv}
glGetLightfv: procedure(light, pname: TGLEnum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetLightfv}
glGetLightiv: procedure(light, pname: TGLEnum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetLightiv}
glGetMapdv: procedure(target, query: TGLEnum; v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetMapdv}
glGetMapfv: procedure(target, query: TGLEnum; v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetMapfv}
glGetMapiv: procedure(target, query: TGLEnum; v: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetMapiv}
glGetMaterialfv: procedure(face, pname: TGLEnum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetMaterialfv}
glGetMaterialiv: procedure(face, pname: TGLEnum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetMaterialiv}
glGetPixelMapfv: procedure(map: TGLEnum; values: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetPixelMapfv}
glGetPixelMapuiv: procedure(map: TGLEnum; values: PGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetPixelMapuiv}
glGetPixelMapusv: procedure(map: TGLEnum; values: PGLushort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetPixelMapusv}
glGetPointerv: procedure(pname: TGLEnum; var params); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetPointerv}
glGetPolygonStipple: procedure(mask: PGLubyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetPolygonStipple}
glGetString: function(name: TGLEnum): PChar; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetString}
glGetTexEnvfv: procedure(target, pname: TGLEnum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetTexEnvfv}
glGetTexEnviv: procedure(target, pname: TGLEnum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetTexEnviv}
glGetTexGendv: procedure(coord, pname: TGLEnum; params: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetTexGendv}
glGetTexGenfv: procedure(coord, pname: TGLEnum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetTexGenfv}
glGetTexGeniv: procedure(coord, pname: TGLEnum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetTexGeniv}
glGetTexImage: procedure(target: TGLEnum; level: TGLint; format, atype: TGLEnum; pixels: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetTexImage}
glGetTexLevelParameterfv: procedure(target: TGLEnum; level: TGLint; pname: TGLEnum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetTexLevelParameterfv}
glGetTexLevelParameteriv: procedure(target: TGLEnum; level: TGLint; pname: TGLEnum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetTexLevelParameteriv}
glGetTexParameterfv: procedure(target, pname: TGLEnum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetTexParameterfv}
glGetTexParameteriv: procedure(target, pname: TGLEnum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetTexParameteriv}
glHint: procedure(target, mode: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glHint}
glIndexMask: procedure(mask: TGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glIndexMask}
glIndexPointer: procedure(atype: TGLEnum; stride: TGLsizei; data: pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glIndexPointer}
glIndexd: procedure(c: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glIndexd}
glIndexdv: procedure(c: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glIndexdv}
glIndexf: procedure(c: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glIndexf}
glIndexfv: procedure(c: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glIndexfv}
glIndexi: procedure(c: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glIndexi}
glIndexiv: procedure(c: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glIndexiv}
glIndexs: procedure(c: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glIndexs}
glIndexsv: procedure(c: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glIndexsv}
glIndexub: procedure(c: TGLubyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glIndexub}
glIndexubv: procedure(c: PGLubyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glIndexubv}
glInitNames: procedure; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glInitNames}
glInterleavedArrays: procedure(format: TGLEnum; stride: TGLsizei; data: pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glInterleavedArrays}
glIsEnabled: function(cap: TGLEnum): TGLboolean; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glIsEnabled}
glIsList: function(list: TGLuint): TGLboolean; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glIsList}
glIsTexture: function(texture: TGLuint): TGLboolean; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glIsTexture}
glLightModelf: procedure(pname: TGLEnum; param: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glLightModelf}
glLightModelfv: procedure(pname: TGLEnum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glLightModelfv}
glLightModeli: procedure(pname: TGLEnum; param: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glLightModeli}
glLightModeliv: procedure(pname: TGLEnum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glLightModeliv}
glLightf: procedure(light, pname: TGLEnum; param: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glLightf}
glLightfv: procedure(light, pname: TGLEnum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glLightfv}
glLighti: procedure(light, pname: TGLEnum; param: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glLighti}
glLightiv: procedure(light, pname: TGLEnum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glLightiv}
glLineStipple: procedure(factor: TGLint; pattern: TGLushort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glLineStipple}
glLineWidth: procedure(width: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glLineWidth}
glListBase: procedure(base: TGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glListBase}
glLoadIdentity: procedure; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glLoadIdentity}
glLoadMatrixd: procedure(m: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glLoadMatrixd}
glLoadMatrixf: procedure(m: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glLoadMatrixf}
glLoadName: procedure(name: TGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glLoadName}
glLogicOp: procedure(opcode: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glLogicOp}
glMap1d: procedure(target: TGLEnum; u1, u2: TGLdouble; stride, order: TGLint; points: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMap1d}
glMap1f: procedure(target: TGLEnum; u1, u2: TGLfloat; stride, order: TGLint; points: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMap1f}
glMap2d: procedure(target: TGLEnum; u1, u2: TGLdouble; ustride, uorder: TGLint; v1, v2: TGLdouble; vstride,
vorder: TGLint; points: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMap2d}
glMap2f: procedure(target: TGLEnum; u1, u2: TGLfloat; ustride, uorder: TGLint; v1, v2: TGLfloat; vstride,
vorder: TGLint; points: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMap2f}
glMapGrid1d: procedure(un: TGLint; u1, u2: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMapGrid1d}
glMapGrid1f: procedure(un: TGLint; u1, u2: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMapGrid1f}
glMapGrid2d: procedure(un: TGLint; u1, u2: TGLdouble; vn: TGLint; v1, v2: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMapGrid2d}
glMapGrid2f: procedure(un: TGLint; u1, u2: TGLfloat; vn: TGLint; v1, v2: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMapGrid2f}
glMaterialf: procedure(face, pname: TGLEnum; param: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMaterialf}
glMaterialfv: procedure(face, pname: TGLEnum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMaterialfv}
glMateriali: procedure(face, pname: TGLEnum; param: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMateriali}
glMaterialiv: procedure(face, pname: TGLEnum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMaterialiv}
glMatrixMode: procedure(mode: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMatrixMode}
glMultMatrixd: procedure(m: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultMatrixd}
glMultMatrixf: procedure(m: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultMatrixf}
glNewList: procedure(list: TGLuint; mode: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glNewList}
glNormal3b: procedure(nx, ny, nz: TGLbyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glNormal3b}
glNormal3bv: procedure(v: PGLbyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glNormal3bv}
glNormal3d: procedure(nx, ny, nz: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glNormal3d}
glNormal3dv: procedure(v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glNormal3dv}
glNormal3f: procedure(nx, ny, nz: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glNormal3f}
glNormal3fv: procedure(v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glNormal3fv}
glNormal3i: procedure(nx, ny, nz: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glNormal3i}
glNormal3iv: procedure(v: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glNormal3iv}
glNormal3s: procedure(nx, ny, nz: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glNormal3s}
glNormal3sv: procedure(v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glNormal3sv}
glNormalPointer: procedure(atype: TGLEnum; stride: TGLsizei; data: pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glNormalPointer}
glOrtho: procedure(left, right, bottom, top, zNear, zFar: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glOrtho}
glPassThrough: procedure(token: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPassThrough}
glPixelMapfv: procedure(map: TGLEnum; mapsize: TGLsizei; values: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPixelMapfv}
glPixelMapuiv: procedure(map: TGLEnum; mapsize: TGLsizei; values: PGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPixelMapuiv}
glPixelMapusv: procedure(map: TGLEnum; mapsize: TGLsizei; values: PGLushort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPixelMapusv}
glPixelStoref: procedure(pname: TGLEnum; param: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPixelStoref}
glPixelStorei: procedure(pname: TGLEnum; param: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPixelStorei}
glPixelTransferf: procedure(pname: TGLEnum; param: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPixelTransferf}
glPixelTransferi: procedure(pname: TGLEnum; param: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPixelTransferi}
glPixelZoom: procedure(xfactor, yfactor: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPixelZoom}
glPointSize: procedure(size: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPointSize}
glPolygonMode: procedure(face, mode: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPolygonMode}
glPolygonOffset: procedure(factor, units: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPolygonOffset}
glPolygonStipple: procedure(mask: PGLubyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPolygonStipple}
glPopAttrib: procedure; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPopAttrib}
glPopClientAttrib: procedure; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPopClientAttrib}
glPopMatrix: procedure; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPopMatrix}
glPopName: procedure; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPopName}
glPrioritizeTextures: procedure(n: TGLsizei; textures: PGLuint; priorities: PGLclampf); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPrioritizeTextures}
glPushAttrib: procedure(mask: TGLbitfield); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPushAttrib}
glPushClientAttrib: procedure(mask: TGLbitfield); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPushClientAttrib}
glPushMatrix: procedure; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPushMatrix}
glPushName: procedure(name: TGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPushName}
glRasterPos2d: procedure(x, y: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRasterPos2d}
glRasterPos2dv: procedure(v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRasterPos2dv}
glRasterPos2f: procedure(x, y: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRasterPos2f}
glRasterPos2fv: procedure(v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRasterPos2fv}
glRasterPos2i: procedure(x, y: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRasterPos2i}
glRasterPos2iv: procedure(v: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRasterPos2iv}
glRasterPos2s: procedure(x, y: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRasterPos2s}
glRasterPos2sv: procedure(v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRasterPos2sv}
glRasterPos3d: procedure(x, y, z: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRasterPos3d}
glRasterPos3dv: procedure(v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRasterPos3dv}
glRasterPos3f: procedure(x, y, z: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRasterPos3f}
glRasterPos3fv: procedure(v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRasterPos3fv}
glRasterPos3i: procedure(x, y, z: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRasterPos3i}
glRasterPos3iv: procedure(v: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRasterPos3iv}
glRasterPos3s: procedure(x, y, z: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRasterPos3s}
glRasterPos3sv: procedure(v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRasterPos3sv}
glRasterPos4d: procedure(x, y, z, w: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRasterPos4d}
glRasterPos4dv: procedure(v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRasterPos4dv}
glRasterPos4f: procedure(x, y, z, w: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRasterPos4f}
glRasterPos4fv: procedure(v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRasterPos4fv}
glRasterPos4i: procedure(x, y, z, w: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRasterPos4i}
glRasterPos4iv: procedure(v: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRasterPos4iv}
glRasterPos4s: procedure(x, y, z, w: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRasterPos4s}
glRasterPos4sv: procedure(v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRasterPos4sv}
glReadBuffer: procedure(mode: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReadBuffer}
glReadPixels: procedure(x, y: TGLint; width, height: TGLsizei; format, atype: TGLEnum; pixels: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReadPixels}
glRectd: procedure(x1, y1, x2, y2: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRectd}
glRectdv: procedure(v1, v2: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRectdv}
glRectf: procedure(x1, y1, x2, y2: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRectf}
glRectfv: procedure(v1, v2: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRectfv}
glRecti: procedure(x1, y1, x2, y2: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRecti}
glRectiv: procedure(v1, v2: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRectiv}
glRects: procedure(x1, y1, x2, y2: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRects}
glRectsv: procedure(v1, v2: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRectsv}
glRenderMode: function(mode: TGLEnum): TGLint; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRenderMode}
glRotated: procedure(angle, x, y, z: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRotated}
glRotatef: procedure(angle, x, y, z: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRotatef}
glScaled: procedure(x, y, z: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glScaled}
glScalef: procedure(x, y, z: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glScalef}
glScissor: procedure(x, y: TGLint; width, height: TGLsizei); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glScissor}
glSelectBuffer: procedure(size: TGLsizei; buffer: PGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSelectBuffer}
glShadeModel: procedure(mode: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glShadeModel}
glStencilFunc: procedure(func: TGLEnum; ref: TGLint; mask: TGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glStencilFunc}
glStencilMask: procedure(mask: TGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glStencilMask}
glStencilOp: procedure(fail, zfail, zpass: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glStencilOp}
glTexCoord1d: procedure(s: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord1d}
glTexCoord1dv: procedure(v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord1dv}
glTexCoord1f: procedure(s: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord1f}
glTexCoord1fv: procedure(v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord1fv}
glTexCoord1i: procedure(s: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord1i}
glTexCoord1iv: procedure(v: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord1iv}
glTexCoord1s: procedure(s: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord1s}
glTexCoord1sv: procedure(v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord1sv}
glTexCoord2d: procedure(s, t: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord2d}
glTexCoord2dv: procedure(v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord2dv}
glTexCoord2f: procedure(s, t: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord2f}
glTexCoord2fv: procedure(v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord2fv}
glTexCoord2i: procedure(s, t: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord2i}
glTexCoord2iv: procedure(v: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord2iv}
glTexCoord2s: procedure(s, t: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord2s}
glTexCoord2sv: procedure(v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord2sv}
glTexCoord3d: procedure(s, t, r: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord3d}
glTexCoord3dv: procedure(v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord3dv}
glTexCoord3f: procedure(s, t, r: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord3f}
glTexCoord3fv: procedure(v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord3fv}
glTexCoord3i: procedure(s, t, r: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord3i}
glTexCoord3iv: procedure(v: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord3iv}
glTexCoord3s: procedure(s, t, r: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord3s}
glTexCoord3sv: procedure(v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord3sv}
glTexCoord4d: procedure(s, t, r, q: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord4d}
glTexCoord4dv: procedure(v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord4dv}
glTexCoord4f: procedure(s, t, r, q: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord4f}
glTexCoord4fv: procedure(v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord4fv}
glTexCoord4i: procedure(s, t, r, q: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord4i}
glTexCoord4iv: procedure(v: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord4iv}
glTexCoord4s: procedure(s, t, r, q: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord4s}
glTexCoord4sv: procedure(v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord4sv}
glTexCoordPointer: procedure(size: TGLint; atype: TGLEnum; stride: TGLsizei; data: pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoordPointer}
glTexEnvf: procedure(target, pname: TGLEnum; param: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexEnvf}
glTexEnvfv: procedure(target, pname: TGLEnum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexEnvfv}
glTexEnvi: procedure(target, pname: TGLEnum; param: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexEnvi}
glTexEnviv: procedure(target, pname: TGLEnum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexEnviv}
glTexGend: procedure(coord, pname: TGLEnum; param: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexGend}
glTexGendv: procedure(coord, pname: TGLEnum; params: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexGendv}
glTexGenf: procedure(coord, pname: TGLEnum; param: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexGenf}
glTexGenfv: procedure(coord, pname: TGLEnum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexGenfv}
glTexGeni: procedure(coord, pname: TGLEnum; param: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexGeni}
glTexGeniv: procedure(coord, pname: TGLEnum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexGeniv}
glTexImage1D: procedure(target: TGLEnum; level, internalformat: TGLint; width: TGLsizei; border: TGLint; format,
atype: TGLEnum; pixels: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexImage1D}
glTexImage2D: procedure(target: TGLEnum; level, internalformat: TGLint; width, height: TGLsizei; border: TGLint;
format, atype: TGLEnum; Pixels:Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexImage2D}
glTexParameterf: procedure(target, pname: TGLEnum; param: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexParameterf}
glTexParameterfv: procedure(target, pname: TGLEnum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexParameterfv}
glTexParameteri: procedure(target, pname: TGLEnum; param: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexParameteri}
glTexParameteriv: procedure(target, pname: TGLEnum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexParameteriv}
glTexSubImage1D: procedure(target: TGLEnum; level, xoffset: TGLint; width: TGLsizei; format, atype: TGLEnum;
pixels: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexSubImage1D}
glTexSubImage2D: procedure(target: TGLEnum; level, xoffset, yoffset: TGLint; width, height: TGLsizei; format,
atype: TGLEnum; pixels: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexSubImage2D}
glTranslated: procedure(x, y, z: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTranslated}
glTranslatef: procedure(x, y, z: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTranslatef}
glVertex2d: procedure(x, y: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertex2d}
glVertex2dv: procedure(v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertex2dv}
glVertex2f: procedure(x, y: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertex2f}
glVertex2fv: procedure(v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertex2fv}
glVertex2i: procedure(x, y: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertex2i}
glVertex2iv: procedure(v: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertex2iv}
glVertex2s: procedure(x, y: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertex2s}
glVertex2sv: procedure(v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertex2sv}
glVertex3d: procedure(x, y, z: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertex3d}
glVertex3dv: procedure(v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertex3dv}
glVertex3f: procedure(x, y, z: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertex3f}
glVertex3fv: procedure(v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertex3fv}
glVertex3i: procedure(x, y, z: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertex3i}
glVertex3iv: procedure(v: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertex3iv}
glVertex3s: procedure(x, y, z: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertex3s}
glVertex3sv: procedure(v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertex3sv}
glVertex4d: procedure(x, y, z, w: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertex4d}
glVertex4dv: procedure(v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertex4dv}
glVertex4f: procedure(x, y, z, w: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertex4f}
glVertex4fv: procedure(v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertex4fv}
glVertex4i: procedure(x, y, z, w: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertex4i}
glVertex4iv: procedure(v: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertex4iv}
glVertex4s: procedure(x, y, z, w: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertex4s}
glVertex4sv: procedure(v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertex4sv}
glVertexPointer: procedure(size: TGLint; atype: TGLEnum; stride: TGLsizei; data: pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexPointer}
glViewport: procedure(x, y: TGLint; width, height: TGLsizei); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glViewport}
// GL 1.2
glDrawRangeElements: procedure(mode: TGLEnum; Astart, Aend: TGLuint; count: TGLsizei; Atype: TGLEnum;
indices: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glDrawRangeElements}
glTexImage3D: procedure(target: TGLEnum; level: TGLint; internalformat: TGLEnum; width, height, depth: TGLsizei;
border: TGLint; format: TGLEnum; Atype: TGLEnum; pixels: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexImage3D}
// GL 1.2 ARB imaging
glBlendColor: procedure(red, green, blue, alpha: TGLclampf); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glBlendColor}
glBlendEquation: procedure(mode: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glBlendEquation}
glColorSubTable: procedure(target: TGLEnum; start, count: TGLsizei; format, Atype: TGLEnum; data: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColorSubTable}
glCopyColorSubTable: procedure(target: TGLEnum; start: TGLsizei; x, y: TGLint; width: TGLsizei); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCopyColorSubTable}
glColorTable: procedure(target, internalformat: TGLEnum; width: TGLsizei; format, Atype: TGLEnum;
table: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColorTable}
glCopyColorTable: procedure(target, internalformat: TGLEnum; x, y: TGLint; width: TGLsizei); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCopyColorTable}
glColorTableParameteriv: procedure(target, pname: TGLEnum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColorTableParameteriv}
glColorTableParameterfv: procedure(target, pname: TGLEnum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColorTableParameterfv}
glGetColorTable: procedure(target, format, Atype: TGLEnum; table: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetColorTable}
glGetColorTableParameteriv: procedure(target, pname: TGLEnum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetColorTableParameteriv}
glGetColorTableParameterfv: procedure(target, pname: TGLEnum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetColorTableParameterfv}
glConvolutionFilter1D: procedure(target, internalformat: TGLEnum; width: TGLsizei; format, Atype: TGLEnum;
image: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glConvolutionFilter1D}
glConvolutionFilter2D: procedure(target, internalformat: TGLEnum; width, height: TGLsizei; format, Atype: TGLEnum;
image: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glConvolutionFilter2D}
glCopyConvolutionFilter1D: procedure(target, internalformat: TGLEnum; x, y: TGLint; width: TGLsizei); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCopyConvolutionFilter1D}
glCopyConvolutionFilter2D: procedure(target, internalformat: TGLEnum; x, y: TGLint; width, height: TGLsizei); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCopyConvolutionFilter2D}
glGetConvolutionFilter: procedure(target, internalformat, Atype: TGLEnum; image: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetConvolutionFilter}
glSeparableFilter2D: procedure(target, internalformat: TGLEnum; width, height: TGLsizei; format, Atype: TGLEnum; row,
column: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSeparableFilter2D}
glGetSeparableFilter: procedure(target, format, Atype: TGLEnum; row, column, span: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetSeparableFilter}
glConvolutionParameteri: procedure(target, pname: TGLEnum; param: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glConvolutionParameteri}
glConvolutionParameteriv: procedure(target, pname: TGLEnum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glConvolutionParameteriv}
glConvolutionParameterf: procedure(target, pname: TGLEnum; param: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glConvolutionParameterf}
glConvolutionParameterfv: procedure(target, pname: TGLEnum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glConvolutionParameterfv}
glGetConvolutionParameteriv: procedure(target, pname: TGLEnum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetConvolutionParameteriv}
glGetConvolutionParameterfv: procedure(target, pname: TGLEnum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetConvolutionParameterfv}
glHistogram: procedure(target: TGLEnum; width: TGLsizei; internalformat: TGLEnum; sink: TGLboolean); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glHistogram}
glResetHistogram: procedure(target: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glResetHistogram}
glGetHistogram: procedure(target: TGLEnum; reset: TGLboolean; format, Atype: TGLEnum; values: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetHistogram}
glGetHistogramParameteriv: procedure(target, pname: TGLEnum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetHistogramParameteriv}
glGetHistogramParameterfv: procedure(target, pname: TGLEnum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetHistogramParameterfv}
glMinmax: procedure(target, internalformat: TGLEnum; sink: TGLboolean); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMinmax}
glResetMinmax: procedure(target: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glResetMinmax}
glGetMinmax: procedure(target: TGLEnum; reset: TGLboolean; format, Atype: TGLEnum; values: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetMinmax}
glGetMinmaxParameteriv: procedure(target, pname: TGLEnum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetMinmaxParameteriv}
glGetMinmaxParameterfv: procedure(target, pname: TGLEnum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetMinmaxParameterfv}
// GL utility functions and procedures
gluErrorString: function(errCode: TGLEnum): PChar; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluErrorString}
gluGetString: function(name: TGLEnum): PChar; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluGetString}
gluOrtho2D: procedure(left, right, bottom, top: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluOrtho2D}
gluPerspective: procedure(fovy, aspect, zNear, zFar: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluPerspective}
gluPickMatrix: procedure(x, y, width, height: TGLdouble; viewport: TVector4i); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluPickMatrix}
gluLookAt: procedure(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluLookAt}
gluProject: function(objx, objy, objz: TGLdouble; modelMatrix: TMatrix4d; projMatrix: TMatrix4d; viewport: TVector4i;
winx, winy, winz: PGLdouble): TGLint; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluProject}
gluUnProject: function(winx, winy, winz: TGLdouble; modelMatrix: TMatrix4d; projMatrix: TMatrix4d; viewport: TVector4i;
objx, objy, objz: PGLdouble): TGLint; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluUnProject}
gluScaleImage: function(format: TGLEnum; widthin, heightin: TGLint; typein: TGLEnum; datain: Pointer; widthout,
heightout: TGLint; typeout: TGLEnum; dataout: Pointer): TGLint; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluScaleImage}
gluBuild1DMipmaps: function(target: TGLEnum; components, width: TGLint; format, atype: TGLEnum;
data: Pointer): TGLint; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluBuild1DMipmaps}
gluBuild2DMipmaps: function(target: TGLEnum; components, width, height: TGLint; format, atype: TGLEnum;
Data: Pointer): TGLint; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluBuild2DMipmaps}
gluNewQuadric: function: PGLUquadric; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluNewQuadric}
gluDeleteQuadric: procedure(state: PGLUquadric); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluDeleteQuadric}
gluQuadricNormals: procedure(quadObject: PGLUquadric; normals: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluQuadricNormals}
gluQuadricTexture: procedure(quadObject: PGLUquadric; textureCoords: TGLboolean); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluQuadricTexture}
gluQuadricOrientation: procedure(quadObject: PGLUquadric; orientation: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluQuadricOrientation}
gluQuadricDrawStyle: procedure(quadObject: PGLUquadric; drawStyle: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluQuadricDrawStyle}
gluCylinder: procedure(quadObject: PGLUquadric; baseRadius, topRadius, height: TGLdouble; slices,
stacks: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluCylinder}
gluDisk: procedure(quadObject: PGLUquadric; innerRadius, outerRadius: TGLdouble; slices, loops: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluDisk}
gluPartialDisk: procedure(quadObject: PGLUquadric; innerRadius, outerRadius: TGLdouble; slices, loops: TGLint;
startAngle, sweepAngle: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluPartialDisk}
gluSphere: procedure(quadObject: PGLUquadric; radius: TGLdouble; slices, stacks: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluSphere}
gluQuadricCallback: procedure(quadObject: PGLUquadric; which: TGLEnum; fn: TGLUQuadricErrorProc); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluQuadricCallback}
gluNewTess: function: PGLUtesselator; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluNewTess}
gluDeleteTess: procedure(tess: PGLUtesselator); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluDeleteTess}
gluTessBeginPolygon: procedure(tess: PGLUtesselator; polygon_data: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluTessBeginPolygon}
gluTessBeginContour: procedure(tess: PGLUtesselator); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluTessBeginContour}
gluTessVertex: procedure(tess: PGLUtesselator; coords: TVector3d; data: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluTessVertex}
gluTessEndContour: procedure(tess: PGLUtesselator); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluTessEndContour}
gluTessEndPolygon: procedure(tess: PGLUtesselator); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluTessEndPolygon}
gluTessProperty: procedure(tess: PGLUtesselator; which: TGLEnum; value: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluTessProperty}
gluTessNormal: procedure(tess: PGLUtesselator; x, y, z: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluTessNormal}
gluTessCallback: procedure(tess: PGLUtesselator; which: TGLEnum; fn: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluTessCallback}
gluGetTessProperty: procedure(tess: PGLUtesselator; which: TGLEnum; value: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluGetTessProperty}
gluNewNurbsRenderer: function: PGLUnurbs; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluNewNurbsRenderer}
gluDeleteNurbsRenderer: procedure(nobj: PGLUnurbs); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluDeleteNurbsRenderer}
gluBeginSurface: procedure(nobj: PGLUnurbs); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluBeginSurface}
gluBeginCurve: procedure(nobj: PGLUnurbs); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluBeginCurve}
gluEndCurve: procedure(nobj: PGLUnurbs); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluEndCurve}
gluEndSurface: procedure(nobj: PGLUnurbs); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluEndSurface}
gluBeginTrim: procedure(nobj: PGLUnurbs); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluBeginTrim}
gluEndTrim: procedure(nobj: PGLUnurbs); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluEndTrim}
gluPwlCurve: procedure(nobj: PGLUnurbs; count: TGLint; points: PGLfloat; stride: TGLint; atype: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluPwlCurve}
gluNurbsCurve: procedure(nobj: PGLUnurbs; nknots: TGLint; knot: PGLfloat; stride: TGLint; ctlarray: PGLfloat; order: TGLint; atype: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluNurbsCurve}
gluNurbsSurface: procedure(nobj: PGLUnurbs; sknot_count: TGLint; sknot: PGLfloat; tknot_count: TGLint; tknot: PGLfloat; s_stride, t_stride: TGLint; ctlarray: PGLfloat; sorder, torder: TGLint; atype: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluNurbsSurface}
gluLoadSamplingMatrices: procedure(nobj: PGLUnurbs; modelMatrix, projMatrix: TMatrix4f; viewport: TVector4i); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluLoadSamplingMatrices}
gluNurbsProperty: procedure(nobj: PGLUnurbs; aproperty: TGLEnum; value: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluNurbsProperty}
gluGetNurbsProperty: procedure(nobj: PGLUnurbs; aproperty: TGLEnum; value: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluGetNurbsProperty}
gluNurbsCallback: procedure(nobj: PGLUnurbs; which: TGLEnum; fn: TGLUNurbsErrorProc); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluNurbsCallback}
gluBeginPolygon: procedure(tess: PGLUtesselator); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluBeginPolygon}
gluNextContour: procedure(tess: PGLUtesselator; atype: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluNextContour}
gluEndPolygon: procedure(tess: PGLUtesselator); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluEndPolygon}
// window support functions
{$ifdef Win32}
wglGetProcAddress: function(ProcName: PChar): Pointer; stdcall;
{$EXTERNALSYM wglGetProcAddress}
wglCopyContext: function(p1: HGLRC; p2: HGLRC; p3: Cardinal): BOOL; stdcall;
{$EXTERNALSYM wglCopyContext}
wglCreateContext: function(DC: HDC): HGLRC; stdcall;
{$EXTERNALSYM wglCreateContext}
wglCreateLayerContext: function(p1: HDC; p2: Integer): HGLRC; stdcall;
{$EXTERNALSYM wglCreateLayerContext}
wglDeleteContext: function(p1: HGLRC): BOOL; stdcall;
{$EXTERNALSYM wglDeleteContext}
wglDescribeLayerPlane:function(p1: HDC; p2, p3: Integer; p4: Cardinal; var p5: TLayerPlaneDescriptor): BOOL; stdcall;
{$EXTERNALSYM wglDescribeLayerPlane}
wglGetCurrentContext: function: HGLRC; stdcall;
{$EXTERNALSYM wglGetCurrentContext}
wglGetCurrentDC: function: HDC; stdcall;
{$EXTERNALSYM wglGetCurrentDC}
wglGetLayerPaletteEntries: function(p1: HDC; p2, p3, p4: Integer; var pcr): Integer; stdcall;
{$EXTERNALSYM wglGetLayerPaletteEntries}
wglMakeCurrent: function(DC: HDC; p2: HGLRC): BOOL; stdcall;
{$EXTERNALSYM wglMakeCurrent}
wglRealizeLayerPalette: function(p1: HDC; p2: Integer; p3: BOOL): BOOL; stdcall;
{$EXTERNALSYM wglRealizeLayerPalette}
wglSetLayerPaletteEntries: function(p1: HDC; p2, p3, p4: Integer; var pcr): Integer; stdcall;
{$EXTERNALSYM wglSetLayerPaletteEntries}
wglShareLists: function(p1, p2: HGLRC): BOOL; stdcall;
{$EXTERNALSYM wglShareLists}
wglSwapLayerBuffers: function(p1: HDC; p2: Cardinal): BOOL; stdcall;
{$EXTERNALSYM wglSwapLayerBuffers}
wglSwapMultipleBuffers: function(p1: Cardinal; const p2: PWGLSwap): DWORD; stdcall;
{$EXTERNALSYM wglSwapMultipleBuffers}
wglUseFontBitmapsA: function(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall;
{$EXTERNALSYM wglUseFontBitmapsA}
wglUseFontOutlinesA: function (p1: HDC; p2, p3, p4: DWORD; p5, p6: Single; p7: Integer; p8: PGlyphMetricsFloat): BOOL; stdcall;
{$EXTERNALSYM wglUseFontOutlinesA}
wglUseFontBitmapsW: function(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall;
{$EXTERNALSYM wglUseFontBitmapsW}
wglUseFontOutlinesW: function (p1: HDC; p2, p3, p4: DWORD; p5, p6: Single; p7: Integer; p8: PGlyphMetricsFloat): BOOL; stdcall;
{$EXTERNALSYM wglUseFontOutlinesW}
wglUseFontBitmaps: function(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall;
{$EXTERNALSYM wglUseFontBitmaps}
wglUseFontOutlines: function(p1: HDC; p2, p3, p4: DWORD; p5, p6: Single; p7: Integer; p8: PGlyphMetricsFloat): BOOL; stdcall;
{$EXTERNALSYM wglUseFontOutlines}
// ARB wgl extensions
wglGetExtensionsStringARB: function(DC: HDC): PChar; stdcall;
{$EXTERNALSYM wglGetExtensionsStringARB}
wglGetPixelFormatAttribivARB: function(DC: HDC; iPixelFormat, iLayerPlane: Integer; nAttributes: Cardinal;
const piAttributes: PInteger; piValues : PInteger) : BOOL; stdcall;
{$EXTERNALSYM wglGetPixelFormatAttribivARB}
wglGetPixelFormatAttribfvARB: function(DC: HDC; iPixelFormat, iLayerPlane: Integer; nAttributes: Cardinal;
const piAttributes: PInteger; piValues: PGLFloat) : BOOL; stdcall;
{$EXTERNALSYM wglGetPixelFormatAttribfvARB}
wglChoosePixelFormatARB: function(DC: HDC; const piAttribIList: PInteger; const pfAttribFList: PGLFloat;
nMaxFormats: Cardinal; piFormats: PInteger; nNumFormats: PCardinal) : BOOL; stdcall;
{$EXTERNALSYM wglChoosePixelFormatARB}
{$endif}
// ARB_multitexture
glMultiTexCoord1dARB: procedure(target: TGLenum; s: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord1dARB}
glMultiTexCoord1dVARB: procedure(target: TGLenum; v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord1dVARB}
glMultiTexCoord1fARBP: procedure(target: TGLenum; s: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord1fARBP}
glMultiTexCoord1fVARB: procedure(target: TGLenum; v: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord1fVARB}
glMultiTexCoord1iARB: procedure(target: TGLenum; s: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord1iARB}
glMultiTexCoord1iVARB: procedure(target: TGLenum; v: PGLInt); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord1iVARB}
glMultiTexCoord1sARBP: procedure(target: TGLenum; s: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord1sARBP}
glMultiTexCoord1sVARB: procedure(target: TGLenum; v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord1sVARB}
glMultiTexCoord2dARB: procedure(target: TGLenum; s, t: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord2dARB}
glMultiTexCoord2dvARB: procedure(target: TGLenum; v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord2dvARB}
glMultiTexCoord2fARB: procedure(target: TGLenum; s, t: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord2fARB}
glMultiTexCoord2fvARB: procedure(target: TGLenum; v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord2fvARB}
glMultiTexCoord2iARB: procedure(target: TGLenum; s, t: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord2iARB}
glMultiTexCoord2ivARB: procedure(target: TGLenum; v: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord2ivARB}
glMultiTexCoord2sARB: procedure(target: TGLenum; s, t: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord2sARB}
glMultiTexCoord2svARB: procedure(target: TGLenum; v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord2svARB}
glMultiTexCoord3dARB: procedure(target: TGLenum; s, t, r: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord3dARB}
glMultiTexCoord3dvARB: procedure(target: TGLenum; v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord3dvARB}
glMultiTexCoord3fARB: procedure(target: TGLenum; s, t, r: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord3fARB}
glMultiTexCoord3fvARB: procedure(target: TGLenum; v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord3fvARB}
glMultiTexCoord3iARB: procedure(target: TGLenum; s, t, r: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord3iARB}
glMultiTexCoord3ivARB: procedure(target: TGLenum; v: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord3ivARB}
glMultiTexCoord3sARB: procedure(target: TGLenum; s, t, r: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord3sARB}
glMultiTexCoord3svARB: procedure(target: TGLenum; v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord3svARB}
glMultiTexCoord4dARB: procedure(target: TGLenum; s, t, r, q: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord4dARB}
glMultiTexCoord4dvARB: procedure(target: TGLenum; v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord4dvARB}
glMultiTexCoord4fARB: procedure(target: TGLenum; s, t, r, q: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord4fARB}
glMultiTexCoord4fvARB: procedure(target: TGLenum; v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord4fvARB}
glMultiTexCoord4iARB: procedure(target: TGLenum; s, t, r, q: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord4iARB}
glMultiTexCoord4ivARB: procedure(target: TGLenum; v: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord4ivARB}
glMultiTexCoord4sARB: procedure(target: TGLenum; s, t, r, q: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord4sARB}
glMultiTexCoord4svARB: procedure(target: TGLenum; v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiTexCoord4svARB}
glActiveTextureARB: procedure(target: TGLenum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glActiveTextureARB}
glClientActiveTextureARB: procedure(target: TGLenum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glClientActiveTextureARB}
// GLU extensions
gluNurbsCallbackDataEXT: procedure(nurb: PGLUnurbs; userData: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluNurbsCallbackDataEXT}
gluNewNurbsTessellatorEXT: function: PGLUnurbs; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluNewNurbsTessellatorEXT}
gluDeleteNurbsTessellatorEXT: procedure(nurb: PGLUnurbs); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM gluDeleteNurbsTessellatorEXT}
{$ifndef FPC}
{$ifdef MULTITHREADOPENGL}
threadvar
{$else}
var
{$endif}
{$else}
var
{$endif}
// Extension functions
glAreTexturesResidentEXT: function(n: TGLsizei; textures: PGLuint; residences: PGLBoolean): TGLboolean; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glAreTexturesResidentEXT}
glArrayElementArrayEXT: procedure(mode: TGLEnum; count: TGLsizei; pi: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glArrayElementArrayEXT}
glBeginSceneEXT: procedure; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glBeginSceneEXT}
glBindTextureEXT: procedure(target: TGLEnum; texture: TGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glBindTextureEXT}
glColorTableEXT: procedure(target, internalFormat: TGLEnum; width: TGLsizei; format, atype: TGLEnum; data: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColorTableEXT}
glColorSubTableExt: procedure(target: TGLEnum; start, count: TGLsizei; format, atype: TGLEnum; data: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColorSubTableExt}
glCopyTexImage1DEXT: procedure(target: TGLEnum; level: TGLint; internalFormat: TGLEnum; x, y: TGLint; width: TGLsizei; border: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCopyTexImage1DEXT}
glCopyTexSubImage1DEXT: procedure(target: TGLEnum; level, xoffset, x, y: TGLint; width: TGLsizei); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCopyTexSubImage1DEXT}
glCopyTexImage2DEXT: procedure(target: TGLEnum; level: TGLint; internalFormat: TGLEnum; x, y: TGLint; width, height: TGLsizei; border: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCopyTexImage2DEXT}
glCopyTexSubImage2DEXT: procedure(target: TGLEnum; level, xoffset, yoffset, x, y: TGLint; width, height: TGLsizei); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCopyTexSubImage2DEXT}
glCopyTexSubImage3DEXT: procedure(target: TGLEnum; level, xoffset, yoffset, zoffset, x, y: TGLint; width, height: TGLsizei); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCopyTexSubImage3DEXT}
glDeleteTexturesEXT: procedure(n: TGLsizei; textures: PGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glDeleteTexturesEXT}
glEndSceneEXT: procedure; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glEndSceneEXT}
glGenTexturesEXT: procedure(n: TGLsizei; textures: PGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGenTexturesEXT}
glGetColorTableEXT: procedure(target, format, atype: TGLEnum; data: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetColorTableEXT}
glGetColorTablePameterfvEXT: procedure(target, pname: TGLEnum; params: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetColorTablePameterfvEXT}
glGetColorTablePameterivEXT: procedure(target, pname: TGLEnum; params: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetColorTablePameterivEXT}
glIndexFuncEXT: procedure(func: TGLEnum; ref: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glIndexFuncEXT}
glIndexMaterialEXT: procedure(face: TGLEnum; mode: TGLEnum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glIndexMaterialEXT}
glIsTextureEXT: function(texture: TGLuint): TGLboolean; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glIsTextureEXT}
glLockArraysEXT: procedure(first: TGLint; count: TGLsizei); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glLockArraysEXT}
glPolygonOffsetEXT: procedure(factor, bias: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPolygonOffsetEXT}
glPrioritizeTexturesEXT: procedure(n: TGLsizei; textures: PGLuint; priorities: PGLclampf); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPrioritizeTexturesEXT}
glTexSubImage1DEXT: procedure(target: TGLEnum; level, xoffset: TGLint; width: TGLsizei; format, Atype: TGLEnum; pixels: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexSubImage1DEXT}
glTexSubImage2DEXT: procedure(target: TGLEnum; level, xoffset, yoffset: TGLint; width, height: TGLsizei; format, Atype: TGLEnum; pixels: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexSubImage2DEXT}
glTexSubImage3DEXT: procedure(target: TGLEnum; level, xoffset, yoffset, zoffset: TGLint; width, height, depth: TGLsizei; format, Atype: TGLEnum; pixels: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexSubImage3DEXT}
glUnlockArraysEXT: procedure; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glUnlockArraysEXT}
// EXT_vertex_array
glArrayElementEXT: procedure(I: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glArrayElementEXT}
glColorPointerEXT: procedure(size: TGLInt; atype: TGLenum; stride, count: TGLsizei; data: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColorPointerEXT}
glDrawArraysEXT: procedure(mode: TGLenum; first: TGLInt; count: TGLsizei); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glDrawArraysEXT}
glEdgeFlagPointerEXT: procedure(stride, count: TGLsizei; data: PGLboolean); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glEdgeFlagPointerEXT}
glGetPointervEXT: procedure(pname: TGLEnum; var params); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetPointervEXT}
glIndexPointerEXT: procedure(AType: TGLEnum; stride, count: TGLsizei; P: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glIndexPointerEXT}
glNormalPointerEXT: procedure(AType: TGLsizei; stride, count: TGLsizei; P: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glNormalPointerEXT}
glTexCoordPointerEXT: procedure(size: TGLint; AType: TGLenum; stride, count: TGLsizei; P: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoordPointerEXT}
glVertexPointerEXT: procedure(size: TGLint; AType: TGLenum; stride, count: TGLsizei; P: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexPointerEXT}
// EXT_compiled_vertex_array
glLockArrayEXT: procedure(first: TGLint; count: TGLsizei); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glLockArrayEXT}
glUnlockArrayEXT: procedure; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glUnlockArrayEXT}
// EXT_cull_vertex
glCullParameterdvEXT: procedure(pname: TGLenum; params: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCullParameterdvEXT}
glCullParameterfvEXT: procedure(pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCullParameterfvEXT}
// WIN_swap_hint
glAddSwapHintRectWIN: procedure(x, y: TGLint; width, height: TGLsizei); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glAddSwapHintRectWIN}
// EXT_point_parameter
glPointParameterfEXT: procedure(pname: TGLenum; param: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPointParameterfEXT}
glPointParameterfvEXT: procedure(pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPointParameterfvEXT}
// GL_ARB_transpose_matrix
glLoadTransposeMatrixfARB: procedure(m: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glLoadTransposeMatrixfARB}
glLoadTransposeMatrixdARB: procedure(m: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glLoadTransposeMatrixdARB}
glMultTransposeMatrixfARB: procedure(m: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultTransposeMatrixfARB}
glMultTransposeMatrixdARB: procedure(m: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultTransposeMatrixdARB}
// GL_ARB_multisample
glSampleCoverageARB: procedure(Value: TGLclampf; invert: TGLboolean); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSampleCoverageARB}
glSamplePassARB: procedure(pass: TGLenum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSamplePassARB}
// GL_ARB_texture_compression
glCompressedTexImage3DARB: procedure(target: TGLenum; level: TGLint; internalformat: TGLenum; Width, Height, depth: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCompressedTexImage3DARB}
glCompressedTexImage2DARB: procedure(target: TGLenum; level: TGLint; internalformat: TGLenum; Width, Height: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCompressedTexImage2DARB}
glCompressedTexImage1DARB: procedure(target: TGLenum; level: TGLint; internalformat: TGLenum; Width: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCompressedTexImage1DARB}
glCompressedTexSubImage3DARB: procedure(target: TGLenum; level: TGLint; xoffset, yoffset, zoffset: TGLint; width, height, depth: TGLsizei; Format: TGLenum; imageSize: TGLsizei; data: pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCompressedTexSubImage3DARB}
glCompressedTexSubImage2DARB: procedure(target: TGLenum; level: TGLint; xoffset, yoffset: TGLint; width, height: TGLsizei; Format: TGLenum; imageSize: TGLsizei; data: pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCompressedTexSubImage2DARB}
glCompressedTexSubImage1DARB: procedure(target: TGLenum; level: TGLint; xoffset: TGLint; width: TGLsizei; Format: TGLenum; imageSize: TGLsizei; data: pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCompressedTexSubImage1DARB}
glGetCompressedTexImageARB: procedure(target: TGLenum; level: TGLint; img: pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetCompressedTexImageARB}
// GL_EXT_blend_color
glBlendColorEXT: procedure(red, green, blue: TGLclampf; alpha: TGLclampf); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glBlendColorEXT}
// GL_EXT_texture3D
glTexImage3DEXT: procedure(target: TGLenum; level: TGLint; internalformat: TGLenum; width, height, depth: TGLsizei; border: TGLint; Format, AType: TGLenum; pixels: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexImage3DEXT}
// GL_SGIS_texture_filter4
glGetTexFilterFuncSGIS: procedure(target, Filter: TGLenum; weights: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetTexFilterFuncSGIS}
glTexFilterFuncSGIS: procedure(target, Filter: TGLenum; n: TGLsizei; weights: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexFilterFuncSGIS}
// GL_EXT_histogram
glGetHistogramEXT: procedure(target: TGLenum; reset: TGLboolean; Format, AType: TGLenum; values: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetHistogramEXT}
glGetHistogramParameterfvEXT: procedure(target, pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetHistogramParameterfvEXT}
glGetHistogramParameterivEXT: procedure(target, pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetHistogramParameterivEXT}
glGetMinmaxEXT: procedure(target: TGLenum; reset: TGLboolean; Format, AType: TGLenum; values: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetMinmaxEXT}
glGetMinmaxParameterfvEXT: procedure(target, pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetMinmaxParameterfvEXT}
glGetMinmaxParameterivEXT: procedure(target, pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetMinmaxParameterivEXT}
glHistogramEXT: procedure(target: TGLenum; Width: TGLsizei; internalformat: TGLenum; sink: TGLboolean); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glHistogramEXT}
glMinmaxEXT: procedure(target, internalformat: TGLenum; sink: TGLboolean); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMinmaxEXT}
glResetHistogramEXT: procedure(target: TGLenum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glResetHistogramEXT}
glResetMinmaxEXT: procedure(target: TGLenum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glResetMinmaxEXT}
// GL_EXT_convolution
glConvolutionFilter1DEXT: procedure(target, internalformat: TGLenum; Width: TGLsizei; Format, AType: TGLenum; image: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glConvolutionFilter1DEXT}
glConvolutionFilter2DEXT: procedure(target, internalformat: TGLenum; Width, Height: TGLsizei; Format, AType: TGLenum; image: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glConvolutionFilter2DEXT}
glConvolutionParameterfEXT: procedure(target, pname: TGLenum; params: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glConvolutionParameterfEXT}
glConvolutionParameterfvEXT: procedure(target, pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glConvolutionParameterfvEXT}
glConvolutionParameteriEXT: procedure(target, pname: TGLenum; params: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glConvolutionParameteriEXT}
glConvolutionParameterivEXT: procedure(target, pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glConvolutionParameterivEXT}
glCopyConvolutionFilter1DEXT: procedure(target, internalformat: TGLenum; x, y: TGLint; Width: TGLsizei); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCopyConvolutionFilter1DEXT}
glCopyConvolutionFilter2DEXT: procedure(target, internalformat: TGLenum; x, y: TGLint; Width, Height: TGLsizei); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCopyConvolutionFilter2DEXT}
glGetConvolutionFilterEXT: procedure(target, Format, AType: TGLenum; image: pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetConvolutionFilterEXT}
glGetConvolutionParameterfvEXT: procedure(target, pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetConvolutionParameterfvEXT}
glGetConvolutionParameterivEXT: procedure(target, pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetConvolutionParameterivEXT}
glGetSeparableFilterEXT: procedure(target, Format, AType: TGLenum; row, column, span: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetSeparableFilterEXT}
glSeparableFilter2DEXT: procedure(target, internalformat: TGLenum; Width, Height: TGLsizei; Format, AType: TGLenum; row, column: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSeparableFilter2DEXT}
// GL_SGI_color_table
glColorTableSGI: procedure(target, internalformat: TGLenum; Width: TGLsizei; Format, AType: TGLenum; Table: pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColorTableSGI}
glColorTableParameterfvSGI: procedure(target, pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColorTableParameterfvSGI}
glColorTableParameterivSGI: procedure(target, pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColorTableParameterivSGI}
glCopyColorTableSGI: procedure(target, internalformat: TGLenum; x, y: TGLint; Width: TGLsizei); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCopyColorTableSGI}
glGetColorTableSGI: procedure(target, Format, AType: TGLenum; Table: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetColorTableSGI}
glGetColorTableParameterfvSGI: procedure(target, pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetColorTableParameterfvSGI}
glGetColorTableParameterivSGI: procedure(target, pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetColorTableParameterivSGI}
// GL_SGIX_pixel_texture
glPixelTexGenSGIX: procedure(mode: TGLenum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPixelTexGenSGIX}
// GL_SGIS_pixel_texture
glPixelTexGenParameteriSGIS: procedure(pname: TGLenum; param: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPixelTexGenParameteriSGIS}
glPixelTexGenParameterivSGIS: procedure(pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPixelTexGenParameterivSGIS}
glPixelTexGenParameterfSGIS: procedure(pname: TGLenum; param: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPixelTexGenParameterfSGIS}
glPixelTexGenParameterfvSGIS: procedure(pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPixelTexGenParameterfvSGIS}
glGetPixelTexGenParameterivSGIS: procedure(pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetPixelTexGenParameterivSGIS}
glGetPixelTexGenParameterfvSGIS: procedure(pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetPixelTexGenParameterfvSGIS}
// GL_SGIS_texture4D
glTexImage4DSGIS: procedure(target: TGLenum; level: TGLint; internalformat: TGLenum; Width, Height, depth, size4d: TGLsizei; border: TGLint; Format, AType: TGLenum; pixels: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexImage4DSGIS}
glTexSubImage4DSGIS: procedure(target: TGLenum; level, xoffset, yoffset, zoffset, woffset: TGLint; Width, Height, depth, size4d: TGLsizei; Format, AType: TGLenum; pixels: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexSubImage4DSGIS}
// GL_SGIS_detail_texture
glDetailTexFuncSGIS: procedure(target: TGLenum; n: TGLsizei; points: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glDetailTexFuncSGIS}
glGetDetailTexFuncSGIS: procedure(target: TGLenum; points: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetDetailTexFuncSGIS}
// GL_SGIS_sharpen_texture
glSharpenTexFuncSGIS: procedure(target: TGLenum; n: TGLsizei; points: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSharpenTexFuncSGIS}
glGetSharpenTexFuncSGIS: procedure(target: TGLenum; points: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetSharpenTexFuncSGIS}
// GL_SGIS_multisample
glSampleMaskSGIS: procedure(Value: TGLclampf; invert: TGLboolean); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSampleMaskSGIS}
glSamplePatternSGIS: procedure(pattern: TGLenum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSamplePatternSGIS}
// GL_EXT_blend_minmax
glBlendEquationEXT: procedure(mode: TGLenum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glBlendEquationEXT}
// GL_SGIX_sprite
glSpriteParameterfSGIX: procedure(pname: TGLenum; param: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSpriteParameterfSGIX}
glSpriteParameterfvSGIX: procedure(pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSpriteParameterfvSGIX}
glSpriteParameteriSGIX: procedure(pname: TGLenum; param: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSpriteParameteriSGIX}
glSpriteParameterivSGIX: procedure(pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSpriteParameterivSGIX}
// GL_EXT_point_parameters
glPointParameterfSGIS: procedure(pname: TGLenum; param: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPointParameterfSGIS}
glPointParameterfvSGIS: procedure(pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPointParameterfvSGIS}
// GL_SGIX_instruments
glGetInstrumentsSGIX: procedure; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetInstrumentsSGIX}
glInstrumentsBufferSGIX: procedure(Size: TGLsizei; buffer: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glInstrumentsBufferSGIX}
glPollInstrumentsSGIX: procedure(marker_p: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPollInstrumentsSGIX}
glReadInstrumentsSGIX: procedure(marker: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReadInstrumentsSGIX}
glStartInstrumentsSGIX: procedure; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glStartInstrumentsSGIX}
glStopInstrumentsSGIX: procedure(marker: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glStopInstrumentsSGIX}
// GL_SGIX_framezoom
glFrameZoomSGIX: procedure(factor: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFrameZoomSGIX}
// GL_SGIX_tag_sample_buffer
glTagSampleBufferSGIX: procedure; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTagSampleBufferSGIX}
// GL_SGIX_polynomial_ffd
glDeformationMap3dSGIX: procedure(target: TGLenum; u1, u2: TGLdouble; ustride, uorder: TGLint; v1, v2: TGLdouble; vstride, vorder: TGLint; w1, w2: TGLdouble; wstride, worder: TGLint; points: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glDeformationMap3dSGIX}
glDeformationMap3fSGIX: procedure(target: TGLenum; u1, u2: TGLfloat; ustride, uorder: TGLint; v1, v2: TGLfloat; vstride, vorder: TGLint; w1, w2: TGLfloat; wstride, worder: TGLint; points: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glDeformationMap3fSGIX}
glDeformSGIX: procedure(mask: TGLbitfield); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glDeformSGIX}
glLoadIdentityDeformationMapSGIX: procedure(mask: TGLbitfield); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glLoadIdentityDeformationMapSGIX}
// GL_SGIX_reference_plane
glReferencePlaneSGIX: procedure(equation: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReferencePlaneSGIX}
// GL_SGIX_flush_raster
glFlushRasterSGIX: procedure; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFlushRasterSGIX}
// GL_SGIS_fog_function
glFogFuncSGIS: procedure(n: TGLsizei; points: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFogFuncSGIS}
glGetFogFuncSGIS: procedure(points: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetFogFuncSGIS}
// GL_HP_image_transform
glImageTransformParameteriHP: procedure(target, pname: TGLenum; param: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glImageTransformParameteriHP}
glImageTransformParameterfHP: procedure(target, pname: TGLenum; param: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glImageTransformParameterfHP}
glImageTransformParameterivHP: procedure(target, pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glImageTransformParameterivHP}
glImageTransformParameterfvHP: procedure(target, pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glImageTransformParameterfvHP}
glGetImageTransformParameterivHP: procedure(target, pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetImageTransformParameterivHP}
glGetImageTransformParameterfvHP: procedure(target, pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetImageTransformParameterfvHP}
// GL_EXT_color_subtable
glCopyColorSubTableEXT: procedure(target: TGLenum; start: TGLsizei; x, y: TGLint; Width: TGLsizei); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCopyColorSubTableEXT}
// GL_PGI_misc_hints
glHintPGI: procedure(target: TGLenum; mode: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glHintPGI}
// GL_EXT_paletted_texture
glGetColorTableParameterivEXT: procedure(target, pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetColorTableParameterivEXT}
glGetColorTableParameterfvEXT: procedure(target, pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetColorTableParameterfvEXT}
// GL_SGIX_list_priority
glGetListParameterfvSGIX: procedure(list: TGLuint; pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetListParameterfvSGIX}
glGetListParameterivSGIX: procedure(list: TGLuint; pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetListParameterivSGIX}
glListParameterfSGIX: procedure(list: TGLuint; pname: TGLenum; param: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glListParameterfSGIX}
glListParameterfvSGIX: procedure(list: TGLuint; pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glListParameterfvSGIX}
glListParameteriSGIX: procedure(list: TGLuint; pname: TGLenum; param: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glListParameteriSGIX}
glListParameterivSGIX: procedure(list: TGLuint; pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glListParameterivSGIX}
// GL_SGIX_fragment_lighting
glFragmentColorMaterialSGIX: procedure(face, mode: TGLenum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFragmentColorMaterialSGIX}
glFragmentLightfSGIX: procedure(light, pname: TGLenum; param: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFragmentLightfSGIX}
glFragmentLightfvSGIX: procedure(light, pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFragmentLightfvSGIX}
glFragmentLightiSGIX: procedure(light, pname: TGLenum; param: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFragmentLightiSGIX}
glFragmentLightivSGIX: procedure(light, pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFragmentLightivSGIX}
glFragmentLightModelfSGIX: procedure(pname: TGLenum; param: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFragmentLightModelfSGIX}
glFragmentLightModelfvSGIX: procedure(pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFragmentLightModelfvSGIX}
glFragmentLightModeliSGIX: procedure(pname: TGLenum; param: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFragmentLightModeliSGIX}
glFragmentLightModelivSGIX: procedure(pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFragmentLightModelivSGIX}
glFragmentMaterialfSGIX: procedure(face, pname: TGLenum; param: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFragmentMaterialfSGIX}
glFragmentMaterialfvSGIX: procedure(face, pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFragmentMaterialfvSGIX}
glFragmentMaterialiSGIX: procedure(face, pname: TGLenum; param: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFragmentMaterialiSGIX}
glFragmentMaterialivSGIX: procedure(face, pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFragmentMaterialivSGIX}
glGetFragmentLightfvSGIX: procedure(light, pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetFragmentLightfvSGIX}
glGetFragmentLightivSGIX: procedure(light, pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetFragmentLightivSGIX}
glGetFragmentMaterialfvSGIX: procedure(face, pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetFragmentMaterialfvSGIX}
glGetFragmentMaterialivSGIX: procedure(face, pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetFragmentMaterialivSGIX}
glLightEnviSGIX: procedure(pname: TGLenum; param: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glLightEnviSGIX}
// GL_EXT_draw_range_elements
glDrawRangeElementsEXT: procedure(mode: TGLenum; start, Aend: TGLuint; Count: TGLsizei; Atype: TGLenum; indices: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glDrawRangeElementsEXT}
// GL_EXT_light_texture
glApplyTextureEXT: procedure(mode: TGLenum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glApplyTextureEXT}
glTextureLightEXT: procedure(pname: TGLenum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTextureLightEXT}
glTextureMaterialEXT: procedure(face, mode: TGLenum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTextureMaterialEXT}
// GL_SGIX_async
glAsyncMarkerSGIX: procedure(marker: TGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glAsyncMarkerSGIX}
glFinishAsyncSGIX: procedure(markerp: PGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFinishAsyncSGIX}
glPollAsyncSGIX: procedure(markerp: PGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPollAsyncSGIX}
glGenAsyncMarkersSGIX: procedure(range: TGLsizei); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGenAsyncMarkersSGIX}
glDeleteAsyncMarkersSGIX: procedure(marker: TGLuint; range: TGLsizei); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glDeleteAsyncMarkersSGIX}
glIsAsyncMarkerSGIX: procedure(marker: TGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glIsAsyncMarkerSGIX}
// GL_INTEL_parallel_arrays
glVertexPointervINTEL: procedure(size: TGLint; Atype: TGLenum; var P); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexPointervINTEL}
glNormalPointervINTEL: procedure(Atype: TGLenum; var P); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glNormalPointervINTEL}
glColorPointervINTEL: procedure(size: TGLint; Atype: TGLenum; var P); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColorPointervINTEL}
glTexCoordPointervINTEL: procedure(size: TGLint; Atype: TGLenum; var P); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoordPointervINTEL}
// GL_EXT_pixel_transform
glPixelTransformParameteriEXT: procedure(target, pname: TGLenum; param: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPixelTransformParameteriEXT}
glPixelTransformParameterfEXT: procedure(target, pname: TGLenum; param: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPixelTransformParameterfEXT}
glPixelTransformParameterivEXT: procedure(target, pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPixelTransformParameterivEXT}
glPixelTransformParameterfvEXT: procedure(target, pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glPixelTransformParameterfvEXT}
// GL_EXT_secondary_color
glSecondaryColor3bEXT: procedure(red, green, blue: TGLbyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSecondaryColor3bEXT}
glSecondaryColor3bvEXT: procedure(v: PGLbyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSecondaryColor3bvEXT}
glSecondaryColor3dEXT: procedure(red, green, blue: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSecondaryColor3dEXT}
glSecondaryColor3dvEXT: procedure(v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSecondaryColor3dvEXT}
glSecondaryColor3fEXT: procedure(red, green, blue: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSecondaryColor3fEXT}
glSecondaryColor3fvEXT: procedure(v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSecondaryColor3fvEXT}
glSecondaryColor3iEXT: procedure(red, green, blue: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSecondaryColor3iEXT}
glSecondaryColor3ivEXT: procedure(v: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSecondaryColor3ivEXT}
glSecondaryColor3sEXT: procedure(red, green, blue: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSecondaryColor3sEXT}
glSecondaryColor3svEXT: procedure(v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSecondaryColor3svEXT}
glSecondaryColor3ubEXT: procedure(red, green, blue: TGLubyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSecondaryColor3ubEXT}
glSecondaryColor3ubvEXT: procedure(v: PGLubyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSecondaryColor3ubvEXT}
glSecondaryColor3uiEXT: procedure(red, green, blue: TGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSecondaryColor3uiEXT}
glSecondaryColor3uivEXT: procedure(v: PGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSecondaryColor3uivEXT}
glSecondaryColor3usEXT: procedure(red, green, blue: TGLushort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSecondaryColor3usEXT}
glSecondaryColor3usvEXT: procedure(v: PGLushort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSecondaryColor3usvEXT}
glSecondaryColorPointerEXT: procedure(Size: TGLint; Atype: TGLenum; stride: TGLsizei; p: pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSecondaryColorPointerEXT}
// GL_EXT_texture_perturb_normal
glTextureNormalEXT: procedure(mode: TGLenum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTextureNormalEXT}
// GL_EXT_multi_draw_arrays
glMultiDrawArraysEXT: procedure(mode: TGLenum; First: PGLint; Count: PGLsizei; primcount: TGLsizei); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiDrawArraysEXT}
glMultiDrawElementsEXT: procedure(mode: TGLenum; Count: PGLsizei; AType: TGLenum; var indices; primcount: TGLsizei); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiDrawElementsEXT}
// GL_EXT_fog_coord
glFogCoordfEXT: procedure(coord: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFogCoordfEXT}
glFogCoordfvEXT: procedure(coord: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFogCoordfvEXT}
glFogCoorddEXT: procedure(coord: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFogCoorddEXT}
glFogCoorddvEXT: procedure(coord: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFogCoorddvEXT}
glFogCoordPointerEXT: procedure(AType: TGLenum; stride: TGLsizei; p: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFogCoordPointerEXT}
// GL_EXT_coordinate_frame
glTangent3bEXT: procedure(tx, ty, tz: TGLbyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTangent3bEXT}
glTangent3bvEXT: procedure(v: PGLbyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTangent3bvEXT}
glTangent3dEXT: procedure(tx, ty, tz: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTangent3dEXT}
glTangent3dvEXT: procedure(v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTangent3dvEXT}
glTangent3fEXT: procedure(tx, ty, tz: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTangent3fEXT}
glTangent3fvEXT: procedure(v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTangent3fvEXT}
glTangent3iEXT: procedure(tx, ty, tz: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTangent3iEXT}
glTangent3ivEXT: procedure(v: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTangent3ivEXT}
glTangent3sEXT: procedure(tx, ty, tz: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTangent3sEXT}
glTangent3svEXT: procedure(v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTangent3svEXT}
glBinormal3bEXT: procedure(bx, by, bz: TGLbyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glBinormal3bEXT}
glBinormal3bvEXT: procedure(v: PGLbyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glBinormal3bvEXT}
glBinormal3dEXT: procedure(bx, by, bz: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glBinormal3dEXT}
glBinormal3dvEXT: procedure(v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glBinormal3dvEXT}
glBinormal3fEXT: procedure(bx, by, bz: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glBinormal3fEXT}
glBinormal3fvEXT: procedure(v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glBinormal3fvEXT}
glBinormal3iEXT: procedure(bx, by, bz: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glBinormal3iEXT}
glBinormal3ivEXT: procedure(v: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glBinormal3ivEXT}
glBinormal3sEXT: procedure(bx, by, bz: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glBinormal3sEXT}
glBinormal3svEXT: procedure(v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glBinormal3svEXT}
glTangentPointerEXT: procedure(Atype: TGLenum; stride: TGLsizei; p: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTangentPointerEXT}
glBinormalPointerEXT: procedure(Atype: TGLenum; stride: TGLsizei; p: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glBinormalPointerEXT}
// GL_SUNX_constant_data
glFinishTextureSUNX: procedure; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFinishTextureSUNX}
// GL_SUN_global_alpha
glGlobalAlphaFactorbSUN: procedure(factor: TGLbyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGlobalAlphaFactorbSUN}
glGlobalAlphaFactorsSUN: procedure(factor: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGlobalAlphaFactorsSUN}
glGlobalAlphaFactoriSUN: procedure(factor: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGlobalAlphaFactoriSUN}
glGlobalAlphaFactorfSUN: procedure(factor: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGlobalAlphaFactorfSUN}
glGlobalAlphaFactordSUN: procedure(factor: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGlobalAlphaFactordSUN}
glGlobalAlphaFactorubSUN: procedure(factor: TGLubyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGlobalAlphaFactorubSUN}
glGlobalAlphaFactorusSUN: procedure(factor: TGLushort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGlobalAlphaFactorusSUN}
glGlobalAlphaFactoruiSUN: procedure(factor: TGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGlobalAlphaFactoruiSUN}
// GL_SUN_triangle_list
glReplacementCodeuiSUN: procedure(code: TGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReplacementCodeuiSUN}
glReplacementCodeusSUN: procedure(code: TGLushort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReplacementCodeusSUN}
glReplacementCodeubSUN: procedure(code: TGLubyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReplacementCodeubSUN}
glReplacementCodeuivSUN: procedure(code: PGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReplacementCodeuivSUN}
glReplacementCodeusvSUN: procedure(code: PGLushort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReplacementCodeusvSUN}
glReplacementCodeubvSUN: procedure(code: PGLubyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReplacementCodeubvSUN}
glReplacementCodePointerSUN: procedure(Atype: TGLenum; stride: TGLsizei; var p); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReplacementCodePointerSUN}
// GL_SUN_vertex
glColor4ubVertex2fSUN: procedure(r, g, b, a: TGLubyte; x, y: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor4ubVertex2fSUN}
glColor4ubVertex2fvSUN: procedure(c: PGLubyte; v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor4ubVertex2fvSUN}
glColor4ubVertex3fSUN: procedure(r, g, b, a: TGLubyte; x, y, z: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor4ubVertex3fSUN}
glColor4ubVertex3fvSUN: procedure(c: PGLubyte; v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor4ubVertex3fvSUN}
glColor3fVertex3fSUN: procedure(r, g, b, x, y, z: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor3fVertex3fSUN}
glColor3fVertex3fvSUN: procedure(c, v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor3fVertex3fvSUN}
glNormal3fVertex3fSUN: procedure(nx, ny, nz: TGLfloat; x, y, z: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glNormal3fVertex3fSUN}
glNormal3fVertex3fvSUN: procedure(n, v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glNormal3fVertex3fvSUN}
glColor4fNormal3fVertex3fSUN: procedure(r, g, b, a, nx, ny, nz, x, y, z: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor4fNormal3fVertex3fSUN}
glColor4fNormal3fVertex3fvSUN: procedure(c, n, v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColor4fNormal3fVertex3fvSUN}
glTexCoord2fVertex3fSUN: procedure(s, t, x, y, z: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord2fVertex3fSUN}
glTexCoord2fVertex3fvSUN: procedure(tc, v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord2fVertex3fvSUN}
glTexCoord4fVertex4fSUN: procedure(s, t, p, q, x, y, z, w: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord4fVertex4fSUN}
glTexCoord4fVertex4fvSUN: procedure(tc, v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord4fVertex4fvSUN}
glTexCoord2fColor4ubVertex3fSUN: procedure(s, t, r, g, b, a, x, y, z: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord2fColor4ubVertex3fSUN}
glTexCoord2fColor4ubVertex3fvSUN: procedure(tc: PGLfloat; c: PGLubyte; v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord2fColor4ubVertex3fvSUN}
glTexCoord2fColor3fVertex3fSUN: procedure(s, t, r, g, b, x, y, z: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord2fColor3fVertex3fSUN}
glTexCoord2fColor3fVertex3fvSUN: procedure(tc, c, v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord2fColor3fVertex3fvSUN}
glTexCoord2fNormal3fVertex3fSUN: procedure(s, t, nx, ny, nz, x, y, z: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord2fNormal3fVertex3fSUN}
glTexCoord2fNormal3fVertex3fvSUN: procedure(tc, n, v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord2fNormal3fVertex3fvSUN}
glTexCoord2fColor4fNormal3fVertex3fSUN: procedure(s, t, r, g, b, a, nx, ny, nz, x, y, z: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord2fColor4fNormal3fVertex3fSUN}
glTexCoord2fColor4fNormal3fVertex3fvSUN: procedure(tc, c, n, v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord2fColor4fNormal3fVertex3fvSUN}
glTexCoord4fColor4fNormal3fVertex4fSUN: procedure(s, t, p, q, r, g, b, a, nx, ny, nz, x, y, z, w: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord4fColor4fNormal3fVertex4fSUN}
glTexCoord4fColor4fNormal3fVertex4fvSUN: procedure(tc, c, n, v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoord4fColor4fNormal3fVertex4fvSUN}
glReplacementCodeuiVertex3fSUN: procedure(rc: TGLenum; x, y, z: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReplacementCodeuiVertex3fSUN}
glReplacementCodeuiVertex3fvSUN: procedure(rc: PGLenum; v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReplacementCodeuiVertex3fvSUN}
glReplacementCodeuiColor4ubVertex3fSUN: procedure(rc: TGLenum; r, g, b, a: TGLubyte; x, y, z: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReplacementCodeuiColor4ubVertex3fSUN}
glReplacementCodeuiColor4ubVertex3fvSUN: procedure(rc: PGLenum; c: PGLubyte; v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReplacementCodeuiColor4ubVertex3fvSUN}
glReplacementCodeuiColor3fVertex3fSUN: procedure(rc: TGLenum; r, g, b, x, y, z: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReplacementCodeuiColor3fVertex3fSUN}
glReplacementCodeuiColor3fVertex3fvSUN: procedure(rc: PGLenum; c, v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReplacementCodeuiColor3fVertex3fvSUN}
glReplacementCodeuiNormal3fVertex3fSUN: procedure(rc: TGLenum; nx, ny, nz, x, y, z: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReplacementCodeuiNormal3fVertex3fSUN}
glReplacementCodeuiNormal3fVertex3fvSUN: procedure(rc: PGLenum; n, v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReplacementCodeuiNormal3fVertex3fvSUN}
glReplacementCodeuiColor4fNormal3fVertex3fSUN: procedure(rc: TGLenum; r, g, b, a, nx, ny, nz, x, y, z: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReplacementCodeuiColor4fNormal3fVertex3fSUN}
glReplacementCodeuiColor4fNormal3fVertex3fvSUN: procedure(rc: PGLenum; c, n, v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReplacementCodeuiColor4fNormal3fVertex3fvSUN}
glReplacementCodeuiTexCoord2fVertex3fSUN: procedure(rc: TGLenum; s, t, x, y, z: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReplacementCodeuiTexCoord2fVertex3fSUN}
glReplacementCodeuiTexCoord2fVertex3fvSUN: procedure(rc: PGLenum; tc, v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReplacementCodeuiTexCoord2fVertex3fvSUN}
glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN: procedure(rc: TGLenum; s, t, nx, ny, nz, x, y, z: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN}
glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN: procedure(rc: PGLenum; tc, n, v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN}
glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN: procedure(rc: TGLenum; s, t, r, g, b, a, nx, ny, nz, x, y, z: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN}
glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN: procedure(rc: PGLenum; tc, c, n, v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN}
// GL_EXT_blend_func_separate
glBlendFuncSeparateEXT: procedure(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha: TGLenum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glBlendFuncSeparateEXT}
// GL_EXT_vertex_weighting
glVertexWeightfEXT: procedure(weight: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexWeightfEXT}
glVertexWeightfvEXT: procedure(weight: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexWeightfvEXT}
glVertexWeightPointerEXT: procedure(Size: TGLsizei; Atype: TGLenum; stride: TGLsizei; p: pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexWeightPointerEXT}
// GL_NV_vertex_array_range
glFlushVertexArrayRangeNV: procedure; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFlushVertexArrayRangeNV}
glVertexArrayRangeNV: procedure(Size: TGLsizei; p: pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexArrayRangeNV}
wglAllocateMemoryNV: function(size: TGLsizei; readFrequency, writeFrequency, priority: Single): Pointer; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM wglAllocateMemoryNV}
wglFreeMemoryNV: procedure(ptr: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM wglFreeMemoryNV}
// GL_NV_register_combiners
glCombinerParameterfvNV: procedure(pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCombinerParameterfvNV}
glCombinerParameterfNV: procedure(pname: TGLenum; param: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCombinerParameterfNV}
glCombinerParameterivNV: procedure(pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCombinerParameterivNV}
glCombinerParameteriNV: procedure(pname: TGLenum; param: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCombinerParameteriNV}
glCombinerInputNV: procedure(stage, portion, variable, input, mapping, componentUsage: TGLenum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCombinerInputNV}
glCombinerOutputNV: procedure(stage, portion, abOutput, cdOutput, sumOutput, scale, bias: TGLenum; abDotProduct, cdDotProduct, muxSum: TGLboolean); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glCombinerOutputNV}
glFinalCombinerInputNV: procedure(variable, input, mapping, componentUsage: TGLenum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFinalCombinerInputNV}
glGetCombinerInputParameterfvNV: procedure(stage, portion, variable, pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetCombinerInputParameterfvNV}
glGetCombinerInputParameterivNV: procedure(stage, portion, variable, pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetCombinerInputParameterivNV}
glGetCombinerOutputParameterfvNV: procedure(stage, portion, pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetCombinerOutputParameterfvNV}
glGetCombinerOutputParameterivNV: procedure(stage, portion, pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetCombinerOutputParameterivNV}
glGetFinalCombinerInputParameterfvNV: procedure(variable, pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetFinalCombinerInputParameterfvNV}
glGetFinalCombinerInputParameterivNV: procedure(variable, pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetFinalCombinerInputParameterivNV}
// GL_MESA_resize_buffers
glResizeBuffersMESA: procedure; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glResizeBuffersMESA}
// GL_MESA_window_pos
glWindowPos2dMESA: procedure(x, y: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glWindowPos2dMESA}
glWindowPos2dvMESA: procedure(v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glWindowPos2dvMESA}
glWindowPos2fMESA: procedure(x, y: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glWindowPos2fMESA}
glWindowPos2fvMESA: procedure(v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glWindowPos2fvMESA}
glWindowPos2iMESA: procedure(x, y: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glWindowPos2iMESA}
glWindowPos2ivMESA: procedure(v: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glWindowPos2ivMESA}
glWindowPos2sMESA: procedure(x, y: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glWindowPos2sMESA}
glWindowPos2svMESA: procedure(v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glWindowPos2svMESA}
glWindowPos3dMESA: procedure(x, y, z: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glWindowPos3dMESA}
glWindowPos3dvMESA: procedure(v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glWindowPos3dvMESA}
glWindowPos3fMESA: procedure(x, y, z: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glWindowPos3fMESA}
glWindowPos3fvMESA: procedure(v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glWindowPos3fvMESA}
glWindowPos3iMESA: procedure(x, y, z: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glWindowPos3iMESA}
glWindowPos3ivMESA: procedure(v: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glWindowPos3ivMESA}
glWindowPos3sMESA: procedure(x, y, z: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glWindowPos3sMESA}
glWindowPos3svMESA: procedure(v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glWindowPos3svMESA}
glWindowPos4dMESA: procedure(x, y, z, w: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glWindowPos4dMESA}
glWindowPos4dvMESA: procedure(v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glWindowPos4dvMESA}
glWindowPos4fMESA: procedure(x, y, z, w: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glWindowPos4fMESA}
glWindowPos4fvMESA: procedure(v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glWindowPos4fvMESA}
glWindowPos4iMESA: procedure(x, y, z, w: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glWindowPos4iMESA}
glWindowPos4ivMESA: procedure(v: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glWindowPos4ivMESA}
glWindowPos4sMESA: procedure(x, y, z, w: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glWindowPos4sMESA}
glWindowPos4svMESA: procedure(v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glWindowPos4svMESA}
// GL_IBM_multimode_draw_arrays
glMultiModeDrawArraysIBM: procedure(mode: TGLenum; First: PGLint; Count: PGLsizei; primcount: TGLsizei; modestride: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiModeDrawArraysIBM}
glMultiModeDrawElementsIBM: procedure(mode: PGLenum; Count: PGLsizei; Atype: TGLenum; var indices; primcount: TGLsizei; modestride: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glMultiModeDrawElementsIBM}
// GL_IBM_vertex_array_lists
glColorPointerListIBM: procedure(Size: TGLint; Atype: TGLenum; stride: TGLint; var p; ptrstride: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glColorPointerListIBM}
glSecondaryColorPointerListIBM: procedure(Size: TGLint; Atype: TGLenum; stride: TGLint; var p; ptrstride: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSecondaryColorPointerListIBM}
glEdgeFlagPointerListIBM: procedure(stride: TGLint; var p: PGLboolean; ptrstride: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glEdgeFlagPointerListIBM}
glFogCoordPointerListIBM: procedure(Atype: TGLenum; stride: TGLint; var p; ptrstride: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glFogCoordPointerListIBM}
glIndexPointerListIBM: procedure(Atype: TGLenum; stride: TGLint; var p; ptrstride: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glIndexPointerListIBM}
glNormalPointerListIBM: procedure(Atype: TGLenum; stride: TGLint; var p; ptrstride: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glNormalPointerListIBM}
glTexCoordPointerListIBM: procedure(Size: TGLint; Atype: TGLenum; stride: TGLint; var p; ptrstride: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTexCoordPointerListIBM}
glVertexPointerListIBM: procedure(Size: TGLint; Atype: TGLenum; stride: TGLint; var p; ptrstride: TGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexPointerListIBM}
// GL_3DFX_tbuffer
glTbufferMask3DFX: procedure(mask: TGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTbufferMask3DFX}
// GL_EXT_multisample
glSampleMaskEXT: procedure(Value: TGLclampf; invert: TGLboolean); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSampleMaskEXT}
glSamplePatternEXT: procedure(pattern: TGLenum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glSamplePatternEXT}
// GL_SGIS_texture_color_mask
glTextureColorMaskSGIS: procedure(red, green, blue, alpha: TGLboolean); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTextureColorMaskSGIS}
// GL_SGIX_igloo_interface
glIglooInterfaceSGIX: procedure(pname: TGLenum; params: pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glIglooInterfaceSGIX}
// GL_NV_vertex_program
glAreProgramsResidentNV: procedure(n: TGLSizei; programs: PGLuint; residences: PGLboolean); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glAreProgramsResidentNV}
glBindProgramNV: procedure(target: TGLenum; id: TGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glBindProgramNV}
glDeleteProgramsNV: procedure(n: TGLSizei; programs: PGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glDeleteProgramsNV}
glExecuteProgramNV: procedure(target: TGLenum; id: TGLuint; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glExecuteProgramNV}
glGenProgramsNV: procedure(n: TGLSizei; programs: PGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGenProgramsNV}
glGetProgramParameterdvNV: procedure (target: TGLenum; index: TGLuint; pname: TGLenum; params: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetProgramParameterdvNV}
glGetProgramParameterfvNV: procedure (target: TGLenum; index: TGLuint; pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetProgramParameterfvNV}
glGetProgramivNV: procedure (id: TGLuint; pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetProgramivNV}
glGetProgramStringNV: procedure (id: TGLuint; pname: TGLenum; programIdx: PGLubyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetProgramStringNV}
glGetTrackMatrixivNV: procedure (target: TGLenum; address: TGLuint; pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetTrackMatrixivNV}
glGetVertexAttribdvNV: procedure (index: TGLuint; pname: TGLenum; params: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetVertexAttribdvNV}
glGetVertexAttribfvNV: procedure (index: TGLuint; pname: TGLenum; params: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetVertexAttribfvNV}
glGetVertexAttribivNV: procedure (index: TGLuint; pname: TGLenum; params: PGLint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetVertexAttribivNV}
glGetVertexAttribPointervNV: procedure (index: TGLuint; pname: TGLenum; pointer: PPointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glGetVertexAttribPointervNV}
glIsProgramNV: function (id: TGLuint): TGLboolean; {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glIsProgramNV}
glLoadProgramNV: procedure (target: TGLenum; id: TGLuint; len: TGLSizei; programIdx: PGLubyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glLoadProgramNV}
glProgramParameter4dNV: procedure (target: TGLenum; index: TGLuint; x, y, z, w: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glProgramParameter4dNV}
glProgramParameter4dvNV: procedure (target: TGLenum; index: TGLuint; v: PGLdouble ); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glProgramParameter4dvNV}
glProgramParameter4fNV: procedure (target: TGLenum; index: TGLuint; x, y, z, w: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glProgramParameter4fNV}
glProgramParameter4fvNV: procedure (target: TGLenum; index: TGLuint; v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glProgramParameter4fvNV}
glProgramParameters4dvNV: procedure (target: TGLenum; index: TGLuint; count: TGLSizei; v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glProgramParameters4dvNV}
glProgramParameters4fvNV: procedure (target: TGLenum; index: TGLuint; count: TGLSizei; v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glProgramParameters4fvNV}
glRequestResidentProgramsNV: procedure (n: TGLSizei; programs: PGLuint); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glRequestResidentProgramsNV}
glTrackMatrixNV: procedure (target: TGLenum; address: TGLuint; matrix: TGLenum; transform: TGLenum); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glTrackMatrixNV}
glVertexAttribPointerNV: procedure (index: TGLuint; fsize: TGLint; vertextype: TGLenum; stride: TGLSizei; pointer: Pointer); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttribPointerNV}
glVertexAttrib1dNV: procedure (index: TGLuint; x: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttrib1dNV}
glVertexAttrib1dvNV: procedure (index: TGLuint; v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttrib1dvNV}
glVertexAttrib1fNV: procedure (index: TGLuint; x: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttrib1fNV}
glVertexAttrib1fvNV: procedure (index: TGLuint; v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttrib1fvNV}
glVertexAttrib1sNV: procedure (index: TGLuint; x: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttrib1sNV}
glVertexAttrib1svNV: procedure (index: TGLuint; v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttrib1svNV}
glVertexAttrib2dNV: procedure (index: TGLuint; x: TGLdouble; y: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttrib2dNV}
glVertexAttrib2dvNV: procedure (index: TGLuint; v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttrib2dvNV}
glVertexAttrib2fNV: procedure (index: TGLuint; x: TGLfloat; y: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttrib2fNV}
glVertexAttrib2fvNV: procedure (index: TGLuint; v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttrib2fvNV}
glVertexAttrib2sNV: procedure (index: TGLuint; x: TGLshort; y: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttrib2sNV}
glVertexAttrib2svNV: procedure (index: TGLuint; v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttrib2svNV}
glVertexAttrib3dNV: procedure (index: TGLuint; x: TGLdouble; y: TGLdouble; z: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttrib3dNV}
glVertexAttrib3dvNV: procedure (index: TGLuint; v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttrib3dvNV}
glVertexAttrib3fNV: procedure (index: TGLuint; x: TGLfloat; y: TGLfloat; z: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttrib3fNV}
glVertexAttrib3fvNV: procedure (index: TGLuint; v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttrib3fvNV}
glVertexAttrib3sNV: procedure (index: TGLuint; x: TGLshort; y: TGLshort; z: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttrib3sNV}
glVertexAttrib3svNV: procedure (index: TGLuint; v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttrib3svNV}
glVertexAttrib4dNV: procedure (index: TGLuint; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttrib4dNV}
glVertexAttrib4dvNV: procedure (index: TGLuint; v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttrib4dvNV}
glVertexAttrib4fNV: procedure(index: TGLuint; x: TGLfloat; y: TGLfloat; z: TGLfloat; w: TGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttrib4fNV}
glVertexAttrib4fvNV: procedure(index: TGLuint; v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttrib4fvNV}
glVertexAttrib4sNV: procedure (index: TGLuint; x: TGLshort; y: TGLshort; z: TGLdouble; w: TGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttrib4sNV}
glVertexAttrib4svNV: procedure (index: TGLuint; v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttrib4svNV}
glVertexAttrib4ubvNV: procedure (index: TGLuint; v: PGLubyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttrib4ubvNV}
glVertexAttribs1dvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttribs1dvNV}
glVertexAttribs1fvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttribs1fvNV}
glVertexAttribs1svNV: procedure (index: TGLuint; count: TGLSizei; v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttribs1svNV}
glVertexAttribs2dvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttribs2dvNV}
glVertexAttribs2fvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttribs2fvNV}
glVertexAttribs2svNV: procedure (index: TGLuint; count: TGLSizei; v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttribs2svNV}
glVertexAttribs3dvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttribs3dvNV}
glVertexAttribs3fvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttribs3fvNV}
glVertexAttribs3svNV: procedure (index: TGLuint; count: TGLSizei; v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttribs3svNV}
glVertexAttribs4dvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLdouble); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttribs4dvNV}
glVertexAttribs4fvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLfloat); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttribs4fvNV}
glVertexAttribs4svNV: procedure (index: TGLuint; count: TGLSizei; v: PGLshort); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttribs4svNV}
glVertexAttribs4ubvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLubyte); {$ifdef Win32} stdcall; {$endif} {$ifdef UNIX} cdecl; {$endif}
{$EXTERNALSYM glVertexAttribs4ubvNV}
{$ifdef UNIX}
type
GLXContext = Pointer;
GLXPixmap = XID;
GLXDrawable = XID;
// GLX 1.3 and later
GLXFBConfig = Pointer;
GLXFBConfigID = XID;
GLXContextID = XID;
GLXWindow = XID;
GLXPbuffer = XID;
var
glXChooseVisual: function(dpy: PDisplay; screen: TGLint; attribList: PGLint): PXVisualInfo; cdecl;
{$EXTERNALSYM glXChooseVisual}
glXCreateContext: function(dpy: PDisplay; vis: PXVisualInfo; shareList: GLXContext; direct: TGLboolean): GLXContext; cdecl;
{$EXTERNALSYM glXCreateContext}
glXDestroyContext: procedure(dpy: PDisplay; ctx: GLXContext); cdecl;
{$EXTERNALSYM glXDestroyContext}
glXMakeCurrent: function(dpy: PDisplay; drawable: GLXDrawable; ctx: GLXContext): TGLboolean; cdecl;
{$EXTERNALSYM glXMakeCurrent}
glXCopyContext: procedure(dpy: PDisplay; src: GLXContext; dst: GLXContext; mask: TGLuint); cdecl;
{$EXTERNALSYM glXCopyContext}
glXSwapBuffers: procedure(dpy: PDisplay; drawable: GLXDrawable); cdecl;
{$EXTERNALSYM glXSwapBuffers}
glXCreateGLXPixmap: function(dpy: PDisplay; visual: PXVisualInfo; pixmap: Pixmap): GLXPixmap; cdecl;
{$EXTERNALSYM glXCreateGLXPixmap}
glXDestroyGLXPixmap: procedure(dpy: PDisplay; pixmap: GLXPixmap); cdecl;
{$EXTERNALSYM glXDestroyGLXPixmap}
glXQueryExtension: function(dpy: PDisplay; errorb: PGLInt; event: PGLInt): TGLboolean; cdecl;
{$EXTERNALSYM glXQueryExtension}
glXQueryVersion: function(dpy: PDisplay; maj: PGLInt; min: PGLINT): TGLboolean; cdecl;
{$EXTERNALSYM glXQueryVersion}
glXIsDirect: function(dpy: PDisplay; ctx: GLXContext): TGLboolean; cdecl;
{$EXTERNALSYM glXIsDirect}
glXGetConfig: function(dpy: PDisplay; visual: PXVisualInfo; attrib: TGLInt; value: PGLInt): TGLInt; cdecl;
{$EXTERNALSYM glXGetConfig}
glXGetCurrentContext: function: GLXContext; cdecl;
{$EXTERNALSYM glXGetCurrentContext}
glXGetCurrentDrawable: function: GLXDrawable; cdecl;
{$EXTERNALSYM glXGetCurrentDrawable}
glXWaitGL: procedure; cdecl;
{$EXTERNALSYM glXWaitGL}
glXWaitX: procedure; cdecl;
{$EXTERNALSYM glXWaitX}
glXUseXFont: procedure(font: Font; first: TGLInt; count: TGLInt; list: TGLint); cdecl;
{$EXTERNALSYM glXUseXFont}
// GLX 1.1 and later
glXQueryExtensionsString: function(dpy: PDisplay; screen: TGLInt): PChar; cdecl;
{$EXTERNALSYM glXQueryExtensionsString}
glXQueryServerString: function(dpy: PDisplay; screen: TGLInt; name: TGLInt): PChar; cdecl;
{$EXTERNALSYM glXQueryServerString}
glXGetClientString: function(dpy: PDisplay; name: TGLInt): PChar; cdecl;
{$EXTERNALSYM glXGetClientString}
// GLX 1.2 and later
glXGetCurrentDisplay: function: PDisplay; cdecl;
{$EXTERNALSYM glXGetCurrentDisplay}
// GLX 1.3 and later
glXChooseFBConfig: function(dpy: PDisplay; screen: TGLInt; attribList: PGLInt; nitems: PGLInt): GLXFBConfig; cdecl;
{$EXTERNALSYM glXChooseFBConfig}
glXGetFBConfigAttrib: function(dpy: PDisplay; config: GLXFBConfig; attribute: TGLInt; value: PGLInt): TGLInt; cdecl;
{$EXTERNALSYM glXGetFBConfigAttrib}
glXGetFBConfigs: function(dpy: PDisplay; screen: TGLInt; nelements: PGLInt): GLXFBConfig; cdecl;
{$EXTERNALSYM glXGetFBConfigs}
glXGetVisualFromFBConfig: function(dpy: PDisplay; config: GLXFBConfig): PXVisualInfo; cdecl;
{$EXTERNALSYM glXGetVisualFromFBConfig}
glXCreateWindow: function(dpy: PDisplay; config: GLXFBConfig; win: Window; const attribList: PGLInt): GLXWindow; cdecl;
{$EXTERNALSYM glXCreateWindow}
glXDestroyWindow: procedure(dpy: PDisplay; window: GLXWindow); cdecl;
{$EXTERNALSYM glXDestroyWindow}
glXCreatePixmap: function(dpy: PDisplay; config: GLXFBConfig; pixmap: Pixmap; attribList: PGLInt): GLXPixmap; cdecl;
{$EXTERNALSYM glXCreatePixmap}
glXDestroyPixmap: procedure(dpy: PDisplay; pixmap: GLXPixmap); cdecl;
{$EXTERNALSYM glXDestroyPixmap}
glXCreatePbuffer: function(dpy: PDisplay; config: GLXFBConfig; attribList: PGLInt): GLXPBuffer; cdecl;
{$EXTERNALSYM glXCreatePbuffer}
glXDestroyPbuffer: procedure(dpy: PDisplay; pbuf: GLXPBuffer); cdecl;
{$EXTERNALSYM glXDestroyPbuffer}
glXQueryDrawable: procedure(dpy: PDisplay; draw: GLXDrawable; attribute: TGLInt; value: PGLuint); cdecl;
{$EXTERNALSYM glXQueryDrawable}
glXCreateNewContext: function(dpy: PDisplay; config: GLXFBConfig; renderType: TGLInt; shareList: GLXContext; direct: TGLboolean): GLXContext; cdecl;
{$EXTERNALSYM glXCreateNewContext}
glXMakeContextCurrent: function(dpy: PDisplay; draw: GLXDrawable; read: GLXDrawable; ctx: GLXContext): TGLboolean; cdecl;
{$EXTERNALSYM glXMakeContextCurrent}
glXGetCurrentReadDrawable: function: GLXDrawable; cdecl;
{$EXTERNALSYM glXGetCurrentReadDrawable}
glXQueryContext: function(dpy: PDisplay; ctx: GLXContext; attribute: TGLInt; value: PGLInt): TGLInt; cdecl;
{$EXTERNALSYM glXQueryContext}
glXSelectEvent: procedure(dpy: PDisplay; drawable: GLXDrawable; mask: TGLsizei); cdecl;
{$EXTERNALSYM glXSelectEvent}
glXGetSelectedEvent: procedure(dpy: PDisplay; drawable: GLXDrawable; mask: TGLsizei); cdecl;
{$EXTERNALSYM glXGetSelectedEvent}
glXGetVideoSyncSGI: function(count: PGLuint): TGLInt; cdecl;
{$EXTERNALSYM glXGetVideoSyncSGI}
glXWaitVideoSyncSGI: function(divisor: TGLInt; remainder: TGLInt; count: PGLuint): TGLInt; cdecl;
{$EXTERNALSYM glXWaitVideoSyncSGI}
glXFreeContextEXT: procedure(dpy: PDisplay; context: GLXContext); cdecl;
{$EXTERNALSYM glXFreeContextEXT}
glXGetContextIDEXT: function(const context: GLXContext): GLXContextID; cdecl;
{$EXTERNALSYM glXGetContextIDEXT}
glXGetCurrentDisplayEXT: function: PDisplay; cdecl;
{$EXTERNALSYM glXGetCurrentDisplayEXT}
glXImportContextEXT: function(dpy: PDisplay; contextID: GLXContextID): GLXContext; cdecl;
{$EXTERNALSYM glXImportContextEXT}
glXQueryContextInfoEXT: function(dpy: PDisplay; context: GLXContext; attribute: TGLInt; value: PGLInt): TGLInt; cdecl;
{$EXTERNALSYM glXQueryContextInfoEXT}
glXCopySubBufferMESA: procedure(dpy: PDisplay; drawable: GLXDrawable; x: TGLInt; y: TGLInt; width: TGLInt; height: TGLInt); cdecl;
{$EXTERNALSYM glXCopySubBufferMESA}
glXCreateGLXPixmapMESA: function(dpy: PDisplay; visual: PXVisualInfo; pixmap: Pixmap; cmap: Colormap): GLXPixmap; cdecl;
{$EXTERNALSYM glXCreateGLXPixmapMESA}
glXReleaseBuffersMESA: function(dpy: PDisplay; d: GLXDrawable): TGLboolean; cdecl;
{$EXTERNALSYM glXReleaseBuffersMESA}
glXSet3DfxModeMESA: function(mode: TGLint): TGLboolean; cdecl;
{$EXTERNALSYM glXSet3DfxModeMESA}
{$endif}
//----------------------------------------------------------------------------------------------------------------------
procedure CloseOpenGL;
function InitOpenGL: Boolean;
function InitOpenGLFromLibrary(GLName, GLUName: PChar): Boolean;
function IsOpenGLInitialized: Boolean;
// Compatibility routines
procedure UnloadOpenGL;
function LoadOpenGL: Boolean;
function LoadOpenGLFromLibrary(GLName, GLUName: PChar): Boolean;
function IsOpenGLLoaded: Boolean;
{$ifdef Win32}
procedure ActivateRenderingContext(DC: HDC; RC: HGLRC);
function CreateRenderingContext(DC: HDC; Options: TRCOptions; ColorBits, StencilBits, AccumBits, AuxBuffers: Integer; Layer: Integer; var Palette: HPALETTE): HGLRC;
function CurrentDC: HDC;
procedure DeactivateRenderingContext;
procedure DestroyRenderingContext(RC: HGLRC);
procedure ClearExtensions;
function HasActiveContext: Boolean;
procedure ReadExtensions;
procedure ReadImplementationProperties;
{$endif}
//----------------------------------------------------------------------------------------------------------------------
implementation
uses
SysUtils,
Classes,
sdl,
moduleloader;
type
EOpenGLException = class(Exception);
{$ifndef FPC}
threadvar
{$else}
var
{$endif}
LastPixelFormat: Integer;
{$ifdef Win32}
ActivationRefCount: Integer;
{$endif}
{$ifdef Win32}
const
INVALID_MODULEHANDLE = 0;
var
GLHandle: TModuleHandle;
GLUHandle: TModuleHandle;
{$endif}
{$ifdef UNIX}
const
INVALID_MODULEHANDLE = nil;
var
GLHandle: TModuleHandle;
GLUHandle: TModuleHandle;
{$endif}
// The context list is used to determine if a context is active already in any thread.
ContextList: TThreadList;
resourcestring
SRCAlreadyActive = 'Rendering context already active in another thread.';
SMakeCurrentFailed = 'wglMakeCurrent failed';
SDeleteContextFailed = 'wglDeleteContext failed';
SContextInUse = 'Cannot delete rendering context. It is still in use by another thread.';
{$ifdef Win32}
SDefaultGLLibrary = 'OpenGL32.dll';
SDefaultGLULibrary = 'GLU32.dll';
{$endif}
{$ifdef UNIX}
SDefaultGLLibrary = 'libGL.so';
SDefaultGLULibrary = 'libGLU.so';
{$endif}
//----------------------------------------------------------------------------------------------------------------------
procedure ShowError(const Message: string);
begin
raise EOpenGLException.Create(Message);
end;
//----------------------------------------------------------------------------------------------------------------------
// RaiseLastOSError did not exist in Delphi 5
{$ifdef VER130}
procedure RaiseLastOSError;
begin
RaiseLastWin32Error;
end;
{$endif}
//----------------------------------------------------------------------------------------------------------------------
procedure ClearProcAddresses;
begin
glAccum := nil;
glAlphaFunc := nil;
glAreTexturesResident := nil;
glArrayElement := nil;
glBegin := nil;
glBindTexture := nil;
glBitmap := nil;
glBlendFunc := nil;
glCallList := nil;
glCallLists := nil;
glClear := nil;
glClearAccum := nil;
glClearColor := nil;
glClearDepth := nil;
glClearIndex := nil;
glClearStencil := nil;
glClipPlane := nil;
glColor3b := nil;
glColor3bv := nil;
glColor3d := nil;
glColor3dv := nil;
glColor3f := nil;
glColor3fv := nil;
glColor3i := nil;
glColor3iv := nil;
glColor3s := nil;
glColor3sv := nil;
glColor3ub := nil;
glColor3ubv := nil;
glColor3ui := nil;
glColor3uiv := nil;
glColor3us := nil;
glColor3usv := nil;
glColor4b := nil;
glColor4bv := nil;
glColor4d := nil;
glColor4dv := nil;
glColor4f := nil;
glColor4fv := nil;
glColor4i := nil;
glColor4iv := nil;
glColor4s := nil;
glColor4sv := nil;
glColor4ub := nil;
glColor4ubv := nil;
glColor4ui := nil;
glColor4uiv := nil;
glColor4us := nil;
glColor4usv := nil;
glColorMask := nil;
glColorMaterial := nil;
glColorPointer := nil;
glCopyPixels := nil;
glCopyTexImage1D := nil;
glCopyTexImage2D := nil;
glCopyTexSubImage1D := nil;
glCopyTexSubImage2D := nil;
glCullFace := nil;
glDeleteLists := nil;
glDeleteTextures := nil;
glDepthFunc := nil;
glDepthMask := nil;
glDepthRange := nil;
glDisable := nil;
glDisableClientState := nil;
glDrawArrays := nil;
glDrawBuffer := nil;
glDrawElements := nil;
glDrawPixels := nil;
glEdgeFlag := nil;
glEdgeFlagPointer := nil;
glEdgeFlagv := nil;
glEnable := nil;
glEnableClientState := nil;
glEnd := nil;
glEndList := nil;
glEvalCoord1d := nil;
glEvalCoord1dv := nil;
glEvalCoord1f := nil;
glEvalCoord1fv := nil;
glEvalCoord2d := nil;
glEvalCoord2dv := nil;
glEvalCoord2f := nil;
glEvalCoord2fv := nil;
glEvalMesh1 := nil;
glEvalMesh2 := nil;
glEvalPoint1 := nil;
glEvalPoint2 := nil;
glFeedbackBuffer := nil;
glFinish := nil;
glFlush := nil;
glFogf := nil;
glFogfv := nil;
glFogi := nil;
glFogiv := nil;
glFrontFace := nil;
glFrustum := nil;
glGenLists := nil;
glGenTextures := nil;
glGetBooleanv := nil;
glGetClipPlane := nil;
glGetDoublev := nil;
glGetError := nil;
glGetFloatv := nil;
glGetIntegerv := nil;
glGetLightfv := nil;
glGetLightiv := nil;
glGetMapdv := nil;
glGetMapfv := nil;
glGetMapiv := nil;
glGetMaterialfv := nil;
glGetMaterialiv := nil;
glGetPixelMapfv := nil;
glGetPixelMapuiv := nil;
glGetPixelMapusv := nil;
glGetPointerv := nil;
glGetPolygonStipple := nil;
glGetString := nil;
glGetTexEnvfv := nil;
glGetTexEnviv := nil;
glGetTexGendv := nil;
glGetTexGenfv := nil;
glGetTexGeniv := nil;
glGetTexImage := nil;
glGetTexLevelParameterfv := nil;
glGetTexLevelParameteriv := nil;
glGetTexParameterfv := nil;
glGetTexParameteriv := nil;
glHint := nil;
glIndexMask := nil;
glIndexPointer := nil;
glIndexd := nil;
glIndexdv := nil;
glIndexf := nil;
glIndexfv := nil;
glIndexi := nil;
glIndexiv := nil;
glIndexs := nil;
glIndexsv := nil;
glIndexub := nil;
glIndexubv := nil;
glInitNames := nil;
glInterleavedArrays := nil;
glIsEnabled := nil;
glIsList := nil;
glIsTexture := nil;
glLightModelf := nil;
glLightModelfv := nil;
glLightModeli := nil;
glLightModeliv := nil;
glLightf := nil;
glLightfv := nil;
glLighti := nil;
glLightiv := nil;
glLineStipple := nil;
glLineWidth := nil;
glListBase := nil;
glLoadIdentity := nil;
glLoadMatrixd := nil;
glLoadMatrixf := nil;
glLoadName := nil;
glLogicOp := nil;
glMap1d := nil;
glMap1f := nil;
glMap2d := nil;
glMap2f := nil;
glMapGrid1d := nil;
glMapGrid1f := nil;
glMapGrid2d := nil;
glMapGrid2f := nil;
glMaterialf := nil;
glMaterialfv := nil;
glMateriali := nil;
glMaterialiv := nil;
glMatrixMode := nil;
glMultMatrixd := nil;
glMultMatrixf := nil;
glNewList := nil;
glNormal3b := nil;
glNormal3bv := nil;
glNormal3d := nil;
glNormal3dv := nil;
glNormal3f := nil;
glNormal3fv := nil;
glNormal3i := nil;
glNormal3iv := nil;
glNormal3s := nil;
glNormal3sv := nil;
glNormalPointer := nil;
glOrtho := nil;
glPassThrough := nil;
glPixelMapfv := nil;
glPixelMapuiv := nil;
glPixelMapusv := nil;
glPixelStoref := nil;
glPixelStorei := nil;
glPixelTransferf := nil;
glPixelTransferi := nil;
glPixelZoom := nil;
glPointSize := nil;
glPolygonMode := nil;
glPolygonOffset := nil;
glPolygonStipple := nil;
glPopAttrib := nil;
glPopClientAttrib := nil;
glPopMatrix := nil;
glPopName := nil;
glPrioritizeTextures := nil;
glPushAttrib := nil;
glPushClientAttrib := nil;
glPushMatrix := nil;
glPushName := nil;
glRasterPos2d := nil;
glRasterPos2dv := nil;
glRasterPos2f := nil;
glRasterPos2fv := nil;
glRasterPos2i := nil;
glRasterPos2iv := nil;
glRasterPos2s := nil;
glRasterPos2sv := nil;
glRasterPos3d := nil;
glRasterPos3dv := nil;
glRasterPos3f := nil;
glRasterPos3fv := nil;
glRasterPos3i := nil;
glRasterPos3iv := nil;
glRasterPos3s := nil;
glRasterPos3sv := nil;
glRasterPos4d := nil;
glRasterPos4dv := nil;
glRasterPos4f := nil;
glRasterPos4fv := nil;
glRasterPos4i := nil;
glRasterPos4iv := nil;
glRasterPos4s := nil;
glRasterPos4sv := nil;
glReadBuffer := nil;
glReadPixels := nil;
glRectd := nil;
glRectdv := nil;
glRectf := nil;
glRectfv := nil;
glRecti := nil;
glRectiv := nil;
glRects := nil;
glRectsv := nil;
glRenderMode := nil;
glRotated := nil;
glRotatef := nil;
glScaled := nil;
glScalef := nil;
glScissor := nil;
glSelectBuffer := nil;
glShadeModel := nil;
glStencilFunc := nil;
glStencilMask := nil;
glStencilOp := nil;
glTexCoord1d := nil;
glTexCoord1dv := nil;
glTexCoord1f := nil;
glTexCoord1fv := nil;
glTexCoord1i := nil;
glTexCoord1iv := nil;
glTexCoord1s := nil;
glTexCoord1sv := nil;
glTexCoord2d := nil;
glTexCoord2dv := nil;
glTexCoord2f := nil;
glTexCoord2fv := nil;
glTexCoord2i := nil;
glTexCoord2iv := nil;
glTexCoord2s := nil;
glTexCoord2sv := nil;
glTexCoord3d := nil;
glTexCoord3dv := nil;
glTexCoord3f := nil;
glTexCoord3fv := nil;
glTexCoord3i := nil;
glTexCoord3iv := nil;
glTexCoord3s := nil;
glTexCoord3sv := nil;
glTexCoord4d := nil;
glTexCoord4dv := nil;
glTexCoord4f := nil;
glTexCoord4fv := nil;
glTexCoord4i := nil;
glTexCoord4iv := nil;
glTexCoord4s := nil;
glTexCoord4sv := nil;
glTexCoordPointer := nil;
glTexEnvf := nil;
glTexEnvfv := nil;
glTexEnvi := nil;
glTexEnviv := nil;
glTexGend := nil;
glTexGendv := nil;
glTexGenf := nil;
glTexGenfv := nil;
glTexGeni := nil;
glTexGeniv := nil;
glTexImage1D := nil;
glTexImage2D := nil;
glTexParameterf := nil;
glTexParameterfv := nil;
glTexParameteri := nil;
glTexParameteriv := nil;
glTexSubImage1D := nil;
glTexSubImage2D := nil;
glTranslated := nil;
glTranslatef := nil;
glVertex2d := nil;
glVertex2dv := nil;
glVertex2f := nil;
glVertex2fv := nil;
glVertex2i := nil;
glVertex2iv := nil;
glVertex2s := nil;
glVertex2sv := nil;
glVertex3d := nil;
glVertex3dv := nil;
glVertex3f := nil;
glVertex3fv := nil;
glVertex3i := nil;
glVertex3iv := nil;
glVertex3s := nil;
glVertex3sv := nil;
glVertex4d := nil;
glVertex4dv := nil;
glVertex4f := nil;
glVertex4fv := nil;
glVertex4i := nil;
glVertex4iv := nil;
glVertex4s := nil;
glVertex4sv := nil;
glVertexPointer := nil;
glViewport := nil;
{$ifdef Win32}
wglGetProcAddress := nil;
wglCopyContext := nil;
wglCreateContext := nil;
wglCreateLayerContext := nil;
wglDeleteContext := nil;
wglDescribeLayerPlane := nil;
wglGetCurrentContext := nil;
wglGetCurrentDC := nil;
wglGetLayerPaletteEntries := nil;
wglMakeCurrent := nil;
wglRealizeLayerPalette := nil;
wglSetLayerPaletteEntries := nil;
wglShareLists := nil;
wglSwapLayerBuffers := nil;
wglSwapMultipleBuffers := nil;
wglUseFontBitmapsA := nil;
wglUseFontOutlinesA := nil;
wglUseFontBitmapsW := nil;
wglUseFontOutlinesW := nil;
wglUseFontBitmaps := nil;
wglUseFontOutlines := nil;
{$endif}
// GL 1.2
glDrawRangeElements := nil;
glTexImage3D := nil;
// GL 1.2 ARB imaging
glBlendColor := nil;
glBlendEquation := nil;
glColorSubTable := nil;
glCopyColorSubTable := nil;
glColorTable := nil;
glCopyColorTable := nil;
glColorTableParameteriv := nil;
glColorTableParameterfv := nil;
glGetColorTable := nil;
glGetColorTableParameteriv := nil;
glGetColorTableParameterfv := nil;
glConvolutionFilter1D := nil;
glConvolutionFilter2D := nil;
glCopyConvolutionFilter1D := nil;
glCopyConvolutionFilter2D := nil;
glGetConvolutionFilter := nil;
glSeparableFilter2D := nil;
glGetSeparableFilter := nil;
glConvolutionParameteri := nil;
glConvolutionParameteriv := nil;
glConvolutionParameterf := nil;
glConvolutionParameterfv := nil;
glGetConvolutionParameteriv := nil;
glGetConvolutionParameterfv := nil;
glHistogram := nil;
glResetHistogram := nil;
glGetHistogram := nil;
glGetHistogramParameteriv := nil;
glGetHistogramParameterfv := nil;
glMinmax := nil;
glResetMinmax := nil;
glGetMinmax := nil;
glGetMinmaxParameteriv := nil;
glGetMinmaxParameterfv := nil;
// GLX
{$ifdef UNIX}
glXChooseVisual := nil;
glXCreateContext := nil;
glXDestroyContext := nil;
glXMakeCurrent := nil;
glXCopyContext := nil;
glXSwapBuffers := nil;
glXCreateGLXPixmap := nil;
glXDestroyGLXPixmap := nil;
glXQueryExtension := nil;
glXQueryVersion := nil;
glXIsDirect := nil;
glXGetConfig := nil;
glXGetCurrentContext := nil;
glXGetCurrentDrawable := nil;
glXWaitGL := nil;
glXWaitX := nil;
glXUseXFont := nil;
// GLX 1.1 and later
glXQueryExtensionsString := nil;
glXQueryServerString := nil;
glXGetClientString := nil;
// GLX 1.2 and later
glXGetCurrentDisplay := nil;
// GLX 1.3 and later
glXChooseFBConfig := nil;
glXGetFBConfigAttrib := nil;
glXGetFBConfigs := nil;
glXGetVisualFromFBConfig := nil;
glXCreateWindow := nil;
glXDestroyWindow := nil;
glXCreatePixmap := nil;
glXDestroyPixmap := nil;
glXCreatePbuffer := nil;
glXDestroyPbuffer := nil;
glXQueryDrawable := nil;
glXCreateNewContext := nil;
glXMakeContextCurrent := nil;
glXGetCurrentReadDrawable := nil;
glXQueryContext := nil;
glXSelectEvent := nil;
glXGetSelectedEvent := nil;
glXGetVideoSyncSGI := nil;
glXWaitVideoSyncSGI := nil;
glXFreeContextEXT := nil;
glXGetContextIDEXT := nil;
glXGetCurrentDisplayEXT := nil;
glXImportContextEXT := nil;
glXQueryContextInfoEXT := nil;
glXCopySubBufferMESA := nil;
glXCreateGLXPixmapMESA := nil;
glXReleaseBuffersMESA := nil;
glXSet3DfxModeMESA := nil;
{$endif}
end;
//----------------------------------------------------------------------------------------------------------------------
procedure LoadProcAddresses;
begin
if GLHandle <> INVALID_MODULEHANDLE then
begin
glAccum := GetModuleSymbol( GLHandle, 'glAccum');
glAlphaFunc := GetModuleSymbol( GLHandle, 'glAlphaFunc');
glAreTexturesResident := GetModuleSymbol( GLHandle, 'glAreTexturesResident');
glArrayElement := GetModuleSymbol( GLHandle, 'glArrayElement');
glBegin := GetModuleSymbol( GLHandle, 'glBegin');
glBindTexture := GetModuleSymbol( GLHandle, 'glBindTexture');
glBitmap := GetModuleSymbol( GLHandle, 'glBitmap');
glBlendFunc := GetModuleSymbol( GLHandle, 'glBlendFunc');
glCallList := GetModuleSymbol( GLHandle, 'glCallList');
glCallLists := GetModuleSymbol( GLHandle, 'glCallLists');
glClear := GetModuleSymbol( GLHandle, 'glClear');
glClearAccum := GetModuleSymbol( GLHandle, 'glClearAccum');
glClearColor := GetModuleSymbol( GLHandle, 'glClearColor');
glClearDepth := GetModuleSymbol( GLHandle, 'glClearDepth');
glClearIndex := GetModuleSymbol( GLHandle, 'glClearIndex');
glClearStencil := GetModuleSymbol( GLHandle, 'glClearStencil');
glClipPlane := GetModuleSymbol( GLHandle, 'glClipPlane');
glColor3b := GetModuleSymbol( GLHandle, 'glColor3b');
glColor3bv := GetModuleSymbol( GLHandle, 'glColor3bv');
glColor3d := GetModuleSymbol( GLHandle, 'glColor3d');
glColor3dv := GetModuleSymbol( GLHandle, 'glColor3dv');
glColor3f := GetModuleSymbol( GLHandle, 'glColor3f');
glColor3fv := GetModuleSymbol( GLHandle, 'glColor3fv');
glColor3i := GetModuleSymbol( GLHandle, 'glColor3i');
glColor3iv := GetModuleSymbol( GLHandle, 'glColor3iv');
glColor3s := GetModuleSymbol( GLHandle, 'glColor3s');
glColor3sv := GetModuleSymbol( GLHandle, 'glColor3sv');
glColor3ub := GetModuleSymbol( GLHandle, 'glColor3ub');
glColor3ubv := GetModuleSymbol( GLHandle, 'glColor3ubv');
glColor3ui := GetModuleSymbol( GLHandle, 'glColor3ui');
glColor3uiv := GetModuleSymbol( GLHandle, 'glColor3uiv');
glColor3us := GetModuleSymbol( GLHandle, 'glColor3us');
glColor3usv := GetModuleSymbol( GLHandle, 'glColor3usv');
glColor4b := GetModuleSymbol( GLHandle, 'glColor4b');
glColor4bv := GetModuleSymbol( GLHandle, 'glColor4bv');
glColor4d := GetModuleSymbol( GLHandle, 'glColor4d');
glColor4dv := GetModuleSymbol( GLHandle, 'glColor4dv');
glColor4f := GetModuleSymbol( GLHandle, 'glColor4f');
glColor4fv := GetModuleSymbol( GLHandle, 'glColor4fv');
glColor4i := GetModuleSymbol( GLHandle, 'glColor4i');
glColor4iv := GetModuleSymbol( GLHandle, 'glColor4iv');
glColor4s := GetModuleSymbol( GLHandle, 'glColor4s');
glColor4sv := GetModuleSymbol( GLHandle, 'glColor4sv');
glColor4ub := GetModuleSymbol( GLHandle, 'glColor4ub');
glColor4ubv := GetModuleSymbol( GLHandle, 'glColor4ubv');
glColor4ui := GetModuleSymbol( GLHandle, 'glColor4ui');
glColor4uiv := GetModuleSymbol( GLHandle, 'glColor4uiv');
glColor4us := GetModuleSymbol( GLHandle, 'glColor4us');
glColor4usv := GetModuleSymbol( GLHandle, 'glColor4usv');
glColorMask := GetModuleSymbol( GLHandle, 'glColorMask');
glColorMaterial := GetModuleSymbol( GLHandle, 'glColorMaterial');
glColorPointer := GetModuleSymbol( GLHandle, 'glColorPointer');
glCopyPixels := GetModuleSymbol( GLHandle, 'glCopyPixels');
glCopyTexImage1D := GetModuleSymbol( GLHandle, 'glCopyTexImage1D');
glCopyTexImage2D := GetModuleSymbol( GLHandle, 'glCopyTexImage2D');
glCopyTexSubImage1D := GetModuleSymbol( GLHandle, 'glCopyTexSubImage1D');
glCopyTexSubImage2D := GetModuleSymbol( GLHandle, 'glCopyTexSubImage2D');
glCullFace := GetModuleSymbol( GLHandle, 'glCullFace');
glDeleteLists := GetModuleSymbol( GLHandle, 'glDeleteLists');
glDeleteTextures := GetModuleSymbol( GLHandle, 'glDeleteTextures');
glDepthFunc := GetModuleSymbol( GLHandle, 'glDepthFunc');
glDepthMask := GetModuleSymbol( GLHandle, 'glDepthMask');
glDepthRange := GetModuleSymbol( GLHandle, 'glDepthRange');
glDisable := GetModuleSymbol( GLHandle, 'glDisable');
glDisableClientState := GetModuleSymbol( GLHandle, 'glDisableClientState');
glDrawArrays := GetModuleSymbol( GLHandle, 'glDrawArrays');
glDrawBuffer := GetModuleSymbol( GLHandle, 'glDrawBuffer');
glDrawElements := GetModuleSymbol( GLHandle, 'glDrawElements');
glDrawPixels := GetModuleSymbol( GLHandle, 'glDrawPixels');
glEdgeFlag := GetModuleSymbol( GLHandle, 'glEdgeFlag');
glEdgeFlagPointer := GetModuleSymbol( GLHandle, 'glEdgeFlagPointer');
glEdgeFlagv := GetModuleSymbol( GLHandle, 'glEdgeFlagv');
glEnable := GetModuleSymbol( GLHandle, 'glEnable');
glEnableClientState := GetModuleSymbol( GLHandle, 'glEnableClientState');
glEnd := GetModuleSymbol( GLHandle, 'glEnd');
glEndList := GetModuleSymbol( GLHandle, 'glEndList');
glEvalCoord1d := GetModuleSymbol( GLHandle, 'glEvalCoord1d');
glEvalCoord1dv := GetModuleSymbol( GLHandle, 'glEvalCoord1dv');
glEvalCoord1f := GetModuleSymbol( GLHandle, 'glEvalCoord1f');
glEvalCoord1fv := GetModuleSymbol( GLHandle, 'glEvalCoord1fv');
glEvalCoord2d := GetModuleSymbol( GLHandle, 'glEvalCoord2d');
glEvalCoord2dv := GetModuleSymbol( GLHandle, 'glEvalCoord2dv');
glEvalCoord2f := GetModuleSymbol( GLHandle, 'glEvalCoord2f');
glEvalCoord2fv := GetModuleSymbol( GLHandle, 'glEvalCoord2fv');
glEvalMesh1 := GetModuleSymbol( GLHandle, 'glEvalMesh1');
glEvalMesh2 := GetModuleSymbol( GLHandle, 'glEvalMesh2');
glEvalPoint1 := GetModuleSymbol( GLHandle, 'glEvalPoint1');
glEvalPoint2 := GetModuleSymbol( GLHandle, 'glEvalPoint2');
glFeedbackBuffer := GetModuleSymbol( GLHandle, 'glFeedbackBuffer');
glFinish := GetModuleSymbol( GLHandle, 'glFinish');
glFlush := GetModuleSymbol( GLHandle, 'glFlush');
glFogf := GetModuleSymbol( GLHandle, 'glFogf');
glFogfv := GetModuleSymbol( GLHandle, 'glFogfv');
glFogi := GetModuleSymbol( GLHandle, 'glFogi');
glFogiv := GetModuleSymbol( GLHandle, 'glFogiv');
glFrontFace := GetModuleSymbol( GLHandle, 'glFrontFace');
glFrustum := GetModuleSymbol( GLHandle, 'glFrustum');
glGenLists := GetModuleSymbol( GLHandle, 'glGenLists');
glGenTextures := GetModuleSymbol( GLHandle, 'glGenTextures');
glGetBooleanv := GetModuleSymbol( GLHandle, 'glGetBooleanv');
glGetClipPlane := GetModuleSymbol( GLHandle, 'glGetClipPlane');
glGetDoublev := GetModuleSymbol( GLHandle, 'glGetDoublev');
glGetError := GetModuleSymbol( GLHandle, 'glGetError');
glGetFloatv := GetModuleSymbol( GLHandle, 'glGetFloatv');
glGetIntegerv := GetModuleSymbol( GLHandle, 'glGetIntegerv');
glGetLightfv := GetModuleSymbol( GLHandle, 'glGetLightfv');
glGetLightiv := GetModuleSymbol( GLHandle, 'glGetLightiv');
glGetMapdv := GetModuleSymbol( GLHandle, 'glGetMapdv');
glGetMapfv := GetModuleSymbol( GLHandle, 'glGetMapfv');
glGetMapiv := GetModuleSymbol( GLHandle, 'glGetMapiv');
glGetMaterialfv := GetModuleSymbol( GLHandle, 'glGetMaterialfv');
glGetMaterialiv := GetModuleSymbol( GLHandle, 'glGetMaterialiv');
glGetPixelMapfv := GetModuleSymbol( GLHandle, 'glGetPixelMapfv');
glGetPixelMapuiv := GetModuleSymbol( GLHandle, 'glGetPixelMapuiv');
glGetPixelMapusv := GetModuleSymbol( GLHandle, 'glGetPixelMapusv');
glGetPointerv := GetModuleSymbol( GLHandle, 'glGetPointerv');
glGetPolygonStipple := GetModuleSymbol( GLHandle, 'glGetPolygonStipple');
glGetString := GetModuleSymbol( GLHandle, 'glGetString');
glGetTexEnvfv := GetModuleSymbol( GLHandle, 'glGetTexEnvfv');
glGetTexEnviv := GetModuleSymbol( GLHandle, 'glGetTexEnviv');
glGetTexGendv := GetModuleSymbol( GLHandle, 'glGetTexGendv');
glGetTexGenfv := GetModuleSymbol( GLHandle, 'glGetTexGenfv');
glGetTexGeniv := GetModuleSymbol( GLHandle, 'glGetTexGeniv');
glGetTexImage := GetModuleSymbol( GLHandle, 'glGetTexImage');
glGetTexLevelParameterfv := GetModuleSymbol( GLHandle, 'glGetTexLevelParameterfv');
glGetTexLevelParameteriv := GetModuleSymbol( GLHandle, 'glGetTexLevelParameteriv');
glGetTexParameterfv := GetModuleSymbol( GLHandle, 'glGetTexParameterfv');
glGetTexParameteriv := GetModuleSymbol( GLHandle, 'glGetTexParameteriv');
glHint := GetModuleSymbol( GLHandle, 'glHint');
glIndexMask := GetModuleSymbol( GLHandle, 'glIndexMask');
glIndexPointer := GetModuleSymbol( GLHandle, 'glIndexPointer');
glIndexd := GetModuleSymbol( GLHandle, 'glIndexd');
glIndexdv := GetModuleSymbol( GLHandle, 'glIndexdv');
glIndexf := GetModuleSymbol( GLHandle, 'glIndexf');
glIndexfv := GetModuleSymbol( GLHandle, 'glIndexfv');
glIndexi := GetModuleSymbol( GLHandle, 'glIndexi');
glIndexiv := GetModuleSymbol( GLHandle, 'glIndexiv');
glIndexs := GetModuleSymbol( GLHandle, 'glIndexs');
glIndexsv := GetModuleSymbol( GLHandle, 'glIndexsv');
glIndexub := GetModuleSymbol( GLHandle, 'glIndexub');
glIndexubv := GetModuleSymbol( GLHandle, 'glIndexubv');
glInitNames := GetModuleSymbol( GLHandle, 'glInitNames');
glInterleavedArrays := GetModuleSymbol( GLHandle, 'glInterleavedArrays');
glIsEnabled := GetModuleSymbol( GLHandle, 'glIsEnabled');
glIsList := GetModuleSymbol( GLHandle, 'glIsList');
glIsTexture := GetModuleSymbol( GLHandle, 'glIsTexture');
glLightModelf := GetModuleSymbol( GLHandle, 'glLightModelf');
glLightModelfv := GetModuleSymbol( GLHandle, 'glLightModelfv');
glLightModeli := GetModuleSymbol( GLHandle, 'glLightModeli');
glLightModeliv := GetModuleSymbol( GLHandle, 'glLightModeliv');
glLightf := GetModuleSymbol( GLHandle, 'glLightf');
glLightfv := GetModuleSymbol( GLHandle, 'glLightfv');
glLighti := GetModuleSymbol( GLHandle, 'glLighti');
glLightiv := GetModuleSymbol( GLHandle, 'glLightiv');
glLineStipple := GetModuleSymbol( GLHandle, 'glLineStipple');
glLineWidth := GetModuleSymbol( GLHandle, 'glLineWidth');
glListBase := GetModuleSymbol( GLHandle, 'glListBase');
glLoadIdentity := GetModuleSymbol( GLHandle, 'glLoadIdentity');
glLoadMatrixd := GetModuleSymbol( GLHandle, 'glLoadMatrixd');
glLoadMatrixf := GetModuleSymbol( GLHandle, 'glLoadMatrixf');
glLoadName := GetModuleSymbol( GLHandle, 'glLoadName');
glLogicOp := GetModuleSymbol( GLHandle, 'glLogicOp');
glMap1d := GetModuleSymbol( GLHandle, 'glMap1d');
glMap1f := GetModuleSymbol( GLHandle, 'glMap1f');
glMap2d := GetModuleSymbol( GLHandle, 'glMap2d');
glMap2f := GetModuleSymbol( GLHandle, 'glMap2f');
glMapGrid1d := GetModuleSymbol( GLHandle, 'glMapGrid1d');
glMapGrid1f := GetModuleSymbol( GLHandle, 'glMapGrid1f');
glMapGrid2d := GetModuleSymbol( GLHandle, 'glMapGrid2d');
glMapGrid2f := GetModuleSymbol( GLHandle, 'glMapGrid2f');
glMaterialf := GetModuleSymbol( GLHandle, 'glMaterialf');
glMaterialfv := GetModuleSymbol( GLHandle, 'glMaterialfv');
glMateriali := GetModuleSymbol( GLHandle, 'glMateriali');
glMaterialiv := GetModuleSymbol( GLHandle, 'glMaterialiv');
glMatrixMode := GetModuleSymbol( GLHandle, 'glMatrixMode');
glMultMatrixd := GetModuleSymbol( GLHandle, 'glMultMatrixd');
glMultMatrixf := GetModuleSymbol( GLHandle, 'glMultMatrixf');
glNewList := GetModuleSymbol( GLHandle, 'glNewList');
glNormal3b := GetModuleSymbol( GLHandle, 'glNormal3b');
glNormal3bv := GetModuleSymbol( GLHandle, 'glNormal3bv');
glNormal3d := GetModuleSymbol( GLHandle, 'glNormal3d');
glNormal3dv := GetModuleSymbol( GLHandle, 'glNormal3dv');
glNormal3f := GetModuleSymbol( GLHandle, 'glNormal3f');
glNormal3fv := GetModuleSymbol( GLHandle, 'glNormal3fv');
glNormal3i := GetModuleSymbol( GLHandle, 'glNormal3i');
glNormal3iv := GetModuleSymbol( GLHandle, 'glNormal3iv');
glNormal3s := GetModuleSymbol( GLHandle, 'glNormal3s');
glNormal3sv := GetModuleSymbol( GLHandle, 'glNormal3sv');
glNormalPointer := GetModuleSymbol( GLHandle, 'glNormalPointer');
glOrtho := GetModuleSymbol( GLHandle, 'glOrtho');
glPassThrough := GetModuleSymbol( GLHandle, 'glPassThrough');
glPixelMapfv := GetModuleSymbol( GLHandle, 'glPixelMapfv');
glPixelMapuiv := GetModuleSymbol( GLHandle, 'glPixelMapuiv');
glPixelMapusv := GetModuleSymbol( GLHandle, 'glPixelMapusv');
glPixelStoref := GetModuleSymbol( GLHandle, 'glPixelStoref');
glPixelStorei := GetModuleSymbol( GLHandle, 'glPixelStorei');
glPixelTransferf := GetModuleSymbol( GLHandle, 'glPixelTransferf');
glPixelTransferi := GetModuleSymbol( GLHandle, 'glPixelTransferi');
glPixelZoom := GetModuleSymbol( GLHandle, 'glPixelZoom');
glPointSize := GetModuleSymbol( GLHandle, 'glPointSize');
glPolygonMode := GetModuleSymbol( GLHandle, 'glPolygonMode');
glPolygonOffset := GetModuleSymbol( GLHandle, 'glPolygonOffset');
glPolygonStipple := GetModuleSymbol( GLHandle, 'glPolygonStipple');
glPopAttrib := GetModuleSymbol( GLHandle, 'glPopAttrib');
glPopClientAttrib := GetModuleSymbol( GLHandle, 'glPopClientAttrib');
glPopMatrix := GetModuleSymbol( GLHandle, 'glPopMatrix');
glPopName := GetModuleSymbol( GLHandle, 'glPopName');
glPrioritizeTextures := GetModuleSymbol( GLHandle, 'glPrioritizeTextures');
glPushAttrib := GetModuleSymbol( GLHandle, 'glPushAttrib');
glPushClientAttrib := GetModuleSymbol( GLHandle, 'glPushClientAttrib');
glPushMatrix := GetModuleSymbol( GLHandle, 'glPushMatrix');
glPushName := GetModuleSymbol( GLHandle, 'glPushName');
glRasterPos2d := GetModuleSymbol( GLHandle, 'glRasterPos2d');
glRasterPos2dv := GetModuleSymbol( GLHandle, 'glRasterPos2dv');
glRasterPos2f := GetModuleSymbol( GLHandle, 'glRasterPos2f');
glRasterPos2fv := GetModuleSymbol( GLHandle, 'glRasterPos2fv');
glRasterPos2i := GetModuleSymbol( GLHandle, 'glRasterPos2i');
glRasterPos2iv := GetModuleSymbol( GLHandle, 'glRasterPos2iv');
glRasterPos2s := GetModuleSymbol( GLHandle, 'glRasterPos2s');
glRasterPos2sv := GetModuleSymbol( GLHandle, 'glRasterPos2sv');
glRasterPos3d := GetModuleSymbol( GLHandle, 'glRasterPos3d');
glRasterPos3dv := GetModuleSymbol( GLHandle, 'glRasterPos3dv');
glRasterPos3f := GetModuleSymbol( GLHandle, 'glRasterPos3f');
glRasterPos3fv := GetModuleSymbol( GLHandle, 'glRasterPos3fv');
glRasterPos3i := GetModuleSymbol( GLHandle, 'glRasterPos3i');
glRasterPos3iv := GetModuleSymbol( GLHandle, 'glRasterPos3iv');
glRasterPos3s := GetModuleSymbol( GLHandle, 'glRasterPos3s');
glRasterPos3sv := GetModuleSymbol( GLHandle, 'glRasterPos3sv');
glRasterPos4d := GetModuleSymbol( GLHandle, 'glRasterPos4d');
glRasterPos4dv := GetModuleSymbol( GLHandle, 'glRasterPos4dv');
glRasterPos4f := GetModuleSymbol( GLHandle, 'glRasterPos4f');
glRasterPos4fv := GetModuleSymbol( GLHandle, 'glRasterPos4fv');
glRasterPos4i := GetModuleSymbol( GLHandle, 'glRasterPos4i');
glRasterPos4iv := GetModuleSymbol( GLHandle, 'glRasterPos4iv');
glRasterPos4s := GetModuleSymbol( GLHandle, 'glRasterPos4s');
glRasterPos4sv := GetModuleSymbol( GLHandle, 'glRasterPos4sv');
glReadBuffer := GetModuleSymbol( GLHandle, 'glReadBuffer');
glReadPixels := GetModuleSymbol( GLHandle, 'glReadPixels');
glRectd := GetModuleSymbol( GLHandle, 'glRectd');
glRectdv := GetModuleSymbol( GLHandle, 'glRectdv');
glRectf := GetModuleSymbol( GLHandle, 'glRectf');
glRectfv := GetModuleSymbol( GLHandle, 'glRectfv');
glRecti := GetModuleSymbol( GLHandle, 'glRecti');
glRectiv := GetModuleSymbol( GLHandle, 'glRectiv');
glRects := GetModuleSymbol( GLHandle, 'glRects');
glRectsv := GetModuleSymbol( GLHandle, 'glRectsv');
glRenderMode := GetModuleSymbol( GLHandle, 'glRenderMode');
glRotated := GetModuleSymbol( GLHandle, 'glRotated');
glRotatef := GetModuleSymbol( GLHandle, 'glRotatef');
glScaled := GetModuleSymbol( GLHandle, 'glScaled');
glScalef := GetModuleSymbol( GLHandle, 'glScalef');
glScissor := GetModuleSymbol( GLHandle, 'glScissor');
glSelectBuffer := GetModuleSymbol( GLHandle, 'glSelectBuffer');
glShadeModel := GetModuleSymbol( GLHandle, 'glShadeModel');
glStencilFunc := GetModuleSymbol( GLHandle, 'glStencilFunc');
glStencilMask := GetModuleSymbol( GLHandle, 'glStencilMask');
glStencilOp := GetModuleSymbol( GLHandle, 'glStencilOp');
glTexCoord1d := GetModuleSymbol( GLHandle, 'glTexCoord1d');
glTexCoord1dv := GetModuleSymbol( GLHandle, 'glTexCoord1dv');
glTexCoord1f := GetModuleSymbol( GLHandle, 'glTexCoord1f');
glTexCoord1fv := GetModuleSymbol( GLHandle, 'glTexCoord1fv');
glTexCoord1i := GetModuleSymbol( GLHandle, 'glTexCoord1i');
glTexCoord1iv := GetModuleSymbol( GLHandle, 'glTexCoord1iv');
glTexCoord1s := GetModuleSymbol( GLHandle, 'glTexCoord1s');
glTexCoord1sv := GetModuleSymbol( GLHandle, 'glTexCoord1sv');
glTexCoord2d := GetModuleSymbol( GLHandle, 'glTexCoord2d');
glTexCoord2dv := GetModuleSymbol( GLHandle, 'glTexCoord2dv');
glTexCoord2f := GetModuleSymbol( GLHandle, 'glTexCoord2f');
glTexCoord2fv := GetModuleSymbol( GLHandle, 'glTexCoord2fv');
glTexCoord2i := GetModuleSymbol( GLHandle, 'glTexCoord2i');
glTexCoord2iv := GetModuleSymbol( GLHandle, 'glTexCoord2iv');
glTexCoord2s := GetModuleSymbol( GLHandle, 'glTexCoord2s');
glTexCoord2sv := GetModuleSymbol( GLHandle, 'glTexCoord2sv');
glTexCoord3d := GetModuleSymbol( GLHandle, 'glTexCoord3d');
glTexCoord3dv := GetModuleSymbol( GLHandle, 'glTexCoord3dv');
glTexCoord3f := GetModuleSymbol( GLHandle, 'glTexCoord3f');
glTexCoord3fv := GetModuleSymbol( GLHandle, 'glTexCoord3fv');
glTexCoord3i := GetModuleSymbol( GLHandle, 'glTexCoord3i');
glTexCoord3iv := GetModuleSymbol( GLHandle, 'glTexCoord3iv');
glTexCoord3s := GetModuleSymbol( GLHandle, 'glTexCoord3s');
glTexCoord3sv := GetModuleSymbol( GLHandle, 'glTexCoord3sv');
glTexCoord4d := GetModuleSymbol( GLHandle, 'glTexCoord4d');
glTexCoord4dv := GetModuleSymbol( GLHandle, 'glTexCoord4dv');
glTexCoord4f := GetModuleSymbol( GLHandle, 'glTexCoord4f');
glTexCoord4fv := GetModuleSymbol( GLHandle, 'glTexCoord4fv');
glTexCoord4i := GetModuleSymbol( GLHandle, 'glTexCoord4i');
glTexCoord4iv := GetModuleSymbol( GLHandle, 'glTexCoord4iv');
glTexCoord4s := GetModuleSymbol( GLHandle, 'glTexCoord4s');
glTexCoord4sv := GetModuleSymbol( GLHandle, 'glTexCoord4sv');
glTexCoordPointer := GetModuleSymbol( GLHandle, 'glTexCoordPointer');
glTexEnvf := GetModuleSymbol( GLHandle, 'glTexEnvf');
glTexEnvfv := GetModuleSymbol( GLHandle, 'glTexEnvfv');
glTexEnvi := GetModuleSymbol( GLHandle, 'glTexEnvi');
glTexEnviv := GetModuleSymbol( GLHandle, 'glTexEnviv');
glTexGend := GetModuleSymbol( GLHandle, 'glTexGend');
glTexGendv := GetModuleSymbol( GLHandle, 'glTexGendv');
glTexGenf := GetModuleSymbol( GLHandle, 'glTexGenf');
glTexGenfv := GetModuleSymbol( GLHandle, 'glTexGenfv');
glTexGeni := GetModuleSymbol( GLHandle, 'glTexGeni');
glTexGeniv := GetModuleSymbol( GLHandle, 'glTexGeniv');
glTexImage1D := GetModuleSymbol( GLHandle, 'glTexImage1D');
glTexImage2D := GetModuleSymbol( GLHandle, 'glTexImage2D');
glTexParameterf := GetModuleSymbol( GLHandle, 'glTexParameterf');
glTexParameterfv := GetModuleSymbol( GLHandle, 'glTexParameterfv');
glTexParameteri := GetModuleSymbol( GLHandle, 'glTexParameteri');
glTexParameteriv := GetModuleSymbol( GLHandle, 'glTexParameteriv');
glTexSubImage1D := GetModuleSymbol( GLHandle, 'glTexSubImage1D');
glTexSubImage2D := GetModuleSymbol( GLHandle, 'glTexSubImage2D');
glTranslated := GetModuleSymbol( GLHandle, 'glTranslated');
glTranslatef := GetModuleSymbol( GLHandle, 'glTranslatef');
glVertex2d := GetModuleSymbol( GLHandle, 'glVertex2d');
glVertex2dv := GetModuleSymbol( GLHandle, 'glVertex2dv');
glVertex2f := GetModuleSymbol( GLHandle, 'glVertex2f');
glVertex2fv := GetModuleSymbol( GLHandle, 'glVertex2fv');
glVertex2i := GetModuleSymbol( GLHandle, 'glVertex2i');
glVertex2iv := GetModuleSymbol( GLHandle, 'glVertex2iv');
glVertex2s := GetModuleSymbol( GLHandle, 'glVertex2s');
glVertex2sv := GetModuleSymbol( GLHandle, 'glVertex2sv');
glVertex3d := GetModuleSymbol( GLHandle, 'glVertex3d');
glVertex3dv := GetModuleSymbol( GLHandle, 'glVertex3dv');
glVertex3f := GetModuleSymbol( GLHandle, 'glVertex3f');
glVertex3fv := GetModuleSymbol( GLHandle, 'glVertex3fv');
glVertex3i := GetModuleSymbol( GLHandle, 'glVertex3i');
glVertex3iv := GetModuleSymbol( GLHandle, 'glVertex3iv');
glVertex3s := GetModuleSymbol( GLHandle, 'glVertex3s');
glVertex3sv := GetModuleSymbol( GLHandle, 'glVertex3sv');
glVertex4d := GetModuleSymbol( GLHandle, 'glVertex4d');
glVertex4dv := GetModuleSymbol( GLHandle, 'glVertex4dv');
glVertex4f := GetModuleSymbol( GLHandle, 'glVertex4f');
glVertex4fv := GetModuleSymbol( GLHandle, 'glVertex4fv');
glVertex4i := GetModuleSymbol( GLHandle, 'glVertex4i');
glVertex4iv := GetModuleSymbol( GLHandle, 'glVertex4iv');
glVertex4s := GetModuleSymbol( GLHandle, 'glVertex4s');
glVertex4sv := GetModuleSymbol( GLHandle, 'glVertex4sv');
glVertexPointer := GetModuleSymbol( GLHandle, 'glVertexPointer');
glViewport := GetModuleSymbol( GLHandle, 'glViewport');
// window support routines
{$ifdef Win32}
wglGetProcAddress := GetModuleSymbol( GLHandle, 'wglGetProcAddress');
wglCopyContext := GetModuleSymbol( GLHandle, 'wglCopyContext');
wglCreateContext := GetModuleSymbol( GLHandle, 'wglCreateContext');
wglCreateLayerContext := GetModuleSymbol( GLHandle, 'wglCreateLayerContext');
wglDeleteContext := GetModuleSymbol( GLHandle, 'wglDeleteContext');
wglDescribeLayerPlane := GetModuleSymbol( GLHandle, 'wglDescribeLayerPlane');
wglGetCurrentContext := GetModuleSymbol( GLHandle, 'wglGetCurrentContext');
wglGetCurrentDC := GetModuleSymbol( GLHandle, 'wglGetCurrentDC');
wglGetLayerPaletteEntries := GetModuleSymbol( GLHandle, 'wglGetLayerPaletteEntries');
wglMakeCurrent := GetModuleSymbol( GLHandle, 'wglMakeCurrent');
wglRealizeLayerPalette := GetModuleSymbol( GLHandle, 'wglRealizeLayerPalette');
wglSetLayerPaletteEntries := GetModuleSymbol( GLHandle, 'wglSetLayerPaletteEntries');
wglShareLists := GetModuleSymbol( GLHandle, 'wglShareLists');
wglSwapLayerBuffers := GetModuleSymbol( GLHandle, 'wglSwapLayerBuffers');
wglSwapMultipleBuffers := GetModuleSymbol( GLHandle, 'wglSwapMultipleBuffers');
wglUseFontBitmapsA := GetModuleSymbol( GLHandle, 'wglUseFontBitmapsA');
wglUseFontOutlinesA := GetModuleSymbol( GLHandle, 'wglUseFontOutlinesA');
wglUseFontBitmapsW := GetModuleSymbol( GLHandle, 'wglUseFontBitmapsW');
wglUseFontOutlinesW := GetModuleSymbol( GLHandle, 'wglUseFontOutlinesW');
wglUseFontBitmaps := GetModuleSymbol( GLHandle, 'wglUseFontBitmapsA');
wglUseFontOutlines := GetModuleSymbol( GLHandle, 'wglUseFontOutlinesA');
{$endif}
// GL 1.2
glDrawRangeElements := GetModuleSymbol( GLHandle, 'glDrawRangeElements');
glTexImage3D := GetModuleSymbol( GLHandle, 'glTexImage3D');
// GL 1.2 ARB imaging
glBlendColor := GetModuleSymbol( GLHandle, 'glBlendColor');
glBlendEquation := GetModuleSymbol( GLHandle, 'glBlendEquation');
glColorSubTable := GetModuleSymbol( GLHandle, 'glColorSubTable');
glCopyColorSubTable := GetModuleSymbol( GLHandle, 'glCopyColorSubTable');
glColorTable := GetModuleSymbol( GLHandle, 'glCopyColorSubTable');
glCopyColorTable := GetModuleSymbol( GLHandle, 'glCopyColorTable');
glColorTableParameteriv := GetModuleSymbol( GLHandle, 'glColorTableParameteriv');
glColorTableParameterfv := GetModuleSymbol( GLHandle, 'glColorTableParameterfv');
glGetColorTable := GetModuleSymbol( GLHandle, 'glGetColorTable');
glGetColorTableParameteriv := GetModuleSymbol( GLHandle, 'glGetColorTableParameteriv');
glGetColorTableParameterfv := GetModuleSymbol( GLHandle, 'glGetColorTableParameterfv');
glConvolutionFilter1D := GetModuleSymbol( GLHandle, 'glConvolutionFilter1D');
glConvolutionFilter2D := GetModuleSymbol( GLHandle, 'glConvolutionFilter2D');
glCopyConvolutionFilter1D := GetModuleSymbol( GLHandle, 'glCopyConvolutionFilter1D');
glCopyConvolutionFilter2D := GetModuleSymbol( GLHandle, 'glCopyConvolutionFilter2D');
glGetConvolutionFilter := GetModuleSymbol( GLHandle, 'glGetConvolutionFilter');
glSeparableFilter2D := GetModuleSymbol( GLHandle, 'glSeparableFilter2D');
glGetSeparableFilter := GetModuleSymbol( GLHandle, 'glGetSeparableFilter');
glConvolutionParameteri := GetModuleSymbol( GLHandle, 'glConvolutionParameteri');
glConvolutionParameteriv := GetModuleSymbol( GLHandle, 'glConvolutionParameteriv');
glConvolutionParameterf := GetModuleSymbol( GLHandle, 'glConvolutionParameterf');
glConvolutionParameterfv := GetModuleSymbol( GLHandle, 'glConvolutionParameterfv');
glGetConvolutionParameteriv := GetModuleSymbol( GLHandle, 'glGetConvolutionParameteriv');
glGetConvolutionParameterfv := GetModuleSymbol( GLHandle, 'glGetConvolutionParameterfv');
glHistogram := GetModuleSymbol( GLHandle, 'glHistogram');
glResetHistogram := GetModuleSymbol( GLHandle, 'glResetHistogram');
glGetHistogram := GetModuleSymbol( GLHandle, 'glGetHistogram');
glGetHistogramParameteriv := GetModuleSymbol( GLHandle, 'glGetHistogramParameteriv');
glGetHistogramParameterfv := GetModuleSymbol( GLHandle, 'glGetHistogramParameterfv');
glMinmax := GetModuleSymbol( GLHandle, 'glMinmax');
glResetMinmax := GetModuleSymbol( GLHandle, 'glResetMinmax');
glGetMinmax := GetModuleSymbol( GLHandle, 'glGetMinmax');
glGetMinmaxParameteriv := GetModuleSymbol( GLHandle, 'glGetMinmaxParameteriv');
glGetMinmaxParameterfv := GetModuleSymbol( GLHandle, 'glGetMinmaxParameterfv');
{$ifdef UNIX}
glXChooseVisual := GetModuleSymbol( GLHandle, 'glXChooseVisual');
glXCreateContext := GetModuleSymbol( GLHandle, 'glXCreateContext');
glXDestroyContext := GetModuleSymbol( GLHandle, 'glXDestroyContext');
glXMakeCurrent := GetModuleSymbol( GLHandle, 'glXMakeCurrent');
glXCopyContext := GetModuleSymbol( GLHandle, 'glXCopyContext');
glXSwapBuffers := GetModuleSymbol( GLHandle, 'glXSwapBuffers');
glXCreateGLXPixmap := GetModuleSymbol( GLHandle, 'glXCreateGLXPixmap');
glXDestroyGLXPixmap := GetModuleSymbol( GLHandle, 'glXDestroyGLXPixmap');
glXQueryExtension := GetModuleSymbol( GLHandle, 'glXQueryExtension');
glXQueryVersion := GetModuleSymbol( GLHandle, 'glXQueryVersion');
glXIsDirect := GetModuleSymbol( GLHandle, 'glXIsDirect');
glXGetConfig := GetModuleSymbol( GLHandle, 'glXGetConfig');
glXGetCurrentContext := GetModuleSymbol( GLHandle, 'glXGetCurrentContext');
glXGetCurrentDrawable := GetModuleSymbol( GLHandle, 'glXGetCurrentDrawable');
glXWaitGL := GetModuleSymbol( GLHandle, 'glXWaitGL');
glXWaitX := GetModuleSymbol( GLHandle, 'glXWaitX');
glXUseXFont := GetModuleSymbol( GLHandle, 'glXUseXFont');
glXQueryExtensionsString := GetModuleSymbol( GLHandle, 'glXQueryExtensionsString');
glXQueryServerString := GetModuleSymbol( GLHandle, 'glXQueryServerString');
glXGetClientString := GetModuleSymbol( GLHandle, 'glXGetClientString');
glXGetCurrentDisplay := GetModuleSymbol( GLHandle, 'glXGetCurrentDisplay');
glXChooseFBConfig := GetModuleSymbol( GLHandle, 'glXChooseFBConfig');
glXGetFBConfigAttrib := GetModuleSymbol( GLHandle, 'glXGetFBConfigAttrib');
glXGetFBConfigs := GetModuleSymbol( GLHandle, 'glXGetFBConfigs');
glXGetVisualFromFBConfig := GetModuleSymbol( GLHandle, 'glXGetVisualFromFBConfig');
glXCreateWindow := GetModuleSymbol( GLHandle, 'glXCreateWindow');
glXDestroyWindow := GetModuleSymbol( GLHandle, 'glXDestroyWindow');
glXCreatePixmap := GetModuleSymbol( GLHandle, 'glXCreatePixmap');
glXDestroyPixmap := GetModuleSymbol( GLHandle, 'glXDestroyPixmap');
glXCreatePbuffer := GetModuleSymbol( GLHandle, 'glXCreatePbuffer');
glXDestroyPbuffer := GetModuleSymbol( GLHandle, 'glXDestroyPbuffer');
glXQueryDrawable := GetModuleSymbol( GLHandle, 'glXQueryDrawable');
glXCreateNewContext := GetModuleSymbol( GLHandle, 'glXCreateNewContext');
glXMakeContextCurrent := GetModuleSymbol( GLHandle, 'glXMakeContextCurrent');
glXGetCurrentReadDrawable := GetModuleSymbol( GLHandle, 'glXGetCurrentReadDrawable');
glXQueryContext := GetModuleSymbol( GLHandle, 'glXQueryContext');
glXSelectEvent := GetModuleSymbol( GLHandle, 'glXSelectEvent');
glXGetSelectedEvent := GetModuleSymbol( GLHandle, 'glXGetSelectedEvent');
glXGetVideoSyncSGI := GetModuleSymbol( GLHandle, 'glXGetVideoSyncSGI');
glXWaitVideoSyncSGI := GetModuleSymbol( GLHandle, 'glXWaitVideoSyncSGI');
glXFreeContextEXT := GetModuleSymbol( GLHandle, 'glXFreeContextEXT');
glXGetContextIDEXT := GetModuleSymbol( GLHandle, 'glXGetContextIDEXT');
glXGetCurrentDisplayEXT := GetModuleSymbol( GLHandle, 'glXGetCurrentDisplayEXT');
glXImportContextEXT := GetModuleSymbol( GLHandle, 'glXImportContextEXT');
glXQueryContextInfoEXT := GetModuleSymbol( GLHandle, 'glXQueryContextInfoEXT');
glXCopySubBufferMESA := GetModuleSymbol( GLHandle, 'glXCopySubBufferMESA');
glXCreateGLXPixmapMESA := GetModuleSymbol( GLHandle, 'glXCreateGLXPixmapMESA');
glXReleaseBuffersMESA := GetModuleSymbol( GLHandle, 'glXReleaseBuffersMESA');
glXSet3DfxModeMESA := GetModuleSymbol( GLHandle, 'glXSet3DfxModeMESA');
{$endif}
end;
if GLUHandle <> INVALID_MODULEHANDLE then
begin
GLHandle := TModuleHandle(GLUHandle); // Kylix compatiblilty trick
gluBeginCurve := GetModuleSymbol( GLUHandle, 'gluBeginCurve');
gluBeginPolygon := GetModuleSymbol( GLUHandle, 'gluBeginPolygon');
gluBeginSurface := GetModuleSymbol( GLUHandle, 'gluBeginSurface');
gluBeginTrim := GetModuleSymbol( GLUHandle, 'gluBeginTrim');
gluBuild1DMipmaps := GetModuleSymbol( GLUHandle, 'gluBuild1DMipmaps');
gluBuild2DMipmaps := GetModuleSymbol( GLUHandle, 'gluBuild2DMipmaps');
gluCylinder := GetModuleSymbol( GLUHandle, 'gluCylinder');
gluDeleteNurbsRenderer := GetModuleSymbol( GLUHandle, 'gluDeleteNurbsRenderer');
gluDeleteQuadric := GetModuleSymbol( GLUHandle, 'gluDeleteQuadric');
gluDeleteTess := GetModuleSymbol( GLUHandle, 'gluDeleteTess');
gluDisk := GetModuleSymbol( GLUHandle, 'gluDisk');
gluEndCurve := GetModuleSymbol( GLUHandle, 'gluEndCurve');
gluEndPolygon := GetModuleSymbol( GLUHandle, 'gluEndPolygon');
gluEndSurface := GetModuleSymbol( GLUHandle, 'gluEndSurface');
gluEndTrim := GetModuleSymbol( GLUHandle, 'gluEndTrim');
gluErrorString := GetModuleSymbol( GLUHandle, 'gluErrorString');
gluGetNurbsProperty := GetModuleSymbol( GLUHandle, 'gluGetNurbsProperty');
gluGetString := GetModuleSymbol( GLUHandle, 'gluGetString');
gluGetTessProperty := GetModuleSymbol( GLUHandle, 'gluGetTessProperty');
gluLoadSamplingMatrices := GetModuleSymbol( GLUHandle, 'gluLoadSamplingMatrices');
gluLookAt := GetModuleSymbol( GLUHandle, 'gluLookAt');
gluNewNurbsRenderer := GetModuleSymbol( GLUHandle, 'gluNewNurbsRenderer');
gluNewQuadric := GetModuleSymbol( GLUHandle, 'gluNewQuadric');
gluNewTess := GetModuleSymbol( GLUHandle, 'gluNewTess');
gluNextContour := GetModuleSymbol( GLUHandle, 'gluNextContour');
gluNurbsCallback := GetModuleSymbol( GLUHandle, 'gluNurbsCallback');
gluNurbsCurve := GetModuleSymbol( GLUHandle, 'gluNurbsCurve');
gluNurbsProperty := GetModuleSymbol( GLUHandle, 'gluNurbsProperty');
gluNurbsSurface := GetModuleSymbol( GLUHandle, 'gluNurbsSurface');
gluOrtho2D := GetModuleSymbol( GLUHandle, 'gluOrtho2D');
gluPartialDisk := GetModuleSymbol( GLUHandle, 'gluPartialDisk');
gluPerspective := GetModuleSymbol( GLUHandle, 'gluPerspective');
gluPickMatrix := GetModuleSymbol( GLUHandle, 'gluPickMatrix');
gluProject := GetModuleSymbol( GLUHandle, 'gluProject');
gluPwlCurve := GetModuleSymbol( GLUHandle, 'gluPwlCurve');
gluQuadricCallback := GetModuleSymbol( GLUHandle, 'gluQuadricCallback');
gluQuadricDrawStyle := GetModuleSymbol( GLUHandle, 'gluQuadricDrawStyle');
gluQuadricNormals := GetModuleSymbol( GLUHandle, 'gluQuadricNormals');
gluQuadricOrientation := GetModuleSymbol( GLUHandle, 'gluQuadricOrientation');
gluQuadricTexture := GetModuleSymbol( GLUHandle, 'gluQuadricTexture');
gluScaleImage := GetModuleSymbol( GLUHandle, 'gluScaleImage');
gluSphere := GetModuleSymbol( GLUHandle, 'gluSphere');
gluTessBeginContour := GetModuleSymbol( GLUHandle, 'gluTessBeginContour');
gluTessBeginPolygon := GetModuleSymbol( GLUHandle, 'gluTessBeginPolygon');
gluTessCallback := GetModuleSymbol( GLUHandle, 'gluTessCallback');
gluTessEndContour := GetModuleSymbol( GLUHandle, 'gluTessEndContour');
gluTessEndPolygon := GetModuleSymbol( GLUHandle, 'gluTessEndPolygon');
gluTessNormal := GetModuleSymbol( GLUHandle, 'gluTessNormal');
gluTessProperty := GetModuleSymbol( GLUHandle, 'gluTessProperty');
gluTessVertex := GetModuleSymbol( GLUHandle, 'gluTessVertex');
gluUnProject := GetModuleSymbol( GLUHandle, 'gluUnProject');
end;
end;
//----------------------------------------------------------------------------------------------------------------------
procedure ClearExtensions;
begin
glArrayElementEXT := nil;
glDrawArraysEXT := nil;
glVertexPointerEXT := nil;
glNormalPointerEXT := nil;
glColorPointerEXT := nil;
glIndexPointerEXT := nil;
glTexCoordPointerEXT := nil;
glEdgeFlagPointerEXT := nil;
glGetPointervEXT := nil;
glArrayElementArrayEXT := nil;
glAddSwapHintRectWIN := nil;
glColorTableEXT := nil;
glColorSubTableEXT := nil;
glGetColorTableEXT := nil;
glGetColorTablePameterivEXT := nil;
glGetColorTablePameterfvEXT := nil;
gluNurbsCallbackDataEXT := nil;
gluNewNurbsTessellatorEXT := nil;
gluDeleteNurbsTessellatorEXT := nil;
glLockArraysEXT := nil;
glUnlockArraysEXT := nil;
glCopyTexImage1DEXT := nil;
glCopyTexSubImage1DEXT := nil;
glCopyTexImage2DEXT := nil;
glCopyTexSubImage2DEXT := nil;
glCopyTexSubImage3DEXT := nil;
glCullParameterfvEXT := nil;
glCullParameterdvEXT := nil;
glIndexFuncEXT := nil;
glIndexMaterialEXT := nil;
glPolygonOffsetEXT := nil;
glTexSubImage1DEXT := nil;
glTexSubImage2DEXT := nil;
glTexSubImage3DEXT := nil;
glGenTexturesEXT := nil;
glDeleteTexturesEXT := nil;
glBindTextureEXT := nil;
glPrioritizeTexturesEXT := nil;
glAreTexturesResidentEXT := nil;
glIsTextureEXT := nil;
glMultiTexCoord1dARB := nil;
glMultiTexCoord1dVARB := nil;
glMultiTexCoord1fARBP := nil;
glMultiTexCoord1fVARB := nil;
glMultiTexCoord1iARB := nil;
glMultiTexCoord1iVARB := nil;
glMultiTexCoord1sARBP := nil;
glMultiTexCoord1sVARB := nil;
glMultiTexCoord2dARB := nil;
glMultiTexCoord2dvARB := nil;
glMultiTexCoord2fARB := nil;
glMultiTexCoord2fvARB := nil;
glMultiTexCoord2iARB := nil;
glMultiTexCoord2ivARB := nil;
glMultiTexCoord2sARB := nil;
glMultiTexCoord2svARB := nil;
glMultiTexCoord3dARB := nil;
glMultiTexCoord3dvARB := nil;
glMultiTexCoord3fARB := nil;
glMultiTexCoord3fvARB := nil;
glMultiTexCoord3iARB := nil;
glMultiTexCoord3ivARB := nil;
glMultiTexCoord3sARB := nil;
glMultiTexCoord3svARB := nil;
glMultiTexCoord4dARB := nil;
glMultiTexCoord4dvARB := nil;
glMultiTexCoord4fARB := nil;
glMultiTexCoord4fvARB := nil;
glMultiTexCoord4iARB := nil;
glMultiTexCoord4ivARB := nil;
glMultiTexCoord4sARB := nil;
glMultiTexCoord4svARB := nil;
glActiveTextureARB := nil;
glClientActiveTextureARB := nil;
// EXT_compiled_vertex_array
glLockArrayEXT := nil;
glUnlockArrayEXT := nil;
// EXT_cull_vertex
glCullParameterdvEXT := nil;
glCullParameterfvEXT := nil;
// WIN_swap_hint
glAddSwapHintRectWIN := nil;
// EXT_point_parameter
glPointParameterfEXT := nil;
glPointParameterfvEXT := nil;
// GL_ARB_transpose_matrix
glLoadTransposeMatrixfARB := nil;
glLoadTransposeMatrixdARB := nil;
glMultTransposeMatrixfARB := nil;
glMultTransposeMatrixdARB := nil;
glSampleCoverageARB := nil;
glSamplePassARB := nil;
// GL_ARB_multisample
glCompressedTexImage3DARB := nil;
glCompressedTexImage2DARB := nil;
glCompressedTexImage1DARB := nil;
glCompressedTexSubImage3DARB := nil;
glCompressedTexSubImage2DARB := nil;
glCompressedTexSubImage1DARB := nil;
glGetCompressedTexImageARB := nil;
// GL_EXT_blend_color
glBlendColorEXT := nil;
// GL_EXT_texture3D
glTexImage3DEXT := nil;
// GL_SGIS_texture_filter4
glGetTexFilterFuncSGIS := nil;
glTexFilterFuncSGIS := nil;
// GL_EXT_histogram
glGetHistogramEXT := nil;
glGetHistogramParameterfvEXT := nil;
glGetHistogramParameterivEXT := nil;
glGetMinmaxEXT := nil;
glGetMinmaxParameterfvEXT := nil;
glGetMinmaxParameterivEXT := nil;
glHistogramEXT := nil;
glMinmaxEXT := nil;
glResetHistogramEXT := nil;
glResetMinmaxEXT := nil;
// GL_EXT_convolution
glConvolutionFilter1DEXT := nil;
glConvolutionFilter2DEXT := nil;
glConvolutionParameterfEXT := nil;
glConvolutionParameterfvEXT := nil;
glConvolutionParameteriEXT := nil;
glConvolutionParameterivEXT := nil;
glCopyConvolutionFilter1DEXT := nil;
glCopyConvolutionFilter2DEXT := nil;
glGetConvolutionFilterEXT := nil;
glGetConvolutionParameterfvEXT := nil;
glGetConvolutionParameterivEXT := nil;
glGetSeparableFilterEXT := nil;
glSeparableFilter2DEXT := nil;
// GL_SGI_color_table
glColorTableSGI := nil;
glColorTableParameterfvSGI := nil;
glColorTableParameterivSGI := nil;
glCopyColorTableSGI := nil;
glGetColorTableSGI := nil;
glGetColorTableParameterfvSGI := nil;
glGetColorTableParameterivSGI := nil;
// GL_SGIX_pixel_texture
glPixelTexGenSGIX := nil;
// GL_SGIS_pixel_texture
glPixelTexGenParameteriSGIS := nil;
glPixelTexGenParameterivSGIS := nil;
glPixelTexGenParameterfSGIS := nil;
glPixelTexGenParameterfvSGIS := nil;
glGetPixelTexGenParameterivSGIS := nil;
glGetPixelTexGenParameterfvSGIS := nil;
// GL_SGIS_texture4D
glTexImage4DSGIS := nil;
glTexSubImage4DSGIS := nil;
// GL_SGIS_detail_texture
glDetailTexFuncSGIS := nil;
glGetDetailTexFuncSGIS := nil;
// GL_SGIS_sharpen_texture
glSharpenTexFuncSGIS := nil;
glGetSharpenTexFuncSGIS := nil;
// GL_SGIS_multisample
glSampleMaskSGIS := nil;
glSamplePatternSGIS := nil;
// GL_EXT_blend_minmax
glBlendEquationEXT := nil;
// GL_SGIX_sprite
glSpriteParameterfSGIX := nil;
glSpriteParameterfvSGIX := nil;
glSpriteParameteriSGIX := nil;
glSpriteParameterivSGIX := nil;
// GL_EXT_point_parameters
glPointParameterfSGIS := nil;
glPointParameterfvSGIS := nil;
// GL_SGIX_instruments
glGetInstrumentsSGIX := nil;
glInstrumentsBufferSGIX := nil;
glPollInstrumentsSGIX := nil;
glReadInstrumentsSGIX := nil;
glStartInstrumentsSGIX := nil;
glStopInstrumentsSGIX := nil;
// GL_SGIX_framezoom
glFrameZoomSGIX := nil;
// GL_SGIX_tag_sample_buffer
glTagSampleBufferSGIX := nil;
// GL_SGIX_polynomial_ffd
glDeformationMap3dSGIX := nil;
glDeformationMap3fSGIX := nil;
glDeformSGIX := nil;
glLoadIdentityDeformationMapSGIX := nil;
// GL_SGIX_reference_plane
glReferencePlaneSGIX := nil;
// GL_SGIX_flush_raster
glFlushRasterSGIX := nil;
// GL_SGIS_fog_function
glFogFuncSGIS := nil;
glGetFogFuncSGIS := nil;
// GL_HP_image_transform
glImageTransformParameteriHP := nil;
glImageTransformParameterfHP := nil;
glImageTransformParameterivHP := nil;
glImageTransformParameterfvHP := nil;
glGetImageTransformParameterivHP := nil;
glGetImageTransformParameterfvHP := nil;
// GL_EXT_color_subtable
glCopyColorSubTableEXT := nil;
// GL_PGI_misc_hints
glHintPGI := nil;
// GL_EXT_paletted_texture
glGetColorTableParameterivEXT := nil;
glGetColorTableParameterfvEXT := nil;
// GL_SGIX_list_priority
glGetListParameterfvSGIX := nil;
glGetListParameterivSGIX := nil;
glListParameterfSGIX := nil;
glListParameterfvSGIX := nil;
glListParameteriSGIX := nil;
glListParameterivSGIX := nil;
// GL_SGIX_fragment_lighting
glFragmentColorMaterialSGIX := nil;
glFragmentLightfSGIX := nil;
glFragmentLightfvSGIX := nil;
glFragmentLightiSGIX := nil;
glFragmentLightivSGIX := nil;
glFragmentLightModelfSGIX := nil;
glFragmentLightModelfvSGIX := nil;
glFragmentLightModeliSGIX := nil;
glFragmentLightModelivSGIX := nil;
glFragmentMaterialfSGIX := nil;
glFragmentMaterialfvSGIX := nil;
glFragmentMaterialiSGIX := nil;
glFragmentMaterialivSGIX := nil;
glGetFragmentLightfvSGIX := nil;
glGetFragmentLightivSGIX := nil;
glGetFragmentMaterialfvSGIX := nil;
glGetFragmentMaterialivSGIX := nil;
glLightEnviSGIX := nil;
// GL_EXT_draw_range_elements
glDrawRangeElementsEXT := nil;
// GL_EXT_light_texture
glApplyTextureEXT := nil;
glTextureLightEXT := nil;
glTextureMaterialEXT := nil;
// GL_SGIX_async
glAsyncMarkerSGIX := nil;
glFinishAsyncSGIX := nil;
glPollAsyncSGIX := nil;
glGenAsyncMarkersSGIX := nil;
glDeleteAsyncMarkersSGIX := nil;
glIsAsyncMarkerSGIX := nil;
// GL_INTEL_parallel_arrays
glVertexPointervINTEL := nil;
glNormalPointervINTEL := nil;
glColorPointervINTEL := nil;
glTexCoordPointervINTEL := nil;
// GL_EXT_pixel_transform
glPixelTransformParameteriEXT := nil;
glPixelTransformParameterfEXT := nil;
glPixelTransformParameterivEXT := nil;
glPixelTransformParameterfvEXT := nil;
// GL_EXT_secondary_color
glSecondaryColor3bEXT := nil;
glSecondaryColor3bvEXT := nil;
glSecondaryColor3dEXT := nil;
glSecondaryColor3dvEXT := nil;
glSecondaryColor3fEXT := nil;
glSecondaryColor3fvEXT := nil;
glSecondaryColor3iEXT := nil;
glSecondaryColor3ivEXT := nil;
glSecondaryColor3sEXT := nil;
glSecondaryColor3svEXT := nil;
glSecondaryColor3ubEXT := nil;
glSecondaryColor3ubvEXT := nil;
glSecondaryColor3uiEXT := nil;
glSecondaryColor3uivEXT := nil;
glSecondaryColor3usEXT := nil;
glSecondaryColor3usvEXT := nil;
glSecondaryColorPointerEXT := nil;
// GL_EXT_texture_perturb_normal
glTextureNormalEXT := nil;
// GL_EXT_multi_draw_arrays
glMultiDrawArraysEXT := nil;
glMultiDrawElementsEXT := nil;
// GL_EXT_fog_coord
glFogCoordfEXT := nil;
glFogCoordfvEXT := nil;
glFogCoorddEXT := nil;
glFogCoorddvEXT := nil;
glFogCoordPointerEXT := nil;
// GL_EXT_coordinate_frame
glTangent3bEXT := nil;
glTangent3bvEXT := nil;
glTangent3dEXT := nil;
glTangent3dvEXT := nil;
glTangent3fEXT := nil;
glTangent3fvEXT := nil;
glTangent3iEXT := nil;
glTangent3ivEXT := nil;
glTangent3sEXT := nil;
glTangent3svEXT := nil;
glBinormal3bEXT := nil;
glBinormal3bvEXT := nil;
glBinormal3dEXT := nil;
glBinormal3dvEXT := nil;
glBinormal3fEXT := nil;
glBinormal3fvEXT := nil;
glBinormal3iEXT := nil;
glBinormal3ivEXT := nil;
glBinormal3sEXT := nil;
glBinormal3svEXT := nil;
glTangentPointerEXT := nil;
glBinormalPointerEXT := nil;
// GL_SUNX_constant_data
glFinishTextureSUNX := nil;
// GL_SUN_global_alpha
glGlobalAlphaFactorbSUN := nil;
glGlobalAlphaFactorsSUN := nil;
glGlobalAlphaFactoriSUN := nil;
glGlobalAlphaFactorfSUN := nil;
glGlobalAlphaFactordSUN := nil;
glGlobalAlphaFactorubSUN := nil;
glGlobalAlphaFactorusSUN := nil;
glGlobalAlphaFactoruiSUN := nil;
// GL_SUN_triangle_list
glReplacementCodeuiSUN := nil;
glReplacementCodeusSUN := nil;
glReplacementCodeubSUN := nil;
glReplacementCodeuivSUN := nil;
glReplacementCodeusvSUN := nil;
glReplacementCodeubvSUN := nil;
glReplacementCodePointerSUN := nil;
// GL_SUN_vertex
glColor4ubVertex2fSUN := nil;
glColor4ubVertex2fvSUN := nil;
glColor4ubVertex3fSUN := nil;
glColor4ubVertex3fvSUN := nil;
glColor3fVertex3fSUN := nil;
glColor3fVertex3fvSUN := nil;
glNormal3fVertex3fSUN := nil;
glNormal3fVertex3fvSUN := nil;
glColor4fNormal3fVertex3fSUN := nil;
glColor4fNormal3fVertex3fvSUN := nil;
glTexCoord2fVertex3fSUN := nil;
glTexCoord2fVertex3fvSUN := nil;
glTexCoord4fVertex4fSUN := nil;
glTexCoord4fVertex4fvSUN := nil;
glTexCoord2fColor4ubVertex3fSUN := nil;
glTexCoord2fColor4ubVertex3fvSUN := nil;
glTexCoord2fColor3fVertex3fSUN := nil;
glTexCoord2fColor3fVertex3fvSUN := nil;
glTexCoord2fNormal3fVertex3fSUN := nil;
glTexCoord2fNormal3fVertex3fvSUN := nil;
glTexCoord2fColor4fNormal3fVertex3fSUN := nil;
glTexCoord2fColor4fNormal3fVertex3fvSUN := nil;
glTexCoord4fColor4fNormal3fVertex4fSUN := nil;
glTexCoord4fColor4fNormal3fVertex4fvSUN := nil;
glReplacementCodeuiVertex3fSUN := nil;
glReplacementCodeuiVertex3fvSUN := nil;
glReplacementCodeuiColor4ubVertex3fSUN := nil;
glReplacementCodeuiColor4ubVertex3fvSUN := nil;
glReplacementCodeuiColor3fVertex3fSUN := nil;
glReplacementCodeuiColor3fVertex3fvSUN := nil;
glReplacementCodeuiNormal3fVertex3fSUN := nil;
glReplacementCodeuiNormal3fVertex3fvSUN := nil;
glReplacementCodeuiColor4fNormal3fVertex3fSUN := nil;
glReplacementCodeuiColor4fNormal3fVertex3fvSUN := nil;
glReplacementCodeuiTexCoord2fVertex3fSUN := nil;
glReplacementCodeuiTexCoord2fVertex3fvSUN := nil;
glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN := nil;
glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN := nil;
glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN := nil;
glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN := nil;
// GL_EXT_blend_func_separate
glBlendFuncSeparateEXT := nil;
// GL_EXT_vertex_weighting
glVertexWeightfEXT := nil;
glVertexWeightfvEXT := nil;
glVertexWeightPointerEXT := nil;
// GL_NV_vertex_array_range
glFlushVertexArrayRangeNV := nil;
glVertexArrayRangeNV := nil;
wglAllocateMemoryNV := nil;
wglFreeMemoryNV := nil;
// GL_NV_register_combiners
glCombinerParameterfvNV := nil;
glCombinerParameterfNV := nil;
glCombinerParameterivNV := nil;
glCombinerParameteriNV := nil;
glCombinerInputNV := nil;
glCombinerOutputNV := nil;
glFinalCombinerInputNV := nil;
glGetCombinerInputParameterfvNV := nil;
glGetCombinerInputParameterivNV := nil;
glGetCombinerOutputParameterfvNV := nil;
glGetCombinerOutputParameterivNV := nil;
glGetFinalCombinerInputParameterfvNV := nil;
glGetFinalCombinerInputParameterivNV := nil;
// GL_MESA_resize_buffers
glResizeBuffersMESA := nil;
// GL_MESA_window_pos
glWindowPos2dMESA := nil;
glWindowPos2dvMESA := nil;
glWindowPos2fMESA := nil;
glWindowPos2fvMESA := nil;
glWindowPos2iMESA := nil;
glWindowPos2ivMESA := nil;
glWindowPos2sMESA := nil;
glWindowPos2svMESA := nil;
glWindowPos3dMESA := nil;
glWindowPos3dvMESA := nil;
glWindowPos3fMESA := nil;
glWindowPos3fvMESA := nil;
glWindowPos3iMESA := nil;
glWindowPos3ivMESA := nil;
glWindowPos3sMESA := nil;
glWindowPos3svMESA := nil;
glWindowPos4dMESA := nil;
glWindowPos4dvMESA := nil;
glWindowPos4fMESA := nil;
glWindowPos4fvMESA := nil;
glWindowPos4iMESA := nil;
glWindowPos4ivMESA := nil;
glWindowPos4sMESA := nil;
glWindowPos4svMESA := nil;
// GL_IBM_multimode_draw_arrays
glMultiModeDrawArraysIBM := nil;
glMultiModeDrawElementsIBM := nil;
// GL_IBM_vertex_array_lists
glColorPointerListIBM := nil;
glSecondaryColorPointerListIBM := nil;
glEdgeFlagPointerListIBM := nil;
glFogCoordPointerListIBM := nil;
glIndexPointerListIBM := nil;
glNormalPointerListIBM := nil;
glTexCoordPointerListIBM := nil;
glVertexPointerListIBM := nil;
// GL_3DFX_tbuffer
glTbufferMask3DFX := nil;
// GL_EXT_multisample
glSampleMaskEXT := nil;
glSamplePatternEXT := nil;
// GL_SGIS_texture_color_mask
glTextureColorMaskSGIS := nil;
// GL_SGIX_igloo_interface
glIglooInterfaceSGIX := nil;
// GLU extensions
gluNurbsCallbackDataEXT := nil;
gluNewNurbsTessellatorEXT := nil;
gluDeleteNurbsTessellatorEXT := nil;
// GL_NV_vertex_program
glAreProgramsResidentNV := nil;
glBindProgramNV := nil;
glDeleteProgramsNV := nil;
glExecuteProgramNV := nil;
glGenProgramsNV := nil;
glGetProgramParameterdvNV := nil;
glGetProgramParameterfvNV := nil;
glGetProgramivNV := nil;
glGetProgramStringNV := nil;
glGetTrackMatrixivNV := nil;
glGetVertexAttribdvNV:= nil;
glGetVertexAttribfvNV:= nil;
glGetVertexAttribivNV:= nil;
glGetVertexAttribPointervNV := nil;
glIsProgramNV := nil;
glLoadProgramNV := nil;
glProgramParameter4dNV := nil;
glProgramParameter4dvNV := nil;
glProgramParameter4fNV := nil;
glProgramParameter4fvNV := nil;
glProgramParameters4dvNV := nil;
glProgramParameters4fvNV := nil;
glRequestResidentProgramsNV := nil;
glTrackMatrixNV := nil;
glVertexAttribPointerNV := nil;
glVertexAttrib1dNV := nil;
glVertexAttrib1dvNV := nil;
glVertexAttrib1fNV := nil;
glVertexAttrib1fvNV := nil;
glVertexAttrib1sNV := nil;
glVertexAttrib1svNV := nil;
glVertexAttrib2dNV := nil;
glVertexAttrib2dvNV := nil;
glVertexAttrib2fNV := nil;
glVertexAttrib2fvNV := nil;
glVertexAttrib2sNV := nil;
glVertexAttrib2svNV := nil;
glVertexAttrib3dNV := nil;
glVertexAttrib3dvNV := nil;
glVertexAttrib3fNV := nil;
glVertexAttrib3fvNV := nil;
glVertexAttrib3sNV := nil;
glVertexAttrib3svNV := nil;
glVertexAttrib4dNV := nil;
glVertexAttrib4dvNV := nil;
glVertexAttrib4fNV := nil;
glVertexAttrib4fvNV := nil;
glVertexAttrib4sNV := nil;
glVertexAttrib4svNV := nil;
glVertexAttrib4ubvNV := nil;
glVertexAttribs1dvNV := nil;
glVertexAttribs1fvNV := nil;
glVertexAttribs1svNV := nil;
glVertexAttribs2dvNV := nil;
glVertexAttribs2fvNV := nil;
glVertexAttribs2svNV := nil;
glVertexAttribs3dvNV := nil;
glVertexAttribs3fvNV := nil;
glVertexAttribs3svNV := nil;
glVertexAttribs4dvNV := nil;
glVertexAttribs4fvNV := nil;
glVertexAttribs4svNV := nil;
glVertexAttribs4ubvNV := nil;
LastPixelFormat := 0; // to get synchronized again, if this proc was called from outside
end;
//----------------------------------------------------------------------------------------------------------------------
{$ifdef Win32}
function HasActiveContext: Boolean;
// Returns True if the caller thread has an active (current) rendering context.
begin
Result := ActivationRefCount > 0;
end;
//----------------------------------------------------------------------------------------------------------------------
procedure ReadExtensions;
begin
if GLHandle <> INVALID_MODULEHANDLE then
begin
// GL extensions
glArrayElementArrayEXT := SDL_GL_GetProcAddress( 'glArrayElementArrayEXT');
glColorTableEXT := SDL_GL_GetProcAddress( 'glColorTableEXT');
glColorSubTableEXT := SDL_GL_GetProcAddress( 'glColorSubTableEXT');
glGetColorTableEXT := SDL_GL_GetProcAddress( 'glGetColorTableEXT');
glGetColorTablePameterivEXT := SDL_GL_GetProcAddress( 'glGetColorTablePameterivEXT');
glGetColorTablePameterfvEXT := SDL_GL_GetProcAddress( 'glGetColorTablePameterfvEXT');
glLockArraysEXT := SDL_GL_GetProcAddress( 'glLockArraysEXT');
glUnlockArraysEXT := SDL_GL_GetProcAddress( 'glUnlockArraysEXT');
glCopyTexImage1DEXT := SDL_GL_GetProcAddress( 'glCopyTexImage1DEXT');
glCopyTexSubImage1DEXT := SDL_GL_GetProcAddress( 'glCopyTexSubImage1DEXT');
glCopyTexImage2DEXT := SDL_GL_GetProcAddress( 'glCopyTexImage2DEXT');
glCopyTexSubImage2DEXT := SDL_GL_GetProcAddress( 'glCopyTexSubImage2DEXT');
glCopyTexSubImage3DEXT := SDL_GL_GetProcAddress( 'glCopyTexSubImage3DEXT');
glIndexFuncEXT := GetModuleSymbol( GLHandle, 'glIndexFuncEXT');
glIndexMaterialEXT := SDL_GL_GetProcAddress( 'glIndexMaterialEXT');
glPolygonOffsetEXT := SDL_GL_GetProcAddress( 'glPolygonOffsetEXT');
glTexSubImage1dEXT := SDL_GL_GetProcAddress( 'glTexSubImage1DEXT');
glTexSubImage2dEXT := SDL_GL_GetProcAddress( 'glTexSubImage2DEXT');
glTexSubImage3dEXT := SDL_GL_GetProcAddress( 'glTexSubImage3DEXT');
glGenTexturesEXT := SDL_GL_GetProcAddress( 'glGenTexturesEXT');
glDeleteTexturesEXT := SDL_GL_GetProcAddress( 'glDeleteTexturesEXT');
glBindTextureEXT := SDL_GL_GetProcAddress( 'glBindTextureEXT');
glPrioritizeTexturesEXT := SDL_GL_GetProcAddress( 'glPrioritizeTexturesEXT');
glAreTexturesResidentEXT := SDL_GL_GetProcAddress( 'glAreTexturesResidentEXT');
glIsTextureEXT := GetModuleSymbol( GLHandle, 'glIsTextureEXT');
// EXT_vertex_array
glArrayElementEXT := SDL_GL_GetProcAddress( 'glArrayElementEXT');
glColorPointerEXT := SDL_GL_GetProcAddress( 'glColorPointerEXT');
glDrawArraysEXT := SDL_GL_GetProcAddress( 'glDrawArraysEXT');
glEdgeFlagPointerEXT := SDL_GL_GetProcAddress( 'glEdgeFlagPointerEXT');
glGetPointervEXT := SDL_GL_GetProcAddress( 'glGetPointervEXT');
glIndexPointerEXT := SDL_GL_GetProcAddress( 'glIndexPointerEXT');
glNormalPointerEXT := SDL_GL_GetProcAddress( 'glNormalPointerEXT');
glTexCoordPointerEXT := SDL_GL_GetProcAddress( 'glTexCoordPointerEXT');
glVertexPointerEXT := SDL_GL_GetProcAddress( 'glVertexPointerEXT');
// ARB_multitexture
glMultiTexCoord1dARB := SDL_GL_GetProcAddress( 'glMultiTexCoord1dARB');
glMultiTexCoord1dVARB := SDL_GL_GetProcAddress( 'glMultiTexCoord1dVARB');
glMultiTexCoord1fARBP := SDL_GL_GetProcAddress( 'glMultiTexCoord1fARBP');
glMultiTexCoord1fVARB := SDL_GL_GetProcAddress( 'glMultiTexCoord1fVARB');
glMultiTexCoord1iARB := SDL_GL_GetProcAddress( 'glMultiTexCoord1iARB');
glMultiTexCoord1iVARB := SDL_GL_GetProcAddress( 'glMultiTexCoord1iVARB');
glMultiTexCoord1sARBP := SDL_GL_GetProcAddress( 'glMultiTexCoord1sARBP');
glMultiTexCoord1sVARB := SDL_GL_GetProcAddress( 'glMultiTexCoord1sVARB');
glMultiTexCoord2dARB := SDL_GL_GetProcAddress( 'glMultiTexCoord2dARB');
glMultiTexCoord2dvARB := SDL_GL_GetProcAddress( 'glMultiTexCoord2dvARB');
glMultiTexCoord2fARB := SDL_GL_GetProcAddress( 'glMultiTexCoord2fARB');
glMultiTexCoord2fvARB := SDL_GL_GetProcAddress( 'glMultiTexCoord2fvARB');
glMultiTexCoord2iARB := SDL_GL_GetProcAddress( 'glMultiTexCoord2iARB');
glMultiTexCoord2ivARB := SDL_GL_GetProcAddress( 'glMultiTexCoord2ivARB');
glMultiTexCoord2sARB := SDL_GL_GetProcAddress( 'glMultiTexCoord2sARB');
glMultiTexCoord2svARB := SDL_GL_GetProcAddress( 'glMultiTexCoord2svARB');
glMultiTexCoord3dARB := SDL_GL_GetProcAddress( 'glMultiTexCoord3dARB');
glMultiTexCoord3dvARB := SDL_GL_GetProcAddress( 'glMultiTexCoord3dvARB');
glMultiTexCoord3fARB := SDL_GL_GetProcAddress( 'glMultiTexCoord3fARB');
glMultiTexCoord3fvARB := SDL_GL_GetProcAddress( 'glMultiTexCoord3fvARB');
glMultiTexCoord3iARB := SDL_GL_GetProcAddress( 'glMultiTexCoord3iARB');
glMultiTexCoord3ivARB := SDL_GL_GetProcAddress( 'glMultiTexCoord3ivARB');
glMultiTexCoord3sARB := SDL_GL_GetProcAddress( 'glMultiTexCoord3sARB');
glMultiTexCoord3svARB := SDL_GL_GetProcAddress( 'glMultiTexCoord3svARB');
glMultiTexCoord4dARB := SDL_GL_GetProcAddress( 'glMultiTexCoord4dARB');
glMultiTexCoord4dvARB := SDL_GL_GetProcAddress( 'glMultiTexCoord4dvARB');
glMultiTexCoord4fARB := SDL_GL_GetProcAddress( 'glMultiTexCoord4fARB');
glMultiTexCoord4fvARB := SDL_GL_GetProcAddress( 'glMultiTexCoord4fvARB');
glMultiTexCoord4iARB := SDL_GL_GetProcAddress( 'glMultiTexCoord4iARB');
glMultiTexCoord4ivARB := SDL_GL_GetProcAddress( 'glMultiTexCoord4ivARB');
glMultiTexCoord4sARB := SDL_GL_GetProcAddress( 'glMultiTexCoord4sARB');
glMultiTexCoord4svARB := SDL_GL_GetProcAddress( 'glMultiTexCoord4svARB');
glActiveTextureARB := SDL_GL_GetProcAddress( 'glActiveTextureARB');
glClientActiveTextureARB := SDL_GL_GetProcAddress( 'glClientActiveTextureARB');
// EXT_compiled_vertex_array
glLockArrayEXT := SDL_GL_GetProcAddress( 'glLockArrayEXT');
glUnlockArrayEXT := SDL_GL_GetProcAddress( 'glUnlockArrayEXT');
// EXT_cull_vertex
glCullParameterdvEXT := SDL_GL_GetProcAddress( 'glCullParameterdvEXT');
glCullParameterfvEXT := SDL_GL_GetProcAddress( 'glCullParameterfvEXT');
// WIN_swap_hint
glAddSwapHintRectWIN := SDL_GL_GetProcAddress( 'glAddSwapHintRectWIN');
// EXT_point_parameter
glPointParameterfEXT := SDL_GL_GetProcAddress( 'glPointParameterfEXT');
glPointParameterfvEXT := SDL_GL_GetProcAddress( 'glPointParameterfvEXT');
// GL_ARB_transpose_matrix
glLoadTransposeMatrixfARB := SDL_GL_GetProcAddress( 'glLoadTransposeMatrixfARB');
glLoadTransposeMatrixdARB := SDL_GL_GetProcAddress( 'glLoadTransposeMatrixdARB');
glMultTransposeMatrixfARB := SDL_GL_GetProcAddress( 'glMultTransposeMatrixfARB');
glMultTransposeMatrixdARB := SDL_GL_GetProcAddress( 'glMultTransposeMatrixdARB');
glSampleCoverageARB := SDL_GL_GetProcAddress( 'glSampleCoverageARB');
glSamplePassARB := SDL_GL_GetProcAddress( 'glSamplePassARB');
// GL_ARB_multisample
glCompressedTexImage3DARB := SDL_GL_GetProcAddress( 'glCompressedTexImage3DARB');
glCompressedTexImage2DARB := SDL_GL_GetProcAddress( 'glCompressedTexImage2DARB');
glCompressedTexImage1DARB := SDL_GL_GetProcAddress( 'glCompressedTexImage1DARB');
glCompressedTexSubImage3DARB := SDL_GL_GetProcAddress( 'glCompressedTexSubImage3DARB');
glCompressedTexSubImage2DARB := SDL_GL_GetProcAddress( 'glCompressedTexSubImage2DARB');
glCompressedTexSubImage1DARB := SDL_GL_GetProcAddress( 'glCompressedTexSubImage1DARB');
glGetCompressedTexImageARB := SDL_GL_GetProcAddress( 'glGetCompressedTexImageARB');
// GL_EXT_blend_color
glBlendColorEXT := SDL_GL_GetProcAddress( 'glBlendColorEXT');
// GL_EXT_texture3D
glTexImage3DEXT := SDL_GL_GetProcAddress( 'glTexImage3DEXT');
// GL_SGIS_texture_filter4
glGetTexFilterFuncSGIS := SDL_GL_GetProcAddress( 'glGetTexFilterFuncSGIS');
glTexFilterFuncSGIS := SDL_GL_GetProcAddress( 'glTexFilterFuncSGIS');
// GL_EXT_histogram
glGetHistogramEXT := SDL_GL_GetProcAddress( 'glGetHistogramEXT');
glGetHistogramParameterfvEXT := SDL_GL_GetProcAddress( 'glGetHistogramParameterfvEXT');
glGetHistogramParameterivEXT := SDL_GL_GetProcAddress( 'glGetHistogramParameterivEXT');
glGetMinmaxEXT := SDL_GL_GetProcAddress( 'glGetMinmaxEXT');
glGetMinmaxParameterfvEXT := SDL_GL_GetProcAddress( 'glGetMinmaxParameterfvEXT');
glGetMinmaxParameterivEXT := SDL_GL_GetProcAddress( 'glGetMinmaxParameterivEXT');
glHistogramEXT := SDL_GL_GetProcAddress( 'glHistogramEXT');
glMinmaxEXT := SDL_GL_GetProcAddress( 'glMinmaxEXT');
glResetHistogramEXT := SDL_GL_GetProcAddress( 'glResetHistogramEXT');
glResetMinmaxEXT := SDL_GL_GetProcAddress( 'glResetMinmaxEXT');
// GL_EXT_convolution
glConvolutionFilter1DEXT := SDL_GL_GetProcAddress( 'glConvolutionFilter1DEXT');
glConvolutionFilter2DEXT := SDL_GL_GetProcAddress( 'glConvolutionFilter2DEXT');
glConvolutionParameterfEXT := SDL_GL_GetProcAddress( 'glConvolutionParameterfEXT');
glConvolutionParameterfvEXT := SDL_GL_GetProcAddress( 'glConvolutionParameterfvEXT');
glConvolutionParameteriEXT := SDL_GL_GetProcAddress( 'glConvolutionParameteriEXT');
glConvolutionParameterivEXT := SDL_GL_GetProcAddress( 'glConvolutionParameterivEXT');
glCopyConvolutionFilter1DEXT := SDL_GL_GetProcAddress( 'glCopyConvolutionFilter1DEXT');
glCopyConvolutionFilter2DEXT := SDL_GL_GetProcAddress( 'glCopyConvolutionFilter2DEXT');
glGetConvolutionFilterEXT := SDL_GL_GetProcAddress( 'glGetConvolutionFilterEXT');
glGetConvolutionParameterfvEXT := SDL_GL_GetProcAddress( 'glGetConvolutionParameterfvEXT');
glGetConvolutionParameterivEXT := SDL_GL_GetProcAddress( 'glGetConvolutionParameterivEXT');
glGetSeparableFilterEXT := SDL_GL_GetProcAddress( 'glGetSeparableFilterEXT');
glSeparableFilter2DEXT := SDL_GL_GetProcAddress( 'glSeparableFilter2DEXT');
// GL_SGI_color_table
glColorTableSGI := SDL_GL_GetProcAddress( 'glColorTableSGI');
glColorTableParameterfvSGI := SDL_GL_GetProcAddress( 'glColorTableParameterfvSGI');
glColorTableParameterivSGI := SDL_GL_GetProcAddress( 'glColorTableParameterivSGI');
glCopyColorTableSGI := SDL_GL_GetProcAddress( 'glCopyColorTableSGI');
glGetColorTableSGI := SDL_GL_GetProcAddress( 'glGetColorTableSGI');
glGetColorTableParameterfvSGI := SDL_GL_GetProcAddress( 'glGetColorTableParameterfvSGI');
glGetColorTableParameterivSGI := SDL_GL_GetProcAddress( 'glGetColorTableParameterivSGI');
// GL_SGIX_pixel_texture
glPixelTexGenSGIX := SDL_GL_GetProcAddress( 'glPixelTexGenSGIX');
// GL_SGIS_pixel_texture
glPixelTexGenParameteriSGIS := SDL_GL_GetProcAddress( 'glPixelTexGenParameteriSGIS');
glPixelTexGenParameterivSGIS := SDL_GL_GetProcAddress( 'glPixelTexGenParameterivSGIS');
glPixelTexGenParameterfSGIS := SDL_GL_GetProcAddress( 'glPixelTexGenParameterfSGIS');
glPixelTexGenParameterfvSGIS := SDL_GL_GetProcAddress( 'glPixelTexGenParameterfvSGIS');
glGetPixelTexGenParameterivSGIS := SDL_GL_GetProcAddress( 'glGetPixelTexGenParameterivSGIS');
glGetPixelTexGenParameterfvSGIS := SDL_GL_GetProcAddress( 'glGetPixelTexGenParameterfvSGIS');
// GL_SGIS_texture4D
glTexImage4DSGIS := SDL_GL_GetProcAddress( 'glTexImage4DSGIS');
glTexSubImage4DSGIS := SDL_GL_GetProcAddress( 'glTexSubImage4DSGIS');
// GL_SGIS_detail_texture
glDetailTexFuncSGIS := SDL_GL_GetProcAddress( 'glDetailTexFuncSGIS');
glGetDetailTexFuncSGIS := SDL_GL_GetProcAddress( 'glGetDetailTexFuncSGIS');
// GL_SGIS_sharpen_texture
glSharpenTexFuncSGIS := SDL_GL_GetProcAddress( 'glSharpenTexFuncSGIS');
glGetSharpenTexFuncSGIS := SDL_GL_GetProcAddress( 'glGetSharpenTexFuncSGIS');
// GL_SGIS_multisample
glSampleMaskSGIS := SDL_GL_GetProcAddress( 'glSampleMaskSGIS');
glSamplePatternSGIS := SDL_GL_GetProcAddress( 'glSamplePatternSGIS');
// GL_EXT_blend_minmax
glBlendEquationEXT := SDL_GL_GetProcAddress( 'glBlendEquationEXT');
// GL_SGIX_sprite
glSpriteParameterfSGIX := SDL_GL_GetProcAddress( 'glSpriteParameterfSGIX');
glSpriteParameterfvSGIX := SDL_GL_GetProcAddress( 'glSpriteParameterfvSGIX');
glSpriteParameteriSGIX := SDL_GL_GetProcAddress( 'glSpriteParameteriSGIX');
glSpriteParameterivSGIX := SDL_GL_GetProcAddress( 'glSpriteParameterivSGIX');
// GL_EXT_point_parameters
glPointParameterfSGIS := SDL_GL_GetProcAddress( 'glPointParameterfSGIS');
glPointParameterfvSGIS := SDL_GL_GetProcAddress( 'glPointParameterfvSGIS');
// GL_SGIX_instruments
glGetInstrumentsSGIX := SDL_GL_GetProcAddress( 'glGetInstrumentsSGIX');
glInstrumentsBufferSGIX := SDL_GL_GetProcAddress( 'glInstrumentsBufferSGIX');
glPollInstrumentsSGIX := SDL_GL_GetProcAddress( 'glPollInstrumentsSGIX');
glReadInstrumentsSGIX := SDL_GL_GetProcAddress( 'glReadInstrumentsSGIX');
glStartInstrumentsSGIX := SDL_GL_GetProcAddress( 'glStartInstrumentsSGIX');
glStopInstrumentsSGIX := SDL_GL_GetProcAddress( 'glStopInstrumentsSGIX');
// GL_SGIX_framezoom
glFrameZoomSGIX := SDL_GL_GetProcAddress( 'glFrameZoomSGIX');
// GL_SGIX_tag_sample_buffer
glTagSampleBufferSGIX := SDL_GL_GetProcAddress( 'glTagSampleBufferSGIX');
// GL_SGIX_polynomial_ffd
glDeformationMap3dSGIX := SDL_GL_GetProcAddress( 'glDeformationMap3dSGIX');
glDeformationMap3fSGIX := SDL_GL_GetProcAddress( 'glDeformationMap3fSGIX');
glDeformSGIX := SDL_GL_GetProcAddress( 'glDeformSGIX');
glLoadIdentityDeformationMapSGIX := SDL_GL_GetProcAddress( 'glLoadIdentityDeformationMapSGIX');
// GL_SGIX_reference_plane
glReferencePlaneSGIX := SDL_GL_GetProcAddress( 'glReferencePlaneSGIX');
// GL_SGIX_flush_raster
glFlushRasterSGIX := SDL_GL_GetProcAddress( 'glFlushRasterSGIX');
// GL_SGIS_fog_function
glFogFuncSGIS := SDL_GL_GetProcAddress( 'glFogFuncSGIS');
glGetFogFuncSGIS := SDL_GL_GetProcAddress( 'glGetFogFuncSGIS');
// GL_HP_image_transform
glImageTransformParameteriHP := SDL_GL_GetProcAddress( 'glImageTransformParameteriHP');
glImageTransformParameterfHP := SDL_GL_GetProcAddress( 'glImageTransformParameterfHP');
glImageTransformParameterivHP := SDL_GL_GetProcAddress( 'glImageTransformParameterivHP');
glImageTransformParameterfvHP := SDL_GL_GetProcAddress( 'glImageTransformParameterfvHP');
glGetImageTransformParameterivHP := SDL_GL_GetProcAddress( 'glGetImageTransformParameterivHP');
glGetImageTransformParameterfvHP := SDL_GL_GetProcAddress( 'glGetImageTransformParameterfvHP');
// GL_EXT_color_subtable
glCopyColorSubTableEXT := SDL_GL_GetProcAddress( 'glCopyColorSubTableEXT');
// GL_PGI_misc_hints
glHintPGI := SDL_GL_GetProcAddress( 'glHintPGI');
// GL_EXT_paletted_texture
glGetColorTableParameterivEXT := SDL_GL_GetProcAddress( 'glGetColorTableParameterivEXT');
glGetColorTableParameterfvEXT := SDL_GL_GetProcAddress( 'glGetColorTableParameterfvEXT');
// GL_SGIX_list_priority
glGetListParameterfvSGIX := SDL_GL_GetProcAddress( 'glGetListParameterfvSGIX');
glGetListParameterivSGIX := SDL_GL_GetProcAddress( 'glGetListParameterivSGIX');
glListParameterfSGIX := SDL_GL_GetProcAddress( 'glListParameterfSGIX');
glListParameterfvSGIX := SDL_GL_GetProcAddress( 'glListParameterfvSGIX');
glListParameteriSGIX := SDL_GL_GetProcAddress( 'glListParameteriSGIX');
glListParameterivSGIX := SDL_GL_GetProcAddress( 'glListParameterivSGIX');
// GL_SGIX_fragment_lighting
glFragmentColorMaterialSGIX := SDL_GL_GetProcAddress( 'glFragmentColorMaterialSGIX');
glFragmentLightfSGIX := SDL_GL_GetProcAddress( 'glFragmentLightfSGIX');
glFragmentLightfvSGIX := SDL_GL_GetProcAddress( 'glFragmentLightfvSGIX');
glFragmentLightiSGIX := SDL_GL_GetProcAddress( 'glFragmentLightiSGIX');
glFragmentLightivSGIX := SDL_GL_GetProcAddress( 'glFragmentLightivSGIX');
glFragmentLightModelfSGIX := SDL_GL_GetProcAddress( 'glFragmentLightModelfSGIX');
glFragmentLightModelfvSGIX := SDL_GL_GetProcAddress( 'glFragmentLightModelfvSGIX');
glFragmentLightModeliSGIX := SDL_GL_GetProcAddress( 'glFragmentLightModeliSGIX');
glFragmentLightModelivSGIX := SDL_GL_GetProcAddress( 'glFragmentLightModelivSGIX');
glFragmentMaterialfSGIX := SDL_GL_GetProcAddress( 'glFragmentMaterialfSGIX');
glFragmentMaterialfvSGIX := SDL_GL_GetProcAddress( 'glFragmentMaterialfvSGIX');
glFragmentMaterialiSGIX := SDL_GL_GetProcAddress( 'glFragmentMaterialiSGIX');
glFragmentMaterialivSGIX := SDL_GL_GetProcAddress( 'glFragmentMaterialivSGIX');
glGetFragmentLightfvSGIX := SDL_GL_GetProcAddress( 'glGetFragmentLightfvSGIX');
glGetFragmentLightivSGIX := SDL_GL_GetProcAddress( 'glGetFragmentLightivSGIX');
glGetFragmentMaterialfvSGIX := SDL_GL_GetProcAddress( 'glGetFragmentMaterialfvSGIX');
glGetFragmentMaterialivSGIX := SDL_GL_GetProcAddress( 'glGetFragmentMaterialivSGIX');
glLightEnviSGIX := SDL_GL_GetProcAddress( 'glLightEnviSGIX');
// GL_EXT_draw_range_elements
glDrawRangeElementsEXT := SDL_GL_GetProcAddress( 'glDrawRangeElementsEXT');
// GL_EXT_light_texture
glApplyTextureEXT := SDL_GL_GetProcAddress( 'glApplyTextureEXT');
glTextureLightEXT := SDL_GL_GetProcAddress( 'glTextureLightEXT');
glTextureMaterialEXT := SDL_GL_GetProcAddress( 'glTextureMaterialEXT');
// GL_SGIX_async
glAsyncMarkerSGIX := SDL_GL_GetProcAddress( 'glAsyncMarkerSGIX');
glFinishAsyncSGIX := SDL_GL_GetProcAddress( 'glFinishAsyncSGIX');
glPollAsyncSGIX := SDL_GL_GetProcAddress( 'glPollAsyncSGIX');
glGenAsyncMarkersSGIX := SDL_GL_GetProcAddress( 'glGenAsyncMarkersSGIX');
glDeleteAsyncMarkersSGIX := SDL_GL_GetProcAddress( 'glDeleteAsyncMarkersSGIX');
glIsAsyncMarkerSGIX := SDL_GL_GetProcAddress( 'glIsAsyncMarkerSGIX');
// GL_INTEL_parallel_arrays
glVertexPointervINTEL := SDL_GL_GetProcAddress( 'glVertexPointervINTEL');
glNormalPointervINTEL := SDL_GL_GetProcAddress( 'glNormalPointervINTEL');
glColorPointervINTEL := SDL_GL_GetProcAddress( 'glColorPointervINTEL');
glTexCoordPointervINTEL := SDL_GL_GetProcAddress( 'glTexCoordPointervINTEL');
// GL_EXT_pixel_transform
glPixelTransformParameteriEXT := SDL_GL_GetProcAddress( 'glPixelTransformParameteriEXT');
glPixelTransformParameterfEXT := SDL_GL_GetProcAddress( 'glPixelTransformParameterfEXT');
glPixelTransformParameterivEXT := SDL_GL_GetProcAddress( 'glPixelTransformParameterivEXT');
glPixelTransformParameterfvEXT := SDL_GL_GetProcAddress( 'glPixelTransformParameterfvEXT');
// GL_EXT_secondary_color
glSecondaryColor3bEXT := SDL_GL_GetProcAddress( 'glSecondaryColor3bEXT');
glSecondaryColor3bvEXT := SDL_GL_GetProcAddress( 'glSecondaryColor3bvEXT');
glSecondaryColor3dEXT := SDL_GL_GetProcAddress( 'glSecondaryColor3dEXT');
glSecondaryColor3dvEXT := SDL_GL_GetProcAddress( 'glSecondaryColor3dvEXT');
glSecondaryColor3fEXT := SDL_GL_GetProcAddress( 'glSecondaryColor3fEXT');
glSecondaryColor3fvEXT := SDL_GL_GetProcAddress( 'glSecondaryColor3fvEXT');
glSecondaryColor3iEXT := SDL_GL_GetProcAddress( 'glSecondaryColor3iEXT');
glSecondaryColor3ivEXT := SDL_GL_GetProcAddress( 'glSecondaryColor3ivEXT');
glSecondaryColor3sEXT := SDL_GL_GetProcAddress( 'glSecondaryColor3sEXT');
glSecondaryColor3svEXT := SDL_GL_GetProcAddress( 'glSecondaryColor3svEXT');
glSecondaryColor3ubEXT := SDL_GL_GetProcAddress( 'glSecondaryColor3ubEXT');
glSecondaryColor3ubvEXT := SDL_GL_GetProcAddress( 'glSecondaryColor3ubvEXT');
glSecondaryColor3uiEXT := SDL_GL_GetProcAddress( 'glSecondaryColor3uiEXT');
glSecondaryColor3uivEXT := SDL_GL_GetProcAddress( 'glSecondaryColor3uivEXT');
glSecondaryColor3usEXT := SDL_GL_GetProcAddress( 'glSecondaryColor3usEXT');
glSecondaryColor3usvEXT := SDL_GL_GetProcAddress( 'glSecondaryColor3usvEXT');
glSecondaryColorPointerEXT := SDL_GL_GetProcAddress( 'glSecondaryColorPointerEXT');
// GL_EXT_texture_perturb_normal
glTextureNormalEXT := SDL_GL_GetProcAddress( 'glTextureNormalEXT');
// GL_EXT_multi_draw_arrays
glMultiDrawArraysEXT := SDL_GL_GetProcAddress( 'glMultiDrawArraysEXT');
glMultiDrawElementsEXT := SDL_GL_GetProcAddress( 'glMultiDrawElementsEXT');
// GL_EXT_fog_coord
glFogCoordfEXT := SDL_GL_GetProcAddress( 'glFogCoordfEXT');
glFogCoordfvEXT := SDL_GL_GetProcAddress( 'glFogCoordfvEXT');
glFogCoorddEXT := SDL_GL_GetProcAddress( 'glFogCoorddEXT');
glFogCoorddvEXT := SDL_GL_GetProcAddress( 'glFogCoorddvEXT');
glFogCoordPointerEXT := SDL_GL_GetProcAddress( 'glFogCoordPointerEXT');
// GL_EXT_coordinate_frame
glTangent3bEXT := SDL_GL_GetProcAddress( 'glTangent3bEXT');
glTangent3bvEXT := SDL_GL_GetProcAddress( 'glTangent3bvEXT');
glTangent3dEXT := SDL_GL_GetProcAddress( 'glTangent3dEXT');
glTangent3dvEXT := SDL_GL_GetProcAddress( 'glTangent3dvEXT');
glTangent3fEXT := SDL_GL_GetProcAddress( 'glTangent3fEXT');
glTangent3fvEXT := SDL_GL_GetProcAddress( 'glTangent3fvEXT');
glTangent3iEXT := SDL_GL_GetProcAddress( 'glTangent3iEXT');
glTangent3ivEXT := SDL_GL_GetProcAddress( 'glTangent3ivEXT');
glTangent3sEXT := SDL_GL_GetProcAddress( 'glTangent3sEXT');
glTangent3svEXT := SDL_GL_GetProcAddress( 'glTangent3svEXT');
glBinormal3bEXT := SDL_GL_GetProcAddress( 'glBinormal3bEXT');
glBinormal3bvEXT := SDL_GL_GetProcAddress( 'glBinormal3bvEXT');
glBinormal3dEXT := SDL_GL_GetProcAddress( 'glBinormal3dEXT');
glBinormal3dvEXT := SDL_GL_GetProcAddress( 'glBinormal3dvEXT');
glBinormal3fEXT := SDL_GL_GetProcAddress( 'glBinormal3fEXT');
glBinormal3fvEXT := SDL_GL_GetProcAddress( 'glBinormal3fvEXT');
glBinormal3iEXT := SDL_GL_GetProcAddress( 'glBinormal3iEXT');
glBinormal3ivEXT := SDL_GL_GetProcAddress( 'glBinormal3ivEXT');
glBinormal3sEXT := SDL_GL_GetProcAddress( 'glBinormal3sEXT');
glBinormal3svEXT := SDL_GL_GetProcAddress( 'glBinormal3svEXT');
glTangentPointerEXT := SDL_GL_GetProcAddress( 'glTangentPointerEXT');
glBinormalPointerEXT := SDL_GL_GetProcAddress( 'glBinormalPointerEXT');
// GL_SUNX_constant_data
glFinishTextureSUNX := SDL_GL_GetProcAddress( 'glFinishTextureSUNX');
// GL_SUN_global_alpha
glGlobalAlphaFactorbSUN := SDL_GL_GetProcAddress( 'glGlobalAlphaFactorbSUN');
glGlobalAlphaFactorsSUN := SDL_GL_GetProcAddress( 'glGlobalAlphaFactorsSUN');
glGlobalAlphaFactoriSUN := SDL_GL_GetProcAddress( 'glGlobalAlphaFactoriSUN');
glGlobalAlphaFactorfSUN := SDL_GL_GetProcAddress( 'glGlobalAlphaFactorfSUN');
glGlobalAlphaFactordSUN := SDL_GL_GetProcAddress( 'glGlobalAlphaFactordSUN');
glGlobalAlphaFactorubSUN := SDL_GL_GetProcAddress( 'glGlobalAlphaFactorubSUN');
glGlobalAlphaFactorusSUN := SDL_GL_GetProcAddress( 'glGlobalAlphaFactorusSUN');
glGlobalAlphaFactoruiSUN := SDL_GL_GetProcAddress( 'glGlobalAlphaFactoruiSUN');
// GL_SUN_triangle_list
glReplacementCodeuiSUN := SDL_GL_GetProcAddress( 'glReplacementCodeuiSUN');
glReplacementCodeusSUN := SDL_GL_GetProcAddress( 'glReplacementCodeusSUN');
glReplacementCodeubSUN := SDL_GL_GetProcAddress( 'glReplacementCodeubSUN');
glReplacementCodeuivSUN := SDL_GL_GetProcAddress( 'glReplacementCodeuivSUN');
glReplacementCodeusvSUN := SDL_GL_GetProcAddress( 'glReplacementCodeusvSUN');
glReplacementCodeubvSUN := SDL_GL_GetProcAddress( 'glReplacementCodeubvSUN');
glReplacementCodePointerSUN := SDL_GL_GetProcAddress( 'glReplacementCodePointerSUN');
// GL_SUN_vertex
glColor4ubVertex2fSUN := SDL_GL_GetProcAddress( 'glColor4ubVertex2fSUN');
glColor4ubVertex2fvSUN := SDL_GL_GetProcAddress( 'glColor4ubVertex2fvSUN');
glColor4ubVertex3fSUN := SDL_GL_GetProcAddress( 'glColor4ubVertex3fSUN');
glColor4ubVertex3fvSUN := SDL_GL_GetProcAddress( 'glColor4ubVertex3fvSUN');
glColor3fVertex3fSUN := SDL_GL_GetProcAddress( 'glColor3fVertex3fSUN');
glColor3fVertex3fvSUN := SDL_GL_GetProcAddress( 'glColor3fVertex3fvSUN');
glNormal3fVertex3fSUN := SDL_GL_GetProcAddress( 'glNormal3fVertex3fSUN');
glNormal3fVertex3fvSUN := SDL_GL_GetProcAddress( 'glNormal3fVertex3fvSUN');
glColor4fNormal3fVertex3fSUN := SDL_GL_GetProcAddress( 'glColor4fNormal3fVertex3fSUN');
glColor4fNormal3fVertex3fvSUN := SDL_GL_GetProcAddress( 'glColor4fNormal3fVertex3fvSUN');
glTexCoord2fVertex3fSUN := SDL_GL_GetProcAddress( 'glTexCoord2fVertex3fSUN');
glTexCoord2fVertex3fvSUN := SDL_GL_GetProcAddress( 'glTexCoord2fVertex3fvSUN');
glTexCoord4fVertex4fSUN := SDL_GL_GetProcAddress( 'glTexCoord4fVertex4fSUN');
glTexCoord4fVertex4fvSUN := SDL_GL_GetProcAddress( 'glTexCoord4fVertex4fvSUN');
glTexCoord2fColor4ubVertex3fSUN := SDL_GL_GetProcAddress( 'glTexCoord2fColor4ubVertex3fSUN');
glTexCoord2fColor4ubVertex3fvSUN := SDL_GL_GetProcAddress( 'glTexCoord2fColor4ubVertex3fvSUN');
glTexCoord2fColor3fVertex3fSUN := SDL_GL_GetProcAddress( 'glTexCoord2fColor3fVertex3fSUN');
glTexCoord2fColor3fVertex3fvSUN := SDL_GL_GetProcAddress( 'glTexCoord2fColor3fVertex3fvSUN');
glTexCoord2fNormal3fVertex3fSUN := SDL_GL_GetProcAddress( 'glTexCoord2fNormal3fVertex3fSUN');
glTexCoord2fNormal3fVertex3fvSUN := SDL_GL_GetProcAddress( 'glTexCoord2fNormal3fVertex3fvSUN');
glTexCoord2fColor4fNormal3fVertex3fSUN := SDL_GL_GetProcAddress( 'glTexCoord2fColor4fNormal3fVertex3fSUN');
glTexCoord2fColor4fNormal3fVertex3fvSUN := SDL_GL_GetProcAddress( 'glTexCoord2fColor4fNormal3fVertex3fvSUN');
glTexCoord4fColor4fNormal3fVertex4fSUN := SDL_GL_GetProcAddress( 'glTexCoord4fColor4fNormal3fVertex4fSUN');
glTexCoord4fColor4fNormal3fVertex4fvSUN := SDL_GL_GetProcAddress( 'glTexCoord4fColor4fNormal3fVertex4fvSUN');
glReplacementCodeuiVertex3fSUN := SDL_GL_GetProcAddress( 'glReplacementCodeuiVertex3fSUN');
glReplacementCodeuiVertex3fvSUN := SDL_GL_GetProcAddress( 'glReplacementCodeuiVertex3fvSUN');
glReplacementCodeuiColor4ubVertex3fSUN := SDL_GL_GetProcAddress( 'glReplacementCodeuiColor4ubVertex3fSUN');
glReplacementCodeuiColor4ubVertex3fvSUN := SDL_GL_GetProcAddress( 'glReplacementCodeuiColor4ubVertex3fvSUN');
glReplacementCodeuiColor3fVertex3fSUN := SDL_GL_GetProcAddress( 'glReplacementCodeuiColor3fVertex3fSUN');
glReplacementCodeuiColor3fVertex3fvSUN := SDL_GL_GetProcAddress( 'glReplacementCodeuiColor3fVertex3fvSUN');
glReplacementCodeuiNormal3fVertex3fSUN := SDL_GL_GetProcAddress( 'glReplacementCodeuiNormal3fVertex3fSUN');
glReplacementCodeuiNormal3fVertex3fvSUN := SDL_GL_GetProcAddress( 'glReplacementCodeuiNormal3fVertex3fvSUN');
glReplacementCodeuiColor4fNormal3fVertex3fSUN := SDL_GL_GetProcAddress( 'glReplacementCodeuiColor4fNormal3fVertex3fSUN');
glReplacementCodeuiColor4fNormal3fVertex3fvSUN := SDL_GL_GetProcAddress( 'glReplacementCodeuiColor4fNormal3fVertex3fvSUN');
glReplacementCodeuiTexCoord2fVertex3fSUN := SDL_GL_GetProcAddress( 'glReplacementCodeuiTexCoord2fVertex3fSUN');
glReplacementCodeuiTexCoord2fVertex3fvSUN := SDL_GL_GetProcAddress( 'glReplacementCodeuiTexCoord2fVertex3fvSUN');
glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN := SDL_GL_GetProcAddress( 'glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN');
glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN := SDL_GL_GetProcAddress( 'glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN');
glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN := SDL_GL_GetProcAddress( 'glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN');
glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN := SDL_GL_GetProcAddress( 'glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN');
// GL_EXT_blend_func_separate
glBlendFuncSeparateEXT := SDL_GL_GetProcAddress( 'glBlendFuncSeparateEXT');
// GL_EXT_vertex_weighting
glVertexWeightfEXT := SDL_GL_GetProcAddress( 'glVertexWeightfEXT');
glVertexWeightfvEXT := SDL_GL_GetProcAddress( 'glVertexWeightfvEXT');
glVertexWeightPointerEXT := SDL_GL_GetProcAddress( 'glVertexWeightPointerEXT');
// GL_NV_vertex_array_range
glFlushVertexArrayRangeNV := SDL_GL_GetProcAddress( 'glFlushVertexArrayRangeNV');
glVertexArrayRangeNV := SDL_GL_GetProcAddress( 'glVertexArrayRangeNV');
wglAllocateMemoryNV := SDL_GL_GetProcAddress( 'wglAllocateMemoryNV');
wglFreeMemoryNV := SDL_GL_GetProcAddress( 'wglFreeMemoryNV');
// GL_NV_register_combiners
glCombinerParameterfvNV := SDL_GL_GetProcAddress( 'glCombinerParameterfvNV');
glCombinerParameterfNV := SDL_GL_GetProcAddress( 'glCombinerParameterfNV');
glCombinerParameterivNV := SDL_GL_GetProcAddress( 'glCombinerParameterivNV');
glCombinerParameteriNV := SDL_GL_GetProcAddress( 'glCombinerParameteriNV');
glCombinerInputNV := SDL_GL_GetProcAddress( 'glCombinerInputNV');
glCombinerOutputNV := SDL_GL_GetProcAddress( 'glCombinerOutputNV');
glFinalCombinerInputNV := SDL_GL_GetProcAddress( 'glFinalCombinerInputNV');
glGetCombinerInputParameterfvNV := SDL_GL_GetProcAddress( 'glGetCombinerInputParameterfvNV');
glGetCombinerInputParameterivNV := SDL_GL_GetProcAddress( 'glGetCombinerInputParameterivNV');
glGetCombinerOutputParameterfvNV := SDL_GL_GetProcAddress( 'glGetCombinerOutputParameterfvNV');
glGetCombinerOutputParameterivNV := SDL_GL_GetProcAddress( 'glGetCombinerOutputParameterivNV');
glGetFinalCombinerInputParameterfvNV := SDL_GL_GetProcAddress( 'glGetFinalCombinerInputParameterfvNV');
glGetFinalCombinerInputParameterivNV := SDL_GL_GetProcAddress( 'glGetFinalCombinerInputParameterivNV');
// GL_MESA_resize_buffers
glResizeBuffersMESA := SDL_GL_GetProcAddress( 'glResizeBuffersMESA');
// GL_MESA_window_pos
glWindowPos2dMESA := SDL_GL_GetProcAddress( 'glWindowPos2dMESA');
glWindowPos2dvMESA := SDL_GL_GetProcAddress( 'glWindowPos2dvMESA');
glWindowPos2fMESA := SDL_GL_GetProcAddress( 'glWindowPos2fMESA');
glWindowPos2fvMESA := SDL_GL_GetProcAddress( 'glWindowPos2fvMESA');
glWindowPos2iMESA := SDL_GL_GetProcAddress( 'glWindowPos2iMESA');
glWindowPos2ivMESA := SDL_GL_GetProcAddress( 'glWindowPos2ivMESA');
glWindowPos2sMESA := SDL_GL_GetProcAddress( 'glWindowPos2sMESA');
glWindowPos2svMESA := SDL_GL_GetProcAddress( 'glWindowPos2svMESA');
glWindowPos3dMESA := SDL_GL_GetProcAddress( 'glWindowPos3dMESA');
glWindowPos3dvMESA := SDL_GL_GetProcAddress( 'glWindowPos3dvMESA');
glWindowPos3fMESA := SDL_GL_GetProcAddress( 'glWindowPos3fMESA');
glWindowPos3fvMESA := SDL_GL_GetProcAddress( 'glWindowPos3fvMESA');
glWindowPos3iMESA := SDL_GL_GetProcAddress( 'glWindowPos3iMESA');
glWindowPos3ivMESA := SDL_GL_GetProcAddress( 'glWindowPos3ivMESA');
glWindowPos3sMESA := SDL_GL_GetProcAddress( 'glWindowPos3sMESA');
glWindowPos3svMESA := SDL_GL_GetProcAddress( 'glWindowPos3svMESA');
glWindowPos4dMESA := SDL_GL_GetProcAddress( 'glWindowPos4dMESA');
glWindowPos4dvMESA := SDL_GL_GetProcAddress( 'glWindowPos4dvMESA');
glWindowPos4fMESA := SDL_GL_GetProcAddress( 'glWindowPos4fMESA');
glWindowPos4fvMESA := SDL_GL_GetProcAddress( 'glWindowPos4fvMESA');
glWindowPos4iMESA := SDL_GL_GetProcAddress( 'glWindowPos4iMESA');
glWindowPos4ivMESA := SDL_GL_GetProcAddress( 'glWindowPos4ivMESA');
glWindowPos4sMESA := SDL_GL_GetProcAddress( 'glWindowPos4sMESA');
glWindowPos4svMESA := SDL_GL_GetProcAddress( 'glWindowPos4svMESA');
// GL_IBM_multimode_draw_arrays
glMultiModeDrawArraysIBM := SDL_GL_GetProcAddress( 'glMultiModeDrawArraysIBM');
glMultiModeDrawElementsIBM := SDL_GL_GetProcAddress( 'glMultiModeDrawElementsIBM');
// GL_IBM_vertex_array_lists
glColorPointerListIBM := SDL_GL_GetProcAddress( 'glColorPointerListIBM');
glSecondaryColorPointerListIBM := SDL_GL_GetProcAddress( 'glSecondaryColorPointerListIBM');
glEdgeFlagPointerListIBM := SDL_GL_GetProcAddress( 'glEdgeFlagPointerListIBM');
glFogCoordPointerListIBM := SDL_GL_GetProcAddress( 'glFogCoordPointerListIBM');
glIndexPointerListIBM := SDL_GL_GetProcAddress( 'glIndexPointerListIBM');
glNormalPointerListIBM := SDL_GL_GetProcAddress( 'glNormalPointerListIBM');
glTexCoordPointerListIBM := SDL_GL_GetProcAddress( 'glTexCoordPointerListIBM');
glVertexPointerListIBM := SDL_GL_GetProcAddress( 'glVertexPointerListIBM');
// GL_3DFX_tbuffer
glTbufferMask3DFX := SDL_GL_GetProcAddress( 'glTbufferMask3DFX');
// GL_EXT_multisample
glSampleMaskEXT := SDL_GL_GetProcAddress( 'glSampleMaskEXT');
glSamplePatternEXT := SDL_GL_GetProcAddress( 'glSamplePatternEXT');
// GL_SGIS_texture_color_mask
glTextureColorMaskSGIS := SDL_GL_GetProcAddress( 'glTextureColorMaskSGIS');
// GL_SGIX_igloo_interface
glIglooInterfaceSGIX := SDL_GL_GetProcAddress( 'glIglooInterfaceSGIX');
// GLU extensions
gluNurbsCallbackDataEXT := SDL_GL_GetProcAddress( 'gluNurbsCallbackDataEXT');
gluNewNurbsTessellatorEXT := SDL_GL_GetProcAddress( 'gluNewNurbsTessellatorEXT');
gluDeleteNurbsTessellatorEXT := SDL_GL_GetProcAddress( 'gluDeleteNurbsTessellatorEXT');
// GL_NV_vertex_program
glAreProgramsResidentNV := SDL_GL_GetProcAddress( 'glAreProgramsResidentNV');
glBindProgramNV := SDL_GL_GetProcAddress( 'glBindProgramNV');
glDeleteProgramsNV := SDL_GL_GetProcAddress( 'glDeleteProgramsNV');
glExecuteProgramNV := SDL_GL_GetProcAddress( 'glExecuteProgramNV');
glGenProgramsNV := SDL_GL_GetProcAddress( 'glGenProgramsNV');
glGetProgramParameterdvNV := SDL_GL_GetProcAddress( 'glGetProgramParameterdvNV');
glGetProgramParameterfvNV := SDL_GL_GetProcAddress( 'glGetProgramParameterfvNV');
glGetProgramivNV := SDL_GL_GetProcAddress( 'glGetProgramivNV');
glGetProgramStringNV := SDL_GL_GetProcAddress( 'glGetProgramStringNV');
glGetTrackMatrixivNV := SDL_GL_GetProcAddress( 'glGetTrackMatrixivNV');
glGetVertexAttribdvNV:= SDL_GL_GetProcAddress( 'glGetVertexAttribdvNV');
glGetVertexAttribfvNV:= SDL_GL_GetProcAddress( 'glGetVertexAttribfvNV');
glGetVertexAttribivNV:= SDL_GL_GetProcAddress( 'glGetVertexAttribivNV');
glGetVertexAttribPointervNV := wglGetProcAddress ('glGetVertexAttribPointervNV');
glIsProgramNV := SDL_GL_GetProcAddress( 'glIsProgramNV');
glLoadProgramNV := SDL_GL_GetProcAddress( 'glLoadProgramNV');
glProgramParameter4dNV := SDL_GL_GetProcAddress( 'glProgramParameter4dNV');
glProgramParameter4dvNV := SDL_GL_GetProcAddress( 'glProgramParameter4dvNV');
glProgramParameter4fNV := SDL_GL_GetProcAddress( 'glProgramParameter4fNV');
glProgramParameter4fvNV := SDL_GL_GetProcAddress( 'glProgramParameter4fvNV');
glProgramParameters4dvNV := wglGetProcAddress ('glProgramParameters4dvNV');
glProgramParameters4fvNV := wglGetProcAddress ('glProgramParameters4fvNV');
glRequestResidentProgramsNV := wglGetProcAddress ('glRequestResidentProgramsNV');
glTrackMatrixNV := SDL_GL_GetProcAddress( 'glTrackMatrixNV');
glVertexAttribPointerNV := SDL_GL_GetProcAddress( 'glVertexAttribPointerNV');
glVertexAttrib1dNV := SDL_GL_GetProcAddress( 'glVertexAttrib1dNV');
glVertexAttrib1dvNV := SDL_GL_GetProcAddress( 'glVertexAttrib1dvNV');
glVertexAttrib1fNV := SDL_GL_GetProcAddress( 'glVertexAttrib1fNV');
glVertexAttrib1fvNV := SDL_GL_GetProcAddress( 'glVertexAttrib1fvNV');
glVertexAttrib1sNV := SDL_GL_GetProcAddress( 'glVertexAttrib1sNV');
glVertexAttrib1svNV := SDL_GL_GetProcAddress( 'glVertexAttrib1svNV');
glVertexAttrib2dNV := SDL_GL_GetProcAddress( 'glVertexAttrib2dNV');
glVertexAttrib2dvNV := SDL_GL_GetProcAddress( 'glVertexAttrib2dvNV');
glVertexAttrib2fNV := SDL_GL_GetProcAddress( 'glVertexAttrib2fNV');
glVertexAttrib2fvNV := SDL_GL_GetProcAddress( 'glVertexAttrib2fvNV');
glVertexAttrib2sNV := SDL_GL_GetProcAddress( 'glVertexAttrib2sNV');
glVertexAttrib2svNV := SDL_GL_GetProcAddress( 'glVertexAttrib2svNV');
glVertexAttrib3dNV := SDL_GL_GetProcAddress( 'glVertexAttrib3dNV');
glVertexAttrib3dvNV := SDL_GL_GetProcAddress( 'glVertexAttrib3dvNV');
glVertexAttrib3fNV := SDL_GL_GetProcAddress( 'glVertexAttrib3fNV');
glVertexAttrib3fvNV := SDL_GL_GetProcAddress( 'glVertexAttrib3fvNV');
glVertexAttrib3sNV := SDL_GL_GetProcAddress( 'glVertexAttrib3sNV');
glVertexAttrib3svNV := SDL_GL_GetProcAddress( 'glVertexAttrib3svNV');
glVertexAttrib4dNV := SDL_GL_GetProcAddress( 'glVertexAttrib4dNV');
glVertexAttrib4dvNV := SDL_GL_GetProcAddress( 'glVertexAttrib4dvNV');
glVertexAttrib4fNV := SDL_GL_GetProcAddress( 'glVertexAttrib4fNV');
glVertexAttrib4fvNV := SDL_GL_GetProcAddress( 'glVertexAttrib4fvNV');
glVertexAttrib4sNV := SDL_GL_GetProcAddress( 'glVertexAttrib4sNV');
glVertexAttrib4svNV := SDL_GL_GetProcAddress( 'glVertexAttrib4svNV');
glVertexAttrib4ubvNV := SDL_GL_GetProcAddress( 'glVertexAttrib4ubvNV');
glVertexAttribs1dvNV := SDL_GL_GetProcAddress( 'glVertexAttribs1dvNV');
glVertexAttribs1fvNV := SDL_GL_GetProcAddress( 'glVertexAttribs1fvNV');
glVertexAttribs1svNV := SDL_GL_GetProcAddress( 'glVertexAttribs1svNV');
glVertexAttribs2dvNV := SDL_GL_GetProcAddress( 'glVertexAttribs2dvNV');
glVertexAttribs2fvNV := SDL_GL_GetProcAddress( 'glVertexAttribs2fvNV');
glVertexAttribs2svNV := SDL_GL_GetProcAddress( 'glVertexAttribs2svNV');
glVertexAttribs3dvNV := SDL_GL_GetProcAddress( 'glVertexAttribs3dvNV');
glVertexAttribs3fvNV := SDL_GL_GetProcAddress( 'glVertexAttribs3fvNV');
glVertexAttribs3svNV := SDL_GL_GetProcAddress( 'glVertexAttribs3svNV');
glVertexAttribs4dvNV := SDL_GL_GetProcAddress( 'glVertexAttribs4dvNV');
glVertexAttribs4fvNV := SDL_GL_GetProcAddress( 'glVertexAttribs4fvNV');
glVertexAttribs4svNV := SDL_GL_GetProcAddress( 'glVertexAttribs4svNV');
glVertexAttribs4ubvNV := SDL_GL_GetProcAddress( 'glVertexAttribs4ubvN');
// ARB wgl extensions
wglGetExtensionsStringARB := SDL_GL_GetProcAddress( 'wglGetExtensionsStringARB');
wglGetPixelFormatAttribivARB := SDL_GL_GetProcAddress( 'wglGetPixelFormatAttribivARB');
wglGetPixelFormatAttribfvARB := SDL_GL_GetProcAddress( 'wglGetPixelFormatAttribfvARB');
wglChoosePixelFormatARB := SDL_GL_GetProcAddress( 'wglChoosePixelFormatARB');
// To get synchronized again, if this proc was called externally.
LastPixelFormat := 0;
end;
end;
//----------------------------------------------------------------------------------------------------------------------
procedure TrimAndSplitVersionString(Buffer: String; var Max, Min: Integer);
// Peels out the X.Y form from the given Buffer which must contain a version string like "text Minor.Major.Build text"
// at least however "Major.Minor".
var
Separator: Integer;
begin
try
// There must be at least one dot to separate major and minor version number.
Separator := Pos('.', Buffer);
// At least one number must be before and one after the dot.
if (Separator > 1) and (Separator < Length(Buffer)) and (Buffer[Separator - 1] in ['0'..'9']) and
(Buffer[Separator + 1] in ['0'..'9']) then
begin
// OK, it's a valid version string. Now remove unnecessary parts.
Dec(Separator);
// Find last non-numeric character before version number.
while (Separator > 0) and (Buffer[Separator] in ['0'..'9']) do
Dec(Separator);
// Delete leading characters which do not belong to the version string.
Delete(Buffer, 1, Separator);
Separator := Pos('.', Buffer) + 1;
// Find first non-numeric character after version number
while (Separator <= Length(Buffer)) and (Buffer[Separator] in ['0'..'9']) do
Inc(Separator);
// delete trailing characters not belonging to the version string
Delete(Buffer, Separator, 255);
// Now translate the numbers.
Separator := Pos('.', Buffer); // This is necessary because the buffer length might have changed.
Max := StrToInt(Copy(Buffer, 1, Separator - 1));
Min := StrToInt(Copy(Buffer, Separator + 1, 255));
end
else
Abort;
except
Min := 0;
Max := 0;
end;
end;
//----------------------------------------------------------------------------------------------------------------------
procedure ReadImplementationProperties;
var
Buffer: string;
MajorVersion,
MinorVersion: Integer;
//--------------- local function --------------------------------------------
function CheckExtension(const Extension: string): Boolean;
// Checks if the given Extension string is in Buffer.
var
ExtPos: Integer;
begin
// First find the position of the extension string as substring in Buffer.
ExtPos := Pos(Extension, Buffer);
Result := ExtPos > 0;
// Now check that it isn't only a substring of another extension.
if Result then
Result := ((ExtPos + Length(Extension) - 1) = Length(Buffer)) or
not (Buffer[ExtPos + Length(Extension)] in ['_', 'A'..'Z', 'a'..'z']);
end;
//--------------- end local function ----------------------------------------
begin
// determine version of implementation
// GL
Buffer := glGetString(GL_VERSION);
TrimAndSplitVersionString(Buffer, Majorversion, MinorVersion);
GL_VERSION_1_0 := True;
GL_VERSION_1_1 := False;
GL_VERSION_1_2 := False;
if MajorVersion > 0 then
begin
if MinorVersion > 0 then
begin
GL_VERSION_1_1 := True;
if MinorVersion > 1 then
GL_VERSION_1_2 := True;
end;
end;
// GLU
GLU_VERSION_1_1 := False;
GLU_VERSION_1_2 := False;
GLU_VERSION_1_3 := False;
// gluGetString is valid for version 1.1 or later
if Assigned(gluGetString) then
begin
Buffer := gluGetString(GLU_VERSION);
TrimAndSplitVersionString(Buffer, Majorversion, MinorVersion);
GLU_VERSION_1_1 := True;
if MinorVersion > 1 then
begin
GLU_VERSION_1_2 := True;
if MinorVersion > 2 then
GLU_VERSION_1_3 := True;
end;
end;
// check supported extensions
// GL
Buffer := glGetString(GL_EXTENSIONS);
GL_3DFX_multisample :=CheckExtension('GL_3DFX_multisample');
GL_3DFX_tbuffer := CheckExtension('GL_3DFX_tbuffer');
GL_3DFX_texture_compression_FXT1 := CheckExtension('GL_3DFX_texture_compression_FXT1');
GL_APPLE_specular_vector := CheckExtension('GL_APPLE_specular_vector');
GL_APPLE_transform_hint := CheckExtension('GL_APPLE_transform_hint');
GL_ARB_imaging := CheckExtension('GL_ARB_imaging');
GL_ARB_multisample := CheckExtension('GL_ARB_multisample');
GL_ARB_multitexture := CheckExtension('GL_ARB_multitexture');
GL_ARB_texture_compression := CheckExtension('GL_ARB_texture_compression');
GL_ARB_texture_cube_map := CheckExtension('GL_ARB_texture_cube_map');
GL_ARB_transpose_matrix := CheckExtension('GL_ARB_transpose_matrix');
GL_ARB_vertex_blend := CheckExtension('GL_ARB_vertex_blend');
GL_EXT_422_pixels := CheckExtension('GL_EXT_422_pixels');
GL_EXT_abgr := CheckExtension('GL_EXT_abgr');
GL_EXT_bgra := CheckExtension('GL_EXT_bgra');
GL_EXT_blend_color := CheckExtension('GL_EXT_blend_color');
GL_EXT_blend_func_separate := CheckExtension('GL_EXT_blend_func_separate');
GL_EXT_blend_logic_op := CheckExtension('GL_EXT_blend_logic_op');
GL_EXT_blend_minmax := CheckExtension('GL_EXT_blend_minmax');
GL_EXT_blend_subtract := CheckExtension('GL_EXT_blend_subtract');
GL_EXT_clip_volume_hint := CheckExtension('GL_EXT_clip_volume_hint');
GL_EXT_cmyka := CheckExtension('GL_EXT_cmyka');
GL_EXT_color_subtable := CheckExtension('GL_EXT_color_subtable');
GL_EXT_compiled_vertex_array := CheckExtension('GL_EXT_compiled_vertex_array');
GL_EXT_convolution := CheckExtension('GL_EXT_convolution');
GL_EXT_coordinate_frame := CheckExtension('GL_EXT_coordinate_frame');
GL_EXT_copy_texture := CheckExtension('GL_EXT_copy_texture');
GL_EXT_cull_vertex := CheckExtension('GL_EXT_cull_vertex');
GL_EXT_draw_range_elements := CheckExtension('GL_EXT_draw_range_elements');
GL_EXT_fog_coord := CheckExtension('GL_EXT_fog_coord');
GL_EXT_histogram := CheckExtension('GL_EXT_histogram');
GL_EXT_index_array_formats := CheckExtension('GL_EXT_index_array_formats');
GL_EXT_index_func := CheckExtension('GL_EXT_index_func');
GL_EXT_index_material := CheckExtension('GL_EXT_index_material');
GL_EXT_index_texture := CheckExtension('GL_EXT_index_texture');
GL_EXT_light_max_exponent := CheckExtension('GL_EXT_light_max_exponent');
GL_EXT_light_texture := CheckExtension('GL_EXT_light_texture');
GL_EXT_misc_attribute := CheckExtension('GL_EXT_misc_attribute');
GL_EXT_multi_draw_arrays := CheckExtension('GL_EXT_multi_draw_arrays');
GL_EXT_multisample := CheckExtension('GL_EXT_multisample');
GL_EXT_packed_pixels := CheckExtension('GL_EXT_packed_pixels');
GL_EXT_paletted_texture := CheckExtension('GL_EXT_paletted_texture');
GL_EXT_pixel_transform := CheckExtension('GL_EXT_pixel_transform');
GL_EXT_point_parameters := CheckExtension('GL_EXT_point_parameters');
GL_EXT_polygon_offset := CheckExtension('GL_EXT_polygon_offset');
GL_EXT_rescale_normal := CheckExtension('GL_EXT_rescale_normal');
GL_EXT_scene_marker := CheckExtension('GL_EXT_scene_marker');
GL_EXT_secondary_color := CheckExtension('GL_EXT_secondary_color');
GL_EXT_separate_specular_color := CheckExtension('GL_EXT_separate_specular_color');
GL_EXT_shared_texture_palette := CheckExtension('GL_EXT_shared_texture_palette');
GL_EXT_stencil_wrap := CheckExtension('GL_EXT_stencil_wrap');
GL_EXT_subtexture := CheckExtension('GL_EXT_subtexture');
GL_EXT_texture_color_table := CheckExtension('GL_EXT_texture_color_table');
GL_EXT_texture_compression_s3tc := CheckExtension('GL_EXT_texture_compression_s3tc');
GL_EXT_texture_cube_map := CheckExtension('GL_EXT_texture_cube_map');
GL_EXT_texture_edge_clamp := CheckExtension('GL_EXT_texture_edge_clamp');
GL_EXT_texture_env_add := CheckExtension('GL_EXT_texture_env_add');
GL_EXT_texture_env_combine := CheckExtension('GL_EXT_texture_env_combine');
GL_EXT_texture_filter_anisotropic := CheckExtension('GL_EXT_texture_filter_anisotropic');
GL_EXT_texture_lod_bias := CheckExtension('GL_EXT_texture_lod_bias');
GL_EXT_texture_object := CheckExtension('GL_EXT_texture_object');
GL_EXT_texture_perturb_normal := CheckExtension('GL_EXT_texture_perturb_normal');
GL_EXT_texture3D := CheckExtension('GL_EXT_texture3D');
GL_EXT_vertex_array := CheckExtension('GL_EXT_vertex_array');
GL_EXT_vertex_weighting := CheckExtension('GL_EXT_vertex_weighting');
GL_FfdMaskSGIX := CheckExtension('GL_FfdMaskSGIX');
GL_HP_convolution_border_modes := CheckExtension('GL_HP_convolution_border_modes');
GL_HP_image_transform := CheckExtension('GL_HP_image_transform');
GL_HP_occlusion_test := CheckExtension('GL_HP_occlusion_test');
GL_HP_texture_lighting := CheckExtension('GL_HP_texture_lighting');
GL_IBM_cull_vertex := CheckExtension('GL_IBM_cull_vertex');
GL_IBM_multimode_draw_arrays := CheckExtension('GL_IBM_multimode_draw_arrays');
GL_IBM_rasterpos_clip := CheckExtension('GL_IBM_rasterpos_clip');
GL_IBM_vertex_array_lists := CheckExtension('GL_IBM_vertex_array_lists');
GL_INGR_color_clamp := CheckExtension('GL_INGR_color_clamp');
GL_INGR_interlace_read := CheckExtension('GL_INGR_interlace_read');
GL_INTEL_parallel_arrays := CheckExtension('GL_INTEL_parallel_arrays');
GL_KTX_buffer_region := CheckExtension('GL_KTX_buffer_region');
GL_MESA_resize_buffers := CheckExtension('GL_MESA_resize_buffers');
GL_MESA_window_pos := CheckExtension('GL_MESA_window_pos');
GL_NV_blend_square := CheckExtension('GL_NV_blend_square');
GL_NV_fog_distance := CheckExtension('GL_NV_fog_distance');
GL_NV_light_max_exponent := CheckExtension('GL_NV_light_max_exponent');
GL_NV_register_combiners := CheckExtension('GL_NV_register_combiners');
GL_NV_texgen_emboss := CheckExtension('GL_NV_texgen_emboss');
GL_NV_texgen_reflection := CheckExtension('GL_NV_texgen_reflection');
GL_NV_texture_env_combine4 := CheckExtension('GL_NV_texture_env_combine4');
GL_NV_vertex_array_range := CheckExtension('GL_NV_vertex_array_range');
GL_NV_vertex_program := CheckExtension('GL_NV_vertex_program');
GL_PGI_misc_hints := CheckExtension('GL_PGI_misc_hints');
GL_PGI_vertex_hints := CheckExtension('GL_PGI_vertex_hints');
GL_REND_screen_coordinates := CheckExtension('GL_REND_screen_coordinates');
GL_SGI_color_matrix := CheckExtension('GL_SGI_color_matrix');
GL_SGI_color_table := CheckExtension('GL_SGI_color_table');
GL_SGI_depth_pass_instrument := CheckExtension('GL_SGI_depth_pass_instrument');
GL_SGIS_detail_texture := CheckExtension('GL_SGIS_detail_texture');
GL_SGIS_fog_function := CheckExtension('GL_SGIS_fog_function');
GL_SGIS_generate_mipmap := CheckExtension('GL_SGIS_generate_mipmap');
GL_SGIS_multisample := CheckExtension('GL_SGIS_multisample');
GL_SGIS_multitexture := CheckExtension('GL_SGIS_multitexture');
GL_SGIS_pixel_texture := CheckExtension('GL_SGIS_pixel_texture');
GL_SGIS_point_line_texgen := CheckExtension('GL_SGIS_point_line_texgen');
GL_SGIS_point_parameters := CheckExtension('GL_SGIS_point_parameters');
GL_SGIS_sharpen_texture := CheckExtension('GL_SGIS_sharpen_texture');
GL_SGIS_texture_border_clamp := CheckExtension('GL_SGIS_texture_border_clamp');
GL_SGIS_texture_color_mask := CheckExtension('GL_SGIS_texture_color_mask');
GL_SGIS_texture_edge_clamp := CheckExtension('GL_SGIS_texture_edge_clamp');
GL_SGIS_texture_filter4 := CheckExtension('GL_SGIS_texture_filter4');
GL_SGIS_texture_lod := CheckExtension('GL_SGIS_texture_lod');
GL_SGIS_texture_select := CheckExtension('GL_SGIS_texture_select');
GL_SGIS_texture4D := CheckExtension('GL_SGIS_texture4D');
GL_SGIX_async := CheckExtension('GL_SGIX_async');
GL_SGIX_async_histogram := CheckExtension('GL_SGIX_async_histogram');
GL_SGIX_async_pixel := CheckExtension('GL_SGIX_async_pixel');
GL_SGIX_blend_alpha_minmax := CheckExtension('GL_SGIX_blend_alpha_minmax');
GL_SGIX_calligraphic_fragment := CheckExtension('GL_SGIX_calligraphic_fragment');
GL_SGIX_clipmap := CheckExtension('GL_SGIX_clipmap');
GL_SGIX_convolution_accuracy := CheckExtension('GL_SGIX_convolution_accuracy');
GL_SGIX_depth_texture := CheckExtension('GL_SGIX_depth_texture');
GL_SGIX_flush_raster := CheckExtension('GL_SGIX_flush_raster');
GL_SGIX_fog_offset := CheckExtension('GL_SGIX_fog_offset');
GL_SGIX_fog_scale := CheckExtension('GL_SGIX_fog_scale');
GL_SGIX_fragment_lighting := CheckExtension('GL_SGIX_fragment_lighting');
GL_SGIX_framezoom := CheckExtension('GL_SGIX_framezoom');
GL_SGIX_igloo_interface := CheckExtension('GL_SGIX_igloo_interface');
GL_SGIX_instruments := CheckExtension('GL_SGIX_instruments');
GL_SGIX_interlace := CheckExtension('GL_SGIX_interlace');
GL_SGIX_ir_instrument1 := CheckExtension('GL_SGIX_ir_instrument1');
GL_SGIX_list_priority := CheckExtension('GL_SGIX_list_priority');
GL_SGIX_pixel_texture := CheckExtension('GL_SGIX_pixel_texture');
GL_SGIX_pixel_tiles := CheckExtension('GL_SGIX_pixel_tiles');
GL_SGIX_polynomial_ffd := CheckExtension('GL_SGIX_polynomial_ffd');
GL_SGIX_reference_plane := CheckExtension('GL_SGIX_reference_plane');
GL_SGIX_resample := CheckExtension('GL_SGIX_resample');
GL_SGIX_shadow := CheckExtension('GL_SGIX_shadow');
GL_SGIX_shadow_ambient := CheckExtension('GL_SGIX_shadow_ambient');
GL_SGIX_sprite := CheckExtension('GL_SGIX_sprite');
GL_SGIX_subsample := CheckExtension('GL_SGIX_subsample');
GL_SGIX_tag_sample_buffer := CheckExtension('GL_SGIX_tag_sample_buffer');
GL_SGIX_texture_add_env := CheckExtension('GL_SGIX_texture_add_env');
GL_SGIX_texture_lod_bias := CheckExtension('GL_SGIX_texture_lod_bias');
GL_SGIX_texture_multi_buffer := CheckExtension('GL_SGIX_texture_multi_buffer');
GL_SGIX_texture_scale_bias := CheckExtension('GL_SGIX_texture_scale_bias');
GL_SGIX_vertex_preclip := CheckExtension('GL_SGIX_vertex_preclip');
GL_SGIX_ycrcb := CheckExtension('GL_SGIX_ycrcb');
GL_SGIX_ycrcba := CheckExtension('GL_SGIX_ycrcba');
GL_SUN_convolution_border_modes := CheckExtension('GL_SUN_convolution_border_modes');
GL_SUN_global_alpha := CheckExtension('GL_SUN_global_alpha');
GL_SUN_triangle_list := CheckExtension('GL_SUN_triangle_list');
GL_SUN_vertex := CheckExtension('GL_SUN_vertex');
GL_SUNX_constant_data := CheckExtension('GL_SUNX_constant_data');
GL_WIN_phong_shading := CheckExtension('GL_WIN_phong_shading');
GL_WIN_specular_fog := CheckExtension('GL_WIN_specular_fog');
GL_WIN_swap_hint := CheckExtension('GL_WIN_swap_hint');
WGL_EXT_swap_control := CheckExtension('WGL_EXT_swap_control');
WGL_ARB_extensions_string := CheckExtension('WGL_ARB_extensions_string');
WGL_ARB_pixel_format := CheckExtension('WGL_ARB_pixel_format');
// GLU
Buffer := gluGetString(GLU_EXTENSIONS);
GLU_EXT_TEXTURE := CheckExtension('GLU_EXT_TEXTURE');
GLU_EXT_object_space_tess := CheckExtension('GLU_EXT_object_space_tess');
GLU_EXT_nurbs_tessellator := CheckExtension('GLU_EXT_nurbs_tessellator');
// ARB wgl extensions
if Assigned(wglGetExtensionsStringARB) then
begin
Buffer := wglGetExtensionsStringARB(wglGetCurrentDC);
WGL_ARB_extensions_string := CheckExtension('WGL_ARB_extensions_string');
WGL_ARB_pixel_format := CheckExtension('WGL_ARB_pixel_format');
end
else
begin
WGL_ARB_extensions_string := False;
WGL_ARB_pixel_format := False;
end;
end;
//----------------------------------------------------------------------------------------------------------------------
function SetupPalette(DC: HDC; PFD: TPixelFormatDescriptor): HPalette;
var
nColors,
I: Integer;
LogPalette: TMaxLogPalette;
RedMask,
GreenMask,
BlueMask: Byte;
begin
nColors := 1 shl Pfd.cColorBits;
LogPalette.palVersion := $300;
LogPalette.palNumEntries := nColors;
RedMask := (1 shl Pfd.cRedBits ) - 1;
GreenMask := (1 shl Pfd.cGreenBits) - 1;
BlueMask := (1 shl Pfd.cBlueBits ) - 1;
with LogPalette, PFD do
for I := 0 to nColors - 1 do
begin
palPalEntry[I].peRed := (((I shr cRedShift ) and RedMask ) * 255) div RedMask;
palPalEntry[I].peGreen := (((I shr cGreenShift) and GreenMask) * 255) div GreenMask;
palPalEntry[I].peBlue := (((I shr cBlueShift ) and BlueMask ) * 255) div BlueMask;
palPalEntry[I].peFlags := 0;
end;
Result := CreatePalette(PLogPalette(@LogPalette)^);
if Result <> 0 then
begin
SelectPalette(DC, Result, False);
RealizePalette(DC);
end
else
RaiseLastOSError;
end;
//----------------------------------------------------------------------------------------------------------------------
function CreateRenderingContext(DC: HDC; Options: TRCOptions; ColorBits, StencilBits, AccumBits, AuxBuffers: Integer;
Layer: Integer; var Palette: HPALETTE): HGLRC;
// Set the OpenGL properties required to draw to the given canvas and create a rendering context for it.
const
MemoryDCs = [OBJ_MEMDC, OBJ_METADC, OBJ_ENHMETADC];
var
PFDescriptor: TPixelFormatDescriptor;
PixelFormat: Integer;
AType: DWORD;
begin
FillChar(PFDescriptor, SizeOf(PFDescriptor), 0);
with PFDescriptor do
begin
nSize := SizeOf(PFDescriptor);
nVersion := 1;
dwFlags := PFD_SUPPORT_OPENGL;
AType := GetObjectType(DC);
if AType = 0 then
RaiseLastOSError;
if AType in MemoryDCs then
dwFlags := dwFlags or PFD_DRAW_TO_BITMAP
else
dwFlags := dwFlags or PFD_DRAW_TO_WINDOW;
if opDoubleBuffered in Options then
dwFlags := dwFlags or PFD_DOUBLEBUFFER;
if opGDI in Options then
dwFlags := dwFlags or PFD_SUPPORT_GDI;
if opStereo in Options then
dwFlags := dwFlags or PFD_STEREO;
iPixelType := PFD_TYPE_RGBA;
cColorBits := ColorBits;
cDepthBits := 32;
cStencilBits := StencilBits;
cAccumBits := AccumBits;
cAuxBuffers := AuxBuffers;
if Layer = 0 then
iLayerType := PFD_MAIN_PLANE
else
if Layer > 0 then
iLayerType := PFD_OVERLAY_PLANE
else
iLayerType := Byte(PFD_UNDERLAY_PLANE);
end;
// Just in case it didn't happen already.
if not InitOpenGL then
RaiseLastOSError;
PixelFormat := ChoosePixelFormat(DC, {$ifndef FPC}@{$endif}PFDescriptor);
if PixelFormat = 0 then
RaiseLastOSError;
// NOTE: It is not allowed to change a pixel format of a device context once it has been set.
// Hence you may create more than one rendering context for one single device only if it
// uses the same pixel format as the first created RC.
if GetPixelFormat(DC) <> PixelFormat then
begin
if not SetPixelFormat(DC, PixelFormat, @PFDescriptor) then
RaiseLastOSError;
end;
// Check the properties we just set.
DescribePixelFormat(DC, PixelFormat, SizeOf(PFDescriptor), PFDescriptor);
with PFDescriptor do
if (dwFlags and PFD_NEED_PALETTE) <> 0 then
Palette := SetupPalette(DC, PFDescriptor)
else
Palette := 0;
Result := wglCreateLayerContext(DC, Layer);
if Result = 0 then
RaiseLastOSError
else
LastPixelFormat := 0;
end;
//----------------------------------------------------------------------------------------------------------------------
procedure ActivateRenderingContext(DC: HDC; RC: HGLRC);
var
PixelFormat: Integer;
begin
Assert((DC <> 0), 'DC must not be 0');
Assert((RC <> 0), 'RC must not be 0');
if ActivationRefCount = 0 then
begin
// Before activating the rendering context check if it is not already used by another thread.
with ContextList.LockList do
try
if IndexOf(Pointer(RC)) = -1 then
begin
if wglMakeCurrent(DC, RC) then
Add(Pointer(RC))
else
ShowError(SMakeCurrentFailed);
end
else
ShowError(SRCAlreadyActive)
finally
ContextList.UnlockList;
end;
Inc(ActivationRefCount);
// The extension function addresses are unique for each pixel format. All rendering
// contexts of a given pixel format share the same extension function addresses.
PixelFormat := GetPixelFormat(DC);
if PixelFormat <> LastPixelFormat then
begin
ReadExtensions;
ReadImplementationProperties;
LastPixelFormat := PixelFormat;
end;
end
else
begin
Assert((wglGetCurrentDC = DC) and (wglGetCurrentContext = RC), 'Incoherent DC/RC pair.');
Inc(ActivationRefCount);
end;
end;
//----------------------------------------------------------------------------------------------------------------------
procedure DeactivateRenderingContext;
begin
Assert(ActivationRefCount > 0, 'Unbalanced deactivation.');
if ActivationRefCount > 0 then
begin
Dec(ActivationRefCount);
if ActivationRefCount = 0 then
begin
// If the rendering context is no longer used then remove it from the context list to indicate
// it can now be used in any thread.
with ContextList.LockList do
try
Remove(Pointer(wglGetCurrentContext));
if not wglMakeCurrent(0, 0) then
ShowError(SMakeCurrentFailed);
finally
ContextList.UnlockList;
end;
end;
end;
end;
//----------------------------------------------------------------------------------------------------------------------
procedure DestroyRenderingContext(RC: HGLRC);
// Used to destroy the given rendering context. Only contexts which are no longer in use by any thread can be deleted.
begin
Assert((ActivationRefCount = 0), 'Active contexts cannot be deleted.');
with ContextList.LockList do
try
if not wglDeleteContext(RC) then
ShowError(SDeleteContextFailed);
if IndexOf(Pointer(RC)) > -1 then
ShowError(SContextInUse);
finally
ContextList.UnlockList;
end;
end;
//----------------------------------------------------------------------------------------------------------------------
function CurrentDC: HDC;
// Returns the device context which is used for the current rendering context of the caller thread.
begin
Result := wglGetCurrentDC;
end;
{$endif}
//----------------------------------------------------------------------------------------------------------------------
procedure CloseOpenGL;
begin
if GLHandle <> INVALID_MODULEHANDLE then
begin
UnloadModule( GLHandle );
GLHandle := INVALID_MODULEHANDLE;
end;
if GLUHandle <> INVALID_MODULEHANDLE then
begin
UnloadModule( GLUHandle );
GLUHandle := INVALID_MODULEHANDLE;
end;
ClearProcAddresses;
ClearExtensions;
end;
//----------------------------------------------------------------------------------------------------------------------
function InitOpenGL: Boolean;
begin
if (GLHandle = INVALID_MODULEHANDLE) or (GLUHandle = INVALID_MODULEHANDLE) then
Result := InitOpenGLFromLibrary(PChar( SDefaultGLLibrary ), PChar( SDefaultGLULibrary ) )
else
Result := True;
end;
//----------------------------------------------------------------------------------------------------------------------
function InitOpenGLFromLibrary(GLName, GLUName: PChar): Boolean;
begin
Result := False;
CloseOpenGL;
LoadModule( GLHandle, GLName );
LoadModule( GLUHandle, GLUName );
if (GLHandle <> INVALID_MODULEHANDLE) and (GLUHandle <> INVALID_MODULEHANDLE) then
begin
LoadProcAddresses;
Result := True;
end
else
begin
if GLHandle <> INVALID_MODULEHANDLE then
UnloadModule( GLHandle );
if GLUHandle <> INVALID_MODULEHANDLE then
UnloadModule( GLUHandle );
end;
end;
//----------------------------------------------------------------------------------------------------------------------
function IsOpenGLInitialized: Boolean;
begin
Result := GLHandle <> INVALID_MODULEHANDLE;
end;
//----------------------------------------------------------------------------------------------------------------------
procedure UnloadOpenGL;
// compatibility routine
begin
CloseOpenGL;
end;
//----------------------------------------------------------------------------------------------------------------------
function LoadOpenGL: Boolean;
// compatibility routine
begin
Result := InitOpenGL;
end;
//----------------------------------------------------------------------------------------------------------------------
function LoadOpenGLFromLibrary(GLName, GLUName: PChar): Boolean;
// compatibility routine
begin
Result := InitOpenGLFromLibrary(GLName, GLUName);
end;
//----------------------------------------------------------------------------------------------------------------------
function IsOpenGLLoaded: Boolean;
// compatibility routine
begin
Result := GLHandle <> INVALID_MODULEHANDLE;
end;
//----------------------------------------------------------------------------------------------------------------------
initialization
ContextList := TThreadList.Create;
{$IF Defined(CPU386) or Defined(CPUI386) or Defined(CPUX86_64)}
// FPC has its own implementation of Set8087CW now. The wrongly
// coded (the important asm-directives were missing so it was not of any use!!!)
// implementation was removed from this unit so it does not hide the correct FPC version anymore.
// This should fix some EDivByZero exceptions in floating-point expressions.
Set8087CW($133F);
{$IFEND}
finalization
CloseOpenGL;
ContextList.Free;
// We don't need to reset the FPU control word as the previous set call is process specific.
end.