home *** CD-ROM | disk | FTP | other *** search
/ ST-Computer Leser-CD 2001 January / LCD_01_2001.iso / develop / tinylib041 / tiny / atari / gl / gl.h next >
Encoding:
C/C++ Source or Header  |  1999-12-03  |  23.1 KB  |  839 lines

  1. /*
  2.  * The following constants come from Mesa
  3.  */
  4. #ifndef GL_H
  5. #define GL_H
  6. #define int long
  7. #define GL_VERSION_1_1 1
  8.  
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12.  
  13. enum {
  14.     /* Boolean values */
  15.     GL_FALSE            = 0,
  16.     GL_TRUE                = 1,
  17.  
  18.     /* Data types */
  19.     GL_BYTE                = 0x1400,
  20.     GL_UNSIGNED_BYTE        = 0x1401,
  21.     GL_SHORT            = 0x1402,
  22.     GL_UNSIGNED_SHORT        = 0x1403,
  23.     GL_INT                = 0x1404,
  24.     GL_UNSIGNED_INT            = 0x1405,
  25.     GL_FLOAT            = 0x1406,
  26.     GL_DOUBLE            = 0x140A,
  27.     GL_2_BYTES            = 0x1407,
  28.     GL_3_BYTES            = 0x1408,
  29.     GL_4_BYTES            = 0x1409,
  30.  
  31.     /* Primitives */
  32.     GL_LINES            = 0x0001,
  33.     GL_POINTS            = 0x0000,
  34.     GL_LINE_STRIP            = 0x0003,
  35.     GL_LINE_LOOP            = 0x0002,
  36.     GL_TRIANGLES            = 0x0004,
  37.     GL_TRIANGLE_STRIP        = 0x0005,
  38.     GL_TRIANGLE_FAN            = 0x0006,
  39.     GL_QUADS            = 0x0007,
  40.     GL_QUAD_STRIP            = 0x0008,
  41.     GL_POLYGON            = 0x0009,
  42.     GL_EDGE_FLAG            = 0x0B43,
  43.  
  44.     /* Vertex Arrays */
  45.     GL_VERTEX_ARRAY            = 0x8074,
  46.     GL_NORMAL_ARRAY            = 0x8075,
  47.     GL_COLOR_ARRAY            = 0x8076,
  48.     GL_INDEX_ARRAY            = 0x8077,
  49.     GL_TEXTURE_COORD_ARRAY        = 0x8078,
  50.     GL_EDGE_FLAG_ARRAY        = 0x8079,
  51.     GL_VERTEX_ARRAY_SIZE        = 0x807A,
  52.     GL_VERTEX_ARRAY_TYPE        = 0x807B,
  53.     GL_VERTEX_ARRAY_STRIDE        = 0x807C,
  54.     GL_VERTEX_ARRAY_COUNT        = 0x807D,
  55.     GL_NORMAL_ARRAY_TYPE        = 0x807E,
  56.     GL_NORMAL_ARRAY_STRIDE        = 0x807F,
  57.     GL_NORMAL_ARRAY_COUNT        = 0x8080,
  58.     GL_COLOR_ARRAY_SIZE        = 0x8081,
  59.     GL_COLOR_ARRAY_TYPE        = 0x8082,
  60.     GL_COLOR_ARRAY_STRIDE        = 0x8083,
  61.     GL_COLOR_ARRAY_COUNT        = 0x8084,
  62.     GL_INDEX_ARRAY_TYPE        = 0x8085,
  63.     GL_INDEX_ARRAY_STRIDE        = 0x8086,
  64.     GL_INDEX_ARRAY_COUNT        = 0x8087,
  65.     GL_TEXTURE_COORD_ARRAY_SIZE    = 0x8088,
  66.     GL_TEXTURE_COORD_ARRAY_TYPE    = 0x8089,
  67.     GL_TEXTURE_COORD_ARRAY_STRIDE    = 0x808A,
  68.     GL_TEXTURE_COORD_ARRAY_COUNT    = 0x808B,
  69.     GL_EDGE_FLAG_ARRAY_STRIDE    = 0x808C,
  70.     GL_EDGE_FLAG_ARRAY_COUNT    = 0x808D,
  71.     GL_VERTEX_ARRAY_POINTER        = 0x808E,
  72.     GL_NORMAL_ARRAY_POINTER        = 0x808F,
  73.     GL_COLOR_ARRAY_POINTER        = 0x8090,
  74.     GL_INDEX_ARRAY_POINTER        = 0x8091,
  75.     GL_TEXTURE_COORD_ARRAY_POINTER    = 0x8092,
  76.     GL_EDGE_FLAG_ARRAY_POINTER    = 0x8093,
  77.         GL_V2F                = 0x2A20,
  78.     GL_V3F                = 0x2A21,
  79.     GL_C4UB_V2F            = 0x2A22,
  80.     GL_C4UB_V3F            = 0x2A23,
  81.     GL_C3F_V3F            = 0x2A24,
  82.     GL_N3F_V3F            = 0x2A25,
  83.     GL_C4F_N3F_V3F            = 0x2A26,
  84.     GL_T2F_V3F            = 0x2A27,
  85.     GL_T4F_V4F            = 0x2A28,
  86.     GL_T2F_C4UB_V3F            = 0x2A29,
  87.     GL_T2F_C3F_V3F            = 0x2A2A,
  88.     GL_T2F_N3F_V3F            = 0x2A2B,
  89.     GL_T2F_C4F_N3F_V3F        = 0x2A2C,
  90.     GL_T4F_C4F_N3F_V4F        = 0x2A2D,
  91.  
  92.     /* Matrix Mode */
  93.     GL_MATRIX_MODE            = 0x0BA0,
  94.     GL_MODELVIEW            = 0x1700,
  95.     GL_PROJECTION            = 0x1701,
  96.     GL_TEXTURE            = 0x1702,
  97.  
  98.     /* Points */
  99.     GL_POINT_SMOOTH            = 0x0B10,
  100.     GL_POINT_SIZE            = 0x0B11,
  101.     GL_POINT_SIZE_GRANULARITY     = 0x0B13,
  102.     GL_POINT_SIZE_RANGE        = 0x0B12,
  103.  
  104.     /* Lines */
  105.     GL_LINE_SMOOTH            = 0x0B20,
  106.     GL_LINE_STIPPLE            = 0x0B24,
  107.     GL_LINE_STIPPLE_PATTERN        = 0x0B25,
  108.     GL_LINE_STIPPLE_REPEAT        = 0x0B26,
  109.     GL_LINE_WIDTH            = 0x0B21,
  110.     GL_LINE_WIDTH_GRANULARITY    = 0x0B23,
  111.     GL_LINE_WIDTH_RANGE        = 0x0B22,
  112.  
  113.     /* Polygons */
  114.     GL_POINT            = 0x1B00,
  115.     GL_LINE                = 0x1B01,
  116.     GL_FILL                = 0x1B02,
  117.     GL_CCW                = 0x0901,
  118.     GL_CW                = 0x0900,
  119.     GL_FRONT            = 0x0404,
  120.     GL_BACK                = 0x0405,
  121.     GL_CULL_FACE            = 0x0B44,
  122.     GL_CULL_FACE_MODE        = 0x0B45,
  123.     GL_POLYGON_SMOOTH        = 0x0B41,
  124.     GL_POLYGON_STIPPLE        = 0x0B42,
  125.     GL_FRONT_FACE            = 0x0B46,
  126.     GL_POLYGON_MODE            = 0x0B40,
  127.     GL_POLYGON_OFFSET_FACTOR    = 0x3038,
  128.     GL_POLYGON_OFFSET_UNITS        = 0x2A00,
  129.     GL_POLYGON_OFFSET_POINT        = 0x2A01,
  130.     GL_POLYGON_OFFSET_LINE        = 0x2A02,
  131.     GL_POLYGON_OFFSET_FILL        = 0x8037,
  132.  
  133.     /* Display Lists */
  134.     GL_COMPILE            = 0x1300,
  135.     GL_COMPILE_AND_EXECUTE        = 0x1301,
  136.     GL_LIST_BASE            = 0x0B32,
  137.     GL_LIST_INDEX            = 0x0B33,
  138.     GL_LIST_MODE            = 0x0B30,
  139.  
  140.     /* Depth buffer */
  141.     GL_NEVER            = 0x0200,
  142.     GL_LESS                = 0x0201,
  143.     GL_GEQUAL            = 0x0206,
  144.     GL_LEQUAL            = 0x0203,
  145.     GL_GREATER            = 0x0204,
  146.     GL_NOTEQUAL            = 0x0205,
  147.     GL_EQUAL            = 0x0202,
  148.     GL_ALWAYS            = 0x0207,
  149.     GL_DEPTH_TEST            = 0x0B71,
  150.     GL_DEPTH_BITS            = 0x0D56,
  151.     GL_DEPTH_CLEAR_VALUE        = 0x0B73,
  152.     GL_DEPTH_FUNC            = 0x0B74,
  153.     GL_DEPTH_RANGE            = 0x0B70,
  154.     GL_DEPTH_WRITEMASK        = 0x0B72,
  155.     GL_DEPTH_COMPONENT        = 0x1902,
  156.  
  157.     /* Lighting */
  158.     GL_LIGHTING            = 0x0B50,
  159.     GL_LIGHT0            = 0x4000,
  160.     GL_LIGHT1            = 0x4001,
  161.     GL_LIGHT2            = 0x4002,
  162.     GL_LIGHT3            = 0x4003,
  163.     GL_LIGHT4            = 0x4004,
  164.     GL_LIGHT5            = 0x4005,
  165.     GL_LIGHT6            = 0x4006,
  166.     GL_LIGHT7            = 0x4007,
  167.     GL_SPOT_EXPONENT        = 0x1205,
  168.     GL_SPOT_CUTOFF            = 0x1206,
  169.     GL_CONSTANT_ATTENUATION        = 0x1207,
  170.     GL_LINEAR_ATTENUATION        = 0x1208,
  171.     GL_QUADRATIC_ATTENUATION    = 0x1209,
  172.     GL_AMBIENT            = 0x1200,
  173.     GL_DIFFUSE            = 0x1201,
  174.     GL_SPECULAR            = 0x1202,
  175.     GL_SHININESS            = 0x1601,
  176.     GL_EMISSION            = 0x1600,
  177.     GL_POSITION            = 0x1203,
  178.     GL_SPOT_DIRECTION        = 0x1204,
  179.     GL_AMBIENT_AND_DIFFUSE        = 0x1602,
  180.     GL_COLOR_INDEXES        = 0x1603,
  181.     GL_LIGHT_MODEL_TWO_SIDE        = 0x0B52,
  182.     GL_LIGHT_MODEL_LOCAL_VIEWER    = 0x0B51,
  183.     GL_LIGHT_MODEL_AMBIENT        = 0x0B53,
  184.     GL_FRONT_AND_BACK        = 0x0408,
  185.     GL_SHADE_MODEL            = 0x0B54,
  186.     GL_FLAT                = 0x1D00,
  187.     GL_SMOOTH            = 0x1D01,
  188.     GL_COLOR_MATERIAL        = 0x0B57,
  189.     GL_COLOR_MATERIAL_FACE        = 0x0B55,
  190.     GL_COLOR_MATERIAL_PARAMETER    = 0x0B56,
  191.     GL_NORMALIZE            = 0x0BA1,
  192.  
  193.     /* User clipping planes */
  194.     GL_CLIP_PLANE0            = 0x3000,
  195.     GL_CLIP_PLANE1            = 0x3001,
  196.     GL_CLIP_PLANE2            = 0x3002,
  197.     GL_CLIP_PLANE3            = 0x3003,
  198.     GL_CLIP_PLANE4            = 0x3004,
  199.     GL_CLIP_PLANE5            = 0x3005,
  200.  
  201.     /* Accumulation buffer */
  202.     GL_ACCUM_RED_BITS        = 0x0D58,
  203.     GL_ACCUM_GREEN_BITS        = 0x0D59,
  204.     GL_ACCUM_BLUE_BITS        = 0x0D5A,
  205.     GL_ACCUM_ALPHA_BITS        = 0x0D5B,
  206.     GL_ACCUM_CLEAR_VALUE        = 0x0B80,
  207.     GL_ACCUM            = 0x0100,
  208.     GL_ADD                = 0x0104,
  209.     GL_LOAD                = 0x0101,
  210.     GL_MULT                = 0x0103,
  211.     GL_RETURN            = 0x0102,
  212.  
  213.     /* Alpha testing */
  214.     GL_ALPHA_TEST            = 0x0BC0,
  215.     GL_ALPHA_TEST_REF        = 0x0BC2,
  216.     GL_ALPHA_TEST_FUNC        = 0x0BC1,
  217.  
  218.     /* Blending */
  219.     GL_BLEND            = 0x0BE2,
  220.     GL_BLEND_SRC            = 0x0BE1,
  221.     GL_BLEND_DST            = 0x0BE0,
  222.     GL_ZERO                = 0,
  223.     GL_ONE                = 1,
  224.     GL_SRC_COLOR            = 0x0300,
  225.     GL_ONE_MINUS_SRC_COLOR        = 0x0301,
  226.     GL_DST_COLOR            = 0x0306,
  227.     GL_ONE_MINUS_DST_COLOR        = 0x0307,
  228.     GL_SRC_ALPHA            = 0x0302,
  229.     GL_ONE_MINUS_SRC_ALPHA        = 0x0303,
  230.     GL_DST_ALPHA            = 0x0304,
  231.     GL_ONE_MINUS_DST_ALPHA        = 0x0305,
  232.     GL_SRC_ALPHA_SATURATE        = 0x0308,
  233.     GL_CONSTANT_COLOR        = 0x8001,
  234.     GL_ONE_MINUS_CONSTANT_COLOR    = 0x8002,
  235.     GL_CONSTANT_ALPHA        = 0x8003,
  236.     GL_ONE_MINUS_CONSTANT_ALPHA    = 0x8004,
  237.  
  238.     /* Render Mode */
  239.     GL_FEEDBACK            = 0x1C01,
  240.     GL_RENDER            = 0x1C00,
  241.     GL_SELECT            = 0x1C02,
  242.  
  243.     /* Feedback */
  244.     GL_2D                = 0x0600,
  245.     GL_3D                = 0x0601,
  246.     GL_3D_COLOR            = 0x0602,
  247.     GL_3D_COLOR_TEXTURE        = 0x0603,
  248.     GL_4D_COLOR_TEXTURE        = 0x0604,
  249.     GL_POINT_TOKEN            = 0x0701,
  250.     GL_LINE_TOKEN            = 0x0702,
  251.     GL_LINE_RESET_TOKEN        = 0x0707,
  252.     GL_POLYGON_TOKEN        = 0x0703,
  253.     GL_BITMAP_TOKEN            = 0x0704,
  254.     GL_DRAW_PIXEL_TOKEN        = 0x0705,
  255.     GL_COPY_PIXEL_TOKEN        = 0x0706,
  256.     GL_PASS_THROUGH_TOKEN        = 0x0700,
  257.  
  258.     /* Fog */
  259.     GL_FOG                = 0x0B60,
  260.     GL_FOG_MODE            = 0x0B65,
  261.     GL_FOG_DENSITY            = 0x0B62,
  262.     GL_FOG_COLOR            = 0x0B66,
  263.     GL_FOG_INDEX            = 0x0B61,
  264.     GL_FOG_START            = 0x0B63,
  265.     GL_FOG_END            = 0x0B64,
  266.     GL_LINEAR            = 0x2601,
  267.     GL_EXP                = 0x0800,
  268.     GL_EXP2                = 0x0801,
  269.  
  270.     /* Logic Ops */
  271.     GL_LOGIC_OP            = 0x0BF1,
  272.     GL_LOGIC_OP_MODE        = 0x0BF0,
  273.     GL_CLEAR            = 0x1500,
  274.     GL_SET                = 0x150F,
  275.     GL_COPY                = 0x1503,
  276.     GL_COPY_INVERTED        = 0x150C,
  277.     GL_NOOP                = 0x1505,
  278.     GL_INVERT            = 0x150A,
  279.     GL_AND                = 0x1501,
  280.     GL_NAND                = 0x150E,
  281.     GL_OR                = 0x1507,
  282.     GL_NOR                = 0x1508,
  283.     GL_XOR                = 0x1506,
  284.     GL_EQUIV            = 0x1509,
  285.     GL_AND_REVERSE            = 0x1502,
  286.     GL_AND_INVERTED            = 0x1504,
  287.     GL_OR_REVERSE            = 0x150B,
  288.     GL_OR_INVERTED            = 0x150D,
  289.  
  290.     /* Stencil */
  291.     GL_STENCIL_TEST            = 0x0B90,
  292.     GL_STENCIL_WRITEMASK        = 0x0B98,
  293.     GL_STENCIL_BITS            = 0x0D57,
  294.     GL_STENCIL_FUNC            = 0x0B92,
  295.     GL_STENCIL_VALUE_MASK        = 0x0B93,
  296.     GL_STENCIL_REF            = 0x0B97,
  297.     GL_STENCIL_FAIL            = 0x0B94,
  298.     GL_STENCIL_PASS_DEPTH_PASS    = 0x0B96,
  299.     GL_STENCIL_PASS_DEPTH_FAIL    = 0x0B95,
  300.     GL_STENCIL_CLEAR_VALUE        = 0x0B91,
  301.     GL_STENCIL_INDEX        = 0x1901,
  302.     GL_KEEP                = 0x1E00,
  303.     GL_REPLACE            = 0x1E01,
  304.     GL_INCR                = 0x1E02,
  305.     GL_DECR                = 0x1E03,
  306.  
  307.     /* Buffers, Pixel Drawing/Reading */
  308.     GL_NONE                = 0,
  309.     GL_LEFT                = 0x0406,
  310.     GL_RIGHT            = 0x0407,
  311.     /*GL_FRONT            = 0x0404, */
  312.     /*GL_BACK            = 0x0405, */
  313.     /*GL_FRONT_AND_BACK        = 0x0408, */
  314.     GL_FRONT_LEFT            = 0x0400,
  315.     GL_FRONT_RIGHT            = 0x0401,
  316.     GL_BACK_LEFT            = 0x0402,
  317.     GL_BACK_RIGHT            = 0x0403,
  318.     GL_AUX0                = 0x0409,
  319.     GL_AUX1                = 0x040A,
  320.     GL_AUX2                = 0x040B,
  321.     GL_AUX3                = 0x040C,
  322.     GL_COLOR_INDEX            = 0x1900,
  323.     GL_RED                = 0x1903,
  324.     GL_GREEN            = 0x1904,
  325.     GL_BLUE                = 0x1905,
  326.     GL_ALPHA            = 0x1906,
  327.     GL_LUMINANCE            = 0x1909,
  328.     GL_LUMINANCE_ALPHA        = 0x190A,
  329.     GL_ALPHA_BITS            = 0x0D55,
  330.     GL_RED_BITS            = 0x0D52,
  331.     GL_GREEN_BITS            = 0x0D53,
  332.     GL_BLUE_BITS            = 0x0D54,
  333.     GL_INDEX_BITS            = 0x0D51,
  334.     GL_SUBPIXEL_BITS        = 0x0D50,
  335.     GL_AUX_BUFFERS            = 0x0C00,
  336.     GL_READ_BUFFER            = 0x0C02,
  337.     GL_DRAW_BUFFER            = 0x0C01,
  338.     GL_DOUBLEBUFFER            = 0x0C32,
  339.     GL_STEREO            = 0x0C33,
  340.     GL_BITMAP            = 0x1A00,
  341.     GL_COLOR            = 0x1800,
  342.     GL_DEPTH            = 0x1801,
  343.     GL_STENCIL            = 0x1802,
  344.     GL_DITHER            = 0x0BD0,
  345.     GL_RGB                = 0x1907,
  346.     GL_RGBA                = 0x1908,
  347.  
  348.     /* Implementation limits */
  349.     GL_MAX_LIST_NESTING        = 0x0B31,
  350.     GL_MAX_ATTRIB_STACK_DEPTH    = 0x0D35,
  351.     GL_MAX_MODELVIEW_STACK_DEPTH    = 0x0D36,
  352.     GL_MAX_NAME_STACK_DEPTH        = 0x0D37,
  353.     GL_MAX_PROJECTION_STACK_DEPTH    = 0x0D38,
  354.     GL_MAX_TEXTURE_STACK_DEPTH    = 0x0D39,
  355.     GL_MAX_EVAL_ORDER        = 0x0D30,
  356.     GL_MAX_LIGHTS            = 0x0D31,
  357.     GL_MAX_CLIP_PLANES        = 0x0D32,
  358.     GL_MAX_TEXTURE_SIZE        = 0x0D33,
  359.     GL_MAX_PIXEL_MAP_TABLE        = 0x0D34,
  360.     GL_MAX_VIEWPORT_DIMS        = 0x0D3A,
  361.     GL_MAX_CLIENT_ATTRIB_STACK_DEPTH= 0x0D3B,
  362.  
  363.     /* Gets */
  364.     GL_ATTRIB_STACK_DEPTH        = 0x0BB0,
  365.     GL_COLOR_CLEAR_VALUE        = 0x0C22,
  366.     GL_COLOR_WRITEMASK        = 0x0C23,
  367.     GL_CURRENT_INDEX        = 0x0B01,
  368.     GL_CURRENT_COLOR        = 0x0B00,
  369.     GL_CURRENT_NORMAL        = 0x0B02,
  370.     GL_CURRENT_RASTER_COLOR        = 0x0B04,
  371.     GL_CURRENT_RASTER_DISTANCE    = 0x0B09,
  372.     GL_CURRENT_RASTER_INDEX        = 0x0B05,
  373.     GL_CURRENT_RASTER_POSITION    = 0x0B07,
  374.     GL_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06,
  375.     GL_CURRENT_RASTER_POSITION_VALID = 0x0B08,
  376.     GL_CURRENT_TEXTURE_COORDS    = 0x0B03,
  377.     GL_INDEX_CLEAR_VALUE        = 0x0C20,
  378.     GL_INDEX_MODE            = 0x0C30,
  379.     GL_INDEX_WRITEMASK        = 0x0C21,
  380.     GL_MODELVIEW_MATRIX        = 0x0BA6,
  381.     GL_MODELVIEW_STACK_DEPTH    = 0x0BA3,
  382.     GL_NAME_STACK_DEPTH        = 0x0D70,
  383.     GL_PROJECTION_MATRIX        = 0x0BA7,
  384.     GL_PROJECTION_STACK_DEPTH    = 0x0BA4,
  385.     GL_RENDER_MODE            = 0x0C40,
  386.     GL_RGBA_MODE            = 0x0C31,
  387.     GL_TEXTURE_MATRIX        = 0x0BA8,
  388.     GL_TEXTURE_STACK_DEPTH        = 0x0BA5,
  389.     GL_VIEWPORT            = 0x0BA2,
  390.  
  391.  
  392.     /* Evaluators */
  393.     GL_AUTO_NORMAL            = 0x0D80,
  394.     GL_MAP1_COLOR_4            = 0x0D90,
  395.     GL_MAP1_GRID_DOMAIN        = 0x0DD0,
  396.     GL_MAP1_GRID_SEGMENTS        = 0x0DD1,
  397.     GL_MAP1_INDEX            = 0x0D91,
  398.     GL_MAP1_NORMAL            = 0x0D92,
  399.     GL_MAP1_TEXTURE_COORD_1        = 0x0D93,
  400.     GL_MAP1_TEXTURE_COORD_2        = 0x0D94,
  401.     GL_MAP1_TEXTURE_COORD_3        = 0x0D95,
  402.     GL_MAP1_TEXTURE_COORD_4        = 0x0D96,
  403.     GL_MAP1_VERTEX_3        = 0x0D97,
  404.     GL_MAP1_VERTEX_4        = 0x0D98,
  405.     GL_MAP2_COLOR_4            = 0x0DB0,
  406.     GL_MAP2_GRID_DOMAIN        = 0x0DD2,
  407.     GL_MAP2_GRID_SEGMENTS        = 0x0DD3,
  408.     GL_MAP2_INDEX            = 0x0DB1,
  409.     GL_MAP2_NORMAL            = 0x0DB2,
  410.     GL_MAP2_TEXTURE_COORD_1        = 0x0DB3,
  411.     GL_MAP2_TEXTURE_COORD_2        = 0x0DB4,
  412.     GL_MAP2_TEXTURE_COORD_3        = 0x0DB5,
  413.     GL_MAP2_TEXTURE_COORD_4        = 0x0DB6,
  414.     GL_MAP2_VERTEX_3        = 0x0DB7,
  415.     GL_MAP2_VERTEX_4        = 0x0DB8,
  416.     GL_COEFF            = 0x0A00,
  417.     GL_DOMAIN            = 0x0A02,
  418.     GL_ORDER            = 0x0A01,
  419.  
  420.     /* Hints */
  421.     GL_FOG_HINT            = 0x0C54,
  422.     GL_LINE_SMOOTH_HINT        = 0x0C52,
  423.     GL_PERSPECTIVE_CORRECTION_HINT    = 0x0C50,
  424.     GL_POINT_SMOOTH_HINT        = 0x0C51,
  425.     GL_POLYGON_SMOOTH_HINT        = 0x0C53,
  426.     GL_DONT_CARE            = 0x1100,
  427.     GL_FASTEST            = 0x1101,
  428.     GL_NICEST            = 0x1102,
  429.  
  430.     /* Scissor box */
  431.     GL_SCISSOR_TEST            = 0x0C11,
  432.     GL_SCISSOR_BOX            = 0x0C10,
  433.  
  434.     /* Pixel Mode / Transfer */
  435.     GL_MAP_COLOR            = 0x0D10,
  436.     GL_MAP_STENCIL            = 0x0D11,
  437.     GL_INDEX_SHIFT            = 0x0D12,
  438.     GL_INDEX_OFFSET            = 0x0D13,
  439.     GL_RED_SCALE            = 0x0D14,
  440.     GL_RED_BIAS            = 0x0D15,
  441.     GL_GREEN_SCALE            = 0x0D18,
  442.     GL_GREEN_BIAS            = 0x0D19,
  443.     GL_BLUE_SCALE            = 0x0D1A,
  444.     GL_BLUE_BIAS            = 0x0D1B,
  445.     GL_ALPHA_SCALE            = 0x0D1C,
  446.     GL_ALPHA_BIAS            = 0x0D1D,
  447.     GL_DEPTH_SCALE            = 0x0D1E,
  448.     GL_DEPTH_BIAS            = 0x0D1F,
  449.     GL_PIXEL_MAP_S_TO_S_SIZE    = 0x0CB1,
  450.     GL_PIXEL_MAP_I_TO_I_SIZE    = 0x0CB0,
  451.     GL_PIXEL_MAP_I_TO_R_SIZE    = 0x0CB2,
  452.     GL_PIXEL_MAP_I_TO_G_SIZE    = 0x0CB3,
  453.     GL_PIXEL_MAP_I_TO_B_SIZE    = 0x0CB4,
  454.     GL_PIXEL_MAP_I_TO_A_SIZE    = 0x0CB5,
  455.     GL_PIXEL_MAP_R_TO_R_SIZE    = 0x0CB6,
  456.     GL_PIXEL_MAP_G_TO_G_SIZE    = 0x0CB7,
  457.     GL_PIXEL_MAP_B_TO_B_SIZE    = 0x0CB8,
  458.     GL_PIXEL_MAP_A_TO_A_SIZE    = 0x0CB9,
  459.     GL_PIXEL_MAP_S_TO_S        = 0x0C71,
  460.     GL_PIXEL_MAP_I_TO_I        = 0x0C70,
  461.     GL_PIXEL_MAP_I_TO_R        = 0x0C72,
  462.     GL_PIXEL_MAP_I_TO_G        = 0x0C73,
  463.     GL_PIXEL_MAP_I_TO_B        = 0x0C74,
  464.     GL_PIXEL_MAP_I_TO_A        = 0x0C75,
  465.     GL_PIXEL_MAP_R_TO_R        = 0x0C76,
  466.     GL_PIXEL_MAP_G_TO_G        = 0x0C77,
  467.     GL_PIXEL_MAP_B_TO_B        = 0x0C78,
  468.     GL_PIXEL_MAP_A_TO_A        = 0x0C79,
  469.     GL_PACK_ALIGNMENT        = 0x0D05,
  470.     GL_PACK_LSB_FIRST        = 0x0D01,
  471.     GL_PACK_ROW_LENGTH        = 0x0D02,
  472.     GL_PACK_SKIP_PIXELS        = 0x0D04,
  473.     GL_PACK_SKIP_ROWS        = 0x0D03,
  474.     GL_PACK_SWAP_BYTES        = 0x0D00,
  475.     GL_UNPACK_ALIGNMENT        = 0x0CF5,
  476.     GL_UNPACK_LSB_FIRST        = 0x0CF1,
  477.     GL_UNPACK_ROW_LENGTH        = 0x0CF2,
  478.     GL_UNPACK_SKIP_PIXELS        = 0x0CF4,
  479.     GL_UNPACK_SKIP_ROWS        = 0x0CF3,
  480.     GL_UNPACK_SWAP_BYTES        = 0x0CF0,
  481.     GL_ZOOM_X            = 0x0D16,
  482.     GL_ZOOM_Y            = 0x0D17,
  483.  
  484.     /* Texture mapping */
  485.     GL_TEXTURE_ENV            = 0x2300,
  486.     GL_TEXTURE_ENV_MODE        = 0x2200,
  487.     GL_TEXTURE_1D            = 0x0DE0,
  488.     GL_TEXTURE_2D            = 0x0DE1,
  489.     GL_TEXTURE_WRAP_S        = 0x2802,
  490.     GL_TEXTURE_WRAP_T        = 0x2803,
  491.     GL_TEXTURE_MAG_FILTER        = 0x2800,
  492.     GL_TEXTURE_MIN_FILTER        = 0x2801,
  493.     GL_TEXTURE_ENV_COLOR        = 0x2201,
  494.     GL_TEXTURE_GEN_S        = 0x0C60,
  495.     GL_TEXTURE_GEN_T        = 0x0C61,
  496.     GL_TEXTURE_GEN_MODE        = 0x2500,
  497.     GL_TEXTURE_BORDER_COLOR        = 0x1004,
  498.     GL_TEXTURE_WIDTH        = 0x1000,
  499.     GL_TEXTURE_HEIGHT        = 0x1001,
  500.     GL_TEXTURE_BORDER        = 0x1005,
  501.     GL_TEXTURE_COMPONENTS        = 0x1003,
  502.     GL_NEAREST_MIPMAP_NEAREST    = 0x2700,
  503.     GL_NEAREST_MIPMAP_LINEAR    = 0x2702,
  504.     GL_LINEAR_MIPMAP_NEAREST    = 0x2701,
  505.     GL_LINEAR_MIPMAP_LINEAR        = 0x2703,
  506.     GL_OBJECT_LINEAR        = 0x2401,
  507.     GL_OBJECT_PLANE            = 0x2501,
  508.     GL_EYE_LINEAR            = 0x2400,
  509.     GL_EYE_PLANE            = 0x2502,
  510.     GL_SPHERE_MAP            = 0x2402,
  511.     GL_DECAL            = 0x2101,
  512.     GL_MODULATE            = 0x2100,
  513.     GL_NEAREST            = 0x2600,
  514.     GL_REPEAT            = 0x2901,
  515.     GL_CLAMP            = 0x2900,
  516.     GL_S                = 0x2000,
  517.     GL_T                = 0x2001,
  518.     GL_R                = 0x2002,
  519.     GL_Q                = 0x2003,
  520.     GL_TEXTURE_GEN_R        = 0x0C62,
  521.     GL_TEXTURE_GEN_Q        = 0x0C63,
  522.  
  523.     GL_PROXY_TEXTURE_1D        = 0x8063,
  524.     GL_PROXY_TEXTURE_2D        = 0x8064,
  525.     GL_TEXTURE_PRIORITY        = 0x8066,
  526.     GL_TEXTURE_RESIDENT        = 0x8067,
  527.     GL_TEXTURE_1D_BINDING        = 0x8068,
  528.     GL_TEXTURE_2D_BINDING        = 0x8069,
  529.  
  530.     /* Internal texture formats */
  531.     GL_ALPHA4            = 0x803B,
  532.     GL_ALPHA8            = 0x803C,
  533.     GL_ALPHA12            = 0x803D,
  534.     GL_ALPHA16            = 0x803E,
  535.     GL_LUMINANCE4            = 0x803F,
  536.     GL_LUMINANCE8            = 0x8040,
  537.     GL_LUMINANCE12            = 0x8041,
  538.     GL_LUMINANCE16            = 0x8042,
  539.     GL_LUMINANCE4_ALPHA4        = 0x8043,
  540.     GL_LUMINANCE6_ALPHA2        = 0x8044,
  541.     GL_LUMINANCE8_ALPHA8        = 0x8045,
  542.     GL_LUMINANCE12_ALPHA4        = 0x8046,
  543.     GL_LUMINANCE12_ALPHA12        = 0x8047,
  544.     GL_LUMINANCE16_ALPHA16        = 0x8048,
  545.     GL_INTENSITY            = 0x8049,
  546.     GL_INTENSITY4            = 0x804A,
  547.     GL_INTENSITY8            = 0x804B,
  548.     GL_INTENSITY12            = 0x804C,
  549.     GL_INTENSITY16            = 0x804D,
  550.     GL_R3_G3_B2            = 0x2A10,
  551.     GL_RGB4                = 0x804F,
  552.     GL_RGB5                = 0x8050,
  553.     GL_RGB8                = 0x8051,
  554.     GL_RGB10            = 0x8052,
  555.     GL_RGB12            = 0x8053,
  556.     GL_RGB16            = 0x8054,
  557.     GL_RGBA2            = 0x8055,
  558.     GL_RGBA4            = 0x8056,
  559.     GL_RGB5_A1            = 0x8057,
  560.     GL_RGBA8            = 0x8058,
  561.     GL_RGB10_A2            = 0x8059,
  562.     GL_RGBA12            = 0x805A,
  563.     GL_RGBA16            = 0x805B,
  564.  
  565.     /* Utility */
  566.     GL_VENDOR            = 0x1F00,
  567.     GL_RENDERER            = 0x1F01,
  568.     GL_VERSION            = 0x1F02,
  569.     GL_EXTENSIONS            = 0x1F03,
  570.  
  571.     /* Errors */
  572.     GL_INVALID_VALUE        = 0x0501,
  573.     GL_INVALID_ENUM            = 0x0500,
  574.     GL_INVALID_OPERATION        = 0x0502,
  575.     GL_STACK_OVERFLOW        = 0x0503,
  576.     GL_STACK_UNDERFLOW        = 0x0504,
  577.     GL_OUT_OF_MEMORY        = 0x0505,
  578.  
  579.     /*
  580.      * 1.0 Extensions
  581.      */
  582.         /* GL_EXT_blend_minmax and GL_EXT_blend_color */
  583.     GL_CONSTANT_COLOR_EXT        = 0x8001,
  584.     GL_ONE_MINUS_CONSTANT_COLOR_EXT    = 0x8002,
  585.     GL_CONSTANT_ALPHA_EXT        = 0x8003,
  586.     GL_ONE_MINUS_CONSTANT_ALPHA_EXT    = 0x8004,
  587.     GL_BLEND_EQUATION_EXT        = 0x8009,
  588.     GL_MIN_EXT            = 0x8007,
  589.     GL_MAX_EXT            = 0x8008,
  590.     GL_FUNC_ADD_EXT            = 0x8006,
  591.     GL_FUNC_SUBTRACT_EXT        = 0x800A,
  592.     GL_FUNC_REVERSE_SUBTRACT_EXT    = 0x800B,
  593.     GL_BLEND_COLOR_EXT        = 0x8005,
  594.  
  595.     /* GL_EXT_polygon_offset */
  596.         GL_POLYGON_OFFSET_EXT           = 0x8037,
  597.         GL_POLYGON_OFFSET_FACTOR_EXT    = 0x8038,
  598.         GL_POLYGON_OFFSET_BIAS_EXT      = 0x8039,
  599.  
  600.     /* GL_EXT_vertex_array */
  601.     GL_VERTEX_ARRAY_EXT        = 0x8074,
  602.     GL_NORMAL_ARRAY_EXT        = 0x8075,
  603.     GL_COLOR_ARRAY_EXT        = 0x8076,
  604.     GL_INDEX_ARRAY_EXT        = 0x8077,
  605.     GL_TEXTURE_COORD_ARRAY_EXT    = 0x8078,
  606.     GL_EDGE_FLAG_ARRAY_EXT        = 0x8079,
  607.     GL_VERTEX_ARRAY_SIZE_EXT    = 0x807A,
  608.     GL_VERTEX_ARRAY_TYPE_EXT    = 0x807B,
  609.     GL_VERTEX_ARRAY_STRIDE_EXT    = 0x807C,
  610.     GL_VERTEX_ARRAY_COUNT_EXT    = 0x807D,
  611.     GL_NORMAL_ARRAY_TYPE_EXT    = 0x807E,
  612.     GL_NORMAL_ARRAY_STRIDE_EXT    = 0x807F,
  613.     GL_NORMAL_ARRAY_COUNT_EXT    = 0x8080,
  614.     GL_COLOR_ARRAY_SIZE_EXT        = 0x8081,
  615.     GL_COLOR_ARRAY_TYPE_EXT        = 0x8082,
  616.     GL_COLOR_ARRAY_STRIDE_EXT    = 0x8083,
  617.     GL_COLOR_ARRAY_COUNT_EXT    = 0x8084,
  618.     GL_INDEX_ARRAY_TYPE_EXT        = 0x8085,
  619.     GL_INDEX_ARRAY_STRIDE_EXT    = 0x8086,
  620.     GL_INDEX_ARRAY_COUNT_EXT    = 0x8087,
  621.     GL_TEXTURE_COORD_ARRAY_SIZE_EXT    = 0x8088,
  622.     GL_TEXTURE_COORD_ARRAY_TYPE_EXT    = 0x8089,
  623.     GL_TEXTURE_COORD_ARRAY_STRIDE_EXT= 0x808A,
  624.     GL_TEXTURE_COORD_ARRAY_COUNT_EXT= 0x808B,
  625.     GL_EDGE_FLAG_ARRAY_STRIDE_EXT    = 0x808C,
  626.     GL_EDGE_FLAG_ARRAY_COUNT_EXT    = 0x808D,
  627.     GL_VERTEX_ARRAY_POINTER_EXT    = 0x808E,
  628.     GL_NORMAL_ARRAY_POINTER_EXT    = 0x808F,
  629.     GL_COLOR_ARRAY_POINTER_EXT    = 0x8090,
  630.     GL_INDEX_ARRAY_POINTER_EXT    = 0x8091,
  631.     GL_TEXTURE_COORD_ARRAY_POINTER_EXT= 0x8092,
  632.     GL_EDGE_FLAG_ARRAY_POINTER_EXT    = 0x8093
  633.  
  634. };
  635.  
  636. enum {
  637.     GL_CURRENT_BIT        = 0x00000001,
  638.     GL_POINT_BIT        = 0x00000002,
  639.     GL_LINE_BIT        = 0x00000004,
  640.     GL_POLYGON_BIT        = 0x00000008,
  641.     GL_POLYGON_STIPPLE_BIT    = 0x00000010,
  642.     GL_PIXEL_MODE_BIT    = 0x00000020,
  643.     GL_LIGHTING_BIT        = 0x00000040,
  644.     GL_FOG_BIT        = 0x00000080,
  645.     GL_DEPTH_BUFFER_BIT    = 0x00000100,
  646.     GL_ACCUM_BUFFER_BIT    = 0x00000200,
  647.     GL_STENCIL_BUFFER_BIT    = 0x00000400,
  648.     GL_VIEWPORT_BIT        = 0x00000800,
  649.     GL_TRANSFORM_BIT    = 0x00001000,
  650.     GL_ENABLE_BIT        = 0x00002000,
  651.     GL_COLOR_BUFFER_BIT    = 0x00004000,
  652.     GL_HINT_BIT        = 0x00008000,
  653.     GL_EVAL_BIT        = 0x00010000,
  654.     GL_LIST_BIT        = 0x00020000,
  655.     GL_TEXTURE_BIT        = 0x00040000,
  656.     GL_SCISSOR_BIT        = 0x00080000,
  657.     GL_ALL_ATTRIB_BITS    = 0x000fffff
  658. };
  659.  
  660. /* some types */
  661.  
  662. typedef int        GLenum;
  663. typedef void        GLvoid;
  664. typedef unsigned char    GLboolean;
  665. typedef signed char    GLbyte;        /* 1-byte signed */
  666. typedef short        GLshort;    /* 2-byte signed */
  667. typedef int        GLint;        /* 4-byte signed */
  668. typedef unsigned char    GLubyte;    /* 1-byte unsigned */
  669. typedef unsigned short    GLushort;    /* 2-byte unsigned */
  670. typedef unsigned int    GLuint;        /* 4-byte unsigned */
  671. typedef float        GLfloat;    /* single precision float */
  672. typedef double        GLdouble;    /* double precision float */
  673. typedef int GLsizei;
  674.  
  675. /* functions */
  676.  
  677. void glEnable(int code);
  678. void glDisable(int code);
  679.  
  680. void glShadeModel(int mode);
  681. void glCullFace(int mode);
  682. void glPolygonMode(int face,int mode);
  683.  
  684. void glBegin(int type);
  685. void glEnd(void);
  686.  
  687. #define PROTO_GL1(name)                \
  688. void gl ## name ## 1f(float);    \
  689. void gl ## name ## 1d(double);    \
  690. void gl ## name ## 1fv(float *);        \
  691. void gl ## name ## 1dv(double *);
  692.  
  693. #define PROTO_GL2(name)                \
  694. void gl ## name ## 2f(float ,float);    \
  695. void gl ## name ## 2d(double ,double);    \
  696. void gl ## name ## 2fv(float *);        \
  697. void gl ## name ## 2dv(double *);
  698.  
  699. #define PROTO_GL3(name)                \
  700. void gl ## name ## 3f(float ,float ,float);    \
  701. void gl ## name ## 3d(double ,double ,double);    \
  702. void gl ## name ## 3fv(float *);        \
  703. void gl ## name ## 3dv(double *);
  704.  
  705. #define PROTO_GL4(name)                \
  706. void gl ## name ## 4f(float ,float ,float, float );    \
  707. void gl ## name ## 4d(double ,double ,double, double );    \
  708. void gl ## name ## 4fv(float *);        \
  709. void gl ## name ## 4dv(double *);
  710.  
  711. PROTO_GL2(Vertex)
  712. PROTO_GL3(Vertex)
  713. PROTO_GL4(Vertex)
  714.  
  715. PROTO_GL3(Color)
  716. PROTO_GL4(Color)
  717.  
  718. PROTO_GL3(Normal)
  719.  
  720. PROTO_GL1(TexCoord)
  721. PROTO_GL2(TexCoord)
  722. PROTO_GL3(TexCoord)
  723. PROTO_GL4(TexCoord)
  724.  
  725. void glEdgeFlag(int flag);
  726.  
  727. /* matrix */
  728. void glMatrixMode(int mode);
  729. void glLoadMatrixf(const float *m);
  730. void glLoadIdentity(void);
  731. void glMultMatrixf(const float *m);
  732. void glPushMatrix(void);
  733. void glPopMatrix(void);
  734. void glRotatef(float angle,float x,float y,float z);
  735. void glTranslatef(float x,float y,float z);
  736. void glScalef(float x,float y,float z);
  737.  
  738. void glViewport(int x,int y,int width,int height);
  739. void glFrustum(double left,double right,double bottom,double top,
  740.                double near,double far);
  741.  
  742. /* lists */
  743. unsigned int glGenLists(int range);
  744. int glIsList(unsigned int list);
  745. void glNewList(unsigned int list,int mode);
  746. void glEndList(void);
  747. void glCallList(unsigned int list);
  748.  
  749. /* clear */
  750. void glClear(int mask);
  751. void glClearColor(float r,float g,float b,float a);
  752. void glClearDepth(double depth);
  753.  
  754. /* selection */
  755. int glRenderMode(int mode);
  756. void glSelectBuffer(int size,unsigned int *buf);
  757.  
  758. void glInitNames(void);
  759. void glPushName(unsigned int name);
  760. void glPopName(void);
  761. void glLoadName(unsigned int name);
  762.  
  763. /* textures */
  764. void glGenTextures(int n, unsigned int *textures);
  765. void glDeleteTextures(int n, const unsigned int *textures);
  766. void glBindTexture(int target,int texture);
  767. void glTexImage2D( int target, int level, int components,
  768.             int width, int height, int border,
  769.                     int format, int type, void *pixels);
  770. void glTexEnvi(int target,int pname,int param);
  771. void glTexParameteri(int target,int pname,int param);
  772. void glPixelStorei(int pname,int param);
  773.  
  774. /* lighting */
  775.  
  776. void glMaterialfv(int mode,int type,float *v);
  777. void glMaterialf(int mode,int type,float v);
  778. void glColorMaterial(int mode,int type);
  779.  
  780. void glLightfv(int light,int type,float *v);
  781. void glLightf(int light,int type,float v);
  782. void glLightModeli(int pname,int param);
  783. void glLightModelfv(int pname,float *param);
  784.  
  785. /* misc */
  786.  
  787. void glFlush(void);
  788. void glHint(int target,int mode);
  789. void glGetIntegerv(int pname,int *params);
  790. void glGetFloatv(int pname, float *v);
  791. void glFrontFace(int mode);
  792.  
  793. /* opengl 1.2 arrays */
  794. void glEnableClientState(GLenum array);
  795. void glDisableClientState(GLenum array);
  796. void glArrayElement(GLint i);
  797. void glVertexPointer(GLint size, GLenum type, GLsizei stride, 
  798.                      const GLvoid *pointer);
  799. void glColorPointer(GLint size, GLenum type, GLsizei stride, 
  800.                      const GLvoid *pointer);
  801. void glNormalPointer(GLenum type, GLsizei stride, 
  802.                       const GLvoid *pointer);
  803. void glTexCoordPointer(GLint size, GLenum type, GLsizei stride, 
  804.                        const GLvoid *pointer);
  805.  
  806. /* opengl 1.2 polygon offset */
  807. void glPolygonOffset(GLfloat factor, GLfloat units);
  808.  
  809. /* not implemented, just added to compile  */
  810.   /*
  811. inline void glPointSize(float) {}
  812. inline void glLineWidth(float) {}
  813. inline void glDeleteLists(int, int) {}
  814. inline void glDepthFunc(int) {}
  815. inline void glBlendFunc(int, int) {}
  816. inline void glTexEnvf(int, int, int) {}
  817. inline void glOrtho(float,float,float,float,float,float){}
  818. inline void glVertex2i(int,int) {}
  819. inline void glDepthMask(int) {}
  820. inline void glFogi(int, int) {}
  821. inline void glFogfv(int, const float*) {}
  822. inline void glFogf(int, float) {}
  823. inline void glRasterPos2f(float, float) {}
  824. inline void glPolygonStipple(void*) {}
  825. inline void glTexParameterf(int, int, int) {};
  826.   */
  827. /* non compatible functions */
  828.  
  829. void glDebug(int mode);
  830.  
  831. void glInit(void *zbuffer);
  832. void glClose(void);
  833.  
  834. #ifdef __cplusplus
  835. }
  836. #endif
  837.  
  838. #endif
  839.