PageRenderTime 46ms CodeModel.GetById 10ms RepoModel.GetById 0ms app.codeStats 0ms

/support/chicken/gl/gl.scm

http://github.com/dharmatech/abstracting
Scheme | 1864 lines | 1462 code | 399 blank | 3 comment | 0 complexity | 5543d532167436567cf1ad7255bce36a MD5 | raw file
Possible License(s): BSD-3-Clause
  1. ;;;; gl.scm
  2. (use easyffi)
  3. (cond-expand
  4. (msvc
  5. #>
  6. #define WIN32_LEAN_AND_MEAN 1
  7. #include <windows.h>
  8. #include "glprocs/GL/gl.h"
  9. #include "glprocs/GL/glprocs.h"
  10. <#)
  11. (else
  12. #>
  13. #ifdef C_MACOSX
  14. #include <OpenGL/gl.h>
  15. #else
  16. #include <GL/gl.h>
  17. #endif
  18. <#))
  19. ;; (define blob_glGetDoublev
  20. ;; (foreign-lambda void glGetDoublev unsigned-integer blob))
  21. (foreign-parse #<<EOF
  22. ___declare(export_constants, yes)
  23. /* ___declare(substitute, "^(GL_|gl);gl:") */
  24. typedef unsigned int GLenum;
  25. typedef unsigned char GLboolean;
  26. typedef unsigned int GLbitfield;
  27. typedef void GLvoid;
  28. typedef ___byte GLbyte; /* 1-byte signed */
  29. typedef short GLshort; /* 2-byte signed */
  30. typedef int GLint; /* 4-byte signed */
  31. typedef unsigned ___byte GLubyte; /* 1-byte unsigned */
  32. typedef unsigned short GLushort; /* 2-byte unsigned */
  33. typedef unsigned int GLuint; /* 4-byte unsigned */
  34. typedef int GLsizei; /* 4-byte signed */
  35. typedef float GLfloat; /* single precision float */
  36. typedef float GLclampf; /* single precision float in [0,1] */
  37. typedef double GLdouble; /* double precision float */
  38. typedef double GLclampd; /* double precision float in [0,1] */
  39. /*
  40. *
  41. * Constants
  42. *
  43. */
  44. /* Boolean values */
  45. #define GL_FALSE 0x0
  46. #define GL_TRUE 0x1
  47. /* Data types */
  48. #define GL_BYTE 0x1400
  49. #define GL_UNSIGNED_BYTE 0x1401
  50. #define GL_SHORT 0x1402
  51. #define GL_UNSIGNED_SHORT 0x1403
  52. #define GL_INT 0x1404
  53. #define GL_UNSIGNED_INT 0x1405
  54. #define GL_FLOAT 0x1406
  55. #define GL_DOUBLE 0x140A
  56. #define GL_2_BYTES 0x1407
  57. #define GL_3_BYTES 0x1408
  58. #define GL_4_BYTES 0x1409
  59. /* Primitives */
  60. #define GL_POINTS 0x0000
  61. #define GL_LINES 0x0001
  62. #define GL_LINE_LOOP 0x0002
  63. #define GL_LINE_STRIP 0x0003
  64. #define GL_TRIANGLES 0x0004
  65. #define GL_TRIANGLE_STRIP 0x0005
  66. #define GL_TRIANGLE_FAN 0x0006
  67. #define GL_QUADS 0x0007
  68. #define GL_QUAD_STRIP 0x0008
  69. #define GL_POLYGON 0x0009
  70. /* Vertex Arrays */
  71. #define GL_VERTEX_ARRAY 0x8074
  72. #define GL_NORMAL_ARRAY 0x8075
  73. #define GL_COLOR_ARRAY 0x8076
  74. #define GL_INDEX_ARRAY 0x8077
  75. #define GL_TEXTURE_COORD_ARRAY 0x8078
  76. #define GL_EDGE_FLAG_ARRAY 0x8079
  77. #define GL_VERTEX_ARRAY_SIZE 0x807A
  78. #define GL_VERTEX_ARRAY_TYPE 0x807B
  79. #define GL_VERTEX_ARRAY_STRIDE 0x807C
  80. #define GL_NORMAL_ARRAY_TYPE 0x807E
  81. #define GL_NORMAL_ARRAY_STRIDE 0x807F
  82. #define GL_COLOR_ARRAY_SIZE 0x8081
  83. #define GL_COLOR_ARRAY_TYPE 0x8082
  84. #define GL_COLOR_ARRAY_STRIDE 0x8083
  85. #define GL_INDEX_ARRAY_TYPE 0x8085
  86. #define GL_INDEX_ARRAY_STRIDE 0x8086
  87. #define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088
  88. #define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089
  89. #define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A
  90. #define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C
  91. #define GL_VERTEX_ARRAY_POINTER 0x808E
  92. #define GL_NORMAL_ARRAY_POINTER 0x808F
  93. #define GL_COLOR_ARRAY_POINTER 0x8090
  94. #define GL_INDEX_ARRAY_POINTER 0x8091
  95. #define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092
  96. #define GL_EDGE_FLAG_ARRAY_POINTER 0x8093
  97. #define GL_V2F 0x2A20
  98. #define GL_V3F 0x2A21
  99. #define GL_C4UB_V2F 0x2A22
  100. #define GL_C4UB_V3F 0x2A23
  101. #define GL_C3F_V3F 0x2A24
  102. #define GL_N3F_V3F 0x2A25
  103. #define GL_C4F_N3F_V3F 0x2A26
  104. #define GL_T2F_V3F 0x2A27
  105. #define GL_T4F_V4F 0x2A28
  106. #define GL_T2F_C4UB_V3F 0x2A29
  107. #define GL_T2F_C3F_V3F 0x2A2A
  108. #define GL_T2F_N3F_V3F 0x2A2B
  109. #define GL_T2F_C4F_N3F_V3F 0x2A2C
  110. #define GL_T4F_C4F_N3F_V4F 0x2A2D
  111. /* Matrix Mode */
  112. #define GL_MATRIX_MODE 0x0BA0
  113. #define GL_MODELVIEW 0x1700
  114. #define GL_PROJECTION 0x1701
  115. #define GL_TEXTURE 0x1702
  116. /* Points */
  117. #define GL_POINT_SMOOTH 0x0B10
  118. #define GL_POINT_SIZE 0x0B11
  119. #define GL_POINT_SIZE_GRANULARITY 0x0B13
  120. #define GL_POINT_SIZE_RANGE 0x0B12
  121. /* Lines */
  122. #define GL_LINE_SMOOTH 0x0B20
  123. #define GL_LINE_STIPPLE 0x0B24
  124. #define GL_LINE_STIPPLE_PATTERN 0x0B25
  125. #define GL_LINE_STIPPLE_REPEAT 0x0B26
  126. #define GL_LINE_WIDTH 0x0B21
  127. #define GL_LINE_WIDTH_GRANULARITY 0x0B23
  128. #define GL_LINE_WIDTH_RANGE 0x0B22
  129. /* Polygons */
  130. #define GL_POINT 0x1B00
  131. #define GL_LINE 0x1B01
  132. #define GL_FILL 0x1B02
  133. #define GL_CW 0x0900
  134. #define GL_CCW 0x0901
  135. #define GL_FRONT 0x0404
  136. #define GL_BACK 0x0405
  137. #define GL_POLYGON_MODE 0x0B40
  138. #define GL_POLYGON_SMOOTH 0x0B41
  139. #define GL_POLYGON_STIPPLE 0x0B42
  140. #define GL_EDGE_FLAG 0x0B43
  141. #define GL_CULL_FACE 0x0B44
  142. #define GL_CULL_FACE_MODE 0x0B45
  143. #define GL_FRONT_FACE 0x0B46
  144. #define GL_POLYGON_OFFSET_FACTOR 0x8038
  145. #define GL_POLYGON_OFFSET_UNITS 0x2A00
  146. #define GL_POLYGON_OFFSET_POINT 0x2A01
  147. #define GL_POLYGON_OFFSET_LINE 0x2A02
  148. #define GL_POLYGON_OFFSET_FILL 0x8037
  149. /* Display Lists */
  150. #define GL_COMPILE 0x1300
  151. #define GL_COMPILE_AND_EXECUTE 0x1301
  152. #define GL_LIST_BASE 0x0B32
  153. #define GL_LIST_INDEX 0x0B33
  154. #define GL_LIST_MODE 0x0B30
  155. /* Depth buffer */
  156. #define GL_NEVER 0x0200
  157. #define GL_LESS 0x0201
  158. #define GL_EQUAL 0x0202
  159. #define GL_LEQUAL 0x0203
  160. #define GL_GREATER 0x0204
  161. #define GL_NOTEQUAL 0x0205
  162. #define GL_GEQUAL 0x0206
  163. #define GL_ALWAYS 0x0207
  164. #define GL_DEPTH_TEST 0x0B71
  165. #define GL_DEPTH_BITS 0x0D56
  166. #define GL_DEPTH_CLEAR_VALUE 0x0B73
  167. #define GL_DEPTH_FUNC 0x0B74
  168. #define GL_DEPTH_RANGE 0x0B70
  169. #define GL_DEPTH_WRITEMASK 0x0B72
  170. #define GL_DEPTH_COMPONENT 0x1902
  171. /* Lighting */
  172. #define GL_LIGHTING 0x0B50
  173. #define GL_LIGHT0 0x4000
  174. #define GL_LIGHT1 0x4001
  175. #define GL_LIGHT2 0x4002
  176. #define GL_LIGHT3 0x4003
  177. #define GL_LIGHT4 0x4004
  178. #define GL_LIGHT5 0x4005
  179. #define GL_LIGHT6 0x4006
  180. #define GL_LIGHT7 0x4007
  181. #define GL_SPOT_EXPONENT 0x1205
  182. #define GL_SPOT_CUTOFF 0x1206
  183. #define GL_CONSTANT_ATTENUATION 0x1207
  184. #define GL_LINEAR_ATTENUATION 0x1208
  185. #define GL_QUADRATIC_ATTENUATION 0x1209
  186. #define GL_AMBIENT 0x1200
  187. #define GL_DIFFUSE 0x1201
  188. #define GL_SPECULAR 0x1202
  189. #define GL_SHININESS 0x1601
  190. #define GL_EMISSION 0x1600
  191. #define GL_POSITION 0x1203
  192. #define GL_SPOT_DIRECTION 0x1204
  193. #define GL_AMBIENT_AND_DIFFUSE 0x1602
  194. #define GL_COLOR_INDEXES 0x1603
  195. #define GL_LIGHT_MODEL_TWO_SIDE 0x0B52
  196. #define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51
  197. #define GL_LIGHT_MODEL_AMBIENT 0x0B53
  198. #define GL_FRONT_AND_BACK 0x0408
  199. #define GL_SHADE_MODEL 0x0B54
  200. #define GL_FLAT 0x1D00
  201. #define GL_SMOOTH 0x1D01
  202. #define GL_COLOR_MATERIAL 0x0B57
  203. #define GL_COLOR_MATERIAL_FACE 0x0B55
  204. #define GL_COLOR_MATERIAL_PARAMETER 0x0B56
  205. #define GL_NORMALIZE 0x0BA1
  206. /* User clipping planes */
  207. #define GL_CLIP_PLANE0 0x3000
  208. #define GL_CLIP_PLANE1 0x3001
  209. #define GL_CLIP_PLANE2 0x3002
  210. #define GL_CLIP_PLANE3 0x3003
  211. #define GL_CLIP_PLANE4 0x3004
  212. #define GL_CLIP_PLANE5 0x3005
  213. /* Accumulation buffer */
  214. #define GL_ACCUM_RED_BITS 0x0D58
  215. #define GL_ACCUM_GREEN_BITS 0x0D59
  216. #define GL_ACCUM_BLUE_BITS 0x0D5A
  217. #define GL_ACCUM_ALPHA_BITS 0x0D5B
  218. #define GL_ACCUM_CLEAR_VALUE 0x0B80
  219. #define GL_ACCUM 0x0100
  220. #define GL_ADD 0x0104
  221. #define GL_LOAD 0x0101
  222. #define GL_MULT 0x0103
  223. #define GL_RETURN 0x0102
  224. /* Alpha testing */
  225. #define GL_ALPHA_TEST 0x0BC0
  226. #define GL_ALPHA_TEST_REF 0x0BC2
  227. #define GL_ALPHA_TEST_FUNC 0x0BC1
  228. /* Blending */
  229. #define GL_BLEND 0x0BE2
  230. #define GL_BLEND_SRC 0x0BE1
  231. #define GL_BLEND_DST 0x0BE0
  232. #define GL_ZERO 0x0
  233. #define GL_ONE 0x1
  234. #define GL_SRC_COLOR 0x0300
  235. #define GL_ONE_MINUS_SRC_COLOR 0x0301
  236. #define GL_SRC_ALPHA 0x0302
  237. #define GL_ONE_MINUS_SRC_ALPHA 0x0303
  238. #define GL_DST_ALPHA 0x0304
  239. #define GL_ONE_MINUS_DST_ALPHA 0x0305
  240. #define GL_DST_COLOR 0x0306
  241. #define GL_ONE_MINUS_DST_COLOR 0x0307
  242. #define GL_SRC_ALPHA_SATURATE 0x0308
  243. #define GL_CONSTANT_COLOR 0x8001
  244. #define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
  245. #define GL_CONSTANT_ALPHA 0x8003
  246. #define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
  247. /* Render Mode */
  248. #define GL_FEEDBACK 0x1C01
  249. #define GL_RENDER 0x1C00
  250. #define GL_SELECT 0x1C02
  251. /* Feedback */
  252. #define GL_2D 0x0600
  253. #define GL_3D 0x0601
  254. #define GL_3D_COLOR 0x0602
  255. #define GL_3D_COLOR_TEXTURE 0x0603
  256. #define GL_4D_COLOR_TEXTURE 0x0604
  257. #define GL_POINT_TOKEN 0x0701
  258. #define GL_LINE_TOKEN 0x0702
  259. #define GL_LINE_RESET_TOKEN 0x0707
  260. #define GL_POLYGON_TOKEN 0x0703
  261. #define GL_BITMAP_TOKEN 0x0704
  262. #define GL_DRAW_PIXEL_TOKEN 0x0705
  263. #define GL_COPY_PIXEL_TOKEN 0x0706
  264. #define GL_PASS_THROUGH_TOKEN 0x0700
  265. #define GL_FEEDBACK_BUFFER_POINTER 0x0DF0
  266. #define GL_FEEDBACK_BUFFER_SIZE 0x0DF1
  267. #define GL_FEEDBACK_BUFFER_TYPE 0x0DF2
  268. /* Selection */
  269. #define GL_SELECTION_BUFFER_POINTER 0x0DF3
  270. #define GL_SELECTION_BUFFER_SIZE 0x0DF4
  271. /* Fog */
  272. #define GL_FOG 0x0B60
  273. #define GL_FOG_MODE 0x0B65
  274. #define GL_FOG_DENSITY 0x0B62
  275. #define GL_FOG_COLOR 0x0B66
  276. #define GL_FOG_INDEX 0x0B61
  277. #define GL_FOG_START 0x0B63
  278. #define GL_FOG_END 0x0B64
  279. #define GL_LINEAR 0x2601
  280. #define GL_EXP 0x0800
  281. #define GL_EXP2 0x0801
  282. /* Logic Ops */
  283. #define GL_LOGIC_OP 0x0BF1
  284. #define GL_INDEX_LOGIC_OP 0x0BF1
  285. #define GL_COLOR_LOGIC_OP 0x0BF2
  286. #define GL_LOGIC_OP_MODE 0x0BF0
  287. #define GL_CLEAR 0x1500
  288. #define GL_SET 0x150F
  289. #define GL_COPY 0x1503
  290. #define GL_COPY_INVERTED 0x150C
  291. #define GL_NOOP 0x1505
  292. #define GL_INVERT 0x150A
  293. #define GL_AND 0x1501
  294. #define GL_NAND 0x150E
  295. #define GL_OR 0x1507
  296. #define GL_NOR 0x1508
  297. #define GL_XOR 0x1506
  298. #define GL_EQUIV 0x1509
  299. #define GL_AND_REVERSE 0x1502
  300. #define GL_AND_INVERTED 0x1504
  301. #define GL_OR_REVERSE 0x150B
  302. #define GL_OR_INVERTED 0x150D
  303. /* Stencil */
  304. #define GL_STENCIL_TEST 0x0B90
  305. #define GL_STENCIL_WRITEMASK 0x0B98
  306. #define GL_STENCIL_BITS 0x0D57
  307. #define GL_STENCIL_FUNC 0x0B92
  308. #define GL_STENCIL_VALUE_MASK 0x0B93
  309. #define GL_STENCIL_REF 0x0B97
  310. #define GL_STENCIL_FAIL 0x0B94
  311. #define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
  312. #define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
  313. #define GL_STENCIL_CLEAR_VALUE 0x0B91
  314. #define GL_STENCIL_INDEX 0x1901
  315. #define GL_KEEP 0x1E00
  316. #define GL_REPLACE 0x1E01
  317. #define GL_INCR 0x1E02
  318. #define GL_DECR 0x1E03
  319. /* Buffers, Pixel Drawing/Reading */
  320. #define GL_NONE 0x0
  321. #define GL_LEFT 0x0406
  322. #define GL_RIGHT 0x0407
  323. /*GL_FRONT 0x0404 */
  324. /*GL_BACK 0x0405 */
  325. /*GL_FRONT_AND_BACK 0x0408 */
  326. #define GL_FRONT_LEFT 0x0400
  327. #define GL_FRONT_RIGHT 0x0401
  328. #define GL_BACK_LEFT 0x0402
  329. #define GL_BACK_RIGHT 0x0403
  330. #define GL_AUX0 0x0409
  331. #define GL_AUX1 0x040A
  332. #define GL_AUX2 0x040B
  333. #define GL_AUX3 0x040C
  334. #define GL_COLOR_INDEX 0x1900
  335. #define GL_RED 0x1903
  336. #define GL_GREEN 0x1904
  337. #define GL_BLUE 0x1905
  338. #define GL_ALPHA 0x1906
  339. #define GL_LUMINANCE 0x1909
  340. #define GL_LUMINANCE_ALPHA 0x190A
  341. #define GL_ALPHA_BITS 0x0D55
  342. #define GL_RED_BITS 0x0D52
  343. #define GL_GREEN_BITS 0x0D53
  344. #define GL_BLUE_BITS 0x0D54
  345. #define GL_INDEX_BITS 0x0D51
  346. #define GL_SUBPIXEL_BITS 0x0D50
  347. #define GL_AUX_BUFFERS 0x0C00
  348. #define GL_READ_BUFFER 0x0C02
  349. #define GL_DRAW_BUFFER 0x0C01
  350. #define GL_DOUBLEBUFFER 0x0C32
  351. #define GL_STEREO 0x0C33
  352. #define GL_BITMAP 0x1A00
  353. #define GL_COLOR 0x1800
  354. #define GL_DEPTH 0x1801
  355. #define GL_STENCIL 0x1802
  356. #define GL_DITHER 0x0BD0
  357. #define GL_RGB 0x1907
  358. #define GL_RGBA 0x1908
  359. /* Implementation limits */
  360. #define GL_MAX_LIST_NESTING 0x0B31
  361. #define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35
  362. #define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36
  363. #define GL_MAX_NAME_STACK_DEPTH 0x0D37
  364. #define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38
  365. #define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39
  366. #define GL_MAX_EVAL_ORDER 0x0D30
  367. #define GL_MAX_LIGHTS 0x0D31
  368. #define GL_MAX_CLIP_PLANES 0x0D32
  369. #define GL_MAX_TEXTURE_SIZE 0x0D33
  370. #define GL_MAX_PIXEL_MAP_TABLE 0x0D34
  371. #define GL_MAX_VIEWPORT_DIMS 0x0D3A
  372. #define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B
  373. /* Gets */
  374. #define GL_ATTRIB_STACK_DEPTH 0x0BB0
  375. #define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1
  376. #define GL_COLOR_CLEAR_VALUE 0x0C22
  377. #define GL_COLOR_WRITEMASK 0x0C23
  378. #define GL_CURRENT_INDEX 0x0B01
  379. #define GL_CURRENT_COLOR 0x0B00
  380. #define GL_CURRENT_NORMAL 0x0B02
  381. #define GL_CURRENT_RASTER_COLOR 0x0B04
  382. #define GL_CURRENT_RASTER_DISTANCE 0x0B09
  383. #define GL_CURRENT_RASTER_INDEX 0x0B05
  384. #define GL_CURRENT_RASTER_POSITION 0x0B07
  385. #define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06
  386. #define GL_CURRENT_RASTER_POSITION_VALID 0x0B08
  387. #define GL_CURRENT_TEXTURE_COORDS 0x0B03
  388. #define GL_INDEX_CLEAR_VALUE 0x0C20
  389. #define GL_INDEX_MODE 0x0C30
  390. #define GL_INDEX_WRITEMASK 0x0C21
  391. #define GL_MODELVIEW_MATRIX 0x0BA6
  392. #define GL_MODELVIEW_STACK_DEPTH 0x0BA3
  393. #define GL_NAME_STACK_DEPTH 0x0D70
  394. #define GL_PROJECTION_MATRIX 0x0BA7
  395. #define GL_PROJECTION_STACK_DEPTH 0x0BA4
  396. #define GL_RENDER_MODE 0x0C40
  397. #define GL_RGBA_MODE 0x0C31
  398. #define GL_TEXTURE_MATRIX 0x0BA8
  399. #define GL_TEXTURE_STACK_DEPTH 0x0BA5
  400. #define GL_VIEWPORT 0x0BA2
  401. /* Evaluators */
  402. #define GL_AUTO_NORMAL 0x0D80
  403. #define GL_MAP1_COLOR_4 0x0D90
  404. #define GL_MAP1_GRID_DOMAIN 0x0DD0
  405. #define GL_MAP1_GRID_SEGMENTS 0x0DD1
  406. #define GL_MAP1_INDEX 0x0D91
  407. #define GL_MAP1_NORMAL 0x0D92
  408. #define GL_MAP1_TEXTURE_COORD_1 0x0D93
  409. #define GL_MAP1_TEXTURE_COORD_2 0x0D94
  410. #define GL_MAP1_TEXTURE_COORD_3 0x0D95
  411. #define GL_MAP1_TEXTURE_COORD_4 0x0D96
  412. #define GL_MAP1_VERTEX_3 0x0D97
  413. #define GL_MAP1_VERTEX_4 0x0D98
  414. #define GL_MAP2_COLOR_4 0x0DB0
  415. #define GL_MAP2_GRID_DOMAIN 0x0DD2
  416. #define GL_MAP2_GRID_SEGMENTS 0x0DD3
  417. #define GL_MAP2_INDEX 0x0DB1
  418. #define GL_MAP2_NORMAL 0x0DB2
  419. #define GL_MAP2_TEXTURE_COORD_1 0x0DB3
  420. #define GL_MAP2_TEXTURE_COORD_2 0x0DB4
  421. #define GL_MAP2_TEXTURE_COORD_3 0x0DB5
  422. #define GL_MAP2_TEXTURE_COORD_4 0x0DB6
  423. #define GL_MAP2_VERTEX_3 0x0DB7
  424. #define GL_MAP2_VERTEX_4 0x0DB8
  425. #define GL_COEFF 0x0A00
  426. #define GL_DOMAIN 0x0A02
  427. #define GL_ORDER 0x0A01
  428. /* Hints */
  429. #define GL_FOG_HINT 0x0C54
  430. #define GL_LINE_SMOOTH_HINT 0x0C52
  431. #define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50
  432. #define GL_POINT_SMOOTH_HINT 0x0C51
  433. #define GL_POLYGON_SMOOTH_HINT 0x0C53
  434. #define GL_DONT_CARE 0x1100
  435. #define GL_FASTEST 0x1101
  436. #define GL_NICEST 0x1102
  437. /* Scissor box */
  438. #define GL_SCISSOR_TEST 0x0C11
  439. #define GL_SCISSOR_BOX 0x0C10
  440. /* Pixel Mode / Transfer */
  441. #define GL_MAP_COLOR 0x0D10
  442. #define GL_MAP_STENCIL 0x0D11
  443. #define GL_INDEX_SHIFT 0x0D12
  444. #define GL_INDEX_OFFSET 0x0D13
  445. #define GL_RED_SCALE 0x0D14
  446. #define GL_RED_BIAS 0x0D15
  447. #define GL_GREEN_SCALE 0x0D18
  448. #define GL_GREEN_BIAS 0x0D19
  449. #define GL_BLUE_SCALE 0x0D1A
  450. #define GL_BLUE_BIAS 0x0D1B
  451. #define GL_ALPHA_SCALE 0x0D1C
  452. #define GL_ALPHA_BIAS 0x0D1D
  453. #define GL_DEPTH_SCALE 0x0D1E
  454. #define GL_DEPTH_BIAS 0x0D1F
  455. #define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1
  456. #define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0
  457. #define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2
  458. #define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3
  459. #define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4
  460. #define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5
  461. #define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6
  462. #define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7
  463. #define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8
  464. #define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9
  465. #define GL_PIXEL_MAP_S_TO_S 0x0C71
  466. #define GL_PIXEL_MAP_I_TO_I 0x0C70
  467. #define GL_PIXEL_MAP_I_TO_R 0x0C72
  468. #define GL_PIXEL_MAP_I_TO_G 0x0C73
  469. #define GL_PIXEL_MAP_I_TO_B 0x0C74
  470. #define GL_PIXEL_MAP_I_TO_A 0x0C75
  471. #define GL_PIXEL_MAP_R_TO_R 0x0C76
  472. #define GL_PIXEL_MAP_G_TO_G 0x0C77
  473. #define GL_PIXEL_MAP_B_TO_B 0x0C78
  474. #define GL_PIXEL_MAP_A_TO_A 0x0C79
  475. #define GL_PACK_ALIGNMENT 0x0D05
  476. #define GL_PACK_LSB_FIRST 0x0D01
  477. #define GL_PACK_ROW_LENGTH 0x0D02
  478. #define GL_PACK_SKIP_PIXELS 0x0D04
  479. #define GL_PACK_SKIP_ROWS 0x0D03
  480. #define GL_PACK_SWAP_BYTES 0x0D00
  481. #define GL_UNPACK_ALIGNMENT 0x0CF5
  482. #define GL_UNPACK_LSB_FIRST 0x0CF1
  483. #define GL_UNPACK_ROW_LENGTH 0x0CF2
  484. #define GL_UNPACK_SKIP_PIXELS 0x0CF4
  485. #define GL_UNPACK_SKIP_ROWS 0x0CF3
  486. #define GL_UNPACK_SWAP_BYTES 0x0CF0
  487. #define GL_ZOOM_X 0x0D16
  488. #define GL_ZOOM_Y 0x0D17
  489. /* Texture mapping */
  490. #define GL_TEXTURE_ENV 0x2300
  491. #define GL_TEXTURE_ENV_MODE 0x2200
  492. #define GL_TEXTURE_1D 0x0DE0
  493. #define GL_TEXTURE_2D 0x0DE1
  494. #define GL_TEXTURE_WRAP_S 0x2802
  495. #define GL_TEXTURE_WRAP_T 0x2803
  496. #define GL_TEXTURE_MAG_FILTER 0x2800
  497. #define GL_TEXTURE_MIN_FILTER 0x2801
  498. #define GL_TEXTURE_ENV_COLOR 0x2201
  499. #define GL_TEXTURE_GEN_S 0x0C60
  500. #define GL_TEXTURE_GEN_T 0x0C61
  501. #define GL_TEXTURE_GEN_MODE 0x2500
  502. #define GL_TEXTURE_BORDER_COLOR 0x1004
  503. #define GL_TEXTURE_WIDTH 0x1000
  504. #define GL_TEXTURE_HEIGHT 0x1001
  505. #define GL_TEXTURE_BORDER 0x1005
  506. #define GL_TEXTURE_COMPONENTS 0x1003
  507. #define GL_TEXTURE_RED_SIZE 0x805C
  508. #define GL_TEXTURE_GREEN_SIZE 0x805D
  509. #define GL_TEXTURE_BLUE_SIZE 0x805E
  510. #define GL_TEXTURE_ALPHA_SIZE 0x805F
  511. #define GL_TEXTURE_LUMINANCE_SIZE 0x8060
  512. #define GL_TEXTURE_INTENSITY_SIZE 0x8061
  513. #define GL_NEAREST_MIPMAP_NEAREST 0x2700
  514. #define GL_NEAREST_MIPMAP_LINEAR 0x2702
  515. #define GL_LINEAR_MIPMAP_NEAREST 0x2701
  516. #define GL_LINEAR_MIPMAP_LINEAR 0x2703
  517. #define GL_OBJECT_LINEAR 0x2401
  518. #define GL_OBJECT_PLANE 0x2501
  519. #define GL_EYE_LINEAR 0x2400
  520. #define GL_EYE_PLANE 0x2502
  521. #define GL_SPHERE_MAP 0x2402
  522. #define GL_DECAL 0x2101
  523. #define GL_MODULATE 0x2100
  524. #define GL_NEAREST 0x2600
  525. #define GL_REPEAT 0x2901
  526. #define GL_CLAMP 0x2900
  527. #define GL_S 0x2000
  528. #define GL_T 0x2001
  529. #define GL_R 0x2002
  530. #define GL_Q 0x2003
  531. #define GL_TEXTURE_GEN_R 0x0C62
  532. #define GL_TEXTURE_GEN_Q 0x0C63
  533. /* Utility */
  534. #define GL_VENDOR 0x1F00
  535. #define GL_RENDERER 0x1F01
  536. #define GL_VERSION 0x1F02
  537. #define GL_EXTENSIONS 0x1F03
  538. /* Errors */
  539. #define GL_NO_ERROR 0x0
  540. #define GL_INVALID_VALUE 0x0501
  541. #define GL_INVALID_ENUM 0x0500
  542. #define GL_INVALID_OPERATION 0x0502
  543. #define GL_STACK_OVERFLOW 0x0503
  544. #define GL_STACK_UNDERFLOW 0x0504
  545. #define GL_OUT_OF_MEMORY 0x0505
  546. /* glPush/PopAttrib bits */
  547. #define GL_CURRENT_BIT 0x00000001
  548. #define GL_POINT_BIT 0x00000002
  549. #define GL_LINE_BIT 0x00000004
  550. #define GL_POLYGON_BIT 0x00000008
  551. #define GL_POLYGON_STIPPLE_BIT 0x00000010
  552. #define GL_PIXEL_MODE_BIT 0x00000020
  553. #define GL_LIGHTING_BIT 0x00000040
  554. #define GL_FOG_BIT 0x00000080
  555. #define GL_DEPTH_BUFFER_BIT 0x00000100
  556. #define GL_ACCUM_BUFFER_BIT 0x00000200
  557. #define GL_STENCIL_BUFFER_BIT 0x00000400
  558. #define GL_VIEWPORT_BIT 0x00000800
  559. #define GL_TRANSFORM_BIT 0x00001000
  560. #define GL_ENABLE_BIT 0x00002000
  561. #define GL_COLOR_BUFFER_BIT 0x00004000
  562. #define GL_HINT_BIT 0x00008000
  563. #define GL_EVAL_BIT 0x00010000
  564. #define GL_LIST_BIT 0x00020000
  565. #define GL_TEXTURE_BIT 0x00040000
  566. #define GL_SCISSOR_BIT 0x00080000
  567. #define GL_ALL_ATTRIB_BITS 0x000FFFFF
  568. /* OpenGL 1.1 */
  569. #define GL_PROXY_TEXTURE_1D 0x8063
  570. #define GL_PROXY_TEXTURE_2D 0x8064
  571. #define GL_TEXTURE_PRIORITY 0x8066
  572. #define GL_TEXTURE_RESIDENT 0x8067
  573. #define GL_TEXTURE_BINDING_1D 0x8068
  574. #define GL_TEXTURE_BINDING_2D 0x8069
  575. #define GL_TEXTURE_INTERNAL_FORMAT 0x1003
  576. #define GL_ALPHA4 0x803B
  577. #define GL_ALPHA8 0x803C
  578. #define GL_ALPHA12 0x803D
  579. #define GL_ALPHA16 0x803E
  580. #define GL_LUMINANCE4 0x803F
  581. #define GL_LUMINANCE8 0x8040
  582. #define GL_LUMINANCE12 0x8041
  583. #define GL_LUMINANCE16 0x8042
  584. #define GL_LUMINANCE4_ALPHA4 0x8043
  585. #define GL_LUMINANCE6_ALPHA2 0x8044
  586. #define GL_LUMINANCE8_ALPHA8 0x8045
  587. #define GL_LUMINANCE12_ALPHA4 0x8046
  588. #define GL_LUMINANCE12_ALPHA12 0x8047
  589. #define GL_LUMINANCE16_ALPHA16 0x8048
  590. #define GL_INTENSITY 0x8049
  591. #define GL_INTENSITY4 0x804A
  592. #define GL_INTENSITY8 0x804B
  593. #define GL_INTENSITY12 0x804C
  594. #define GL_INTENSITY16 0x804D
  595. #define GL_R3_G3_B2 0x2A10
  596. #define GL_RGB4 0x804F
  597. #define GL_RGB5 0x8050
  598. #define GL_RGB8 0x8051
  599. #define GL_RGB10 0x8052
  600. #define GL_RGB12 0x8053
  601. #define GL_RGB16 0x8054
  602. #define GL_RGBA2 0x8055
  603. #define GL_RGBA4 0x8056
  604. #define GL_RGB5_A1 0x8057
  605. #define GL_RGBA8 0x8058
  606. #define GL_RGB10_A2 0x8059
  607. #define GL_RGBA12 0x805A
  608. #define GL_RGBA16 0x805B
  609. #define GL_CLIENT_PIXEL_STORE_BIT 0x00000001
  610. #define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002
  611. #define GL_ALL_CLIENT_ATTRIB_BITS 0xFFFFFFFF
  612. #define GL_CLIENT_ALL_ATTRIB_BITS 0xFFFFFFFF
  613. /* OpenGL 1.2 */
  614. #define GL_RESCALE_NORMAL 0x803A
  615. #define GL_CLAMP_TO_EDGE 0x812F
  616. #define GL_MAX_ELEMENTS_VERTICES 0x80E8
  617. #define GL_MAX_ELEMENTS_INDICES 0x80E9
  618. #define GL_BGR 0x80E0
  619. #define GL_BGRA 0x80E1
  620. #define GL_UNSIGNED_BYTE_3_3_2 0x8032
  621. #define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
  622. #define GL_UNSIGNED_SHORT_5_6_5 0x8363
  623. #define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
  624. #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
  625. #define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
  626. #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
  627. #define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
  628. #define GL_UNSIGNED_INT_8_8_8_8 0x8035
  629. #define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
  630. #define GL_UNSIGNED_INT_10_10_10_2 0x8036
  631. #define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
  632. #define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
  633. #define GL_SINGLE_COLOR 0x81F9
  634. #define GL_SEPARATE_SPECULAR_COLOR 0x81FA
  635. #define GL_TEXTURE_MIN_LOD 0x813A
  636. #define GL_TEXTURE_MAX_LOD 0x813B
  637. #define GL_TEXTURE_BASE_LEVEL 0x813C
  638. #define GL_TEXTURE_MAX_LEVEL 0x813D
  639. #define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
  640. #define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
  641. #define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
  642. #define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
  643. #define GL_ALIASED_POINT_SIZE_RANGE 0x846D
  644. #define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
  645. #define GL_PACK_SKIP_IMAGES 0x806B
  646. #define GL_PACK_IMAGE_HEIGHT 0x806C
  647. #define GL_UNPACK_SKIP_IMAGES 0x806D
  648. #define GL_UNPACK_IMAGE_HEIGHT 0x806E
  649. #define GL_TEXTURE_3D 0x806F
  650. #define GL_PROXY_TEXTURE_3D 0x8070
  651. #define GL_TEXTURE_DEPTH 0x8071
  652. #define GL_TEXTURE_WRAP_R 0x8072
  653. #define GL_MAX_3D_TEXTURE_SIZE 0x8073
  654. #define GL_TEXTURE_BINDING_3D 0x806A
  655. /*
  656. * OpenGL 1.2 imaging subset
  657. */
  658. /* GL_EXT_color_table */
  659. #define GL_COLOR_TABLE 0x80D0
  660. #define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1
  661. #define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2
  662. #define GL_PROXY_COLOR_TABLE 0x80D3
  663. #define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
  664. #define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
  665. #define GL_COLOR_TABLE_SCALE 0x80D6
  666. #define GL_COLOR_TABLE_BIAS 0x80D7
  667. #define GL_COLOR_TABLE_FORMAT 0x80D8
  668. #define GL_COLOR_TABLE_WIDTH 0x80D9
  669. #define GL_COLOR_TABLE_RED_SIZE 0x80DA
  670. #define GL_COLOR_TABLE_GREEN_SIZE 0x80DB
  671. #define GL_COLOR_TABLE_BLUE_SIZE 0x80DC
  672. #define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD
  673. #define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE
  674. #define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF
  675. /* GL_EXT_convolution and GL_HP_convolution_border_modes */
  676. #define GL_CONVOLUTION_1D 0x8010
  677. #define GL_CONVOLUTION_2D 0x8011
  678. #define GL_SEPARABLE_2D 0x8012
  679. #define GL_CONVOLUTION_BORDER_MODE 0x8013
  680. #define GL_CONVOLUTION_FILTER_SCALE 0x8014
  681. #define GL_CONVOLUTION_FILTER_BIAS 0x8015
  682. #define GL_REDUCE 0x8016
  683. #define GL_CONVOLUTION_FORMAT 0x8017
  684. #define GL_CONVOLUTION_WIDTH 0x8018
  685. #define GL_CONVOLUTION_HEIGHT 0x8019
  686. #define GL_MAX_CONVOLUTION_WIDTH 0x801A
  687. #define GL_MAX_CONVOLUTION_HEIGHT 0x801B
  688. #define GL_POST_CONVOLUTION_RED_SCALE 0x801C
  689. #define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D
  690. #define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E
  691. #define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F
  692. #define GL_POST_CONVOLUTION_RED_BIAS 0x8020
  693. #define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021
  694. #define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022
  695. #define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023
  696. #define GL_CONSTANT_BORDER 0x8151
  697. #define GL_REPLICATE_BORDER 0x8153
  698. #define GL_CONVOLUTION_BORDER_COLOR 0x8154
  699. /* GL_SGI_color_matrix */
  700. #define GL_COLOR_MATRIX 0x80B1
  701. #define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2
  702. #define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3
  703. #define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4
  704. #define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5
  705. #define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6
  706. #define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7
  707. #define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8
  708. #define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9
  709. #define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA
  710. #define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB
  711. /* GL_EXT_histogram */
  712. #define GL_HISTOGRAM 0x8024
  713. #define GL_PROXY_HISTOGRAM 0x8025
  714. #define GL_HISTOGRAM_WIDTH 0x8026
  715. #define GL_HISTOGRAM_FORMAT 0x8027
  716. #define GL_HISTOGRAM_RED_SIZE 0x8028
  717. #define GL_HISTOGRAM_GREEN_SIZE 0x8029
  718. #define GL_HISTOGRAM_BLUE_SIZE 0x802A
  719. #define GL_HISTOGRAM_ALPHA_SIZE 0x802B
  720. #define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C
  721. #define GL_HISTOGRAM_SINK 0x802D
  722. #define GL_MINMAX 0x802E
  723. #define GL_MINMAX_FORMAT 0x802F
  724. #define GL_MINMAX_SINK 0x8030
  725. #define GL_TABLE_TOO_LARGE 0x8031
  726. /* GL_EXT_blend_color, GL_EXT_blend_minmax */
  727. #define GL_BLEND_EQUATION 0x8009
  728. #define GL_MIN 0x8007
  729. #define GL_MAX 0x8008
  730. #define GL_FUNC_ADD 0x8006
  731. #define GL_FUNC_SUBTRACT 0x800A
  732. #define GL_FUNC_REVERSE_SUBTRACT 0x800B
  733. #define GL_BLEND_COLOR 0x8005
  734. /* OpenGL 1.3 */
  735. /* multitexture */
  736. #define GL_TEXTURE0 0x84C0
  737. #define GL_TEXTURE1 0x84C1
  738. #define GL_TEXTURE2 0x84C2
  739. #define GL_TEXTURE3 0x84C3
  740. #define GL_TEXTURE4 0x84C4
  741. #define GL_TEXTURE5 0x84C5
  742. #define GL_TEXTURE6 0x84C6
  743. #define GL_TEXTURE7 0x84C7
  744. #define GL_TEXTURE8 0x84C8
  745. #define GL_TEXTURE9 0x84C9
  746. #define GL_TEXTURE10 0x84CA
  747. #define GL_TEXTURE11 0x84CB
  748. #define GL_TEXTURE12 0x84CC
  749. #define GL_TEXTURE13 0x84CD
  750. #define GL_TEXTURE14 0x84CE
  751. #define GL_TEXTURE15 0x84CF
  752. #define GL_TEXTURE16 0x84D0
  753. #define GL_TEXTURE17 0x84D1
  754. #define GL_TEXTURE18 0x84D2
  755. #define GL_TEXTURE19 0x84D3
  756. #define GL_TEXTURE20 0x84D4
  757. #define GL_TEXTURE21 0x84D5
  758. #define GL_TEXTURE22 0x84D6
  759. #define GL_TEXTURE23 0x84D7
  760. #define GL_TEXTURE24 0x84D8
  761. #define GL_TEXTURE25 0x84D9
  762. #define GL_TEXTURE26 0x84DA
  763. #define GL_TEXTURE27 0x84DB
  764. #define GL_TEXTURE28 0x84DC
  765. #define GL_TEXTURE29 0x84DD
  766. #define GL_TEXTURE30 0x84DE
  767. #define GL_TEXTURE31 0x84DF
  768. #define GL_ACTIVE_TEXTURE 0x84E0
  769. #define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
  770. #define GL_MAX_TEXTURE_UNITS 0x84E2
  771. /* texture_cube_map */
  772. #define GL_NORMAL_MAP 0x8511
  773. #define GL_REFLECTION_MAP 0x8512
  774. #define GL_TEXTURE_CUBE_MAP 0x8513
  775. #define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
  776. #define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
  777. #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
  778. #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
  779. #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
  780. #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
  781. #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
  782. #define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
  783. #define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
  784. /* texture_compression */
  785. #define GL_COMPRESSED_ALPHA 0x84E9
  786. #define GL_COMPRESSED_LUMINANCE 0x84EA
  787. #define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB
  788. #define GL_COMPRESSED_INTENSITY 0x84EC
  789. #define GL_COMPRESSED_RGB 0x84ED
  790. #define GL_COMPRESSED_RGBA 0x84EE
  791. #define GL_TEXTURE_COMPRESSION_HINT 0x84EF
  792. #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
  793. #define GL_TEXTURE_COMPRESSED 0x86A1
  794. #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
  795. #define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
  796. /* multisample */
  797. #define GL_MULTISAMPLE 0x809D
  798. #define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
  799. #define GL_SAMPLE_ALPHA_TO_ONE 0x809F
  800. #define GL_SAMPLE_COVERAGE 0x80A0
  801. #define GL_SAMPLE_BUFFERS 0x80A8
  802. #define GL_SAMPLES 0x80A9
  803. #define GL_SAMPLE_COVERAGE_VALUE 0x80AA
  804. #define GL_SAMPLE_COVERAGE_INVERT 0x80AB
  805. #define GL_MULTISAMPLE_BIT 0x20000000
  806. /* transpose_matrix */
  807. #define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
  808. #define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
  809. #define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
  810. #define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
  811. /* texture_env_combine */
  812. #define GL_COMBINE 0x8570
  813. #define GL_COMBINE_RGB 0x8571
  814. #define GL_COMBINE_ALPHA 0x8572
  815. #define GL_SOURCE0_RGB 0x8580
  816. #define GL_SOURCE1_RGB 0x8581
  817. #define GL_SOURCE2_RGB 0x8582
  818. #define GL_SOURCE0_ALPHA 0x8588
  819. #define GL_SOURCE1_ALPHA 0x8589
  820. #define GL_SOURCE2_ALPHA 0x858A
  821. #define GL_OPERAND0_RGB 0x8590
  822. #define GL_OPERAND1_RGB 0x8591
  823. #define GL_OPERAND2_RGB 0x8592
  824. #define GL_OPERAND0_ALPHA 0x8598
  825. #define GL_OPERAND1_ALPHA 0x8599
  826. #define GL_OPERAND2_ALPHA 0x859A
  827. #define GL_RGB_SCALE 0x8573
  828. #define GL_ADD_SIGNED 0x8574
  829. #define GL_INTERPOLATE 0x8575
  830. #define GL_SUBTRACT 0x84E7
  831. #define GL_CONSTANT 0x8576
  832. #define GL_PRIMARY_COLOR 0x8577
  833. #define GL_PREVIOUS 0x8578
  834. /* texture_env_dot3 */
  835. #define GL_DOT3_RGB 0x86AE
  836. #define GL_DOT3_RGBA 0x86AF
  837. /* texture_border_clamp */
  838. #define GL_CLAMP_TO_BORDER 0x812D
  839. /*
  840. * Miscellaneous
  841. */
  842. void glClearIndex( GLfloat c );
  843. void glClearColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );
  844. void glClear( GLbitfield mask );
  845. void glIndexMask( GLuint mask );
  846. void glColorMask( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha );
  847. void glAlphaFunc( GLenum func, GLclampf ref );
  848. void glBlendFunc( GLenum sfactor, GLenum dfactor );
  849. void glLogicOp( GLenum opcode );
  850. void glCullFace( GLenum mode );
  851. void glFrontFace( GLenum mode );
  852. void glPointSize( GLfloat size );
  853. void glLineWidth( GLfloat width );
  854. void glLineStipple( GLint factor, GLushort pattern );
  855. void glPolygonMode( GLenum face, GLenum mode );
  856. void glPolygonOffset( GLfloat factor, GLfloat units );
  857. void glPolygonStipple( const GLubyte *mask );
  858. void glGetPolygonStipple( GLubyte *mask );
  859. void glEdgeFlag( GLboolean flag );
  860. void glEdgeFlagv( const GLboolean *flag );
  861. void glScissor( GLint x, GLint y, GLsizei width, GLsizei height);
  862. void glClipPlane( GLenum plane, const GLdouble *equation );
  863. void glGetClipPlane( GLenum plane, GLdouble *equation );
  864. void glDrawBuffer( GLenum mode );
  865. void glReadBuffer( GLenum mode );
  866. void glEnable( GLenum cap );
  867. void glDisable( GLenum cap );
  868. GLboolean glIsEnabled( GLenum cap );
  869. void glEnableClientState( GLenum cap ); /* 1.1 */
  870. void glDisableClientState( GLenum cap ); /* 1.1 */
  871. void glGetBooleanv( GLenum pname, GLboolean *params );
  872. void glGetDoublev( GLenum pname, GLdouble *params );
  873. // void glGetDoublev( GLenum pname, ___byte_vector params );
  874. /* void test_glGetDoublev( GLenum pname, blob params ); */
  875. /* void byte_vector_glGetDoublev( GLenum pname, ___byte_vector params ); */
  876. /* void test_b_glGetDoublev( GLenum pname, ___byte_vector *params ); */
  877. /* void test_c_glGetDoublev( GLenum pname, ___blob params ); */
  878. void glGetFloatv( GLenum pname, GLfloat *params );
  879. void glGetIntegerv( GLenum pname, GLint *params );
  880. void glPushAttrib( GLbitfield mask );
  881. void glPopAttrib( void );
  882. void glPushClientAttrib( GLbitfield mask ); /* 1.1 */
  883. void glPopClientAttrib( void ); /* 1.1 */
  884. GLint glRenderMode( GLenum mode );
  885. GLenum glGetError( void );
  886. char* glGetString( GLenum name );
  887. void glFinish( void );
  888. void glFlush( void );
  889. void glHint( GLenum target, GLenum mode );
  890. /*
  891. * Depth Buffer
  892. */
  893. void glClearDepth( GLclampd depth );
  894. void glDepthFunc( GLenum func );
  895. void glDepthMask( GLboolean flag );
  896. void glDepthRange( GLclampd near_val, GLclampd far_val );
  897. /*
  898. * Accumulation Buffer
  899. */
  900. void glClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
  901. void glAccum( GLenum op, GLfloat value );
  902. /*
  903. * Transformation
  904. */
  905. void glMatrixMode( GLenum mode );
  906. void glOrtho( GLdouble left, GLdouble right,
  907. GLdouble bottom, GLdouble top,
  908. GLdouble near_val, GLdouble far_val );
  909. void glFrustum( GLdouble left, GLdouble right,
  910. GLdouble bottom, GLdouble top,
  911. GLdouble near_val, GLdouble far_val );
  912. void glViewport( GLint x, GLint y,
  913. GLsizei width, GLsizei height );
  914. void glPushMatrix( void );
  915. void glPopMatrix( void );
  916. void glLoadIdentity( void );
  917. void glLoadMatrixd( const GLdouble *m );
  918. // void glLoadMatrixd( const ___byte_vector m );
  919. void glLoadMatrixf( const GLfloat *m );
  920. void glMultMatrixd( const GLdouble *m );
  921. // void glMultMatrixd( const ___byte_vector m );
  922. void glMultMatrixf( const GLfloat *m );
  923. void glRotated( GLdouble angle,
  924. GLdouble x, GLdouble y, GLdouble z );
  925. void glRotatef( GLfloat angle,
  926. GLfloat x, GLfloat y, GLfloat z );
  927. void glScaled( GLdouble x, GLdouble y, GLdouble z );
  928. void glScalef( GLfloat x, GLfloat y, GLfloat z );
  929. void glTranslated( GLdouble x, GLdouble y, GLdouble z );
  930. void glTranslatef( GLfloat x, GLfloat y, GLfloat z );
  931. /*
  932. * Display Lists
  933. */
  934. GLboolean glIsList( GLuint list );
  935. void glDeleteLists( GLuint list, GLsizei range );
  936. GLuint glGenLists( GLsizei range );
  937. void glNewList( GLuint list, GLenum mode );
  938. void glEndList( void );
  939. void glCallList( GLuint list );
  940. void glCallLists( GLsizei n, GLenum type,
  941. const GLvoid *lists );
  942. void glListBase( GLuint base );
  943. /*
  944. * Drawing Functions
  945. */
  946. void glBegin( GLenum mode );
  947. void glEnd( void );
  948. void glVertex2d( GLdouble x, GLdouble y );
  949. void glVertex2f( GLfloat x, GLfloat y );
  950. void glVertex2i( GLint x, GLint y );
  951. void glVertex2s( GLshort x, GLshort y );
  952. void glVertex3d( GLdouble x, GLdouble y, GLdouble z );
  953. void glVertex3f( GLfloat x, GLfloat y, GLfloat z );
  954. void glVertex3i( GLint x, GLint y, GLint z );
  955. void glVertex3s( GLshort x, GLshort y, GLshort z );
  956. void glVertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
  957. void glVertex4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
  958. void glVertex4i( GLint x, GLint y, GLint z, GLint w );
  959. void glVertex4s( GLshort x, GLshort y, GLshort z, GLshort w );
  960. void glVertex2dv( const GLdouble *v );
  961. void glVertex2fv( const GLfloat *v );
  962. void glVertex2iv( const GLint *v );
  963. void glVertex2sv( const GLshort *v );
  964. void glVertex3dv( const GLdouble *v );
  965. void glVertex3fv( const GLfloat *v );
  966. void glVertex3iv( const GLint *v );
  967. void glVertex3sv( const GLshort *v );
  968. void glVertex4dv( const GLdouble *v );
  969. void glVertex4fv( const GLfloat *v );
  970. void glVertex4iv( const GLint *v );
  971. void glVertex4sv( const GLshort *v );
  972. void glNormal3b( GLbyte nx, GLbyte ny, GLbyte nz );
  973. void glNormal3d( GLdouble nx, GLdouble ny, GLdouble nz );
  974. void glNormal3f( GLfloat nx, GLfloat ny, GLfloat nz );
  975. void glNormal3i( GLint nx, GLint ny, GLint nz );
  976. void glNormal3s( GLshort nx, GLshort ny, GLshort nz );
  977. void glNormal3bv( const GLbyte *v );
  978. void glNormal3dv( const GLdouble *v );
  979. void glNormal3fv( const GLfloat *v );
  980. void glNormal3iv( const GLint *v );
  981. void glNormal3sv( const GLshort *v );
  982. void glIndexd( GLdouble c );
  983. void glIndexf( GLfloat c );
  984. void glIndexi( GLint c );
  985. void glIndexs( GLshort c );
  986. void glIndexub( GLubyte c ); /* 1.1 */
  987. void glIndexdv( const GLdouble *c );
  988. void glIndexfv( const GLfloat *c );
  989. void glIndexiv( const GLint *c );
  990. void glIndexsv( const GLshort *c );
  991. void glIndexubv( const GLubyte *c ); /* 1.1 */
  992. void glColor3b( GLbyte red, GLbyte green, GLbyte blue );
  993. void glColor3d( GLdouble red, GLdouble green, GLdouble blue );
  994. void glColor3f( GLfloat red, GLfloat green, GLfloat blue );
  995. void glColor3i( GLint red, GLint green, GLint blue );
  996. void glColor3s( GLshort red, GLshort green, GLshort blue );
  997. void glColor3ub( GLubyte red, GLubyte green, GLubyte blue );
  998. void glColor3ui( GLuint red, GLuint green, GLuint blue );
  999. void glColor3us( GLushort red, GLushort green, GLushort blue );
  1000. void glColor4b( GLbyte red, GLbyte green,
  1001. GLbyte blue, GLbyte alpha );
  1002. void glColor4d( GLdouble red, GLdouble green,
  1003. GLdouble blue, GLdouble alpha );
  1004. void glColor4f( GLfloat red, GLfloat green,
  1005. GLfloat blue, GLfloat alpha );
  1006. void glColor4i( GLint red, GLint green,
  1007. GLint blue, GLint alpha );
  1008. void glColor4s( GLshort red, GLshort green,
  1009. GLshort blue, GLshort alpha );
  1010. void glColor4ub( GLubyte red, GLubyte green,
  1011. GLubyte blue, GLubyte alpha );
  1012. void glColor4ui( GLuint red, GLuint green,
  1013. GLuint blue, GLuint alpha );
  1014. void glColor4us( GLushort red, GLushort green,
  1015. GLushort blue, GLushort alpha );
  1016. void glColor3bv( const GLbyte *v );
  1017. void glColor3dv( const GLdouble *v );
  1018. void glColor3fv( const GLfloat *v );
  1019. void glColor3iv( const GLint *v );
  1020. void glColor3sv( const GLshort *v );
  1021. void glColor3ubv( const GLubyte *v );
  1022. void glColor3uiv( const GLuint *v );
  1023. void glColor3usv( const GLushort *v );
  1024. void glColor4bv( const GLbyte *v );
  1025. void glColor4dv( const GLdouble *v );
  1026. void glColor4fv( const GLfloat *v );
  1027. void glColor4iv( const GLint *v );
  1028. void glColor4sv( const GLshort *v );
  1029. void glColor4ubv( const GLubyte *v );
  1030. void glColor4uiv( const GLuint *v );
  1031. void glColor4usv( const GLushort *v );
  1032. void glTexCoord1d( GLdouble s );
  1033. void glTexCoord1f( GLfloat s );
  1034. void glTexCoord1i( GLint s );
  1035. void glTexCoord1s( GLshort s );
  1036. void glTexCoord2d( GLdouble s, GLdouble t );
  1037. void glTexCoord2f( GLfloat s, GLfloat t );
  1038. void glTexCoord2i( GLint s, GLint t );
  1039. void glTexCoord2s( GLshort s, GLshort t );
  1040. void glTexCoord3d( GLdouble s, GLdouble t, GLdouble r );
  1041. void glTexCoord3f( GLfloat s, GLfloat t, GLfloat r );
  1042. void glTexCoord3i( GLint s, GLint t, GLint r );
  1043. void glTexCoord3s( GLshort s, GLshort t, GLshort r );
  1044. void glTexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q );
  1045. void glTexCoord4f( GLfloat s, GLfloat t, GLfloat r, GLfloat q );
  1046. void glTexCoord4i( GLint s, GLint t, GLint r, GLint q );
  1047. void glTexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q );
  1048. void glTexCoord1dv( const GLdouble *v );
  1049. void glTexCoord1fv( const GLfloat *v );
  1050. void glTexCoord1iv( const GLint *v );
  1051. void glTexCoord1sv( const GLshort *v );
  1052. void glTexCoord2dv( const GLdouble *v );
  1053. void glTexCoord2fv( const GLfloat *v );
  1054. void glTexCoord2iv( const GLint *v );
  1055. void glTexCoord2sv( const GLshort *v );
  1056. void glTexCoord3dv( const GLdouble *v );
  1057. void glTexCoord3fv( const GLfloat *v );
  1058. void glTexCoord3iv( const GLint *v );
  1059. void glTexCoord3sv( const GLshort *v );
  1060. void glTexCoord4dv( const GLdouble *v );
  1061. void glTexCoord4fv( const GLfloat *v );
  1062. void glTexCoord4iv( const GLint *v );
  1063. void glTexCoord4sv( const GLshort *v );
  1064. void glRasterPos2d( GLdouble x, GLdouble y );
  1065. void glRasterPos2f( GLfloat x, GLfloat y );
  1066. void glRasterPos2i( GLint x, GLint y );
  1067. void glRasterPos2s( GLshort x, GLshort y );
  1068. void glRasterPos3d( GLdouble x, GLdouble y, GLdouble z );
  1069. void glRasterPos3f( GLfloat x, GLfloat y, GLfloat z );
  1070. void glRasterPos3i( GLint x, GLint y, GLint z );
  1071. void glRasterPos3s( GLshort x, GLshort y, GLshort z );
  1072. void glRasterPos4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
  1073. void glRasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
  1074. void glRasterPos4i( GLint x, GLint y, GLint z, GLint w );
  1075. void glRasterPos4s( GLshort x, GLshort y, GLshort z, GLshort w );
  1076. void glRasterPos2dv( const GLdouble *v );
  1077. void glRasterPos2fv( const GLfloat *v );
  1078. void glRasterPos2iv( const GLint *v );
  1079. void glRasterPos2sv( const GLshort *v );
  1080. void glRasterPos3dv( const GLdouble *v );
  1081. void glRasterPos3fv( const GLfloat *v );
  1082. void glRasterPos3iv( const GLint *v );
  1083. void glRasterPos3sv( const GLshort *v );
  1084. void glRasterPos4dv( const GLdouble *v );
  1085. void glRasterPos4fv( const GLfloat *v );
  1086. void glRasterPos4iv( const GLint *v );
  1087. void glRasterPos4sv( const GLshort *v );
  1088. void glRectd( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 );
  1089. void glRectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 );
  1090. void glRecti( GLint x1, GLint y1, GLint x2, GLint y2 );
  1091. void glRects( GLshort x1, GLshort y1, GLshort x2, GLshort y2 );
  1092. void glRectdv( const GLdouble *v1, const GLdouble *v2 );
  1093. void glRectfv( const GLfloat *v1, const GLfloat *v2 );
  1094. void glRectiv( const GLint *v1, const GLint *v2 );
  1095. void glRectsv( const GLshort *v1, const GLshort *v2 );
  1096. /*
  1097. * Vertex Arrays (1.1)
  1098. */
  1099. void glVertexPointer( GLint size, GLenum type,
  1100. GLsizei stride, const GLvoid *ptr );
  1101. void glNormalPointer( GLenum type, GLsizei stride,
  1102. const GLvoid *ptr );
  1103. void glColorPointer( GLint size, GLenum type,
  1104. GLsizei stride, const GLvoid *ptr );
  1105. void glIndexPointer( GLenum type, GLsizei stride,
  1106. const GLvoid *ptr );
  1107. void glTexCoordPointer( GLint size, GLenum type,
  1108. GLsizei stride, const GLvoid *ptr );
  1109. void glEdgeFlagPointer( GLsizei stride, const GLvoid *ptr );
  1110. void glGetPointerv( GLenum pname, GLvoid **params );
  1111. void glArrayElement( GLint i );
  1112. void glDrawArrays( GLenum mode, GLint first, GLsizei count );
  1113. void glDrawElements( GLenum mode, GLsizei count,
  1114. GLenum type, const GLvoid *indices );
  1115. void glInterleavedArrays( GLenum format, GLsizei stride,
  1116. const GLvoid *pointer );
  1117. /*
  1118. * Lighting
  1119. */
  1120. void glShadeModel( GLenum mode );
  1121. void glLightf( GLenum light, GLenum pname, GLfloat param );
  1122. void glLighti( GLenum light, GLenum pname, GLint param );
  1123. void glLightfv( GLenum light, GLenum pname,
  1124. const GLfloat *params );
  1125. void glLightiv( GLenum light, GLenum pname,
  1126. const GLint *params );
  1127. void glGetLightfv( GLenum light, GLenum pname,
  1128. GLfloat *params );
  1129. void glGetLightiv( GLenum light, GLenum pname,
  1130. GLint *params );
  1131. void glLightModelf( GLenum pname, GLfloat param );
  1132. void glLightModeli( GLenum pname, GLint param );
  1133. void glLightModelfv( GLenum pname, const GLfloat *params );
  1134. void glLightModeliv( GLenum pname, const GLint *params );
  1135. void glMaterialf( GLenum face, GLenum pname, GLfloat param );
  1136. void glMateriali( GLenum face, GLenum pname, GLint param );
  1137. void glMaterialfv( GLenum face, GLenum pname, const GLfloat *params );
  1138. void glMaterialiv( GLenum face, GLenum pname, const GLint *params );
  1139. void glGetMaterialfv( GLenum face, GLenum pname, GLfloat *params );
  1140. void glGetMaterialiv( GLenum face, GLenum pname, GLint *params );
  1141. void glColorMaterial( GLenum face, GLenum mode );
  1142. /*
  1143. * Raster functions
  1144. */
  1145. void glPixelZoom( GLfloat xfactor, GLfloat yfactor );
  1146. void glPixelStoref( GLenum pname, GLfloat param );
  1147. void glPixelStorei( GLenum pname, GLint param );
  1148. void glPixelTransferf( GLenum pname, GLfloat param );
  1149. void glPixelTransferi( GLenum pname, GLint param );
  1150. void glPixelMapfv( GLenum map, GLint mapsize,
  1151. const GLfloat *values );
  1152. void glPixelMapuiv( GLenum map, GLint mapsize,
  1153. const GLuint *values );
  1154. void glPixelMapusv( GLenum map, GLint mapsize,
  1155. const GLushort *values );
  1156. void glGetPixelMapfv( GLenum map, GLfloat *values );
  1157. void glGetPixelMapuiv( GLenum map, GLuint *values );
  1158. void glGetPixelMapusv( GLenum map, GLushort *values );
  1159. void glBitmap( GLsizei width, GLsizei height,
  1160. GLfloat xorig, GLfloat yorig,
  1161. GLfloat xmove, GLfloat ymove,
  1162. const GLubyte *bitmap );
  1163. void glReadPixels( GLint x, GLint y,
  1164. GLsizei width, GLsizei height,
  1165. GLenum format, GLenum type,
  1166. GLvoid *pixels );
  1167. void glDrawPixels( GLsizei width, GLsizei height,
  1168. GLenum format, GLenum type,
  1169. const GLvoid *pixels );
  1170. void glCopyPixels( GLint x, GLint y,
  1171. GLsizei width, GLsizei height,
  1172. GLenum type );
  1173. /*
  1174. * Stenciling
  1175. */
  1176. void glStencilFunc( GLenum func, GLint ref, GLuint mask );
  1177. void glStencilMask( GLuint mask );
  1178. void glStencilOp( GLenum fail, GLenum zfail, GLenum zpass );
  1179. void glClearStencil( GLint s );
  1180. /*
  1181. * Texture mapping
  1182. */
  1183. void glTexGend( GLenum coord, GLenum pname, GLdouble param );
  1184. void glTexGenf( GLenum coord, GLenum pname, GLfloat param );
  1185. void glTexGeni( GLenum coord, GLenum pname, GLint param );
  1186. void glTexGendv( GLenum coord, GLenum pname, const GLdouble *params );
  1187. void glTexGenfv( GLenum coord, GLenum pname, const GLfloat *params );
  1188. void glTexGeniv( GLenum coord, GLenum pname, const GLint *params );
  1189. void glGetTexGendv( GLenum coord, GLenum pname, GLdouble *params );
  1190. void glGetTexGenfv( GLenum coord, GLenum pname, GLfloat *params );
  1191. void glGetTexGeniv( GLenum coord, GLenum pname, GLint *params );
  1192. void glTexEnvf( GLenum target, GLenum pname, GLfloat param );
  1193. void glTexEnvi( GLenum target, GLenum pname, GLint param );
  1194. void glTexEnvfv( GLenum target, GLenum pname, const GLfloat *params );
  1195. void glTexEnviv( GLenum target, GLenum pname, const GLint *params );
  1196. void glGetTexEnvfv( GLenum target, GLenum pname, GLfloat *params );
  1197. void glGetTexEnviv( GLenum target, GLenum pname, GLint *params );
  1198. void glTexParameterf( GLenum target, GLenum pname, GLfloat param );
  1199. void glTexParameteri( GLenum target, GLenum pname, GLint param );
  1200. void glTexParameterfv( GLenum target, GLenum pname,
  1201. const GLfloat *params );
  1202. void glTexParameteriv( GLenum target, GLenum pname,
  1203. const GLint *params );
  1204. void glGetTexParameterfv( GLenum target,
  1205. GLenum pname, GLfloat *params);
  1206. void glGetTexParameteriv( GLenum target,
  1207. GLenum pname, GLint *params );
  1208. void glGetTexLevelParameterfv( GLenum target, GLint level,
  1209. GLenum pname, GLfloat *params );
  1210. void glGetTexLevelParameteriv( GLenum target, GLint level,
  1211. GLenum pname, GLint *params );
  1212. void glTexImage1D( GLenum target, GLint level,
  1213. GLint internalFormat,
  1214. GLsizei width, GLint border,
  1215. GLenum format, GLenum type,
  1216. const GLvoid *pixels );
  1217. void glTexImage2D( GLenum target, GLint level,
  1218. GLint internalFormat,
  1219. GLsizei width, GLsizei height,
  1220. GLint border, GLenum format, GLenum type,
  1221. const GLvoid *pixels );
  1222. void glGetTexImage( GLenum target, GLint level,
  1223. GLenum format, GLenum type,
  1224. GLvoid *pixels );
  1225. /* 1.1 functions */
  1226. void glGenTextures( GLsizei n, GLuint *textures );
  1227. void glDeleteTextures( GLsizei n, const GLuint *textures);
  1228. void glBindTexture( GLenum target, GLuint texture );
  1229. void glPrioritizeTextures( GLsizei n,
  1230. const GLuint *textures,
  1231. const GLclampf *priorities );
  1232. GLboolean glAreTexturesResident( GLsizei n,
  1233. const GLuint *textures,
  1234. GLboolean *residences );
  1235. GLboolean glIsTexture( GLuint texture );
  1236. void glTexSubImage1D( GLenum target, GLint level,
  1237. GLint xoffset,
  1238. GLsizei width, GLenum format,
  1239. GLenum type, const GLvoid *pixels );
  1240. void glTexSubImage2D( GLenum target, GLint level,
  1241. GLint xoffset, GLint yoffset,
  1242. GLsizei width, GLsizei height,
  1243. GLenum format, GLenum type,
  1244. const GLvoid *pixels );
  1245. void glCopyTexImage1D( GLenum target, GLint level,
  1246. GLenum internalformat,
  1247. GLint x, GLint y,
  1248. GLsizei width, GLint border );
  1249. void glCopyTexImage2D( GLenum target, GLint level,
  1250. GLenum internalformat,
  1251. GLint x, GLint y,
  1252. GLsizei width, GLsizei height,
  1253. GLint border );
  1254. void glCopyTexSubImage1D( GLenum target, GLint level,
  1255. GLint xoffset, GLint x, GLint y,
  1256. GLsizei width );
  1257. void glCopyTexSubImage2D( GLenum target, GLint level,
  1258. GLint xoffset, GLint yoffset,
  1259. GLint x, GLint y,
  1260. GLsizei width, GLsizei height );
  1261. /*
  1262. * Evaluators
  1263. */
  1264. void glMap1d( GLenum target, GLdouble u1, GLdouble u2,
  1265. GLint stride,
  1266. GLint order, const GLdouble *points );
  1267. void glMap1f( GLenum target, GLfloat u1, GLfloat u2,
  1268. GLint stride,
  1269. GLint order, const GLfloat *points );
  1270. void glMap2d( GLenum target,
  1271. GLdouble u1, GLdouble u2, GLint ustride, GLint uorder,
  1272. GLdouble v1, GLdouble v2, GLint vstride, GLint vorder,
  1273. const GLdouble *points );
  1274. void glMap2f( GLenum target,
  1275. GLfloat u1, GLfloat u2, GLint ustride, GLint uorder,
  1276. GLfloat v1, GLfloat v2, GLint vstride, GLint vorder,
  1277. const GLfloat *points );
  1278. void glGetMapdv( GLenum target, GLenum query, GLdouble *v );
  1279. void glGetMapfv( GLenum target, GLenum query, GLfloat *v );
  1280. void glGetMapiv( GLenum target, GLenum query, GLint *v );
  1281. void glEvalCoord1d( GLdouble u );
  1282. void glEvalCoord1f( GLfloat u );
  1283. void glEvalCoord1dv( const GLdouble *u );
  1284. void glEvalCoord1fv( const GLfloat *u );
  1285. void glEvalCoord2d( GLdouble u, GLdouble v );
  1286. void glEvalCoord2f( GLfloat u, GLfloat v );
  1287. void glEvalCoord2dv( const GLdouble *u );
  1288. void glEvalCoord2fv( const GLfloat *u );
  1289. void glMapGrid1d( GLint un, GLdouble u1, GLdouble u2 );
  1290. void glMapGrid1f( GLint un, GLfloat u1, GLfloat u2 );
  1291. void glMapGrid2d( GLint un, GLdouble u1, GLdouble u2,
  1292. GLint vn, GLdouble v1, GLdouble v2 );
  1293. void glMapGrid2f( GLint un, GLfloat u1, GLfloat u2,
  1294. GLint vn, GLfloat v1, GLfloat v2 );
  1295. void glEvalPoint1( GLint i );
  1296. void glEvalPoint2( GLint i, GLint j );
  1297. void glEvalMesh1( GLenum mode, GLint i1, GLint i2 );
  1298. void glEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
  1299. /*
  1300. * Fog
  1301. */
  1302. void glFogf( GLenum pname, GLfloat param );
  1303. void glFogi( GLenum pname, GLint param );
  1304. void glFogfv( GLenum pname, const GLfloat *params );
  1305. void glFogiv( GLenum pname, const GLint *params );
  1306. /*
  1307. * Selection and Feedback
  1308. */
  1309. void glFeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer );
  1310. void glPassThrough( GLfloat token );
  1311. void glSelectBuffer( GLsizei size, GLuint *buffer );
  1312. void glInitNames( void );
  1313. void glLoadName( GLuint name );
  1314. void glPushName( GLuint name );
  1315. void glPopName( void );
  1316. EOF
  1317. )
  1318. (cond-expand
  1319. (cygwin)
  1320. (else
  1321. (foreign-parse #<<EOF
  1322. /* 1.2 functions */
  1323. void glDrawRangeElements( GLenum mode, GLuint start,
  1324. GLuint end, GLsizei count, GLenum type, const GLvoid *indices );
  1325. void glTexImage3D( GLenum target, GLint level,
  1326. GLenum internalFormat,
  1327. GLsizei width, GLsizei height,
  1328. GLsizei depth, GLint border,
  1329. GLenum format, GLenum type,
  1330. const GLvoid *pixels );
  1331. void glTexSubImage3D( GLenum target, GLint level,
  1332. GLint xoffset, GLint yoffset,
  1333. GLint zoffset, GLsizei width,
  1334. GLsizei height, GLsizei depth,
  1335. GLenum format,
  1336. GLenum type, const GLvoid *pixels);
  1337. void glCopyTexSubImage3D( GLenum target, GLint level,
  1338. GLint xoffset, GLint yoffset,
  1339. GLint zoffset, GLint x,
  1340. GLint y, GLsizei width,
  1341. GLsizei height );
  1342. /* 1.2 imaging extension functions */
  1343. void glColorTable( GLenum target, GLenum internalformat,
  1344. GLsizei width, GLenum format,
  1345. GLenum type, const GLvoid *table );
  1346. void glColorSubTable( GLenum target,
  1347. GLsizei start, GLsizei count,
  1348. GLenum format, GLenum type,
  1349. const GLvoid *data );
  1350. void glColorTableParameteriv(GLenum target, GLenum pname,
  1351. const GLint *params);
  1352. void glColorTableParameterfv(GLenum target, GLenum pname,
  1353. const GLfloat *params);
  1354. void glCopyColorSubTable( GLenum target, GLsizei start,
  1355. GLint x, GLint y, GLsizei width );
  1356. void glCopyColorTable( GLenum target, GLenum internalformat,
  1357. GLint x, GLint y, GLsizei width );
  1358. void glGetColorTable( GLenum target, GLenum format,
  1359. GLenum type, GLvoid *table );
  1360. void glGetColorTableParameterfv( GLenum target, GLenum pname,
  1361. GLfloat *params );
  1362. void glGetColorTableParameteriv( GLenum target, GLenum pname,
  1363. GLint *params );
  1364. void glBlendEquation( GLenum mode );
  1365. void glBlendColor( GLclampf red, GLclampf green,
  1366. GLclampf blue, GLclampf alpha );
  1367. void glHistogram( GLenum target, GLsizei width,
  1368. GLenum internalformat, GLboolean sink );
  1369. void glResetHistogram( GLenum target );
  1370. void glGetHistogram( GLenum target, GLboolean reset,
  1371. GLenum format, GLenum type,
  1372. GLvoid *values );
  1373. void glGetHistogramParameterfv( GLenum target, GLenum pname,
  1374. GLfloat *params );
  1375. void glGetHistogramParameteriv( GLenum target, GLenum pname,
  1376. GLint *params );
  1377. void glMinmax( GLenum target, GLenum internalformat,
  1378. GLboolean sink );
  1379. void glResetMinmax( GLenum target );
  1380. void glGetMinmax( GLenum target, GLboolean reset,
  1381. GLenum format, GLenum types,
  1382. GLvoid *values );
  1383. void glGetMinmaxParameterfv( GLenum target, GLenum pname,
  1384. GLfloat *params );
  1385. void glGetMinmaxParameteriv( GLenum target, GLenum pname,
  1386. GLint *params );
  1387. void glConvolutionFilter1D( GLenum target,
  1388. GLenum internalformat, GLsizei width, GLenum format, GLenum type,
  1389. const GLvoid *image );
  1390. void glConvolutionFilter2D( GLenum target,
  1391. GLenum internalformat, GLsizei width, GLsizei height, GLenum format,
  1392. GLenum type, const GLvoid *image );
  1393. void glConvolutionParameterf( GLenum target, GLenum pname,
  1394. GLfloat params );
  1395. void glConvolutionParameterfv( GLenum target, GLenum pname,
  1396. const GLfloat *params );
  1397. void glConvolutionParameteri( GLenum target, GLenum pname,
  1398. GLint params );
  1399. void glConvolutionParameteriv( GLenum target, GLenum pname,
  1400. const GLint *params );
  1401. void glCopyConvolutionFilter1D( GLenum target,
  1402. GLenum internalformat, GLint x, GLint y, GLsizei width );
  1403. void glCopyConvolutionFilter2D( GLenum target,
  1404. GLenum internalformat, GLint x, GLint y, GLsizei width,
  1405. GLsizei height);
  1406. void glGetConvolutionFilter( GLenum target, GLenum format,
  1407. GLenum type, GLvoid *image );
  1408. void glGetConvolutionParameterfv( GLenum target, GLenum pname,
  1409. GLfloat *params );
  1410. void glGetConvolutionParameteriv( GLenum target, GLenum pname,
  1411. GLint *params );
  1412. void glSeparableFilter2D( GLenum target,
  1413. GLenum internalformat, GLsizei width, GLsizei height, GLenum format,
  1414. GLenum type, const GLvoid *row, const GLvoid *column );
  1415. void glGetSeparableFilter( GLenum target, GLenum format,
  1416. GLenum type, GLvoid *row, GLvoid *column, GLvoid *span );
  1417. /* 1.3 functions */
  1418. void glActiveTexture( GLenum texture );
  1419. void glClientActiveTexture( GLenum texture );
  1420. void glCompressedTexImage1D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data );
  1421. void glCompressedTexImage2D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data );
  1422. void glCompressedTexImage3D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data );
  1423. void glCompressedTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data );
  1424. void glCompressedTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data );
  1425. void glCompressedTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data );
  1426. void glGetCompressedTexImage( GLenum target, GLint lod, GLvoid *img );
  1427. void glMultiTexCoord1d( GLenum target, GLdouble s );
  1428. void glMultiTexCoord1dv( GLenum target, const GLdouble *v );
  1429. void glMultiTexCoord1f( GLenum target, GLfloat s );
  1430. void glMultiTexCoord1fv( GLenum target, const GLfloat *v );
  1431. void glMultiTexCoord1i( GLenum target, GLint s );
  1432. void glMultiTexCoord1iv( GLenum target, const GLint *v );
  1433. void glMultiTexCoord1s( GLenum target, GLshort s );
  1434. void glMultiTexCoord1sv( GLenum target, const GLshort *v );
  1435. void glMultiTexCoord2d( GLenum target, GLdouble s, GLdouble t );
  1436. void glMultiTexCoord2dv( GLenum target, const GLdouble *v );
  1437. void glMultiTexCoord2f( GLenum target, GLfloat s, GLfloat t );
  1438. void glMultiTexCoord2fv( GLenum target, const GLfloat *v );
  1439. void glMultiTexCoord2i( GLenum target, GLint s, GLint t );
  1440. void glMultiTexCoord2iv( GLenum target, const GLint *v );
  1441. void glMultiTexCoord2s( GLenum target, GLshort s, GLshort t );
  1442. void glMultiTexCoord2sv( GLenum target, const GLshort *v );
  1443. void glMultiTexCoord3d( GLenum target, GLdouble s, GLdouble t, GLdouble r );
  1444. void glMultiTexCoord3dv( GLenum target, const GLdouble *v );
  1445. void glMultiTexCoord3f( GLenum target, GLfloat s, GLfloat t, GLfloat r );
  1446. void glMultiTexCoord3fv( GLenum target, const GLfloat *v );
  1447. void glMultiTexCoord3i( GLenum target, GLint s, GLint t, GLint r );
  1448. void glMultiTexCoord3iv( GLenum target, const GLint *v );
  1449. void glMultiTexCoord3s( GLenum target, GLshort s, GLshort t, GLshort r );
  1450. void glMultiTexCoord3sv( GLenum target, const GLshort *v );
  1451. void glMultiTexCoord4d( GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q );
  1452. void glMultiTexCoord4dv( GLenum target, const GLdouble *v );
  1453. void glMultiTexCoord4f( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q );
  1454. void glMultiTexCoord4fv( GLenum target, const GLfloat *v );
  1455. void glMultiTexCoord4i( GLenum target, GLint s, GLint t, GLint r, GLint q );
  1456. void glMultiTexCoord4iv( GLenum target, const GLint *v );
  1457. void glMultiTexCoord4s( GLenum target, GLshort s, GLshort t, GLshort r, GLshort q );
  1458. void glMultiTexCoord4sv( GLenum target, const GLshort *v );
  1459. void glLoadTransposeMatrixd( const GLdouble *m );
  1460. void glLoadTransposeMatrixf( const GLfloat *m );
  1461. void glMultTransposeMatrixd( const GLdouble *m );
  1462. void glMultTransposeMatrixf( const GLfloat *m );
  1463. void glSampleCoverage( GLclampf value, GLboolean invert );
  1464. EOF
  1465. )))