# This is the definition file for all GL 1.0 Extensions stuff

%COPY_INTERFACE

const
  // GL_EXT_blend_minmax and GL_EXT_blend_color
  GL_CONSTANT_COLOR_EXT			= $8001;
  GL_ONE_MINUS_CONSTANT_COLOR_EXT	= $8002;
  GL_CONSTANT_ALPHA_EXT			= $8003;
  GL_ONE_MINUS_CONSTANT_ALPHA_EXT	= $8004;
  GL_BLEND_EQUATION_EXT			= $8009;
  GL_MIN_EXT				= $8007;
  GL_MAX_EXT				= $8008;
  GL_FUNC_ADD_EXT			= $8006;
  GL_FUNC_SUBTRACT_EXT			= $800A;
  GL_FUNC_REVERSE_SUBTRACT_EXT		= $800B;
  GL_BLEND_COLOR_EXT			= $8005;

  // GL_EXT_polygon_offset
  GL_POLYGON_OFFSET_EXT			= $8037;
  GL_POLYGON_OFFSET_FACTOR_EXT		= $8038;
  GL_POLYGON_OFFSET_BIAS_EXT		= $8039;

  // GL_EXT_vertex_array
  GL_VERTEX_ARRAY_EXT			= $8074;
  GL_NORMAL_ARRAY_EXT			= $8075;
  GL_COLOR_ARRAY_EXT			= $8076;
  GL_INDEX_ARRAY_EXT			= $8077;
  GL_TEXTURE_COORD_ARRAY_EXT		= $8078;
  GL_EDGE_FLAG_ARRAY_EXT		= $8079;
  GL_VERTEX_ARRAY_SIZE_EXT		= $807A;
  GL_VERTEX_ARRAY_TYPE_EXT		= $807B;
  GL_VERTEX_ARRAY_STRIDE_EXT		= $807C;
  GL_VERTEX_ARRAY_COUNT_EXT		= $807D;
  GL_NORMAL_ARRAY_TYPE_EXT		= $807E;
  GL_NORMAL_ARRAY_STRIDE_EXT		= $807F;
  GL_NORMAL_ARRAY_COUNT_EXT		= $8080;
  GL_COLOR_ARRAY_SIZE_EXT		= $8081;
  GL_COLOR_ARRAY_TYPE_EXT		= $8082;
  GL_COLOR_ARRAY_STRIDE_EXT		= $8083;
  GL_COLOR_ARRAY_COUNT_EXT		= $8084;
  GL_INDEX_ARRAY_TYPE_EXT		= $8085;
  GL_INDEX_ARRAY_STRIDE_EXT		= $8086;
  GL_INDEX_ARRAY_COUNT_EXT		= $8087;
  GL_TEXTURE_COORD_ARRAY_SIZE_EXT	= $8088;
  GL_TEXTURE_COORD_ARRAY_TYPE_EXT	= $8089;
  GL_TEXTURE_COORD_ARRAY_STRIDE_EXT	= $808A;
  GL_TEXTURE_COORD_ARRAY_COUNT_EXT	= $808B;
  GL_EDGE_FLAG_ARRAY_STRIDE_EXT		= $808C;
  GL_EDGE_FLAG_ARRAY_COUNT_EXT		= $808D;
  GL_VERTEX_ARRAY_POINTER_EXT		= $808E;
  GL_NORMAL_ARRAY_POINTER_EXT		= $808F;
  GL_COLOR_ARRAY_POINTER_EXT		= $8090;
  GL_INDEX_ARRAY_POINTER_EXT		= $8091;
  GL_TEXTURE_COORD_ARRAY_POINTER_EXT	= $8092;
  GL_EDGE_FLAG_ARRAY_POINTER_EXT	= $8093;

  // GL_EXT_texture_object
  GL_TEXTURE_PRIORITY_EXT		= $8066;
  GL_TEXTURE_RESIDENT_EXT		= $8067;
  GL_TEXTURE_1D_BINDING_EXT		= $8068;
  GL_TEXTURE_2D_BINDING_EXT		= $8069;

  // GL_EXT_texture3D
  GL_PACK_SKIP_IMAGES_EXT		= $806B;
  GL_PACK_IMAGE_HEIGHT_EXT		= $806C;
  GL_UNPACK_SKIP_IMAGES_EXT		= $806D;
  GL_UNPACK_IMAGE_HEIGHT_EXT		= $806E;
  GL_TEXTURE_3D_EXT			= $806F;
  GL_PROXY_TEXTURE_3D_EXT		= $8070;
  GL_TEXTURE_DEPTH_EXT			= $8071;
  GL_TEXTURE_WRAP_R_EXT			= $8072;
  GL_MAX_3D_TEXTURE_SIZE_EXT		= $8073;
  GL_TEXTURE_3D_BINDING_EXT		= $806A;

  // GL_EXT_paletted_texture
  GL_TABLE_TOO_LARGE_EXT		= $8031;
  GL_COLOR_TABLE_FORMAT_EXT		= $80D8;
  GL_COLOR_TABLE_WIDTH_EXT		= $80D9;
  GL_COLOR_TABLE_RED_SIZE_EXT		= $80DA;
  GL_COLOR_TABLE_GREEN_SIZE_EXT		= $80DB;
  GL_COLOR_TABLE_BLUE_SIZE_EXT		= $80DC;
  GL_COLOR_TABLE_ALPHA_SIZE_EXT	 	= $80DD;
  GL_COLOR_TABLE_LUMINANCE_SIZE_EXT	= $80DE;
  GL_COLOR_TABLE_INTENSITY_SIZE_EXT	= $80DF;
  GL_TEXTURE_INDEX_SIZE_EXT		= $80ED;
  GL_COLOR_INDEX1_EXT			= $80E2;
  GL_COLOR_INDEX2_EXT			= $80E3;
  GL_COLOR_INDEX4_EXT			= $80E4;
  GL_COLOR_INDEX8_EXT			= $80E5;
  GL_COLOR_INDEX12_EXT			= $80E6;
  GL_COLOR_INDEX16_EXT			= $80E7;

  // GL_EXT_shared_texture_palette
  GL_SHARED_TEXTURE_PALETTE_EXT		= $81FB;

  // GL_EXT_point_parameters
  GL_POINT_SIZE_MIN_EXT			= $8126;
  GL_POINT_SIZE_MAX_EXT			= $8127;
  GL_POINT_FADE_THRESHOLD_SIZE_EXT	= $8128;
  GL_DISTANCE_ATTENUATION_EXT		= $8129;

  // GL_EXT_rescale_normal
  GL_RESCALE_NORMAL_EXT			= $803A;

  // GL_EXT_abgr
  GL_ABGR_EXT				= $8000;

const
  // GL_EXT_multitexture
  GL_SELECTED_TEXTURE_EXT		= $83C0;
  GL_SELECTED_TEXTURE_COORD_SET_EXT	= $83C1;
  GL_SELECTED_TEXTURE_TRANSFORM_EXT	= $83C2;
  GL_MAX_TEXTURES_EXT			= $83C3;
  GL_MAX_TEXTURE_COORD_SETS_EXT		= $83C4;
  GL_TEXTURE_ENV_COORD_SET_EXT		= $83C5;
  GL_TEXTURE0_EXT			= $83C6;
  GL_TEXTURE1_EXT			= $83C7;
  GL_TEXTURE2_EXT			= $83C8;
  GL_TEXTURE3_EXT			= $83C9;

%END


#=====================================================================
# Procedures and functions
#=====================================================================

%PROCS

// === 1.0 Extensions ===

// GL_EXT_blend_minmax
glBlendEquationEXT: procedure(mode: GLenum); ogl_dll;

// GL_EXT_blend_color
glBlendColorEXT: procedure(red, green, blue, alpha: GLclampf); ogl_dll;

// GL_EXT_polygon_offset
glPolygonOffsetEXT: procedure(factor, bias: Single); ogl_dll;

// GL_EXT_vertex_array
glVertexPointerEXT: procedure(size: LongInt; AType: GLenum; stride, count: LongInt; var ptr); ogl_dll;
glNormalPointerEXT: procedure(AType: GLenum; stride, count: LongInt; var ptr); ogl_dll;
glColorPointerEXT: procedure(size: LongInt; AType: GLenum; stride, count: LongInt; var ptr); ogl_dll;
glIndexPointerEXT: procedure(AType: GLenum; stride, count: LongInt; var ptr); ogl_dll;
glTexCoordPointerEXT: procedure(size: LongInt; AType: GLenum; stride, count: LongInt; var ptr); ogl_dll;
glEdgeFlagPointerEXT: procedure(stride, count: LongInt; var ptr: Boolean); ogl_dll;
glGetPointervEXT: procedure(pname: GLenum; var params: Pointer); ogl_dll;
glArrayElementEXT: procedure(i: LongInt); ogl_dll;
glDrawArraysEXT: procedure(mode: GLEnum; first, count: LongInt); ogl_dll;

// GL_EXT_texture_object
glGenTexturesEXT: procedure(n: LongInt; var textures: LongWord); ogl_dll;
glDeleteTexturesEXT: procedure(n: LongInt; var textures: LongWord); ogl_dll;
glBindTextureEXT: procedure(target: GLenum; texture: LongWord); ogl_dll;
glPrioritizeTexturesEXT: procedure(n: LongInt; var textures: LongWord; var priorities: GLClampf); ogl_dll;
glAreTexturesResidentEXT: function(n: LongInt; var textures: LongWord; var residences: Boolean): Boolean; ogl_dll;
glIsTextureEXT: function(texture: LongWord): Boolean; ogl_dll;

// GL_EXT_texture3D
glTexImage3DEXT: procedure(target: GLenum; level: LongInt; internalFormat: GLenum; width, height, depth, border: LongInt; format, AType: GLenum; var pixels); ogl_dll;
glTexSubImage3DEXT: procedure(target: GLenum; level, xoffset, yoffset, zoffset, width, height, depth: LongInt; format, AType: GLenum; var pixels); ogl_dll;
glCopyTexSubImage3DEXT: procedure(target: GLenum; level, xoffset, yoffset, zoffset, x, y, width, height: LongInt); ogl_dll;

// GL_EXT_color_table
glColorTableEXT: procedure(target, internalformat: GLenum; width: LongInt; format, AType: GLenum; var table); ogl_dll;
glColorSubTableEXT: procedure(target: GLenum; start, count: LongInt; format, AType: GLEnum; var data); ogl_dll;
glGetColorTableEXT: procedure(target, format, AType: GLenum; var table); ogl_dll;
glGetColorTableParameterfvEXT: procedure(target, pname: GLenum; var params: Single); ogl_dll;
glGetColorTableParameterivEXT: procedure(target, pname: GLenum; var params: LongInt); ogl_dll;

%END



