glc.h 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666
  1. //-----------------------------------------------------------------------------
  2. // Copyright (c) 2012 GarageGames, LLC
  3. //
  4. // Permission is hereby granted, free of charge, to any person obtaining a copy
  5. // of this software and associated documentation files (the "Software"), to
  6. // deal in the Software without restriction, including without limitation the
  7. // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
  8. // sell copies of the Software, and to permit persons to whom the Software is
  9. // furnished to do so, subject to the following conditions:
  10. //
  11. // The above copyright notice and this permission notice shall be included in
  12. // all copies or substantial portions of the Software.
  13. //
  14. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  15. // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  16. // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  17. // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  18. // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  19. // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
  20. // IN THE SOFTWARE.
  21. //-----------------------------------------------------------------------------
  22. /*
  23. ** License Applicability. Except to the extent portions of this file are
  24. ** made subject to an alternative license as permitted in the SGI Free
  25. ** Software License B, Version 1.1 (the "License"), the contents of this
  26. ** file are subject only to the provisions of the License. You may not use
  27. ** this file except in compliance with the License. You may obtain a copy
  28. ** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
  29. ** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
  30. **
  31. ** http://oss.sgi.com/projects/FreeB
  32. **
  33. ** Note that, as provided in the License, the Software is distributed on an
  34. ** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
  35. ** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
  36. ** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
  37. ** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
  38. **
  39. ** Original Code. The Original Code is: OpenGL Sample Private,
  40. ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
  41. ** Inc. The Original Code is Copyright (c) 1991-2002 Silicon Graphics, Inc.
  42. ** Copyright in any portions created by third parties is as indicated
  43. ** elsewhere herein. All Rights Reserved.
  44. **
  45. ** Additional Notice Provisions: This software was created using the
  46. ** OpenGL(R) version 1.2.1 Sample Private published by SGI, but has
  47. ** not been independently verified as being compliant with the OpenGL(R)
  48. ** version 1.2.1 Specification.
  49. */
  50. typedef unsigned int GLenum;
  51. typedef unsigned char GLboolean;
  52. typedef unsigned int GLbitfield;
  53. typedef void GLvoid;
  54. typedef signed char GLbyte; /* 1-byte signed */
  55. typedef short GLshort; /* 2-byte signed */
  56. typedef int GLint; /* 4-byte signed */
  57. typedef unsigned char GLubyte; /* 1-byte unsigned */
  58. typedef unsigned short GLushort; /* 2-byte unsigned */
  59. typedef unsigned int GLuint; /* 4-byte unsigned */
  60. typedef int GLsizei; /* 4-byte signed */
  61. typedef float GLfloat; /* single precision float */
  62. typedef float GLclampf; /* single precision float in [0,1] */
  63. typedef double GLdouble; /* double precision float */
  64. typedef double GLclampd; /* double precision float in [0,1] */
  65. /* Boolean values */
  66. #define GL_FALSE 0x0
  67. #define GL_TRUE 0x1
  68. /* Data types */
  69. #define GL_BYTE 0x1400
  70. #define GL_UNSIGNED_BYTE 0x1401
  71. #define GL_SHORT 0x1402
  72. #define GL_UNSIGNED_SHORT 0x1403
  73. #define GL_INT 0x1404
  74. #define GL_UNSIGNED_INT 0x1405
  75. #define GL_FLOAT 0x1406
  76. #define GL_DOUBLE 0x140A
  77. #define GL_2_BYTES 0x1407
  78. #define GL_3_BYTES 0x1408
  79. #define GL_4_BYTES 0x1409
  80. /* Primitives */
  81. #define GL_POINTS 0x0000
  82. #define GL_LINES 0x0001
  83. #define GL_LINE_LOOP 0x0002
  84. #define GL_LINE_STRIP 0x0003
  85. #define GL_TRIANGLES 0x0004
  86. #define GL_TRIANGLE_STRIP 0x0005
  87. #define GL_TRIANGLE_FAN 0x0006
  88. #define GL_QUADS 0x0007
  89. #define GL_QUAD_STRIP 0x0008
  90. #define GL_POLYGON 0x0009
  91. /* Vertex Arrays */
  92. #define GL_VERTEX_ARRAY 0x8074
  93. #define GL_NORMAL_ARRAY 0x8075
  94. #define GL_COLOR_ARRAY 0x8076
  95. #define GL_INDEX_ARRAY 0x8077
  96. #define GL_TEXTURE_COORD_ARRAY 0x8078
  97. #define GL_EDGE_FLAG_ARRAY 0x8079
  98. #define GL_VERTEX_ARRAY_SIZE 0x807A
  99. #define GL_VERTEX_ARRAY_TYPE 0x807B
  100. #define GL_VERTEX_ARRAY_STRIDE 0x807C
  101. #define GL_NORMAL_ARRAY_TYPE 0x807E
  102. #define GL_NORMAL_ARRAY_STRIDE 0x807F
  103. #define GL_COLOR_ARRAY_SIZE 0x8081
  104. #define GL_COLOR_ARRAY_TYPE 0x8082
  105. #define GL_COLOR_ARRAY_STRIDE 0x8083
  106. #define GL_INDEX_ARRAY_TYPE 0x8085
  107. #define GL_INDEX_ARRAY_STRIDE 0x8086
  108. #define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088
  109. #define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089
  110. #define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A
  111. #define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C
  112. #define GL_VERTEX_ARRAY_POINTER 0x808E
  113. #define GL_NORMAL_ARRAY_POINTER 0x808F
  114. #define GL_COLOR_ARRAY_POINTER 0x8090
  115. #define GL_INDEX_ARRAY_POINTER 0x8091
  116. #define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092
  117. #define GL_EDGE_FLAG_ARRAY_POINTER 0x8093
  118. #define GL_V2F 0x2A20
  119. #define GL_V3F 0x2A21
  120. #define GL_C4UB_V2F 0x2A22
  121. #define GL_C4UB_V3F 0x2A23
  122. #define GL_C3F_V3F 0x2A24
  123. #define GL_N3F_V3F 0x2A25
  124. #define GL_C4F_N3F_V3F 0x2A26
  125. #define GL_T2F_V3F 0x2A27
  126. #define GL_T4F_V4F 0x2A28
  127. #define GL_T2F_C4UB_V3F 0x2A29
  128. #define GL_T2F_C3F_V3F 0x2A2A
  129. #define GL_T2F_N3F_V3F 0x2A2B
  130. #define GL_T2F_C4F_N3F_V3F 0x2A2C
  131. #define GL_T4F_C4F_N3F_V4F 0x2A2D
  132. /* Matrix Mode */
  133. #define GL_MATRIX_MODE 0x0BA0
  134. #define GL_MODELVIEW 0x1700
  135. #define GL_PROJECTION 0x1701
  136. #define GL_TEXTURE 0x1702
  137. /* Points */
  138. #define GL_POINT_SMOOTH 0x0B10
  139. #define GL_POINT_SIZE 0x0B11
  140. #define GL_POINT_SIZE_GRANULARITY 0x0B13
  141. #define GL_POINT_SIZE_RANGE 0x0B12
  142. /* Lines */
  143. #define GL_LINE_SMOOTH 0x0B20
  144. #define GL_LINE_STIPPLE 0x0B24
  145. #define GL_LINE_STIPPLE_PATTERN 0x0B25
  146. #define GL_LINE_STIPPLE_REPEAT 0x0B26
  147. #define GL_LINE_WIDTH 0x0B21
  148. #define GL_LINE_WIDTH_GRANULARITY 0x0B23
  149. #define GL_LINE_WIDTH_RANGE 0x0B22
  150. /* Polygons */
  151. #define GL_POINT 0x1B00
  152. #define GL_LINE 0x1B01
  153. #define GL_FILL 0x1B02
  154. #define GL_CW 0x0900
  155. #define GL_CCW 0x0901
  156. #define GL_FRONT 0x0404
  157. #define GL_BACK 0x0405
  158. #define GL_POLYGON_MODE 0x0B40
  159. #define GL_POLYGON_SMOOTH 0x0B41
  160. #define GL_POLYGON_STIPPLE 0x0B42
  161. #define GL_EDGE_FLAG 0x0B43
  162. #define GL_CULL_FACE 0x0B44
  163. #define GL_CULL_FACE_MODE 0x0B45
  164. #define GL_FRONT_FACE 0x0B46
  165. #define GL_POLYGON_OFFSET_FACTOR 0x8038
  166. #define GL_POLYGON_OFFSET_UNITS 0x2A00
  167. #define GL_POLYGON_OFFSET_POINT 0x2A01
  168. #define GL_POLYGON_OFFSET_LINE 0x2A02
  169. #define GL_POLYGON_OFFSET_FILL 0x8037
  170. /* Display Lists */
  171. #define GL_COMPILE 0x1300
  172. #define GL_COMPILE_AND_EXECUTE 0x1301
  173. #define GL_LIST_BASE 0x0B32
  174. #define GL_LIST_INDEX 0x0B33
  175. #define GL_LIST_MODE 0x0B30
  176. /* Depth buffer */
  177. #define GL_NEVER 0x0200
  178. #define GL_LESS 0x0201
  179. #define GL_EQUAL 0x0202
  180. #define GL_LEQUAL 0x0203
  181. #define GL_GREATER 0x0204
  182. #define GL_NOTEQUAL 0x0205
  183. #define GL_GEQUAL 0x0206
  184. #define GL_ALWAYS 0x0207
  185. #define GL_DEPTH_TEST 0x0B71
  186. #define GL_DEPTH_BITS 0x0D56
  187. #define GL_DEPTH_CLEAR_VALUE 0x0B73
  188. #define GL_DEPTH_FUNC 0x0B74
  189. #define GL_DEPTH_RANGE 0x0B70
  190. #define GL_DEPTH_WRITEMASK 0x0B72
  191. #define GL_DEPTH_COMPONENT 0x1902
  192. /* Lighting */
  193. #define GL_LIGHTING 0x0B50
  194. #define GL_LIGHT0 0x4000
  195. #define GL_LIGHT1 0x4001
  196. #define GL_LIGHT2 0x4002
  197. #define GL_LIGHT3 0x4003
  198. #define GL_LIGHT4 0x4004
  199. #define GL_LIGHT5 0x4005
  200. #define GL_LIGHT6 0x4006
  201. #define GL_LIGHT7 0x4007
  202. #define GL_SPOT_EXPONENT 0x1205
  203. #define GL_SPOT_CUTOFF 0x1206
  204. #define GL_CONSTANT_ATTENUATION 0x1207
  205. #define GL_LINEAR_ATTENUATION 0x1208
  206. #define GL_QUADRATIC_ATTENUATION 0x1209
  207. #define GL_AMBIENT 0x1200
  208. #define GL_DIFFUSE 0x1201
  209. #define GL_SPECULAR 0x1202
  210. #define GL_SHININESS 0x1601
  211. #define GL_EMISSION 0x1600
  212. #define GL_POSITION 0x1203
  213. #define GL_SPOT_DIRECTION 0x1204
  214. #define GL_AMBIENT_AND_DIFFUSE 0x1602
  215. #define GL_COLOR_INDEXES 0x1603
  216. #define GL_LIGHT_MODEL_TWO_SIDE 0x0B52
  217. #define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51
  218. #define GL_LIGHT_MODEL_AMBIENT 0x0B53
  219. #define GL_FRONT_AND_BACK 0x0408
  220. #define GL_SHADE_MODEL 0x0B54
  221. #define GL_FLAT 0x1D00
  222. #define GL_SMOOTH 0x1D01
  223. #define GL_COLOR_MATERIAL 0x0B57
  224. #define GL_COLOR_MATERIAL_FACE 0x0B55
  225. #define GL_COLOR_MATERIAL_PARAMETER 0x0B56
  226. #define GL_NORMALIZE 0x0BA1
  227. /* User clipping planes */
  228. #define GL_CLIP_PLANE0 0x3000
  229. #define GL_CLIP_PLANE1 0x3001
  230. #define GL_CLIP_PLANE2 0x3002
  231. #define GL_CLIP_PLANE3 0x3003
  232. #define GL_CLIP_PLANE4 0x3004
  233. #define GL_CLIP_PLANE5 0x3005
  234. /* Accumulation buffer */
  235. #define GL_ACCUM_RED_BITS 0x0D58
  236. #define GL_ACCUM_GREEN_BITS 0x0D59
  237. #define GL_ACCUM_BLUE_BITS 0x0D5A
  238. #define GL_ACCUM_ALPHA_BITS 0x0D5B
  239. #define GL_ACCUM_CLEAR_VALUE 0x0B80
  240. #define GL_ACCUM 0x0100
  241. #define GL_ADD 0x0104
  242. #define GL_LOAD 0x0101
  243. #define GL_MULT 0x0103
  244. #define GL_RETURN 0x0102
  245. /* Alpha testing */
  246. #define GL_ALPHA_TEST 0x0BC0
  247. #define GL_ALPHA_TEST_REF 0x0BC2
  248. #define GL_ALPHA_TEST_FUNC 0x0BC1
  249. /* Blending */
  250. #define GL_BLEND 0x0BE2
  251. #define GL_BLEND_SRC 0x0BE1
  252. #define GL_BLEND_DST 0x0BE0
  253. #define GL_ZERO 0x0
  254. #define GL_ONE 0x1
  255. #define GL_SRC_COLOR 0x0300
  256. #define GL_ONE_MINUS_SRC_COLOR 0x0301
  257. #define GL_SRC_ALPHA 0x0302
  258. #define GL_ONE_MINUS_SRC_ALPHA 0x0303
  259. #define GL_DST_ALPHA 0x0304
  260. #define GL_ONE_MINUS_DST_ALPHA 0x0305
  261. #define GL_DST_COLOR 0x0306
  262. #define GL_ONE_MINUS_DST_COLOR 0x0307
  263. #define GL_SRC_ALPHA_SATURATE 0x0308
  264. /* Render Mode */
  265. #define GL_FEEDBACK 0x1C01
  266. #define GL_RENDER 0x1C00
  267. #define GL_SELECT 0x1C02
  268. /* Feedback */
  269. #define GL_2D 0x0600
  270. #define GL_3D 0x0601
  271. #define GL_3D_COLOR 0x0602
  272. #define GL_3D_COLOR_TEXTURE 0x0603
  273. #define GL_4D_COLOR_TEXTURE 0x0604
  274. #define GL_POINT_TOKEN 0x0701
  275. #define GL_LINE_TOKEN 0x0702
  276. #define GL_LINE_RESET_TOKEN 0x0707
  277. #define GL_POLYGON_TOKEN 0x0703
  278. #define GL_BITMAP_TOKEN 0x0704
  279. #define GL_DRAW_PIXEL_TOKEN 0x0705
  280. #define GL_COPY_PIXEL_TOKEN 0x0706
  281. #define GL_PASS_THROUGH_TOKEN 0x0700
  282. #define GL_FEEDBACK_BUFFER_POINTER 0x0DF0
  283. #define GL_FEEDBACK_BUFFER_SIZE 0x0DF1
  284. #define GL_FEEDBACK_BUFFER_TYPE 0x0DF2
  285. /* Selection */
  286. #define GL_SELECTION_BUFFER_POINTER 0x0DF3
  287. #define GL_SELECTION_BUFFER_SIZE 0x0DF4
  288. /* Fog */
  289. #define GL_FOG 0x0B60
  290. #define GL_FOG_MODE 0x0B65
  291. #define GL_FOG_DENSITY 0x0B62
  292. #define GL_FOG_COLOR 0x0B66
  293. #define GL_FOG_INDEX 0x0B61
  294. #define GL_FOG_START 0x0B63
  295. #define GL_FOG_END 0x0B64
  296. #define GL_LINEAR 0x2601
  297. #define GL_EXP 0x0800
  298. #define GL_EXP2 0x0801
  299. /* Logic Ops */
  300. #define GL_LOGIC_OP 0x0BF1
  301. #define GL_INDEX_LOGIC_OP 0x0BF1
  302. #define GL_COLOR_LOGIC_OP 0x0BF2
  303. #define GL_LOGIC_OP_MODE 0x0BF0
  304. #define GL_CLEAR 0x1500
  305. #define GL_SET 0x150F
  306. #define GL_COPY 0x1503
  307. #define GL_COPY_INVERTED 0x150C
  308. #define GL_NOOP 0x1505
  309. #define GL_INVERT 0x150A
  310. #define GL_AND 0x1501
  311. #define GL_NAND 0x150E
  312. #define GL_OR 0x1507
  313. #define GL_NOR 0x1508
  314. #define GL_XOR 0x1506
  315. #define GL_EQUIV 0x1509
  316. #define GL_AND_REVERSE 0x1502
  317. #define GL_AND_INVERTED 0x1504
  318. #define GL_OR_REVERSE 0x150B
  319. #define GL_OR_INVERTED 0x150D
  320. /* Stencil */
  321. #define GL_STENCIL_TEST 0x0B90
  322. #define GL_STENCIL_WRITEMASK 0x0B98
  323. #define GL_STENCIL_BITS 0x0D57
  324. #define GL_STENCIL_FUNC 0x0B92
  325. #define GL_STENCIL_VALUE_MASK 0x0B93
  326. #define GL_STENCIL_REF 0x0B97
  327. #define GL_STENCIL_FAIL 0x0B94
  328. #define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
  329. #define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
  330. #define GL_STENCIL_CLEAR_VALUE 0x0B91
  331. #define GL_STENCIL_INDEX 0x1901
  332. #define GL_KEEP 0x1E00
  333. #define GL_REPLACE 0x1E01
  334. #define GL_INCR 0x1E02
  335. #define GL_DECR 0x1E03
  336. /* Buffers, Pixel Drawing/Reading */
  337. #define GL_NONE 0x0
  338. #define GL_LEFT 0x0406
  339. #define GL_RIGHT 0x0407
  340. /*GL_FRONT 0x0404 */
  341. /*GL_BACK 0x0405 */
  342. /*GL_FRONT_AND_BACK 0x0408 */
  343. #define GL_FRONT_LEFT 0x0400
  344. #define GL_FRONT_RIGHT 0x0401
  345. #define GL_BACK_LEFT 0x0402
  346. #define GL_BACK_RIGHT 0x0403
  347. #define GL_AUX0 0x0409
  348. #define GL_AUX1 0x040A
  349. #define GL_AUX2 0x040B
  350. #define GL_AUX3 0x040C
  351. #define GL_COLOR_INDEX 0x1900
  352. #define GL_RED 0x1903
  353. #define GL_GREEN 0x1904
  354. #define GL_BLUE 0x1905
  355. #define GL_ALPHA 0x1906
  356. #define GL_LUMINANCE 0x1909
  357. #define GL_LUMINANCE_ALPHA 0x190A
  358. #define GL_ALPHA_BITS 0x0D55
  359. #define GL_RED_BITS 0x0D52
  360. #define GL_GREEN_BITS 0x0D53
  361. #define GL_BLUE_BITS 0x0D54
  362. #define GL_INDEX_BITS 0x0D51
  363. #define GL_SUBPIXEL_BITS 0x0D50
  364. #define GL_AUX_BUFFERS 0x0C00
  365. #define GL_READ_BUFFER 0x0C02
  366. #define GL_DRAW_BUFFER 0x0C01
  367. #define GL_DOUBLEBUFFER 0x0C32
  368. #define GL_STEREO 0x0C33
  369. #define GL_BITMAP 0x1A00
  370. #define GL_COLOR 0x1800
  371. #define GL_DEPTH 0x1801
  372. #define GL_STENCIL 0x1802
  373. #define GL_DITHER 0x0BD0
  374. #define GL_RGB 0x1907
  375. #define GL_RGBA 0x1908
  376. #define GL_ALPHA4 0x803B
  377. #define GL_ALPHA8 0x803C
  378. #define GL_ALPHA12 0x803D
  379. #define GL_ALPHA16 0x803E
  380. #define GL_LUMINANCE4 0x803F
  381. #define GL_LUMINANCE8 0x8040
  382. #define GL_LUMINANCE12 0x8041
  383. #define GL_LUMINANCE16 0x8042
  384. #define GL_LUMINANCE4_ALPHA4 0x8043
  385. #define GL_LUMINANCE6_ALPHA2 0x8044
  386. #define GL_LUMINANCE8_ALPHA8 0x8045
  387. #define GL_LUMINANCE12_ALPHA4 0x8046
  388. #define GL_LUMINANCE12_ALPHA12 0x8047
  389. #define GL_LUMINANCE16_ALPHA16 0x8048
  390. #define GL_INTENSITY 0x8049
  391. #define GL_INTENSITY4 0x804A
  392. #define GL_INTENSITY8 0x804B
  393. #define GL_INTENSITY12 0x804C
  394. #define GL_INTENSITY16 0x804D
  395. #define GL_RGB2 0x804E
  396. #define GL_RGB4 0x804F
  397. #define GL_RGB5 0x8050
  398. #define GL_RGB8 0x8051
  399. #define GL_RGB10 0x8052
  400. #define GL_RGB12 0x8053
  401. #define GL_RGB16 0x8054
  402. #define GL_RGBA2 0x8055
  403. #define GL_RGBA4 0x8056
  404. #define GL_RGB5_A1 0x8057
  405. #define GL_RGBA8 0x8058
  406. #define GL_RGB10_A2 0x8059
  407. #define GL_RGBA12 0x805A
  408. #define GL_RGBA16 0x805B
  409. #define GL_TEXTURE_RED_SIZE 0x805C
  410. #define GL_TEXTURE_GREEN_SIZE 0x805D
  411. #define GL_TEXTURE_BLUE_SIZE 0x805E
  412. #define GL_TEXTURE_ALPHA_SIZE 0x805F
  413. #define GL_TEXTURE_LUMINANCE_SIZE 0x8060
  414. #define GL_TEXTURE_INTENSITY_SIZE 0x8061
  415. /*#define GL_REPLACE 0x8062*/
  416. #define GL_PROXY_TEXTURE_1D 0x8063
  417. #define GL_PROXY_TEXTURE_2D 0x8064
  418. /* Private limits */
  419. #define GL_MAX_LIST_NESTING 0x0B31
  420. #define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35
  421. #define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36
  422. #define GL_MAX_NAME_STACK_DEPTH 0x0D37
  423. #define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38
  424. #define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39
  425. #define GL_MAX_EVAL_ORDER 0x0D30
  426. #define GL_MAX_LIGHTS 0x0D31
  427. #define GL_MAX_CLIP_PLANES 0x0D32
  428. #define GL_MAX_TEXTURE_SIZE 0x0D33
  429. #define GL_MAX_PIXEL_MAP_TABLE 0x0D34
  430. #define GL_MAX_VIEWPORT_DIMS 0x0D3A
  431. #define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B
  432. /* Gets */
  433. #define GL_ATTRIB_STACK_DEPTH 0x0BB0
  434. #define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1
  435. #define GL_COLOR_CLEAR_VALUE 0x0C22
  436. #define GL_COLOR_WRITEMASK 0x0C23
  437. #define GL_CURRENT_INDEX 0x0B01
  438. #define GL_CURRENT_COLOR 0x0B00
  439. #define GL_CURRENT_NORMAL 0x0B02
  440. #define GL_CURRENT_RASTER_COLOR 0x0B04
  441. #define GL_CURRENT_RASTER_DISTANCE 0x0B09
  442. #define GL_CURRENT_RASTER_INDEX 0x0B05
  443. #define GL_CURRENT_RASTER_POSITION 0x0B07
  444. #define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06
  445. #define GL_CURRENT_RASTER_POSITION_VALID 0x0B08
  446. #define GL_CURRENT_TEXTURE_COORDS 0x0B03
  447. #define GL_INDEX_CLEAR_VALUE 0x0C20
  448. #define GL_INDEX_MODE 0x0C30
  449. #define GL_INDEX_WRITEMASK 0x0C21
  450. #define GL_MODELVIEW_MATRIX 0x0BA6
  451. #define GL_MODELVIEW_STACK_DEPTH 0x0BA3
  452. #define GL_NAME_STACK_DEPTH 0x0D70
  453. #define GL_PROJECTION_MATRIX 0x0BA7
  454. #define GL_PROJECTION_STACK_DEPTH 0x0BA4
  455. #define GL_RENDER_MODE 0x0C40
  456. #define GL_RGBA_MODE 0x0C31
  457. #define GL_TEXTURE_MATRIX 0x0BA8
  458. #define GL_TEXTURE_STACK_DEPTH 0x0BA5
  459. #define GL_VIEWPORT 0x0BA2
  460. /* Evaluators */
  461. #define GL_AUTO_NORMAL 0x0D80
  462. #define GL_MAP1_COLOR_4 0x0D90
  463. #define GL_MAP1_INDEX 0x0D91
  464. #define GL_MAP1_NORMAL 0x0D92
  465. #define GL_MAP1_TEXTURE_COORD_1 0x0D93
  466. #define GL_MAP1_TEXTURE_COORD_2 0x0D94
  467. #define GL_MAP1_TEXTURE_COORD_3 0x0D95
  468. #define GL_MAP1_TEXTURE_COORD_4 0x0D96
  469. #define GL_MAP1_VERTEX_3 0x0D97
  470. #define GL_MAP1_VERTEX_4 0x0D98
  471. #define GL_MAP2_COLOR_4 0x0DB0
  472. #define GL_MAP2_INDEX 0x0DB1
  473. #define GL_MAP2_NORMAL 0x0DB2
  474. #define GL_MAP2_TEXTURE_COORD_1 0x0DB3
  475. #define GL_MAP2_TEXTURE_COORD_2 0x0DB4
  476. #define GL_MAP2_TEXTURE_COORD_3 0x0DB5
  477. #define GL_MAP2_TEXTURE_COORD_4 0x0DB6
  478. #define GL_MAP2_VERTEX_3 0x0DB7
  479. #define GL_MAP2_VERTEX_4 0x0DB8
  480. #define GL_MAP1_GRID_DOMAIN 0x0DD0
  481. #define GL_MAP1_GRID_SEGMENTS 0x0DD1
  482. #define GL_MAP2_GRID_DOMAIN 0x0DD2
  483. #define GL_MAP2_GRID_SEGMENTS 0x0DD3
  484. #define GL_COEFF 0x0A00
  485. #define GL_DOMAIN 0x0A02
  486. #define GL_ORDER 0x0A01
  487. /* Hints */
  488. #define GL_FOG_HINT 0x0C54
  489. #define GL_LINE_SMOOTH_HINT 0x0C52
  490. #define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50
  491. #define GL_POINT_SMOOTH_HINT 0x0C51
  492. #define GL_POLYGON_SMOOTH_HINT 0x0C53
  493. #define GL_DONT_CARE 0x1100
  494. #define GL_FASTEST 0x1101
  495. #define GL_NICEST 0x1102
  496. /* Scissor box */
  497. #define GL_SCISSOR_TEST 0x0C11
  498. #define GL_SCISSOR_BOX 0x0C10
  499. /* Pixel Mode / Transfer */
  500. #define GL_MAP_COLOR 0x0D10
  501. #define GL_MAP_STENCIL 0x0D11
  502. #define GL_INDEX_SHIFT 0x0D12
  503. #define GL_INDEX_OFFSET 0x0D13
  504. #define GL_RED_SCALE 0x0D14
  505. #define GL_RED_BIAS 0x0D15
  506. #define GL_GREEN_SCALE 0x0D18
  507. #define GL_GREEN_BIAS 0x0D19
  508. #define GL_BLUE_SCALE 0x0D1A
  509. #define GL_BLUE_BIAS 0x0D1B
  510. #define GL_ALPHA_SCALE 0x0D1C
  511. #define GL_ALPHA_BIAS 0x0D1D
  512. #define GL_DEPTH_SCALE 0x0D1E
  513. #define GL_DEPTH_BIAS 0x0D1F
  514. #define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1
  515. #define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0
  516. #define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2
  517. #define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3
  518. #define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4
  519. #define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5
  520. #define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6
  521. #define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7
  522. #define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8
  523. #define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9
  524. #define GL_PIXEL_MAP_S_TO_S 0x0C71
  525. #define GL_PIXEL_MAP_I_TO_I 0x0C70
  526. #define GL_PIXEL_MAP_I_TO_R 0x0C72
  527. #define GL_PIXEL_MAP_I_TO_G 0x0C73
  528. #define GL_PIXEL_MAP_I_TO_B 0x0C74
  529. #define GL_PIXEL_MAP_I_TO_A 0x0C75
  530. #define GL_PIXEL_MAP_R_TO_R 0x0C76
  531. #define GL_PIXEL_MAP_G_TO_G 0x0C77
  532. #define GL_PIXEL_MAP_B_TO_B 0x0C78
  533. #define GL_PIXEL_MAP_A_TO_A 0x0C79
  534. #define GL_PACK_ALIGNMENT 0x0D05
  535. #define GL_PACK_LSB_FIRST 0x0D01
  536. #define GL_PACK_ROW_LENGTH 0x0D02
  537. #define GL_PACK_SKIP_PIXELS 0x0D04
  538. #define GL_PACK_SKIP_ROWS 0x0D03
  539. #define GL_PACK_SWAP_BYTES 0x0D00
  540. #define GL_UNPACK_ALIGNMENT 0x0CF5
  541. #define GL_UNPACK_LSB_FIRST 0x0CF1
  542. #define GL_UNPACK_ROW_LENGTH 0x0CF2
  543. #define GL_UNPACK_SKIP_PIXELS 0x0CF4
  544. #define GL_UNPACK_SKIP_ROWS 0x0CF3
  545. #define GL_UNPACK_SWAP_BYTES 0x0CF0
  546. #define GL_ZOOM_X 0x0D16
  547. #define GL_ZOOM_Y 0x0D17
  548. /* Texture mapping */
  549. #define GL_TEXTURE_ENV 0x2300
  550. #define GL_TEXTURE_ENV_MODE 0x2200
  551. #define GL_TEXTURE_1D 0x0DE0
  552. #define GL_TEXTURE_2D 0x0DE1
  553. #define GL_TEXTURE_WRAP_S 0x2802
  554. #define GL_TEXTURE_WRAP_T 0x2803
  555. #define GL_TEXTURE_MAG_FILTER 0x2800
  556. #define GL_TEXTURE_MIN_FILTER 0x2801
  557. #define GL_TEXTURE_ENV_COLOR 0x2201
  558. #define GL_TEXTURE_GEN_S 0x0C60
  559. #define GL_TEXTURE_GEN_T 0x0C61
  560. #define GL_TEXTURE_GEN_MODE 0x2500
  561. #define GL_TEXTURE_BORDER_COLOR 0x1004
  562. #define GL_TEXTURE_WIDTH 0x1000
  563. #define GL_TEXTURE_HEIGHT 0x1001
  564. #define GL_TEXTURE_BORDER 0x1005
  565. #define GL_TEXTURE_COMPONENTS 0x1003
  566. #define GL_TEXTURE_RED_SIZE 0x805C
  567. #define GL_TEXTURE_GREEN_SIZE 0x805D
  568. #define GL_TEXTURE_BLUE_SIZE 0x805E
  569. #define GL_TEXTURE_ALPHA_SIZE 0x805F
  570. #define GL_TEXTURE_LUMINANCE_SIZE 0x8060
  571. #define GL_TEXTURE_INTENSITY_SIZE 0x8061
  572. #define GL_NEAREST_MIPMAP_NEAREST 0x2700
  573. #define GL_NEAREST_MIPMAP_LINEAR 0x2702
  574. #define GL_LINEAR_MIPMAP_NEAREST 0x2701
  575. #define GL_LINEAR_MIPMAP_LINEAR 0x2703
  576. #define GL_OBJECT_LINEAR 0x2401
  577. #define GL_OBJECT_PLANE 0x2501
  578. #define GL_EYE_LINEAR 0x2400
  579. #define GL_EYE_PLANE 0x2502
  580. #define GL_SPHERE_MAP 0x2402
  581. #define GL_DECAL 0x2101
  582. #define GL_MODULATE 0x2100
  583. #define GL_NEAREST 0x2600
  584. #define GL_REPEAT 0x2901
  585. #define GL_CLAMP 0x2900
  586. #define GL_S 0x2000
  587. #define GL_T 0x2001
  588. #define GL_R 0x2002
  589. #define GL_Q 0x2003
  590. #define GL_TEXTURE_GEN_R 0x0C62
  591. #define GL_TEXTURE_GEN_Q 0x0C63
  592. #define GL_TEXTURE_PRIORITY 0x8066
  593. #define GL_TEXTURE_RESIDENT 0x8067
  594. #define GL_TEXTURE_BINDING_1D 0x8068
  595. #define GL_TEXTURE_BINDING_2D 0x8069
  596. #define GL_TEXTURE_BINDING_3D 0x806A
  597. /* Utility */
  598. #define GL_VENDOR 0x1F00
  599. #define GL_RENDERER 0x1F01
  600. #define GL_VERSION 0x1F02
  601. #define GL_EXTENSIONS 0x1F03
  602. /* Errors */
  603. #define GL_NO_ERROR 0x0
  604. #define GL_INVALID_VALUE 0x0501
  605. #define GL_INVALID_ENUM 0x0500
  606. #define GL_INVALID_OPERATION 0x0502
  607. #define GL_STACK_OVERFLOW 0x0503
  608. #define GL_STACK_UNDERFLOW 0x0504
  609. #define GL_OUT_OF_MEMORY 0x0505
  610. /* glPush/PopAttrib bits */
  611. #define GL_CURRENT_BIT 0x00000001
  612. #define GL_POINT_BIT 0x00000002
  613. #define GL_LINE_BIT 0x00000004
  614. #define GL_POLYGON_BIT 0x00000008
  615. #define GL_POLYGON_STIPPLE_BIT 0x00000010
  616. #define GL_PIXEL_MODE_BIT 0x00000020
  617. #define GL_LIGHTING_BIT 0x00000040
  618. #define GL_FOG_BIT 0x00000080
  619. #define GL_DEPTH_BUFFER_BIT 0x00000100
  620. #define GL_ACCUM_BUFFER_BIT 0x00000200
  621. #define GL_STENCIL_BUFFER_BIT 0x00000400
  622. #define GL_VIEWPORT_BIT 0x00000800
  623. #define GL_TRANSFORM_BIT 0x00001000
  624. #define GL_ENABLE_BIT 0x00002000
  625. #define GL_COLOR_BUFFER_BIT 0x00004000
  626. #define GL_HINT_BIT 0x00008000
  627. #define GL_EVAL_BIT 0x00010000
  628. #define GL_LIST_BIT 0x00020000
  629. #define GL_TEXTURE_BIT 0x00040000
  630. #define GL_SCISSOR_BIT 0x00080000
  631. #define GL_ALL_ATTRIB_BITS 0x000FFFFF