Custom OpenGL 1.1 header, converted from GLES/gl.h + GLES/glplatform.h with some entries of KHR/khrplatform.h. Android API level 4 hedgeroid
authorXeli
Wed, 22 Jun 2011 13:24:30 +0200
branchhedgeroid
changeset 5291 1f495f049fad
parent 5288 af34aeab55c9
child 5293 8634c7f09372
Custom OpenGL 1.1 header, converted from GLES/gl.h + GLES/glplatform.h with some entries of KHR/khrplatform.h. Android API level 4
Android-build/gles11.pp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Android-build/gles11.pp	Wed Jun 22 13:24:30 2011 +0200
@@ -0,0 +1,1107 @@
+
+{$mode objfpc}
+unit gles11;
+interface
+
+{
+  Automatically converted by H2Pas 1.0.0 from gl.hh
+  The following command line parameters were used:
+    -P
+    -l
+    GLESv1_CM
+    -o
+    gles11.pp
+    -D
+    gl.hh
+}
+
+  procedure init;
+
+  const
+    External_library='GLESv1_CM'; {Setup as you need}
+
+  Type
+ 
+//     khronos_int32_t = int32_t;
+//     khronos_uint32_t = uint32_t;
+//     khronos_int64_t = int64_t;
+//     khronos_uint64_t = uint64_t;
+
+  khronos_int32_t = longint;
+  khronos_uint32_t = longword;
+  khronos_int64_t = Int64;
+  khronos_uint64_t = QWord;
+  khronos_int8_t = char;
+  khronos_uint8_t = byte;
+  khronos_int16_t = smallint;
+  khronos_uint16_t = word;
+  khronos_intptr_t = longint;
+  khronos_uintptr_t = dword;
+  khronos_ssize_t = longint;
+  khronos_usize_t = dword;
+  khronos_float_t = single;
+
+  GLvoid = pointer;
+  GLenum = dword;
+  GLboolean = byte;
+  GLbitfield = dword;
+  GLshort = smallint;
+  GLint = longint;
+  GLsizei = longint;
+  GLushort = word;
+  GLuint = dword;
+
+  GLbyte = khronos_int8_t;
+  GLubyte = khronos_uint8_t;
+  GLfloat = khronos_float_t;
+  GLclampf = khronos_float_t;
+  GLfixed = khronos_int32_t;
+  GLclampx = khronos_int32_t;
+  GLintptr = khronos_intptr_t;
+  GLsizeiptr = khronos_ssize_t;
+
+  PGLboolean  = ^GLboolean;
+  PGLfixed  = ^GLfixed;
+  PGLfloat  = ^GLfloat;
+  PGLint  = ^GLint;
+  PGLuint  = ^GLuint;
+  PGLvoid  = ^GLvoid;
+  PGLubyte = ^GLubyte;
+{$IFDEF FPC}
+{$PACKRECORDS C}
+{$ENDIF}
+
+  const
+//    GL_API = KHRONOS_APICALL;     
+{$define KHRONOS_APIENTRY}  
+     GL_DIRECT_TEXTURE_2D_QUALCOMM = $7E80;     
+
+  {*********************************************************** }
+  { OpenGL ES core versions  }
+
+  const
+     GL_VERSION_ES_CM_1_0 = 1;     
+     GL_VERSION_ES_CL_1_0 = 1;     
+     GL_VERSION_ES_CM_1_1 = 1;     
+     GL_VERSION_ES_CL_1_1 = 1;     
+  { ClearBufferMask  }
+     GL_DEPTH_BUFFER_BIT = $00000100;     
+     GL_STENCIL_BUFFER_BIT = $00000400;     
+     GL_COLOR_BUFFER_BIT = $00004000;     
+  { Boolean  }
+     GL_FALSE = 0;     
+     GL_TRUE = 1;     
+  { BeginMode  }
+     GL_POINTS = $0000;     
+     GL_LINES = $0001;     
+     GL_LINE_LOOP = $0002;     
+     GL_LINE_STRIP = $0003;     
+     GL_TRIANGLES = $0004;     
+     GL_TRIANGLE_STRIP = $0005;     
+     GL_TRIANGLE_FAN = $0006;     
+  { AlphaFunction  }
+     GL_NEVER = $0200;     
+     GL_LESS = $0201;     
+     GL_EQUAL = $0202;     
+     GL_LEQUAL = $0203;     
+     GL_GREATER = $0204;     
+     GL_NOTEQUAL = $0205;     
+     GL_GEQUAL = $0206;     
+     GL_ALWAYS = $0207;     
+  { BlendingFactorDest  }
+     GL_ZERO = 0;     
+     GL_ONE = 1;     
+     GL_SRC_COLOR = $0300;     
+     GL_ONE_MINUS_SRC_COLOR = $0301;     
+     GL_SRC_ALPHA = $0302;     
+     GL_ONE_MINUS_SRC_ALPHA = $0303;     
+     GL_DST_ALPHA = $0304;     
+     GL_ONE_MINUS_DST_ALPHA = $0305;     
+  { BlendingFactorSrc  }
+  {      GL_ZERO  }
+  {      GL_ONE  }
+     GL_DST_COLOR = $0306;     
+     GL_ONE_MINUS_DST_COLOR = $0307;     
+     GL_SRC_ALPHA_SATURATE = $0308;     
+  {      GL_SRC_ALPHA  }
+  {      GL_ONE_MINUS_SRC_ALPHA  }
+  {      GL_DST_ALPHA  }
+  {      GL_ONE_MINUS_DST_ALPHA  }
+  { ClipPlaneName  }
+     GL_CLIP_PLANE0 = $3000;     
+     GL_CLIP_PLANE1 = $3001;     
+     GL_CLIP_PLANE2 = $3002;     
+     GL_CLIP_PLANE3 = $3003;     
+     GL_CLIP_PLANE4 = $3004;     
+     GL_CLIP_PLANE5 = $3005;     
+  { ColorMaterialFace  }
+  {      GL_FRONT_AND_BACK  }
+  { ColorMaterialParameter  }
+  {      GL_AMBIENT_AND_DIFFUSE  }
+  { ColorPointerType  }
+  {      GL_UNSIGNED_BYTE  }
+  {      GL_FLOAT  }
+  {      GL_FIXED  }
+  { CullFaceMode  }
+     GL_FRONT = $0404;     
+     GL_BACK = $0405;     
+     GL_FRONT_AND_BACK = $0408;     
+  { DepthFunction  }
+  {      GL_NEVER  }
+  {      GL_LESS  }
+  {      GL_EQUAL  }
+  {      GL_LEQUAL  }
+  {      GL_GREATER  }
+  {      GL_NOTEQUAL  }
+  {      GL_GEQUAL  }
+  {      GL_ALWAYS  }
+  { EnableCap  }
+     GL_FOG = $0B60;     
+     GL_LIGHTING = $0B50;     
+     GL_TEXTURE_2D = $0DE1;     
+     GL_CULL_FACE = $0B44;     
+     GL_ALPHA_TEST = $0BC0;     
+     GL_BLEND = $0BE2;     
+     GL_COLOR_LOGIC_OP = $0BF2;     
+     GL_DITHER = $0BD0;     
+     GL_STENCIL_TEST = $0B90;     
+     GL_DEPTH_TEST = $0B71;     
+  {      GL_LIGHT0  }
+  {      GL_LIGHT1  }
+  {      GL_LIGHT2  }
+  {      GL_LIGHT3  }
+  {      GL_LIGHT4  }
+  {      GL_LIGHT5  }
+  {      GL_LIGHT6  }
+  {      GL_LIGHT7  }
+     GL_POINT_SMOOTH = $0B10;     
+     GL_LINE_SMOOTH = $0B20;     
+     GL_SCISSOR_TEST = $0C11;     
+     GL_COLOR_MATERIAL = $0B57;     
+     GL_NORMALIZE = $0BA1;     
+     GL_RESCALE_NORMAL = $803A;     
+     GL_POLYGON_OFFSET_FILL = $8037;     
+     GL_VERTEX_ARRAY = $8074;     
+     GL_NORMAL_ARRAY = $8075;     
+     GL_COLOR_ARRAY = $8076;     
+     GL_TEXTURE_COORD_ARRAY = $8078;     
+     GL_MULTISAMPLE = $809D;     
+     GL_SAMPLE_ALPHA_TO_COVERAGE = $809E;     
+     GL_SAMPLE_ALPHA_TO_ONE = $809F;     
+     GL_SAMPLE_COVERAGE = $80A0;     
+  { ErrorCode  }
+     GL_NO_ERROR = 0;     
+     GL_INVALID_ENUM = $0500;     
+     GL_INVALID_VALUE = $0501;     
+     GL_INVALID_OPERATION = $0502;     
+     GL_STACK_OVERFLOW = $0503;     
+     GL_STACK_UNDERFLOW = $0504;     
+     GL_OUT_OF_MEMORY = $0505;     
+  { FogMode  }
+  {      GL_LINEAR  }
+     GL_EXP = $0800;     
+     GL_EXP2 = $0801;     
+  { FogParameter  }
+     GL_FOG_DENSITY = $0B62;     
+     GL_FOG_START = $0B63;     
+     GL_FOG_END = $0B64;     
+     GL_FOG_MODE = $0B65;     
+     GL_FOG_COLOR = $0B66;     
+  { FrontFaceDirection  }
+     GL_CW = $0900;     
+     GL_CCW = $0901;     
+  { GetPName  }
+     GL_CURRENT_COLOR = $0B00;     
+     GL_CURRENT_NORMAL = $0B02;     
+     GL_CURRENT_TEXTURE_COORDS = $0B03;     
+     GL_POINT_SIZE = $0B11;     
+     GL_POINT_SIZE_MIN = $8126;     
+     GL_POINT_SIZE_MAX = $8127;     
+     GL_POINT_FADE_THRESHOLD_SIZE = $8128;     
+     GL_POINT_DISTANCE_ATTENUATION = $8129;     
+     GL_SMOOTH_POINT_SIZE_RANGE = $0B12;     
+     GL_LINE_WIDTH = $0B21;     
+     GL_SMOOTH_LINE_WIDTH_RANGE = $0B22;     
+     GL_ALIASED_POINT_SIZE_RANGE = $846D;     
+     GL_ALIASED_LINE_WIDTH_RANGE = $846E;     
+     GL_CULL_FACE_MODE = $0B45;     
+     GL_FRONT_FACE = $0B46;     
+     GL_SHADE_MODEL = $0B54;     
+     GL_DEPTH_RANGE = $0B70;     
+     GL_DEPTH_WRITEMASK = $0B72;     
+     GL_DEPTH_CLEAR_VALUE = $0B73;     
+     GL_DEPTH_FUNC = $0B74;     
+     GL_STENCIL_CLEAR_VALUE = $0B91;     
+     GL_STENCIL_FUNC = $0B92;     
+     GL_STENCIL_VALUE_MASK = $0B93;     
+     GL_STENCIL_FAIL = $0B94;     
+     GL_STENCIL_PASS_DEPTH_FAIL = $0B95;     
+     GL_STENCIL_PASS_DEPTH_PASS = $0B96;     
+     GL_STENCIL_REF = $0B97;     
+     GL_STENCIL_WRITEMASK = $0B98;     
+     GL_MATRIX_MODE = $0BA0;     
+     GL_VIEWPORT = $0BA2;     
+     GL_MODELVIEW_STACK_DEPTH = $0BA3;     
+     GL_PROJECTION_STACK_DEPTH = $0BA4;     
+     GL_TEXTURE_STACK_DEPTH = $0BA5;     
+     GL_MODELVIEW_MATRIX = $0BA6;     
+     GL_PROJECTION_MATRIX = $0BA7;     
+     GL_TEXTURE_MATRIX = $0BA8;     
+     GL_ALPHA_TEST_FUNC = $0BC1;     
+     GL_ALPHA_TEST_REF = $0BC2;     
+     GL_BLEND_DST = $0BE0;     
+     GL_BLEND_SRC = $0BE1;     
+     GL_LOGIC_OP_MODE = $0BF0;     
+     GL_SCISSOR_BOX = $0C10;     
+//     GL_SCISSOR_TEST = $0C11;     
+     GL_COLOR_CLEAR_VALUE = $0C22;     
+     GL_COLOR_WRITEMASK = $0C23;     
+     GL_UNPACK_ALIGNMENT = $0CF5;     
+     GL_PACK_ALIGNMENT = $0D05;     
+     GL_MAX_LIGHTS = $0D31;     
+     GL_MAX_CLIP_PLANES = $0D32;     
+     GL_MAX_TEXTURE_SIZE = $0D33;     
+     GL_MAX_MODELVIEW_STACK_DEPTH = $0D36;     
+     GL_MAX_PROJECTION_STACK_DEPTH = $0D38;     
+     GL_MAX_TEXTURE_STACK_DEPTH = $0D39;     
+     GL_MAX_VIEWPORT_DIMS = $0D3A;     
+     GL_MAX_TEXTURE_UNITS = $84E2;     
+     GL_SUBPIXEL_BITS = $0D50;     
+     GL_RED_BITS = $0D52;     
+     GL_GREEN_BITS = $0D53;     
+     GL_BLUE_BITS = $0D54;     
+     GL_ALPHA_BITS = $0D55;     
+     GL_DEPTH_BITS = $0D56;     
+     GL_STENCIL_BITS = $0D57;     
+     GL_POLYGON_OFFSET_UNITS = $2A00;     
+//     GL_POLYGON_OFFSET_FILL = $8037;     
+     GL_POLYGON_OFFSET_FACTOR = $8038;     
+     GL_TEXTURE_BINDING_2D = $8069;     
+     GL_VERTEX_ARRAY_SIZE = $807A;     
+     GL_VERTEX_ARRAY_TYPE = $807B;     
+     GL_VERTEX_ARRAY_STRIDE = $807C;     
+     GL_NORMAL_ARRAY_TYPE = $807E;     
+     GL_NORMAL_ARRAY_STRIDE = $807F;     
+     GL_COLOR_ARRAY_SIZE = $8081;     
+     GL_COLOR_ARRAY_TYPE = $8082;     
+     GL_COLOR_ARRAY_STRIDE = $8083;     
+     GL_TEXTURE_COORD_ARRAY_SIZE = $8088;     
+     GL_TEXTURE_COORD_ARRAY_TYPE = $8089;     
+     GL_TEXTURE_COORD_ARRAY_STRIDE = $808A;     
+     GL_VERTEX_ARRAY_POINTER = $808E;     
+     GL_NORMAL_ARRAY_POINTER = $808F;     
+     GL_COLOR_ARRAY_POINTER = $8090;     
+     GL_TEXTURE_COORD_ARRAY_POINTER = $8092;     
+     GL_SAMPLE_BUFFERS = $80A8;     
+     GL_SAMPLES = $80A9;     
+     GL_SAMPLE_COVERAGE_VALUE = $80AA;     
+     GL_SAMPLE_COVERAGE_INVERT = $80AB;     
+  { GetTextureParameter  }
+  {      GL_TEXTURE_MAG_FILTER  }
+  {      GL_TEXTURE_MIN_FILTER  }
+  {      GL_TEXTURE_WRAP_S  }
+  {      GL_TEXTURE_WRAP_T  }
+     GL_NUM_COMPRESSED_TEXTURE_FORMATS = $86A2;     
+     GL_COMPRESSED_TEXTURE_FORMATS = $86A3;     
+  { HintMode  }
+     GL_DONT_CARE = $1100;     
+     GL_FASTEST = $1101;     
+     GL_NICEST = $1102;     
+  { HintTarget  }
+     GL_PERSPECTIVE_CORRECTION_HINT = $0C50;     
+     GL_POINT_SMOOTH_HINT = $0C51;     
+     GL_LINE_SMOOTH_HINT = $0C52;     
+     GL_FOG_HINT = $0C54;     
+     GL_GENERATE_MIPMAP_HINT = $8192;     
+  { LightModelParameter  }
+     GL_LIGHT_MODEL_AMBIENT = $0B53;     
+     GL_LIGHT_MODEL_TWO_SIDE = $0B52;     
+  { LightParameter  }
+     GL_AMBIENT = $1200;     
+     GL_DIFFUSE = $1201;     
+     GL_SPECULAR = $1202;     
+     GL_POSITION = $1203;     
+     GL_SPOT_DIRECTION = $1204;     
+     GL_SPOT_EXPONENT = $1205;     
+     GL_SPOT_CUTOFF = $1206;     
+     GL_CONSTANT_ATTENUATION = $1207;     
+     GL_LINEAR_ATTENUATION = $1208;     
+     GL_QUADRATIC_ATTENUATION = $1209;     
+  { DataType  }
+     GL_BYTE = $1400;     
+     GL_UNSIGNED_BYTE = $1401;     
+     GL_SHORT = $1402;     
+     GL_UNSIGNED_SHORT = $1403;     
+     GL_FLOAT = $1406;     
+     GL_FIXED = $140C;     
+  { LogicOp  }
+     GL_CLEAR = $1500;     
+     GL_AND = $1501;     
+     GL_AND_REVERSE = $1502;     
+     GL_COPY = $1503;     
+     GL_AND_INVERTED = $1504;     
+     GL_NOOP = $1505;     
+     GL_XOR = $1506;     
+     GL_OR = $1507;     
+     GL_NOR = $1508;     
+     GL_EQUIV = $1509;     
+     GL_INVERT = $150A;     
+     GL_OR_REVERSE = $150B;     
+     GL_COPY_INVERTED = $150C;     
+     GL_OR_INVERTED = $150D;     
+     GL_NAND = $150E;     
+     GL_SET = $150F;     
+  { MaterialFace  }
+  {      GL_FRONT_AND_BACK  }
+  { MaterialParameter  }
+     GL_EMISSION = $1600;     
+     GL_SHININESS = $1601;     
+     GL_AMBIENT_AND_DIFFUSE = $1602;     
+  {      GL_AMBIENT  }
+  {      GL_DIFFUSE  }
+  {      GL_SPECULAR  }
+  { MatrixMode  }
+     GL_MODELVIEW = $1700;     
+     GL_PROJECTION = $1701;     
+     GL_TEXTURE = $1702;     
+  { NormalPointerType  }
+  {      GL_BYTE  }
+  {      GL_SHORT  }
+  {      GL_FLOAT  }
+  {      GL_FIXED  }
+  { PixelFormat  }
+     GL_ALPHA = $1906;     
+     GL_RGB = $1907;     
+     GL_RGBA = $1908;     
+     GL_LUMINANCE = $1909;     
+     GL_LUMINANCE_ALPHA = $190A;     
+  { PixelStoreParameter  }
+//     GL_UNPACK_ALIGNMENT = $0CF5;     
+//     GL_PACK_ALIGNMENT = $0D05;     
+  { PixelType  }
+  {      GL_UNSIGNED_BYTE  }
+     GL_UNSIGNED_SHORT_4_4_4_4 = $8033;     
+     GL_UNSIGNED_SHORT_5_5_5_1 = $8034;     
+     GL_UNSIGNED_SHORT_5_6_5 = $8363;     
+  { ShadingModel  }
+     GL_FLAT = $1D00;     
+     GL_SMOOTH = $1D01;     
+  { StencilFunction  }
+  {      GL_NEVER  }
+  {      GL_LESS  }
+  {      GL_EQUAL  }
+  {      GL_LEQUAL  }
+  {      GL_GREATER  }
+  {      GL_NOTEQUAL  }
+  {      GL_GEQUAL  }
+  {      GL_ALWAYS  }
+  { StencilOp  }
+  {      GL_ZERO  }
+     GL_KEEP = $1E00;     
+     GL_REPLACE = $1E01;     
+     GL_INCR = $1E02;     
+     GL_DECR = $1E03;     
+  {      GL_INVERT  }
+  { StringName  }
+     GL_VENDOR = $1F00;     
+     GL_RENDERER = $1F01;     
+     GL_VERSION = $1F02;     
+     GL_EXTENSIONS = $1F03;     
+  { TexCoordPointerType  }
+  {      GL_SHORT  }
+  {      GL_FLOAT  }
+  {      GL_FIXED  }
+  {      GL_BYTE  }
+  { TextureEnvMode  }
+     GL_MODULATE = $2100;     
+     GL_DECAL = $2101;     
+  {      GL_BLEND  }
+     GL_ADD = $0104;     
+  {      GL_REPLACE  }
+  { TextureEnvParameter  }
+     GL_TEXTURE_ENV_MODE = $2200;     
+     GL_TEXTURE_ENV_COLOR = $2201;     
+  { TextureEnvTarget  }
+     GL_TEXTURE_ENV = $2300;     
+  { TextureMagFilter  }
+     GL_NEAREST = $2600;     
+     GL_LINEAR = $2601;     
+  { TextureMinFilter  }
+  {      GL_NEAREST  }
+  {      GL_LINEAR  }
+     GL_NEAREST_MIPMAP_NEAREST = $2700;     
+     GL_LINEAR_MIPMAP_NEAREST = $2701;     
+     GL_NEAREST_MIPMAP_LINEAR = $2702;     
+     GL_LINEAR_MIPMAP_LINEAR = $2703;     
+  { TextureParameterName  }
+     GL_TEXTURE_MAG_FILTER = $2800;     
+     GL_TEXTURE_MIN_FILTER = $2801;     
+     GL_TEXTURE_WRAP_S = $2802;     
+     GL_TEXTURE_WRAP_T = $2803;     
+     GL_GENERATE_MIPMAP = $8191;     
+  { TextureTarget  }
+  {      GL_TEXTURE_2D  }
+  { TextureUnit  }
+     GL_TEXTURE0 = $84C0;     
+     GL_TEXTURE1 = $84C1;     
+     GL_TEXTURE2 = $84C2;     
+     GL_TEXTURE3 = $84C3;     
+     GL_TEXTURE4 = $84C4;     
+     GL_TEXTURE5 = $84C5;     
+     GL_TEXTURE6 = $84C6;     
+     GL_TEXTURE7 = $84C7;     
+     GL_TEXTURE8 = $84C8;     
+     GL_TEXTURE9 = $84C9;     
+     GL_TEXTURE10 = $84CA;     
+     GL_TEXTURE11 = $84CB;     
+     GL_TEXTURE12 = $84CC;     
+     GL_TEXTURE13 = $84CD;     
+     GL_TEXTURE14 = $84CE;     
+     GL_TEXTURE15 = $84CF;     
+     GL_TEXTURE16 = $84D0;     
+     GL_TEXTURE17 = $84D1;     
+     GL_TEXTURE18 = $84D2;     
+     GL_TEXTURE19 = $84D3;     
+     GL_TEXTURE20 = $84D4;     
+     GL_TEXTURE21 = $84D5;     
+     GL_TEXTURE22 = $84D6;     
+     GL_TEXTURE23 = $84D7;     
+     GL_TEXTURE24 = $84D8;     
+     GL_TEXTURE25 = $84D9;     
+     GL_TEXTURE26 = $84DA;     
+     GL_TEXTURE27 = $84DB;     
+     GL_TEXTURE28 = $84DC;     
+     GL_TEXTURE29 = $84DD;     
+     GL_TEXTURE30 = $84DE;     
+     GL_TEXTURE31 = $84DF;     
+     GL_ACTIVE_TEXTURE = $84E0;     
+     GL_CLIENT_ACTIVE_TEXTURE = $84E1;     
+  { TextureWrapMode  }
+     GL_REPEAT = $2901;     
+     GL_CLAMP_TO_EDGE = $812F;     
+  { VertexPointerType  }
+  {      GL_SHORT  }
+  {      GL_FLOAT  }
+  {      GL_FIXED  }
+  {      GL_BYTE  }
+  { LightName  }
+     GL_LIGHT0 = $4000;     
+     GL_LIGHT1 = $4001;     
+     GL_LIGHT2 = $4002;     
+     GL_LIGHT3 = $4003;     
+     GL_LIGHT4 = $4004;     
+     GL_LIGHT5 = $4005;     
+     GL_LIGHT6 = $4006;     
+     GL_LIGHT7 = $4007;     
+  { Buffer Objects  }
+     GL_ARRAY_BUFFER = $8892;     
+     GL_ELEMENT_ARRAY_BUFFER = $8893;     
+     GL_ARRAY_BUFFER_BINDING = $8894;     
+     GL_ELEMENT_ARRAY_BUFFER_BINDING = $8895;     
+     GL_VERTEX_ARRAY_BUFFER_BINDING = $8896;     
+     GL_NORMAL_ARRAY_BUFFER_BINDING = $8897;     
+     GL_COLOR_ARRAY_BUFFER_BINDING = $8898;     
+     GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = $889A;     
+     GL_STATIC_DRAW = $88E4;     
+     GL_DYNAMIC_DRAW = $88E8;     
+     GL_BUFFER_SIZE = $8764;     
+     GL_BUFFER_USAGE = $8765;     
+  { Texture combine + dot3  }
+     GL_SUBTRACT = $84E7;     
+     GL_COMBINE = $8570;     
+     GL_COMBINE_RGB = $8571;     
+     GL_COMBINE_ALPHA = $8572;     
+     GL_RGB_SCALE = $8573;     
+     GL_ADD_SIGNED = $8574;     
+     GL_INTERPOLATE = $8575;     
+     GL_CONSTANT = $8576;     
+     GL_PRIMARY_COLOR = $8577;     
+     GL_PREVIOUS = $8578;     
+     GL_OPERAND0_RGB = $8590;     
+     GL_OPERAND1_RGB = $8591;     
+     GL_OPERAND2_RGB = $8592;     
+     GL_OPERAND0_ALPHA = $8598;     
+     GL_OPERAND1_ALPHA = $8599;     
+     GL_OPERAND2_ALPHA = $859A;     
+     GL_ALPHA_SCALE = $0D1C;     
+     GL_SRC0_RGB = $8580;     
+     GL_SRC1_RGB = $8581;     
+     GL_SRC2_RGB = $8582;     
+     GL_SRC0_ALPHA = $8588;     
+     GL_SRC1_ALPHA = $8589;     
+     GL_SRC2_ALPHA = $858A;     
+     GL_DOT3_RGB = $86AE;     
+     GL_DOT3_RGBA = $86AF;     
+  {------------------------------------------------------------------------*
+   * required OES extension tokens
+   *------------------------------------------------------------------------ }
+  { OES_read_format  }
+     GL_IMPLEMENTATION_COLOR_READ_TYPE_OES = $8B9A;     
+     GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES = $8B9B;     
+  { GL_OES_compressed_paletted_texture  }
+     GL_PALETTE4_RGB8_OES = $8B90;     
+     GL_PALETTE4_RGBA8_OES = $8B91;     
+     GL_PALETTE4_R5_G6_B5_OES = $8B92;     
+     GL_PALETTE4_RGBA4_OES = $8B93;     
+     GL_PALETTE4_RGB5_A1_OES = $8B94;     
+     GL_PALETTE8_RGB8_OES = $8B95;     
+     GL_PALETTE8_RGBA8_OES = $8B96;     
+     GL_PALETTE8_R5_G6_B5_OES = $8B97;     
+     GL_PALETTE8_RGBA4_OES = $8B98;     
+     GL_PALETTE8_RGB5_A1_OES = $8B99;     
+  { OES_point_size_array  }
+     GL_POINT_SIZE_ARRAY_OES = $8B9C;     
+     GL_POINT_SIZE_ARRAY_TYPE_OES = $898A;     
+     GL_POINT_SIZE_ARRAY_STRIDE_OES = $898B;     
+     GL_POINT_SIZE_ARRAY_POINTER_OES = $898C;     
+     GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES = $8B9F;     
+  { GL_OES_point_sprite  }
+     GL_POINT_SPRITE_OES = $8861;     
+     GL_COORD_REPLACE_OES = $8862;     
+  {*********************************************************** }
+  { Available only in Common profile  }
+
+  var
+    glAlphaFunc : procedure(func:GLenum; ref:GLclampf);cdecl;
+    glClearColor : procedure(red:GLclampf; green:GLclampf; blue:GLclampf; alpha:GLclampf);cdecl;
+    glClearDepthf : procedure(depth:GLclampf);cdecl;
+(* Const before type ignored *)
+    glClipPlanef : procedure(plane:GLenum; equation:pGLfloat);cdecl;
+    glColor4f : procedure(red:GLfloat; green:GLfloat; blue:GLfloat; alpha:GLfloat);cdecl;
+    glDepthRangef : procedure(zNear:GLclampf; zFar:GLclampf);cdecl;
+    glFogf : procedure(pname:GLenum; param:GLfloat);cdecl;
+(* Const before type ignored *)
+    glFogfv : procedure(pname:GLenum; params:pGLfloat);cdecl;
+    glFrustumf : procedure(left:GLfloat; right:GLfloat; bottom:GLfloat; top:GLfloat; zNear:GLfloat; 
+      zFar:GLfloat);cdecl;
+    glGetClipPlanef : procedure(pname:GLenum; eqn:array of GLfloat);cdecl;
+    glGetFloatv : procedure(pname:GLenum; params:pGLfloat);cdecl;
+    glGetLightfv : procedure(light:GLenum; pname:GLenum; params:pGLfloat);cdecl;
+    glGetMaterialfv : procedure(face:GLenum; pname:GLenum; params:pGLfloat);cdecl;
+    glGetTexEnvfv : procedure(env:GLenum; pname:GLenum; params:pGLfloat);cdecl;
+    glGetTexParameterfv : procedure(target:GLenum; pname:GLenum; params:pGLfloat);cdecl;
+    glLightModelf : procedure(pname:GLenum; param:GLfloat);cdecl;
+(* Const before type ignored *)
+    glLightModelfv : procedure(pname:GLenum; params:pGLfloat);cdecl;
+    glLightf : procedure(light:GLenum; pname:GLenum; param:GLfloat);cdecl;
+(* Const before type ignored *)
+    glLightfv : procedure(light:GLenum; pname:GLenum; params:pGLfloat);cdecl;
+    glLineWidth : procedure(width:GLfloat);cdecl;
+(* Const before type ignored *)
+    glLoadMatrixf : procedure(m:pGLfloat);cdecl;
+    glMaterialf : procedure(face:GLenum; pname:GLenum; param:GLfloat);cdecl;
+(* Const before type ignored *)
+    glMaterialfv : procedure(face:GLenum; pname:GLenum; params:pGLfloat);cdecl;
+(* Const before type ignored *)
+    glMultMatrixf : procedure(m:pGLfloat);cdecl;
+    glMultiTexCoord4f : procedure(target:GLenum; s:GLfloat; t:GLfloat; r:GLfloat; q:GLfloat);cdecl;
+    glNormal3f : procedure(nx:GLfloat; ny:GLfloat; nz:GLfloat);cdecl;
+    glOrthof : procedure(left:GLfloat; right:GLfloat; bottom:GLfloat; top:GLfloat; zNear:GLfloat; 
+      zFar:GLfloat);cdecl;
+    glPointParameterf : procedure(pname:GLenum; param:GLfloat);cdecl;
+(* Const before type ignored *)
+    glPointParameterfv : procedure(pname:GLenum; params:pGLfloat);cdecl;
+    glPointSize : procedure(size:GLfloat);cdecl;
+    glPolygonOffset : procedure(factor:GLfloat; units:GLfloat);cdecl;
+    glRotatef : procedure(angle:GLfloat; x:GLfloat; y:GLfloat; z:GLfloat);cdecl;
+    glScalef : procedure(x:GLfloat; y:GLfloat; z:GLfloat);cdecl;
+    glTexEnvf : procedure(target:GLenum; pname:GLenum; param:GLfloat);cdecl;
+(* Const before type ignored *)
+    glTexEnvfv : procedure(target:GLenum; pname:GLenum; params:pGLfloat);cdecl;
+    glTexParameterf : procedure(target:GLenum; pname:GLenum; param:GLfloat);cdecl;
+(* Const before type ignored *)
+    glTexParameterfv : procedure(target:GLenum; pname:GLenum; params:pGLfloat);cdecl;
+    glTranslatef : procedure(x:GLfloat; y:GLfloat; z:GLfloat);cdecl;
+  { Available in both Common and Common-Lite profiles  }
+    glActiveTexture : procedure(texture:GLenum);cdecl;
+    glAlphaFuncx : procedure(func:GLenum; ref:GLclampx);cdecl;
+    glBindBuffer : procedure(target:GLenum; buffer:GLuint);cdecl;
+    glBindTexture : procedure(target:GLenum; texture:GLuint);cdecl;
+    glBlendFunc : procedure(sfactor:GLenum; dfactor:GLenum);cdecl;
+(* Const before type ignored *)
+    glBufferData : procedure(target:GLenum; size:GLsizeiptr; data:pGLvoid; usage:GLenum);cdecl;
+(* Const before type ignored *)
+    glBufferSubData : procedure(target:GLenum; offset:GLintptr; size:GLsizeiptr; data:pGLvoid);cdecl;
+    glClear : procedure(mask:GLbitfield);cdecl;
+    glClearColorx : procedure(red:GLclampx; green:GLclampx; blue:GLclampx; alpha:GLclampx);cdecl;
+    glClearDepthx : procedure(depth:GLclampx);cdecl;
+    glClearStencil : procedure(s:GLint);cdecl;
+    glClientActiveTexture : procedure(texture:GLenum);cdecl;
+(* Const before type ignored *)
+    glClipPlanex : procedure(plane:GLenum; equation:pGLfixed);cdecl;
+    glColor4ub : procedure(red:GLubyte; green:GLubyte; blue:GLubyte; alpha:GLubyte);cdecl;
+    glColor4x : procedure(red:GLfixed; green:GLfixed; blue:GLfixed; alpha:GLfixed);cdecl;
+    glColorMask : procedure(red:GLboolean; green:GLboolean; blue:GLboolean; alpha:GLboolean);cdecl;
+(* Const before type ignored *)
+    glColorPointer : procedure(size:GLint; _type:GLenum; stride:GLsizei; pointer:pGLvoid);cdecl;
+(* Const before type ignored *)
+    glCompressedTexImage2D : procedure(target:GLenum; level:GLint; internalformat:GLenum; width:GLsizei; height:GLsizei; 
+      border:GLint; imageSize:GLsizei; data:pGLvoid);cdecl;
+(* Const before type ignored *)
+    glCompressedTexSubImage2D : procedure(target:GLenum; level:GLint; xoffset:GLint; yoffset:GLint; width:GLsizei; 
+      height:GLsizei; format:GLenum; imageSize:GLsizei; data:pGLvoid);cdecl;
+    glCopyTexImage2D : procedure(target:GLenum; level:GLint; internalformat:GLenum; x:GLint; y:GLint; 
+      width:GLsizei; height:GLsizei; border:GLint);cdecl;
+    glCopyTexSubImage2D : procedure(target:GLenum; level:GLint; xoffset:GLint; yoffset:GLint; x:GLint; 
+      y:GLint; width:GLsizei; height:GLsizei);cdecl;
+    glCullFace : procedure(mode:GLenum);cdecl;
+(* Const before type ignored *)
+    glDeleteBuffers : procedure(n:GLsizei; buffers:pGLuint);cdecl;
+(* Const before type ignored *)
+    glDeleteTextures : procedure(n:GLsizei; textures:pGLuint);cdecl;
+    glDepthFunc : procedure(func:GLenum);cdecl;
+    glDepthMask : procedure(flag:GLboolean);cdecl;
+    glDepthRangex : procedure(zNear:GLclampx; zFar:GLclampx);cdecl;
+    glDisable : procedure(cap:GLenum);cdecl;
+    glDisableClientState : procedure(arry:GLenum);cdecl;
+    glDrawArrays : procedure(mode:GLenum; first:GLint; count:GLsizei);cdecl;
+(* Const before type ignored *)
+    glDrawElements : procedure(mode:GLenum; count:GLsizei; _type:GLenum; indices:pGLvoid);cdecl;
+    glEnable : procedure(cap:GLenum);cdecl;
+    glEnableClientState : procedure(arry:GLenum);cdecl;
+    glFinish : procedure;cdecl;
+    glFlush : procedure;cdecl;
+    glFogx : procedure(pname:GLenum; param:GLfixed);cdecl;
+(* Const before type ignored *)
+    glFogxv : procedure(pname:GLenum; params:pGLfixed);cdecl;
+    glFrontFace : procedure(mode:GLenum);cdecl;
+    glFrustumx : procedure(left:GLfixed; right:GLfixed; bottom:GLfixed; top:GLfixed; zNear:GLfixed; 
+      zFar:GLfixed);cdecl;
+    glGetBooleanv : procedure(pname:GLenum; params:pGLboolean);cdecl;
+    glGetBufferParameteriv : procedure(target:GLenum; pname:GLenum; params:pGLint);cdecl;
+    glGetClipPlanex : procedure(pname:GLenum; eqn:array of GLfixed);cdecl;
+    glGenBuffers : procedure(n:GLsizei; buffers:pGLuint);cdecl;
+    glGenTextures : procedure(n:GLsizei; textures:pGLuint);cdecl;
+    glGetError : function:GLenum;cdecl;
+    glGetFixedv : procedure(pname:GLenum; params:pGLfixed);cdecl;
+    glGetIntegerv : procedure(pname:GLenum; params:pGLint);cdecl;
+    glGetLightxv : procedure(light:GLenum; pname:GLenum; params:pGLfixed);cdecl;
+    glGetMaterialxv : procedure(face:GLenum; pname:GLenum; params:pGLfixed);cdecl;
+    glGetPointerv : procedure(pname:GLenum; params:Ppointer);cdecl;
+(* Const before type ignored *)
+    glGetString : function(name:GLenum):PGLubyte;cdecl;
+    glGetTexEnviv : procedure(env:GLenum; pname:GLenum; params:pGLint);cdecl;
+    glGetTexEnvxv : procedure(env:GLenum; pname:GLenum; params:pGLfixed);cdecl;
+    glGetTexParameteriv : procedure(target:GLenum; pname:GLenum; params:pGLint);cdecl;
+    glGetTexParameterxv : procedure(target:GLenum; pname:GLenum; params:pGLfixed);cdecl;
+    glHint : procedure(target:GLenum; mode:GLenum);cdecl;
+    glIsBuffer : function(buffer:GLuint):GLboolean;cdecl;
+    glIsEnabled : function(cap:GLenum):GLboolean;cdecl;
+    glIsTexture : function(texture:GLuint):GLboolean;cdecl;
+    glLightModelx : procedure(pname:GLenum; param:GLfixed);cdecl;
+(* Const before type ignored *)
+    glLightModelxv : procedure(pname:GLenum; params:pGLfixed);cdecl;
+    glLightx : procedure(light:GLenum; pname:GLenum; param:GLfixed);cdecl;
+(* Const before type ignored *)
+    glLightxv : procedure(light:GLenum; pname:GLenum; params:pGLfixed);cdecl;
+    glLineWidthx : procedure(width:GLfixed);cdecl;
+    glLoadIdentity : procedure;cdecl;
+(* Const before type ignored *)
+    glLoadMatrixx : procedure(m:pGLfixed);cdecl;
+    glLogicOp : procedure(opcode:GLenum);cdecl;
+    glMaterialx : procedure(face:GLenum; pname:GLenum; param:GLfixed);cdecl;
+(* Const before type ignored *)
+    glMaterialxv : procedure(face:GLenum; pname:GLenum; params:pGLfixed);cdecl;
+    glMatrixMode : procedure(mode:GLenum);cdecl;
+(* Const before type ignored *)
+    glMultMatrixx : procedure(m:pGLfixed);cdecl;
+    glMultiTexCoord4x : procedure(target:GLenum; s:GLfixed; t:GLfixed; r:GLfixed; q:GLfixed);cdecl;
+    glNormal3x : procedure(nx:GLfixed; ny:GLfixed; nz:GLfixed);cdecl;
+(* Const before type ignored *)
+    glNormalPointer : procedure(_type:GLenum; stride:GLsizei; pointer:pGLvoid);cdecl;
+    glOrthox : procedure(left:GLfixed; right:GLfixed; bottom:GLfixed; top:GLfixed; zNear:GLfixed; 
+      zFar:GLfixed);cdecl;
+    glPixelStorei : procedure(pname:GLenum; param:GLint);cdecl;
+    glPointParameterx : procedure(pname:GLenum; param:GLfixed);cdecl;
+(* Const before type ignored *)
+    glPointParameterxv : procedure(pname:GLenum; params:pGLfixed);cdecl;
+    glPointSizex : procedure(size:GLfixed);cdecl;
+    glPolygonOffsetx : procedure(factor:GLfixed; units:GLfixed);cdecl;
+    glPopMatrix : procedure;cdecl;
+    glPushMatrix : procedure;cdecl;
+    glReadPixels : procedure(x:GLint; y:GLint; width:GLsizei; height:GLsizei; format:GLenum; 
+      _type:GLenum; pixels:pGLvoid);cdecl;
+    glRotatex : procedure(angle:GLfixed; x:GLfixed; y:GLfixed; z:GLfixed);cdecl;
+    glSampleCoverage : procedure(value:GLclampf; invert:GLboolean);cdecl;
+    glSampleCoveragex : procedure(value:GLclampx; invert:GLboolean);cdecl;
+    glScalex : procedure(x:GLfixed; y:GLfixed; z:GLfixed);cdecl;
+    glScissor : procedure(x:GLint; y:GLint; width:GLsizei; height:GLsizei);cdecl;
+    glShadeModel : procedure(mode:GLenum);cdecl;
+    glStencilFunc : procedure(func:GLenum; ref:GLint; mask:GLuint);cdecl;
+    glStencilMask : procedure(mask:GLuint);cdecl;
+    glStencilOp : procedure(fail:GLenum; zfail:GLenum; zpass:GLenum);cdecl;
+(* Const before type ignored *)
+    glTexCoordPointer : procedure(size:GLint; _type:GLenum; stride:GLsizei; pointer:pGLvoid);cdecl;
+    glTexEnvi : procedure(target:GLenum; pname:GLenum; param:GLint);cdecl;
+    glTexEnvx : procedure(target:GLenum; pname:GLenum; param:GLfixed);cdecl;
+(* Const before type ignored *)
+    glTexEnviv : procedure(target:GLenum; pname:GLenum; params:pGLint);cdecl;
+(* Const before type ignored *)
+    glTexEnvxv : procedure(target:GLenum; pname:GLenum; params:pGLfixed);cdecl;
+(* Const before type ignored *)
+    glTexImage2D : procedure(target:GLenum; level:GLint; internalformat:GLint; width:GLsizei; height:GLsizei; 
+      border:GLint; format:GLenum; _type:GLenum; pixels:pGLvoid);cdecl;
+    glTexParameteri : procedure(target:GLenum; pname:GLenum; param:GLint);cdecl;
+    glTexParameterx : procedure(target:GLenum; pname:GLenum; param:GLfixed);cdecl;
+(* Const before type ignored *)
+    glTexParameteriv : procedure(target:GLenum; pname:GLenum; params:pGLint);cdecl;
+(* Const before type ignored *)
+    glTexParameterxv : procedure(target:GLenum; pname:GLenum; params:pGLfixed);cdecl;
+(* Const before type ignored *)
+    glTexSubImage2D : procedure(target:GLenum; level:GLint; xoffset:GLint; yoffset:GLint; width:GLsizei; 
+      height:GLsizei; format:GLenum; _type:GLenum; pixels:pGLvoid);cdecl;
+    glTranslatex : procedure(x:GLfixed; y:GLfixed; z:GLfixed);cdecl;
+(* Const before type ignored *)
+    glVertexPointer : procedure(size:GLint; _type:GLenum; stride:GLsizei; pointer:pGLvoid);cdecl;
+    glViewport : procedure(x:GLint; y:GLint; width:GLsizei; height:GLsizei);cdecl;
+  {------------------------------------------------------------------------*
+   * Required OES extension functions
+   *------------------------------------------------------------------------ }
+  { GL_OES_read_format  }
+
+  const
+     GL_OES_read_format = 1;     
+  { GL_OES_compressed_paletted_texture  }
+     GL_OES_compressed_paletted_texture = 1;     
+  { GL_OES_point_size_array  }
+     GL_OES_point_size_array = 1;     
+(* Const before type ignored *)
+
+  var
+    glPointSizePointerOES : procedure(_type:GLenum; stride:GLsizei; pointer:pGLvoid);cdecl;
+  { GL_OES_point_sprite  }
+
+  const
+     GL_OES_point_sprite = 1;     
+
+implementation
+
+  uses
+    SysUtils, dynlibs, uConsole;
+
+  var
+    hlib : tlibhandle;
+
+
+  procedure Freegles11;
+    begin
+//      FreeLibrary(hlib);
+      glAlphaFunc:=nil;
+      glClearColor:=nil;
+      glClearDepthf:=nil;
+      glClipPlanef:=nil;
+      glColor4f:=nil;
+      glDepthRangef:=nil;
+      glFogf:=nil;
+      glFogfv:=nil;
+      glFrustumf:=nil;
+      glGetClipPlanef:=nil;
+      glGetFloatv:=nil;
+      glGetLightfv:=nil;
+      glGetMaterialfv:=nil;
+      glGetTexEnvfv:=nil;
+      glGetTexParameterfv:=nil;
+      glLightModelf:=nil;
+      glLightModelfv:=nil;
+      glLightf:=nil;
+      glLightfv:=nil;
+      glLineWidth:=nil;
+      glLoadMatrixf:=nil;
+      glMaterialf:=nil;
+      glMaterialfv:=nil;
+      glMultMatrixf:=nil;
+      glMultiTexCoord4f:=nil;
+      glNormal3f:=nil;
+      glOrthof:=nil;
+      glPointParameterf:=nil;
+      glPointParameterfv:=nil;
+      glPointSize:=nil;
+      glPolygonOffset:=nil;
+      glRotatef:=nil;
+      glScalef:=nil;
+      glTexEnvf:=nil;
+      glTexEnvfv:=nil;
+      glTexParameterf:=nil;
+      glTexParameterfv:=nil;
+      glTranslatef:=nil;
+      glActiveTexture:=nil;
+      glAlphaFuncx:=nil;
+      glBindBuffer:=nil;
+      glBindTexture:=nil;
+      glBlendFunc:=nil;
+      glBufferData:=nil;
+      glBufferSubData:=nil;
+      glClear:=nil;
+      glClearColorx:=nil;
+      glClearDepthx:=nil;
+      glClearStencil:=nil;
+      glClientActiveTexture:=nil;
+      glClipPlanex:=nil;
+      glColor4ub:=nil;
+      glColor4x:=nil;
+      glColorMask:=nil;
+      glColorPointer:=nil;
+      glCompressedTexImage2D:=nil;
+      glCompressedTexSubImage2D:=nil;
+      glCopyTexImage2D:=nil;
+      glCopyTexSubImage2D:=nil;
+      glCullFace:=nil;
+      glDeleteBuffers:=nil;
+      glDeleteTextures:=nil;
+      glDepthFunc:=nil;
+      glDepthMask:=nil;
+      glDepthRangex:=nil;
+      glDisable:=nil;
+      glDisableClientState:=nil;
+      glDrawArrays:=nil;
+      glDrawElements:=nil;
+      glEnable:=nil;
+      glEnableClientState:=nil;
+      glFinish:=nil;
+      glFlush:=nil;
+      glFogx:=nil;
+      glFogxv:=nil;
+      glFrontFace:=nil;
+      glFrustumx:=nil;
+      glGetBooleanv:=nil;
+      glGetBufferParameteriv:=nil;
+      glGetClipPlanex:=nil;
+      glGenBuffers:=nil;
+      glGenTextures:=nil;
+      glGetError:=nil;
+      glGetFixedv:=nil;
+      glGetIntegerv:=nil;
+      glGetLightxv:=nil;
+      glGetMaterialxv:=nil;
+      glGetPointerv:=nil;
+      glGetString:=nil;
+      glGetTexEnviv:=nil;
+      glGetTexEnvxv:=nil;
+      glGetTexParameteriv:=nil;
+      glGetTexParameterxv:=nil;
+      glHint:=nil;
+      glIsBuffer:=nil;
+      glIsEnabled:=nil;
+      glIsTexture:=nil;
+      glLightModelx:=nil;
+      glLightModelxv:=nil;
+      glLightx:=nil;
+      glLightxv:=nil;
+      glLineWidthx:=nil;
+      glLoadIdentity:=nil;
+      glLoadMatrixx:=nil;
+      glLogicOp:=nil;
+      glMaterialx:=nil;
+      glMaterialxv:=nil;
+      glMatrixMode:=nil;
+      glMultMatrixx:=nil;
+      glMultiTexCoord4x:=nil;
+      glNormal3x:=nil;
+      glNormalPointer:=nil;
+      glOrthox:=nil;
+      glPixelStorei:=nil;
+      glPointParameterx:=nil;
+      glPointParameterxv:=nil;
+      glPointSizex:=nil;
+      glPolygonOffsetx:=nil;
+      glPopMatrix:=nil;
+      glPushMatrix:=nil;
+      glReadPixels:=nil;
+      glRotatex:=nil;
+      glSampleCoverage:=nil;
+      glSampleCoveragex:=nil;
+      glScalex:=nil;
+      glScissor:=nil;
+      glShadeModel:=nil;
+      glStencilFunc:=nil;
+      glStencilMask:=nil;
+      glStencilOp:=nil;
+      glTexCoordPointer:=nil;
+      glTexEnvi:=nil;
+      glTexEnvx:=nil;
+      glTexEnviv:=nil;
+      glTexEnvxv:=nil;
+      glTexImage2D:=nil;
+      glTexParameteri:=nil;
+      glTexParameterx:=nil;
+      glTexParameteriv:=nil;
+      glTexParameterxv:=nil;
+      glTexSubImage2D:=nil;
+      glTranslatex:=nil;
+      glVertexPointer:=nil;
+      glViewport:=nil;
+      glPointSizePointerOES:=nil;
+    end;
+
+
+  procedure Loadgles11(lib : pchar);
+    begin
+      Freegles11;
+      WriteToConsole('loading lib');
+      hlib:=LoadLibrary(lib);
+      if hlib=0 then
+	begin
+         WriteToConsole('crash');
+         raise Exception.Create(format('Could not load library: %s',[lib]));
+	end;
+      WriteToConsole('succeeded');
+      pointer(glAlphaFunc):=GetProcAddress(hlib,'glAlphaFunc');
+      pointer(glClearColor):=GetProcAddress(hlib,'glClearColor');
+      pointer(glClearDepthf):=GetProcAddress(hlib,'glClearDepthf');
+      pointer(glClipPlanef):=GetProcAddress(hlib,'glClipPlanef');
+      pointer(glColor4f):=GetProcAddress(hlib,'glColor4f');
+      pointer(glDepthRangef):=GetProcAddress(hlib,'glDepthRangef');
+      pointer(glFogf):=GetProcAddress(hlib,'glFogf');
+      pointer(glFogfv):=GetProcAddress(hlib,'glFogfv');
+      pointer(glFrustumf):=GetProcAddress(hlib,'glFrustumf');
+      pointer(glGetClipPlanef):=GetProcAddress(hlib,'glGetClipPlanef');
+      pointer(glGetFloatv):=GetProcAddress(hlib,'glGetFloatv');
+      pointer(glGetLightfv):=GetProcAddress(hlib,'glGetLightfv');
+      pointer(glGetMaterialfv):=GetProcAddress(hlib,'glGetMaterialfv');
+      pointer(glGetTexEnvfv):=GetProcAddress(hlib,'glGetTexEnvfv');
+      pointer(glGetTexParameterfv):=GetProcAddress(hlib,'glGetTexParameterfv');
+      pointer(glLightModelf):=GetProcAddress(hlib,'glLightModelf');
+      pointer(glLightModelfv):=GetProcAddress(hlib,'glLightModelfv');
+      pointer(glLightf):=GetProcAddress(hlib,'glLightf');
+      pointer(glLightfv):=GetProcAddress(hlib,'glLightfv');
+      pointer(glLineWidth):=GetProcAddress(hlib,'glLineWidth');
+      pointer(glLoadMatrixf):=GetProcAddress(hlib,'glLoadMatrixf');
+      pointer(glMaterialf):=GetProcAddress(hlib,'glMaterialf');
+      pointer(glMaterialfv):=GetProcAddress(hlib,'glMaterialfv');
+      pointer(glMultMatrixf):=GetProcAddress(hlib,'glMultMatrixf');
+      pointer(glMultiTexCoord4f):=GetProcAddress(hlib,'glMultiTexCoord4f');
+      pointer(glNormal3f):=GetProcAddress(hlib,'glNormal3f');
+      pointer(glOrthof):=GetProcAddress(hlib,'glOrthof');
+      pointer(glPointParameterf):=GetProcAddress(hlib,'glPointParameterf');
+      pointer(glPointParameterfv):=GetProcAddress(hlib,'glPointParameterfv');
+      pointer(glPointSize):=GetProcAddress(hlib,'glPointSize');
+      pointer(glPolygonOffset):=GetProcAddress(hlib,'glPolygonOffset');
+      pointer(glRotatef):=GetProcAddress(hlib,'glRotatef');
+      pointer(glScalef):=GetProcAddress(hlib,'glScalef');
+      pointer(glTexEnvf):=GetProcAddress(hlib,'glTexEnvf');
+      pointer(glTexEnvfv):=GetProcAddress(hlib,'glTexEnvfv');
+      pointer(glTexParameterf):=GetProcAddress(hlib,'glTexParameterf');
+      pointer(glTexParameterfv):=GetProcAddress(hlib,'glTexParameterfv');
+      pointer(glTranslatef):=GetProcAddress(hlib,'glTranslatef');
+      pointer(glActiveTexture):=GetProcAddress(hlib,'glActiveTexture');
+      pointer(glAlphaFuncx):=GetProcAddress(hlib,'glAlphaFuncx');
+      pointer(glBindBuffer):=GetProcAddress(hlib,'glBindBuffer');
+      pointer(glBindTexture):=GetProcAddress(hlib,'glBindTexture');
+      pointer(glBlendFunc):=GetProcAddress(hlib,'glBlendFunc');
+      pointer(glBufferData):=GetProcAddress(hlib,'glBufferData');
+      pointer(glBufferSubData):=GetProcAddress(hlib,'glBufferSubData');
+      pointer(glClear):=GetProcAddress(hlib,'glClear');
+      pointer(glClearColorx):=GetProcAddress(hlib,'glClearColorx');
+      pointer(glClearDepthx):=GetProcAddress(hlib,'glClearDepthx');
+      pointer(glClearStencil):=GetProcAddress(hlib,'glClearStencil');
+      pointer(glClientActiveTexture):=GetProcAddress(hlib,'glClientActiveTexture');
+      pointer(glClipPlanex):=GetProcAddress(hlib,'glClipPlanex');
+      pointer(glColor4ub):=GetProcAddress(hlib,'glColor4ub');
+      pointer(glColor4x):=GetProcAddress(hlib,'glColor4x');
+      pointer(glColorMask):=GetProcAddress(hlib,'glColorMask');
+      pointer(glColorPointer):=GetProcAddress(hlib,'glColorPointer');
+      pointer(glCompressedTexImage2D):=GetProcAddress(hlib,'glCompressedTexImage2D');
+      pointer(glCompressedTexSubImage2D):=GetProcAddress(hlib,'glCompressedTexSubImage2D');
+      pointer(glCopyTexImage2D):=GetProcAddress(hlib,'glCopyTexImage2D');
+      pointer(glCopyTexSubImage2D):=GetProcAddress(hlib,'glCopyTexSubImage2D');
+      pointer(glCullFace):=GetProcAddress(hlib,'glCullFace');
+      pointer(glDeleteBuffers):=GetProcAddress(hlib,'glDeleteBuffers');
+      pointer(glDeleteTextures):=GetProcAddress(hlib,'glDeleteTextures');
+      pointer(glDepthFunc):=GetProcAddress(hlib,'glDepthFunc');
+      pointer(glDepthMask):=GetProcAddress(hlib,'glDepthMask');
+      pointer(glDepthRangex):=GetProcAddress(hlib,'glDepthRangex');
+      pointer(glDisable):=GetProcAddress(hlib,'glDisable');
+      pointer(glDisableClientState):=GetProcAddress(hlib,'glDisableClientState');
+      pointer(glDrawArrays):=GetProcAddress(hlib,'glDrawArrays');
+      pointer(glDrawElements):=GetProcAddress(hlib,'glDrawElements');
+      pointer(glEnable):=GetProcAddress(hlib,'glEnable');
+      pointer(glEnableClientState):=GetProcAddress(hlib,'glEnableClientState');
+      pointer(glFinish):=GetProcAddress(hlib,'glFinish');
+      pointer(glFlush):=GetProcAddress(hlib,'glFlush');
+      pointer(glFogx):=GetProcAddress(hlib,'glFogx');
+      pointer(glFogxv):=GetProcAddress(hlib,'glFogxv');
+      pointer(glFrontFace):=GetProcAddress(hlib,'glFrontFace');
+      pointer(glFrustumx):=GetProcAddress(hlib,'glFrustumx');
+      pointer(glGetBooleanv):=GetProcAddress(hlib,'glGetBooleanv');
+      pointer(glGetBufferParameteriv):=GetProcAddress(hlib,'glGetBufferParameteriv');
+      pointer(glGetClipPlanex):=GetProcAddress(hlib,'glGetClipPlanex');
+      pointer(glGenBuffers):=GetProcAddress(hlib,'glGenBuffers');
+      pointer(glGenTextures):=GetProcAddress(hlib,'glGenTextures');
+      pointer(glGetError):=GetProcAddress(hlib,'glGetError');
+      pointer(glGetFixedv):=GetProcAddress(hlib,'glGetFixedv');
+      pointer(glGetIntegerv):=GetProcAddress(hlib,'glGetIntegerv');
+      pointer(glGetLightxv):=GetProcAddress(hlib,'glGetLightxv');
+      pointer(glGetMaterialxv):=GetProcAddress(hlib,'glGetMaterialxv');
+      pointer(glGetPointerv):=GetProcAddress(hlib,'glGetPointerv');
+      pointer(glGetString):=GetProcAddress(hlib,'glGetString');
+      pointer(glGetTexEnviv):=GetProcAddress(hlib,'glGetTexEnviv');
+      pointer(glGetTexEnvxv):=GetProcAddress(hlib,'glGetTexEnvxv');
+      pointer(glGetTexParameteriv):=GetProcAddress(hlib,'glGetTexParameteriv');
+      pointer(glGetTexParameterxv):=GetProcAddress(hlib,'glGetTexParameterxv');
+      pointer(glHint):=GetProcAddress(hlib,'glHint');
+      pointer(glIsBuffer):=GetProcAddress(hlib,'glIsBuffer');
+      pointer(glIsEnabled):=GetProcAddress(hlib,'glIsEnabled');
+      pointer(glIsTexture):=GetProcAddress(hlib,'glIsTexture');
+      pointer(glLightModelx):=GetProcAddress(hlib,'glLightModelx');
+      pointer(glLightModelxv):=GetProcAddress(hlib,'glLightModelxv');
+      pointer(glLightx):=GetProcAddress(hlib,'glLightx');
+      pointer(glLightxv):=GetProcAddress(hlib,'glLightxv');
+      pointer(glLineWidthx):=GetProcAddress(hlib,'glLineWidthx');
+      pointer(glLoadIdentity):=GetProcAddress(hlib,'glLoadIdentity');
+      pointer(glLoadMatrixx):=GetProcAddress(hlib,'glLoadMatrixx');
+      pointer(glLogicOp):=GetProcAddress(hlib,'glLogicOp');
+      pointer(glMaterialx):=GetProcAddress(hlib,'glMaterialx');
+      pointer(glMaterialxv):=GetProcAddress(hlib,'glMaterialxv');
+      pointer(glMatrixMode):=GetProcAddress(hlib,'glMatrixMode');
+      pointer(glMultMatrixx):=GetProcAddress(hlib,'glMultMatrixx');
+      pointer(glMultiTexCoord4x):=GetProcAddress(hlib,'glMultiTexCoord4x');
+      pointer(glNormal3x):=GetProcAddress(hlib,'glNormal3x');
+      pointer(glNormalPointer):=GetProcAddress(hlib,'glNormalPointer');
+      pointer(glOrthox):=GetProcAddress(hlib,'glOrthox');
+      pointer(glPixelStorei):=GetProcAddress(hlib,'glPixelStorei');
+      pointer(glPointParameterx):=GetProcAddress(hlib,'glPointParameterx');
+      pointer(glPointParameterxv):=GetProcAddress(hlib,'glPointParameterxv');
+      pointer(glPointSizex):=GetProcAddress(hlib,'glPointSizex');
+      pointer(glPolygonOffsetx):=GetProcAddress(hlib,'glPolygonOffsetx');
+      pointer(glPopMatrix):=GetProcAddress(hlib,'glPopMatrix');
+      pointer(glPushMatrix):=GetProcAddress(hlib,'glPushMatrix');
+      pointer(glReadPixels):=GetProcAddress(hlib,'glReadPixels');
+      pointer(glRotatex):=GetProcAddress(hlib,'glRotatex');
+      pointer(glSampleCoverage):=GetProcAddress(hlib,'glSampleCoverage');
+      pointer(glSampleCoveragex):=GetProcAddress(hlib,'glSampleCoveragex');
+      pointer(glScalex):=GetProcAddress(hlib,'glScalex');
+      pointer(glScissor):=GetProcAddress(hlib,'glScissor');
+      pointer(glShadeModel):=GetProcAddress(hlib,'glShadeModel');
+      pointer(glStencilFunc):=GetProcAddress(hlib,'glStencilFunc');
+      pointer(glStencilMask):=GetProcAddress(hlib,'glStencilMask');
+      pointer(glStencilOp):=GetProcAddress(hlib,'glStencilOp');
+      pointer(glTexCoordPointer):=GetProcAddress(hlib,'glTexCoordPointer');
+      pointer(glTexEnvi):=GetProcAddress(hlib,'glTexEnvi');
+      pointer(glTexEnvx):=GetProcAddress(hlib,'glTexEnvx');
+      pointer(glTexEnviv):=GetProcAddress(hlib,'glTexEnviv');
+      pointer(glTexEnvxv):=GetProcAddress(hlib,'glTexEnvxv');
+      pointer(glTexImage2D):=GetProcAddress(hlib,'glTexImage2D');
+      pointer(glTexParameteri):=GetProcAddress(hlib,'glTexParameteri');
+      pointer(glTexParameterx):=GetProcAddress(hlib,'glTexParameterx');
+      pointer(glTexParameteriv):=GetProcAddress(hlib,'glTexParameteriv');
+      pointer(glTexParameterxv):=GetProcAddress(hlib,'glTexParameterxv');
+      pointer(glTexSubImage2D):=GetProcAddress(hlib,'glTexSubImage2D');
+      pointer(glTranslatex):=GetProcAddress(hlib,'glTranslatex');
+      pointer(glVertexPointer):=GetProcAddress(hlib,'glVertexPointer');
+      pointer(glViewport):=GetProcAddress(hlib,'glViewport');
+      pointer(glPointSizePointerOES):=GetProcAddress(hlib,'glPointSizePointerOES');
+    end;
+
+procedure init;
+begin
+  WriteToConsole('init');
+    Loadgles11('libGLESv1_CM.so');
+end;
+
+
+initialization
+  Loadgles11('gles11');
+finalization
+  Freegles11;
+
+end.