-
Notifications
You must be signed in to change notification settings - Fork 1
/
OpenGL.pck.st
8945 lines (7684 loc) · 362 KB
/
OpenGL.pck.st
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
'From Cuis 4.2 of 25 July 2013 [latest update: #2400] on 6 July 2015 at 4:29:03.102449 am'!
'Description Originally based on OpenGL-Core-jrd.6.mcz and have merged in some of the changes from OpenGL-Core-bf.17.mcz. Requires 3DTransform and FFI.
'!
!provides: 'OpenGL' 1 2!
!requires: 'FFI' 1 8 nil!
!requires: '3DTransform' 1 1 nil!
!classDefinition: #GLExtConstants category: #'OpenGL-Pools'!
SharedPool subclass: #GLExtConstants
instanceVariableNames: ''
classVariableNames: 'GLArrayBufferARB GLArrayBufferBindingARB GLArrayElementLockCountEXT GLArrayElementLockFirstEXT GLBoolARB GLBoolVec2ARB GLBoolVec3ARB GLBoolVec4ARB GLBufferAccessARB GLBufferMappedARB GLBufferSizeARB GLBufferUsageARB GLColorArrayBufferBindingARB GLColorAttachment0EXT GLColorAttachment10EXT GLColorAttachment11EXT GLColorAttachment12EXT GLColorAttachment13EXT GLColorAttachment14EXT GLColorAttachment15EXT GLColorAttachment1EXT GLColorAttachment2EXT GLColorAttachment3EXT GLColorAttachment4EXT GLColorAttachment5EXT GLColorAttachment6EXT GLColorAttachment7EXT GLColorAttachment8EXT GLColorAttachment9EXT GLColorSumARB GLCompressedAlphaARB GLCompressedIntensityARB GLCompressedLuminanceARB GLCompressedLuminanceAlphaARB GLCompressedRgbARB GLCompressedRgbS3tcDxt1EXT GLCompressedRgbaARB GLCompressedRgbaS3tcDxt1EXT GLCompressedRgbaS3tcDxt3EXT GLCompressedRgbaS3tcDxt5EXT GLCompressedTextureFormatsARB GLCurrentMatrixARB GLCurrentMatrixStackDepthARB GLCurrentVertexAttribARB GLDepthAttachmentEXT GLDrawFramebufferBindingEXT GLDrawFramebufferEXT GLDynamicCopyARB GLDynamicDrawARB GLDynamicReadARB GLEdgeFlagArrayBufferBindingARB GLElementArrayBufferARB GLElementArrayBufferBindingARB GLFloatMat2ARB GLFloatMat3ARB GLFloatMat4ARB GLFloatVec2ARB GLFloatVec3ARB GLFloatVec4ARB GLFogCoordinateArrayBufferBindingARB GLFragmentShaderARB GLFragmentShaderDerivativeHintARB GLFramebufferAttachmentObjectNameEXT GLFramebufferAttachmentObjectTypeEXT GLFramebufferAttachmentTexture3dZoffsetEXT GLFramebufferAttachmentTextureCubeMapFaceEXT GLFramebufferAttachmentTextureLevelEXT GLFramebufferBindingEXT GLFramebufferCompleteEXT GLFramebufferEXT GLFramebufferIncompleteAttachmentEXT GLFramebufferIncompleteDimensionsEXT GLFramebufferIncompleteDrawBufferEXT GLFramebufferIncompleteFormatsEXT GLFramebufferIncompleteMissingAttachmentEXT GLFramebufferIncompleteReadBufferEXT GLFramebufferUnsupportedEXT GLGenerateMipmapHintSGIS GLGenerateMipmapSGIS GLIndexArrayBufferBindingARB GLIntVec2ARB GLIntVec3ARB GLIntVec4ARB GLInvalidFramebufferOperationEXT GLMatrix0ARB GLMatrix10ARB GLMatrix11ARB GLMatrix12ARB GLMatrix13ARB GLMatrix14ARB GLMatrix15ARB GLMatrix16ARB GLMatrix17ARB GLMatrix18ARB GLMatrix19ARB GLMatrix1ARB GLMatrix20ARB GLMatrix21ARB GLMatrix22ARB GLMatrix23ARB GLMatrix24ARB GLMatrix25ARB GLMatrix26ARB GLMatrix27ARB GLMatrix28ARB GLMatrix29ARB GLMatrix2ARB GLMatrix30ARB GLMatrix31ARB GLMatrix3ARB GLMatrix4ARB GLMatrix5ARB GLMatrix6ARB GLMatrix7ARB GLMatrix8ARB GLMatrix9ARB GLMaxColorAttachmentsEXT GLMaxCombinedTextureImageUnitsARB GLMaxFragmentUniformComponentsARB GLMaxProgramAddressRegistersARB GLMaxProgramAttribsARB GLMaxProgramEnvParametersARB GLMaxProgramInstructionsARB GLMaxProgramLocalParametersARB GLMaxProgramMatricesARB GLMaxProgramMatrixStackDepthARB GLMaxProgramNativeAddressRegistersARB GLMaxProgramNativeAttribsARB GLMaxProgramNativeInstructionsARB GLMaxProgramNativeParametersARB GLMaxProgramNativeTemporariesARB GLMaxProgramParametersARB GLMaxProgramTemporariesARB GLMaxRenderbufferSizeEXT GLMaxTextureCoordsARB GLMaxTextureImageUnitsARB GLMaxVaryingFloatsARB GLMaxVertexAttribsARB GLMaxVertexTextureImageUnitsARB GLMaxVertexUniformComponentsARB GLMultisampleARB GLMultisampleFilterHintNV GLNormalArrayBufferBindingARB GLNumCompressedTextureFormatsARB GLObjectActiveAttributeMaxLengthARB GLObjectActiveAttributesARB GLObjectActiveUniformMaxLengthARB GLObjectActiveUniformsARB GLObjectAttachedObjectsARB GLObjectCompileStatusARB GLObjectDeleteStatusARB GLObjectInfoLogLengthARB GLObjectLinkStatusARB GLObjectShaderSourceLengthARB GLObjectSubtypeARB GLObjectTypeARB GLObjectValidateStatusARB GLProgramAddressRegistersARB GLProgramAttribsARB GLProgramBindingARB GLProgramErrorPositionARB GLProgramErrorStringARB GLProgramFormatARB GLProgramFormatAsciiARB GLProgramInstructionsARB GLProgramLengthARB GLProgramNativeAddressRegistersARB GLProgramNativeAttribsARB GLProgramNativeInstructionsARB GLProgramNativeParametersARB GLProgramNativeTemporariesARB GLProgramObjectARB GLProgramParametersARB GLProgramStringARB GLProgramTemporariesARB GLProgramUnderNativeLimitsARB GLReadFramebufferBindingEXT GLReadFramebufferEXT GLReadOnlyARB GLReadWriteARB GLRenderbufferAlphaSizeEXT GLRenderbufferBindingEXT GLRenderbufferBlueSizeEXT GLRenderbufferDepthSizeEXT GLRenderbufferEXT GLRenderbufferGreenSizeEXT GLRenderbufferHeightEXT GLRenderbufferInternalFormatEXT GLRenderbufferRedSizeEXT GLRenderbufferStencilSizeEXT GLRenderbufferWidthEXT GLSampler1dARB GLSampler1dShadowARB GLSampler2dARB GLSampler2dRectARB GLSampler2dRectShadowARB GLSampler2dShadowARB GLSampler3dARB GLSamplerCubeARB GLSecondaryColorArrayBufferBindingARB GLShaderObjectARB GLStaticCopyARB GLStaticDrawARB GLStaticReadARB GLStencilAttachmentEXT GLStencilIndex16EXT GLStencilIndex1EXT GLStencilIndex4EXT GLStencilIndex8EXT GLStreamCopyARB GLStreamDrawARB GLStreamReadARB GLTextureCompressedARB GLTextureCompressedImageSizeARB GLTextureCompressionHintARB GLTextureCoordArrayBufferBindingARB GLTransposeCurrentMatrixARB GLVertexArrayBufferBindingARB GLVertexAttribArrayBufferBindingARB GLVertexAttribArrayEnabledARB GLVertexAttribArrayNormalizedARB GLVertexAttribArrayPointerARB GLVertexAttribArraySizeARB GLVertexAttribArrayStrideARB GLVertexAttribArrayTypeARB GLVertexProgramARB GLVertexProgramPointSizeARB GLVertexProgramTwoSideARB GLVertexShaderARB GLWeightArrayBufferBindingARB GLWriteOnlyARB'
poolDictionaries: ''
category: 'OpenGL-Pools'!
!classDefinition: 'GLExtConstants class' category: #'OpenGL-Pools'!
GLExtConstants class
instanceVariableNames: ''!
!classDefinition: #OpenGLConstants category: #'OpenGL-Pools'!
SharedPool subclass: #OpenGLConstants
instanceVariableNames: ''
classVariableNames: 'GL2Bytes GL2d GL3Bytes GL3d GL3dColor GL3dColorTexture GL4Bytes GL4dColorTexture GLAbgrExt GLAccum GLAccumAlphaBits GLAccumBlueBits GLAccumBufferBit GLAccumClearValue GLAccumGreenBits GLAccumRedBits GLActiveTextureArb GLAdd GLAddSignedExt GLAliasedLineWidthRange GLAliasedPointSizeRange GLAllAttribBits GLAlpha GLAlpha12 GLAlpha16 GLAlpha4 GLAlpha8 GLAlphaBias GLAlphaBits GLAlphaScale GLAlphaTest GLAlphaTestFunc GLAlphaTestRef GLAlways GLAmbient GLAmbientAndDiffuse GLAnd GLAndInverted GLAndReverse GLAttribStackDepth GLAutoNormal GLAux0 GLAux1 GLAux2 GLAux3 GLAuxBuffers GLBack GLBackLeft GLBackRight GLBgr GLBgra GLBitmap GLBitmapToken GLBlend GLBlendColor GLBlendColorExt GLBlendDst GLBlendEquation GLBlendEquationExt GLBlendSrc GLBlue GLBlueBias GLBlueBits GLBlueScale GLByte GLC3fV3f GLC4fN3fV3f GLC4ubV2f GLC4ubV3f GLCcw GLClamp GLClampToEdge GLClear GLClientActiveTextureArb GLClientAllAttribBits GLClientAttribStackDepth GLClientPixelStoreBit GLClientVertexArrayBit GLClipPlane0 GLClipPlane1 GLClipPlane2 GLClipPlane3 GLClipPlane4 GLClipPlane5 GLCoeff GLColor GLColorArray GLColorArrayPointer GLColorArraySize GLColorArrayStride GLColorArrayType GLColorBufferBit GLColorClearValue GLColorIndex GLColorIndexes GLColorLogicOp GLColorMaterial GLColorMaterialFace GLColorMaterialParameter GLColorMatrix GLColorMatrixStackDepth GLColorTable GLColorTableAlphaSize GLColorTableBias GLColorTableBlueSize GLColorTableFormat GLColorTableGreenSize GLColorTableIntensitySize GLColorTableLuminanceSize GLColorTableRedSize GLColorTableScale GLColorTableWidth GLColorWritemask GLCombineAlphaExt GLCombineExt GLCombineRgbExt GLCompile GLCompileAndExecute GLConstantAlpha GLConstantAlphaExt GLConstantAttenuation GLConstantBorder GLConstantColor GLConstantColorExt GLConstantExt GLConvolution1d GLConvolution2d GLConvolutionBorderColor GLConvolutionBorderMode GLConvolutionFilterBias GLConvolutionFilterScale GLConvolutionFormat GLConvolutionHeight GLConvolutionWidth GLCopy GLCopyInverted GLCopyPixelToken GLCullFace GLCullFaceMode GLCurrentBit GLCurrentColor GLCurrentIndex GLCurrentNormal GLCurrentRasterColor GLCurrentRasterDistance GLCurrentRasterIndex GLCurrentRasterPosition GLCurrentRasterPositionValid GLCurrentRasterTextureCoords GLCurrentTextureCoords GLCw GLDecal GLDecr GLDepth GLDepthBias GLDepthBits GLDepthBufferBit GLDepthClearValue GLDepthComponent GLDepthFunc GLDepthRange GLDepthScale GLDepthTest GLDepthWritemask GLDiffuse GLDither GLDomain GLDontCare GLDouble GLDoublebuffer GLDrawBuffer GLDrawPixelToken GLDstAlpha GLDstColor GLEdgeFlag GLEdgeFlagArray GLEdgeFlagArrayPointer GLEdgeFlagArrayStride GLEmission GLEnableBit GLEqual GLEquiv GLEvalBit GLExp GLExp2 GLExtAbgr GLExtBlendColor GLExtBlendMinmax GLExtBlendSubtract GLExtTextureEnvAdd GLExtTextureEnvCombine GLExtensions GLEyeLinear GLEyePlane GLFalse GLFastest GLFeedback GLFeedbackBufferPointer GLFeedbackBufferSize GLFeedbackBufferType GLFill GLFlat GLFloat GLFog GLFogBit GLFogColor GLFogDensity GLFogEnd GLFogHint GLFogIndex GLFogMode GLFogStart GLFront GLFrontAndBack GLFrontFace GLFrontLeft GLFrontRight GLFuncAdd GLFuncAddExt GLFuncReverseSubtract GLFuncReverseSubtractExt GLFuncSubtract GLFuncSubtractExt GLGequal GLGreater GLGreen GLGreenBias GLGreenBits GLGreenScale GLHintBit GLHistogram GLHistogramAlphaSize GLHistogramBlueSize GLHistogramFormat GLHistogramGreenSize GLHistogramLuminanceSize GLHistogramRedSize GLHistogramSink GLHistogramWidth GLIncr GLIndexArray GLIndexArrayPointer GLIndexArrayStride GLIndexArrayType GLIndexBits GLIndexClearValue GLIndexLogicOp GLIndexMode GLIndexOffset GLIndexShift GLIndexWritemask GLInt GLIntensity GLIntensity12 GLIntensity16 GLIntensity4 GLIntensity8 GLInterpolateExt GLInvalidEnum GLInvalidOperation GLInvalidValue GLInvert GLKeep GLLeft GLLequal GLLess GLLight0 GLLight1 GLLight2 GLLight3 GLLight4 GLLight5 GLLight6 GLLight7 GLLightModelAmbient GLLightModelColorControl GLLightModelLocalViewer GLLightModelTwoSide GLLighting GLLightingBit GLLine GLLineBit GLLineLoop GLLineResetToken GLLineSmooth GLLineSmoothHint GLLineStipple GLLineStipplePattern GLLineStippleRepeat GLLineStrip GLLineToken GLLineWidth GLLineWidthGranularity GLLineWidthRange GLLinear GLLinearAttenuation GLLinearMipmapLinear GLLinearMipmapNearest GLLines GLListBase GLListBit GLListIndex GLListMode GLLoad GLLogicOp GLLogicOpMode GLLuminance GLLuminance12 GLLuminance12Alpha12 GLLuminance12Alpha4 GLLuminance16 GLLuminance16Alpha16 GLLuminance4 GLLuminance4Alpha4 GLLuminance6Alpha2 GLLuminance8 GLLuminance8Alpha8 GLLuminanceAlpha GLMap1Color4 GLMap1GridDomain GLMap1GridSegments GLMap1Index GLMap1Normal GLMap1TextureCoord1 GLMap1TextureCoord2 GLMap1TextureCoord3 GLMap1TextureCoord4 GLMap1Vertex3 GLMap1Vertex4 GLMap2Color4 GLMap2GridDomain GLMap2GridSegments GLMap2Index GLMap2Normal GLMap2TextureCoord1 GLMap2TextureCoord2 GLMap2TextureCoord3 GLMap2TextureCoord4 GLMap2Vertex3 GLMap2Vertex4 GLMapColor GLMapStencil GLMatrixMode GLMax GLMax3dTextureSize GLMaxAttribStackDepth GLMaxClientAttribStackDepth GLMaxClipPlanes GLMaxColorMatrixStackDepth GLMaxConvolutionHeight GLMaxConvolutionWidth GLMaxElementsIndices GLMaxElementsVertices GLMaxEvalOrder GLMaxExt GLMaxLights GLMaxListNesting GLMaxModelviewStackDepth GLMaxNameStackDepth GLMaxPixelMapTable GLMaxProjectionStackDepth GLMaxTextureSize GLMaxTextureStackDepth GLMaxTextureUnitsArb GLMaxViewportDims GLMin GLMinExt GLMinmax GLMinmaxFormat GLMinmaxSink GLModelview GLModelviewMatrix GLModelviewStackDepth GLModulate GLMult GLN3fV3f GLNameStackDepth GLNand GLNearest GLNearestMipmapLinear GLNearestMipmapNearest GLNever GLNicest GLNoError GLNone GLNoop GLNor GLNormalArray GLNormalArrayPointer GLNormalArrayStride GLNormalArrayType GLNormalize GLNotequal GLObjectLinear GLObjectPlane GLOne GLOneMinusConstantAlpha GLOneMinusConstantAlphaExt GLOneMinusConstantColor GLOneMinusConstantColorExt GLOneMinusDstAlpha GLOneMinusDstColor GLOneMinusSrcAlpha GLOneMinusSrcColor GLOperand0AlphaExt GLOperand0RgbExt GLOperand1AlphaExt GLOperand1RgbExt GLOperand2AlphaExt GLOperand2RgbExt GLOr GLOrInverted GLOrReverse GLOrder GLOutOfMemory GLPackAlignment GLPackImageHeight GLPackLsbFirst GLPackRowLength GLPackSkipImages GLPackSkipPixels GLPackSkipRows GLPackSwapBytes GLPassThroughToken GLPerspectiveCorrectionHint GLPixelMapAToA GLPixelMapAToASize GLPixelMapBToB GLPixelMapBToBSize GLPixelMapGToG GLPixelMapGToGSize GLPixelMapIToA GLPixelMapIToASize GLPixelMapIToB GLPixelMapIToBSize GLPixelMapIToG GLPixelMapIToGSize GLPixelMapIToI GLPixelMapIToISize GLPixelMapIToR GLPixelMapIToRSize GLPixelMapRToR GLPixelMapRToRSize GLPixelMapSToS GLPixelMapSToSSize GLPixelModeBit GLPoint GLPointBit GLPointSize GLPointSizeGranularity GLPointSizeRange GLPointSmooth GLPointSmoothHint GLPointToken GLPoints GLPolygon GLPolygonBit GLPolygonMode GLPolygonOffsetFactor GLPolygonOffsetFill GLPolygonOffsetLine GLPolygonOffsetPoint GLPolygonOffsetUnits GLPolygonSmooth GLPolygonSmoothHint GLPolygonStipple GLPolygonStippleBit GLPolygonToken GLPosition GLPostColorMatrixAlphaBias GLPostColorMatrixAlphaScale GLPostColorMatrixBlueBias GLPostColorMatrixBlueScale GLPostColorMatrixColorTable GLPostColorMatrixGreenBias GLPostColorMatrixGreenScale GLPostColorMatrixRedBias GLPostColorMatrixRedScale GLPostConvolutionAlphaBias GLPostConvolutionAlphaScale GLPostConvolutionBlueBias GLPostConvolutionBlueScale GLPostConvolutionColorTable GLPostConvolutionGreenBias GLPostConvolutionGreenScale GLPostConvolutionRedBias GLPostConvolutionRedScale GLPreviousExt GLPrimaryColorExt GLProjection GLProjectionMatrix GLProjectionStackDepth GLProxyColorTable GLProxyHistogram GLProxyPostColorMatrixColorTable GLProxyPostConvolutionColorTable GLProxyTexture1d GLProxyTexture2d GLProxyTexture3d GLQ GLQuadStrip GLQuadraticAttenuation GLQuads GLR GLR3G3B2 GLReadBuffer GLRed GLRedBias GLRedBits GLRedScale GLReduce GLRender GLRenderMode GLRenderer GLRepeat GLReplace GLReplicateBorder GLRescaleNormal GLReturn GLRgb GLRgb10 GLRgb10A2 GLRgb12 GLRgb16 GLRgb4 GLRgb5 GLRgb5A1 GLRgb8 GLRgbScaleExt GLRgba GLRgba12 GLRgba16 GLRgba2 GLRgba4 GLRgba8 GLRgbaMode GLRight GLS GLScissorBit GLScissorBox GLScissorTest GLSelect GLSelectionBufferPointer GLSelectionBufferSize GLSeparable2d GLSeparateSpecularColor GLSet GLShadeModel GLShininess GLShort GLSingleColor GLSmooth GLSmoothLineWidthGranularity GLSmoothLineWidthRange GLSmoothPointSizeGranularity GLSmoothPointSizeRange GLSource0AlphaExt GLSource0RgbExt GLSource1AlphaExt GLSource1RgbExt GLSource2AlphaExt GLSource2RgbExt GLSpecular GLSphereMap GLSpotCutoff GLSpotDirection GLSpotExponent GLSrcAlpha GLSrcAlphaSaturate GLSrcColor GLStackOverflow GLStackUnderflow GLStencil GLStencilBits GLStencilBufferBit GLStencilClearValue GLStencilFail GLStencilFunc GLStencilIndex GLStencilPassDepthFail GLStencilPassDepthPass GLStencilRef GLStencilTest GLStencilValueMask GLStencilWritemask GLStereo GLSubpixelBits GLT GLT2fC3fV3f GLT2fC4fN3fV3f GLT2fC4ubV3f GLT2fN3fV3f GLT2fV3f GLT4fC4fN3fV4f GLT4fV4f GLTableTooLarge GLTexture GLTexture0Arb GLTexture10Arb GLTexture11Arb GLTexture12Arb GLTexture13Arb GLTexture14Arb GLTexture15Arb GLTexture16Arb GLTexture17Arb GLTexture18Arb GLTexture19Arb GLTexture1Arb GLTexture1d GLTexture20Arb GLTexture21Arb GLTexture22Arb GLTexture23Arb GLTexture24Arb GLTexture25Arb GLTexture26Arb GLTexture27Arb GLTexture28Arb GLTexture29Arb GLTexture2Arb GLTexture2d GLTexture30Arb GLTexture31Arb GLTexture3Arb GLTexture3d GLTexture4Arb GLTexture5Arb GLTexture6Arb GLTexture7Arb GLTexture8Arb GLTexture9Arb GLTextureAlphaSize GLTextureBaseLevel GLTextureBinding1d GLTextureBinding2d GLTextureBinding3d GLTextureBit GLTextureBlueSize GLTextureBorder GLTextureBorderColor GLTextureComponents GLTextureCoordArray GLTextureCoordArrayPointer GLTextureCoordArraySize GLTextureCoordArrayStride GLTextureCoordArrayType GLTextureDepth GLTextureEnv GLTextureEnvColor GLTextureEnvMode GLTextureGenMode GLTextureGenQ GLTextureGenR GLTextureGenS GLTextureGenT GLTextureGreenSize GLTextureHeight GLTextureIntensitySize GLTextureInternalFormat GLTextureLuminanceSize GLTextureMagFilter GLTextureMatrix GLTextureMaxLevel GLTextureMaxLod GLTextureMinFilter GLTextureMinLod GLTexturePriority GLTextureRedSize GLTextureResident GLTextureStackDepth GLTextureWidth GLTextureWrapR GLTextureWrapS GLTextureWrapT GLTransformBit GLTriangleFan GLTriangleStrip GLTriangles GLTrue GLUnpackAlignment GLUnpackImageHeight GLUnpackLsbFirst GLUnpackRowLength GLUnpackSkipImages GLUnpackSkipPixels GLUnpackSkipRows GLUnpackSwapBytes GLUnsignedByte GLUnsignedByte233Rev GLUnsignedByte332 GLUnsignedInt GLUnsignedInt1010102 GLUnsignedInt2101010Rev GLUnsignedInt8888 GLUnsignedInt8888Rev GLUnsignedShort GLUnsignedShort1555Rev GLUnsignedShort4444 GLUnsignedShort4444Rev GLUnsignedShort5551 GLUnsignedShort565 GLUnsignedShort565Rev GLV2f GLV3f GLVendor GLVersion GLVertexArray GLVertexArrayPointer GLVertexArraySize GLVertexArrayStride GLVertexArrayType GLViewport GLViewportBit GLXor GLZero GLZoomX GLZoomY TAlpha TAlphaNoAlpha TNoAlpha'
poolDictionaries: ''
category: 'OpenGL-Pools'!
!classDefinition: 'OpenGLConstants class' category: #'OpenGL-Pools'!
OpenGLConstants class
instanceVariableNames: ''!
!classDefinition: #OGLExtManager category: #'OpenGL-Core'!
Object subclass: #OGLExtManager
instanceVariableNames: 'ogl'
classVariableNames: ''
poolDictionaries: 'GLExtConstants'
category: 'OpenGL-Core'!
!classDefinition: 'OGLExtManager class' category: #'OpenGL-Core'!
OGLExtManager class
instanceVariableNames: ''!
!classDefinition: #OGLFontManager category: #'OpenGL-Core'!
Object subclass: #OGLFontManager
instanceVariableNames: 'glx fonts charList'
classVariableNames: ''
poolDictionaries: 'OpenGLConstants'
category: 'OpenGL-Core'!
!classDefinition: 'OGLFontManager class' category: #'OpenGL-Core'!
OGLFontManager class
instanceVariableNames: ''!
!classDefinition: #OGLShaderManager category: #'OpenGL-Core'!
Object subclass: #OGLShaderManager
instanceVariableNames: 'ogl programObjects'
classVariableNames: ''
poolDictionaries: 'OpenGLConstants GLExtConstants'
category: 'OpenGL-Core'!
!classDefinition: 'OGLShaderManager class' category: #'OpenGL-Core'!
OGLShaderManager class
instanceVariableNames: ''!
!classDefinition: #OGLTextureHandle category: #'OpenGL-Core'!
Object subclass: #OGLTextureHandle
instanceVariableNames: 'glID objectID target timeStamp scaledSize bytesUsed allocated'
classVariableNames: ''
poolDictionaries: 'OpenGLConstants'
category: 'OpenGL-Core'!
!classDefinition: 'OGLTextureHandle class' category: #'OpenGL-Core'!
OGLTextureHandle class
instanceVariableNames: ''!
!classDefinition: #OGLTextureManager category: #'OpenGL-Core'!
Object subclass: #OGLTextureManager
instanceVariableNames: 'ogl textures memAvail memUsed memFrame compressTextures'
classVariableNames: ''
poolDictionaries: 'OpenGLConstants GLExtConstants'
category: 'OpenGL-Core'!
!classDefinition: 'OGLTextureManager class' category: #'OpenGL-Core'!
OGLTextureManager class
instanceVariableNames: ''!
!classDefinition: #OpenGL category: #'OpenGL-Core'!
Object subclass: #OpenGL
instanceVariableNames: 'handle bufRect glExt extensions frontFace maxPortalDepth changeTexture test timeStamp formManager textureManager fontManager shaderManager glListRegistry isMirror inPortal3D camera forceWire numVtx numPrims inGLBlock distance harness eventPointer avatar forcePick forceHilite suppressPortals noSwap fogOn transparency matrixStack portalDepth bufferObjects'
classVariableNames: 'InstalledOpenGLLibrary'
poolDictionaries: 'OpenGLConstants GLExtConstants'
category: 'OpenGL-Core'!
!classDefinition: 'OpenGL class' category: #'OpenGL-Core'!
OpenGL class
instanceVariableNames: 'glErrors'!
!classDefinition: #OGLMacOSX category: #'OpenGL-Core'!
OpenGL subclass: #OGLMacOSX
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'OpenGL-Core'!
!classDefinition: 'OGLMacOSX class' category: #'OpenGL-Core'!
OGLMacOSX class
instanceVariableNames: ''!
!classDefinition: #OGLMacOS9 category: #'OpenGL-Core'!
OGLMacOSX subclass: #OGLMacOS9
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'OpenGL-Core'!
!classDefinition: 'OGLMacOS9 class' category: #'OpenGL-Core'!
OGLMacOS9 class
instanceVariableNames: ''!
!classDefinition: #OGLUnix category: #'OpenGL-Core'!
OpenGL subclass: #OGLUnix
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'OpenGL-Core'!
!classDefinition: 'OGLUnix class' category: #'OpenGL-Core'!
OGLUnix class
instanceVariableNames: ''!
!classDefinition: #OGLUnixX11BE category: #'OpenGL-Core'!
OGLUnix subclass: #OGLUnixX11BE
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'OpenGL-Core'!
!classDefinition: 'OGLUnixX11BE class' category: #'OpenGL-Core'!
OGLUnixX11BE class
instanceVariableNames: ''!
!classDefinition: #OGLUnixX11LE category: #'OpenGL-Core'!
OGLUnix subclass: #OGLUnixX11LE
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'OpenGL-Core'!
!classDefinition: 'OGLUnixX11LE class' category: #'OpenGL-Core'!
OGLUnixX11LE class
instanceVariableNames: ''!
!classDefinition: #OGLUnixQuartz category: #'OpenGL-Core'!
OpenGL subclass: #OGLUnixQuartz
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'OpenGL-Core'!
!classDefinition: 'OGLUnixQuartz class' category: #'OpenGL-Core'!
OGLUnixQuartz class
instanceVariableNames: ''!
!classDefinition: #OGLWin32 category: #'OpenGL-Core'!
OpenGL subclass: #OGLWin32
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'OpenGL-Core'!
!classDefinition: 'OGLWin32 class' category: #'OpenGL-Core'!
OGLWin32 class
instanceVariableNames: ''!
!OGLExtManager commentStamp: '<historical>' prior: 0!
OGLExtManager handles OpenGL extension functions for OGL. Since extensions are specific for particular renderer/drivers all extensions must be looked up dynamically. I provide the technical means to handle extensions transparently for any number of contexts.
Declaring Extensions:
========================
Extension functions (and constants) have to be specifically declared. To declare functions and constants for an extension you need to do the following:
#1: Go to the CLASS side of OGLExtManager and add a category that has the same name as listed in glGet(GL_EXTENSIONS). For example, to use the ARB imaging extension this category must be named GL_ARB_imaging (even though the extension is referred to as 'ARB imaging' glGet will tell us that the name GL_ARB_imaging so that is what you need to use).
WARNING: The name must match EXACTLY, no extra spaces, watch for small and capital letters etc.
#2: Add a method which initializes the constants in this extension. The method itself MUST follow the convention to begin with 'initialize' and should then use the extension name. E.g., for initializing the constants in the ARB_imaging it should be called 'initializeArbImaging'.
The constants itself can be initialized by just copying them from the spec describing them and use the provided utility methods for initialization (just look over a few existing extensions). I am trying to make it easy for you to just copy those constants.
Note that all constants appear ONLY in the GLExtConstants - OpenGLConstants is exclusively used for standard OpenGL constants.
#3: Add the functions the extension defines. Generally, these should just be plain ffi call methods but there are three important issues:
a) NEVER provide a 'module' for these functions. Since they are looked up by opengl specific means other ways are used and you MUST NOT provide a module. The extension this particular function is contained in is defined by the category and not by the module (this is to prevent confusion about 'I have no GL_ARB_imaging.dll' or even worse the possibility that on some system any such thing even exists (!!)).
b) NEVER do anything but just the plain FFI call (optionally followed by a plain return or call to #externalCallFailed). The method you are writing will actually be run in an entirely different place - you are only providing a template for the sake of your convenience (and speed). If you need more sophisticated error handling do this in the place where you call the method or provide a helper in OGL or something similar, but NEVER EVER DO THIS HERE.
c) The calling convention is effectively ignored. Since it is platform specific it will in fact be replaced by the appropriate OS calling convention when used.
#4: Evaluate 'OGLExtManager initialize' which will add the constants to GLExtConstants and compile forwarder methods in OGL.
Using Extensions:
====================
Once you declared the extension, using it is simple. Since the constants defined by the extension are accessible through the GLExtConstants pool, you can just refer to them by name.
To invoke an extension method you simply invoke it via ogl, e.g., in order to invoke the 'glUnlockArraysEXT' function you would use something like:
ogl glUnlockArraysEXT
etc.
IMPORTANT: You must never ever attempt to create a OGLExtManager explicitly. The OGLExtManager is transparently wrapped in OGL.
Implementation details:
===========================
In order to implement the dynamic lookup mechanism in the most convenient way, the OGLExtManager is always created as a 'unique subclass' of OGLExtManager. That is when you ask for a new extension manager using 'OGLExtManager new' you actually get a subclass of OGLExtManager which is denoted by an asterisk in front of it so it looks as *OGLExtManager.
The *OGLExtManager does not understand any of the function you have provided. When it runs into a message which it doesn't understand it performs the following functions:
1: First it looks if that method is in fact an extension method you defined.
2: If it is, it looks if the extension this method belongs to is present in the renderer it is bound to (e.g., the OGLExtManager's ogl inst var)
3: If the extension is present it looks at the functions you declared for this extension, and for each function
- it copies the template method
- it looks up calling convention / address of the function
- it installs a new ffi call spec for that method
- it adds this method to *OGLExtManager
4: Once all the function for the extension have been loaded it reinvokes the message which failed.
Preloading extensions:
=========================
As you can see from the implementation details, there is a certain overhead involved in handling extensions. In particular, there can be a noticable speed impact when an extension is loaded 'on demand' (e.g., when a message is not understood). To compensate for this, extensions can be loaded explicitly, by using, e.g.,
ogl loadExtension: #'GL_ARB_imaging'.
Providing extensions as changesets:
=========================================
When creating a changeset to add a particular OpenGL extension, you should not include any of the auto-generated changes (neither methods nor constants) to OpenGL, GLExtConstants, or OGLExtManager. In particular, including the changed GLExtConstants class definition will cause those who load the changeset to lose the constants for other extensions they may have loaded.
Instead, only include the initialization methods on the class side of OGLExtManager (eg: #initializeArbVertexProgram and #generateArbVertexProgramFunctions), and perhaps a test for the extension in OpenGL (eg: OpenGL>>hasArbVertexProgram). Use code in the changeset postscript to generate extension functions and constants. Continuing with the vertex program example, the postscript might look like this:
"Postscript:
Generate extension functions and initialize extension constants. Use a temporary changeset so we do not clutter up this one. And provide initials to prevent asking the user"
Utilities useAuthorInitials: 'generated' during: [
| cs |
cs _ Utilities useChangeSetNamed: 'generated' during: [
OGLExtManager
generateArbVertexProgramFunctions;
initialize].
cs preambleString: '"catch-all changeset for generated functions"'.
]!
!OGLFontManager commentStamp: '<historical>' prior: 0!
I manage fonts (and their caching) on a particular OpenGL object.!
!OGLTextureHandle commentStamp: '<historical>' prior: 0!
Class TextureHandle represents a texture handle for internal use by the texture manager.
Instance variables:
glID <Integer> The 'texture name' of OpenGL associated with this texture
target <Integer> The OpenGL target (e.g., GLTexture2d)
timeStamp <Integer> The stamp for the frame when this texture was last used
scaledSize <Point> The ultimate size the texture needs to be scaled to (power of two)
bytesUsed <Integer> The number of bytes associated with this texture on the graphics hardware
allocated <Boolean> True if the texture is currently allocated on the graphics hardware, false if not.
displayLists <Set> Set of all of the OGL display lists that use this texture!
!OpenGL commentStamp: 'das 12/27/2005 23:43' prior: 0!
This is the main interface to the OpenGL library.
displayList
displayListAlpha
David A. Smith!
!OGLMacOSX commentStamp: '<historical>' prior: 0!
I represent the Mac OS X OpenGL version.!
!OGLMacOS9 commentStamp: '<historical>' prior: 0!
I represent the Mac OS 9 OpenGL version.!
!OGLUnix commentStamp: '<historical>' prior: 0!
I represent the generic Unix OpenGL version.!
!OGLUnixX11BE commentStamp: '<historical>' prior: 0!
I represent the big endian Unix OpenGL version.!
!OGLUnixX11LE commentStamp: '<historical>' prior: 0!
I represent the little endian Unix OpenGL version.!
!OGLUnixQuartz commentStamp: '<historical>' prior: 0!
I represent the Mac Unix (Quartz) OpenGL version.!
!OGLWin32 commentStamp: '<historical>' prior: 0!
I represent the Win32 OpenGL version.!
!GLExtConstants class methodsFor: 'pool initialization' stamp: 'ar 5/20/2003 11:11'!
initialize
"GLExtConstants initialize"
self class selectors do:[:each|
(each ~~ #initialize and:[each beginsWith: 'initialize']) ifTrue:[
self perform: each.
].
].! !
!GLExtConstants class methodsFor: 'pool initialization' stamp: 'pb 2/14/2010 15:33'!
initializeArbFragmentShader
"This method was automatically generated by OGLExtManager"
GLFragmentShaderARB := 35632.
GLMaxFragmentUniformComponentsARB := 35657.
GLMaxTextureCoordsARB := 34929.
GLMaxTextureImageUnitsARB := 34930.
GLFragmentShaderDerivativeHintARB := 35723.! !
!GLExtConstants class methodsFor: 'pool initialization' stamp: 'pb 2/14/2010 15:33'!
initializeArbMutlisample
"This method was automatically generated by OGLExtManager"
GLMultisampleARB := 32925.
GLMultisampleFilterHintNV := 34100.! !
!GLExtConstants class methodsFor: 'pool initialization' stamp: 'pb 2/14/2010 15:33'!
initializeArbShaderObjects
"This method was automatically generated by OGLExtManager"
GLProgramObjectARB := 35648.
GLShaderObjectARB := 35656.
GLObjectTypeARB := 35662.
GLObjectSubtypeARB := 35663.
GLFloatVec2ARB := 35664.
GLFloatVec3ARB := 35665.
GLFloatVec4ARB := 35666.
GLIntVec2ARB := 35667.
GLIntVec3ARB := 35668.
GLIntVec4ARB := 35669.
GLBoolARB := 35670.
GLBoolVec2ARB := 35671.
GLBoolVec3ARB := 35672.
GLBoolVec4ARB := 35673.
GLFloatMat2ARB := 35674.
GLFloatMat3ARB := 35675.
GLFloatMat4ARB := 35676.
GLSampler1dARB := 35677.
GLSampler2dARB := 35678.
GLSampler3dARB := 35679.
GLSamplerCubeARB := 35680.
GLSampler1dShadowARB := 35681.
GLSampler2dShadowARB := 35682.
GLSampler2dRectARB := 35683.
GLSampler2dRectShadowARB := 35684.
GLObjectDeleteStatusARB := 35712.
GLObjectCompileStatusARB := 35713.
GLObjectLinkStatusARB := 35714.
GLObjectValidateStatusARB := 35715.
GLObjectInfoLogLengthARB := 35716.
GLObjectAttachedObjectsARB := 35717.
GLObjectActiveUniformsARB := 35718.
GLObjectActiveUniformMaxLengthARB := 35719.
GLObjectShaderSourceLengthARB := 35720.! !
!GLExtConstants class methodsFor: 'pool initialization' stamp: 'pb 6/5/2012 22:53'!
initializeArbTextureCompression
"This method was automatically generated by OGLExtManager"
GLCompressedAlphaARB := 34025.
GLCompressedLuminanceARB := 34026.
GLCompressedLuminanceAlphaARB := 34027.
GLCompressedIntensityARB := 34028.
GLCompressedRgbARB := 34029.
GLCompressedRgbaARB := 34030.
GLTextureCompressionHintARB := 34031.
GLTextureCompressedImageSizeARB := 34464.
GLTextureCompressedARB := 34465.
GLNumCompressedTextureFormatsARB := 34466.
GLCompressedTextureFormatsARB := 34467.! !
!GLExtConstants class methodsFor: 'pool initialization' stamp: 'pb 6/5/2012 22:53'!
initializeArbTransposeMatrix
"This method was automatically generated by OGLExtManager"! !
!GLExtConstants class methodsFor: 'pool initialization' stamp: 'pb 6/5/2012 22:53'!
initializeArbVertexBufferObject
"This method was automatically generated by OGLExtManager"
GLArrayBufferARB := 34962.
GLElementArrayBufferARB := 34963.
GLArrayBufferBindingARB := 34964.
GLElementArrayBufferBindingARB := 34965.
GLVertexArrayBufferBindingARB := 34966.
GLNormalArrayBufferBindingARB := 34967.
GLColorArrayBufferBindingARB := 34968.
GLIndexArrayBufferBindingARB := 34969.
GLTextureCoordArrayBufferBindingARB := 34970.
GLEdgeFlagArrayBufferBindingARB := 34971.
GLSecondaryColorArrayBufferBindingARB := 34972.
GLFogCoordinateArrayBufferBindingARB := 34973.
GLWeightArrayBufferBindingARB := 34974.
GLVertexAttribArrayBufferBindingARB := 34975.
GLStreamDrawARB := 35040.
GLStreamReadARB := 35041.
GLStreamCopyARB := 35042.
GLStaticDrawARB := 35044.
GLStaticReadARB := 35045.
GLStaticCopyARB := 35046.
GLDynamicDrawARB := 35048.
GLDynamicReadARB := 35049.
GLDynamicCopyARB := 35050.
GLReadOnlyARB := 35000.
GLWriteOnlyARB := 35001.
GLReadWriteARB := 35002.
GLBufferSizeARB := 34660.
GLBufferUsageARB := 34661.
GLBufferAccessARB := 35003.
GLBufferMappedARB := 35004.! !
!GLExtConstants class methodsFor: 'pool initialization' stamp: 'pb 6/5/2012 22:53'!
initializeArbVertexProgram
"This method was automatically generated by OGLExtManager"
GLVertexProgramARB := 34336.
GLVertexProgramPointSizeARB := 34370.
GLVertexProgramTwoSideARB := 34371.
GLColorSumARB := 33880.
GLProgramFormatAsciiARB := 34933.
GLVertexAttribArrayEnabledARB := 34338.
GLVertexAttribArraySizeARB := 34339.
GLVertexAttribArrayStrideARB := 34340.
GLVertexAttribArrayTypeARB := 34341.
GLVertexAttribArrayNormalizedARB := 34922.
GLCurrentVertexAttribARB := 34342.
GLVertexAttribArrayPointerARB := 34373.
GLProgramLengthARB := 34343.
GLProgramFormatARB := 34934.
GLProgramBindingARB := 34423.
GLProgramInstructionsARB := 34976.
GLMaxProgramInstructionsARB := 34977.
GLProgramNativeInstructionsARB := 34978.
GLMaxProgramNativeInstructionsARB := 34979.
GLProgramTemporariesARB := 34980.
GLMaxProgramTemporariesARB := 34981.
GLProgramNativeTemporariesARB := 34982.
GLMaxProgramNativeTemporariesARB := 34983.
GLProgramParametersARB := 34984.
GLMaxProgramParametersARB := 34985.
GLProgramNativeParametersARB := 34986.
GLMaxProgramNativeParametersARB := 34987.
GLProgramAttribsARB := 34988.
GLMaxProgramAttribsARB := 34989.
GLProgramNativeAttribsARB := 34990.
GLMaxProgramNativeAttribsARB := 34991.
GLProgramAddressRegistersARB := 34992.
GLMaxProgramAddressRegistersARB := 34993.
GLProgramNativeAddressRegistersARB := 34994.
GLMaxProgramNativeAddressRegistersARB := 34995.
GLMaxProgramLocalParametersARB := 34996.
GLMaxProgramEnvParametersARB := 34997.
GLProgramUnderNativeLimitsARB := 34998.
GLProgramStringARB := 34344.
GLProgramErrorPositionARB := 34379.
GLCurrentMatrixARB := 34369.
GLTransposeCurrentMatrixARB := 34999.
GLCurrentMatrixStackDepthARB := 34368.
GLMaxVertexAttribsARB := 34921.
GLMaxProgramMatricesARB := 34351.
GLMaxProgramMatrixStackDepthARB := 34350.
GLProgramErrorStringARB := 34932.
GLMatrix0ARB := 35008.
GLMatrix1ARB := 35009.
GLMatrix2ARB := 35010.
GLMatrix3ARB := 35011.
GLMatrix4ARB := 35012.
GLMatrix5ARB := 35013.
GLMatrix6ARB := 35014.
GLMatrix7ARB := 35015.
GLMatrix8ARB := 35016.
GLMatrix9ARB := 35017.
GLMatrix10ARB := 35018.
GLMatrix11ARB := 35019.
GLMatrix12ARB := 35020.
GLMatrix13ARB := 35021.
GLMatrix14ARB := 35022.
GLMatrix15ARB := 35023.
GLMatrix16ARB := 35024.
GLMatrix17ARB := 35025.
GLMatrix18ARB := 35026.
GLMatrix19ARB := 35027.
GLMatrix20ARB := 35028.
GLMatrix21ARB := 35029.
GLMatrix22ARB := 35030.
GLMatrix23ARB := 35031.
GLMatrix24ARB := 35032.
GLMatrix25ARB := 35033.
GLMatrix26ARB := 35034.
GLMatrix27ARB := 35035.
GLMatrix28ARB := 35036.
GLMatrix29ARB := 35037.
GLMatrix30ARB := 35038.
GLMatrix31ARB := 35039.! !
!GLExtConstants class methodsFor: 'pool initialization' stamp: 'pb 2/14/2010 15:33'!
initializeArbVertexShader
"This method was automatically generated by OGLExtManager"
GLVertexShaderARB := 35633.
GLMaxVertexUniformComponentsARB := 35658.
GLMaxVaryingFloatsARB := 35659.
GLMaxVertexTextureImageUnitsARB := 35660.
GLMaxCombinedTextureImageUnitsARB := 35661.
GLObjectActiveAttributesARB := 35721.
GLObjectActiveAttributeMaxLengthARB := 35722.! !
!GLExtConstants class methodsFor: 'pool initialization' stamp: 'pb 6/5/2012 22:53'!
initializeExtCompiledVertexArray
"This method was automatically generated by OGLExtManager"
GLArrayElementLockCountEXT := 33193.
GLArrayElementLockFirstEXT := 33192.! !
!GLExtConstants class methodsFor: 'pool initialization' stamp: 'pb 2/14/2010 15:33'!
initializeExtFramebufferBlit
"This method was automatically generated by OGLExtManager"
GLReadFramebufferEXT := 36008.
GLDrawFramebufferEXT := 36009.
GLReadFramebufferBindingEXT := 36006.
GLDrawFramebufferBindingEXT := 36010.! !
!GLExtConstants class methodsFor: 'pool initialization' stamp: 'pb 2/14/2010 15:33'!
initializeExtFramebufferObjects
"This method was automatically generated by OGLExtManager"
GLInvalidFramebufferOperationEXT := 1286.
GLMaxRenderbufferSizeEXT := 34024.
GLFramebufferBindingEXT := 36006.
GLRenderbufferBindingEXT := 36007.
GLFramebufferAttachmentObjectTypeEXT := 36048.
GLFramebufferAttachmentObjectNameEXT := 36049.
GLFramebufferAttachmentTextureLevelEXT := 36050.
GLFramebufferAttachmentTextureCubeMapFaceEXT := 36051.
GLFramebufferAttachmentTexture3dZoffsetEXT := 36052.
GLFramebufferCompleteEXT := 36053.
GLFramebufferIncompleteAttachmentEXT := 36054.
GLFramebufferIncompleteMissingAttachmentEXT := 36055.
GLFramebufferIncompleteDimensionsEXT := 36057.
GLFramebufferIncompleteFormatsEXT := 36058.
GLFramebufferIncompleteDrawBufferEXT := 36059.
GLFramebufferIncompleteReadBufferEXT := 36060.
GLFramebufferUnsupportedEXT := 36061.
GLMaxColorAttachmentsEXT := 36063.
GLColorAttachment0EXT := 36064.
GLColorAttachment1EXT := 36065.
GLColorAttachment2EXT := 36066.
GLColorAttachment3EXT := 36067.
GLColorAttachment4EXT := 36068.
GLColorAttachment5EXT := 36069.
GLColorAttachment6EXT := 36070.
GLColorAttachment7EXT := 36071.
GLColorAttachment8EXT := 36072.
GLColorAttachment9EXT := 36073.
GLColorAttachment10EXT := 36074.
GLColorAttachment11EXT := 36075.
GLColorAttachment12EXT := 36076.
GLColorAttachment13EXT := 36077.
GLColorAttachment14EXT := 36078.
GLColorAttachment15EXT := 36079.
GLDepthAttachmentEXT := 36096.
GLStencilAttachmentEXT := 36128.
GLFramebufferEXT := 36160.
GLRenderbufferEXT := 36161.
GLRenderbufferWidthEXT := 36162.
GLRenderbufferHeightEXT := 36163.
GLRenderbufferInternalFormatEXT := 36164.
GLStencilIndex1EXT := 36166.
GLStencilIndex4EXT := 36167.
GLStencilIndex8EXT := 36168.
GLStencilIndex16EXT := 36169.
GLRenderbufferRedSizeEXT := 36176.
GLRenderbufferGreenSizeEXT := 36177.
GLRenderbufferBlueSizeEXT := 36178.
GLRenderbufferAlphaSizeEXT := 36179.
GLRenderbufferDepthSizeEXT := 36180.
GLRenderbufferStencilSizeEXT := 36181.! !
!GLExtConstants class methodsFor: 'pool initialization' stamp: 'pb 6/5/2012 22:53'!
initializeExtTextureCompressionS3tc
"This method was automatically generated by OGLExtManager"
GLCompressedRgbS3tcDxt1EXT := 33776.
GLCompressedRgbaS3tcDxt1EXT := 33777.
GLCompressedRgbaS3tcDxt3EXT := 33778.
GLCompressedRgbaS3tcDxt5EXT := 33779.! !
!GLExtConstants class methodsFor: 'pool initialization' stamp: 'pb 6/5/2012 22:53'!
initializeSgisGenerateMipmap
"This method was automatically generated by OGLExtManager"
GLGenerateMipmapSGIS := 33169.
GLGenerateMipmapHintSGIS := 33170.! !
!OpenGLConstants class methodsFor: 'pool initialization' stamp: 'ar 5/18/2003 17:03'!
init1
"OpenGLConstants initialize"
TAlpha := 1.
TNoAlpha := 2.
TAlphaNoAlpha := 3.
GLAccum := 16r0100.
GLLoad := 16r0101.
GLReturn := 16r0102.
GLMult := 16r0103.
GLAdd := 16r0104.
GLNever := 16r0200.
GLLess := 16r0201.
GLEqual := 16r0202.
GLLequal := 16r0203.
GLGreater := 16r0204.
GLNotequal := 16r0205.
GLGequal := 16r0206.
GLAlways := 16r0207.
GLCurrentBit := 16r00000001.
GLPointBit := 16r00000002.
GLLineBit := 16r00000004.
GLPolygonBit := 16r00000008.
GLPolygonStippleBit := 16r00000010.
GLPixelModeBit := 16r00000020.
GLLightingBit := 16r00000040.
GLFogBit := 16r00000080.
GLDepthBufferBit := 16r00000100.
GLAccumBufferBit := 16r00000200.
GLStencilBufferBit := 16r00000400.
GLViewportBit := 16r00000800.
GLTransformBit := 16r00001000.
GLEnableBit := 16r00002000.
GLColorBufferBit := 16r00004000.
GLHintBit := 16r00008000.
GLEvalBit := 16r00010000.
GLListBit := 16r00020000.
GLTextureBit := 16r00040000.
GLScissorBit := 16r00080000.
GLAllAttribBits := 16r000FFFF.
GLPoints := 16r0000.
GLLines := 16r0001.
GLLineLoop := 16r0002.
GLLineStrip := 16r0003.
GLTriangles := 16r0004.
GLTriangleStrip := 16r0005.
GLTriangleFan := 16r0006.
GLQuads := 16r0007.
GLQuadStrip := 16r0008.
GLPolygon := 16r0009.
GLZero := 0.
GLOne := 1.
GLSrcColor := 16r0300.
GLOneMinusSrcColor := 16r0301.
GLSrcAlpha := 16r0302.
GLOneMinusSrcAlpha := 16r0303.
GLDstAlpha := 16r0304.
GLOneMinusDstAlpha := 16r0305.
GLDstColor := 16r0306.
GLOneMinusDstColor := 16r0307.
GLSrcAlphaSaturate := 16r0308.
GLTrue := 1.
GLFalse := 0.
GLClipPlane0 := 16r3000.
GLClipPlane1 := 16r3001.
GLClipPlane2 := 16r3002.
GLClipPlane3 := 16r3003.
GLClipPlane4 := 16r3004.
GLClipPlane5 := 16r3005.
GLByte := 16r1400.
GLUnsignedByte := 16r1401.
GLShort := 16r1402.
GLUnsignedShort := 16r1403.
GLInt := 16r1404.
GLUnsignedInt := 16r1405.
GLFloat := 16r1406.
GL2Bytes := 16r1407.
GL3Bytes := 16r1408.
GL4Bytes := 16r1409.
GLDouble := 16r140A.
GLNone := 0.
GLFrontLeft := 16r0400.
GLFrontRight := 16r0401.
GLBackLeft := 16r0402.
GLBackRight := 16r0403.
GLFront := 16r0404.
GLBack := 16r0405.
GLLeft := 16r0406.
GLRight := 16r0407.
GLFrontAndBack := 16r0408.
GLAux0 := 16r0409.
GLAux1 := 16r040A.
GLAux2 := 16r040B.
GLAux3 := 16r040C.
GLNoError := 0.
GLInvalidEnum := 16r0500.
GLInvalidValue := 16r0501.
GLInvalidOperation := 16r0502.
GLStackOverflow := 16r0503.
GLStackUnderflow := 16r0504.
GLOutOfMemory := 16r0505.
GL2d := 16r0600.
GL3d := 16r0601.
GL3dColor := 16r0602.
GL3dColorTexture := 16r0603.
GL4dColorTexture := 16r0604.
GLPassThroughToken := 16r0700.
GLPointToken := 16r0701.
GLLineToken := 16r0702.
GLPolygonToken := 16r0703.
GLBitmapToken := 16r0704.
GLDrawPixelToken := 16r0705.
GLCopyPixelToken := 16r0706.
GLLineResetToken := 16r0707.
GLExp := 16r0800.
GLExp2 := 16r0801.
GLCw := 16r0900.
GLCcw := 16r0901.
GLCoeff := 16r0A00.
GLOrder := 16r0A01.
GLDomain := 16r0A02.
GLCurrentColor := 16r0B00.
GLCurrentIndex := 16r0B01.
GLCurrentNormal := 16r0B02.
GLCurrentTextureCoords := 16r0B03.
GLCurrentRasterColor := 16r0B04.
GLCurrentRasterIndex := 16r0B05.
GLCurrentRasterTextureCoords := 16r0B06.
GLCurrentRasterPosition := 16r0B07.
GLCurrentRasterPositionValid := 16r0B08.
GLCurrentRasterDistance := 16r0B09.
GLPointSmooth := 16r0B10.
GLPointSize := 16r0B11.
GLPointSizeRange := 16r0B12.
GLPointSizeGranularity := 16r0B13.
! !
!OpenGLConstants class methodsFor: 'pool initialization' stamp: 'ar 5/18/2003 16:59'!
init2
GLLineSmooth := 16r0B20.
GLLineWidth := 16r0B21.
GLLineWidthRange := 16r0B22.
GLLineWidthGranularity := 16r0B23.
GLLineStipple := 16r0B24.
GLLineStipplePattern := 16r0B25.
GLLineStippleRepeat := 16r0B26.
GLListMode := 16r0B30.
GLMaxListNesting := 16r0B31.
GLListBase := 16r0B32.
GLListIndex := 16r0B33.
GLPolygonMode := 16r0B40.
GLPolygonSmooth := 16r0B41.
GLPolygonStipple := 16r0B42.
GLEdgeFlag := 16r0B43.
GLCullFace := 16r0B44.
GLCullFaceMode := 16r0B45.
GLFrontFace := 16r0B46.
GLLighting := 16r0B50.
GLLightModelLocalViewer := 16r0B51.
GLLightModelTwoSide := 16r0B52.
GLLightModelAmbient := 16r0B53.
GLShadeModel := 16r0B54.
GLColorMaterialFace := 16r0B55.
GLColorMaterialParameter := 16r0B56.
GLColorMaterial := 16r0B57.
GLFog := 16r0B60.
GLFogIndex := 16r0B61.
GLFogDensity := 16r0B62.
GLFogStart := 16r0B63.
GLFogEnd := 16r0B64.
GLFogMode := 16r0B65.
GLFogColor := 16r0B66.
GLDepthRange := 16r0B70.
GLDepthTest := 16r0B71.
GLDepthWritemask := 16r0B72.
GLDepthClearValue := 16r0B73.
GLDepthFunc := 16r0B74.
GLAccumClearValue := 16r0B80.
GLStencilTest := 16r0B90.
GLStencilClearValue := 16r0B91.
GLStencilFunc := 16r0B92.
GLStencilValueMask := 16r0B93.
GLStencilFail := 16r0B94.
GLStencilPassDepthFail := 16r0B95.
GLStencilPassDepthPass := 16r0B96.
GLStencilRef := 16r0B97.
GLStencilWritemask := 16r0B98.
GLMatrixMode := 16r0BA0.
GLNormalize := 16r0BA1.
GLViewport := 16r0BA2.
GLModelviewStackDepth := 16r0BA3.
GLProjectionStackDepth := 16r0BA4.
GLTextureStackDepth := 16r0BA5.
GLModelviewMatrix := 16r0BA6.
GLProjectionMatrix := 16r0BA7.
GLTextureMatrix := 16r0BA8.
GLAttribStackDepth := 16r0BB0.
GLClientAttribStackDepth := 16r0BB1.
GLAlphaTest := 16r0BC0.
GLAlphaTestFunc := 16r0BC1.
GLAlphaTestRef := 16r0BC2.
GLDither := 16r0BD0.
GLBlendDst := 16r0BE0.
GLBlendSrc := 16r0BE1.
GLBlend := 16r0BE2.
GLLogicOpMode := 16r0BF0.
GLIndexLogicOp := 16r0BF1.
GLColorLogicOp := 16r0BF2.
GLAuxBuffers := 16r0C00.
GLDrawBuffer := 16r0C01.
GLReadBuffer := 16r0C02.
GLScissorBox := 16r0C10.
GLScissorTest := 16r0C11.
GLIndexClearValue := 16r0C20.
GLIndexWritemask := 16r0C21.
GLColorClearValue := 16r0C22.
GLColorWritemask := 16r0C23.
GLIndexMode := 16r0C30.
GLRgbaMode := 16r0C31.
GLDoublebuffer := 16r0C32.
GLStereo := 16r0C33.
GLRenderMode := 16r0C40.
GLPerspectiveCorrectionHint := 16r0C50.
GLPointSmoothHint := 16r0C51.
GLLineSmoothHint := 16r0C52.
GLPolygonSmoothHint := 16r0C53.
GLFogHint := 16r0C54.
GLTextureGenS := 16r0C60.
GLTextureGenT := 16r0C61.
GLTextureGenR := 16r0C62.
GLTextureGenQ := 16r0C63.
GLPixelMapIToI := 16r0C70.
GLPixelMapSToS := 16r0C71.
GLPixelMapIToR := 16r0C72.
GLPixelMapIToG := 16r0C73.
GLPixelMapIToB := 16r0C74.
GLPixelMapIToA := 16r0C75.
GLPixelMapRToR := 16r0C76.
GLPixelMapGToG := 16r0C77.
GLPixelMapBToB := 16r0C78.
GLPixelMapAToA := 16r0C79.
GLPixelMapIToISize := 16r0CB0.
GLPixelMapSToSSize := 16r0CB1.
GLPixelMapIToRSize := 16r0CB2.
GLPixelMapIToGSize := 16r0CB3.
GLPixelMapIToBSize := 16r0CB4.
GLPixelMapIToASize := 16r0CB5.
GLPixelMapRToRSize := 16r0CB6.
GLPixelMapGToGSize := 16r0CB7.
GLPixelMapBToBSize := 16r0CB8.
GLPixelMapAToASize := 16r0CB9.
GLUnpackSwapBytes := 16r0CF0.
GLUnpackLsbFirst := 16r0CF1.
GLUnpackRowLength := 16r0CF2.
GLUnpackSkipRows := 16r0CF3.
GLUnpackSkipPixels := 16r0CF4.
GLUnpackAlignment := 16r0CF5.
GLPackSwapBytes := 16r0D00.
GLPackLsbFirst := 16r0D01.
GLPackRowLength := 16r0D02.
GLPackSkipRows := 16r0D03.
GLPackSkipPixels := 16r0D04.
GLPackAlignment := 16r0D05.
! !
!OpenGLConstants class methodsFor: 'pool initialization' stamp: 'ar 5/18/2003 17:00'!
init3
GLMapColor := 16r0D10.
GLMapStencil := 16r0D11.
GLIndexShift := 16r0D12.
GLIndexOffset := 16r0D13.
GLRedScale := 16r0D14.
GLRedBias := 16r0D15.
GLZoomX := 16r0D16.
GLZoomY := 16r0D17.
GLGreenScale := 16r0D18.
GLGreenBias := 16r0D19.
GLBlueScale := 16r0D1A.
GLBlueBias := 16r0D1B.
GLAlphaScale := 16r0D1C.
GLAlphaBias := 16r0D1D.
GLDepthScale := 16r0D1E.
GLDepthBias := 16r0D1F.
GLMaxEvalOrder := 16r0D30.
GLMaxLights := 16r0D31.
GLMaxClipPlanes := 16r0D32.
GLMaxTextureSize := 16r0D33.
GLMaxPixelMapTable := 16r0D34.
GLMaxAttribStackDepth := 16r0D35.
GLMaxModelviewStackDepth := 16r0D36.
GLMaxNameStackDepth := 16r0D37.
GLMaxProjectionStackDepth := 16r0D38.
GLMaxTextureStackDepth := 16r0D39.
GLMaxViewportDims := 16r0D3A.
GLMaxClientAttribStackDepth := 16r0D3B.
GLSubpixelBits := 16r0D50.
GLIndexBits := 16r0D51.
GLRedBits := 16r0D52.
GLGreenBits := 16r0D53.
GLBlueBits := 16r0D54.
GLAlphaBits := 16r0D55.
GLDepthBits := 16r0D56.
GLStencilBits := 16r0D57.
GLAccumRedBits := 16r0D58.
GLAccumGreenBits := 16r0D59.
GLAccumBlueBits := 16r0D5A.
GLAccumAlphaBits := 16r0D5B.
GLNameStackDepth := 16r0D70.
GLAutoNormal := 16r0D80.
GLMap1Color4 := 16r0D90.
GLMap1Index := 16r0D91.
GLMap1Normal := 16r0D92.
GLMap1TextureCoord1 := 16r0D93.
GLMap1TextureCoord2 := 16r0D94.
GLMap1TextureCoord3 := 16r0D95.
GLMap1TextureCoord4 := 16r0D96.
GLMap1Vertex3 := 16r0D97.
GLMap1Vertex4 := 16r0D98.
GLMap2Color4 := 16r0DB0.
GLMap2Index := 16r0DB1.
GLMap2Normal := 16r0DB2.
GLMap2TextureCoord1 := 16r0DB3.
GLMap2TextureCoord2 := 16r0DB4.
GLMap2TextureCoord3 := 16r0DB5.
GLMap2TextureCoord4 := 16r0DB6.
GLMap2Vertex3 := 16r0DB7.
GLMap2Vertex4 := 16r0DB8.
GLMap1GridDomain := 16r0DD0.
GLMap1GridSegments := 16r0DD1.
GLMap2GridDomain := 16r0DD2.
GLMap2GridSegments := 16r0DD3.
GLTexture1d := 16r0DE0.
GLTexture2d := 16r0DE1.
GLFeedbackBufferPointer := 16r0DF0.
GLFeedbackBufferSize := 16r0DF1.
GLFeedbackBufferType := 16r0DF2.
GLSelectionBufferPointer := 16r0DF3.
GLSelectionBufferSize := 16r0DF4.
GLTextureWidth := 16r1000.
GLTextureHeight := 16r1001.
GLTextureInternalFormat := 16r1003.
GLTextureBorderColor := 16r1004.
GLTextureBorder := 16r1005.
GLDontCare := 16r1100.
GLFastest := 16r1101.
GLNicest := 16r1102.
GLLight0 := 16r4000.
GLLight1 := 16r4001.
GLLight2 := 16r4002.
GLLight3 := 16r4003.
GLLight4 := 16r4004.
GLLight5 := 16r4005.
GLLight6 := 16r4006.
GLLight7 := 16r4007.
GLAmbient := 16r1200.
GLDiffuse := 16r1201.
GLSpecular := 16r1202.
GLPosition := 16r1203.
GLSpotDirection := 16r1204.
GLSpotExponent := 16r1205.
GLSpotCutoff := 16r1206.
GLConstantAttenuation := 16r1207.
GLLinearAttenuation := 16r1208.
GLQuadraticAttenuation := 16r1209.
GLCompile := 16r1300.
GLCompileAndExecute := 16r1301.
GLClear := 16r1500.
GLAnd := 16r1501.
GLAndReverse := 16r1502.
GLCopy := 16r1503.
GLAndInverted := 16r1504.
GLNoop := 16r1505.
GLXor := 16r1506.
GLOr := 16r1507.
GLNor := 16r1508.
GLEquiv := 16r1509.
GLInvert := 16r150A.
GLOrReverse := 16r150B.
GLCopyInverted := 16r150C.
GLOrInverted := 16r150D.
GLNand := 16r150E.
GLSet := 16r150F.
! !
!OpenGLConstants class methodsFor: 'pool initialization' stamp: 'ar 5/18/2003 17:00'!
init4
GLEmission := 16r1600.
GLShininess := 16r1601.
GLAmbientAndDiffuse := 16r1602.
GLColorIndexes := 16r1603.
GLModelview := 16r1700.
GLProjection := 16r1701.
GLTexture := 16r1702.
GLColor := 16r1800.
GLDepth := 16r1801.
GLStencil := 16r1802.
GLColorIndex := 16r1900.
GLStencilIndex := 16r1901.
GLDepthComponent := 16r1902.
GLRed := 16r1903.
GLGreen := 16r1904.
GLBlue := 16r1905.
GLAlpha := 16r1906.
GLRgb := 16r1907.
GLRgba := 16r1908.
GLLuminance := 16r1909.
GLLuminanceAlpha := 16r190A.
GLBitmap := 16r1A00.
GLPoint := 16r1B00.
GLLine := 16r1B01.
GLFill := 16r1B02.
GLRender := 16r1C00.
GLFeedback := 16r1C01.
GLSelect := 16r1C02.
GLFlat := 16r1D00.
GLSmooth := 16r1D01.
GLKeep := 16r1E00.
GLReplace := 16r1E01.
GLIncr := 16r1E02.
GLDecr := 16r1E03.
GLVendor := 16r1F00.
GLRenderer := 16r1F01.
GLVersion := 16r1F02.
GLExtensions := 16r1F03.
GLS := 16r2000.
GLT := 16r2001.
GLR := 16r2002.
GLQ := 16r2003.
GLModulate := 16r2100.
GLDecal := 16r2101.
GLTextureEnvMode := 16r2200.
GLTextureEnvColor := 16r2201.
GLTextureEnv := 16r2300.
GLEyeLinear := 16r2400.
GLObjectLinear := 16r2401.
GLSphereMap := 16r2402.
GLTextureGenMode := 16r2500.