-
Notifications
You must be signed in to change notification settings - Fork 0
/
lujgl.lua
8021 lines (7562 loc) · 468 KB
/
lujgl.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
local ffi = require "ffi"
local bit = require "bit"
local max = math.max
local gl, glu, glfw
local int_buffer = ffi.new("int[2]")
local LuJGL = {}
LuJGL.frameCount = 0
-- Error flag, so we can exit the main loop if a callback errors
local stop = false
-- Client callback functions
local render_cb
local idle_cb
local event_cb
local tex_channels2glconst
local ext_function_cache = {}
do
-- OpenGL + Extensions
ffi.cdef[[
/************************************************* TYPES *************************************************/
typedef unsigned int GLenum;
typedef unsigned char GLboolean;
typedef unsigned int GLbitfield;
typedef void GLvoid;
typedef signed char GLbyte;
typedef short GLshort;
typedef int GLint;
typedef unsigned char GLubyte;
typedef unsigned short GLushort;
typedef unsigned int GLuint;
typedef int GLsizei;
typedef float GLfloat;
typedef float GLclampf;
typedef double GLdouble;
typedef double GLclampd;
// glext.h
typedef char GLchar;
typedef ptrdiff_t GLintptr;
typedef ptrdiff_t GLsizeiptr;
typedef ptrdiff_t GLintptrARB;
typedef ptrdiff_t GLsizeiptrARB;
typedef char GLcharARB;
typedef unsigned int GLhandleARB;
typedef unsigned short GLhalfARB;
typedef unsigned short GLhalfNV;
typedef int64_t GLint64EXT;
typedef uint64_t GLuint64EXT;
typedef int64_t GLint64;
typedef uint64_t GLuint64;
typedef struct __GLsync *GLsync;
struct _cl_context;
struct _cl_event;
typedef GLintptr GLvdpauSurfaceNV;
/************************************************* CONSTANTS *************************************************/
static const int GL_VERSION_1_1 = 1;
static const int GL_VERSION_1_2 = 1;
static const int GL_VERSION_1_3 = 1;
static const int GL_ARB_imaging = 1;
static const int GL_FALSE = 0x0;
static const int GL_TRUE = 0x1;
static const int GL_BYTE = 0x1400;
static const int GL_UNSIGNED_BYTE = 0x1401;
static const int GL_SHORT = 0x1402;
static const int GL_UNSIGNED_SHORT = 0x1403;
static const int GL_INT = 0x1404;
static const int GL_UNSIGNED_INT = 0x1405;
static const int GL_FLOAT = 0x1406;
static const int GL_DOUBLE = 0x140A;
static const int GL_2_BYTES = 0x1407;
static const int GL_3_BYTES = 0x1408;
static const int GL_4_BYTES = 0x1409;
static const int GL_POINTS = 0x0000;
static const int GL_LINES = 0x0001;
static const int GL_LINE_LOOP = 0x0002;
static const int GL_LINE_STRIP = 0x0003;
static const int GL_TRIANGLES = 0x0004;
static const int GL_TRIANGLE_STRIP = 0x0005;
static const int GL_TRIANGLE_FAN = 0x0006;
static const int GL_QUADS = 0x0007;
static const int GL_QUAD_STRIP = 0x0008;
static const int GL_POLYGON = 0x0009;
static const int GL_VERTEX_ARRAY = 0x8074;
static const int GL_NORMAL_ARRAY = 0x8075;
static const int GL_COLOR_ARRAY = 0x8076;
static const int GL_INDEX_ARRAY = 0x8077;
static const int GL_TEXTURE_COORD_ARRAY = 0x8078;
static const int GL_EDGE_FLAG_ARRAY = 0x8079;
static const int GL_VERTEX_ARRAY_SIZE = 0x807A;
static const int GL_VERTEX_ARRAY_TYPE = 0x807B;
static const int GL_VERTEX_ARRAY_STRIDE = 0x807C;
static const int GL_NORMAL_ARRAY_TYPE = 0x807E;
static const int GL_NORMAL_ARRAY_STRIDE = 0x807F;
static const int GL_COLOR_ARRAY_SIZE = 0x8081;
static const int GL_COLOR_ARRAY_TYPE = 0x8082;
static const int GL_COLOR_ARRAY_STRIDE = 0x8083;
static const int GL_INDEX_ARRAY_TYPE = 0x8085;
static const int GL_INDEX_ARRAY_STRIDE = 0x8086;
static const int GL_TEXTURE_COORD_ARRAY_SIZE = 0x8088;
static const int GL_TEXTURE_COORD_ARRAY_TYPE = 0x8089;
static const int GL_TEXTURE_COORD_ARRAY_STRIDE = 0x808A;
static const int GL_EDGE_FLAG_ARRAY_STRIDE = 0x808C;
static const int GL_VERTEX_ARRAY_POINTER = 0x808E;
static const int GL_NORMAL_ARRAY_POINTER = 0x808F;
static const int GL_COLOR_ARRAY_POINTER = 0x8090;
static const int GL_INDEX_ARRAY_POINTER = 0x8091;
static const int GL_TEXTURE_COORD_ARRAY_POINTER = 0x8092;
static const int GL_EDGE_FLAG_ARRAY_POINTER = 0x8093;
static const int GL_V2F = 0x2A20;
static const int GL_V3F = 0x2A21;
static const int GL_C4UB_V2F = 0x2A22;
static const int GL_C4UB_V3F = 0x2A23;
static const int GL_C3F_V3F = 0x2A24;
static const int GL_N3F_V3F = 0x2A25;
static const int GL_C4F_N3F_V3F = 0x2A26;
static const int GL_T2F_V3F = 0x2A27;
static const int GL_T4F_V4F = 0x2A28;
static const int GL_T2F_C4UB_V3F = 0x2A29;
static const int GL_T2F_C3F_V3F = 0x2A2A;
static const int GL_T2F_N3F_V3F = 0x2A2B;
static const int GL_T2F_C4F_N3F_V3F = 0x2A2C;
static const int GL_T4F_C4F_N3F_V4F = 0x2A2D;
static const int GL_MATRIX_MODE = 0x0BA0;
static const int GL_MODELVIEW = 0x1700;
static const int GL_PROJECTION = 0x1701;
static const int GL_TEXTURE = 0x1702;
static const int GL_POINT_SMOOTH = 0x0B10;
static const int GL_POINT_SIZE = 0x0B11;
static const int GL_POINT_SIZE_GRANULARITY = 0x0B13;
static const int GL_POINT_SIZE_RANGE = 0x0B12;
static const int GL_LINE_SMOOTH = 0x0B20;
static const int GL_LINE_STIPPLE = 0x0B24;
static const int GL_LINE_STIPPLE_PATTERN = 0x0B25;
static const int GL_LINE_STIPPLE_REPEAT = 0x0B26;
static const int GL_LINE_WIDTH = 0x0B21;
static const int GL_LINE_WIDTH_GRANULARITY = 0x0B23;
static const int GL_LINE_WIDTH_RANGE = 0x0B22;
static const int GL_POINT = 0x1B00;
static const int GL_LINE = 0x1B01;
static const int GL_FILL = 0x1B02;
static const int GL_CW = 0x0900;
static const int GL_CCW = 0x0901;
static const int GL_FRONT = 0x0404;
static const int GL_BACK = 0x0405;
static const int GL_POLYGON_MODE = 0x0B40;
static const int GL_POLYGON_SMOOTH = 0x0B41;
static const int GL_POLYGON_STIPPLE = 0x0B42;
static const int GL_EDGE_FLAG = 0x0B43;
static const int GL_CULL_FACE = 0x0B44;
static const int GL_CULL_FACE_MODE = 0x0B45;
static const int GL_FRONT_FACE = 0x0B46;
static const int GL_POLYGON_OFFSET_FACTOR = 0x8038;
static const int GL_POLYGON_OFFSET_UNITS = 0x2A00;
static const int GL_POLYGON_OFFSET_POINT = 0x2A01;
static const int GL_POLYGON_OFFSET_LINE = 0x2A02;
static const int GL_POLYGON_OFFSET_FILL = 0x8037;
static const int GL_COMPILE = 0x1300;
static const int GL_COMPILE_AND_EXECUTE = 0x1301;
static const int GL_LIST_BASE = 0x0B32;
static const int GL_LIST_INDEX = 0x0B33;
static const int GL_LIST_MODE = 0x0B30;
static const int GL_NEVER = 0x0200;
static const int GL_LESS = 0x0201;
static const int GL_EQUAL = 0x0202;
static const int GL_LEQUAL = 0x0203;
static const int GL_GREATER = 0x0204;
static const int GL_NOTEQUAL = 0x0205;
static const int GL_GEQUAL = 0x0206;
static const int GL_ALWAYS = 0x0207;
static const int GL_DEPTH_TEST = 0x0B71;
static const int GL_DEPTH_BITS = 0x0D56;
static const int GL_DEPTH_CLEAR_VALUE = 0x0B73;
static const int GL_DEPTH_FUNC = 0x0B74;
static const int GL_DEPTH_RANGE = 0x0B70;
static const int GL_DEPTH_WRITEMASK = 0x0B72;
static const int GL_DEPTH_COMPONENT = 0x1902;
static const int GL_LIGHTING = 0x0B50;
static const int GL_LIGHT0 = 0x4000;
static const int GL_LIGHT1 = 0x4001;
static const int GL_LIGHT2 = 0x4002;
static const int GL_LIGHT3 = 0x4003;
static const int GL_LIGHT4 = 0x4004;
static const int GL_LIGHT5 = 0x4005;
static const int GL_LIGHT6 = 0x4006;
static const int GL_LIGHT7 = 0x4007;
static const int GL_SPOT_EXPONENT = 0x1205;
static const int GL_SPOT_CUTOFF = 0x1206;
static const int GL_CONSTANT_ATTENUATION = 0x1207;
static const int GL_LINEAR_ATTENUATION = 0x1208;
static const int GL_QUADRATIC_ATTENUATION = 0x1209;
static const int GL_AMBIENT = 0x1200;
static const int GL_DIFFUSE = 0x1201;
static const int GL_SPECULAR = 0x1202;
static const int GL_SHININESS = 0x1601;
static const int GL_EMISSION = 0x1600;
static const int GL_POSITION = 0x1203;
static const int GL_SPOT_DIRECTION = 0x1204;
static const int GL_AMBIENT_AND_DIFFUSE = 0x1602;
static const int GL_COLOR_INDEXES = 0x1603;
static const int GL_LIGHT_MODEL_TWO_SIDE = 0x0B52;
static const int GL_LIGHT_MODEL_LOCAL_VIEWER = 0x0B51;
static const int GL_LIGHT_MODEL_AMBIENT = 0x0B53;
static const int GL_FRONT_AND_BACK = 0x0408;
static const int GL_SHADE_MODEL = 0x0B54;
static const int GL_FLAT = 0x1D00;
static const int GL_SMOOTH = 0x1D01;
static const int GL_COLOR_MATERIAL = 0x0B57;
static const int GL_COLOR_MATERIAL_FACE = 0x0B55;
static const int GL_COLOR_MATERIAL_PARAMETER = 0x0B56;
static const int GL_NORMALIZE = 0x0BA1;
static const int GL_CLIP_PLANE0 = 0x3000;
static const int GL_CLIP_PLANE1 = 0x3001;
static const int GL_CLIP_PLANE2 = 0x3002;
static const int GL_CLIP_PLANE3 = 0x3003;
static const int GL_CLIP_PLANE4 = 0x3004;
static const int GL_CLIP_PLANE5 = 0x3005;
static const int GL_ACCUM_RED_BITS = 0x0D58;
static const int GL_ACCUM_GREEN_BITS = 0x0D59;
static const int GL_ACCUM_BLUE_BITS = 0x0D5A;
static const int GL_ACCUM_ALPHA_BITS = 0x0D5B;
static const int GL_ACCUM_CLEAR_VALUE = 0x0B80;
static const int GL_ACCUM = 0x0100;
static const int GL_ADD = 0x0104;
static const int GL_LOAD = 0x0101;
static const int GL_MULT = 0x0103;
static const int GL_RETURN = 0x0102;
static const int GL_ALPHA_TEST = 0x0BC0;
static const int GL_ALPHA_TEST_REF = 0x0BC2;
static const int GL_ALPHA_TEST_FUNC = 0x0BC1;
static const int GL_BLEND = 0x0BE2;
static const int GL_BLEND_SRC = 0x0BE1;
static const int GL_BLEND_DST = 0x0BE0;
static const int GL_ZERO = 0x0;
static const int GL_ONE = 0x1;
static const int GL_SRC_COLOR = 0x0300;
static const int GL_ONE_MINUS_SRC_COLOR = 0x0301;
static const int GL_SRC_ALPHA = 0x0302;
static const int GL_ONE_MINUS_SRC_ALPHA = 0x0303;
static const int GL_DST_ALPHA = 0x0304;
static const int GL_ONE_MINUS_DST_ALPHA = 0x0305;
static const int GL_DST_COLOR = 0x0306;
static const int GL_ONE_MINUS_DST_COLOR = 0x0307;
static const int GL_SRC_ALPHA_SATURATE = 0x0308;
static const int GL_CONSTANT_COLOR = 0x8001;
static const int GL_ONE_MINUS_CONSTANT_COLOR = 0x8002;
static const int GL_CONSTANT_ALPHA = 0x8003;
static const int GL_ONE_MINUS_CONSTANT_ALPHA = 0x8004;
static const int GL_FEEDBACK = 0x1C01;
static const int GL_RENDER = 0x1C00;
static const int GL_SELECT = 0x1C02;
static const int GL_2D = 0x0600;
static const int GL_3D = 0x0601;
static const int GL_3D_COLOR = 0x0602;
static const int GL_3D_COLOR_TEXTURE = 0x0603;
static const int GL_4D_COLOR_TEXTURE = 0x0604;
static const int GL_POINT_TOKEN = 0x0701;
static const int GL_LINE_TOKEN = 0x0702;
static const int GL_LINE_RESET_TOKEN = 0x0707;
static const int GL_POLYGON_TOKEN = 0x0703;
static const int GL_BITMAP_TOKEN = 0x0704;
static const int GL_DRAW_PIXEL_TOKEN = 0x0705;
static const int GL_COPY_PIXEL_TOKEN = 0x0706;
static const int GL_PASS_THROUGH_TOKEN = 0x0700;
static const int GL_FEEDBACK_BUFFER_POINTER = 0x0DF0;
static const int GL_FEEDBACK_BUFFER_SIZE = 0x0DF1;
static const int GL_FEEDBACK_BUFFER_TYPE = 0x0DF2;
static const int GL_SELECTION_BUFFER_POINTER = 0x0DF3;
static const int GL_SELECTION_BUFFER_SIZE = 0x0DF4;
static const int GL_FOG = 0x0B60;
static const int GL_FOG_MODE = 0x0B65;
static const int GL_FOG_DENSITY = 0x0B62;
static const int GL_FOG_COLOR = 0x0B66;
static const int GL_FOG_INDEX = 0x0B61;
static const int GL_FOG_START = 0x0B63;
static const int GL_FOG_END = 0x0B64;
static const int GL_LINEAR = 0x2601;
static const int GL_EXP = 0x0800;
static const int GL_EXP2 = 0x0801;
static const int GL_LOGIC_OP = 0x0BF1;
static const int GL_INDEX_LOGIC_OP = 0x0BF1;
static const int GL_COLOR_LOGIC_OP = 0x0BF2;
static const int GL_LOGIC_OP_MODE = 0x0BF0;
static const int GL_CLEAR = 0x1500;
static const int GL_SET = 0x150F;
static const int GL_COPY = 0x1503;
static const int GL_COPY_INVERTED = 0x150C;
static const int GL_NOOP = 0x1505;
static const int GL_INVERT = 0x150A;
static const int GL_AND = 0x1501;
static const int GL_NAND = 0x150E;
static const int GL_OR = 0x1507;
static const int GL_NOR = 0x1508;
static const int GL_XOR = 0x1506;
static const int GL_EQUIV = 0x1509;
static const int GL_AND_REVERSE = 0x1502;
static const int GL_AND_INVERTED = 0x1504;
static const int GL_OR_REVERSE = 0x150B;
static const int GL_OR_INVERTED = 0x150D;
static const int GL_STENCIL_TEST = 0x0B90;
static const int GL_STENCIL_WRITEMASK = 0x0B98;
static const int GL_STENCIL_BITS = 0x0D57;
static const int GL_STENCIL_FUNC = 0x0B92;
static const int GL_STENCIL_VALUE_MASK = 0x0B93;
static const int GL_STENCIL_REF = 0x0B97;
static const int GL_STENCIL_FAIL = 0x0B94;
static const int GL_STENCIL_PASS_DEPTH_PASS = 0x0B96;
static const int GL_STENCIL_PASS_DEPTH_FAIL = 0x0B95;
static const int GL_STENCIL_CLEAR_VALUE = 0x0B91;
static const int GL_STENCIL_INDEX = 0x1901;
static const int GL_KEEP = 0x1E00;
static const int GL_REPLACE = 0x1E01;
static const int GL_INCR = 0x1E02;
static const int GL_DECR = 0x1E03;
static const int GL_NONE = 0x0;
static const int GL_LEFT = 0x0406;
static const int GL_RIGHT = 0x0407;
static const int GL_FRONT_LEFT = 0x0400;
static const int GL_FRONT_RIGHT = 0x0401;
static const int GL_BACK_LEFT = 0x0402;
static const int GL_BACK_RIGHT = 0x0403;
static const int GL_AUX0 = 0x0409;
static const int GL_AUX1 = 0x040A;
static const int GL_AUX2 = 0x040B;
static const int GL_AUX3 = 0x040C;
static const int GL_COLOR_INDEX = 0x1900;
static const int GL_RED = 0x1903;
static const int GL_GREEN = 0x1904;
static const int GL_BLUE = 0x1905;
static const int GL_ALPHA = 0x1906;
static const int GL_LUMINANCE = 0x1909;
static const int GL_LUMINANCE_ALPHA = 0x190A;
static const int GL_ALPHA_BITS = 0x0D55;
static const int GL_RED_BITS = 0x0D52;
static const int GL_GREEN_BITS = 0x0D53;
static const int GL_BLUE_BITS = 0x0D54;
static const int GL_INDEX_BITS = 0x0D51;
static const int GL_SUBPIXEL_BITS = 0x0D50;
static const int GL_AUX_BUFFERS = 0x0C00;
static const int GL_READ_BUFFER = 0x0C02;
static const int GL_DRAW_BUFFER = 0x0C01;
static const int GL_DOUBLEBUFFER = 0x0C32;
static const int GL_STEREO = 0x0C33;
static const int GL_BITMAP = 0x1A00;
static const int GL_COLOR = 0x1800;
static const int GL_DEPTH = 0x1801;
static const int GL_STENCIL = 0x1802;
static const int GL_DITHER = 0x0BD0;
static const int GL_RGB = 0x1907;
static const int GL_RGBA = 0x1908;
static const int GL_MAX_LIST_NESTING = 0x0B31;
static const int GL_MAX_ATTRIB_STACK_DEPTH = 0x0D35;
static const int GL_MAX_MODELVIEW_STACK_DEPTH = 0x0D36;
static const int GL_MAX_NAME_STACK_DEPTH = 0x0D37;
static const int GL_MAX_PROJECTION_STACK_DEPTH = 0x0D38;
static const int GL_MAX_TEXTURE_STACK_DEPTH = 0x0D39;
static const int GL_MAX_EVAL_ORDER = 0x0D30;
static const int GL_MAX_LIGHTS = 0x0D31;
static const int GL_MAX_CLIP_PLANES = 0x0D32;
static const int GL_MAX_TEXTURE_SIZE = 0x0D33;
static const int GL_MAX_PIXEL_MAP_TABLE = 0x0D34;
static const int GL_MAX_VIEWPORT_DIMS = 0x0D3A;
static const int GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = 0x0D3B;
static const int GL_ATTRIB_STACK_DEPTH = 0x0BB0;
static const int GL_CLIENT_ATTRIB_STACK_DEPTH = 0x0BB1;
static const int GL_COLOR_CLEAR_VALUE = 0x0C22;
static const int GL_COLOR_WRITEMASK = 0x0C23;
static const int GL_CURRENT_INDEX = 0x0B01;
static const int GL_CURRENT_COLOR = 0x0B00;
static const int GL_CURRENT_NORMAL = 0x0B02;
static const int GL_CURRENT_RASTER_COLOR = 0x0B04;
static const int GL_CURRENT_RASTER_DISTANCE = 0x0B09;
static const int GL_CURRENT_RASTER_INDEX = 0x0B05;
static const int GL_CURRENT_RASTER_POSITION = 0x0B07;
static const int GL_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06;
static const int GL_CURRENT_RASTER_POSITION_VALID = 0x0B08;
static const int GL_CURRENT_TEXTURE_COORDS = 0x0B03;
static const int GL_INDEX_CLEAR_VALUE = 0x0C20;
static const int GL_INDEX_MODE = 0x0C30;
static const int GL_INDEX_WRITEMASK = 0x0C21;
static const int GL_MODELVIEW_MATRIX = 0x0BA6;
static const int GL_MODELVIEW_STACK_DEPTH = 0x0BA3;
static const int GL_NAME_STACK_DEPTH = 0x0D70;
static const int GL_PROJECTION_MATRIX = 0x0BA7;
static const int GL_PROJECTION_STACK_DEPTH = 0x0BA4;
static const int GL_RENDER_MODE = 0x0C40;
static const int GL_RGBA_MODE = 0x0C31;
static const int GL_TEXTURE_MATRIX = 0x0BA8;
static const int GL_TEXTURE_STACK_DEPTH = 0x0BA5;
static const int GL_VIEWPORT = 0x0BA2;
static const int GL_AUTO_NORMAL = 0x0D80;
static const int GL_MAP1_COLOR_4 = 0x0D90;
static const int GL_MAP1_GRID_DOMAIN = 0x0DD0;
static const int GL_MAP1_GRID_SEGMENTS = 0x0DD1;
static const int GL_MAP1_INDEX = 0x0D91;
static const int GL_MAP1_NORMAL = 0x0D92;
static const int GL_MAP1_TEXTURE_COORD_1 = 0x0D93;
static const int GL_MAP1_TEXTURE_COORD_2 = 0x0D94;
static const int GL_MAP1_TEXTURE_COORD_3 = 0x0D95;
static const int GL_MAP1_TEXTURE_COORD_4 = 0x0D96;
static const int GL_MAP1_VERTEX_3 = 0x0D97;
static const int GL_MAP1_VERTEX_4 = 0x0D98;
static const int GL_MAP2_COLOR_4 = 0x0DB0;
static const int GL_MAP2_GRID_DOMAIN = 0x0DD2;
static const int GL_MAP2_GRID_SEGMENTS = 0x0DD3;
static const int GL_MAP2_INDEX = 0x0DB1;
static const int GL_MAP2_NORMAL = 0x0DB2;
static const int GL_MAP2_TEXTURE_COORD_1 = 0x0DB3;
static const int GL_MAP2_TEXTURE_COORD_2 = 0x0DB4;
static const int GL_MAP2_TEXTURE_COORD_3 = 0x0DB5;
static const int GL_MAP2_TEXTURE_COORD_4 = 0x0DB6;
static const int GL_MAP2_VERTEX_3 = 0x0DB7;
static const int GL_MAP2_VERTEX_4 = 0x0DB8;
static const int GL_COEFF = 0x0A00;
static const int GL_DOMAIN = 0x0A02;
static const int GL_ORDER = 0x0A01;
static const int GL_FOG_HINT = 0x0C54;
static const int GL_LINE_SMOOTH_HINT = 0x0C52;
static const int GL_PERSPECTIVE_CORRECTION_HINT = 0x0C50;
static const int GL_POINT_SMOOTH_HINT = 0x0C51;
static const int GL_POLYGON_SMOOTH_HINT = 0x0C53;
static const int GL_DONT_CARE = 0x1100;
static const int GL_FASTEST = 0x1101;
static const int GL_NICEST = 0x1102;
static const int GL_SCISSOR_TEST = 0x0C11;
static const int GL_SCISSOR_BOX = 0x0C10;
static const int GL_MAP_COLOR = 0x0D10;
static const int GL_MAP_STENCIL = 0x0D11;
static const int GL_INDEX_SHIFT = 0x0D12;
static const int GL_INDEX_OFFSET = 0x0D13;
static const int GL_RED_SCALE = 0x0D14;
static const int GL_RED_BIAS = 0x0D15;
static const int GL_GREEN_SCALE = 0x0D18;
static const int GL_GREEN_BIAS = 0x0D19;
static const int GL_BLUE_SCALE = 0x0D1A;
static const int GL_BLUE_BIAS = 0x0D1B;
static const int GL_ALPHA_SCALE = 0x0D1C;
static const int GL_ALPHA_BIAS = 0x0D1D;
static const int GL_DEPTH_SCALE = 0x0D1E;
static const int GL_DEPTH_BIAS = 0x0D1F;
static const int GL_PIXEL_MAP_S_TO_S_SIZE = 0x0CB1;
static const int GL_PIXEL_MAP_I_TO_I_SIZE = 0x0CB0;
static const int GL_PIXEL_MAP_I_TO_R_SIZE = 0x0CB2;
static const int GL_PIXEL_MAP_I_TO_G_SIZE = 0x0CB3;
static const int GL_PIXEL_MAP_I_TO_B_SIZE = 0x0CB4;
static const int GL_PIXEL_MAP_I_TO_A_SIZE = 0x0CB5;
static const int GL_PIXEL_MAP_R_TO_R_SIZE = 0x0CB6;
static const int GL_PIXEL_MAP_G_TO_G_SIZE = 0x0CB7;
static const int GL_PIXEL_MAP_B_TO_B_SIZE = 0x0CB8;
static const int GL_PIXEL_MAP_A_TO_A_SIZE = 0x0CB9;
static const int GL_PIXEL_MAP_S_TO_S = 0x0C71;
static const int GL_PIXEL_MAP_I_TO_I = 0x0C70;
static const int GL_PIXEL_MAP_I_TO_R = 0x0C72;
static const int GL_PIXEL_MAP_I_TO_G = 0x0C73;
static const int GL_PIXEL_MAP_I_TO_B = 0x0C74;
static const int GL_PIXEL_MAP_I_TO_A = 0x0C75;
static const int GL_PIXEL_MAP_R_TO_R = 0x0C76;
static const int GL_PIXEL_MAP_G_TO_G = 0x0C77;
static const int GL_PIXEL_MAP_B_TO_B = 0x0C78;
static const int GL_PIXEL_MAP_A_TO_A = 0x0C79;
static const int GL_PACK_ALIGNMENT = 0x0D05;
static const int GL_PACK_LSB_FIRST = 0x0D01;
static const int GL_PACK_ROW_LENGTH = 0x0D02;
static const int GL_PACK_SKIP_PIXELS = 0x0D04;
static const int GL_PACK_SKIP_ROWS = 0x0D03;
static const int GL_PACK_SWAP_BYTES = 0x0D00;
static const int GL_UNPACK_ALIGNMENT = 0x0CF5;
static const int GL_UNPACK_LSB_FIRST = 0x0CF1;
static const int GL_UNPACK_ROW_LENGTH = 0x0CF2;
static const int GL_UNPACK_SKIP_PIXELS = 0x0CF4;
static const int GL_UNPACK_SKIP_ROWS = 0x0CF3;
static const int GL_UNPACK_SWAP_BYTES = 0x0CF0;
static const int GL_ZOOM_X = 0x0D16;
static const int GL_ZOOM_Y = 0x0D17;
static const int GL_TEXTURE_ENV = 0x2300;
static const int GL_TEXTURE_ENV_MODE = 0x2200;
static const int GL_TEXTURE_1D = 0x0DE0;
static const int GL_TEXTURE_2D = 0x0DE1;
static const int GL_TEXTURE_WRAP_S = 0x2802;
static const int GL_TEXTURE_WRAP_T = 0x2803;
static const int GL_TEXTURE_MAG_FILTER = 0x2800;
static const int GL_TEXTURE_MIN_FILTER = 0x2801;
static const int GL_TEXTURE_ENV_COLOR = 0x2201;
static const int GL_TEXTURE_GEN_S = 0x0C60;
static const int GL_TEXTURE_GEN_T = 0x0C61;
static const int GL_TEXTURE_GEN_MODE = 0x2500;
static const int GL_TEXTURE_BORDER_COLOR = 0x1004;
static const int GL_TEXTURE_WIDTH = 0x1000;
static const int GL_TEXTURE_HEIGHT = 0x1001;
static const int GL_TEXTURE_BORDER = 0x1005;
static const int GL_TEXTURE_COMPONENTS = 0x1003;
static const int GL_TEXTURE_RED_SIZE = 0x805C;
static const int GL_TEXTURE_GREEN_SIZE = 0x805D;
static const int GL_TEXTURE_BLUE_SIZE = 0x805E;
static const int GL_TEXTURE_ALPHA_SIZE = 0x805F;
static const int GL_TEXTURE_LUMINANCE_SIZE = 0x8060;
static const int GL_TEXTURE_INTENSITY_SIZE = 0x8061;
static const int GL_NEAREST_MIPMAP_NEAREST = 0x2700;
static const int GL_NEAREST_MIPMAP_LINEAR = 0x2702;
static const int GL_LINEAR_MIPMAP_NEAREST = 0x2701;
static const int GL_LINEAR_MIPMAP_LINEAR = 0x2703;
static const int GL_OBJECT_LINEAR = 0x2401;
static const int GL_OBJECT_PLANE = 0x2501;
static const int GL_EYE_LINEAR = 0x2400;
static const int GL_EYE_PLANE = 0x2502;
static const int GL_SPHERE_MAP = 0x2402;
static const int GL_DECAL = 0x2101;
static const int GL_MODULATE = 0x2100;
static const int GL_NEAREST = 0x2600;
static const int GL_REPEAT = 0x2901;
static const int GL_CLAMP = 0x2900;
static const int GL_S = 0x2000;
static const int GL_T = 0x2001;
static const int GL_R = 0x2002;
static const int GL_Q = 0x2003;
static const int GL_TEXTURE_GEN_R = 0x0C62;
static const int GL_TEXTURE_GEN_Q = 0x0C63;
static const int GL_VENDOR = 0x1F00;
static const int GL_RENDERER = 0x1F01;
static const int GL_VERSION = 0x1F02;
static const int GL_EXTENSIONS = 0x1F03;
static const int GL_NO_ERROR = 0x0;
static const int GL_INVALID_VALUE = 0x0501;
static const int GL_INVALID_ENUM = 0x0500;
static const int GL_INVALID_OPERATION = 0x0502;
static const int GL_STACK_OVERFLOW = 0x0503;
static const int GL_STACK_UNDERFLOW = 0x0504;
static const int GL_OUT_OF_MEMORY = 0x0505;
static const int GL_CURRENT_BIT = 0x00000001;
static const int GL_POINT_BIT = 0x00000002;
static const int GL_LINE_BIT = 0x00000004;
static const int GL_POLYGON_BIT = 0x00000008;
static const int GL_POLYGON_STIPPLE_BIT = 0x00000010;
static const int GL_PIXEL_MODE_BIT = 0x00000020;
static const int GL_LIGHTING_BIT = 0x00000040;
static const int GL_FOG_BIT = 0x00000080;
static const int GL_DEPTH_BUFFER_BIT = 0x00000100;
static const int GL_ACCUM_BUFFER_BIT = 0x00000200;
static const int GL_STENCIL_BUFFER_BIT = 0x00000400;
static const int GL_VIEWPORT_BIT = 0x00000800;
static const int GL_TRANSFORM_BIT = 0x00001000;
static const int GL_ENABLE_BIT = 0x00002000;
static const int GL_COLOR_BUFFER_BIT = 0x00004000;
static const int GL_HINT_BIT = 0x00008000;
static const int GL_EVAL_BIT = 0x00010000;
static const int GL_LIST_BIT = 0x00020000;
static const int GL_TEXTURE_BIT = 0x00040000;
static const int GL_SCISSOR_BIT = 0x00080000;
static const int GL_ALL_ATTRIB_BITS = 0x000FFFFF;
static const int GL_PROXY_TEXTURE_1D = 0x8063;
static const int GL_PROXY_TEXTURE_2D = 0x8064;
static const int GL_TEXTURE_PRIORITY = 0x8066;
static const int GL_TEXTURE_RESIDENT = 0x8067;
static const int GL_TEXTURE_BINDING_1D = 0x8068;
static const int GL_TEXTURE_BINDING_2D = 0x8069;
static const int GL_TEXTURE_INTERNAL_FORMAT = 0x1003;
static const int GL_ALPHA4 = 0x803B;
static const int GL_ALPHA8 = 0x803C;
static const int GL_ALPHA12 = 0x803D;
static const int GL_ALPHA16 = 0x803E;
static const int GL_LUMINANCE4 = 0x803F;
static const int GL_LUMINANCE8 = 0x8040;
static const int GL_LUMINANCE12 = 0x8041;
static const int GL_LUMINANCE16 = 0x8042;
static const int GL_LUMINANCE4_ALPHA4 = 0x8043;
static const int GL_LUMINANCE6_ALPHA2 = 0x8044;
static const int GL_LUMINANCE8_ALPHA8 = 0x8045;
static const int GL_LUMINANCE12_ALPHA4 = 0x8046;
static const int GL_LUMINANCE12_ALPHA12 = 0x8047;
static const int GL_LUMINANCE16_ALPHA16 = 0x8048;
static const int GL_INTENSITY = 0x8049;
static const int GL_INTENSITY4 = 0x804A;
static const int GL_INTENSITY8 = 0x804B;
static const int GL_INTENSITY12 = 0x804C;
static const int GL_INTENSITY16 = 0x804D;
static const int GL_R3_G3_B2 = 0x2A10;
static const int GL_RGB4 = 0x804F;
static const int GL_RGB5 = 0x8050;
static const int GL_RGB8 = 0x8051;
static const int GL_RGB10 = 0x8052;
static const int GL_RGB12 = 0x8053;
static const int GL_RGB16 = 0x8054;
static const int GL_RGBA2 = 0x8055;
static const int GL_RGBA4 = 0x8056;
static const int GL_RGB5_A1 = 0x8057;
static const int GL_RGBA8 = 0x8058;
static const int GL_RGB10_A2 = 0x8059;
static const int GL_RGBA12 = 0x805A;
static const int GL_RGBA16 = 0x805B;
static const int GL_CLIENT_PIXEL_STORE_BIT = 0x00000001;
static const int GL_CLIENT_VERTEX_ARRAY_BIT = 0x00000002;
static const int GL_ALL_CLIENT_ATTRIB_BITS = 0xFFFFFFFF;
static const int GL_CLIENT_ALL_ATTRIB_BITS = 0xFFFFFFFF;
static const int GL_RESCALE_NORMAL = 0x803A;
static const int GL_CLAMP_TO_EDGE = 0x812F;
static const int GL_MAX_ELEMENTS_VERTICES = 0x80E8;
static const int GL_MAX_ELEMENTS_INDICES = 0x80E9;
static const int GL_BGR = 0x80E0;
static const int GL_BGRA = 0x80E1;
static const int GL_UNSIGNED_BYTE_3_3_2 = 0x8032;
static const int GL_UNSIGNED_BYTE_2_3_3_REV = 0x8362;
static const int GL_UNSIGNED_SHORT_5_6_5 = 0x8363;
static const int GL_UNSIGNED_SHORT_5_6_5_REV = 0x8364;
static const int GL_UNSIGNED_SHORT_4_4_4_4 = 0x8033;
static const int GL_UNSIGNED_SHORT_4_4_4_4_REV = 0x8365;
static const int GL_UNSIGNED_SHORT_5_5_5_1 = 0x8034;
static const int GL_UNSIGNED_SHORT_1_5_5_5_REV = 0x8366;
static const int GL_UNSIGNED_INT_8_8_8_8 = 0x8035;
static const int GL_UNSIGNED_INT_8_8_8_8_REV = 0x8367;
static const int GL_UNSIGNED_INT_10_10_10_2 = 0x8036;
static const int GL_UNSIGNED_INT_2_10_10_10_REV = 0x8368;
static const int GL_LIGHT_MODEL_COLOR_CONTROL = 0x81F8;
static const int GL_SINGLE_COLOR = 0x81F9;
static const int GL_SEPARATE_SPECULAR_COLOR = 0x81FA;
static const int GL_TEXTURE_MIN_LOD = 0x813A;
static const int GL_TEXTURE_MAX_LOD = 0x813B;
static const int GL_TEXTURE_BASE_LEVEL = 0x813C;
static const int GL_TEXTURE_MAX_LEVEL = 0x813D;
static const int GL_SMOOTH_POINT_SIZE_RANGE = 0x0B12;
static const int GL_SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13;
static const int GL_SMOOTH_LINE_WIDTH_RANGE = 0x0B22;
static const int GL_SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23;
static const int GL_ALIASED_POINT_SIZE_RANGE = 0x846D;
static const int GL_ALIASED_LINE_WIDTH_RANGE = 0x846E;
static const int GL_PACK_SKIP_IMAGES = 0x806B;
static const int GL_PACK_IMAGE_HEIGHT = 0x806C;
static const int GL_UNPACK_SKIP_IMAGES = 0x806D;
static const int GL_UNPACK_IMAGE_HEIGHT = 0x806E;
static const int GL_TEXTURE_3D = 0x806F;
static const int GL_PROXY_TEXTURE_3D = 0x8070;
static const int GL_TEXTURE_DEPTH = 0x8071;
static const int GL_TEXTURE_WRAP_R = 0x8072;
static const int GL_MAX_3D_TEXTURE_SIZE = 0x8073;
static const int GL_TEXTURE_BINDING_3D = 0x806A;
static const int GL_COLOR_TABLE = 0x80D0;
static const int GL_POST_CONVOLUTION_COLOR_TABLE = 0x80D1;
static const int GL_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D2;
static const int GL_PROXY_COLOR_TABLE = 0x80D3;
static const int GL_PROXY_POST_CONVOLUTION_COLOR_TABLE = 0x80D4;
static const int GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D5;
static const int GL_COLOR_TABLE_SCALE = 0x80D6;
static const int GL_COLOR_TABLE_BIAS = 0x80D7;
static const int GL_COLOR_TABLE_FORMAT = 0x80D8;
static const int GL_COLOR_TABLE_WIDTH = 0x80D9;
static const int GL_COLOR_TABLE_RED_SIZE = 0x80DA;
static const int GL_COLOR_TABLE_GREEN_SIZE = 0x80DB;
static const int GL_COLOR_TABLE_BLUE_SIZE = 0x80DC;
static const int GL_COLOR_TABLE_ALPHA_SIZE = 0x80DD;
static const int GL_COLOR_TABLE_LUMINANCE_SIZE = 0x80DE;
static const int GL_COLOR_TABLE_INTENSITY_SIZE = 0x80DF;
static const int GL_CONVOLUTION_1D = 0x8010;
static const int GL_CONVOLUTION_2D = 0x8011;
static const int GL_SEPARABLE_2D = 0x8012;
static const int GL_CONVOLUTION_BORDER_MODE = 0x8013;
static const int GL_CONVOLUTION_FILTER_SCALE = 0x8014;
static const int GL_CONVOLUTION_FILTER_BIAS = 0x8015;
static const int GL_REDUCE = 0x8016;
static const int GL_CONVOLUTION_FORMAT = 0x8017;
static const int GL_CONVOLUTION_WIDTH = 0x8018;
static const int GL_CONVOLUTION_HEIGHT = 0x8019;
static const int GL_MAX_CONVOLUTION_WIDTH = 0x801A;
static const int GL_MAX_CONVOLUTION_HEIGHT = 0x801B;
static const int GL_POST_CONVOLUTION_RED_SCALE = 0x801C;
static const int GL_POST_CONVOLUTION_GREEN_SCALE = 0x801D;
static const int GL_POST_CONVOLUTION_BLUE_SCALE = 0x801E;
static const int GL_POST_CONVOLUTION_ALPHA_SCALE = 0x801F;
static const int GL_POST_CONVOLUTION_RED_BIAS = 0x8020;
static const int GL_POST_CONVOLUTION_GREEN_BIAS = 0x8021;
static const int GL_POST_CONVOLUTION_BLUE_BIAS = 0x8022;
static const int GL_POST_CONVOLUTION_ALPHA_BIAS = 0x8023;
static const int GL_CONSTANT_BORDER = 0x8151;
static const int GL_REPLICATE_BORDER = 0x8153;
static const int GL_CONVOLUTION_BORDER_COLOR = 0x8154;
static const int GL_COLOR_MATRIX = 0x80B1;
static const int GL_COLOR_MATRIX_STACK_DEPTH = 0x80B2;
static const int GL_MAX_COLOR_MATRIX_STACK_DEPTH = 0x80B3;
static const int GL_POST_COLOR_MATRIX_RED_SCALE = 0x80B4;
static const int GL_POST_COLOR_MATRIX_GREEN_SCALE = 0x80B5;
static const int GL_POST_COLOR_MATRIX_BLUE_SCALE = 0x80B6;
static const int GL_POST_COLOR_MATRIX_ALPHA_SCALE = 0x80B7;
static const int GL_POST_COLOR_MATRIX_RED_BIAS = 0x80B8;
static const int GL_POST_COLOR_MATRIX_GREEN_BIAS = 0x80B9;
static const int GL_POST_COLOR_MATRIX_BLUE_BIAS = 0x80BA;
static const int GL_POST_COLOR_MATRIX_ALPHA_BIAS = 0x80BB;
static const int GL_HISTOGRAM = 0x8024;
static const int GL_PROXY_HISTOGRAM = 0x8025;
static const int GL_HISTOGRAM_WIDTH = 0x8026;
static const int GL_HISTOGRAM_FORMAT = 0x8027;
static const int GL_HISTOGRAM_RED_SIZE = 0x8028;
static const int GL_HISTOGRAM_GREEN_SIZE = 0x8029;
static const int GL_HISTOGRAM_BLUE_SIZE = 0x802A;
static const int GL_HISTOGRAM_ALPHA_SIZE = 0x802B;
static const int GL_HISTOGRAM_LUMINANCE_SIZE = 0x802C;
static const int GL_HISTOGRAM_SINK = 0x802D;
static const int GL_MINMAX = 0x802E;
static const int GL_MINMAX_FORMAT = 0x802F;
static const int GL_MINMAX_SINK = 0x8030;
static const int GL_TABLE_TOO_LARGE = 0x8031;
static const int GL_BLEND_EQUATION = 0x8009;
static const int GL_MIN = 0x8007;
static const int GL_MAX = 0x8008;
static const int GL_FUNC_ADD = 0x8006;
static const int GL_FUNC_SUBTRACT = 0x800A;
static const int GL_FUNC_REVERSE_SUBTRACT = 0x800B;
static const int GL_BLEND_COLOR = 0x8005;
static const int GL_TEXTURE0 = 0x84C0;
static const int GL_TEXTURE1 = 0x84C1;
static const int GL_TEXTURE2 = 0x84C2;
static const int GL_TEXTURE3 = 0x84C3;
static const int GL_TEXTURE4 = 0x84C4;
static const int GL_TEXTURE5 = 0x84C5;
static const int GL_TEXTURE6 = 0x84C6;
static const int GL_TEXTURE7 = 0x84C7;
static const int GL_TEXTURE8 = 0x84C8;
static const int GL_TEXTURE9 = 0x84C9;
static const int GL_TEXTURE10 = 0x84CA;
static const int GL_TEXTURE11 = 0x84CB;
static const int GL_TEXTURE12 = 0x84CC;
static const int GL_TEXTURE13 = 0x84CD;
static const int GL_TEXTURE14 = 0x84CE;
static const int GL_TEXTURE15 = 0x84CF;
static const int GL_TEXTURE16 = 0x84D0;
static const int GL_TEXTURE17 = 0x84D1;
static const int GL_TEXTURE18 = 0x84D2;
static const int GL_TEXTURE19 = 0x84D3;
static const int GL_TEXTURE20 = 0x84D4;
static const int GL_TEXTURE21 = 0x84D5;
static const int GL_TEXTURE22 = 0x84D6;
static const int GL_TEXTURE23 = 0x84D7;
static const int GL_TEXTURE24 = 0x84D8;
static const int GL_TEXTURE25 = 0x84D9;
static const int GL_TEXTURE26 = 0x84DA;
static const int GL_TEXTURE27 = 0x84DB;
static const int GL_TEXTURE28 = 0x84DC;
static const int GL_TEXTURE29 = 0x84DD;
static const int GL_TEXTURE30 = 0x84DE;
static const int GL_TEXTURE31 = 0x84DF;
static const int GL_ACTIVE_TEXTURE = 0x84E0;
static const int GL_CLIENT_ACTIVE_TEXTURE = 0x84E1;
static const int GL_MAX_TEXTURE_UNITS = 0x84E2;
static const int GL_NORMAL_MAP = 0x8511;
static const int GL_REFLECTION_MAP = 0x8512;
static const int GL_TEXTURE_CUBE_MAP = 0x8513;
static const int GL_TEXTURE_BINDING_CUBE_MAP = 0x8514;
static const int GL_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515;
static const int GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516;
static const int GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517;
static const int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518;
static const int GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519;
static const int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A;
static const int GL_PROXY_TEXTURE_CUBE_MAP = 0x851B;
static const int GL_MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C;
static const int GL_COMPRESSED_ALPHA = 0x84E9;
static const int GL_COMPRESSED_LUMINANCE = 0x84EA;
static const int GL_COMPRESSED_LUMINANCE_ALPHA = 0x84EB;
static const int GL_COMPRESSED_INTENSITY = 0x84EC;
static const int GL_COMPRESSED_RGB = 0x84ED;
static const int GL_COMPRESSED_RGBA = 0x84EE;
static const int GL_TEXTURE_COMPRESSION_HINT = 0x84EF;
static const int GL_TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0;
static const int GL_TEXTURE_COMPRESSED = 0x86A1;
static const int GL_NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2;
static const int GL_COMPRESSED_TEXTURE_FORMATS = 0x86A3;
static const int GL_MULTISAMPLE = 0x809D;
static const int GL_SAMPLE_ALPHA_TO_COVERAGE = 0x809E;
static const int GL_SAMPLE_ALPHA_TO_ONE = 0x809F;
static const int GL_SAMPLE_COVERAGE = 0x80A0;
static const int GL_SAMPLE_BUFFERS = 0x80A8;
static const int GL_SAMPLES = 0x80A9;
static const int GL_SAMPLE_COVERAGE_VALUE = 0x80AA;
static const int GL_SAMPLE_COVERAGE_INVERT = 0x80AB;
static const int GL_MULTISAMPLE_BIT = 0x20000000;
static const int GL_TRANSPOSE_MODELVIEW_MATRIX = 0x84E3;
static const int GL_TRANSPOSE_PROJECTION_MATRIX = 0x84E4;
static const int GL_TRANSPOSE_TEXTURE_MATRIX = 0x84E5;
static const int GL_TRANSPOSE_COLOR_MATRIX = 0x84E6;
static const int GL_COMBINE = 0x8570;
static const int GL_COMBINE_RGB = 0x8571;
static const int GL_COMBINE_ALPHA = 0x8572;
static const int GL_SOURCE0_RGB = 0x8580;
static const int GL_SOURCE1_RGB = 0x8581;
static const int GL_SOURCE2_RGB = 0x8582;
static const int GL_SOURCE0_ALPHA = 0x8588;
static const int GL_SOURCE1_ALPHA = 0x8589;
static const int GL_SOURCE2_ALPHA = 0x858A;
static const int GL_OPERAND0_RGB = 0x8590;
static const int GL_OPERAND1_RGB = 0x8591;
static const int GL_OPERAND2_RGB = 0x8592;
static const int GL_OPERAND0_ALPHA = 0x8598;
static const int GL_OPERAND1_ALPHA = 0x8599;
static const int GL_OPERAND2_ALPHA = 0x859A;
static const int GL_RGB_SCALE = 0x8573;
static const int GL_ADD_SIGNED = 0x8574;
static const int GL_INTERPOLATE = 0x8575;
static const int GL_SUBTRACT = 0x84E7;
static const int GL_CONSTANT = 0x8576;
static const int GL_PRIMARY_COLOR = 0x8577;
static const int GL_PREVIOUS = 0x8578;
static const int GL_DOT3_RGB = 0x86AE;
static const int GL_DOT3_RGBA = 0x86AF;
static const int GL_CLAMP_TO_BORDER = 0x812D;
static const int GL_GLEXT_VERSION = 81;
static const int WIN32_LEAN_AND_MEAN = 1;
static const int GL_BLEND_DST_RGB = 0x80C8;
static const int GL_BLEND_SRC_RGB = 0x80C9;
static const int GL_BLEND_DST_ALPHA = 0x80CA;
static const int GL_BLEND_SRC_ALPHA = 0x80CB;
static const int GL_POINT_FADE_THRESHOLD_SIZE = 0x8128;
static const int GL_DEPTH_COMPONENT16 = 0x81A5;
static const int GL_DEPTH_COMPONENT24 = 0x81A6;
static const int GL_DEPTH_COMPONENT32 = 0x81A7;
static const int GL_MIRRORED_REPEAT = 0x8370;
static const int GL_MAX_TEXTURE_LOD_BIAS = 0x84FD;
static const int GL_TEXTURE_LOD_BIAS = 0x8501;
static const int GL_INCR_WRAP = 0x8507;
static const int GL_DECR_WRAP = 0x8508;
static const int GL_TEXTURE_DEPTH_SIZE = 0x884A;
static const int GL_TEXTURE_COMPARE_MODE = 0x884C;
static const int GL_TEXTURE_COMPARE_FUNC = 0x884D;
static const int GL_POINT_SIZE_MIN = 0x8126;
static const int GL_POINT_SIZE_MAX = 0x8127;
static const int GL_POINT_DISTANCE_ATTENUATION = 0x8129;
static const int GL_GENERATE_MIPMAP = 0x8191;
static const int GL_GENERATE_MIPMAP_HINT = 0x8192;
static const int GL_FOG_COORDINATE_SOURCE = 0x8450;
static const int GL_FOG_COORDINATE = 0x8451;
static const int GL_FRAGMENT_DEPTH = 0x8452;
static const int GL_CURRENT_FOG_COORDINATE = 0x8453;
static const int GL_FOG_COORDINATE_ARRAY_TYPE = 0x8454;
static const int GL_FOG_COORDINATE_ARRAY_STRIDE = 0x8455;
static const int GL_FOG_COORDINATE_ARRAY_POINTER = 0x8456;
static const int GL_FOG_COORDINATE_ARRAY = 0x8457;
static const int GL_COLOR_SUM = 0x8458;
static const int GL_CURRENT_SECONDARY_COLOR = 0x8459;
static const int GL_SECONDARY_COLOR_ARRAY_SIZE = 0x845A;
static const int GL_SECONDARY_COLOR_ARRAY_TYPE = 0x845B;
static const int GL_SECONDARY_COLOR_ARRAY_STRIDE = 0x845C;
static const int GL_SECONDARY_COLOR_ARRAY_POINTER = 0x845D;
static const int GL_SECONDARY_COLOR_ARRAY = 0x845E;
static const int GL_TEXTURE_FILTER_CONTROL = 0x8500;
static const int GL_DEPTH_TEXTURE_MODE = 0x884B;
static const int GL_COMPARE_R_TO_TEXTURE = 0x884E;
static const int GL_BUFFER_SIZE = 0x8764;
static const int GL_BUFFER_USAGE = 0x8765;
static const int GL_QUERY_COUNTER_BITS = 0x8864;
static const int GL_CURRENT_QUERY = 0x8865;
static const int GL_QUERY_RESULT = 0x8866;
static const int GL_QUERY_RESULT_AVAILABLE = 0x8867;
static const int GL_ARRAY_BUFFER = 0x8892;
static const int GL_ELEMENT_ARRAY_BUFFER = 0x8893;
static const int GL_ARRAY_BUFFER_BINDING = 0x8894;
static const int GL_ELEMENT_ARRAY_BUFFER_BINDING = 0x8895;
static const int GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F;
static const int GL_READ_ONLY = 0x88B8;
static const int GL_WRITE_ONLY = 0x88B9;
static const int GL_READ_WRITE = 0x88BA;
static const int GL_BUFFER_ACCESS = 0x88BB;
static const int GL_BUFFER_MAPPED = 0x88BC;
static const int GL_BUFFER_MAP_POINTER = 0x88BD;
static const int GL_STREAM_DRAW = 0x88E0;
static const int GL_STREAM_READ = 0x88E1;
static const int GL_STREAM_COPY = 0x88E2;
static const int GL_STATIC_DRAW = 0x88E4;
static const int GL_STATIC_READ = 0x88E5;
static const int GL_STATIC_COPY = 0x88E6;
static const int GL_DYNAMIC_DRAW = 0x88E8;
static const int GL_DYNAMIC_READ = 0x88E9;
static const int GL_DYNAMIC_COPY = 0x88EA;
static const int GL_SAMPLES_PASSED = 0x8914;
static const int GL_VERTEX_ARRAY_BUFFER_BINDING = 0x8896;
static const int GL_NORMAL_ARRAY_BUFFER_BINDING = 0x8897;
static const int GL_COLOR_ARRAY_BUFFER_BINDING = 0x8898;
static const int GL_INDEX_ARRAY_BUFFER_BINDING = 0x8899;
static const int GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = 0x889A;
static const int GL_EDGE_FLAG_ARRAY_BUFFER_BINDING = 0x889B;
static const int GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING = 0x889C;
static const int GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING = 0x889D;
static const int GL_WEIGHT_ARRAY_BUFFER_BINDING = 0x889E;
static const int GL_FOG_COORD_SRC = 0x8450;
static const int GL_FOG_COORD = 0x8451;
static const int GL_CURRENT_FOG_COORD = 0x8453;
static const int GL_FOG_COORD_ARRAY_TYPE = 0x8454;
static const int GL_FOG_COORD_ARRAY_STRIDE = 0x8455;
static const int GL_FOG_COORD_ARRAY_POINTER = 0x8456;
static const int GL_FOG_COORD_ARRAY = 0x8457;
static const int GL_FOG_COORD_ARRAY_BUFFER_BINDING = 0x889D;
static const int GL_SRC0_RGB = 0x8580;
static const int GL_SRC1_RGB = 0x8581;
static const int GL_SRC2_RGB = 0x8582;
static const int GL_SRC0_ALPHA = 0x8588;
static const int GL_SRC1_ALPHA = 0x8589;
static const int GL_SRC2_ALPHA = 0x858A;
static const int GL_BLEND_EQUATION_RGB = 0x8009;
static const int GL_VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622;
static const int GL_VERTEX_ATTRIB_ARRAY_SIZE = 0x8623;
static const int GL_VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624;
static const int GL_VERTEX_ATTRIB_ARRAY_TYPE = 0x8625;
static const int GL_CURRENT_VERTEX_ATTRIB = 0x8626;
static const int GL_VERTEX_PROGRAM_POINT_SIZE = 0x8642;
static const int GL_VERTEX_ATTRIB_ARRAY_POINTER = 0x8645;
static const int GL_STENCIL_BACK_FUNC = 0x8800;
static const int GL_STENCIL_BACK_FAIL = 0x8801;
static const int GL_STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802;
static const int GL_STENCIL_BACK_PASS_DEPTH_PASS = 0x8803;
static const int GL_MAX_DRAW_BUFFERS = 0x8824;
static const int GL_DRAW_BUFFER0 = 0x8825;
static const int GL_DRAW_BUFFER1 = 0x8826;
static const int GL_DRAW_BUFFER2 = 0x8827;
static const int GL_DRAW_BUFFER3 = 0x8828;
static const int GL_DRAW_BUFFER4 = 0x8829;
static const int GL_DRAW_BUFFER5 = 0x882A;
static const int GL_DRAW_BUFFER6 = 0x882B;
static const int GL_DRAW_BUFFER7 = 0x882C;
static const int GL_DRAW_BUFFER8 = 0x882D;
static const int GL_DRAW_BUFFER9 = 0x882E;
static const int GL_DRAW_BUFFER10 = 0x882F;
static const int GL_DRAW_BUFFER11 = 0x8830;
static const int GL_DRAW_BUFFER12 = 0x8831;
static const int GL_DRAW_BUFFER13 = 0x8832;
static const int GL_DRAW_BUFFER14 = 0x8833;
static const int GL_DRAW_BUFFER15 = 0x8834;
static const int GL_BLEND_EQUATION_ALPHA = 0x883D;
static const int GL_MAX_VERTEX_ATTRIBS = 0x8869;
static const int GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A;
static const int GL_MAX_TEXTURE_IMAGE_UNITS = 0x8872;
static const int GL_FRAGMENT_SHADER = 0x8B30;
static const int GL_VERTEX_SHADER = 0x8B31;
static const int GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49;
static const int GL_MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A;
static const int GL_MAX_VARYING_FLOATS = 0x8B4B;
static const int GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C;
static const int GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D;
static const int GL_SHADER_TYPE = 0x8B4F;
static const int GL_FLOAT_VEC2 = 0x8B50;
static const int GL_FLOAT_VEC3 = 0x8B51;
static const int GL_FLOAT_VEC4 = 0x8B52;
static const int GL_INT_VEC2 = 0x8B53;
static const int GL_INT_VEC3 = 0x8B54;
static const int GL_INT_VEC4 = 0x8B55;
static const int GL_BOOL = 0x8B56;
static const int GL_BOOL_VEC2 = 0x8B57;
static const int GL_BOOL_VEC3 = 0x8B58;
static const int GL_BOOL_VEC4 = 0x8B59;
static const int GL_FLOAT_MAT2 = 0x8B5A;
static const int GL_FLOAT_MAT3 = 0x8B5B;
static const int GL_FLOAT_MAT4 = 0x8B5C;
static const int GL_SAMPLER_1D = 0x8B5D;
static const int GL_SAMPLER_2D = 0x8B5E;
static const int GL_SAMPLER_3D = 0x8B5F;
static const int GL_SAMPLER_CUBE = 0x8B60;
static const int GL_SAMPLER_1D_SHADOW = 0x8B61;
static const int GL_SAMPLER_2D_SHADOW = 0x8B62;
static const int GL_DELETE_STATUS = 0x8B80;
static const int GL_COMPILE_STATUS = 0x8B81;
static const int GL_LINK_STATUS = 0x8B82;
static const int GL_VALIDATE_STATUS = 0x8B83;
static const int GL_INFO_LOG_LENGTH = 0x8B84;
static const int GL_ATTACHED_SHADERS = 0x8B85;
static const int GL_ACTIVE_UNIFORMS = 0x8B86;
static const int GL_ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87;
static const int GL_SHADER_SOURCE_LENGTH = 0x8B88;
static const int GL_ACTIVE_ATTRIBUTES = 0x8B89;
static const int GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A;
static const int GL_FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B;
static const int GL_SHADING_LANGUAGE_VERSION = 0x8B8C;
static const int GL_CURRENT_PROGRAM = 0x8B8D;
static const int GL_POINT_SPRITE_COORD_ORIGIN = 0x8CA0;
static const int GL_LOWER_LEFT = 0x8CA1;
static const int GL_UPPER_LEFT = 0x8CA2;
static const int GL_STENCIL_BACK_REF = 0x8CA3;
static const int GL_STENCIL_BACK_VALUE_MASK = 0x8CA4;
static const int GL_STENCIL_BACK_WRITEMASK = 0x8CA5;
static const int GL_VERTEX_PROGRAM_TWO_SIDE = 0x8643;
static const int GL_POINT_SPRITE = 0x8861;
static const int GL_COORD_REPLACE = 0x8862;
static const int GL_MAX_TEXTURE_COORDS = 0x8871;
static const int GL_PIXEL_PACK_BUFFER = 0x88EB;
static const int GL_PIXEL_UNPACK_BUFFER = 0x88EC;
static const int GL_PIXEL_PACK_BUFFER_BINDING = 0x88ED;
static const int GL_PIXEL_UNPACK_BUFFER_BINDING = 0x88EF;
static const int GL_FLOAT_MAT2x3 = 0x8B65;
static const int GL_FLOAT_MAT2x4 = 0x8B66;
static const int GL_FLOAT_MAT3x2 = 0x8B67;
static const int GL_FLOAT_MAT3x4 = 0x8B68;
static const int GL_FLOAT_MAT4x2 = 0x8B69;
static const int GL_FLOAT_MAT4x3 = 0x8B6A;
static const int GL_SRGB = 0x8C40;
static const int GL_SRGB8 = 0x8C41;
static const int GL_SRGB_ALPHA = 0x8C42;
static const int GL_SRGB8_ALPHA8 = 0x8C43;
static const int GL_COMPRESSED_SRGB = 0x8C48;
static const int GL_COMPRESSED_SRGB_ALPHA = 0x8C49;