home *** CD-ROM | disk | FTP | other *** search
/ ST-Computer Leser-CD 2001 January / LCD_01_2001.iso / develop / mesalib / mesa / dev / gl.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-04-26  |  26.9 KB  |  780 lines

  1. /* gl.h adapté pour mesa en LDG sur atari
  2.    Version 1.0, 25 avril 1999, Emmanuel CURIS
  3.    Réalisé à partir de gl_ldg.h avec Eddie 2 / Calamus (ben si...)
  4.  
  5.    Modifications :
  6.    -> tous les types sont en long, unsigned long ou float
  7.    -> protection contre les inclusions multiples
  8.    -> inclusion des prototypes
  9.    -> transformé GLenum en long donc l'énumération en #define
  10. */
  11.  
  12. /* replace gl.h of mesa for Mesa_gl.ldg 
  13. Revision 1.0  1999/02/24  Olivier Landemarre
  14. Initial revision
  15. */
  16.  
  17. #ifndef GL_H_
  18.  
  19. #define GL_H_ /* Protection contre l'inclusion multiple */
  20.  
  21.     /* Boolean values */
  22. #define GL_FALSE              0L
  23. #define GL_TRUE                  1L
  24.  
  25.     /* Data types */
  26. #define GL_BYTE                  0x1400L
  27. #define GL_UNSIGNED_BYTE          0x1401L
  28. #define GL_SHORT              0x1402L
  29. #define GL_UNSIGNED_SHORT          0x1403L
  30. #define GL_INT                  0x1404L
  31. #define GL_UNSIGNED_INT              0x1405L
  32. #define GL_FLOAT              0x1406L
  33. #define GL_DOUBLE              0x140AL
  34. #define GL_2_BYTES              0x1407L
  35. #define GL_3_BYTES              0x1408L
  36. #define GL_4_BYTES              0x1409L
  37.  
  38.     /* Primitives */
  39. #define GL_LINES              0x0001L
  40. #define GL_POINTS              0x0000L
  41. #define GL_LINE_STRIP              0x0003L
  42. #define GL_LINE_LOOP              0x0002L
  43. #define GL_TRIANGLES              0x0004L
  44. #define GL_TRIANGLE_STRIP          0x0005L
  45. #define GL_TRIANGLE_FAN              0x0006L
  46. #define GL_QUADS              0x0007L
  47. #define GL_QUAD_STRIP              0x0008L
  48. #define GL_POLYGON              0x0009L
  49. #define GL_EDGE_FLAG              0x0B43L
  50.  
  51.     /* Vertex Arrays */
  52. #define GL_VERTEX_ARRAY              0x8074L
  53. #define GL_NORMAL_ARRAY              0x8075L
  54. #define GL_COLOR_ARRAY              0x8076L
  55. #define GL_INDEX_ARRAY              0x8077L
  56. #define GL_TEXTURE_COORD_ARRAY          0x8078L
  57. #define GL_EDGE_FLAG_ARRAY          0x8079L
  58. #define GL_VERTEX_ARRAY_SIZE          0x807AL
  59. #define GL_VERTEX_ARRAY_TYPE          0x807BL
  60. #define GL_VERTEX_ARRAY_STRIDE          0x807CL
  61. #define GL_NORMAL_ARRAY_TYPE          0x807EL
  62. #define GL_NORMAL_ARRAY_STRIDE          0x807FL
  63. #define GL_COLOR_ARRAY_SIZE          0x8081L
  64. #define GL_COLOR_ARRAY_TYPE          0x8082L
  65. #define GL_COLOR_ARRAY_STRIDE          0x8083L
  66. #define GL_INDEX_ARRAY_TYPE          0x8085L
  67. #define GL_INDEX_ARRAY_STRIDE          0x8086L
  68. #define GL_TEXTURE_COORD_ARRAY_SIZE      0x8088L
  69. #define GL_TEXTURE_COORD_ARRAY_TYPE      0x8089L
  70. #define GL_TEXTURE_COORD_ARRAY_STRIDE      0x808AL
  71. #define GL_EDGE_FLAG_ARRAY_STRIDE      0x808CL
  72. #define GL_VERTEX_ARRAY_POINTER          0x808EL
  73. #define GL_NORMAL_ARRAY_POINTER          0x808FL
  74. #define GL_COLOR_ARRAY_POINTER          0x8090L
  75. #define GL_INDEX_ARRAY_POINTER          0x8091L
  76. #define GL_TEXTURE_COORD_ARRAY_POINTER      0x8092L
  77. #define GL_EDGE_FLAG_ARRAY_POINTER      0x8093L
  78. #define GL_V2F                  0x2A20L
  79. #define GL_V3F                  0x2A21L
  80. #define GL_C4UB_V2F              0x2A22L
  81. #define GL_C4UB_V3F              0x2A23L
  82. #define GL_C3F_V3F              0x2A24L
  83. #define GL_N3F_V3F              0x2A25L
  84. #define GL_C4F_N3F_V3F              0x2A26L
  85. #define GL_T2F_V3F              0x2A27L
  86. #define GL_T4F_V4F              0x2A28L
  87. #define GL_T2F_C4UB_V3F              0x2A29L
  88. #define GL_T2F_C3F_V3F              0x2A2AL
  89. #define GL_T2F_N3F_V3F              0x2A2BL
  90. #define GL_T2F_C4F_N3F_V3F          0x2A2CL
  91. #define GL_T4F_C4F_N3F_V4F          0x2A2DL
  92.  
  93.     /* Matrix Mode */
  94. #define GL_MATRIX_MODE              0x0BA0L
  95. #define GL_MODELVIEW              0x1700L
  96. #define GL_PROJECTION              0x1701L
  97. #define GL_TEXTURE              0x1702L
  98.  
  99.     /* Points */
  100. #define GL_POINT_SMOOTH              0x0B10L
  101. #define GL_POINT_SIZE              0x0B11L
  102. #define GL_POINT_SIZE_GRANULARITY      0x0B13L
  103. #define GL_POINT_SIZE_RANGE          0x0B12L
  104.  
  105.     /* Lines */
  106. #define GL_LINE_SMOOTH              0x0B20L
  107. #define GL_LINE_STIPPLE              0x0B24L
  108. #define GL_LINE_STIPPLE_PATTERN          0x0B25L
  109. #define GL_LINE_STIPPLE_REPEAT          0x0B26L
  110. #define GL_LINE_WIDTH              0x0B21L
  111. #define GL_LINE_WIDTH_GRANULARITY      0x0B23L
  112. #define GL_LINE_WIDTH_RANGE          0x0B22L
  113.  
  114.     /* Polygons */
  115. #define GL_POINT              0x1B00L
  116. #define GL_LINE                  0x1B01L
  117. #define GL_FILL                  0x1B02L
  118. #define GL_CCW                  0x0901L
  119. #define GL_CW                  0x0900L
  120. #define GL_FRONT              0x0404L
  121. #define GL_BACK                  0x0405L
  122. #define GL_CULL_FACE              0x0B44L
  123. #define GL_CULL_FACE_MODE          0x0B45L
  124. #define GL_POLYGON_SMOOTH          0x0B41L
  125. #define GL_POLYGON_STIPPLE          0x0B42L
  126. #define GL_FRONT_FACE              0x0B46L
  127. #define GL_POLYGON_MODE              0x0B40L
  128. #define GL_POLYGON_OFFSET_FACTOR      0x8038L
  129. #define GL_POLYGON_OFFSET_UNITS          0x2A00L
  130. #define GL_POLYGON_OFFSET_POINT          0x2A01L
  131. #define GL_POLYGON_OFFSET_LINE          0x2A02L
  132. #define GL_POLYGON_OFFSET_FILL          0x8037L
  133.  
  134.     /* Display Lists */
  135. #define GL_COMPILE              0x1300L
  136. #define GL_COMPILE_AND_EXECUTE          0x1301L
  137. #define GL_LIST_BASE              0x0B32L
  138. #define GL_LIST_INDEX              0x0B33L
  139. #define GL_LIST_MODE              0x0B30L
  140.  
  141.     /* Depth buffer */
  142. #define GL_NEVER              0x0200L
  143. #define GL_LESS                  0x0201L
  144. #define GL_GEQUAL              0x0206L
  145. #define GL_LEQUAL              0x0203L
  146. #define GL_GREATER              0x0204L
  147. #define GL_NOTEQUAL              0x0205L
  148. #define GL_EQUAL              0x0202L
  149. #define GL_ALWAYS              0x0207L
  150. #define GL_DEPTH_TEST              0x0B71L
  151. #define GL_DEPTH_BITS              0x0D56L
  152. #define GL_DEPTH_CLEAR_VALUE          0x0B73L
  153. #define GL_DEPTH_FUNC              0x0B74L
  154. #define GL_DEPTH_RANGE              0x0B70L
  155. #define GL_DEPTH_WRITEMASK          0x0B72L
  156. #define GL_DEPTH_COMPONENT          0x1902L
  157.  
  158.     /* Lighting */
  159. #define GL_LIGHTING              0x0B50L
  160. #define GL_LIGHT0              0x4000L
  161. #define GL_LIGHT1              0x4001L
  162. #define GL_LIGHT2              0x4002L
  163. #define GL_LIGHT3              0x4003L
  164. #define GL_LIGHT4              0x4004L
  165. #define GL_LIGHT5              0x4005L
  166. #define GL_LIGHT6              0x4006L
  167. #define GL_LIGHT7              0x4007L
  168. #define GL_SPOT_EXPONENT          0x1205L
  169. #define GL_SPOT_CUTOFF              0x1206L
  170. #define GL_CONSTANT_ATTENUATION          0x1207L
  171. #define GL_LINEAR_ATTENUATION          0x1208L
  172. #define GL_QUADRATIC_ATTENUATION      0x1209L
  173. #define GL_AMBIENT              0x1200L
  174. #define GL_DIFFUSE              0x1201L
  175. #define GL_SPECULAR              0x1202L
  176. #define GL_SHININESS              0x1601L
  177. #define GL_EMISSION              0x1600L
  178. #define GL_POSITION              0x1203L
  179. #define GL_SPOT_DIRECTION          0x1204L
  180. #define GL_AMBIENT_AND_DIFFUSE          0x1602L
  181. #define GL_COLOR_INDEXES          0x1603L
  182. #define GL_LIGHT_MODEL_TWO_SIDE          0x0B52L
  183. #define GL_LIGHT_MODEL_LOCAL_VIEWER      0x0B51L
  184. #define GL_LIGHT_MODEL_AMBIENT          0x0B53L
  185. #define GL_FRONT_AND_BACK          0x0408L
  186. #define GL_SHADE_MODEL              0x0B54L
  187. #define GL_FLAT                  0x1D00L
  188. #define GL_SMOOTH              0x1D01L
  189. #define GL_COLOR_MATERIAL          0x0B57L
  190. #define GL_COLOR_MATERIAL_FACE          0x0B55L
  191. #define GL_COLOR_MATERIAL_PARAMETER      0x0B56L
  192. #define GL_NORMALIZE              0x0BA1L
  193.  
  194.     /* User clipping planes */
  195. #define GL_CLIP_PLANE0              0x3000L
  196. #define GL_CLIP_PLANE1              0x3001L
  197. #define GL_CLIP_PLANE2              0x3002L
  198. #define GL_CLIP_PLANE3              0x3003L
  199. #define GL_CLIP_PLANE4              0x3004L
  200. #define GL_CLIP_PLANE5              0x3005L
  201.  
  202.     /* Accumulation buffer */
  203. #define GL_ACCUM_RED_BITS          0x0D58L
  204. #define GL_ACCUM_GREEN_BITS          0x0D59L
  205. #define GL_ACCUM_BLUE_BITS          0x0D5AL
  206. #define GL_ACCUM_ALPHA_BITS          0x0D5BL
  207. #define GL_ACCUM_CLEAR_VALUE          0x0B80L
  208. #define GL_ACCUM              0x0100L
  209. #define GL_ADD                  0x0104L
  210. #define GL_LOAD                  0x0101L
  211. #define GL_MULT                  0x0103L
  212. #define GL_RETURN              0x0102L
  213.  
  214.     /* Alpha testing */
  215. #define GL_ALPHA_TEST              0x0BC0L
  216. #define GL_ALPHA_TEST_REF          0x0BC2L
  217. #define GL_ALPHA_TEST_FUNC          0x0BC1L
  218.  
  219.     /* Blending */
  220. #define GL_BLEND              0x0BE2L
  221. #define GL_BLEND_SRC              0x0BE1L
  222. #define GL_BLEND_DST              0x0BE0L
  223. #define GL_ZERO                  0L
  224. #define GL_ONE                  1L
  225. #define GL_SRC_COLOR              0x0300L
  226. #define GL_ONE_MINUS_SRC_COLOR          0x0301L
  227. #define GL_DST_COLOR              0x0306L
  228. #define GL_ONE_MINUS_DST_COLOR          0x0307L
  229. #define GL_SRC_ALPHA              0x0302L
  230. #define GL_ONE_MINUS_SRC_ALPHA          0x0303L
  231. #define GL_DST_ALPHA              0x0304L
  232. #define GL_ONE_MINUS_DST_ALPHA          0x0305L
  233. #define GL_SRC_ALPHA_SATURATE          0x0308L
  234. #define GL_CONSTANT_COLOR          0x8001L
  235. #define GL_ONE_MINUS_CONSTANT_COLOR      0x8002L
  236. #define GL_CONSTANT_ALPHA          0x8003L
  237. #define GL_ONE_MINUS_CONSTANT_ALPHA      0x8004L
  238.  
  239.     /* Render Mode */
  240. #define GL_FEEDBACK              0x1C01L
  241. #define GL_RENDER              0x1C00L
  242. #define GL_SELECT              0x1C02L
  243.  
  244.     /* Feedback */
  245. #define GL_2D                  0x0600L
  246. #define GL_3D                  0x0601L
  247. #define GL_3D_COLOR              0x0602L
  248. #define GL_3D_COLOR_TEXTURE          0x0603L
  249. #define GL_4D_COLOR_TEXTURE          0x0604L
  250. #define GL_POINT_TOKEN              0x0701L
  251. #define GL_LINE_TOKEN              0x0702L
  252. #define GL_LINE_RESET_TOKEN          0x0707L
  253. #define GL_POLYGON_TOKEN          0x0703L
  254. #define GL_BITMAP_TOKEN              0x0704L
  255. #define GL_DRAW_PIXEL_TOKEN          0x0705L
  256. #define GL_COPY_PIXEL_TOKEN          0x0706L
  257. #define GL_PASS_THROUGH_TOKEN          0x0700L
  258. #define GL_FEEDBACK_BUFFER_POINTER      0x0DF0L
  259. #define GL_FEEDBACK_BUFFER_SIZE          0x0DF1L
  260. #define GL_FEEDBACK_BUFFER_TYPE          0x0DF2L
  261.  
  262.     /* Fog */
  263. #define GL_FOG                  0x0B60L
  264. #define GL_FOG_MODE              0x0B65L
  265. #define GL_FOG_DENSITY              0x0B62L
  266. #define GL_FOG_COLOR              0x0B66L
  267. #define GL_FOG_INDEX              0x0B61L
  268. #define GL_FOG_START              0x0B63L
  269. #define GL_FOG_END              0x0B64L
  270. #define GL_LINEAR              0x2601L
  271. #define GL_EXP                  0x0800L
  272. #define GL_EXP2                  0x0801L
  273.  
  274.     /* Logic Ops */
  275. #define GL_LOGIC_OP              0x0BF1L
  276. #define GL_INDEX_LOGIC_OP          0x0BF1L
  277. #define GL_COLOR_LOGIC_OP          0x0BF2L
  278. #define GL_LOGIC_OP_MODE          0x0BF0L
  279. #define GL_CLEAR              0x1500L
  280. #define GL_SET                  0x150FL
  281. #define GL_COPY                  0x1503L
  282. #define GL_COPY_INVERTED          0x150CL
  283. #define GL_NOOP                  0x1505L
  284. #define GL_INVERT              0x150AL
  285. #define GL_AND                  0x1501L
  286. #define GL_NAND                  0x150EL
  287. #define GL_OR                  0x1507L
  288. #define GL_NOR                  0x1508L
  289. #define GL_XOR                  0x1506L
  290. #define GL_EQUIV              0x1509L
  291. #define GL_AND_REVERSE              0x1502L
  292. #define GL_AND_INVERTED              0x1504L
  293. #define GL_OR_REVERSE              0x150BL
  294. #define GL_OR_INVERTED              0x150DL
  295.  
  296.     /* Stencil */
  297. #define GL_STENCIL_TEST              0x0B90L
  298. #define GL_STENCIL_WRITEMASK          0x0B98L
  299. #define GL_STENCIL_BITS              0x0D57L
  300. #define GL_STENCIL_FUNC              0x0B92L
  301. #define GL_STENCIL_VALUE_MASK          0x0B93L
  302. #define GL_STENCIL_REF              0x0B97L
  303. #define GL_STENCIL_FAIL              0x0B94L
  304. #define GL_STENCIL_PASS_DEPTH_PASS      0x0B96L
  305. #define GL_STENCIL_PASS_DEPTH_FAIL      0x0B95L
  306. #define GL_STENCIL_CLEAR_VALUE          0x0B91L
  307. #define GL_STENCIL_INDEX          0x1901L
  308. #define GL_KEEP                  0x1E00L
  309. #define GL_REPLACE              0x1E01L
  310. #define GL_INCR                  0x1E02L
  311. #define GL_DECR                  0x1E03L
  312.  
  313.     /* Buffers, Pixel Drawing/Reading */
  314. #define GL_NONE                  0L
  315. #define GL_LEFT                  0x0406L
  316. #define GL_RIGHT              0x0407L
  317.     /*#define GL_FRONT              0x0404L */
  318.     /*#define GL_BACK              0x0405L */
  319.     /*#define GL_FRONT_AND_BACK          0x0408L */
  320. #define GL_FRONT_LEFT              0x0400L
  321. #define GL_FRONT_RIGHT              0x0401L
  322. #define GL_BACK_LEFT              0x0402L
  323. #define GL_BACK_RIGHT              0x0403L
  324. #define GL_AUX0                  0x0409L
  325. #define GL_AUX1                  0x040AL
  326. #define GL_AUX2                  0x040BL
  327. #define GL_AUX3                  0x040CL
  328. #define GL_COLOR_INDEX              0x1900L
  329. #define GL_RED                  0x1903L
  330. #define GL_GREEN              0x1904L
  331. #define GL_BLUE                  0x1905L
  332. #define GL_ALPHA              0x1906L
  333. #define GL_LUMINANCE              0x1909L
  334. #define GL_LUMINANCE_ALPHA          0x190AL
  335. #define GL_ALPHA_BITS              0x0D55L
  336. #define GL_RED_BITS              0x0D52L
  337. #define GL_GREEN_BITS              0x0D53L
  338. #define GL_BLUE_BITS              0x0D54L
  339. #define GL_INDEX_BITS              0x0D51L
  340. #define GL_SUBPIXEL_BITS          0x0D50L
  341. #define GL_AUX_BUFFERS              0x0C00L
  342. #define GL_READ_BUFFER              0x0C02L
  343. #define GL_DRAW_BUFFER              0x0C01L
  344. #define GL_DOUBLEBUFFER              0x0C32L
  345. #define GL_STEREO              0x0C33L
  346. #define GL_BITMAP              0x1A00L
  347. #define GL_COLOR              0x1800L
  348. #define GL_DEPTH              0x1801L
  349. #define GL_STENCIL              0x1802L
  350. #define GL_DITHER              0x0BD0L
  351. #define GL_RGB                  0x1907L
  352. #define GL_RGBA                  0x1908L
  353.  
  354.     /* Implementation limits */
  355. #define GL_MAX_LIST_NESTING          0x0B31L
  356. #define GL_MAX_ATTRIB_STACK_DEPTH      0x0D35L
  357. #define GL_MAX_MODELVIEW_STACK_DEPTH      0x0D36L
  358. #define GL_MAX_NAME_STACK_DEPTH          0x0D37L
  359. #define GL_MAX_PROJECTION_STACK_DEPTH      0x0D38L
  360. #define GL_MAX_TEXTURE_STACK_DEPTH      0x0D39L
  361. #define GL_MAX_EVAL_ORDER          0x0D30L
  362. #define GL_MAX_LIGHTS              0x0D31L
  363. #define GL_MAX_CLIP_PLANES          0x0D32L
  364. #define GL_MAX_TEXTURE_SIZE          0x0D33L
  365. #define GL_MAX_PIXEL_MAP_TABLE          0x0D34L
  366. #define GL_MAX_VIEWPORT_DIMS          0x0D3AL
  367. #define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH  0x0D3BL
  368.  
  369.     /* Gets */
  370. #define GL_ATTRIB_STACK_DEPTH          0x0BB0L
  371. #define GL_CLIENT_ATTRIB_STACK_DEPTH      0x0BB1L
  372. #define GL_COLOR_CLEAR_VALUE          0x0C22L
  373. #define GL_COLOR_WRITEMASK          0x0C23L
  374. #define GL_CURRENT_INDEX          0x0B01L
  375. #define GL_CURRENT_COLOR          0x0B00L
  376. #define GL_CURRENT_NORMAL          0x0B02L
  377. #define GL_CURRENT_RASTER_COLOR          0x0B04L
  378. #define GL_CURRENT_RASTER_DISTANCE      0x0B09L
  379. #define GL_CURRENT_RASTER_INDEX          0x0B05L
  380. #define GL_CURRENT_RASTER_POSITION      0x0B07L
  381. #define GL_CURRENT_RASTER_TEXTURE_COORDS   0x0B06L
  382. #define GL_CURRENT_RASTER_POSITION_VALID   0x0B08L
  383. #define GL_CURRENT_TEXTURE_COORDS      0x0B03L
  384. #define GL_INDEX_CLEAR_VALUE          0x0C20L
  385. #define GL_INDEX_MODE              0x0C30L
  386. #define GL_INDEX_WRITEMASK          0x0C21L
  387. #define GL_MODELVIEW_MATRIX          0x0BA6L
  388. #define GL_MODELVIEW_STACK_DEPTH      0x0BA3L
  389. #define GL_NAME_STACK_DEPTH          0x0D70L
  390. #define GL_PROJECTION_MATRIX          0x0BA7L
  391. #define GL_PROJECTION_STACK_DEPTH      0x0BA4L
  392. #define GL_RENDER_MODE              0x0C40L
  393. #define GL_RGBA_MODE              0x0C31L
  394. #define GL_TEXTURE_MATRIX          0x0BA8L
  395. #define GL_TEXTURE_STACK_DEPTH          0x0BA5L
  396. #define GL_VIEWPORT              0x0BA2L
  397.  
  398.  
  399.     /* Evaluators */
  400. #define GL_AUTO_NORMAL              0x0D80L
  401. #define GL_MAP1_COLOR_4              0x0D90L
  402. #define GL_MAP1_GRID_DOMAIN          0x0DD0L
  403. #define GL_MAP1_GRID_SEGMENTS          0x0DD1L
  404. #define GL_MAP1_INDEX              0x0D91L
  405. #define GL_MAP1_NORMAL              0x0D92L
  406. #define GL_MAP1_TEXTURE_COORD_1          0x0D93L
  407. #define GL_MAP1_TEXTURE_COORD_2          0x0D94L
  408. #define GL_MAP1_TEXTURE_COORD_3          0x0D95L
  409. #define GL_MAP1_TEXTURE_COORD_4          0x0D96L
  410. #define GL_MAP1_VERTEX_3          0x0D97L
  411. #define GL_MAP1_VERTEX_4          0x0D98L
  412. #define GL_MAP2_COLOR_4              0x0DB0L
  413. #define GL_MAP2_GRID_DOMAIN          0x0DD2L
  414. #define GL_MAP2_GRID_SEGMENTS          0x0DD3L
  415. #define GL_MAP2_INDEX              0x0DB1L
  416. #define GL_MAP2_NORMAL              0x0DB2L
  417. #define GL_MAP2_TEXTURE_COORD_1          0x0DB3L
  418. #define GL_MAP2_TEXTURE_COORD_2          0x0DB4L
  419. #define GL_MAP2_TEXTURE_COORD_3          0x0DB5L
  420. #define GL_MAP2_TEXTURE_COORD_4          0x0DB6L
  421. #define GL_MAP2_VERTEX_3          0x0DB7L
  422. #define GL_MAP2_VERTEX_4          0x0DB8L
  423. #define GL_COEFF              0x0A00L
  424. #define GL_DOMAIN              0x0A02L
  425. #define GL_ORDER              0x0A01L
  426.  
  427.     /* Hints */
  428. #define GL_FOG_HINT              0x0C54L
  429. #define GL_LINE_SMOOTH_HINT          0x0C52L
  430. #define GL_PERSPECTIVE_CORRECTION_HINT      0x0C50L
  431. #define GL_POINT_SMOOTH_HINT          0x0C51L
  432. #define GL_POLYGON_SMOOTH_HINT          0x0C53L
  433. #define GL_DONT_CARE              0x1100L
  434. #define GL_FASTEST              0x1101L
  435. #define GL_NICEST              0x1102L
  436.  
  437.     /* Scissor box */
  438. #define GL_SCISSOR_TEST              0x0C11L
  439. #define GL_SCISSOR_BOX              0x0C10L
  440.  
  441.     /* Pixel Mode / Transfer */
  442. #define GL_MAP_COLOR              0x0D10L
  443. #define GL_MAP_STENCIL              0x0D11L
  444. #define GL_INDEX_SHIFT              0x0D12L
  445. #define GL_INDEX_OFFSET              0x0D13L
  446. #define GL_RED_SCALE              0x0D14L
  447. #define GL_RED_BIAS              0x0D15L
  448. #define GL_GREEN_SCALE              0x0D18L
  449. #define GL_GREEN_BIAS              0x0D19L
  450. #define GL_BLUE_SCALE              0x0D1AL
  451. #define GL_BLUE_BIAS              0x0D1BL
  452. #define GL_ALPHA_SCALE              0x0D1CL
  453. #define GL_ALPHA_BIAS              0x0D1DL
  454. #define GL_DEPTH_SCALE              0x0D1EL
  455. #define GL_DEPTH_BIAS              0x0D1FL
  456. #define GL_PIXEL_MAP_S_TO_S_SIZE      0x0CB1L
  457. #define GL_PIXEL_MAP_I_TO_I_SIZE      0x0CB0L
  458. #define GL_PIXEL_MAP_I_TO_R_SIZE      0x0CB2L
  459. #define GL_PIXEL_MAP_I_TO_G_SIZE      0x0CB3L
  460. #define GL_PIXEL_MAP_I_TO_B_SIZE      0x0CB4L
  461. #define GL_PIXEL_MAP_I_TO_A_SIZE      0x0CB5L
  462. #define GL_PIXEL_MAP_R_TO_R_SIZE      0x0CB6L
  463. #define GL_PIXEL_MAP_G_TO_G_SIZE      0x0CB7L
  464. #define GL_PIXEL_MAP_B_TO_B_SIZE      0x0CB8L
  465. #define GL_PIXEL_MAP_A_TO_A_SIZE      0x0CB9L
  466. #define GL_PIXEL_MAP_S_TO_S          0x0C71L
  467. #define GL_PIXEL_MAP_I_TO_I          0x0C70L
  468. #define GL_PIXEL_MAP_I_TO_R          0x0C72L
  469. #define GL_PIXEL_MAP_I_TO_G          0x0C73L
  470. #define GL_PIXEL_MAP_I_TO_B          0x0C74L
  471. #define GL_PIXEL_MAP_I_TO_A          0x0C75L
  472. #define GL_PIXEL_MAP_R_TO_R          0x0C76L
  473. #define GL_PIXEL_MAP_G_TO_G          0x0C77L
  474. #define GL_PIXEL_MAP_B_TO_B          0x0C78L
  475. #define GL_PIXEL_MAP_A_TO_A          0x0C79L
  476. #define GL_PACK_ALIGNMENT          0x0D05L
  477. #define GL_PACK_LSB_FIRST          0x0D01L
  478. #define GL_PACK_ROW_LENGTH          0x0D02L
  479. #define GL_PACK_SKIP_PIXELS          0x0D04L
  480. #define GL_PACK_SKIP_ROWS          0x0D03L
  481. #define GL_PACK_SWAP_BYTES          0x0D00L
  482. #define GL_UNPACK_ALIGNMENT          0x0CF5L
  483. #define GL_UNPACK_LSB_FIRST          0x0CF1L
  484. #define GL_UNPACK_ROW_LENGTH          0x0CF2L
  485. #define GL_UNPACK_SKIP_PIXELS          0x0CF4L
  486. #define GL_UNPACK_SKIP_ROWS          0x0CF3L
  487. #define GL_UNPACK_SWAP_BYTES          0x0CF0L
  488. #define GL_ZOOM_X              0x0D16L
  489. #define GL_ZOOM_Y              0x0D17L
  490.  
  491.     /* Texture mapping */
  492. #define GL_TEXTURE_ENV              0x2300L
  493. #define GL_TEXTURE_ENV_MODE          0x2200L
  494. #define GL_TEXTURE_1D              0x0DE0L
  495. #define GL_TEXTURE_2D              0x0DE1L
  496. #define GL_TEXTURE_WRAP_S          0x2802L
  497. #define GL_TEXTURE_WRAP_T          0x2803L
  498. #define GL_TEXTURE_MAG_FILTER          0x2800L
  499. #define GL_TEXTURE_MIN_FILTER          0x2801L
  500. #define GL_TEXTURE_ENV_COLOR          0x2201L
  501. #define GL_TEXTURE_GEN_S          0x0C60L
  502. #define GL_TEXTURE_GEN_T          0x0C61L
  503. #define GL_TEXTURE_GEN_MODE          0x2500L
  504. #define GL_TEXTURE_BORDER_COLOR          0x1004L
  505. #define GL_TEXTURE_WIDTH          0x1000L
  506. #define GL_TEXTURE_HEIGHT          0x1001L
  507. #define GL_TEXTURE_BORDER          0x1005L
  508. #define GL_TEXTURE_COMPONENTS          0x1003L
  509. #define GL_TEXTURE_RED_SIZE          0x805CL
  510. #define GL_TEXTURE_GREEN_SIZE          0x805DL
  511. #define GL_TEXTURE_BLUE_SIZE          0x805EL
  512. #define GL_TEXTURE_ALPHA_SIZE          0x805FL
  513. #define GL_TEXTURE_LUMINANCE_SIZE      0x8060L
  514. #define GL_TEXTURE_INTENSITY_SIZE      0x8061L
  515. #define GL_NEAREST_MIPMAP_NEAREST      0x2700L
  516. #define GL_NEAREST_MIPMAP_LINEAR      0x2702L
  517. #define GL_LINEAR_MIPMAP_NEAREST      0x2701L
  518. #define GL_LINEAR_MIPMAP_LINEAR          0x2703L
  519. #define GL_OBJECT_LINEAR          0x2401L
  520. #define GL_OBJECT_PLANE              0x2501L
  521. #define GL_EYE_LINEAR              0x2400L
  522. #define GL_EYE_PLANE              0x2502L
  523. #define GL_SPHERE_MAP              0x2402L
  524. #define GL_DECAL              0x2101L
  525. #define GL_MODULATE              0x2100L
  526. #define GL_NEAREST              0x2600L
  527. #define GL_REPEAT              0x2901L
  528. #define GL_CLAMP              0x2900L
  529. #define GL_S                  0x2000L
  530. #define GL_T                  0x2001L
  531. #define GL_R                  0x2002L
  532. #define GL_Q                  0x2003L
  533. #define GL_TEXTURE_GEN_R          0x0C62L
  534. #define GL_TEXTURE_GEN_Q          0x0C63L
  535.  
  536. #define GL_PROXY_TEXTURE_1D          0x8063L
  537. #define GL_PROXY_TEXTURE_2D          0x8064L
  538. #define GL_TEXTURE_PRIORITY          0x8066L
  539. #define GL_TEXTURE_RESIDENT          0x8067L
  540. #define GL_TEXTURE_BINDING_1D          0x8068L
  541. #define GL_TEXTURE_BINDING_2D          0x8069L
  542.  
  543.     /* Internal texture formats */
  544. #define GL_ALPHA4              0x803BL
  545. #define GL_ALPHA8              0x803CL
  546. #define GL_ALPHA12              0x803DL
  547. #define GL_ALPHA16              0x803EL
  548. #define GL_LUMINANCE4              0x803FL
  549. #define GL_LUMINANCE8              0x8040L
  550. #define GL_LUMINANCE12              0x8041L
  551. #define GL_LUMINANCE16              0x8042L
  552. #define GL_LUMINANCE4_ALPHA4          0x8043L
  553. #define GL_LUMINANCE6_ALPHA2          0x8044L
  554. #define GL_LUMINANCE8_ALPHA8          0x8045L
  555. #define GL_LUMINANCE12_ALPHA4          0x8046L
  556. #define GL_LUMINANCE12_ALPHA12          0x8047L
  557. #define GL_LUMINANCE16_ALPHA16          0x8048L
  558. #define GL_INTENSITY              0x8049L
  559. #define GL_INTENSITY4              0x804AL
  560. #define GL_INTENSITY8              0x804BL
  561. #define GL_INTENSITY12              0x804CL
  562. #define GL_INTENSITY16              0x804DL
  563. #define GL_R3_G3_B2              0x2A10L
  564. #define GL_RGB4                  0x804FL
  565. #define GL_RGB5                  0x8050L
  566. #define GL_RGB8                  0x8051L
  567. #define GL_RGB10              0x8052L
  568. #define GL_RGB12              0x8053L
  569. #define GL_RGB16              0x8054L
  570. #define GL_RGBA2              0x8055L
  571. #define GL_RGBA4              0x8056L
  572. #define GL_RGB5_A1              0x8057L
  573. #define GL_RGBA8              0x8058L
  574. #define GL_RGB10_A2              0x8059L
  575. #define GL_RGBA12              0x805AL
  576. #define GL_RGBA16              0x805BL
  577.  
  578.     /* Utility */
  579. #define GL_VENDOR              0x1F00L
  580. #define GL_RENDERER              0x1F01L
  581. #define GL_VERSION              0x1F02L
  582. #define GL_EXTENSIONS              0x1F03L
  583.  
  584.     /* Errors */
  585. #define GL_INVALID_VALUE          0x0501L
  586. #define GL_INVALID_ENUM              0x0500L
  587. #define GL_INVALID_OPERATION          0x0502L
  588. #define GL_STACK_OVERFLOW          0x0503L
  589. #define GL_STACK_UNDERFLOW          0x0504L
  590. #define GL_OUT_OF_MEMORY          0x0505L
  591.  
  592.     /*
  593.      * 1.0 Extensions
  594.      */
  595. /* GL_EXT_blend_minmax and GL_EXT_blend_color */
  596. #define GL_CONSTANT_COLOR_EXT          0x8001L
  597. #define GL_ONE_MINUS_CONSTANT_COLOR_EXT      0x8002L
  598. #define GL_CONSTANT_ALPHA_EXT          0x8003L
  599. #define GL_ONE_MINUS_CONSTANT_ALPHA_EXT      0x8004L
  600. #define GL_BLEND_EQUATION_EXT          0x8009L
  601. #define GL_MIN_EXT              0x8007L
  602. #define GL_MAX_EXT              0x8008L
  603. #define GL_FUNC_ADD_EXT              0x8006L
  604. #define GL_FUNC_SUBTRACT_EXT          0x800AL
  605. #define GL_FUNC_REVERSE_SUBTRACT_EXT      0x800BL
  606. #define GL_BLEND_COLOR_EXT          0x8005L
  607.  
  608.     /* GL_EXT_polygon_offset */
  609. #define GL_POLYGON_OFFSET_EXT             0x8037L
  610. #define GL_POLYGON_OFFSET_FACTOR_EXT      0x8038L
  611. #define GL_POLYGON_OFFSET_BIAS_EXT        0x8039L
  612.  
  613.     /* GL_EXT_vertex_array */
  614. #define GL_VERTEX_ARRAY_EXT              0x8074L
  615. #define GL_NORMAL_ARRAY_EXT              0x8075L
  616. #define GL_COLOR_ARRAY_EXT              0x8076L
  617. #define GL_INDEX_ARRAY_EXT              0x8077L
  618. #define GL_TEXTURE_COORD_ARRAY_EXT          0x8078L
  619. #define GL_EDGE_FLAG_ARRAY_EXT              0x8079L
  620. #define GL_VERTEX_ARRAY_SIZE_EXT          0x807AL
  621. #define GL_VERTEX_ARRAY_TYPE_EXT          0x807BL
  622. #define GL_VERTEX_ARRAY_STRIDE_EXT          0x807CL
  623. #define GL_VERTEX_ARRAY_COUNT_EXT          0x807DL
  624. #define GL_NORMAL_ARRAY_TYPE_EXT          0x807EL
  625. #define GL_NORMAL_ARRAY_STRIDE_EXT          0x807FL
  626. #define GL_NORMAL_ARRAY_COUNT_EXT          0x8080L
  627. #define GL_COLOR_ARRAY_SIZE_EXT              0x8081L
  628. #define GL_COLOR_ARRAY_TYPE_EXT              0x8082L
  629. #define GL_COLOR_ARRAY_STRIDE_EXT          0x8083L
  630. #define GL_COLOR_ARRAY_COUNT_EXT          0x8084L
  631. #define GL_INDEX_ARRAY_TYPE_EXT              0x8085L
  632. #define GL_INDEX_ARRAY_STRIDE_EXT          0x8086L
  633. #define GL_INDEX_ARRAY_COUNT_EXT          0x8087L
  634. #define GL_TEXTURE_COORD_ARRAY_SIZE_EXT          0x8088L
  635. #define GL_TEXTURE_COORD_ARRAY_TYPE_EXT          0x8089L
  636. #define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT      0x808AL
  637. #define GL_TEXTURE_COORD_ARRAY_COUNT_EXT      0x808BL
  638. #define GL_EDGE_FLAG_ARRAY_STRIDE_EXT          0x808CL
  639. #define GL_EDGE_FLAG_ARRAY_COUNT_EXT          0x808DL
  640. #define GL_VERTEX_ARRAY_POINTER_EXT          0x808EL
  641. #define GL_NORMAL_ARRAY_POINTER_EXT          0x808FL
  642. #define GL_COLOR_ARRAY_POINTER_EXT          0x8090L
  643. #define GL_INDEX_ARRAY_POINTER_EXT          0x8091L
  644. #define GL_TEXTURE_COORD_ARRAY_POINTER_EXT      0x8092L
  645. #define GL_EDGE_FLAG_ARRAY_POINTER_EXT          0x8093L
  646.  
  647.     /* GL_EXT_texture_object */
  648. #define GL_TEXTURE_PRIORITY_EXT          0x8066L
  649. #define GL_TEXTURE_RESIDENT_EXT          0x8067L
  650. #define GL_TEXTURE_1D_BINDING_EXT      0x8068L
  651. #define GL_TEXTURE_2D_BINDING_EXT      0x8069L
  652.  
  653.     /* GL_EXT_texture3D */
  654. #define GL_PACK_SKIP_IMAGES_EXT          0x806BL
  655. #define GL_PACK_IMAGE_HEIGHT_EXT      0x806CL
  656. #define GL_UNPACK_SKIP_IMAGES_EXT      0x806DL
  657. #define GL_UNPACK_IMAGE_HEIGHT_EXT      0x806EL
  658. #define GL_TEXTURE_3D_EXT          0x806FL
  659. #define GL_PROXY_TEXTURE_3D_EXT          0x8070L
  660. #define GL_TEXTURE_DEPTH_EXT          0x8071L
  661. #define GL_TEXTURE_WRAP_R_EXT          0x8072L
  662. #define GL_MAX_3D_TEXTURE_SIZE_EXT      0x8073L
  663. #define GL_TEXTURE_3D_BINDING_EXT      0x806AL
  664.  
  665. /* GL_EXT_paletted_texture */
  666. #define GL_TABLE_TOO_LARGE_EXT              0x8031L
  667. #define GL_COLOR_TABLE_FORMAT_EXT          0x80D8L
  668. #define GL_COLOR_TABLE_WIDTH_EXT          0x80D9L
  669. #define GL_COLOR_TABLE_RED_SIZE_EXT          0x80DAL
  670. #define GL_COLOR_TABLE_GREEN_SIZE_EXT          0x80DBL
  671. #define GL_COLOR_TABLE_BLUE_SIZE_EXT          0x80DCL
  672. #define GL_COLOR_TABLE_ALPHA_SIZE_EXT          0x80DDL
  673. #define GL_COLOR_TABLE_LUMINANCE_SIZE_EXT      0x80DEL
  674. #define GL_COLOR_TABLE_INTENSITY_SIZE_EXT      0x80DFL
  675. #define GL_TEXTURE_INDEX_SIZE_EXT          0x80E1L /*XXX right value??*/
  676. #define GL_COLOR_INDEX1_EXT              0x80E2L
  677. #define GL_COLOR_INDEX2_EXT              0x80E3L
  678. #define GL_COLOR_INDEX4_EXT              0x80E4L
  679. #define GL_COLOR_INDEX8_EXT              0x80E5L
  680. #define GL_COLOR_INDEX12_EXT              0x80E6L
  681. #define GL_COLOR_INDEX16_EXT              0x80E7L
  682.  
  683.     /* GL_EXT_shared_texture_palette */
  684. #define GL_SHARED_TEXTURE_PALETTE_EXT          0x81FBL
  685.  
  686. #if 0
  687.     /* GL_SGIS_texture_lod */
  688. #define GL_TEXTURE_MIN_LOD_SGIS              0x813AL
  689. #define GL_TEXTURE_MAX_LOD_SGIS              0x813BL
  690. #define GL_TEXTURE_BASE_LEVEL_SGIS         0x813CL
  691. #define GL_TEXTURE_MAX_LEVEL_SGIS          0x813DL
  692. #endif
  693.  
  694.     /* GL_EXT_point_parameters */
  695. #define GL_POINT_SIZE_MIN_EXT              0x8126L
  696. #define GL_POINT_SIZE_MAX_EXT              0x8127L
  697. #define GL_POINT_FADE_THRESHOLD_SIZE_EXT      0x8128L
  698. #define GL_DISTANCE_ATTENUATION_EXT        0x8129
  699.  
  700. typedef long GLenum; /* Pour être sûr que ça passe avec les LDG */
  701.  
  702. enum {
  703.     GL_CURRENT_BIT        = 0x00000001L,
  704.     GL_POINT_BIT        = 0x00000002L,
  705.     GL_LINE_BIT        = 0x00000004L,
  706.     GL_POLYGON_BIT        = 0x00000008L,
  707.     GL_POLYGON_STIPPLE_BIT    = 0x00000010L,
  708.     GL_PIXEL_MODE_BIT    = 0x00000020L,
  709.     GL_LIGHTING_BIT        = 0x00000040L,
  710.     GL_FOG_BIT        = 0x00000080L,
  711.     GL_DEPTH_BUFFER_BIT    = 0x00000100L,
  712.     GL_ACCUM_BUFFER_BIT    = 0x00000200L,
  713.     GL_STENCIL_BUFFER_BIT    = 0x00000400L,
  714.     GL_VIEWPORT_BIT        = 0x00000800L,
  715.     GL_TRANSFORM_BIT    = 0x00001000L,
  716.     GL_ENABLE_BIT        = 0x00002000L,
  717.     GL_COLOR_BUFFER_BIT    = 0x00004000L,
  718.     GL_HINT_BIT        = 0x00008000L,
  719.     GL_EVAL_BIT        = 0x00010000L,
  720.     GL_LIST_BIT        = 0x00020000L,
  721.     GL_TEXTURE_BIT        = 0x00040000L,
  722.     GL_SCISSOR_BIT        = 0x00080000L,
  723.     GL_ALL_ATTRIB_BITS    = 0x000fffffL
  724. };
  725.  
  726. enum {
  727.     GL_CLIENT_PIXEL_STORE_BIT    = 0x00000001L,
  728.     GL_CLIENT_VERTEX_ARRAY_BIT    = 0x00000002L,
  729.     GL_CLIENT_ALL_ATTRIB_BITS    = 0x0000FFFFL
  730. };
  731.  
  732. typedef unsigned long GLbitfield;
  733.  
  734. /*  C type        GL type        storage                            */
  735. /*ⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿⁿ*/
  736. typedef void        GLvoid;
  737. typedef unsigned long    GLboolean;
  738. typedef signed long    GLbyte;        /* 1ⁿbyte signed */
  739. typedef long        GLshort;    /* 2ⁿbyte signed */
  740. typedef long        GLint;        /* 4ⁿbyte signed */
  741. typedef unsigned long    GLubyte;    /* 1ⁿbyte unsigned */
  742. typedef unsigned long    GLushort;    /* 2ⁿbyte unsigned */
  743. typedef unsigned long    GLuint;        /* 4ⁿbyte unsigned */
  744. typedef long        GLsizei;    /* 4ⁿbyte signed */
  745. typedef float        GLfloat;    /* single precision float */
  746. typedef float        GLclampf;    /* single precision float in [0,1] */
  747. typedef float        GLdouble;    /* double precision float */
  748. typedef float        GLclampd;    /* double precision float in [0,1] */
  749.  
  750. /* Ce qui suit devrait normalement être dans glu.h, mais bon... */
  751.  
  752. #if defined(_PURE_C_) || defined(_TURBO_C_)
  753. # define CALLBACK cdecl
  754. # define APIENTRY cdecl
  755. #else
  756. # define CALLBACK __CDECL
  757. # define APIENTRY __CDECL
  758. #endif
  759.  
  760. typedef struct
  761. {
  762.     GLenum    DrawStyle;        /* GLU_FILL, LINE, SILHOUETTE, or POINT */
  763.     GLenum Orientation;        /* GLU_INSIDE or GLU_OUTSIDE */
  764.     GLboolean TextureFlag;        /* Generate texture coords? */
  765.     GLenum Normals;        /* GLU_NONE, GLU_FLAT, or GLU_SMOOTH */
  766.     void (CALLBACK *ErrorFunc)(GLenum err);    /* Error handler callback function */
  767. } GLUquadricObj;
  768.  
  769. #include "nurbsldg.h"
  770.  
  771. /* Maintenant, les prototypes des fonctions (repris de proto.h)
  772.    Elles sont définies en variables externes, sauf si EXTERN est déjà défini...
  773. */
  774.  
  775.  
  776. #ifndef EXTERN
  777. # define EXTERN extern
  778. #endif
  779.  
  780. #endif /* GL_H_ */