File: OpenGL.pod

package info (click to toggle)
libopengl-perl 0.7000%2Bdfsg-5
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 2,308 kB
  • sloc: perl: 10,178; ansic: 8,576; makefile: 113
file content (1929 lines) | stat: -rwxr-xr-x 38,232 bytes parent folder | download | duplicates (2)
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
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929

=head1 NAME

OpenGL - v0.70

=head1 SYNOPSIS


    use OpenGL qw(:all); # exports all new functionality, without
                         # the OpenGL-0.4 compatibility functions
    
    use OpenGL qw(:glfunctions :glconstants); # exports functions and
                         # constants for using OpenGL, without exporting
			 # GLU, GLUT, or GLX stuff.
    
    use OpenGL qw(:old); # Exports much old functionality of OpenGL 0.4
    
    use OpenGL; # DEPRECATED!  Same as above.  DEPRECATED!

  See also: POGL Objects
    
    * OpenGL::Array - optimized data arrays via C pointers
    
    * OpenGL::Image - direct C pointer access to ImageMagick image cache
    
    * OpenGL::Shader - abstracted shader interface: ARB, GLSL and Cg



=head1 PREREQUISITES

This module assumes that you have OpenGL, GLU, and some flavor of GLUT
properly installed on your system.  These will be names like libGL.so,
libGLU.so and libglut.so for unixen, opengl32.dll and glu32.dll for MS
Windows.

If used with OpenGL::Image, use v1.03 or higher.


=head1 DESCRIPTION

=head2 Naming convention:

Virtually all of the OpenGL 1.0, and 1.1 functions are available, and most
of 1.2. In general, the calling sequence is identical in Perl as in C.

Most functions that have no pointer arguments are called identically in
Perl as in C, and the same name is used.

Functions that use Perl array arguments and have been changed in "the obvious
way" -- to take a variable number of arguments and/or to return an array --
have the the same names as their C counterparts, but with a _p suffix.

All functions that take pointers are available with their original
calling syntax and a _c suffix. These are most useful when combined with
the OpenGL::Array module, which lets you allocate C arrays from Perl.

A third variant, _s, exists for most pointer functions, and takes a string
argument for each pointer or a reference to a Perl string containing packed
data. The underlying OpenGL function will be passed a pointer to that data.

=head2 GLUT functions

  done_glutInit
  glutAddMenuEntry
  glutAddSubMenu
  glutAttachMenu
  glutBitmapCharacter
  glutBitmapHeight
  glutBitmapLength
  glutBitmapString
  glutBitmapWidth
  glutButtonBoxFunc
  glutChangeToMenuEntry
  glutChangeToSubMenu
  glutCloseFunc
  glutCopyColormap
  glutCreateMenu
  glutCreateSubWindow
  glutCreateWindow
  glutDestroyMenu
  glutDestroyWindow
  glutDetachMenu
  glutDeviceGet
  glutDialsFunc
  glutDisplayFunc
  glutEnterGameMode
  glutEntryFunc
  glutEstablishOverlay
  glutExtensionSupported
  glutForceJoystickFunc
  glutFullScreen
  glutGameModeGet
  glutGameModeString
  glutGet
  glutGetColor
  glutGetMenu
  glutGetModifiers
  glutGetWindow
  glutHideOverlay
  glutHideWindow
  glutIconifyWindow
  glutIdleFunc
  glutIgnoreKeyRepeat
  glutInit
  glutInitDisplayMode
  glutInitDisplayString
  glutInitWindowPosition
  glutInitWindowSize
  glutKeyboardFunc
  glutKeyboardUpFunc
  glutLayerGet
  glutLeaveGameMode
  glutLeaveMainLoop
  glutMainLoop
  glutMainLoopEvent
  glutMenuDestroyFunc
  glutMenuStateFunc
  glutMenuStatusFunc
  glutMotionFunc
  glutMouseFunc
  glutMouseWheelFunc
  glutOverlayDisplayFunc
  glutPassiveMotionFunc
  glutPopWindow
  glutPositionWindow
  glutPostOverlayRedisplay
  glutPostRedisplay
  glutPostWindowOverlayRedisplay
  glutPostWindowRedisplay
  glutPushWindow
  glutRemoveMenuItem
  glutRemoveOverlay
  glutReportErrors
  glutReshapeFunc
  glutReshapeWindow
  glutSetColor
  glutSetCursor
  glutSetIconTitle
  glutSetKeyRepeat
  glutSetMenu
  glutSetOption
  glutSetWindow
  glutSetWindowTitle
  glutShowOverlay
  glutShowWindow
  glutSolidCone
  glutSolidCube
  glutSolidCylinder
  glutSolidDodecahedron
  glutSolidIcosahedron
  glutSolidOctahedron
  glutSolidRhombicDodecahedron
  glutSolidSphere
  glutSolidTeapot
  glutSolidTetrahedron
  glutSolidTorus
  glutSpaceballButtonFunc
  glutSpaceballMotionFunc
  glutSpaceballRotateFunc
  glutSpecialFunc
  glutSpecialUpFunc
  glutStrokeCharacter
  glutStrokeHeight
  glutStrokeLength
  glutStrokeString
  glutStrokeWidth
  glutSwapBuffers
  glutTabletButtonFunc
  glutTabletMotionFunc
  glutTimerFunc
  glutUseLayer
  glutVisibilityFunc
  glutWarpPointer
  glutWindowStatusFunc
  glutWireCone
  glutWireCube
  glutWireCylinder
  glutWireDodecahedron
  glutWireIcosahedron
  glutWireOctahedron
  glutWireRhombicDodecahedron
  glutWireSphere
  glutWireTeapot
  glutWireTetrahedron
  glutWireTorus

=head2 GLU functions

  gluBeginCurve
  gluBeginPolygon
  gluBeginSurface
  gluBeginTrim
  gluBuild1DMipmaps_c
  gluBuild1DMipmaps_s
  gluBuild2DMipmaps_c
  gluBuild2DMipmaps_s
  gluCylinder
  gluDeleteNurbsRenderer
  gluDeleteQuadric
  gluDeleteTess
  gluDisk
  gluEndCurve
  gluEndPolygon
  gluEndSurface
  gluEndTrim
  gluErrorString
  gluGetNurbsProperty_p
  gluGetString
  gluGetTessProperty_p
  gluLoadSamplingMatrices_p
  gluLookAt
  gluNewNurbsRenderer
  gluNewQuadric
  gluNewTess
  gluNextContour
  gluNurbsCurve_c
  gluNurbsSurface_c
  gluOrtho2D
  gluPartialDisk
  gluPerspective
  gluPickMatrix_p
  gluProject_p
  gluPwlCurve_c
  gluQuadricDrawStyle
  gluQuadricNormals
  gluQuadricOrientation
  gluQuadricTexture
  gluScaleImage_s
  gluSphere
  gluTessBeginCountour
  gluTessBeginPolygon
  gluTessCallback
  gluTessEndContour
  gluTessEndPolygon
  gluTessNormal
  gluTessProperty
  gluTessVertex
  gluUnProject_p

=head2 OpenGL functions

  glAccum
  glActiveTextureARB
  glAlphaFunc
  glAreTexturesResidentEXT_p
  glAreTexturesResident_c
  glAreTexturesResident_p
  glAreTexturesResident_s
  glArrayElement
  glArrayElementEXT
  glAttachObjectARB
  glBegin
  glBindAttribLocationARB
  glBindBufferARB
  glBindFramebufferEXT
  glBindProgramARB
  glBindRenderbufferEXT
  glBindTexture
  glBindTextureEXT
  glBitmap_c
  glBitmap_p
  glBitmap_s
  glBlendColorEXT
  glBlendEquationEXT
  glBlendFunc
  glBufferDataARB_c
  glBufferDataARB_p
  glBufferDataARB_s
  glBufferSubDataARB_c
  glBufferSubDataARB_p
  glBufferSubDataARB_s
  glCallList
  glCallLists_c
  glCallLists_p
  glCallLists_s
  glCheckFramebufferStatusEXT
  glClampColorARB
  glClear
  glClearAccum
  glClearColor
  glClearDepth
  glClearIndex
  glClearStencil
  glClientActiveTextureARB
  glClipPlane_c
  glClipPlane_p
  glClipPlane_s
  glColor3b
  glColor3bv_c
  glColor3bv_p
  glColor3bv_s
  glColor3d
  glColor3dv_c
  glColor3dv_p
  glColor3dv_s
  glColor3f
  glColor3fv_c
  glColor3fv_p
  glColor3fv_s
  glColor3i
  glColor3iv_c
  glColor3iv_p
  glColor3iv_s
  glColor3s
  glColor3sv_c
  glColor3sv_p
  glColor3sv_s
  glColor3ub
  glColor3ubv_c
  glColor3ubv_p
  glColor3ubv_s
  glColor3ui
  glColor3uiv_c
  glColor3uiv_p
  glColor3uiv_s
  glColor3us
  glColor3usv_c
  glColor3usv_p
  glColor3usv_s
  glColor4b
  glColor4bv_c
  glColor4bv_p
  glColor4bv_s
  glColor4d
  glColor4dv_c
  glColor4dv_p
  glColor4dv_s
  glColor4f
  glColor4fv_c
  glColor4fv_p
  glColor4fv_s
  glColor4i
  glColor4iv_c
  glColor4iv_p
  glColor4iv_s
  glColor4s
  glColor4sv_c
  glColor4sv_p
  glColor4sv_s
  glColor4ub
  glColor4ubv_c
  glColor4ubv_p
  glColor4ubv_s
  glColor4ui
  glColor4uiv_c
  glColor4uiv_p
  glColor4uiv_s
  glColor4us
  glColor4usv_c
  glColor4usv_p
  glColor4usv_s
  glColorMask
  glColorMaterial
  glColorPointerEXT_c
  glColorPointerEXT_p
  glColorPointerEXT_s
  glColorPointer_c
  glColorPointer_p
  glColorPointer_s
  glCompileShaderARB
  glCopyPixels
  glCopyTexImage1D
  glCopyTexImage1DEXT
  glCopyTexImage2D
  glCopyTexImage2DEXT
  glCopyTexSubImage1D
  glCopyTexSubImage1DEXT
  glCopyTexSubImage2D
  glCopyTexSubImage2DEXT
  glCopyTexSubImage3D
  glCopyTexSubImage3DEXT
  glCreateProgramObjectARB
  glCreateShaderObjectARB
  glCullFace
  glDeleteBuffersARB_c
  glDeleteBuffersARB_p
  glDeleteBuffersARB_s
  glDeleteFramebuffersEXT_c
  glDeleteFramebuffersEXT_p
  glDeleteFramebuffersEXT_s
  glDeleteLists
  glDeleteObjectARB
  glDeleteProgramsARB_c
  glDeleteProgramsARB_p
  glDeleteProgramsARB_s
  glDeleteRenderbuffersEXT_c
  glDeleteRenderbuffersEXT_p
  glDeleteRenderbuffersEXT_s
  glDeleteTexturesEXT_p
  glDeleteTextures_c
  glDeleteTextures_p
  glDeleteTextures_s
  glDepthFunc
  glDepthMask
  glDepthRange
  glDetachObjectARB
  glDisable
  glDisableClientState
  glDisableVertexAttribArrayARB
  glDrawArrays
  glDrawArraysEXT
  glDrawBuffer
  glDrawBuffersARB_c
  glDrawBuffersARB_p
  glDrawBuffersARB_s
  glDrawBuffers_c
  glDrawBuffers_p
  glDrawBuffers_s
  glDrawElements_c
  glDrawElements_p
  glDrawElements_s
  glDrawPixels_c
  glDrawPixels_p
  glDrawPixels_s
  glDrawRangeElements_c
  glDrawRangeElements_p
  glDrawRangeElements_s
  glEdgeFlag
  glEdgeFlagPointerEXT_c
  glEdgeFlagPointerEXT_p
  glEdgeFlagPointerEXT_s
  glEdgeFlagPointer_c
  glEdgeFlagPointer_p
  glEdgeFlagPointer_s
  glEnable
  glEnableClientState
  glEnableVertexAttribArrayARB
  glEnd
  glEndList
  glEvalCoord1d
  glEvalCoord1f
  glEvalCoord2d
  glEvalCoord2f
  glEvalMesh1
  glEvalMesh2
  glEvalPoint1
  glEvalPoint2
  glFeedbackBuffer_c
  glFeedbackBuffer_p -- not yet implemented
  glFeedbackBuffer_s -- not yet implemented
  glFinish
  glFlush
  glFogf
  glFogfv_c
  glFogfv_p
  glFogfv_s
  glFogi
  glFogiv_c
  glFogiv_p
  glFogiv_s
  glFramebufferRenderbufferEXT
  glFramebufferTexture1DEXT
  glFramebufferTexture2DEXT
  glFramebufferTexture3DEXT
  glFrontFace
  glFrustum
  glGenBuffersARB_c
  glGenBuffersARB_p
  glGenBuffersARB_s
  glGenFramebuffersEXT_c
  glGenFramebuffersEXT_p
  glGenFramebuffersEXT_s
  glGenLists
  glGenProgramsARB_c
  glGenProgramsARB_p
  glGenProgramsARB_s
  glGenRenderbuffersEXT_c
  glGenRenderbuffersEXT_p
  glGenRenderbuffersEXT_s
  glGenTexturesEXT_p
  glGenTextures_c
  glGenTextures_p
  glGenTextures_s
  glGenerateMipmapEXT
  glGetActiveAttribARB_c
  glGetActiveAttribARB_p
  glGetActiveAttribARB_s
  glGetActiveUniformARB_c
  glGetActiveUniformARB_p
  glGetActiveUniformARB_s
  glGetAttachedObjectsARB_c
  glGetAttachedObjectsARB_p
  glGetAttachedObjectsARB_s
  glGetAttribLocationARB_c
  glGetAttribLocationARB_p
  glGetBooleanv_c
  glGetBooleanv_p
  glGetBooleanv_s
  glGetBufferParameterivARB_c
  glGetBufferParameterivARB_p
  glGetBufferParameterivARB_s
  glGetBufferPointervARB_c
  glGetBufferPointervARB_p
  glGetBufferPointervARB_s
  glGetBufferSubDataARB_c
  glGetBufferSubDataARB_p
  glGetBufferSubDataARB_s
  glGetClipPlane_c
  glGetClipPlane_p
  glGetClipPlane_s
  glGetDoublev_c
  glGetDoublev_p
  glGetDoublev_s
  glGetError
  glGetFloatv_c
  glGetFloatv_p
  glGetFloatv_s
  glGetFramebufferAttachmentParameterivEXT_c
  glGetFramebufferAttachmentParameterivEXT_s
  glGetGLhandleARB
  glGetInfoLogARB_c
  glGetInfoLogARB_p
  glGetIntegerv_c
  glGetIntegerv_p
  glGetIntegerv_s
  glGetLightfv_c
  glGetLightfv_p
  glGetLightfv_s
  glGetLightiv_c
  glGetLightiv_p
  glGetLightiv_s
  glGetMapdv_c
  glGetMapdv_p
  glGetMapdv_s
  glGetMapfv_c
  glGetMapfv_p
  glGetMapfv_s
  glGetMapiv_c
  glGetMapiv_p
  glGetMapiv_s
  glGetMaterialfv_c
  glGetMaterialfv_p
  glGetMaterialfv_s
  glGetMaterialiv_c
  glGetMaterialiv_p
  glGetMaterialiv_s
  glGetObjectParameterfvARB_c
  glGetObjectParameterfvARB_p
  glGetObjectParameterfvARB_s
  glGetObjectParameterivARB_c
  glGetObjectParameterivARB_p
  glGetObjectParameterivARB_s
  glGetPixelMapfv_c
  glGetPixelMapfv_p
  glGetPixelMapfv_s
  glGetPixelMapuiv_c
  glGetPixelMapuiv_p
  glGetPixelMapuiv_s
  glGetPixelMapusv_c
  glGetPixelMapusv_p
  glGetPixelMapusv_s
  glGetPointerv_c
  glGetPointerv_p
  glGetPointerv_s
  glGetPolygonStipple_c
  glGetPolygonStipple_p
  glGetPolygonStipple_s
  glGetProgramEnvParameterdvARB_c
  glGetProgramEnvParameterdvARB_p
  glGetProgramEnvParameterdvARB_s
  glGetProgramEnvParameterfvARB_c
  glGetProgramEnvParameterfvARB_p
  glGetProgramEnvParameterfvARB_s
  glGetProgramLocalParameterdvARB_c
  glGetProgramLocalParameterdvARB_p
  glGetProgramLocalParameterdvARB_s
  glGetProgramLocalParameterfvARB_c
  glGetProgramLocalParameterfvARB_p
  glGetProgramLocalParameterfvARB_s
  glGetProgramStringARB_c
  glGetProgramStringARB_p
  glGetProgramStringARB_s
  glGetProgramivARB_c
  glGetProgramivARB_p
  glGetProgramivARB_s
  glGetRenderbufferParameterivEXT_c
  glGetRenderbufferParameterivEXT_s
  glGetShaderSourceARB_c
  glGetShaderSourceARB_p
  glGetString
  glGetTexEnvfv_c
  glGetTexEnvfv_p
  glGetTexEnvfv_s
  glGetTexEnviv_c
  glGetTexEnviv_p
  glGetTexEnviv_s
  glGetTexGendv_c
  glGetTexGendv_p
  glGetTexGendv_s
  glGetTexGenfv_c
  glGetTexGenfv_p
  glGetTexGenfv_s
  glGetTexGeniv_c
  glGetTexGeniv_p
  glGetTexGeniv_s
  glGetTexImage_c
  glGetTexImage_p
  glGetTexImage_s
  glGetTexLevelParameterfv_c
  glGetTexLevelParameterfv_p
  glGetTexLevelParameterfv_s
  glGetTexLevelParameteriv_c
  glGetTexLevelParameteriv_p
  glGetTexLevelParameteriv_s
  glGetTexParameterfv_c
  glGetTexParameterfv_p
  glGetTexParameterfv_s
  glGetTexParameteriv_c
  glGetTexParameteriv_p
  glGetTexParameteriv_s
  glGetUniformLocationARB_c
  glGetUniformLocationARB_p
  glGetUniformfvARB_c
  glGetUniformfvARB_p
  glGetUniformivARB_c
  glGetUniformivARB_p
  glGetVertexAttribPointervARB_c
  glGetVertexAttribdvARB_c
  glGetVertexAttribdvARB_p
  glGetVertexAttribdvARB_s
  glGetVertexAttribfvARB_c
  glGetVertexAttribfvARB_p
  glGetVertexAttribfvARB_s
  glGetVertexAttribivARB_c
  glGetVertexAttribivARB_p
  glGetVertexAttribivARB_s
  glHint
  glIndexMask
  glIndexPointerEXT_c
  glIndexPointerEXT_p
  glIndexPointerEXT_s
  glIndexPointer_c
  glIndexd
  glIndexi
  glInitNames
  glInterleavedArrays_c
  glIsBufferARB
  glIsEnabled
  glIsFramebufferEXT
  glIsList
  glIsProgramARB
  glIsRenderbufferEXT
  glIsTexture
  glIsTextureEXT
  glLightModelf
  glLightModelfv_c
  glLightModelfv_p
  glLightModelfv_s
  glLightModeli
  glLightModeliv_c
  glLightModeliv_p
  glLightModeliv_s
  glLightf
  glLightfv_c
  glLightfv_p
  glLightfv_s
  glLighti
  glLightiv_c
  glLightiv_p
  glLightiv_s
  glLineStipple
  glLineWidth
  glLinkProgramARB
  glListBase
  glLoadIdentity
  glLoadMatrixd_c
  glLoadMatrixd_p
  glLoadMatrixd_s
  glLoadMatrixf_c
  glLoadMatrixf_p
  glLoadMatrixf_s
  glLoadName
  glLogicOp
  glMap1d_c
  glMap1d_p
  glMap1d_s
  glMap1f_c
  glMap1f_p
  glMap1f_s
  glMap2d_c
  glMap2d_p
  glMap2d_s
  glMap2f_c
  glMap2f_p
  glMap2f_s
  glMapBufferARB_c
  glMapBufferARB_p
  glMapGrid1d
  glMapGrid1f
  glMapGrid2d
  glMapGrid2f
  glMaterialf
  glMaterialfv_c
  glMaterialfv_p
  glMaterialfv_s
  glMateriali
  glMaterialiv_c
  glMaterialiv_p
  glMaterialiv_s
  glMatrixMode
  glMultMatrixd_p
  glMultMatrixf_p
  glMultiTexCoord1dARB
  glMultiTexCoord1dvARB_c
  glMultiTexCoord1dvARB_c
  glMultiTexCoord1dvARB_c
  glMultiTexCoord1fARB
  glMultiTexCoord1fvARB_c
  glMultiTexCoord1fvARB_c
  glMultiTexCoord1fvARB_c
  glMultiTexCoord1iARB
  glMultiTexCoord1ivARB_c
  glMultiTexCoord1ivARB_c
  glMultiTexCoord1ivARB_c
  glMultiTexCoord1sARB
  glMultiTexCoord1svARB_c
  glMultiTexCoord1svARB_c
  glMultiTexCoord1svARB_c
  glMultiTexCoord2dARB
  glMultiTexCoord2dvARB_c
  glMultiTexCoord2dvARB_c
  glMultiTexCoord2dvARB_c
  glMultiTexCoord2fARB
  glMultiTexCoord2fvARB_c
  glMultiTexCoord2fvARB_c
  glMultiTexCoord2fvARB_c
  glMultiTexCoord2iARB
  glMultiTexCoord2ivARB_c
  glMultiTexCoord2ivARB_c
  glMultiTexCoord2ivARB_c
  glMultiTexCoord2sARB
  glMultiTexCoord2svARB_c
  glMultiTexCoord2svARB_c
  glMultiTexCoord2svARB_c
  glMultiTexCoord3dARB
  glMultiTexCoord3dvARB_c
  glMultiTexCoord3dvARB_c
  glMultiTexCoord3dvARB_c
  glMultiTexCoord3fARB
  glMultiTexCoord3fvARB_c
  glMultiTexCoord3fvARB_c
  glMultiTexCoord3fvARB_c
  glMultiTexCoord3iARB
  glMultiTexCoord3ivARB_c
  glMultiTexCoord3ivARB_c
  glMultiTexCoord3ivARB_c
  glMultiTexCoord3sARB
  glMultiTexCoord3svARB_c
  glMultiTexCoord3svARB_c
  glMultiTexCoord3svARB_c
  glMultiTexCoord4dARB
  glMultiTexCoord4dvARB_c
  glMultiTexCoord4dvARB_c
  glMultiTexCoord4dvARB_c
  glMultiTexCoord4fARB
  glMultiTexCoord4fvARB_c
  glMultiTexCoord4fvARB_c
  glMultiTexCoord4fvARB_c
  glMultiTexCoord4iARB
  glMultiTexCoord4ivARB_c
  glMultiTexCoord4ivARB_c
  glMultiTexCoord4ivARB_c
  glMultiTexCoord4sARB
  glMultiTexCoord4svARB_c
  glMultiTexCoord4svARB_c
  glMultiTexCoord4svARB_c
  glNewList
  glNormal3b
  glNormal3bv_c
  glNormal3bv_p
  glNormal3bv_s
  glNormal3d
  glNormal3dv_c
  glNormal3dv_p
  glNormal3dv_s
  glNormal3f
  glNormal3fv_c
  glNormal3fv_p
  glNormal3fv_s
  glNormal3i
  glNormal3iv_c
  glNormal3iv_p
  glNormal3iv_s
  glNormal3s
  glNormal3sv_c
  glNormal3sv_p
  glNormal3sv_s
  glNormalPointerEXT_c
  glNormalPointerEXT_p
  glNormalPointerEXT_s
  glNormalPointer_c
  glOrtho
  glPassThrough
  glPixelMapfv_c
  glPixelMapfv_p
  glPixelMapfv_s
  glPixelMapuiv_c
  glPixelMapuiv_p
  glPixelMapuiv_s
  glPixelMapusv_c
  glPixelMapusv_p
  glPixelMapusv_s
  glPixelStoref
  glPixelStorei
  glPixelTransferf
  glPixelTransferi
  glPixelZoom
  glPointParameterfARB
  glPointParameterfvARB_c
  glPointParameterfvARB_p
  glPointParameterfvARB_s
  glPointSize
  glPolygonMode
  glPolygonOffset
  glPolygonOffsetEXT
  glPolygonStipple_c
  glPolygonStipple_p
  glPolygonStipple_s
  glPopAttrib
  glPopClientAttrib
  glPopMatrix
  glPopName
  glPrioritizeTexturesEXT_p
  glPrioritizeTextures_c
  glPrioritizeTextures_p
  glPrioritizeTextures_s
  glProgramEnvParameter4dARB
  glProgramEnvParameter4dvARB_c
  glProgramEnvParameter4dvARB_p
  glProgramEnvParameter4dvARB_s
  glProgramEnvParameter4fARB
  glProgramEnvParameter4fvARB_c
  glProgramEnvParameter4fvARB_p
  glProgramEnvParameter4fvARB_s
  glProgramLocalParameter4dARB
  glProgramLocalParameter4dvARB_c
  glProgramLocalParameter4dvARB_p
  glProgramLocalParameter4dvARB_s
  glProgramLocalParameter4fARB
  glProgramLocalParameter4fvARB_c
  glProgramLocalParameter4fvARB_p
  glProgramLocalParameter4fvARB_s
  glProgramStringARB_c
  glProgramStringARB_p
  glProgramStringARB_s
  glPushAttrib
  glPushClientAttrib
  glPushMatrix
  glPushName
  glRasterPos2d
  glRasterPos2dv_c
  glRasterPos2dv_p
  glRasterPos2dv_s
  glRasterPos2f
  glRasterPos2fv_c
  glRasterPos2fv_p
  glRasterPos2fv_s
  glRasterPos2i
  glRasterPos2iv_c
  glRasterPos2iv_p
  glRasterPos2iv_s
  glRasterPos2s
  glRasterPos2sv_c
  glRasterPos2sv_p
  glRasterPos2sv_s
  glRasterPos3d
  glRasterPos3dv_c
  glRasterPos3dv_p
  glRasterPos3dv_s
  glRasterPos3f
  glRasterPos3fv_c
  glRasterPos3fv_p
  glRasterPos3fv_s
  glRasterPos3i
  glRasterPos3iv_c
  glRasterPos3iv_p
  glRasterPos3iv_s
  glRasterPos3s
  glRasterPos3sv_c
  glRasterPos3sv_p
  glRasterPos3sv_s
  glRasterPos4d
  glRasterPos4dv_c
  glRasterPos4dv_p
  glRasterPos4dv_s
  glRasterPos4f
  glRasterPos4fv_c
  glRasterPos4fv_p
  glRasterPos4fv_s
  glRasterPos4i
  glRasterPos4iv_c
  glRasterPos4iv_p
  glRasterPos4iv_s
  glRasterPos4s
  glRasterPos4sv_c
  glRasterPos4sv_p
  glRasterPos4sv_s
  glReadBuffer
  glReadPixels_c
  glReadPixels_p
  glReadPixels_s
  glRectd
  glRectdv_c
  glRectdv_s
  glRectf
  glRectfv_c
  glRectfv_s
  glRecti
  glRectiv_c
  glRectiv_s
  glRects
  glRectsv_c
  glRectsv_s
  glRenderMode
  glRenderbufferStorageEXT
  glResizeBuffersMESA
  glRotated
  glRotatef
  glSampleCoverageARB
  glScaled
  glScalef
  glScissor
  glSelectBuffer_c
  glShadeModel
  glShaderSourceARB_c
  glShaderSourceARB_p
  glStencilFunc
  glStencilMask
  glStencilOp
  glTexCoord1d
  glTexCoord1dv_c
  glTexCoord1dv_p
  glTexCoord1dv_s
  glTexCoord1f
  glTexCoord1fv_c
  glTexCoord1fv_p
  glTexCoord1fv_s
  glTexCoord1i
  glTexCoord1iv_c
  glTexCoord1iv_p
  glTexCoord1iv_s
  glTexCoord1s
  glTexCoord1sv_c
  glTexCoord1sv_p
  glTexCoord1sv_s
  glTexCoord2d
  glTexCoord2dv_c
  glTexCoord2dv_p
  glTexCoord2dv_s
  glTexCoord2f
  glTexCoord2fv_c
  glTexCoord2fv_p
  glTexCoord2fv_s
  glTexCoord2i
  glTexCoord2iv_c
  glTexCoord2iv_p
  glTexCoord2iv_s
  glTexCoord2s
  glTexCoord2sv_c
  glTexCoord2sv_p
  glTexCoord2sv_s
  glTexCoord3d
  glTexCoord3dv_c
  glTexCoord3dv_p
  glTexCoord3dv_s
  glTexCoord3f
  glTexCoord3fv_c
  glTexCoord3fv_p
  glTexCoord3fv_s
  glTexCoord3i
  glTexCoord3iv_c
  glTexCoord3iv_p
  glTexCoord3iv_s
  glTexCoord3s
  glTexCoord3sv_c
  glTexCoord3sv_p
  glTexCoord3sv_s
  glTexCoord4d
  glTexCoord4dv_c
  glTexCoord4dv_p
  glTexCoord4dv_s
  glTexCoord4f
  glTexCoord4fv_c
  glTexCoord4fv_p
  glTexCoord4fv_s
  glTexCoord4i
  glTexCoord4iv_c
  glTexCoord4iv_p
  glTexCoord4iv_s
  glTexCoord4s
  glTexCoord4sv_c
  glTexCoord4sv_p
  glTexCoord4sv_s
  glTexCoordPointerEXT_c
  glTexCoordPointerEXT_p
  glTexCoordPointerEXT_s
  glTexCoordPointer_c
  glTexEnvf
  glTexEnvfv_p
  glTexEnvfv_s
  glTexEnvi
  glTexEnviv_p
  glTexEnviv_s
  glTexGend
  glTexGendv_c
  glTexGendv_p
  glTexGendv_s
  glTexGenf
  glTexGenfv_c
  glTexGenfv_p
  glTexGenfv_s
  glTexGeni
  glTexGeniv_c
  glTexGeniv_p
  glTexGeniv_s
  glTexImage1D_c
  glTexImage1D_p
  glTexImage1D_s
  glTexImage2D_c
  glTexImage2D_p
  glTexImage2D_s
  glTexImage3DEXT_c
  glTexImage3DEXT_p
  glTexImage3DEXT_s
  glTexImage3D_c
  glTexImage3D_p
  glTexImage3D_s
  glTexParameterf
  glTexParameterfv_c
  glTexParameterfv_p
  glTexParameterfv_s
  glTexParameteri
  glTexParameteriv_c
  glTexParameteriv_p
  glTexParameteriv_s
  glTexSubImage1DEXT_c
  glTexSubImage1DEXT_p
  glTexSubImage1DEXT_s
  glTexSubImage1D_c
  glTexSubImage1D_p
  glTexSubImage1D_s
  glTexSubImage2DEXT_c
  glTexSubImage2DEXT_p
  glTexSubImage2DEXT_s
  glTexSubImage2D_c
  glTexSubImage2D_p
  glTexSubImage2D_s
  glTexSubImage3D_c
  glTexSubImage3D_p
  glTexSubImage3D_s
  glTranslated
  glTranslatef
  glUniform1fARB
  glUniform1fvARB_c
  glUniform1fvARB_p
  glUniform1fvARB_s
  glUniform1iARB
  glUniform1ivARB_c
  glUniform1ivARB_p
  glUniform1ivARB_s
  glUniform2fARB
  glUniform2fvARB_c
  glUniform2fvARB_p
  glUniform2fvARB_s
  glUniform2iARB
  glUniform2ivARB_c
  glUniform2ivARB_p
  glUniform2ivARB_s
  glUniform3fARB
  glUniform3fvARB_c
  glUniform3fvARB_p
  glUniform3fvARB_s
  glUniform3iARB
  glUniform3ivARB_c
  glUniform3ivARB_p
  glUniform3ivARB_s
  glUniform4fARB
  glUniform4fvARB_c
  glUniform4fvARB_p
  glUniform4fvARB_s
  glUniform4iARB
  glUniform4ivARB_c
  glUniform4ivARB_p
  glUniform4ivARB_s
  glUniformMatrix2fvARB_c
  glUniformMatrix2fvARB_p
  glUniformMatrix2fvARB_s
  glUniformMatrix3fvARB_c
  glUniformMatrix3fvARB_p
  glUniformMatrix3fvARB_s
  glUniformMatrix4fvARB_c
  glUniformMatrix4fvARB_p
  glUniformMatrix4fvARB_s
  glUnmapBufferARB
  glUseProgramObjectARB
  glValidateProgramARB
  glVertex2d
  glVertex2dv_c
  glVertex2dv_p
  glVertex2dv_s
  glVertex2f
  glVertex2fv_c
  glVertex2fv_p
  glVertex2fv_s
  glVertex2i
  glVertex2iv_c
  glVertex2iv_p
  glVertex2iv_s
  glVertex2s
  glVertex2sv_c
  glVertex2sv_p
  glVertex2sv_s
  glVertex3d
  glVertex3dv_c
  glVertex3dv_p
  glVertex3dv_s
  glVertex3f
  glVertex3fv_c
  glVertex3fv_p
  glVertex3fv_s
  glVertex3i
  glVertex3iv_c
  glVertex3iv_p
  glVertex3iv_s
  glVertex3s
  glVertex3sv_c
  glVertex3sv_p
  glVertex3sv_s
  glVertex4d
  glVertex4dv_c
  glVertex4dv_p
  glVertex4dv_s
  glVertex4f
  glVertex4fv_c
  glVertex4fv_p
  glVertex4fv_s
  glVertex4i
  glVertex4iv_c
  glVertex4iv_p
  glVertex4iv_s
  glVertex4s
  glVertex4sv_c
  glVertex4sv_p
  glVertex4sv_s
  glVertexAttrib1dARB
  glVertexAttrib1dvARB_c
  glVertexAttrib1dvARB_p
  glVertexAttrib1dvARB_s
  glVertexAttrib1fARB
  glVertexAttrib1fvARB_c
  glVertexAttrib1fvARB_p
  glVertexAttrib1fvARB_s
  glVertexAttrib1sARB
  glVertexAttrib1svARB_c
  glVertexAttrib1svARB_p
  glVertexAttrib1svARB_s
  glVertexAttrib2dARB
  glVertexAttrib2dvARB_c
  glVertexAttrib2dvARB_p
  glVertexAttrib2dvARB_s
  glVertexAttrib2fARB
  glVertexAttrib2fvARB_c
  glVertexAttrib2fvARB_p
  glVertexAttrib2fvARB_s
  glVertexAttrib2sARB
  glVertexAttrib2svARB_c
  glVertexAttrib2svARB_p
  glVertexAttrib2svARB_s
  glVertexAttrib3dARB
  glVertexAttrib3dvARB_c
  glVertexAttrib3dvARB_p
  glVertexAttrib3dvARB_s
  glVertexAttrib3fARB
  glVertexAttrib3fvARB_c
  glVertexAttrib3fvARB_p
  glVertexAttrib3fvARB_s
  glVertexAttrib3sARB
  glVertexAttrib3svARB_c
  glVertexAttrib3svARB_p
  glVertexAttrib3svARB_s
  glVertexAttrib4NbvARB_c
  glVertexAttrib4NbvARB_p
  glVertexAttrib4NbvARB_s
  glVertexAttrib4NivARB_c
  glVertexAttrib4NivARB_p
  glVertexAttrib4NivARB_s
  glVertexAttrib4NsvARB_c
  glVertexAttrib4NsvARB_p
  glVertexAttrib4NsvARB_s
  glVertexAttrib4NubARB
  glVertexAttrib4NubvARB_c
  glVertexAttrib4NubvARB_p
  glVertexAttrib4NubvARB_s
  glVertexAttrib4NuivARB_c
  glVertexAttrib4NuivARB_p
  glVertexAttrib4NuivARB_s
  glVertexAttrib4NusvARB_c
  glVertexAttrib4NusvARB_p
  glVertexAttrib4NusvARB_s
  glVertexAttrib4bvARB_c
  glVertexAttrib4bvARB_p
  glVertexAttrib4bvARB_s
  glVertexAttrib4dARB
  glVertexAttrib4dvARB_c
  glVertexAttrib4dvARB_p
  glVertexAttrib4dvARB_s
  glVertexAttrib4fARB
  glVertexAttrib4fvARB_c
  glVertexAttrib4fvARB_p
  glVertexAttrib4fvARB_s
  glVertexAttrib4ivARB_c
  glVertexAttrib4ivARB_p
  glVertexAttrib4ivARB_s
  glVertexAttrib4sARB
  glVertexAttrib4svARB_c
  glVertexAttrib4svARB_p
  glVertexAttrib4svARB_s
  glVertexAttrib4ubvARB_c
  glVertexAttrib4ubvARB_p
  glVertexAttrib4ubvARB_s
  glVertexAttrib4uivARB_c
  glVertexAttrib4uivARB_p
  glVertexAttrib4uivARB_s
  glVertexAttrib4usvARB_c
  glVertexAttrib4usvARB_p
  glVertexAttrib4usvARB_s
  glVertexAttribPointerARB_c
  glVertexPointerEXT_c
  glVertexPointerEXT_p
  glVertexPointerEXT_s
  glVertexPointer_c
  glVertexPointer_p
  glVertexPointer_s
  glViewport
  glWindowPos2dMESA
  glWindowPos2iMESA
  glWindowPos3dMESA
  glWindowPos3iMESA
  glWindowPos4dMESA
  glWindowPos4iMESA

  glpCheckExtension
  glpFullScreen
  glpHasGLUT
  glpRestoreScreen

=head2 GLX functions

GLX is only supported to the degree that Stan's original module supported 
it. Without an entire X binding it is of limited use, and I recommend using 
GLUT/FreeGLUT instead.

  XPending              (X11 only)
  glXSwapBuffers        (X11 only)
  glpXNextEvent         (X11 only)
  glpXQueryPointer      (X11 only)

  glpcOpenWindow	(Not exported, must use fully qualified package name)

=head2 Old functions

  AlreadyGrabbed
  AnyModifier
  AsyncBoth
  AsyncKeyboard
  AsyncPointer
  Button1
  Button1Mask
  Button1MotionMask
  Button2
  Button2Mask
  Button2MotionMask
  Button3
  Button3Mask
  Button3MotionMask
  Button4
  Button4Mask
  Button4MotionMask
  Button5
  Button5Mask
  Button5MotionMask
  ButtonMotionMask
  ButtonPress
  ButtonPressMask
  ButtonRelease
  ButtonReleaseMask
  CirculateNotify
  CirculateRequest
  ClientMessage
  ColormapChangeMask
  ColormapInstalled
  ColormapNotify
  ColormapUninstalled
  ConfigureNotify
  ConfigureRequest
  ControlMapIndex
  ControlMask
  CreateNotify
  DestroyNotify
  DirectColor
  EnterNotify
  EnterWindowMask
  Expose
  ExposureMask
  FamilyChaos
  FamilyDECnet
  FamilyInternet
  FocusChangeMask
  FocusIn
  FocusOut
  GrabFrozen
  GrabInvalidTime
  GrabModeAsync
  GrabModeSync
  GrabNotViewable
  GrabSuccess
  GraphicsExpose
  GravityNotify
  GrayScale
  KeyPress
  KeyPressMask
  KeyRelease
  KeyReleaseMask
  KeymapNotify
  KeymapStateMask
  LASTEvent
  LeaveNotify
  LeaveWindowMask
  LockMapIndex
  LockMask
  MapNotify
  MapRequest
  MappingNotify
  Mod1MapIndex
  Mod1Mask
  Mod2MapIndex
  Mod2Mask
  Mod3MapIndex
  Mod3Mask
  Mod4MapIndex
  Mod4Mask
  Mod5MapIndex
  Mod5Mask
  MotionNotify
  NoEventMask
  NoExpose
  NotifyAncestor
  NotifyDetailNone
  NotifyGrab
  NotifyHint
  NotifyInferior
  NotifyNonlinear
  NotifyNonlinearVirtual
  NotifyNormal
  NotifyPointer
  NotifyPointerRoot
  NotifyUngrab
  NotifyVirtual
  NotifyWhileGrabbed
  OwnerGrabButtonMask
  PlaceOnBottom
  PlaceOnTop
  PointerMotionHintMask
  PointerMotionMask
  PropertyChangeMask
  PropertyDelete
  PropertyNewValue
  PropertyNotify
  PseudoColor
  ReparentNotify
  ReplayKeyboard
  ReplayPointer
  ResizeRedirectMask
  ResizeRequest
  SelectionClear
  SelectionNotify
  SelectionRequest
  ShiftMapIndex
  ShiftMask
  StaticColor
  StaticGray
  StructureNotifyMask
  SubstructureNotifyMask
  SubstructureRedirectMask
  SyncBoth
  SyncKeyboard
  SyncPointer
  TrueColor
  UnmapNotify
  VisibilityChangeMask
  VisibilityFullyObscured
  VisibilityNotify
  VisibilityPartiallyObscured
  VisibilityUnobscured
  XPending
  X_PROTOCOL
  X_PROTOCOL_REVISION
  glAccum
  glAlphaFunc
  glBegin
  glBitmap
  glBlendColorEXT
  glBlendEquationEXT
  glBlendFunc
  glCallList
  glCallLists
  glClear
  glClearAccum
  glClearColor
  glClearDepth
  glClearIndex
  glClearStencil
  glClipPlane
  glColor3b
  glColor3bv
  glColor3d
  glColor3dv
  glColor3f
  glColor3fv
  glColor3i
  glColor3iv
  glColor3s
  glColor3sv
  glColor3ub
  glColor3ubv
  glColor3ui
  glColor3uiv
  glColor3us
  glColor3usv
  glColor4b
  glColor4bv
  glColor4d
  glColor4dv
  glColor4f
  glColor4fv
  glColor4i
  glColor4iv
  glColor4s
  glColor4sv
  glColor4ub
  glColor4ubv
  glColor4ui
  glColor4uiv
  glColor4us
  glColor4usv
  glColorMask
  glColorMaterial
  glConvolutionFilter1DEXT
  glConvolutionFilter2DEXT
  glConvolutionParameterfEXT
  glConvolutionParameterfvEXT
  glConvolutionParameteriEXT
  glConvolutionParameterivEXT
  glCopyConvolutionFilter1DEXT
  glCopyConvolutionFilter2DEXT
  glCopyPixels
  glCullFace
  glDeleteLists
  glDepthFunc
  glDepthMask
  glDepthRange
  glDetailTexFuncSGIS
  glDisable
  glDrawBuffer
  glDrawPixels
  glEdgeFlag
  glEdgeFlagv
  glEnable
  glEnd
  glEndList
  glEvalCoord1d
  glEvalCoord1dv
  glEvalCoord1f
  glEvalCoord1fv
  glEvalCoord2d
  glEvalCoord2dv
  glEvalCoord2f
  glEvalCoord2fv
  glEvalMesh1
  glEvalMesh2
  glEvalPoint1
  glEvalPoint2
  glFeedbackBuffer
  glFinish
  glFlush
  glFogf
  glFogfv
  glFogi
  glFogiv
  glFrontFace
  glFrustum
  glGenLists
  glGetBooleanv
  glGetClipPlane
  glGetConvolutionFilterEXT
  glGetConvolutionParameterfvEXT
  glGetConvolutionParameterivEXT
  glGetDetailTexFuncSGIS
  glGetDoublev
  glGetError
  glGetFloatv
  glGetHistogramEXT
  glGetHistogramParameterfvEXT
  glGetHistogramParameterivEXT
  glGetIntegerv
  glGetLightfv
  glGetLightiv
  glGetMapdv
  glGetMapfv
  glGetMapiv
  glGetMaterialfv
  glGetMaterialiv
  glGetMinmaxEXT
  glGetMinmaxParameterfvEXT
  glGetMinmaxParameterivEXT
  glGetPixelMapfv
  glGetPixelMapuiv
  glGetPixelMapusv
  glGetPolygonStipple
  glGetSeparableFilterEXT
  glGetSharpenTexFuncSGIS
  glGetTexEnvfv
  glGetTexEnviv
  glGetTexGendv
  glGetTexGenfv
  glGetTexGeniv
  glGetTexImage
  glGetTexLevelParameterfv
  glGetTexLevelParameteriv
  glGetTexParameterfv
  glGetTexParameteriv
  glHint
  glHistogramEXT
  glIndexMask
  glIndexd
  glIndexdv
  glIndexf
  glIndexfv
  glIndexi
  glIndexiv
  glIndexs
  glIndexsv
  glInitNames
  glIsEnabled
  glIsList
  glLightModelf
  glLightModelfv
  glLightModeli
  glLightModeliv
  glLightf
  glLightfv
  glLighti
  glLightiv
  glLineStipple
  glLineWidth
  glListBase
  glLoadIdentity
  glLoadMatrixd
  glLoadMatrixf
  glLoadName
  glLogicOp
  glMap1d
  glMap1f
  glMap2d
  glMap2f
  glMapGrid1d
  glMapGrid1f
  glMapGrid2d
  glMapGrid2f
  glMaterialf
  glMaterialfv
  glMateriali
  glMaterialiv
  glMatrixMode
  glMinmaxEXT
  glMultMatrixd
  glMultMatrixf
  glNewList
  glNormal3b
  glNormal3bv
  glNormal3d
  glNormal3dv
  glNormal3f
  glNormal3fv
  glNormal3i
  glNormal3iv
  glNormal3s
  glNormal3sv
  glOrtho
  glPassThrough
  glPixelMapfv
  glPixelMapuiv
  glPixelMapusv
  glPixelStoref
  glPixelStorei
  glPixelTransferf
  glPixelTransferi
  glPixelZoom
  glPointSize
  glPolygonMode
  glPolygonOffsetEXT
  glPolygonStipple
  glPopAttrib
  glPopMatrix
  glPopName
  glPushAttrib
  glPushMatrix
  glPushName
  glRasterPos2d
  glRasterPos2dv
  glRasterPos2f
  glRasterPos2fv
  glRasterPos2i
  glRasterPos2iv
  glRasterPos2s
  glRasterPos2sv
  glRasterPos3d
  glRasterPos3dv
  glRasterPos3f
  glRasterPos3fv
  glRasterPos3i
  glRasterPos3iv
  glRasterPos3s
  glRasterPos3sv
  glRasterPos4d
  glRasterPos4dv
  glRasterPos4f
  glRasterPos4fv
  glRasterPos4i
  glRasterPos4iv
  glRasterPos4s
  glRasterPos4sv
  glReadBuffer
  glReadPixels
  glRectd
  glRectdv
  glRectf
  glRectfv
  glRecti
  glRectiv
  glRects
  glRectsv
  glRenderMode
  glResetHistogramEXT
  glResetMinmaxEXT
  glRotated
  glRotatef
  glSampleMaskSGIS
  glSamplePatternSGIS
  glScaled
  glScalef
  glScissor
  glSelectBuffer
  glSeparableFilter2DEXT
  glShadeModel
  glSharpenTexFuncSGIS
  glStencilFunc
  glStencilMask
  glStencilOp
  glTagSampleBufferSGIX
  glTexCoord1d
  glTexCoord1dv
  glTexCoord1f
  glTexCoord1fv
  glTexCoord1i
  glTexCoord1iv
  glTexCoord1s
  glTexCoord1sv
  glTexCoord2d
  glTexCoord2dv
  glTexCoord2f
  glTexCoord2fv
  glTexCoord2i
  glTexCoord2iv
  glTexCoord2s
  glTexCoord2sv
  glTexCoord3d
  glTexCoord3dv
  glTexCoord3f
  glTexCoord3fv
  glTexCoord3i
  glTexCoord3iv
  glTexCoord3s
  glTexCoord3sv
  glTexCoord4d
  glTexCoord4dv
  glTexCoord4f
  glTexCoord4fv
  glTexCoord4i
  glTexCoord4iv
  glTexCoord4s
  glTexCoord4sv
  glTexEnvf
  glTexEnvfv
  glTexEnvi
  glTexEnviv
  glTexGend
  glTexGendv
  glTexGenf
  glTexGenfv
  glTexGeni
  glTexGeniv
  glTexImage1D
  glTexImage2D
  glTexImage3DEXT
  glTexParameterf
  glTexParameterfv
  glTexParameteri
  glTexParameteriv
  glTexSubImage1DEXT
  glTexSubImage2DEXT
  glTexSubImage3DEXT
  glTranslated
  glTranslatef
  glVertex2d
  glVertex2dv
  glVertex2f
  glVertex2fv
  glVertex2i
  glVertex2iv
  glVertex2s
  glVertex2sv
  glVertex3d
  glVertex3dv
  glVertex3f
  glVertex3fv
  glVertex3i
  glVertex3iv
  glVertex3s
  glVertex3sv
  glVertex4d
  glVertex4dv
  glVertex4f
  glVertex4fv
  glVertex4i
  glVertex4iv
  glVertex4s
  glVertex4sv
  glViewport
  glXSwapBuffers        (X11 only)
  gluLookAt
  gluOrtho2D
  gluPerspective

=head2 "Perl" GL access shortcuts

  glpClipPlane
  glpDisplay            (X11 only)
  glpFlush
  glpFullScreen
  glpGetClipPlane
  glpLoadMatrixd
  glpLoadMatrixf
  glpMainLoop
  glpMoveResizeWindow   (X11 only)
  glpMoveWindow         (X11 only)
  glpMultMatrixd
  glpMultMatrixf
  glpOpenWindow         (X11 only)
  glpPrintString	(from PDL)
  glpRasterFont 	(from PDL, X11 only)
  glpReadTex
  glpResizeWindow       (X11 only)
  glpRestoreScreen
  glpSetDebug		(from PDL)
  glpSolidSphere
  glpXNextEvent         (X11 only)
  glpXQueryPointer      (X11 only)

glpOpenWindow() provides the preferred interface to glpcOpenWindow().
Both these functions have a special (mis)feature to handle cases when
one does not need double buffering: if no GLX_DOUBLEBUFFER is specified,
I<and> creation of a "visual" fails, the creation is retried I<with>
GLX_DOUBLEBUFFER specified (to make it easier to support implementation
which do not have SINGLEBUFFER visuals - which is typical on Suns).

Since "finishing drawing" with and without GLX_DOUBLEBUFFER should be
done in different ways, a convenience function glpFlush() is provided;
it operates the same as glFlush() if no enable-GLX_DOUBLEBUFFER hack
was need, otherwise it acts as glFlush() followed by
glXSwapBuffers().  This function should be used only in the case no
GLX_DOUBLEBUFFER attribute was given to glpOpenWindow().

Additionally, in absence of GLUT, glpSolidSphere() is aliased to
glutSolidSphere(), to make writing simple portable backward-compatible
scripts easier.

=head1 Historical Compatibility

The original OpenGL-0.4 library, written by Stan Melax, was releaseed to
CPAN on 16-Feb-1996.

The OpenGL-0.5 library, by Kenneth Albanowski, was released to CPAN
on 24-Apr-1999.

Ilya Zakharevich released OpenGL-0.53 on 05-Nov-2000 and and OpenGL-0.54
on 26-May-2002.

Bob Free has been responsible for the OpenGL module development starting
with OpenGL-0.55 on 26-Apr-2007.

Chris Marshall has been responsible for the OpenGL module development
starting with OpenGL-0.58 on 06-Sep-2009.

Compatibility with these earlier libraries is in a state of flux with
with on-going work to refactor the Perl OpenGL module to improve support
for other GUI toolkits with Perl bindings and to update the version of
OpenGL API supported. 

=head1 EXPORTS

The following tags can be used to selectively import symbols into the main namespace.

=over

=item :all

Exports all symbols (constants and functions).

=item :functions

Exports all functions.

=item :constants

Exports all constants.

=item :glfunctions

Exports all B<gl*> functions.

=item :glconstants

Exports all symbols needed for the B<gl*> functions.

=item :glufunctions

Exports all B<glu*> functions.

=item :gluconstants

Exports all symbols needed for the B<glu*> functions.

=item :glutfunctions

Exports all B<glut*> functions.

=item :glutconstants

Exports all symbols needed for the B<glut*> functions.

=item :glxfunctions

Exports all B<glx*> functions.  No longer exports C<glpcOpenWindow()>.

=item :glxconstants

Exports all symbols needed for the B<glx*> functions.

=item :old

Exports all old functions and constants.

=item :oldfunctions

Exports all old functions.

=item :oldconstants

Exports all symbols needed for the old functions.

=back

=head1 AUTHORS

Primary OpenGL Maintainer Chris Marshall (PAUSE id CHM)
Co-Maintainer: Bob "grafman" Free - http://graphcomp.com/opengl

Original Author: Stan Melax 

Primary author of 0.50: Kenneth Albanowski; derived from Stan's 
OpenGL 0.4, with pinches of Cass Everitt's OpenGL work.

Copyright (c) 1998,1999 Kenneth Albanowski. All rights reserved.

Copyright (c) 2000 Ilya Zakharevich. All rights reserved.

Windows port: Jean-Louis Morel - http://www.bribes.org/perl/wopengl.html

Primary author of 0.55+: Bob Free; added support for 52 OpenGL extensions,
including FBO, VBO and Vertex/Fragment Programs.

Copyright (c) 2007 Bob Free. All rights reserved.

Contributing developer of 0.57+: Chris Marshall: cygwin port, PDL integration, release support.
Copyright (c) 2009 Christopher Marshall. All rights reserved.

MacOSX port: Sherm Pendley

FreeBSD support: Nomura-san


This program is free software; you can redistribute it and/or modify it 
under the same terms as Perl itself.


=head1 DISTRIBUTIONS

POGL Project site: L<http://sourceforge.net/projects/pogl/>

=head1 OTHER DOCUMENTATION

Documentation, tips, sample source, benchmarks and available at
L<http://graphcomp.com/opengl>.

=head2 SOURCE

  CPAN: http://search.cpan.org/~chm/
  GIT:  git clone git://git.code.sf.net/p/pogl/code pogl-code (Read only)
  TARBALL: http://sourceforge.net/p/pogl/code/ci/master/tarball

=head2 WINDOWS BINARIES

  For 32-bit perls 5.8.x and later:
    ppm install http://www.sisyphusion.tk/ppm/OpenGL.ppd
  
  For 64-bit perls 5.8.x and later:
    ppm install http://www.sisyphusion.tk/ppm/OpenGL.ppd