home *** CD-ROM | disk | FTP | other *** search
/ Delphi 5 for Professionals / DELPHI5.iso / AddOns / Components / TEECHART / Src Code / OPENGLC.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-10-24  |  74.9 KB  |  1,841 lines

  1. unit OpenGLC;
  2.  
  3. interface
  4.  
  5. uses Windows;
  6.  
  7. type
  8.   {$EXTERNALSYM HGLRC}
  9.   HGLRC = THandle;
  10.  
  11. {
  12. /*
  13. ** Copyright 1991-1993, Silicon Graphics, Inc.
  14. ** All Rights Reserved.
  15. **
  16. ** This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
  17. ** the contents of this file may not be disclosed to third parties, copied or
  18. ** duplicated in any form, in whole or in part, without the prior written
  19. ** permission of Silicon Graphics, Inc.
  20. **
  21. ** RESTRICTED RIGHTS LEGEND:
  22. ** Use, duplication or disclosure by the Government is subject to restrictions
  23. ** as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
  24. ** and Computer Software clause at DFARS 252.227-7013, and/or in similar or
  25. ** successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
  26. ** rights reserved under the Copyright Laws of the United States.
  27. */
  28. }
  29.  
  30. type
  31.   GLenum = Cardinal;
  32.   GLboolean = BYTEBOOL;
  33.   GLbitfield = Cardinal;
  34.   GLbyte = Shortint;   { signed char }
  35.   GLshort = SmallInt;
  36.   GLint = Integer;
  37.   GLsizei = Integer;
  38.   GLubyte = Byte;
  39.   GLushort = Word;
  40.   GLuint = Cardinal;
  41.   GLfloat = Single;
  42.   GLclampf = Single;
  43.   GLdouble = Double;
  44.   GLclampd = Double;
  45.  
  46.   PGLBoolean = ^GLBoolean;
  47.   PGLByte = ^GLByte;
  48.   PGLShort = ^GLShort;
  49.   PGLInt = ^GLInt;
  50.   PGLSizei = ^GLSizei;
  51.   PGLubyte = ^GLubyte;
  52.   PGLushort = ^GLushort;
  53.   PGLuint = ^GLuint;
  54.   PGLclampf = ^GLclampf;
  55.   PGLfloat =  ^GLFloat;
  56.   PGLdouble = ^GLDouble;
  57.   PGLclampd = ^GLclampd;
  58.  
  59.   TGLArrayf4 = array [0..3] of GLFloat;
  60.   TGLArrayf3 = array [0..2] of GLFloat;
  61.   TGLArrayi4 = array [0..3] of GLint;
  62.   {...}
  63.  
  64. {*************************************************************}
  65.  
  66. const
  67. { AttribMask }
  68.   GL_CURRENT_BIT                      = $00000001;
  69.   GL_POINT_BIT                        = $00000002;
  70.   GL_LINE_BIT                         = $00000004;
  71.   GL_POLYGON_BIT                      = $00000008;
  72.   GL_POLYGON_STIPPLE_BIT              = $00000010;
  73.   GL_PIXEL_MODE_BIT                   = $00000020;
  74.   GL_LIGHTING_BIT                     = $00000040;
  75.   GL_FOG_BIT                          = $00000080;
  76.   GL_DEPTH_BUFFER_BIT                 = $00000100;
  77.   GL_ACCUM_BUFFER_BIT                 = $00000200;
  78.   GL_STENCIL_BUFFER_BIT               = $00000400;
  79.   GL_VIEWPORT_BIT                     = $00000800;
  80.   GL_TRANSFORM_BIT                    = $00001000;
  81.   GL_ENABLE_BIT                       = $00002000;
  82.   GL_COLOR_BUFFER_BIT                 = $00004000;
  83.   GL_HINT_BIT                         = $00008000;
  84.   GL_EVAL_BIT                         = $00010000;
  85.   GL_LIST_BIT                         = $00020000;
  86.   GL_TEXTURE_BIT                      = $00040000;
  87.   GL_SCISSOR_BIT                      = $00080000;
  88.   GL_ALL_ATTRIB_BITS                  = $000fffff;
  89.  
  90. { ClearBufferMask }
  91. {      GL_COLOR_BUFFER_BIT }
  92. {      GL_ACCUM_BUFFER_BIT }
  93. {      GL_STENCIL_BUFFER_BIT }
  94. {      GL_DEPTH_BUFFER_BIT }
  95.  
  96. { Boolean }
  97.   GL_FALSE                            = 0;
  98.   GL_TRUE                             = 1;
  99.  
  100. { BeginMode }
  101.   GL_POINTS                           = $0000    ;
  102.   GL_LINES                            = $0001    ;
  103.   GL_LINE_LOOP                        = $0002    ;
  104.   GL_LINE_STRIP                       = $0003    ;
  105.   GL_TRIANGLES                        = $0004    ;
  106.   GL_TRIANGLE_STRIP                   = $0005    ;
  107.   GL_TRIANGLE_FAN                     = $0006    ;
  108.   GL_QUADS                            = $0007    ;
  109.   GL_QUAD_STRIP                       = $0008    ;
  110.   GL_POLYGON                          = $0009    ;
  111.  
  112. { AccumOp }
  113.   GL_ACCUM                            = $0100;
  114.   GL_LOAD                             = $0101;
  115.   GL_RETURN                           = $0102;
  116.   GL_MULT                             = $0103;
  117.   GL_ADD                              = $0104;
  118.  
  119. { AlphaFunction }
  120.   GL_NEVER                            = $0200;
  121.   GL_LESS                             = $0201;
  122.   GL_EQUAL                            = $0202;
  123.   GL_LEQUAL                           = $0203;
  124.   GL_GREATER                          = $0204;
  125.   GL_NOTEQUAL                         = $0205;
  126.   GL_GEQUAL                           = $0206;
  127.   GL_ALWAYS                           = $0207;
  128.  
  129. { BlendingFactorDest }
  130.   GL_ZERO                             = 0;
  131.   GL_ONE                              = 1;
  132.   GL_SRC_COLOR                        = $0300;
  133.   GL_ONE_MINUS_SRC_COLOR              = $0301;
  134.   GL_SRC_ALPHA                        = $0302;
  135.   GL_ONE_MINUS_SRC_ALPHA              = $0303;
  136.   GL_DST_ALPHA                        = $0304;
  137.   GL_ONE_MINUS_DST_ALPHA              = $0305;
  138.  
  139. { BlendingFactorSrc }
  140. {      GL_ZERO }
  141. {      GL_ONE }
  142.   GL_DST_COLOR                        = $0306;
  143.   GL_ONE_MINUS_DST_COLOR              = $0307;
  144.   GL_SRC_ALPHA_SATURATE               = $0308;
  145. {      GL_SRC_ALPHA }
  146. {      GL_ONE_MINUS_SRC_ALPHA }
  147. {      GL_DST_ALPHA }
  148. {      GL_ONE_MINUS_DST_ALPHA }
  149.  
  150. { BlendingMode }
  151. {      GL_LOGIC_OP }
  152.  
  153. { ColorMaterialFace }
  154. {      GL_FRONT }
  155. {      GL_BACK }
  156. {      GL_FRONT_AND_BACK }
  157.  
  158. { ColorMaterialParameter }
  159. {      GL_AMBIENT }
  160. {      GL_DIFFUSE }
  161. {      GL_SPECULAR }
  162. {      GL_EMISSION }
  163. {      GL_AMBIENT_AND_DIFFUSE }
  164.  
  165. { CullFaceMode }
  166. {      GL_FRONT }
  167. {      GL_BACK }
  168. {      GL_FRONT_AND_BACK }
  169.  
  170. { DepthFunction }
  171. {      GL_NEVER }
  172. {      GL_LESS }
  173. {      GL_EQUAL }
  174. {      GL_LEQUAL }
  175. {      GL_GREATER }
  176. {      GL_NOTEQUAL }
  177. {      GL_GEQUAL }
  178. {      GL_ALWAYS }
  179.  
  180. { DrawBufferMode }
  181.   GL_NONE                             = 0;
  182.   GL_FRONT_LEFT                       = $0400;
  183.   GL_FRONT_RIGHT                      = $0401;
  184.   GL_BACK_LEFT                        = $0402;
  185.   GL_BACK_RIGHT                       = $0403;
  186.   GL_FRONT                            = $0404;
  187.   GL_BACK                             = $0405;
  188.   GL_LEFT                             = $0406;
  189.   GL_RIGHT                            = $0407;
  190.   GL_FRONT_AND_BACK                   = $0408;
  191.   GL_AUX0                             = $0409;
  192.   GL_AUX1                             = $040A;
  193.   GL_AUX2                             = $040B;
  194.   GL_AUX3                             = $040C;
  195.  
  196. { ErrorCode }
  197.   GL_NO_ERROR                         = 0;
  198.   GL_INVALID_ENUM                     = $0500;
  199.   GL_INVALID_VALUE                    = $0501;
  200.   GL_INVALID_OPERATION                = $0502;
  201.   GL_STACK_OVERFLOW                   = $0503;
  202.   GL_STACK_UNDERFLOW                  = $0504;
  203.   GL_OUT_OF_MEMORY                    = $0505;
  204.  
  205. { FeedBackMode }
  206.   GL_2D                               = $0600;
  207.   GL_3D                               = $0601;
  208.   GL_3D_COLOR                         = $0602;
  209.   GL_3D_COLOR_TEXTURE                 = $0603;
  210.   GL_4D_COLOR_TEXTURE                 = $0604;
  211.  
  212. { FeedBackToken }
  213.   GL_PASS_THROUGH_TOKEN               = $0700;
  214.   GL_POINT_TOKEN                      = $0701;
  215.   GL_LINE_TOKEN                       = $0702;
  216.   GL_POLYGON_TOKEN                    = $0703;
  217.   GL_BITMAP_TOKEN                     = $0704;
  218.   GL_DRAW_PIXEL_TOKEN                 = $0705;
  219.   GL_COPY_PIXEL_TOKEN                 = $0706;
  220.   GL_LINE_RESET_TOKEN                 = $0707;
  221.  
  222. { FogMode }
  223. {      GL_LINEAR }
  224.   GL_EXP                              = $0800;
  225.   GL_EXP2                             = $0801;
  226.  
  227. { FogParameter }
  228. {      GL_FOG_COLOR }
  229. {      GL_FOG_DENSITY }
  230. {      GL_FOG_END }
  231. {      GL_FOG_INDEX }
  232. {      GL_FOG_MODE }
  233. {      GL_FOG_START }
  234.  
  235. { FrontFaceDirection }
  236.   GL_CW                               = $0900;
  237.   GL_CCW                              = $0901;
  238.  
  239. { GetMapTarget }
  240.   GL_COEFF                            = $0A00;
  241.   GL_ORDER                            = $0A01;
  242.   GL_DOMAIN                           = $0A02;
  243.  
  244. { GetPixelMap }
  245.   GL_PIXEL_MAP_I_TO_I                 = $0C70;
  246.   GL_PIXEL_MAP_S_TO_S                 = $0C71;
  247.   GL_PIXEL_MAP_I_TO_R                 = $0C72;
  248.   GL_PIXEL_MAP_I_TO_G                 = $0C73;
  249.   GL_PIXEL_MAP_I_TO_B                 = $0C74;
  250.   GL_PIXEL_MAP_I_TO_A                 = $0C75;
  251.   GL_PIXEL_MAP_R_TO_R                 = $0C76;
  252.   GL_PIXEL_MAP_G_TO_G                 = $0C77;
  253.   GL_PIXEL_MAP_B_TO_B                 = $0C78;
  254.   GL_PIXEL_MAP_A_TO_A                 = $0C79;
  255.  
  256. { GetTarget }
  257.   GL_CURRENT_COLOR                    = $0B00;
  258.   GL_CURRENT_INDEX                    = $0B01;
  259.   GL_CURRENT_NORMAL                   = $0B02;
  260.   GL_CURRENT_TEXTURE_COORDS           = $0B03;
  261.   GL_CURRENT_RASTER_COLOR             = $0B04;
  262.   GL_CURRENT_RASTER_INDEX             = $0B05;
  263.   GL_CURRENT_RASTER_TEXTURE_COORDS    = $0B06;
  264.   GL_CURRENT_RASTER_POSITION          = $0B07;
  265.   GL_CURRENT_RASTER_POSITION_VALID    = $0B08;
  266.   GL_CURRENT_RASTER_DISTANCE          = $0B09;
  267.   GL_POINT_SMOOTH                     = $0B10;
  268.   GL_POINT_SIZE                       = $0B11;
  269.   GL_POINT_SIZE_RANGE                 = $0B12;
  270.   GL_POINT_SIZE_GRANULARITY           = $0B13;
  271.   GL_LINE_SMOOTH                      = $0B20;
  272.   GL_LINE_WIDTH                       = $0B21;
  273.   GL_LINE_WIDTH_RANGE                 = $0B22;
  274.   GL_LINE_WIDTH_GRANULARITY           = $0B23;
  275.   GL_LINE_STIPPLE                     = $0B24;
  276.   GL_LINE_STIPPLE_PATTERN             = $0B25;
  277.   GL_LINE_STIPPLE_REPEAT              = $0B26;
  278.   GL_LIST_MODE                        = $0B30;
  279.   GL_MAX_LIST_NESTING                 = $0B31;
  280.   GL_LIST_BASE                        = $0B32;
  281.   GL_LIST_INDEX                       = $0B33;
  282.   GL_POLYGON_MODE                     = $0B40;
  283.   GL_POLYGON_SMOOTH                   = $0B41;
  284.   GL_POLYGON_STIPPLE                  = $0B42;
  285.   GL_EDGE_FLAG                        = $0B43;
  286.   GL_CULL_FACE                        = $0B44;
  287.   GL_CULL_FACE_MODE                   = $0B45;
  288.   GL_FRONT_FACE                       = $0B46;
  289.   GL_LIGHTING                         = $0B50;
  290.   GL_LIGHT_MODEL_LOCAL_VIEWER         = $0B51;
  291.   GL_LIGHT_MODEL_TWO_SIDE             = $0B52;
  292.   GL_LIGHT_MODEL_AMBIENT              = $0B53;
  293.   GL_SHADE_MODEL                      = $0B54;
  294.   GL_COLOR_MATERIAL_FACE              = $0B55;
  295.   GL_COLOR_MATERIAL_PARAMETER         = $0B56;
  296.   GL_COLOR_MATERIAL                   = $0B57;
  297.   GL_FOG                              = $0B60;
  298.   GL_FOG_INDEX                        = $0B61;
  299.   GL_FOG_DENSITY                      = $0B62;
  300.   GL_FOG_START                        = $0B63;
  301.   GL_FOG_END                          = $0B64;
  302.   GL_FOG_MODE                         = $0B65;
  303.   GL_FOG_COLOR                        = $0B66;
  304.   GL_DEPTH_RANGE                      = $0B70;
  305.   GL_DEPTH_TEST                       = $0B71;
  306.   GL_DEPTH_WRITEMASK                  = $0B72;
  307.   GL_DEPTH_CLEAR_VALUE                = $0B73;
  308.   GL_DEPTH_FUNC                       = $0B74;
  309.   GL_ACCUM_CLEAR_VALUE                = $0B80;
  310.   GL_STENCIL_TEST                     = $0B90;
  311.   GL_STENCIL_CLEAR_VALUE              = $0B91;
  312.   GL_STENCIL_FUNC                     = $0B92;
  313.   GL_STENCIL_VALUE_MASK               = $0B93;
  314.   GL_STENCIL_FAIL                     = $0B94;
  315.   GL_STENCIL_PASS_DEPTH_FAIL          = $0B95;
  316.   GL_STENCIL_PASS_DEPTH_PASS          = $0B96;
  317.   GL_STENCIL_REF                      = $0B97;
  318.   GL_STENCIL_WRITEMASK                = $0B98;
  319.   GL_MATRIX_MODE                      = $0BA0;
  320.   GL_NORMALIZE                        = $0BA1;
  321.   GL_VIEWPORT                         = $0BA2;
  322.   GL_MODELVIEW_STACK_DEPTH            = $0BA3;
  323.   GL_PROJECTION_STACK_DEPTH           = $0BA4;
  324.   GL_TEXTURE_STACK_DEPTH              = $0BA5;
  325.   GL_MODELVIEW_MATRIX                 = $0BA6;
  326.   GL_PROJECTION_MATRIX                = $0BA7;
  327.   GL_TEXTURE_MATRIX                   = $0BA8;
  328.   GL_ATTRIB_STACK_DEPTH               = $0BB0;
  329.   GL_ALPHA_TEST                       = $0BC0;
  330.   GL_ALPHA_TEST_FUNC                  = $0BC1;
  331.   GL_ALPHA_TEST_REF                   = $0BC2;
  332.   GL_DITHER                           = $0BD0;
  333.   GL_BLEND_DST                        = $0BE0;
  334.   GL_BLEND_SRC                        = $0BE1;
  335.   GL_BLEND                            = $0BE2;
  336.   GL_LOGIC_OP_MODE                    = $0BF0;
  337.   GL_LOGIC_OP                         = $0BF1;
  338.   GL_AUX_BUFFERS                      = $0C00;
  339.   GL_DRAW_BUFFER                      = $0C01;
  340.   GL_READ_BUFFER                      = $0C02;
  341.   GL_SCISSOR_BOX                      = $0C10;
  342.   GL_SCISSOR_TEST                     = $0C11;
  343.   GL_INDEX_CLEAR_VALUE                = $0C20;
  344.   GL_INDEX_WRITEMASK                  = $0C21;
  345.   GL_COLOR_CLEAR_VALUE                = $0C22;
  346.   GL_COLOR_WRITEMASK                  = $0C23;
  347.   GL_INDEX_MODE                       = $0C30;
  348.   GL_RGBA_MODE                        = $0C31;
  349.   GL_DOUBLEBUFFER                     = $0C32;
  350.   GL_STEREO                           = $0C33;
  351.   GL_RENDER_MODE                      = $0C40;
  352.   GL_PERSPECTIVE_CORRECTION_HINT      = $0C50;
  353.   GL_POINT_SMOOTH_HINT                = $0C51;
  354.   GL_LINE_SMOOTH_HINT                 = $0C52;
  355.   GL_POLYGON_SMOOTH_HINT              = $0C53;
  356.   GL_FOG_HINT                         = $0C54;
  357.   GL_TEXTURE_GEN_S                    = $0C60;
  358.   GL_TEXTURE_GEN_T                    = $0C61;
  359.   GL_TEXTURE_GEN_R                    = $0C62;
  360.   GL_TEXTURE_GEN_Q                    = $0C63;
  361.   GL_PIXEL_MAP_I_TO_I_SIZE            = $0CB0;
  362.   GL_PIXEL_MAP_S_TO_S_SIZE            = $0CB1;
  363.   GL_PIXEL_MAP_I_TO_R_SIZE            = $0CB2;
  364.   GL_PIXEL_MAP_I_TO_G_SIZE            = $0CB3;
  365.   GL_PIXEL_MAP_I_TO_B_SIZE            = $0CB4;
  366.   GL_PIXEL_MAP_I_TO_A_SIZE            = $0CB5;
  367.   GL_PIXEL_MAP_R_TO_R_SIZE            = $0CB6;
  368.   GL_PIXEL_MAP_G_TO_G_SIZE            = $0CB7;
  369.   GL_PIXEL_MAP_B_TO_B_SIZE            = $0CB8;
  370.   GL_PIXEL_MAP_A_TO_A_SIZE            = $0CB9;
  371.   GL_UNPACK_SWAP_BYTES                = $0CF0;
  372.   GL_UNPACK_LSB_FIRST                 = $0CF1;
  373.   GL_UNPACK_ROW_LENGTH                = $0CF2;
  374.   GL_UNPACK_SKIP_ROWS                 = $0CF3;
  375.   GL_UNPACK_SKIP_PIXELS               = $0CF4;
  376.   GL_UNPACK_ALIGNMENT                 = $0CF5;
  377.   GL_PACK_SWAP_BYTES                  = $0D00;
  378.   GL_PACK_LSB_FIRST                   = $0D01;
  379.   GL_PACK_ROW_LENGTH                  = $0D02;
  380.   GL_PACK_SKIP_ROWS                   = $0D03;
  381.   GL_PACK_SKIP_PIXELS                 = $0D04;
  382.   GL_PACK_ALIGNMENT                   = $0D05;
  383.   GL_MAP_COLOR                        = $0D10;
  384.   GL_MAP_STENCIL                      = $0D11;
  385.   GL_INDEX_SHIFT                      = $0D12;
  386.   GL_INDEX_OFFSET                     = $0D13;
  387.   GL_RED_SCALE                        = $0D14;
  388.   GL_RED_BIAS                         = $0D15;
  389.   GL_ZOOM_X                           = $0D16;
  390.   GL_ZOOM_Y                           = $0D17;
  391.   GL_GREEN_SCALE                      = $0D18;
  392.   GL_GREEN_BIAS                       = $0D19;
  393.   GL_BLUE_SCALE                       = $0D1A;
  394.   GL_BLUE_BIAS                        = $0D1B;
  395.   GL_ALPHA_SCALE                      = $0D1C;
  396.   GL_ALPHA_BIAS                       = $0D1D;
  397.   GL_DEPTH_SCALE                      = $0D1E;
  398.   GL_DEPTH_BIAS                       = $0D1F;
  399.   GL_MAX_EVAL_ORDER                   = $0D30;
  400.   GL_MAX_LIGHTS                       = $0D31;
  401.   GL_MAX_CLIP_PLANES                  = $0D32;
  402.   GL_MAX_TEXTURE_SIZE                 = $0D33;
  403.   GL_MAX_PIXEL_MAP_TABLE              = $0D34;
  404.   GL_MAX_ATTRIB_STACK_DEPTH           = $0D35;
  405.   GL_MAX_MODELVIEW_STACK_DEPTH        = $0D36;
  406.   GL_MAX_NAME_STACK_DEPTH             = $0D37;
  407.   GL_MAX_PROJECTION_STACK_DEPTH       = $0D38;
  408.   GL_MAX_TEXTURE_STACK_DEPTH          = $0D39;
  409.   GL_MAX_VIEWPORT_DIMS                = $0D3A;
  410.   GL_SUBPIXEL_BITS                    = $0D50;
  411.   GL_INDEX_BITS                       = $0D51;
  412.   GL_RED_BITS                         = $0D52;
  413.   GL_GREEN_BITS                       = $0D53;
  414.   GL_BLUE_BITS                        = $0D54;
  415.   GL_ALPHA_BITS                       = $0D55;
  416.   GL_DEPTH_BITS                       = $0D56;
  417.   GL_STENCIL_BITS                     = $0D57;
  418.   GL_ACCUM_RED_BITS                   = $0D58;
  419.   GL_ACCUM_GREEN_BITS                 = $0D59;
  420.   GL_ACCUM_BLUE_BITS                  = $0D5A;
  421.   GL_ACCUM_ALPHA_BITS                 = $0D5B;
  422.   GL_NAME_STACK_DEPTH                 = $0D70;
  423.   GL_AUTO_NORMAL                      = $0D80;
  424.   GL_MAP1_COLOR_4                     = $0D90;
  425.   GL_MAP1_INDEX                       = $0D91;
  426.   GL_MAP1_NORMAL                      = $0D92;
  427.   GL_MAP1_TEXTURE_COORD_1             = $0D93;
  428.   GL_MAP1_TEXTURE_COORD_2             = $0D94;
  429.   GL_MAP1_TEXTURE_COORD_3             = $0D95;
  430.   GL_MAP1_TEXTURE_COORD_4             = $0D96;
  431.   GL_MAP1_VERTEX_3                    = $0D97;
  432.   GL_MAP1_VERTEX_4                    = $0D98;
  433.   GL_MAP2_COLOR_4                     = $0DB0;
  434.   GL_MAP2_INDEX                       = $0DB1;
  435.   GL_MAP2_NORMAL                      = $0DB2;
  436.   GL_MAP2_TEXTURE_COORD_1             = $0DB3;
  437.   GL_MAP2_TEXTURE_COORD_2             = $0DB4;
  438.   GL_MAP2_TEXTURE_COORD_3             = $0DB5;
  439.   GL_MAP2_TEXTURE_COORD_4             = $0DB6;
  440.   GL_MAP2_VERTEX_3                    = $0DB7;
  441.   GL_MAP2_VERTEX_4                    = $0DB8;
  442.   GL_MAP1_GRID_DOMAIN                 = $0DD0;
  443.   GL_MAP1_GRID_SEGMENTS               = $0DD1;
  444.   GL_MAP2_GRID_DOMAIN                 = $0DD2;
  445.   GL_MAP2_GRID_SEGMENTS               = $0DD3;
  446.   GL_TEXTURE_1D                       = $0DE0;
  447.   GL_TEXTURE_2D                       = $0DE1;
  448.  
  449. { GetTextureParameter }
  450. {      GL_TEXTURE_MAG_FILTER }
  451. {      GL_TEXTURE_MIN_FILTER }
  452. {      GL_TEXTURE_WRAP_S }
  453. {      GL_TEXTURE_WRAP_T }
  454.   GL_TEXTURE_WIDTH                    = $1000;
  455.   GL_TEXTURE_HEIGHT                   = $1001;
  456.   GL_TEXTURE_COMPONENTS               = $1003;
  457.   GL_TEXTURE_BORDER_COLOR             = $1004;
  458.   GL_TEXTURE_BORDER                   = $1005;
  459.  
  460. { HintMode }
  461.   GL_DONT_CARE                        = $1100;
  462.   GL_FASTEST                          = $1101;
  463.   GL_NICEST                           = $1102;
  464.  
  465. { HintTarget }
  466. {      GL_PERSPECTIVE_CORRECTION_HINT }
  467. {      GL_POINT_SMOOTH_HINT }
  468. {      GL_LINE_SMOOTH_HINT }
  469. {      GL_POLYGON_SMOOTH_HINT }
  470. {      GL_FOG_HINT }
  471.  
  472. { LightModelParameter }
  473. {      GL_LIGHT_MODEL_AMBIENT }
  474. {      GL_LIGHT_MODEL_LOCAL_VIEWER }
  475. {      GL_LIGHT_MODEL_TWO_SIDE }
  476.  
  477. { LightParameter }
  478.   GL_AMBIENT                          = $1200;
  479.   GL_DIFFUSE                          = $1201;
  480.   GL_SPECULAR                         = $1202;
  481.   GL_POSITION                         = $1203;
  482.   GL_SPOT_DIRECTION                   = $1204;
  483.   GL_SPOT_EXPONENT                    = $1205;
  484.   GL_SPOT_CUTOFF                      = $1206;
  485.   GL_CONSTANT_ATTENUATION             = $1207;
  486.   GL_LINEAR_ATTENUATION               = $1208;
  487.   GL_QUADRATIC_ATTENUATION            = $1209;
  488.  
  489. { ListMode }
  490.   GL_COMPILE                          = $1300;
  491.   GL_COMPILE_AND_EXECUTE              = $1301;
  492.  
  493. { ListNameType }
  494.   GL_BYTE                             = $1400;
  495.   GL_UNSIGNED_BYTE                    = $1401;
  496.   GL_SHORT                            = $1402;
  497.   GL_UNSIGNED_SHORT                   = $1403;
  498.   GL_INT                              = $1404;
  499.   GL_UNSIGNED_INT                     = $1405;
  500.   GL_FLOAT                            = $1406;
  501.   GL_2_BYTES                          = $1407;
  502.   GL_3_BYTES                          = $1408;
  503.   GL_4_BYTES                          = $1409;
  504.  
  505. { LogicOp }
  506.   GL_CLEAR                            = $1500;
  507.   GL_AND                              = $1501;
  508.   GL_AND_REVERSE                      = $1502;
  509.   GL_COPY                             = $1503;
  510.   GL_AND_INVERTED                     = $1504;
  511.   GL_NOOP                             = $1505;
  512.   GL_XOR                              = $1506;
  513.   GL_OR                               = $1507;
  514.   GL_NOR                              = $1508;
  515.   GL_EQUIV                            = $1509;
  516.   GL_INVERT                           = $150A;
  517.   GL_OR_REVERSE                       = $150B;
  518.   GL_COPY_INVERTED                    = $150C;
  519.   GL_OR_INVERTED                      = $150D;
  520.   GL_NAND                             = $150E;
  521.   GL_SET                              = $150F;
  522.  
  523. { MapTarget }
  524. {      GL_MAP1_COLOR_4 }
  525. {      GL_MAP1_INDEX }
  526. {      GL_MAP1_NORMAL }
  527. {      GL_MAP1_TEXTURE_COORD_1 }
  528. {      GL_MAP1_TEXTURE_COORD_2 }
  529. {      GL_MAP1_TEXTURE_COORD_3 }
  530. {      GL_MAP1_TEXTURE_COORD_4 }
  531. {      GL_MAP1_VERTEX_3 }
  532. {      GL_MAP1_VERTEX_4 }
  533. {      GL_MAP2_COLOR_4 }
  534. {      GL_MAP2_INDEX }
  535. {      GL_MAP2_NORMAL }
  536. {      GL_MAP2_TEXTURE_COORD_1 }
  537. {      GL_MAP2_TEXTURE_COORD_2 }
  538. {      GL_MAP2_TEXTURE_COORD_3 }
  539. {      GL_MAP2_TEXTURE_COORD_4 }
  540. {      GL_MAP2_VERTEX_3 }
  541. {      GL_MAP2_VERTEX_4 }
  542.  
  543. { MaterialFace }
  544. {      GL_FRONT }
  545. {      GL_BACK }
  546. {      GL_FRONT_AND_BACK }
  547.  
  548. { MaterialParameter }
  549.   GL_EMISSION                         = $1600;
  550.   GL_SHININESS                        = $1601;
  551.   GL_AMBIENT_AND_DIFFUSE              = $1602;
  552.   GL_COLOR_INDEXES                    = $1603;
  553. {      GL_AMBIENT }
  554. {      GL_DIFFUSE }
  555. {      GL_SPECULAR }
  556.  
  557. { MatrixMode }
  558.   GL_MODELVIEW                        = $1700;
  559.   GL_PROJECTION                       = $1701;
  560.   GL_TEXTURE                          = $1702;
  561.  
  562. { MeshMode1 }
  563. {      GL_POINT }
  564. {      GL_LINE }
  565.  
  566. { MeshMode2 }
  567. {      GL_POINT }
  568. {      GL_LINE }
  569. {      GL_FILL }
  570.  
  571. { PixelCopyType }
  572.   GL_COLOR                            = $1800;
  573.   GL_DEPTH                            = $1801;
  574.   GL_STENCIL                          = $1802;
  575.  
  576. { PixelFormat }
  577.   GL_COLOR_INDEX                      = $1900;
  578.   GL_STENCIL_INDEX                    = $1901;
  579.   GL_DEPTH_COMPONENT                  = $1902;
  580.   GL_RED                              = $1903;
  581.   GL_GREEN                            = $1904;
  582.   GL_BLUE                             = $1905;
  583.   GL_ALPHA                            = $1906;
  584.   GL_RGB                              = $1907;
  585.   GL_RGBA                             = $1908;
  586.   GL_LUMINANCE                        = $1909;
  587.   GL_LUMINANCE_ALPHA                  = $190A;
  588.  
  589. { PixelMap }
  590. {      GL_PIXEL_MAP_I_TO_I }
  591. {      GL_PIXEL_MAP_S_TO_S }
  592. {      GL_PIXEL_MAP_I_TO_R }
  593. {      GL_PIXEL_MAP_I_TO_G }
  594. {      GL_PIXEL_MAP_I_TO_B }
  595. {      GL_PIXEL_MAP_I_TO_A }
  596. {      GL_PIXEL_MAP_R_TO_R }
  597. {      GL_PIXEL_MAP_G_TO_G }
  598. {      GL_PIXEL_MAP_B_TO_B }
  599. {      GL_PIXEL_MAP_A_TO_A }
  600.  
  601. { PixelStore }
  602. {      GL_UNPACK_SWAP_BYTES }
  603. {      GL_UNPACK_LSB_FIRST }
  604. {      GL_UNPACK_ROW_LENGTH }
  605. {      GL_UNPACK_SKIP_ROWS }
  606. {      GL_UNPACK_SKIP_PIXELS }
  607. {      GL_UNPACK_ALIGNMENT }
  608. {      GL_PACK_SWAP_BYTES }
  609. {      GL_PACK_LSB_FIRST }
  610. {      GL_PACK_ROW_LENGTH }
  611. {      GL_PACK_SKIP_ROWS }
  612. {      GL_PACK_SKIP_PIXELS }
  613. {      GL_PACK_ALIGNMENT }
  614.  
  615. { PixelTransfer }
  616. {      GL_MAP_COLOR }
  617. {      GL_MAP_STENCIL }
  618. {      GL_INDEX_SHIFT }
  619. {      GL_INDEX_OFFSET }
  620. {      GL_RED_SCALE }
  621. {      GL_RED_BIAS }
  622. {      GL_GREEN_SCALE }
  623. {      GL_GREEN_BIAS }
  624. {      GL_BLUE_SCALE }
  625. {      GL_BLUE_BIAS }
  626. {      GL_ALPHA_SCALE }
  627. {      GL_ALPHA_BIAS }
  628. {      GL_DEPTH_SCALE }
  629. {      GL_DEPTH_BIAS }
  630.  
  631. { PixelType }
  632.   GL_BITMAP                           = $1A00;
  633. {      GL_BYTE }
  634. {      GL_UNSIGNED_BYTE }
  635. {      GL_SHORT }
  636. {      GL_UNSIGNED_SHORT }
  637. {      GL_INT }
  638. {      GL_UNSIGNED_INT }
  639. {      GL_FLOAT }
  640.  
  641. { PolygonMode }
  642.   GL_POINT                            = $1B00;
  643.   GL_LINE                             = $1B01;
  644.   GL_FILL                             = $1B02;
  645.  
  646. { ReadBufferMode }
  647. {      GL_FRONT_LEFT }
  648. {      GL_FRONT_RIGHT }
  649. {      GL_BACK_LEFT }
  650. {      GL_BACK_RIGHT }
  651. {      GL_FRONT }
  652. {      GL_BACK }
  653. {      GL_LEFT }
  654. {      GL_RIGHT }
  655. {      GL_AUX0 }
  656. {      GL_AUX1 }
  657. {      GL_AUX2 }
  658. {      GL_AUX3 }
  659.  
  660. { RenderingMode }
  661.   GL_RENDER                           = $1C00;
  662.   GL_FEEDBACK                         = $1C01;
  663.   GL_SELECT                           = $1C02;
  664.  
  665. { ShadingModel }
  666.   GL_FLAT                             = $1D00;
  667.   GL_SMOOTH                           = $1D01;
  668.  
  669. { StencilFunction }
  670. {      GL_NEVER }
  671. {      GL_LESS }
  672. {      GL_EQUAL }
  673. {      GL_LEQUAL }
  674. {      GL_GREATER }
  675. {      GL_NOTEQUAL }
  676. {      GL_GEQUAL }
  677. {      GL_ALWAYS }
  678.  
  679. { StencilOp }
  680. {      GL_ZERO }
  681.   GL_KEEP                             = $1E00;
  682.   GL_REPLACE                          = $1E01;
  683.   GL_INCR                             = $1E02;
  684.   GL_DECR                             = $1E03;
  685. {      GL_INVERT }
  686.  
  687. { StringName }
  688.   GL_VENDOR                           = $1F00;
  689.   GL_RENDERER                         = $1F01;
  690.   GL_VERSION                          = $1F02;
  691.   GL_EXTENSIONS                       = $1F03;
  692.  
  693. { TextureCoordName }
  694.   GL_S                                = $2000;
  695.   GL_T                                = $2001;
  696.   GL_R                                = $2002;
  697.   GL_Q                                = $2003;
  698.  
  699. { TextureEnvMode }
  700.   GL_MODULATE                         = $2100;
  701.   GL_DECAL                            = $2101;
  702. {      GL_BLEND }
  703.  
  704. { TextureEnvParameter }
  705.   GL_TEXTURE_ENV_MODE                 = $2200;
  706.   GL_TEXTURE_ENV_COLOR                = $2201;
  707.  
  708. { TextureEnvTarget }
  709.   GL_TEXTURE_ENV                      = $2300;
  710.  
  711. { TextureGenMode }
  712.   GL_EYE_LINEAR                       = $2400;
  713.   GL_OBJECT_LINEAR                    = $2401;
  714.   GL_SPHERE_MAP                       = $2402;
  715.  
  716. { TextureGenParameter }
  717.   GL_TEXTURE_GEN_MODE                 = $2500;
  718.   GL_OBJECT_PLANE                     = $2501;
  719.   GL_EYE_PLANE                        = $2502;
  720.  
  721. { TextureMagFilter }
  722.   GL_NEAREST                          = $2600;
  723.   GL_LINEAR                           = $2601;
  724.  
  725. { TextureMinFilter }
  726. {      GL_NEAREST }
  727. {      GL_LINEAR }
  728.   GL_NEAREST_MIPMAP_NEAREST           = $2700;
  729.   GL_LINEAR_MIPMAP_NEAREST            = $2701;
  730.   GL_NEAREST_MIPMAP_LINEAR            = $2702;
  731.   GL_LINEAR_MIPMAP_LINEAR             = $2703;
  732.  
  733. { TextureParameterName }
  734.   GL_TEXTURE_MAG_FILTER               = $2800;
  735.   GL_TEXTURE_MIN_FILTER               = $2801;
  736.   GL_TEXTURE_WRAP_S                   = $2802;
  737.   GL_TEXTURE_WRAP_T                   = $2803;
  738. {      GL_TEXTURE_BORDER_COLOR }
  739.  
  740. { TextureTarget }
  741. {      GL_TEXTURE_1D }
  742. {      GL_TEXTURE_2D }
  743.  
  744. { TextureWrapMode }
  745.   GL_CLAMP                            = $2900;
  746.   GL_REPEAT                           = $2901;
  747.  
  748. { ClipPlaneName }
  749.   GL_CLIP_PLANE0                      = $3000;
  750.   GL_CLIP_PLANE1                      = $3001;
  751.   GL_CLIP_PLANE2                      = $3002;
  752.   GL_CLIP_PLANE3                      = $3003;
  753.   GL_CLIP_PLANE4                      = $3004;
  754.   GL_CLIP_PLANE5                      = $3005;
  755.  
  756. { LightName }
  757.   GL_LIGHT0                           = $4000;
  758.   GL_LIGHT1                           = $4001;
  759.   GL_LIGHT2                           = $4002;
  760.   GL_LIGHT3                           = $4003;
  761.   GL_LIGHT4                           = $4004;
  762.   GL_LIGHT5                           = $4005;
  763.   GL_LIGHT6                           = $4006;
  764.   GL_LIGHT7                           = $4007;
  765.  
  766. // Extensions
  767.   GL_EXT_vertex_array                 = 1;
  768.   GL_WIN_swap_hint                    = 1;
  769.  
  770. // EXT_vertex_array
  771.   GL_VERTEX_ARRAY_EXT               = $8074;
  772.   GL_NORMAL_ARRAY_EXT               = $8075;
  773.   GL_COLOR_ARRAY_EXT                = $8076;
  774.   GL_INDEX_ARRAY_EXT                = $8077;
  775.   GL_TEXTURE_COORD_ARRAY_EXT        = $8078;
  776.   GL_EDGE_FLAG_ARRAY_EXT            = $8079;
  777.   GL_VERTEX_ARRAY_SIZE_EXT          = $807A;
  778.   GL_VERTEX_ARRAY_TYPE_EXT          = $807B;
  779.   GL_VERTEX_ARRAY_STRIDE_EXT        = $807C;
  780.   GL_VERTEX_ARRAY_COUNT_EXT         = $807D;
  781.   GL_NORMAL_ARRAY_TYPE_EXT          = $807E;
  782.   GL_NORMAL_ARRAY_STRIDE_EXT        = $807F;
  783.   GL_NORMAL_ARRAY_COUNT_EXT         = $8080;
  784.   GL_COLOR_ARRAY_SIZE_EXT           = $8081;
  785.   GL_COLOR_ARRAY_TYPE_EXT           = $8082;
  786.   GL_COLOR_ARRAY_STRIDE_EXT         = $8083;
  787.   GL_COLOR_ARRAY_COUNT_EXT          = $8084;
  788.   GL_INDEX_ARRAY_TYPE_EXT           = $8085;
  789.   GL_INDEX_ARRAY_STRIDE_EXT         = $8086;
  790.   GL_INDEX_ARRAY_COUNT_EXT          = $8087;
  791.   GL_TEXTURE_COORD_ARRAY_SIZE_EXT   = $8088;
  792.   GL_TEXTURE_COORD_ARRAY_TYPE_EXT   = $8089;
  793.   GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = $808A;
  794.   GL_TEXTURE_COORD_ARRAY_COUNT_EXT  = $808B;
  795.   GL_EDGE_FLAG_ARRAY_STRIDE_EXT     = $808C;
  796.   GL_EDGE_FLAG_ARRAY_COUNT_EXT      = $808D;
  797.   GL_VERTEX_ARRAY_POINTER_EXT       = $808E;
  798.   GL_NORMAL_ARRAY_POINTER_EXT       = $808F;
  799.   GL_COLOR_ARRAY_POINTER_EXT        = $8090;
  800.   GL_INDEX_ARRAY_POINTER_EXT        = $8091;
  801.   GL_TEXTURE_COORD_ARRAY_POINTER_EXT = $8092;
  802.   GL_EDGE_FLAG_ARRAY_POINTER_EXT    = $8093;
  803.  
  804.  
  805. type
  806.   PPointFloat = ^TPointFloat;
  807.   {$EXTERNALSYM _POINTFLOAT}
  808.   _POINTFLOAT = record
  809.     X,Y: Single;
  810.   end;
  811.   TPointFloat = _POINTFLOAT;
  812.   {$EXTERNALSYM POINTFLOAT}
  813.   POINTFLOAT = _POINTFLOAT;
  814.  
  815.   PGlyphMetricsFloat = ^TGlyphMetricsFloat;
  816.   {$EXTERNALSYM _GLYPHMETRICSFLOAT}
  817.   _GLYPHMETRICSFLOAT = record
  818.     gmfBlackBoxX: Single;
  819.     gmfBlackBoxY: Single;
  820.     gmfptGlyphOrigin: TPointFloat;
  821.     gmfCellIncX: Single;
  822.     gmfCellIncY: Single;
  823.   end;
  824.   TGlyphMetricsFloat = _GLYPHMETRICSFLOAT;
  825.   {$EXTERNALSYM GLYPHMETRICSFLOAT}
  826.   GLYPHMETRICSFLOAT = _GLYPHMETRICSFLOAT;
  827.  
  828. const
  829.   {$EXTERNALSYM WGL_FONT_LINES}
  830.   WGL_FONT_LINES      = 0;
  831.   {$EXTERNALSYM WGL_FONT_POLYGONS}
  832.   WGL_FONT_POLYGONS   = 1;
  833.  
  834. {***********************************************************}
  835.  
  836. procedure glAccum (op: GLenum; value: GLfloat); stdcall;
  837. procedure glAlphaFunc (func: GLenum; ref: GLclampf); stdcall;
  838. procedure glBegin (mode: GLenum); stdcall;
  839. procedure glBitmap (width, height: GLsizei; xorig, yorig: GLfloat;
  840.                     xmove, ymove: GLfloat; bitmap: Pointer); stdcall;
  841. procedure glBlendFunc (sfactor, dfactor: GLenum); stdcall;
  842. procedure glCallList (list: GLuint); stdcall;
  843. procedure glCallLists (n: GLsizei; cltype: GLenum; lists: Pointer); stdcall;
  844. procedure glClear (mask: GLbitfield); stdcall;
  845. procedure glClearAccum (red, green, blue, alpha: GLfloat); stdcall;
  846. procedure glClearColor (red, green, blue, alpha: GLclampf); stdcall;
  847. procedure glClearDepth (depth: GLclampd); stdcall;
  848. procedure glClearIndex (c: GLfloat); stdcall;
  849. procedure glClearStencil (s: GLint); stdcall;
  850. procedure glClipPlane (plane: GLenum; equation: PGLDouble); stdcall;
  851. procedure glColor3b (red, green, blue: GLbyte); stdcall;
  852. procedure glColor3bv (v: PGLByte); stdcall;
  853. procedure glColor3d (red, green, blue: GLdouble); stdcall;
  854. procedure glColor3dv (v: PGLdouble); stdcall;
  855. procedure glColor3f (red, green, blue: GLfloat); stdcall;
  856. procedure glColor3fv (v: PGLfloat); stdcall;
  857. procedure glColor3i (red, green, blue: GLint); stdcall;
  858. procedure glColor3iv (v: PGLint); stdcall;
  859. procedure glColor3s (red, green, blue: GLshort); stdcall;
  860. procedure glColor3sv (v: PGLshort); stdcall;
  861. procedure glColor3ub (red, green, blue: GLubyte); stdcall;
  862. procedure glColor3ubv (v: PGLubyte); stdcall;
  863. procedure glColor3ui (red, green, blue: GLuint); stdcall;
  864. procedure glColor3uiv (v: PGLuint); stdcall;
  865. procedure glColor3us (red, green, blue: GLushort); stdcall;
  866. procedure glColor3usv (v: PGLushort); stdcall;
  867. procedure glColor4b (red, green, blue, alpha: GLbyte); stdcall;
  868. procedure glColor4bv (v: PGLbyte); stdcall;
  869. procedure glColor4d (red, green, blue, alpha: GLdouble); stdcall;
  870. procedure glColor4dv (v: PGLdouble); stdcall;
  871. procedure glColor4f (red, green, blue, alpha: GLfloat); stdcall;
  872. procedure glColor4fv (v: PGLfloat); stdcall;
  873. procedure glColor4i (red, green, blue, alpha: GLint); stdcall;
  874. procedure glColor4iv (v: PGLint); stdcall;
  875. procedure glColor4s (red, green, blue, alpha: GLshort); stdcall;
  876. procedure glColor4sv (v: PGLshort); stdcall;
  877. procedure glColor4ub (red, green, blue, alpha: GLubyte); stdcall;
  878. procedure glColor4ubv (v: PGLubyte); stdcall;
  879. procedure glColor4ui (red, green, blue, alpha: GLuint); stdcall;
  880. procedure glColor4uiv (v: PGLuint); stdcall;
  881. procedure glColor4us (red, green, blue, alpha: GLushort); stdcall;
  882. procedure glColor4usv (v: PGLushort); stdcall;
  883. procedure glColorMask (red, green, blue, alpha: GLboolean); stdcall;
  884. procedure glColorMaterial (face, mode: GLenum); stdcall;
  885. procedure glCopyPixels (x,y: GLint; width, height: GLsizei; pixeltype: GLenum); stdcall;
  886. procedure glCullFace (mode: GLenum); stdcall;
  887. procedure glDeleteLists (list: GLuint; range: GLsizei); stdcall;
  888. procedure glDepthFunc (func: GLenum); stdcall;
  889. procedure glDepthMask (flag: GLboolean); stdcall;
  890. procedure glDepthRange (zNear, zFar: GLclampd); stdcall;
  891. procedure glDisable (cap: GLenum); stdcall;
  892. procedure glDrawBuffer (mode: GLenum); stdcall;
  893. procedure glDrawPixels (width, height: GLsizei; format, pixeltype: GLenum;
  894.              pixels: Pointer); stdcall;
  895. procedure glEdgeFlag (flag: GLboolean); stdcall;
  896. procedure glEdgeFlagv (flag: PGLboolean); stdcall;
  897. procedure glEnable (cap: GLenum); stdcall;
  898. procedure glEnd; stdcall;
  899. procedure glEndList; stdcall;
  900. procedure glEvalCoord1d (u: GLdouble); stdcall;
  901. procedure glEvalCoord1dv (u: PGLdouble); stdcall;
  902. procedure glEvalCoord1f (u: GLfloat); stdcall;
  903. procedure glEvalCoord1fv (u: PGLfloat); stdcall;
  904. procedure glEvalCoord2d (u,v: GLdouble); stdcall;
  905. procedure glEvalCoord2dv (u: PGLdouble); stdcall;
  906. procedure glEvalCoord2f (u,v: GLfloat); stdcall;
  907. procedure glEvalCoord2fv (u: PGLfloat); stdcall;
  908. procedure glEvalMesh1 (mode: GLenum; i1, i2: GLint); stdcall;
  909. procedure glEvalMesh2 (mode: GLenum; i1, i2, j1, j2: GLint); stdcall;
  910. procedure glEvalPoint1 (i: GLint); stdcall;
  911. procedure glEvalPoint2 (i,j: GLint); stdcall;
  912. procedure glFeedbackBuffer (size: GLsizei; buftype: GLenum; buffer: PGLFloat); stdcall;
  913. procedure glFinish; stdcall;
  914. procedure glFlush; stdcall;
  915. procedure glFogf (pname: GLenum; param: GLfloat); stdcall;
  916. procedure glFogfv (pname: GLenum; params: PGLfloat); stdcall;
  917. procedure glFogi (pname: GLenum; param: GLint); stdcall;
  918. procedure glFogiv (pname: GLenum; params: PGLint); stdcall;
  919. procedure glFrontFace (mode: GLenum); stdcall;
  920. procedure glFrustum (left, right, bottom, top, zNear, zFar: GLdouble); stdcall;
  921. function  glGenLists (range: GLsizei): GLuint; stdcall;
  922. procedure glGetBooleanv (pname: GLenum; params: PGLboolean); stdcall;
  923. procedure glGetClipPlane (plane: GLenum; equation: PGLdouble); stdcall;
  924. procedure glGetDoublev (pname: GLenum; params: PGLdouble); stdcall;
  925. function  glGetError: GLenum; stdcall;
  926. procedure glGetFloatv (pname: GLenum; params: PGLfloat); stdcall;
  927. procedure glGetIntegerv (pname: GLenum; params: PGLint); stdcall;
  928. procedure glGetLightfv (light: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  929. procedure glGetLightiv (light: GLenum; pname: GLenum; params: PGLint); stdcall;
  930. procedure glGetMapdv (target: GLenum; query: GLenum; v: PGLdouble); stdcall;
  931. procedure glGetMapfv (target: GLenum; query: GLenum; v: PGLfloat); stdcall;
  932. procedure glGetMapiv (target: GLenum; query: GLenum; v: PGLint); stdcall;
  933. procedure glGetMaterialfv (face: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  934. procedure glGetMaterialiv (face: GLenum; pname: GLenum; params: PGLint); stdcall;
  935. procedure glGetPixelMapfv (map: GLenum; values: PGLfloat); stdcall;
  936. procedure glGetPixelMapuiv (map: GLenum; values: PGLuint); stdcall;
  937. procedure glGetPixelMapusv (map: GLenum; values: PGLushort); stdcall;
  938. procedure glGetPolygonStipple (var mask: GLubyte); stdcall;
  939. function  glGetString (name: GLenum): PChar; stdcall;
  940. procedure glGetTexEnvfv (target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  941. procedure glGetTexEnviv (target: GLenum; pname: GLenum; params: PGLint); stdcall;
  942. procedure glGetTexGendv (coord: GLenum; pname: GLenum; params: PGLdouble); stdcall;
  943. procedure glGetTexGenfv (coord: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  944. procedure glGetTexGeniv (coord: GLenum; pname: GLenum; params: PGLint); stdcall;
  945. procedure glGetTexImage (target: GLenum; level: GLint; format: GLenum; _type: GLenum; pixels: pointer); stdcall;
  946. procedure glGetTexLevelParameterfv (target: GLenum; level: GLint; pname: GLenum; params: PGLfloat); stdcall;
  947. procedure glGetTexLevelParameteriv (target: GLenum; level: GLint; pname: GLenum; params: PGLint); stdcall;
  948. procedure glGetTexParameterfv (target, pname: GLenum; params: PGLfloat); stdcall;
  949. procedure glGetTexParameteriv (target, pname: GLenum; params: PGLint); stdcall;
  950. procedure glHint (target, mode: GLenum); stdcall;
  951. procedure glIndexMask (mask: GLuint); stdcall;
  952. procedure glIndexd (c: GLdouble); stdcall;
  953. procedure glIndexdv (c: PGLdouble); stdcall;
  954. procedure glIndexf (c: GLfloat); stdcall;
  955. procedure glIndexfv (c: PGLfloat); stdcall;
  956. procedure glIndexi (c: GLint); stdcall;
  957. procedure glIndexiv (c: PGLint); stdcall;
  958. procedure glIndexs (c: GLshort); stdcall;
  959. procedure glIndexsv (c: PGLshort); stdcall;
  960. procedure glInitNames; stdcall;
  961. function  glIsEnabled (cap: GLenum): GLBoolean; stdcall;
  962. function  glIsList (list: GLuint): GLBoolean;   stdcall;
  963. procedure glLightModelf (pname: GLenum; param: GLfloat); stdcall;
  964. procedure glLightModelfv (pname: GLenum; params: PGLfloat); stdcall;
  965. procedure glLightModeli (pname: GLenum; param: GLint); stdcall;
  966. procedure glLightModeliv (pname: GLenum; params: PGLint); stdcall;
  967. procedure glLightf (light, pname: GLenum; param: GLfloat); stdcall;
  968. procedure glLightfv (light, pname: GLenum; params: PGLfloat); stdcall;
  969. procedure glLighti (light, pname: GLenum; param: GLint); stdcall;
  970. procedure glLightiv (light, pname: GLenum; params: PGLint); stdcall;
  971. procedure glLineStipple (factor: GLint; pattern: GLushort); stdcall;
  972. procedure glLineWidth (width: GLfloat); stdcall;
  973. procedure glListBase (base: GLuint); stdcall;
  974. procedure glLoadIdentity; stdcall;
  975. procedure glLoadMatrixd (m: PGLdouble); stdcall;
  976. procedure glLoadMatrixf (m: PGLfloat); stdcall;
  977. procedure glLoadName (name: GLuint); stdcall;
  978. procedure glLogicOp (opcode: GLenum); stdcall;
  979. procedure glMap1d (target: GLenum; u1,u2: GLdouble; stride, order: GLint;
  980.   Points: PGLdouble); stdcall;
  981. procedure glMap1f (target: GLenum; u1,u2: GLfloat; stride, order: GLint;
  982.   Points: PGLfloat); stdcall;
  983. procedure glMap2d (target: GLenum;
  984.   u1,u2: GLdouble; ustride, uorder: GLint;
  985.   v1,v2: GLdouble; vstride, vorder: GLint; Points: PGLdouble); stdcall;
  986. procedure glMap2f (target: GLenum;
  987.   u1,u2: GLfloat; ustride, uorder: GLint;
  988.   v1,v2: GLfloat; vstride, vorder: GLint; Points: PGLfloat); stdcall;
  989. procedure glMapGrid1d (un: GLint; u1, u2: GLdouble); stdcall;
  990. procedure glMapGrid1f (un: GLint; u1, u2: GLfloat); stdcall;
  991. procedure glMapGrid2d (un: GLint; u1, u2: GLdouble;
  992.                        vn: GLint; v1, v2: GLdouble); stdcall;
  993. procedure glMapGrid2f (un: GLint; u1, u2: GLfloat;
  994.                        vn: GLint; v1, v2: GLfloat); stdcall;
  995. procedure glMaterialf (face, pname: GLenum; param: GLfloat); stdcall;
  996. procedure glMaterialfv (face, pname: GLenum; params: PGLfloat); stdcall;
  997. procedure glMateriali (face, pname: GLenum; param: GLint); stdcall;
  998. procedure glMaterialiv (face, pname: GLenum; params: PGLint); stdcall;
  999. procedure glMatrixMode (mode: GLenum); stdcall;
  1000. procedure glMultMatrixd (m: PGLdouble); stdcall;
  1001. procedure glMultMatrixf (m: PGLfloat); stdcall;
  1002. procedure glNewList (ListIndex: GLuint; mode: GLenum); stdcall;
  1003. procedure glNormal3b (nx, ny, nz: GLbyte); stdcall;
  1004. procedure glNormal3bv (v: PGLbyte); stdcall;
  1005. procedure glNormal3d (nx, ny, nz: GLdouble); stdcall;
  1006. procedure glNormal3dv (v: PGLdouble); stdcall;
  1007. procedure glNormal3f (nx, ny, nz: GLFloat); stdcall;
  1008. procedure glNormal3fv (v: PGLfloat); stdcall;
  1009. procedure glNormal3i (nx, ny, nz: GLint); stdcall;
  1010. procedure glNormal3iv (v: PGLint); stdcall;
  1011. procedure glNormal3s (nx, ny, nz: GLshort); stdcall;
  1012. procedure glNormal3sv (v: PGLshort); stdcall;
  1013. procedure glOrtho (left, right, bottom, top, zNear, zFar: GLdouble); stdcall;
  1014. procedure glPassThrough (token: GLfloat); stdcall;
  1015. procedure glPixelMapfv (map: GLenum; mapsize: GLint; values: PGLfloat); stdcall;
  1016. procedure glPixelMapuiv (map: GLenum; mapsize: GLint; values: PGLuint); stdcall;
  1017. procedure glPixelMapusv (map: GLenum; mapsize: GLint; values: PGLushort); stdcall;
  1018. procedure glPixelStoref (pname: GLenum; param: GLfloat); stdcall;
  1019. procedure glPixelStorei (pname: GLenum; param: GLint); stdcall;
  1020. procedure glPixelTransferf (pname: GLenum; param: GLfloat); stdcall;
  1021. procedure glPixelTransferi (pname: GLenum; param: GLint); stdcall;
  1022. procedure glPixelZoom (xfactor, yfactor: GLfloat); stdcall;
  1023. procedure glPointSize (size: GLfloat); stdcall;
  1024. procedure glPolygonMode (face, mode: GLenum); stdcall;
  1025. procedure glPolygonStipple (mask: PGLubyte); stdcall;
  1026. procedure glPopAttrib; stdcall;
  1027. procedure glPopMatrix; stdcall;
  1028. procedure glPopName; stdcall;
  1029. procedure glPushAttrib(mask: GLbitfield); stdcall;
  1030. procedure glPushMatrix; stdcall;
  1031. procedure glPushName(name: GLuint); stdcall;
  1032. procedure glRasterPos2d (x,y: GLdouble); stdcall;
  1033. procedure glRasterPos2dv (v: PGLdouble); stdcall;
  1034. procedure glRasterPos2f (x,y: GLfloat); stdcall;
  1035. procedure glRasterPos2fv (v: PGLfloat); stdcall;
  1036. procedure glRasterPos2i (x,y: GLint); stdcall;
  1037. procedure glRasterPos2iv (v: PGLint); stdcall;
  1038. procedure glRasterPos2s (x,y: GLshort); stdcall;
  1039. procedure glRasterPos2sv (v: PGLshort); stdcall;
  1040. procedure glRasterPos3d (x,y,z: GLdouble); stdcall;
  1041. procedure glRasterPos3dv (v: PGLdouble); stdcall;
  1042. procedure glRasterPos3f (x,y,z: GLfloat); stdcall;
  1043. procedure glRasterPos3fv (v: PGLfloat); stdcall;
  1044. procedure glRasterPos3i (x,y,z: GLint); stdcall;
  1045. procedure glRasterPos3iv (v: PGLint); stdcall;
  1046. procedure glRasterPos3s (x,y,z: GLshort); stdcall;
  1047. procedure glRasterPos3sv (v: PGLshort); stdcall;
  1048. procedure glRasterPos4d (x,y,z,w: GLdouble); stdcall;
  1049. procedure glRasterPos4dv (v: PGLdouble); stdcall;
  1050. procedure glRasterPos4f (x,y,z: GLfloat); stdcall;
  1051. procedure glRasterPos4fv (v: PGLfloat); stdcall;
  1052. procedure glRasterPos4i (x,y,z: GLint); stdcall;
  1053. procedure glRasterPos4iv (v: PGLint); stdcall;
  1054. procedure glRasterPos4s (x,y,z: GLshort); stdcall;
  1055. procedure glRasterPos4sv (v: PGLshort); stdcall;
  1056. procedure glReadBuffer (mode: GLenum); stdcall;
  1057. procedure glReadPixels (x,y: GLint; width, height: GLsizei;
  1058.   format, _type: GLenum; pixels: Pointer); stdcall;
  1059. procedure glRectd (x1, y1, x2, y2: GLdouble); stdcall;
  1060. procedure glRectdv (v1, v2: PGLdouble); stdcall;
  1061. procedure glRectf (x1, y1, x2, y2: GLfloat); stdcall;
  1062. procedure glRectfv (v1, v2: PGLfloat); stdcall;
  1063. procedure glRecti (x1, y1, x2, y2: GLint); stdcall;
  1064. procedure glRectiv (v1, v2: PGLint); stdcall;
  1065. procedure glRects (x1, y1, x2, y2: GLshort); stdcall;
  1066. procedure glRectsv (v1, v2: PGLshort); stdcall;
  1067. function  glRenderMode (mode: GLenum): GLint; stdcall;
  1068. procedure glRotated (angle, x,y,z: GLdouble); stdcall;
  1069. procedure glRotatef (angle, x,y,z: GLfloat); stdcall;
  1070. procedure glScaled (x,y,z: GLdouble); stdcall;
  1071. procedure glScalef (x,y,z: GLfloat); stdcall;
  1072. procedure glScissor (x,y: GLint; width, height: GLsizei); stdcall;
  1073. procedure glSelectBuffer (size: GLsizei; buffer: PGLuint); stdcall;
  1074. procedure glShadeModel (mode: GLenum); stdcall;
  1075. procedure glStencilFunc (func: GLenum; ref: GLint; mask: GLuint); stdcall;
  1076. procedure glStencilMask (mask: GLuint); stdcall;
  1077. procedure glStencilOp (fail, zfail, zpass: GLenum); stdcall;
  1078. procedure glTexCoord1d (s: GLdouble); stdcall;
  1079. procedure glTexCoord1dv (v: PGLdouble); stdcall;
  1080. procedure glTexCoord1f (s: GLfloat); stdcall;
  1081. procedure glTexCoord1fv (v: PGLfloat); stdcall;
  1082. procedure glTexCoord1i (s: GLint); stdcall;
  1083. procedure glTexCoord1iv (v: PGLint); stdcall;
  1084. procedure glTexCoord1s (s: GLshort); stdcall;
  1085. procedure glTexCoord1sv (v: PGLshort); stdcall;
  1086. procedure glTexCoord2d (s,t: GLdouble); stdcall;
  1087. procedure glTexCoord2dv (v: PGLdouble); stdcall;
  1088. procedure glTexCoord2f (s,t: GLfloat); stdcall;
  1089. procedure glTexCoord2fv (v: PGLfloat); stdcall;
  1090. procedure glTexCoord2i (s,t: GLint); stdcall;
  1091. procedure glTexCoord2iv (v: PGLint); stdcall;
  1092. procedure glTexCoord2s (s,t: GLshort); stdcall;
  1093. procedure glTexCoord2sv (v: PGLshort); stdcall;
  1094. procedure glTexCoord3d (s,t,r: GLdouble); stdcall;
  1095. procedure glTexCoord3dv (v: PGLdouble); stdcall;
  1096. procedure glTexCoord3f (s,t,r: GLfloat); stdcall;
  1097. procedure glTexCoord3fv (v: PGLfloat); stdcall;
  1098. procedure glTexCoord3i (s,t,r: GLint); stdcall;
  1099. procedure glTexCoord3iv (v: PGLint); stdcall;
  1100. procedure glTexCoord3s (s,t,r: GLshort); stdcall;
  1101. procedure glTexCoord3sv (v: PGLshort); stdcall;
  1102. procedure glTexCoord4d (s,t,r,q: GLdouble); stdcall;
  1103. procedure glTexCoord4dv (v: PGLdouble); stdcall;
  1104. procedure glTexCoord4f (s,t,r: GLfloat); stdcall;
  1105. procedure glTexCoord4fv (v: PGLfloat); stdcall;
  1106. procedure glTexCoord4i (s,t,r: GLint); stdcall;
  1107. procedure glTexCoord4iv (v: PGLint); stdcall;
  1108. procedure glTexCoord4s (s,t,r: GLshort); stdcall;
  1109. procedure glTexCoord4sv (v: PGLshort); stdcall;
  1110. procedure glTexEnvf (target, pname: GLenum; param: GLfloat); stdcall;
  1111. procedure glTexEnvfv (target, pname: GLenum; params: PGLfloat); stdcall;
  1112. procedure glTexEnvi (target, pname: GLenum; param: GLint); stdcall;
  1113. procedure glTexEnviv (target, pname: GLenum; params: PGLint); stdcall;
  1114. procedure glTexGend (coord, pname: GLenum; param: GLdouble); stdcall;
  1115. procedure glTexGendv (coord, pname: GLenum; params: PGLdouble); stdcall;
  1116. procedure glTexGenf (coord, pname: GLenum; param: GLfloat); stdcall;
  1117. procedure glTexGenfv (coord, pname: GLenum; params: PGLfloat); stdcall;
  1118. procedure glTexGeni (coord, pname: GLenum; param: GLint); stdcall;
  1119. procedure glTexGeniv (coord, pname: GLenum; params: PGLint); stdcall;
  1120. procedure glTexImage1D (target: GLenum; level, components: GLint;
  1121.   width: GLsizei; border: GLint; format, _type: GLenum; pixels: Pointer); stdcall;
  1122. procedure glTexImage2D (target: GLenum; level, components: GLint;
  1123.   width, height: GLsizei; border: GLint; format, _type: GLenum; pixels: Pointer); stdcall;
  1124. procedure glTexParameterf (target, pname: GLenum; param: GLfloat); stdcall;
  1125. procedure glTexParameterfv (target, pname: GLenum; params: PGLfloat); stdcall;
  1126. procedure glTexParameteri (target, pname: GLenum; param: GLint); stdcall;
  1127. procedure glTexParameteriv (target, pname: GLenum; params: PGLint); stdcall;
  1128. procedure glTranslated (x,y,z: GLdouble); stdcall;
  1129. procedure glTranslatef (x,y,z: GLfloat); stdcall;
  1130. procedure glVertex2d (x,y: GLdouble); stdcall;
  1131. procedure glVertex2dv (v: PGLdouble); stdcall;
  1132. procedure glVertex2f (x,y: GLfloat); stdcall;
  1133. procedure glVertex2fv (v: PGLfloat); stdcall;
  1134. procedure glVertex2i (x,y: GLint); stdcall;
  1135. procedure glVertex2iv (v: PGLint); stdcall;
  1136. procedure glVertex2s (x,y: GLshort); stdcall;
  1137. procedure glVertex2sv (v: PGLshort); stdcall;
  1138. procedure glVertex3d (x,y,z: GLdouble); stdcall;
  1139. procedure glVertex3dv (v: PGLdouble); stdcall;
  1140. procedure glVertex3f (x,y,z: GLfloat); stdcall;
  1141. procedure glVertex3fv (v: PGLfloat); stdcall;
  1142. procedure glVertex3i (x,y,z: GLint); stdcall;
  1143. procedure glVertex3iv (v: PGLint); stdcall;
  1144. procedure glVertex3s (x,y,z: GLshort); stdcall;
  1145. procedure glVertex3sv (v: PGLshort); stdcall;
  1146. procedure glVertex4d (x,y,z,w: GLdouble); stdcall;
  1147. procedure glVertex4dv (v: PGLdouble); stdcall;
  1148. procedure glVertex4f (x,y,z,w: GLfloat); stdcall;
  1149. procedure glVertex4fv (v: PGLfloat); stdcall;
  1150. procedure glVertex4i (x,y,z,w: GLint); stdcall;
  1151. procedure glVertex4iv (v: PGLint); stdcall;
  1152. procedure glVertex4s (x,y,z,w: GLshort); stdcall;
  1153. procedure glVertex4sv (v: PGLshort); stdcall;
  1154. procedure glViewport (x,y: GLint; width, height: GLsizei); stdcall;
  1155.  
  1156. type
  1157.  
  1158. // EXT_vertex_array
  1159.   TGLARRAYELEMENTEXTPROC = procedure (i: GLint) stdcall;
  1160.   TGLDRAWARRAYSEXTPROC = procedure (mode: GLenum; first: GLint; count: GLsizei) stdcall;
  1161.   TGLVERTEXPOINTEREXTPROC = procedure (size: GLint; type_: GLenum;
  1162.     stride, count: GLsizei; P: Pointer) stdcall;
  1163.   TGLNORMALPOINTEREXTPROC = procedure (type_: GLenum; stride, count: GLsizei;
  1164.     P: Pointer) stdcall;
  1165.   TGLCOLORPOINTEREXTPROC = procedure (size: GLint; type_: GLenum;
  1166.     stride, count: GLsizei; P: Pointer) stdcall;
  1167.   TGLINDEXPOINTEREXTPROC = procedure (type_: GLenum; stride, count: GLsizei;
  1168.     P: Pointer) stdcall;
  1169.   TGLTEXCOORDPOINTEREXTPROC = procedure (size: GLint; type_: GLenum;
  1170.     stride, count: GLsizei; P: Pointer) stdcall;
  1171.   TGLEDGEFLAGPOINTEREXTPROC = procedure (stride, count: GLsizei;
  1172.     P: PGLboolean) stdcall;
  1173.   TGLGETPOINTERVEXTPROC = procedure (pname: GLenum; var Params) stdcall;
  1174.  
  1175. // WIN_swap_hint
  1176.  
  1177.   TGLADDSWAPHINTRECTWINPROC = procedure (x, y: GLint; width, height: GLsizei) stdcall;
  1178.  
  1179. { OpenGL Utility routines (glu.h) =======================================}
  1180.  
  1181. function gluErrorString (errCode: GLenum): PChar; stdcall;
  1182. function gluErrorUnicodeStringEXT (errCode: GLenum): PWChar; stdcall;
  1183. function gluGetString (name: GLenum): PChar; stdcall;
  1184.  
  1185. procedure gluLookAt(eyex, eyey, eyez,
  1186.                     centerx, centery, centerz,
  1187.                     upx, upy, upz: GLdouble); stdcall;
  1188. procedure gluOrtho2D(left, right, bottom, top: GLdouble); stdcall;
  1189. procedure gluPerspective(fovy, aspect, zNear, zFar: GLdouble); stdcall;
  1190. procedure gluPickMatrix (x, y, width, height: GLdouble; viewport: PGLint); stdcall;
  1191. function  gluProject (objx, objy, obyz: GLdouble;
  1192.                       modelMatrix: PGLdouble;
  1193.                       projMatrix: PGLdouble;
  1194.                       viewport: PGLint;
  1195.                       var winx, winy, winz: GLDouble): Integer; stdcall;
  1196. function  gluUnProject(winx, winy, winz: GLdouble;
  1197.                       modelMatrix: PGLdouble;
  1198.                       projMatrix: PGLdouble;
  1199.                       viewport: PGLint;
  1200.                       var objx, objy, objz: GLdouble): Integer; stdcall;
  1201. function  gluScaleImage(format: GLenum;
  1202.    widthin, heightin: GLint; typein: GLenum; datain: Pointer;
  1203.    widthout, heightout: GLint; typeout: GLenum; dataout: Pointer): Integer; stdcall;
  1204.  
  1205. function  gluBuild1DMipmaps (target: GLenum; components, width: GLint;
  1206.                              format, atype: GLenum; data: Pointer): Integer; stdcall;
  1207. function  gluBuild2DMipmaps (target: GLenum; components, width: GLint;
  1208.                              format, atype: GLenum; data: Pointer): Integer; stdcall;
  1209.  
  1210. type
  1211.   _GLUquadricObj = record end;
  1212.   GLUquadricObj = ^_GLUquadricObj;
  1213.  
  1214.   TGLUquadricErrorProc = procedure (error: GLenum) stdcall;
  1215.  
  1216. function  gluNewQuadric: GLUquadricObj; stdcall;
  1217. procedure gluDeleteQuadric (state: GLUquadricObj); stdcall;
  1218. procedure gluQuadricNormals (quadObject: GLUquadricObj; normals: GLenum);  stdcall;
  1219. procedure gluQuadricTexture (quadObject: GLUquadricObj; textureCoords: GLboolean );stdcall;
  1220. procedure gluQuadricOrientation (quadObject: GLUquadricObj; orientation: GLenum); stdcall;
  1221. procedure gluQuadricDrawStyle (quadObject: GLUquadricObj; drawStyle: GLenum); stdcall;
  1222. procedure gluCylinder (quadObject: GLUquadricObj;
  1223.   baseRadius, topRadius, height: GLdouble; slices, stacks: GLint); stdcall;
  1224. procedure gluDisk (quadObject: GLUquadricObj;
  1225.   innerRadius, outerRadius: GLdouble; slices, loops: GLint); stdcall;
  1226. procedure gluPartialDisk (quadObject: GLUquadricObj;
  1227.   innerRadius, outerRadius: GLdouble; slices, loops: GLint;
  1228.   startAngle, sweepAngle: GLdouble); stdcall;
  1229. procedure gluSphere (quadObject: GLUquadricObj; radius: GLdouble; slices, loops: GLint); stdcall;
  1230. procedure gluQuadricCallback (quadObject: GLUquadricObj; which: GLenum;
  1231.   callback: Pointer); stdcall;
  1232.  
  1233. type
  1234.   _GLUtesselator = record end;
  1235.   GLUtesselator = ^_GLUtesselator;
  1236.  
  1237.   // tesselator callback procedure types
  1238.   TGLUtessBeginProc = procedure (a: GLenum) stdcall;
  1239.   TGLUtessEdgeFlagProc = procedure (flag: GLboolean) stdcall;
  1240.   TGLUtessVertexProc = procedure (p: Pointer) stdcall;
  1241.   TGLUtessEndProc = procedure stdcall;
  1242.   TGLUtessErrorProc = TGLUquadricErrorProc;
  1243.   TGLUtessCombineProc = procedure (a: PGLdouble; b: Pointer;
  1244.                                    c: PGLfloat; var d: Pointer) stdcall;
  1245.  
  1246. function gluNewTess: GLUtesselator; stdcall;
  1247. procedure gluDeleteTess( tess: GLUtesselator ); stdcall;
  1248. procedure gluTessBeginPolygon( tess: GLUtesselator ); stdcall;
  1249. procedure gluTessBeginContour( tess: GLUtesselator ); stdcall;
  1250. procedure gluTessVertex( tess: GLUtesselator; coords: PGLdouble; data: Pointer ); stdcall;
  1251. procedure gluTessEndContour( tess: GLUtesselator ); stdcall;
  1252. procedure gluTessEndPolygon( tess: GLUtesselator ); stdcall;
  1253. procedure gluTessProperty( tess: GLUtesselator; which: GLenum; value: GLdouble); stdcall;
  1254. procedure gluTessNormal( tess: GLUtesselator; x,y,z: GLdouble); stdcall;
  1255. procedure gluTessCallback( tess: GLUtesselator; which: GLenum; callback: pointer); stdcall;
  1256.  
  1257. type
  1258.   TGLUnurbsObj = record end;
  1259.   GLUnurbsObj = ^TGLUnurbsObj;
  1260.  
  1261.   TGLUnurbsErrorProc = TGLUquadricErrorProc;
  1262.  
  1263. function gluNewNurbsRenderer: GLUnurbsObj; stdcall;
  1264. procedure gluDeleteNurbsRenderer (nobj: GLUnurbsObj); stdcall;
  1265. procedure gluBeginSurface (nobj: GLUnurbsObj); stdcall;
  1266. procedure gluBeginCurve (nobj: GLUnurbsObj); stdcall;
  1267. procedure gluEndCurve (nobj: GLUnurbsObj); stdcall;
  1268. procedure gluEndSurface (nobj: GLUnurbsObj); stdcall;
  1269. procedure gluBeginTrim (nobj: GLUnurbsObj); stdcall;
  1270. procedure gluEndTrim (nobj: GLUnurbsObj); stdcall;
  1271. procedure gluPwlCurve (nobj: GLUnurbsObj; count: GLint; points: PGLfloat;
  1272.   stride: GLint; _type: GLenum); stdcall;
  1273. procedure gluNurbsCurve (nobj: GLUnurbsObj; nknots: GLint; knot: PGLfloat;
  1274.   stride: GLint; ctlpts: PGLfloat; order: GLint; _type: GLenum); stdcall;
  1275. procedure gluNurbsSurface (nobj: GLUnurbsObj;
  1276.   sknot_count: GLint; sknot: PGLfloat;
  1277.   tknot_count: GLint; tknot: PGLfloat;
  1278.   s_stride, t_stride: GLint;
  1279.   ctlpts: PGLfloat; sorder, torder: GLint; _type: GLenum); stdcall;
  1280. procedure gluLoadSamplingMatrices (nobj: GLUnurbsObj;
  1281.   modelMatrix: PGLdouble; projMatrix: PGLdouble; viewport: PGLint); stdcall;
  1282. procedure gluNurbsProperty (nobj: GLUnurbsObj; prop: GLenum; value: GLfloat); stdcall;
  1283. procedure gluGetNurbsProperty (nobj: GLUnurbsObj; prop: GLenum; var value: GLfloat); stdcall;
  1284. procedure gluNurbsCallback (nobj: GLUnurbsObj; which: GLenum; callback: pointer); stdcall;
  1285.  
  1286.  
  1287. {****           Generic constants               ****}
  1288. const
  1289.   GLU_VERSION_1_1  =               1;
  1290.  
  1291. { Errors: (return value 0 = no error) }
  1292.   GLU_INVALID_ENUM       = 100900;
  1293.   GLU_INVALID_VALUE      = 100901;
  1294.   GLU_OUT_OF_MEMORY      = 100902;
  1295.   GLU_INCOMPATIBLE_GL_VERSION  =   100903;
  1296.  
  1297. { gets }
  1298.   GLU_VERSION            = 100800;
  1299.   GLU_EXTENSIONS         = 100801;
  1300.  
  1301. { For laughs: }
  1302.   GLU_TRUE               = GL_TRUE;
  1303.   GLU_FALSE              = GL_FALSE;
  1304.  
  1305.  
  1306. {***           Quadric constants               ***}
  1307.  
  1308. { Types of normals: }
  1309.   GLU_SMOOTH             = 100000;
  1310.   GLU_FLAT               = 100001;
  1311.   GLU_NONE               = 100002;
  1312.  
  1313. { DrawStyle types: }
  1314.   GLU_POINT              = 100010;
  1315.   GLU_LINE               = 100011;
  1316.   GLU_FILL               = 100012;
  1317.   GLU_SILHOUETTE         = 100013;
  1318.  
  1319. { Orientation types: }
  1320.   GLU_OUTSIDE            = 100020;
  1321.   GLU_INSIDE             = 100021;
  1322.  
  1323. { Callback types: }
  1324. {      GLU_ERROR               100103 }
  1325.  
  1326.  
  1327. {***           Tesselation constants           ***}
  1328.  
  1329.   GLU_TESS_MAX_COORD     =         1.0e150;
  1330.  
  1331. { Property types: }
  1332.   GLU_TESS_WINDING_RULE  =         100110;
  1333.   GLU_TESS_BOUNDARY_ONLY =         100111;
  1334.   GLU_TESS_TOLERANCE     =         100112;
  1335.  
  1336. { Possible winding rules: }
  1337.   GLU_TESS_WINDING_ODD          =  100130;
  1338.   GLU_TESS_WINDING_NONZERO      =  100131;
  1339.   GLU_TESS_WINDING_POSITIVE     =  100132;
  1340.   GLU_TESS_WINDING_NEGATIVE     =  100133;
  1341.   GLU_TESS_WINDING_ABS_GEQ_TWO  =  100134;
  1342.  
  1343. { Callback types: }
  1344.   GLU_TESS_BEGIN     = 100100 ;     { void (*)(GLenum    type)         }
  1345.   GLU_TESS_VERTEX    = 100101 ;     { void (*)(void      *data)        }
  1346.   GLU_TESS_END       = 100102 ;     { void (*)(void)                   }
  1347.   GLU_TESS_ERROR     = 100103 ;     { void (*)(GLenum    errno)        }
  1348.   GLU_TESS_EDGE_FLAG = 100104 ;     { void (*)(GLboolean boundaryEdge) }
  1349.   GLU_TESS_COMBINE   = 100105 ;     { void (*)(GLdouble  coords[3],;
  1350.                                                     void      *data[4],;
  1351.                                                     GLfloat   weight[4],;
  1352.                                                     void      **dataOut)    }
  1353.  
  1354. { Errors: }
  1355.   GLU_TESS_ERROR1    = 100151;
  1356.   GLU_TESS_ERROR2    = 100152;
  1357.   GLU_TESS_ERROR3    = 100153;
  1358.   GLU_TESS_ERROR4    = 100154;
  1359.   GLU_TESS_ERROR5    = 100155;
  1360.   GLU_TESS_ERROR6    = 100156;
  1361.   GLU_TESS_ERROR7    = 100157;
  1362.   GLU_TESS_ERROR8    = 100158;
  1363.  
  1364.   GLU_TESS_MISSING_BEGIN_POLYGON  = GLU_TESS_ERROR1;
  1365.   GLU_TESS_MISSING_BEGIN_CONTOUR  = GLU_TESS_ERROR2;
  1366.   GLU_TESS_MISSING_END_POLYGON    = GLU_TESS_ERROR3;
  1367.   GLU_TESS_MISSING_END_CONTOUR    = GLU_TESS_ERROR4;
  1368.   GLU_TESS_COORD_TOO_LARGE        = GLU_TESS_ERROR5;
  1369.   GLU_TESS_NEED_COMBINE_CALLBACK  = GLU_TESS_ERROR6;
  1370.  
  1371. {***           NURBS constants                 ***}
  1372.  
  1373. { Properties: }
  1374.   GLU_AUTO_LOAD_MATRIX          =  100200;
  1375.   GLU_CULLING                   =  100201;
  1376.   GLU_SAMPLING_TOLERANCE        =  100203;
  1377.   GLU_DISPLAY_MODE              =  100204;
  1378.   GLU_PARAMETRIC_TOLERANCE      =  100202;
  1379.   GLU_SAMPLING_METHOD           =  100205;
  1380.   GLU_U_STEP                    =  100206;
  1381.   GLU_V_STEP                    =  100207;
  1382.  
  1383. { Sampling methods: }
  1384.   GLU_PATH_LENGTH               =  100215;
  1385.   GLU_PARAMETRIC_ERROR          =  100216;
  1386.   GLU_DOMAIN_DISTANCE           =  100217;
  1387.  
  1388. { Trimming curve types }
  1389.   GLU_MAP1_TRIM_2       =  100210;
  1390.   GLU_MAP1_TRIM_3       =  100211;
  1391.  
  1392. { Display modes: }
  1393. {      GLU_FILL                100012 }
  1394.   GLU_OUTLINE_POLYGON    = 100240;
  1395.   GLU_OUTLINE_PATCH      = 100241;
  1396.  
  1397. { Callbacks: }
  1398. {      GLU_ERROR               100103 }
  1399.  
  1400. { Errors: }
  1401.   GLU_NURBS_ERROR1       = 100251;
  1402.   GLU_NURBS_ERROR2       = 100252;
  1403.   GLU_NURBS_ERROR3       = 100253;
  1404.   GLU_NURBS_ERROR4       = 100254;
  1405.   GLU_NURBS_ERROR5       = 100255;
  1406.   GLU_NURBS_ERROR6       = 100256;
  1407.   GLU_NURBS_ERROR7       = 100257;
  1408.   GLU_NURBS_ERROR8       = 100258;
  1409.   GLU_NURBS_ERROR9       = 100259;
  1410.   GLU_NURBS_ERROR10      = 100260;
  1411.   GLU_NURBS_ERROR11      = 100261;
  1412.   GLU_NURBS_ERROR12      = 100262;
  1413.   GLU_NURBS_ERROR13      = 100263;
  1414.   GLU_NURBS_ERROR14      = 100264;
  1415.   GLU_NURBS_ERROR15      = 100265;
  1416.   GLU_NURBS_ERROR16      = 100266;
  1417.   GLU_NURBS_ERROR17      = 100267;
  1418.   GLU_NURBS_ERROR18      = 100268;
  1419.   GLU_NURBS_ERROR19      = 100269;
  1420.   GLU_NURBS_ERROR20      = 100270;
  1421.   GLU_NURBS_ERROR21      = 100271;
  1422.   GLU_NURBS_ERROR22      = 100272;
  1423.   GLU_NURBS_ERROR23      = 100273;
  1424.   GLU_NURBS_ERROR24      = 100274;
  1425.   GLU_NURBS_ERROR25      = 100275;
  1426.   GLU_NURBS_ERROR26      = 100276;
  1427.   GLU_NURBS_ERROR27      = 100277;
  1428.   GLU_NURBS_ERROR28      = 100278;
  1429.   GLU_NURBS_ERROR29      = 100279;
  1430.   GLU_NURBS_ERROR30      = 100280;
  1431.   GLU_NURBS_ERROR31      = 100281;
  1432.   GLU_NURBS_ERROR32      = 100282;
  1433.   GLU_NURBS_ERROR33      = 100283;
  1434.   GLU_NURBS_ERROR34      = 100284;
  1435.   GLU_NURBS_ERROR35      = 100285;
  1436.   GLU_NURBS_ERROR36      = 100286;
  1437.   GLU_NURBS_ERROR37      = 100287;
  1438.  
  1439. {
  1440. /****           Backwards compatibility for old tesselator           ****/
  1441.  
  1442. typedef GLUtesselator GLUtriangulatorObj;
  1443.  
  1444. procedure   gluBeginPolygon( tess: GLUtesselator );
  1445.  
  1446. procedure   gluNextContour(  tess: GLUtesselator,
  1447.                                  GLenum        type );
  1448.  
  1449. procedure   gluEndPolygon(   tess: GLUtesselator );
  1450.  
  1451. /* Contours types -- obsolete! */
  1452. #define GLU_CW          100120
  1453. #define GLU_CCW         100121
  1454. #define GLU_INTERIOR    100122
  1455. #define GLU_EXTERIOR    100123
  1456. #define GLU_UNKNOWN     100124
  1457.  
  1458. /* Names without "TESS_" prefix */
  1459. #define GLU_BEGIN       GLU_TESS_BEGIN
  1460. #define GLU_VERTEX      GLU_TESS_VERTEX
  1461. #define GLU_END         GLU_TESS_END
  1462. #define GLU_ERROR       GLU_TESS_ERROR
  1463. #define GLU_EDGE_FLAG   GLU_TESS_EDGE_FLAG
  1464. }
  1465.  
  1466. { GDI support routines for OpenGL ==========================================}
  1467.  
  1468. function wglGetProcAddress(ProcName: PChar): Pointer;  stdcall;
  1469.  
  1470. const
  1471.   glu32 = 'glu32.dll';
  1472.  
  1473. implementation
  1474.  
  1475. procedure glAccum; external opengl32;
  1476. procedure glAlphaFunc; external opengl32;
  1477. procedure glBegin; external opengl32;
  1478. procedure glBitmap; external opengl32;
  1479. procedure glBlendFunc; external opengl32;
  1480. procedure glCallList; external opengl32;
  1481. procedure glCallLists; external opengl32;
  1482. procedure glClear; external opengl32;
  1483. procedure glClearAccum; external opengl32;
  1484. procedure glClearColor; external opengl32;
  1485. procedure glClearDepth; external opengl32;
  1486. procedure glClearIndex; external opengl32;
  1487. procedure glClearStencil; external opengl32;
  1488. procedure glClipPlane; external opengl32;
  1489. procedure glColor3b; external opengl32;
  1490. procedure glColor3bv; external opengl32;
  1491. procedure glColor3d; external opengl32;
  1492. procedure glColor3dv; external opengl32;
  1493. procedure glColor3f; external opengl32;
  1494. procedure glColor3fv; external opengl32;
  1495. procedure glColor3i; external opengl32;
  1496. procedure glColor3iv; external opengl32;
  1497. procedure glColor3s; external opengl32;
  1498. procedure glColor3sv; external opengl32;
  1499. procedure glColor3ub; external opengl32;
  1500. procedure glColor3ubv; external opengl32;
  1501. procedure glColor3ui; external opengl32;
  1502. procedure glColor3uiv; external opengl32;
  1503. procedure glColor3us; external opengl32;
  1504. procedure glColor3usv; external opengl32;
  1505. procedure glColor4b; external opengl32;
  1506. procedure glColor4bv; external opengl32;
  1507. procedure glColor4d; external opengl32;
  1508. procedure glColor4dv; external opengl32;
  1509. procedure glColor4f; external opengl32;
  1510. procedure glColor4fv; external opengl32;
  1511. procedure glColor4i; external opengl32;
  1512. procedure glColor4iv; external opengl32;
  1513. procedure glColor4s; external opengl32;
  1514. procedure glColor4sv; external opengl32;
  1515. procedure glColor4ub; external opengl32;
  1516. procedure glColor4ubv; external opengl32;
  1517. procedure glColor4ui; external opengl32;
  1518. procedure glColor4uiv; external opengl32;
  1519. procedure glColor4us; external opengl32;
  1520. procedure glColor4usv; external opengl32;
  1521. procedure glColorMask; external opengl32;
  1522. procedure glColorMaterial; external opengl32;
  1523. procedure glCopyPixels; external opengl32;
  1524. procedure glCullFace; external opengl32;
  1525. procedure glDeleteLists; external opengl32;
  1526. procedure glDepthFunc; external opengl32;
  1527. procedure glDepthMask; external opengl32;
  1528. procedure glDepthRange; external opengl32;
  1529. procedure glDisable; external opengl32;
  1530. procedure glDrawBuffer; external opengl32;
  1531. procedure glDrawPixels; external opengl32;
  1532. procedure glEdgeFlag; external opengl32;
  1533. procedure glEdgeFlagv; external opengl32;
  1534. procedure glEnable; external opengl32;
  1535. procedure glEnd; external opengl32;
  1536. procedure glEndList; external opengl32;
  1537. procedure glEvalCoord1d; external opengl32;
  1538. procedure glEvalCoord1dv; external opengl32;
  1539. procedure glEvalCoord1f; external opengl32;
  1540. procedure glEvalCoord1fv; external opengl32;
  1541. procedure glEvalCoord2d; external opengl32;
  1542. procedure glEvalCoord2dv; external opengl32;
  1543. procedure glEvalCoord2f; external opengl32;
  1544. procedure glEvalCoord2fv; external opengl32;
  1545. procedure glEvalMesh1; external opengl32;
  1546. procedure glEvalMesh2; external opengl32;
  1547. procedure glEvalPoint1; external opengl32;
  1548. procedure glEvalPoint2; external opengl32;
  1549. procedure glFeedbackBuffer; external opengl32;
  1550. procedure glFinish; external opengl32;
  1551. procedure glFlush; external opengl32;
  1552. procedure glFogf; external opengl32;
  1553. procedure glFogfv; external opengl32;
  1554. procedure glFogi; external opengl32;
  1555. procedure glFogiv; external opengl32;
  1556. procedure glFrontFace; external opengl32;
  1557. procedure glFrustum; external opengl32;
  1558. function  glGenLists; external opengl32;
  1559. procedure glGetBooleanv; external opengl32;
  1560. procedure glGetClipPlane; external opengl32;
  1561. procedure glGetDoublev; external opengl32;
  1562. function  glGetError: GLenum; external opengl32;
  1563. procedure glGetFloatv; external opengl32;
  1564. procedure glGetIntegerv; external opengl32;
  1565. procedure glGetLightfv; external opengl32;
  1566. procedure glGetLightiv; external opengl32;
  1567. procedure glGetMapdv; external opengl32;
  1568. procedure glGetMapfv; external opengl32;
  1569. procedure glGetMapiv; external opengl32;
  1570. procedure glGetMaterialfv; external opengl32;
  1571. procedure glGetMaterialiv; external opengl32;
  1572. procedure glGetPixelMapfv; external opengl32;
  1573. procedure glGetPixelMapuiv; external opengl32;
  1574. procedure glGetPixelMapusv; external opengl32;
  1575. procedure glGetPolygonStipple; external opengl32;
  1576. function  glGetString; external opengl32;
  1577. procedure glGetTexEnvfv; external opengl32;
  1578. procedure glGetTexEnviv; external opengl32;
  1579. procedure glGetTexGendv; external opengl32;
  1580. procedure glGetTexGenfv; external opengl32;
  1581. procedure glGetTexGeniv; external opengl32;
  1582. procedure glGetTexImage; external opengl32;
  1583. procedure glGetTexLevelParameterfv; external opengl32;
  1584. procedure glGetTexLevelParameteriv; external opengl32;
  1585. procedure glGetTexParameterfv; external opengl32;
  1586. procedure glGetTexParameteriv; external opengl32;
  1587. procedure glHint; external opengl32;
  1588. procedure glIndexMask; external opengl32;
  1589. procedure glIndexd; external opengl32;
  1590. procedure glIndexdv; external opengl32;
  1591. procedure glIndexf; external opengl32;
  1592. procedure glIndexfv; external opengl32;
  1593. procedure glIndexi; external opengl32;
  1594. procedure glIndexiv; external opengl32;
  1595. procedure glIndexs; external opengl32;
  1596. procedure glIndexsv; external opengl32;
  1597. procedure glInitNames; external opengl32;
  1598. function  glIsEnabled; external opengl32;
  1599. function  glIsList; external opengl32;
  1600. procedure glLightModelf; external opengl32;
  1601. procedure glLightModelfv; external opengl32;
  1602. procedure glLightModeli; external opengl32;
  1603. procedure glLightModeliv; external opengl32;
  1604. procedure glLightf; external opengl32;
  1605. procedure glLightfv; external opengl32;
  1606. procedure glLighti; external opengl32;
  1607. procedure glLightiv; external opengl32;
  1608. procedure glLineStipple; external opengl32;
  1609. procedure glLineWidth; external opengl32;
  1610. procedure glListBase; external opengl32;
  1611. procedure glLoadIdentity; external opengl32;
  1612. procedure glLoadMatrixd; external opengl32;
  1613. procedure glLoadMatrixf; external opengl32;
  1614. procedure glLoadName; external opengl32;
  1615. procedure glLogicOp; external opengl32;
  1616. procedure glMap1d; external opengl32;
  1617. procedure glMap1f; external opengl32;
  1618. procedure glMap2d; external opengl32;
  1619. procedure glMap2f; external opengl32;
  1620. procedure glMapGrid1d; external opengl32;
  1621. procedure glMapGrid1f; external opengl32;
  1622. procedure glMapGrid2d; external opengl32;
  1623. procedure glMapGrid2f; external opengl32;
  1624. procedure glMaterialf; external opengl32;
  1625. procedure glMaterialfv; external opengl32;
  1626. procedure glMateriali; external opengl32;
  1627. procedure glMaterialiv; external opengl32;
  1628. procedure glMatrixMode; external opengl32;
  1629. procedure glMultMatrixd; external opengl32;
  1630. procedure glMultMatrixf; external opengl32;
  1631. procedure glNewList; external opengl32;
  1632. procedure glNormal3b; external opengl32;
  1633. procedure glNormal3bv; external opengl32;
  1634. procedure glNormal3d; external opengl32;
  1635. procedure glNormal3dv; external opengl32;
  1636. procedure glNormal3f; external opengl32;
  1637. procedure glNormal3fv; external opengl32;
  1638. procedure glNormal3i; external opengl32;
  1639. procedure glNormal3iv; external opengl32;
  1640. procedure glNormal3s; external opengl32;
  1641. procedure glNormal3sv; external opengl32;
  1642. procedure glOrtho; external opengl32;
  1643. procedure glPassThrough; external opengl32;
  1644. procedure glPixelMapfv; external opengl32;
  1645. procedure glPixelMapuiv; external opengl32;
  1646. procedure glPixelMapusv; external opengl32;
  1647. procedure glPixelStoref; external opengl32;
  1648. procedure glPixelStorei; external opengl32;
  1649. procedure glPixelTransferf; external opengl32;
  1650. procedure glPixelTransferi; external opengl32;
  1651. procedure glPixelZoom; external opengl32;
  1652. procedure glPointSize; external opengl32;
  1653. procedure glPolygonMode; external opengl32;
  1654. procedure glPolygonStipple; external opengl32;
  1655. procedure glPopAttrib; external opengl32;
  1656. procedure glPopMatrix; external opengl32;
  1657. procedure glPopName; external opengl32;
  1658. procedure glPushAttrib; external opengl32;
  1659. procedure glPushMatrix; external opengl32;
  1660. procedure glPushName; external opengl32;
  1661. procedure glRasterPos2d; external opengl32;
  1662. procedure glRasterPos2dv; external opengl32;
  1663. procedure glRasterPos2f; external opengl32;
  1664. procedure glRasterPos2fv; external opengl32;
  1665. procedure glRasterPos2i; external opengl32;
  1666. procedure glRasterPos2iv; external opengl32;
  1667. procedure glRasterPos2s; external opengl32;
  1668. procedure glRasterPos2sv; external opengl32;
  1669. procedure glRasterPos3d; external opengl32;
  1670. procedure glRasterPos3dv; external opengl32;
  1671. procedure glRasterPos3f; external opengl32;
  1672. procedure glRasterPos3fv; external opengl32;
  1673. procedure glRasterPos3i; external opengl32;
  1674. procedure glRasterPos3iv; external opengl32;
  1675. procedure glRasterPos3s; external opengl32;
  1676. procedure glRasterPos3sv; external opengl32;
  1677. procedure glRasterPos4d; external opengl32;
  1678. procedure glRasterPos4dv; external opengl32;
  1679. procedure glRasterPos4f; external opengl32;
  1680. procedure glRasterPos4fv; external opengl32;
  1681. procedure glRasterPos4i; external opengl32;
  1682. procedure glRasterPos4iv; external opengl32;
  1683. procedure glRasterPos4s; external opengl32;
  1684. procedure glRasterPos4sv; external opengl32;
  1685. procedure glReadBuffer; external opengl32;
  1686. procedure glReadPixels; external opengl32;
  1687. procedure glRectd; external opengl32;
  1688. procedure glRectdv; external opengl32;
  1689. procedure glRectf; external opengl32;
  1690. procedure glRectfv; external opengl32;
  1691. procedure glRecti; external opengl32;
  1692. procedure glRectiv; external opengl32;
  1693. procedure glRects; external opengl32;
  1694. procedure glRectsv; external opengl32;
  1695. function  glRenderMode; external opengl32;
  1696. procedure glRotated; external opengl32;
  1697. procedure glRotatef; external opengl32;
  1698. procedure glScaled; external opengl32;
  1699. procedure glScalef; external opengl32;
  1700. procedure glScissor; external opengl32;
  1701. procedure glSelectBuffer; external opengl32;
  1702. procedure glShadeModel; external opengl32;
  1703. procedure glStencilFunc; external opengl32;
  1704. procedure glStencilMask; external opengl32;
  1705. procedure glStencilOp; external opengl32;
  1706. procedure glTexCoord1d; external opengl32;
  1707. procedure glTexCoord1dv; external opengl32;
  1708. procedure glTexCoord1f; external opengl32;
  1709. procedure glTexCoord1fv; external opengl32;
  1710. procedure glTexCoord1i; external opengl32;
  1711. procedure glTexCoord1iv; external opengl32;
  1712. procedure glTexCoord1s; external opengl32;
  1713. procedure glTexCoord1sv; external opengl32;
  1714. procedure glTexCoord2d; external opengl32;
  1715. procedure glTexCoord2dv; external opengl32;
  1716. procedure glTexCoord2f; external opengl32;
  1717. procedure glTexCoord2fv; external opengl32;
  1718. procedure glTexCoord2i; external opengl32;
  1719. procedure glTexCoord2iv; external opengl32;
  1720. procedure glTexCoord2s; external opengl32;
  1721. procedure glTexCoord2sv; external opengl32;
  1722. procedure glTexCoord3d; external opengl32;
  1723. procedure glTexCoord3dv; external opengl32;
  1724. procedure glTexCoord3f; external opengl32;
  1725. procedure glTexCoord3fv; external opengl32;
  1726. procedure glTexCoord3i; external opengl32;
  1727. procedure glTexCoord3iv; external opengl32;
  1728. procedure glTexCoord3s; external opengl32;
  1729. procedure glTexCoord3sv; external opengl32;
  1730. procedure glTexCoord4d; external opengl32;
  1731. procedure glTexCoord4dv; external opengl32;
  1732. procedure glTexCoord4f; external opengl32;
  1733. procedure glTexCoord4fv; external opengl32;
  1734. procedure glTexCoord4i; external opengl32;
  1735. procedure glTexCoord4iv; external opengl32;
  1736. procedure glTexCoord4s; external opengl32;
  1737. procedure glTexCoord4sv; external opengl32;
  1738. procedure glTexEnvf; external opengl32;
  1739. procedure glTexEnvfv; external opengl32;
  1740. procedure glTexEnvi; external opengl32;
  1741. procedure glTexEnviv; external opengl32;
  1742. procedure glTexGend; external opengl32;
  1743. procedure glTexGendv; external opengl32;
  1744. procedure glTexGenf; external opengl32;
  1745. procedure glTexGenfv; external opengl32;
  1746. procedure glTexGeni; external opengl32;
  1747. procedure glTexGeniv; external opengl32;
  1748. procedure glTexImage1D; external opengl32;
  1749. procedure glTexImage2D; external opengl32;
  1750. procedure glTexParameterf; external opengl32;
  1751. procedure glTexParameterfv; external opengl32;
  1752. procedure glTexParameteri; external opengl32;
  1753. procedure glTexParameteriv; external opengl32;
  1754. procedure glTranslated; external opengl32;
  1755. procedure glTranslatef; external opengl32;
  1756. procedure glVertex2d; external opengl32;
  1757. procedure glVertex2dv; external opengl32;
  1758. procedure glVertex2f; external opengl32;
  1759. procedure glVertex2fv; external opengl32;
  1760. procedure glVertex2i; external opengl32;
  1761. procedure glVertex2iv; external opengl32;
  1762. procedure glVertex2s; external opengl32;
  1763. procedure glVertex2sv; external opengl32;
  1764. procedure glVertex3d; external opengl32;
  1765. procedure glVertex3dv; external opengl32;
  1766. procedure glVertex3f; external opengl32;
  1767. procedure glVertex3fv; external opengl32;
  1768. procedure glVertex3i; external opengl32;
  1769. procedure glVertex3iv; external opengl32;
  1770. procedure glVertex3s; external opengl32;
  1771. procedure glVertex3sv; external opengl32;
  1772. procedure glVertex4d; external opengl32;
  1773. procedure glVertex4dv; external opengl32;
  1774. procedure glVertex4f; external opengl32;
  1775. procedure glVertex4fv; external opengl32;
  1776. procedure glVertex4i; external opengl32;
  1777. procedure glVertex4iv; external opengl32;
  1778. procedure glVertex4s; external opengl32;
  1779. procedure glVertex4sv; external opengl32;
  1780. procedure glViewport; external opengl32;
  1781.  
  1782. function wglGetProcAddress;    external opengl32;
  1783.  
  1784. { OpenGL Utility routines (glu.h) =======================================}
  1785.  
  1786. function gluErrorString;                     external glu32;
  1787. function gluErrorUnicodeStringEXT;           external glu32;
  1788. function gluGetString;                       external glu32;
  1789. procedure gluLookAt;                         external glu32;
  1790. procedure gluOrtho2D;                        external glu32;
  1791. procedure gluPerspective;                    external glu32;
  1792. procedure gluPickMatrix;                     external glu32;
  1793. function  gluProject;                        external glu32;
  1794. function  gluUnProject;                      external glu32;
  1795. function  gluScaleImage;                     external glu32;
  1796. function  gluBuild1DMipmaps;                 external glu32;
  1797. function  gluBuild2DMipmaps;                 external glu32;
  1798. function  gluNewQuadric;                     external glu32;
  1799. procedure gluDeleteQuadric;                  external glu32;
  1800. procedure gluQuadricNormals;                 external glu32;
  1801. procedure gluQuadricTexture;                 external glu32;
  1802. procedure gluQuadricOrientation;             external glu32;
  1803. procedure gluQuadricDrawStyle;               external glu32;
  1804. procedure gluCylinder;                       external glu32;
  1805. procedure gluDisk;                           external glu32;
  1806. procedure gluPartialDisk;                    external glu32;
  1807. procedure gluSphere;                         external glu32;
  1808. procedure gluQuadricCallback;                external glu32;
  1809.  
  1810. function gluNewTess                         ;external glu32;
  1811. procedure gluDeleteTess                     ;external glu32;
  1812. procedure gluTessBeginPolygon               ;external glu32;
  1813. procedure gluTessBeginContour               ;external glu32;
  1814. procedure gluTessVertex                     ;external glu32;
  1815. procedure gluTessEndContour                 ;external glu32;
  1816. procedure gluTessEndPolygon                 ;external glu32;
  1817. procedure gluTessProperty                   ;external glu32;
  1818. procedure gluTessNormal                     ;external glu32;
  1819. procedure gluTessCallback                   ;external glu32;
  1820.  
  1821. function gluNewNurbsRenderer                ;external glu32;
  1822. procedure gluDeleteNurbsRenderer            ;external glu32;
  1823. procedure gluBeginSurface                   ;external glu32;
  1824. procedure gluBeginCurve                     ;external glu32;
  1825. procedure gluEndCurve                       ;external glu32;
  1826. procedure gluEndSurface                     ;external glu32;
  1827. procedure gluBeginTrim                      ;external glu32;
  1828. procedure gluEndTrim                        ;external glu32;
  1829. procedure gluPwlCurve                       ;external glu32;
  1830. procedure gluNurbsCurve                     ;external glu32;
  1831. procedure gluNurbsSurface                   ;external glu32;
  1832. procedure gluLoadSamplingMatrices           ;external glu32;
  1833. procedure gluNurbsProperty                  ;external glu32;
  1834. procedure gluGetNurbsProperty               ;external glu32;
  1835. procedure gluNurbsCallback                  ;external glu32;
  1836.  
  1837.  
  1838. begin
  1839.   Set8087CW($133F);
  1840. end.
  1841.