GLS.OpenGLx.pas 550 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722
  1. //
  2. // This unit is part of the GLScene Engine, http://glscene.org
  3. //
  4. unit GLS.OpenGLx;
  5. (* -------------------------------------------------------------
  6. Copyright 1991-1993, Silicon Graphics, Inc.
  7. All Rights Reserved.
  8. This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
  9. the contents of this file may not be disclosed to third parties, copied or
  10. duplicated in any form, in whole or in part, without the prior written
  11. permission of Silicon Graphics, Inc.
  12. RESTRICTED RIGHTS LEGEND:
  13. Use, duplication or disclosure by the Government is subject to restrictions
  14. as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
  15. and Computer Software clause at DFARS 252.227-7013, and/or in similar or
  16. successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
  17. rights reserved under the Copyright Laws of the United States.
  18. ------------------------------------------------------------- *)
  19. interface
  20. {$I GLScene.inc}
  21. uses
  22. System.SysUtils,
  23. System.Math,
  24. {$IFDEF MSWINDOWS}
  25. Winapi.Windows,
  26. {$ENDIF}
  27. {$IFDEF LINUX} X, XLib, XUtil, {$ENDIF}
  28. GLVectorTypes;
  29. const
  30. {$IFDEF MSWINDOWS}
  31. opengl32 = 'OpenGL32.dll';
  32. glu32 = 'GLU32.dll';
  33. libEGL = 'libEGL.dll';
  34. libGLES2 = 'libGLESv2.dll';
  35. {$ENDIF}
  36. {$IFDEF LINUX}
  37. opengl32 = 'libGL.so';
  38. glu32 = 'libGLU.so';
  39. libEGL = 'libEGL.so';
  40. libGLES2 = 'libGLESv2.so';
  41. {$ENDIF}
  42. type
  43. TRCOptions = set of (
  44. opDoubleBuffered,
  45. opGDI,
  46. opStereo
  47. );
  48. PGLChar = PAnsiChar;
  49. TGLString = AnsiString;
  50. TGLenum = Cardinal;
  51. PGLenum = ^TGLenum;
  52. TGLboolean = BYTEBOOL;
  53. PGLboolean = ^TGLboolean;
  54. TGLbitfield = UINT;
  55. PGLbitfield = ^TGLbitfield;
  56. TGLbyte = ShortInt;
  57. PGLbyte = ^TGLbyte;
  58. TGLshort = SmallInt;
  59. PGLshort = ^TGLshort;
  60. TGLint = Integer;
  61. PGLint = ^Integer;
  62. TGLsizei = Integer;
  63. PGLsizei = ^TGLsizei;
  64. TGLint64 = Int64;
  65. PGLint64 = ^TGLint64;
  66. TGLint64EXT = Int64;
  67. PGLint64EXT = ^TGLint64EXT;
  68. TGLuint64 = UInt64;
  69. PGLuint64 = ^TGLuint64;
  70. TGLuint64EXT = UInt64;
  71. PGLuint64EXT = ^TGLuint64EXT;
  72. TGLubyte = Byte;
  73. PGLubyte = System.PByte;
  74. TGLushort = Word;
  75. PGLushort = System.PWord;
  76. TGLuint = UINT;
  77. PGLuint = ^TGLuint;
  78. TGLfloat = Single;
  79. PGLfloat = System.PSingle;
  80. TGLclampf = Single;
  81. PGLclampf = ^TGLclampf;
  82. TGLdouble = Double;
  83. PGLdouble = System.PDouble;
  84. TGLclampd = Double;
  85. PGLclampd = ^TGLclampd;
  86. TGLhandleARB = Cardinal;
  87. PGLhandleARB = ^TGLhandleARB;
  88. PGLPCharArray = ^PGLChar;
  89. PGLvoid = Pointer;
  90. TVector4p = array[0..3] of Pointer;
  91. PGLPointer = ^Pointer;
  92. // the size of these depend on platform (32bit or 64bit)
  93. TGLintptr = NativeInt;
  94. TGLsizeiptr = NativeInt;
  95. TGLsync = NativeInt;
  96. {$IFDEF MSWINDOWS}
  97. PWGLSwap = ^TWGLSwap;
  98. _WGLSWAP = packed record
  99. hdc: HDC;
  100. uiFlags: UINT;
  101. end;
  102. TWGLSwap = _WGLSWAP;
  103. WGLSWAP = _WGLSWAP;
  104. {$ENDIF}
  105. // Linux type
  106. {$IFDEF LINUX}
  107. GLXContext = Pointer;
  108. GLXPixmap = XID;
  109. GLXDrawable = XID;
  110. GLXFBConfig = Pointer;
  111. GLXFBConfigID = XID;
  112. GLXContextID = XID;
  113. GLXWindow = XID;
  114. GLXPbuffer = XID;
  115. {$ENDIF}
  116. HPBUFFERARB = Integer;
  117. // ---------------------------- OpenGL Utility (GLU) types --------------------
  118. type
  119. PHGPUNV = ^HGPUNV;
  120. HGPUNV = THandle;
  121. HVIDEOINPUTDEVICENV = THandle;
  122. PHVIDEOINPUTDEVICENV = ^HVIDEOINPUTDEVICENV;
  123. PGPUDEVICE = ^TGPUDEVICE;
  124. TGPUDEVICE = record
  125. cb: Cardinal;
  126. DeviceName: array [0 .. 31] of AnsiChar;
  127. DeviceString: array [0 .. 127] of AnsiChar;
  128. Flags: Cardinal;
  129. rcVirtualScreen: TRect;
  130. end;
  131. TGLUNurbs = record
  132. end;
  133. TGLUQuadric = record
  134. end;
  135. TGLUTesselator = record
  136. end;
  137. PGLUNurbs = ^TGLUNurbs;
  138. PGLUQuadric = ^TGLUQuadric;
  139. PGLUTesselator = ^TGLUTesselator;
  140. // backwards compatibility
  141. TGLUNurbsObj = TGLUNurbs;
  142. TGLUQuadricObj = TGLUQuadric;
  143. TGLUTesselatorObj = TGLUTesselator;
  144. TGLUTriangulatorObj = TGLUTesselator;
  145. PGLUNurbsObj = PGLUNurbs;
  146. PGLUQuadricObj = PGLUQuadric;
  147. PGLUTesselatorObj = PGLUTesselator;
  148. PGLUTriangulatorObj = PGLUTesselator;
  149. // GLUQuadricCallback
  150. TGLUQuadricErrorProc = procedure(errorCode: TGLenum);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  151. // GLUTessCallback
  152. TGLUTessBeginProc = procedure(AType: TGLenum); {$IFDEF MSWINDOWS} stdcall;{$ELSE} cdecl; {$ENDIF}
  153. TGLUTessEdgeFlagProc = procedure(Flag: TGLboolean);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  154. TGLUTessVertexProc = procedure(VertexData: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  155. TGLUTessEndProc = procedure; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  156. TGLUTessErrorProc = procedure(ErrNo: TGLenum); {$IFDEF MSWINDOWS} stdcall;{$ELSE} cdecl; {$ENDIF}
  157. TGLUTessCombineProc = procedure(const Coords: TVector3d; const VertexData: TVector4p; const Weight: TVector4f; OutData: PGLPointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  158. TGLUTessBeginDataProc = procedure(AType: TGLenum; UserData: Pointer);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  159. TGLUTessEdgeFlagDataProc = procedure(Flag: TGLboolean; UserData: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  160. TGLUTessVertexDataProc = procedure(VertexData: Pointer; UserData: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  161. TGLUTessEndDataProc = procedure(UserData: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  162. TGLUTessErrorDataProc = procedure(ErrNo: TGLenum; UserData: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  163. TGLUTessCombineDataProc = procedure(const Coords: TVector3d; const VertexData: TVector4p; const Weight: TVector4f; OutData: PGLPointer; UserData: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  164. // GLUNurbsCallback
  165. TGLUNurbsErrorProc = procedure(errorCode: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  166. var
  167. GL_VERSION_1_0,
  168. GL_VERSION_1_1,
  169. GL_VERSION_1_2,
  170. GL_VERSION_1_3,
  171. GL_VERSION_1_4,
  172. GL_VERSION_1_5,
  173. GL_VERSION_2_0,
  174. GL_VERSION_2_1,
  175. GL_VERSION_3_0,
  176. GL_VERSION_3_1,
  177. GL_VERSION_3_2,
  178. GL_VERSION_3_3,
  179. GL_VERSION_4_0,
  180. GL_VERSION_4_1,
  181. GL_VERSION_4_2,
  182. GL_VERSION_4_3,
  183. GL_VERSION_4_4,
  184. GL_VERSION_4_5,
  185. GL_VERSION_4_6,
  186. GLU_VERSION_1_1,
  187. GLU_VERSION_1_2,
  188. GLU_VERSION_1_3,
  189. GL_3DFX_multisample,
  190. GL_3DFX_tbuffer,
  191. GL_3DFX_texture_compression_FXT1,
  192. GL_APPLE_client_storage,
  193. GL_APPLE_element_array,
  194. GL_APPLE_fence,
  195. GL_APPLE_specular_vector,
  196. GL_APPLE_transform_hint,
  197. GL_APPLE_vertex_array_object,
  198. GL_APPLE_vertex_array_range,
  199. GL_APPLE_ycbcr_422,
  200. GL_APPLE_texture_range,
  201. GL_APPLE_float_pixels,
  202. GL_APPLE_vertex_program_evaluators,
  203. GL_APPLE_aux_depth_stencil,
  204. GL_APPLE_object_purgeable,
  205. GL_APPLE_row_bytes,
  206. GL_APPLE_rgb_422,
  207. GL_ARB_depth_texture,
  208. GL_ARB_fragment_program,
  209. GL_ARB_imaging,
  210. GL_ARB_matrix_palette,
  211. GL_ARB_multisample,
  212. GL_ARB_multitexture,
  213. GL_ARB_point_parameters,
  214. GL_ARB_shadow,
  215. GL_ARB_shadow_ambient,
  216. GL_ARB_texture_border_clamp,
  217. GL_ARB_texture_compression,
  218. GL_ARB_texture_cube_map,
  219. GL_ARB_texture_env_add,
  220. GL_ARB_texture_env_combine,
  221. GL_ARB_texture_env_crossbar,
  222. GL_ARB_texture_env_dot3,
  223. GL_ARB_texture_filter_minmax,
  224. GL_ARB_texture_mirrored_repeat,
  225. GL_ARB_transpose_matrix,
  226. GL_ARB_vertex_blend,
  227. GL_ARB_vertex_buffer_object,
  228. GL_ARB_vertex_program,
  229. GL_ARB_window_pos,
  230. GL_ARB_shader_objects,
  231. GL_ARB_vertex_shader,
  232. GL_ARB_fragment_shader,
  233. GL_ARB_fragment_shader_interlock,
  234. GL_ARB_shading_language_100,
  235. GL_ARB_occlusion_query,
  236. GL_ARB_texture_non_power_of_two,
  237. GL_ARB_point_sprite,
  238. GL_ARB_fragment_program_shadow,
  239. GL_ARB_draw_buffers,
  240. GL_ARB_texture_rectangle,
  241. GL_ARB_color_buffer_float,
  242. GL_ARB_half_float_pixel,
  243. GL_ARB_texture_float,
  244. GL_ARB_pixel_buffer_object,
  245. GL_ARB_depth_buffer_float,
  246. GL_ARB_draw_instanced,
  247. GL_ARB_framebuffer_object,
  248. GL_ARB_framebuffer_sRGB,
  249. GL_ARB_geometry_shader4,
  250. GL_ARB_half_float_vertex,
  251. GL_ARB_instanced_arrays,
  252. GL_ARB_map_buffer_range,
  253. GL_ARB_texture_buffer_object,
  254. GL_ARB_texture_compression_rgtc,
  255. GL_ARB_texture_rg,
  256. GL_ARB_vertex_array_object,
  257. GL_ARB_uniform_buffer_object,
  258. GL_ARB_compatibility,
  259. GL_ARB_copy_buffer,
  260. GL_ARB_shader_texture_lod,
  261. GL_ARB_shader_viewport_layer_array,
  262. GL_ARB_depth_clamp,
  263. GL_ARB_draw_elements_base_vertex,
  264. GL_ARB_fragment_coord_conventions,
  265. GL_ARB_provoking_vertex,
  266. GL_ARB_seamless_cube_map,
  267. GL_ARB_sync,
  268. GL_ARB_texture_multisample,
  269. GL_ARB_vertex_array_bgra,
  270. GL_ARB_draw_buffers_blend,
  271. GL_ARB_sample_shading,
  272. GL_ARB_sample_locations,
  273. GL_ARB_sparse_texture2,
  274. GL_ARB_sparse_texture_clamp,
  275. GL_ARB_texture_cube_map_array,
  276. GL_ARB_texture_gather,
  277. GL_ARB_texture_query_lod,
  278. GL_ARB_shading_language_include,
  279. GL_ARB_texture_compression_bptc,
  280. GL_ARB_blend_func_extended,
  281. GL_ARB_explicit_attrib_location,
  282. GL_ARB_occlusion_query2,
  283. GL_ARB_parallel_shader_compile,
  284. GL_ARB_post_depth_coverage,
  285. GL_ARB_sampler_objects,
  286. GL_ARB_shader_bit_encoding,
  287. GL_ARB_shader_clock,
  288. GL_ARB_texture_rgb10_a2ui,
  289. GL_ARB_texture_swizzle,
  290. GL_ARB_timer_query,
  291. GL_ARB_vertex_type_2_10_10_10_rev,
  292. GL_ARB_draw_indirect,
  293. GL_ARB_gpu_shader5,
  294. GL_ARB_gpu_shader_fp64,
  295. GL_ARB_gpu_shader_int64,
  296. GL_ARB_shader_subroutine,
  297. GL_ARB_tessellation_shader,
  298. GL_ARB_texture_buffer_object_rgb32,
  299. GL_ARB_transform_feedback2,
  300. GL_ARB_transform_feedback3,
  301. GL_ARB_ES2_compatibility,
  302. GL_ARB_ES3_2_compatibility,
  303. GL_ARB_get_program_binary,
  304. GL_ARB_separate_shader_objects,
  305. GL_ARB_shader_precision,
  306. GL_ARB_shader_ballot,
  307. GL_ARB_vertex_attrib_64bit,
  308. GL_ARB_viewport_array,
  309. // GL 4.2
  310. GL_ARB_base_instance,
  311. GL_ARB_shading_language_420pack,
  312. GL_ARB_transform_feedback_instanced,
  313. GL_ARB_compressed_texture_pixel_storage,
  314. GL_ARB_conservative_depth,
  315. GL_ARB_internalformat_query,
  316. GL_ARB_map_buffer_alignment,
  317. GL_ARB_shader_atomic_counters,
  318. GL_ARB_shader_image_load_store,
  319. GL_ARB_shading_language_packing,
  320. GL_ARB_texture_storage,
  321. // GL 4.3
  322. GL_ARB_arrays_of_arrays,
  323. GL_ARB_fragment_layer_viewport,
  324. GL_ARB_shader_image_size,
  325. GL_ARB_ES3_compatibility,
  326. GL_ARB_clear_buffer_object,
  327. GL_ARB_compute_shader,
  328. GL_ARB_copy_image,
  329. GL_KHR_debug,
  330. GL_ARB_explicit_uniform_location,
  331. GL_ARB_framebuffer_no_attachments,
  332. GL_ARB_internalformat_query2,
  333. GL_ARB_invalidate_subdata,
  334. GL_ARB_multi_draw_indirect,
  335. GL_ARB_program_interface_query,
  336. GL_ARB_robust_buffer_access_behavior,
  337. GL_ARB_shader_storage_buffer_object,
  338. GL_ARB_stencil_texturing,
  339. GL_ARB_texture_buffer_range,
  340. GL_ARB_texture_query_levels,
  341. GL_ARB_texture_storage_multisample,
  342. GL_ARB_texture_view,
  343. GL_ARB_vertex_attrib_binding,
  344. GL_NV_path_rendering,
  345. GL_AMD_pinned_memory,
  346. GL_AMD_stencil_operation_extended,
  347. GL_AMD_vertex_shader_viewport_index,
  348. GL_AMD_vertex_shader_layer,
  349. GL_NV_bindless_texture,
  350. GL_NV_shader_atomic_float,
  351. GL_AMD_query_buffer_object,
  352. // GL 4.4
  353. GL_ARB_buffer_storage,
  354. GL_ARB_clear_texture,
  355. GL_ARB_enhanced_layouts,
  356. GL_ARB_multi_bind,
  357. GL_ARB_query_buffer_object,
  358. GL_ARB_texture_mirror_clamp_to_edge,
  359. GL_ARB_texture_stencil8,
  360. GL_ARB_vertex_type_10f_11f_11f_rev,
  361. GL_ARB_bindless_texture,
  362. GL_ARB_sparse_texture,
  363. // GL 4.5
  364. GL_ARB_clip_control,
  365. GL_ARB_cull_distance,
  366. GL_ARB_ES3_1_compatibility,
  367. GL_ARB_conditional_render_inverted,
  368. GL_KHR_context_flush_control,
  369. GL_ARB_derivative_control,
  370. GL_ARB_direct_state_access,
  371. GL_ARB_get_texture_sub_image,
  372. GL_KHR_robustness,
  373. GL_KHR_blend_equation_advanced,
  374. GL_KHR_blend_equation_advanced_coherent,
  375. GL_KHR_robust_buffer_access_behavior,
  376. GL_ARB_shader_texture_image_samples,
  377. GL_ARB_texture_barrier,
  378. // GL 4.6
  379. GL_ARB_indirect_parameters,
  380. GL_ARB_pipeline_statistics_query,
  381. GL_ARB_polygon_offset_clamp,
  382. GL_KHR_no_error,
  383. GL_ARB_shader_atomic_counter_ops,
  384. GL_ARB_shader_draw_parameters,
  385. GL_ARB_shader_group_vote,
  386. GL_ARB_gl_spirv,
  387. GL_ARB_spirv_extensions,
  388. GL_ARB_texture_filter_anisotropic,
  389. GL_ARB_transform_feedback_overflow_query,
  390. GL_ARB_cl_event,
  391. GL_ARB_compute_variable_group_size,
  392. GL_ARB_debug_output,
  393. GL_ARB_robustness,
  394. GL_ARB_shader_stencil_export,
  395. GL_ATI_draw_buffers,
  396. GL_ATI_element_array,
  397. GL_ATI_envmap_bumpmap,
  398. GL_ATI_fragment_shader,
  399. GL_ATI_map_object_buffer,
  400. GL_ATI_pn_triangles,
  401. GL_ATI_separate_stencil,
  402. GL_ATI_text_fragment_shader,
  403. GL_ATI_texture_env_combine3,
  404. GL_ATI_texture_float,
  405. GL_ATI_texture_mirror_once,
  406. GL_ATI_vertex_array_object,
  407. GL_ATI_vertex_attrib_array_object,
  408. GL_ATI_vertex_streams,
  409. GL_ATI_meminfo,
  410. GL_AMD_performance_monitor,
  411. GL_AMD_texture_texture4,
  412. GL_AMD_vertex_shader_tesselator,
  413. GL_AMD_draw_buffers_blend,
  414. GL_AMD_shader_stencil_export,
  415. GL_AMD_seamless_cubemap_per_texture,
  416. GL_AMD_conservative_depth,
  417. GL_AMD_name_gen_delete,
  418. GL_AMD_debug_output,
  419. GL_AMD_transform_feedback3_lines_triangles,
  420. GL_AMD_depth_clamp_separate,
  421. GL_EXT_422_pixels,
  422. GL_EXT_abgr,
  423. GL_EXT_bgra,
  424. GL_EXT_blend_color,
  425. GL_EXT_blend_func_separate,
  426. GL_EXT_blend_logic_op,
  427. GL_EXT_blend_minmax,
  428. GL_EXT_blend_subtract,
  429. GL_EXT_clip_volume_hint,
  430. GL_EXT_cmyka,
  431. GL_EXT_color_matrix,
  432. GL_EXT_color_subtable,
  433. GL_EXT_compiled_vertex_array,
  434. GL_EXT_convolution,
  435. GL_EXT_coordinate_frame,
  436. GL_EXT_copy_texture,
  437. GL_EXT_cull_vertex,
  438. GL_EXT_draw_range_elements,
  439. GL_EXT_fog_coord,
  440. GL_EXT_framebuffer_object,
  441. GL_EXT_histogram,
  442. GL_EXT_index_array_formats,
  443. GL_EXT_index_func,
  444. GL_EXT_index_material,
  445. GL_EXT_index_texture,
  446. GL_EXT_light_texture,
  447. GL_EXT_misc_attribute,
  448. GL_EXT_multi_draw_arrays,
  449. GL_EXT_multisample,
  450. GL_EXT_packed_pixels,
  451. GL_EXT_paletted_texture,
  452. GL_EXT_pixel_transform,
  453. GL_EXT_pixel_transform_color_table,
  454. GL_EXT_point_parameters,
  455. GL_EXT_polygon_offset,
  456. GL_EXT_rescale_normal,
  457. GL_EXT_secondary_color,
  458. GL_EXT_separate_specular_color,
  459. GL_EXT_shadow_funcs,
  460. GL_EXT_shared_texture_palette,
  461. GL_EXT_stencil_two_side,
  462. GL_EXT_stencil_wrap,
  463. GL_EXT_subtexture,
  464. GL_EXT_texture,
  465. GL_EXT_texture3D,
  466. GL_EXT_texture_compression_s3tc,
  467. GL_EXT_texture_cube_map,
  468. GL_EXT_texture_edge_clamp,
  469. GL_EXT_texture_env_add,
  470. GL_EXT_texture_env_combine,
  471. GL_EXT_texture_env_dot3,
  472. GL_EXT_texture_filter_anisotropic,
  473. GL_EXT_texture_lod_bias,
  474. GL_EXT_texture_object,
  475. GL_EXT_texture_perturb_normal,
  476. GL_EXT_texture_rectangle,
  477. GL_EXT_vertex_array,
  478. GL_EXT_vertex_shader,
  479. GL_EXT_vertex_weighting,
  480. GL_EXT_depth_bounds_test,
  481. GL_EXT_texture_mirror_clamp,
  482. GL_EXT_blend_equation_separate,
  483. GL_EXT_pixel_buffer_object,
  484. GL_EXT_texture_compression_dxt1,
  485. GL_EXT_stencil_clear_tag,
  486. GL_EXT_packed_depth_stencil,
  487. GL_EXT_texture_sRGB,
  488. GL_EXT_framebuffer_blit,
  489. GL_EXT_framebuffer_multisample,
  490. GL_EXT_timer_query,
  491. GL_EXT_gpu_program_parameters,
  492. GL_EXT_bindable_uniform,
  493. GL_EXT_draw_buffers2,
  494. GL_EXT_draw_instanced,
  495. GL_EXT_framebuffer_sRGB,
  496. GL_EXT_geometry_shader4,
  497. GL_EXT_gpu_shader4,
  498. GL_EXT_packed_float,
  499. GL_EXT_texture_array,
  500. GL_EXT_texture_buffer_object,
  501. GL_EXT_texture_compression_latc,
  502. GL_EXT_texture_compression_rgtc,
  503. GL_EXT_texture_integer,
  504. GL_EXT_texture_shared_exponent,
  505. GL_EXT_transform_feedback,
  506. GL_EXT_direct_state_access,
  507. GL_EXT_vertex_array_bgra,
  508. GL_EXT_texture_swizzle,
  509. GL_EXT_provoking_vertex,
  510. GL_EXT_texture_snorm,
  511. GL_EXT_separate_shader_objects,
  512. GL_EXT_shader_image_load_store,
  513. GL_EXT_vertex_attrib_64bit,
  514. GL_EXT_texture_sRGB_decode,
  515. GL_FfdMaskSGIX,
  516. GL_HP_convolution_border_modes,
  517. GL_HP_image_transform,
  518. GL_HP_occlusion_test,
  519. GL_HP_texture_lighting,
  520. GL_IBM_cull_vertex,
  521. GL_IBM_multimode_draw_arrays,
  522. GL_IBM_rasterpos_clip,
  523. GL_IBM_texture_mirrored_repeat,
  524. GL_IBM_vertex_array_lists,
  525. GL_INGR_blend_func_separate,
  526. GL_INGR_color_clamp,
  527. GL_INGR_interlace_read,
  528. GL_INGR_palette_buffer,
  529. GL_INTEL_framebuffer_CMAA,
  530. GL_INTEL_parallel_arrays,
  531. GL_INTEL_texture_scissor,
  532. GL_MESA_resize_buffers,
  533. GL_MESA_window_pos,
  534. GL_NV_blend_square,
  535. GL_NV_copy_depth_to_color,
  536. GL_NV_depth_clamp,
  537. GL_NV_evaluators,
  538. GL_NV_fence,
  539. GL_NV_float_buffer,
  540. GL_NV_fog_distance,
  541. GL_NV_fragment_program,
  542. GL_NV_half_float,
  543. GL_NV_light_max_exponent,
  544. GL_NV_multisample_filter_hint,
  545. GL_NV_occlusion_query,
  546. GL_NV_packed_depth_stencil,
  547. GL_NV_pixel_data_range,
  548. GL_NV_point_sprite,
  549. GL_NV_primitive_restart,
  550. GL_NV_register_combiners,
  551. GL_NV_register_combiners2,
  552. GL_NV_texgen_emboss,
  553. GL_NV_texgen_reflection,
  554. GL_NV_texture_compression_vtc,
  555. GL_NV_texture_env_combine4,
  556. GL_NV_texture_expand_normal,
  557. GL_NV_texture_rectangle,
  558. GL_NV_texture_shader,
  559. GL_NV_texture_shader2,
  560. GL_NV_texture_shader3,
  561. GL_NV_vertex_array_range,
  562. GL_NV_vertex_array_range2,
  563. GL_NV_vertex_program,
  564. GL_NV_vertex_program1_1,
  565. GL_NV_vertex_program2,
  566. GL_NV_fragment_program_option,
  567. GL_NV_fragment_program2,
  568. GL_NV_vertex_program2_option,
  569. GL_NV_vertex_program3,
  570. GL_NV_depth_buffer_float,
  571. GL_NV_fragment_program4,
  572. GL_NV_framebuffer_multisample_coverage,
  573. GL_NV_geometry_program4,
  574. GL_NV_gpu_program4,
  575. GL_NV_parameter_buffer_object,
  576. GL_NV_transform_feedback,
  577. GL_NV_vertex_program4,
  578. GL_NV_conditional_render,
  579. GL_NV_conservative_raster,
  580. GL_NV_conservative_raster_dilate,
  581. GL_NV_present_video,
  582. GL_NV_explicit_multisample,
  583. GL_NV_transform_feedback2,
  584. GL_NV_video_capture,
  585. GL_NV_copy_image,
  586. GL_NV_parameter_buffer_object2,
  587. GL_NV_shader_buffer_load,
  588. GL_NV_vertex_buffer_unified_memory,
  589. GL_NV_gpu_program5,
  590. GL_NV_gpu_shader5,
  591. GL_NV_shader_buffer_store,
  592. GL_NV_tessellation_program5,
  593. GL_NV_vertex_attrib_integer_64bit,
  594. GL_NV_multisample_coverage,
  595. GL_NV_vdpau_interop,
  596. GL_NV_texture_barrier,
  597. GL_OML_interlace,
  598. GL_OML_resample,
  599. GL_OML_subsample,
  600. GL_OVR_multiview,
  601. GL_OVR_multiview2,
  602. GL_PGI_misc_hints,
  603. GL_PGI_vertex_hints,
  604. GL_REND_screen_coordinates,
  605. GL_S3_s3tc,
  606. GL_SGIS_detail_texture,
  607. GL_SGIS_fog_function,
  608. GL_SGIS_generate_mipmap,
  609. GL_SGIS_multisample,
  610. GL_SGIS_pixel_texture,
  611. GL_SGIS_point_line_texgen,
  612. GL_SGIS_point_parameters,
  613. GL_SGIS_sharpen_texture,
  614. GL_SGIS_texture4D,
  615. GL_SGIS_texture_border_clamp,
  616. GL_SGIS_texture_color_mask,
  617. GL_SGIS_texture_edge_clamp,
  618. GL_SGIS_texture_filter4,
  619. GL_SGIS_texture_lod,
  620. GL_SGIS_texture_select,
  621. GL_SGIX_async,
  622. GL_SGIX_async_histogram,
  623. GL_SGIX_async_pixel,
  624. GL_SGIX_blend_alpha_minmax,
  625. GL_SGIX_calligraphic_fragment,
  626. GL_SGIX_clipmap,
  627. GL_SGIX_convolution_accuracy,
  628. GL_SGIX_depth_pass_instrument,
  629. GL_SGIX_depth_texture,
  630. GL_SGIX_flush_raster,
  631. GL_SGIX_fog_offset,
  632. GL_SGIX_fog_scale,
  633. GL_SGIX_fragment_lighting,
  634. GL_SGIX_framezoom,
  635. GL_SGIX_igloo_interface,
  636. GL_SGIX_impact_pixel_texture,
  637. GL_SGIX_instruments,
  638. GL_SGIX_interlace,
  639. GL_SGIX_ir_instrument1,
  640. GL_SGIX_list_priority,
  641. GL_SGIX_pixel_texture,
  642. GL_SGIX_pixel_tiles,
  643. GL_SGIX_polynomial_ffd,
  644. GL_SGIX_reference_plane,
  645. GL_SGIX_resample,
  646. GL_SGIX_scalebias_hint,
  647. GL_SGIX_shadow,
  648. GL_SGIX_shadow_ambient,
  649. GL_SGIX_sprite,
  650. GL_SGIX_subsample,
  651. GL_SGIX_tag_sample_buffer,
  652. GL_SGIX_texture_add_env,
  653. GL_SGIX_texture_coordinate_clamp,
  654. GL_SGIX_texture_lod_bias,
  655. GL_SGIX_texture_multi_buffer,
  656. GL_SGIX_texture_scale_bias,
  657. GL_SGIX_texture_select,
  658. GL_SGIX_vertex_preclip,
  659. GL_SGIX_ycrcb,
  660. GL_SGIX_ycrcb_subsample,
  661. GL_SGIX_ycrcba,
  662. GL_SGI_color_matrix,
  663. GL_SGI_color_table,
  664. GL_SGI_depth_pass_instrument,
  665. GL_SGI_texture_color_table,
  666. GL_SUNX_constant_data,
  667. GL_SUN_convolution_border_modes,
  668. GL_SUN_global_alpha,
  669. GL_SUN_mesh_array,
  670. GL_SUN_slice_accum,
  671. GL_SUN_triangle_list,
  672. GL_SUN_vertex,
  673. // WGL
  674. GL_WIN_phong_shading,
  675. GL_WIN_specular_fog,
  676. WGL_3DFX_multisample,
  677. WGL_ARB_buffer_region,
  678. WGL_ARB_extensions_string,
  679. WGL_ARB_make_current_read,
  680. WGL_ARB_multisample,
  681. WGL_ARB_pbuffer,
  682. WGL_ARB_pixel_format,
  683. WGL_ARB_pixel_format_float,
  684. WGL_ARB_render_texture,
  685. WGL_ARB_create_context,
  686. WGL_ARB_create_context_profile,
  687. WGL_ARB_framebuffer_sRGB,
  688. WGL_ARB_create_context_robustness,
  689. WGL_ATI_pixel_format_float,
  690. WGL_AMD_gpu_association,
  691. WGL_EXT_depth_float,
  692. WGL_EXT_display_color_table,
  693. WGL_EXT_extensions_string,
  694. WGL_EXT_make_current_read,
  695. WGL_EXT_multisample,
  696. WGL_EXT_pbuffer,
  697. WGL_EXT_pixel_format,
  698. WGL_EXT_swap_control,
  699. WGL_EXT_create_context_es2_profile,
  700. WGL_I3D_digital_video_control,
  701. WGL_I3D_gamma,
  702. WGL_I3D_genlock,
  703. WGL_I3D_image_buffer,
  704. WGL_I3D_swap_frame_lock,
  705. WGL_I3D_swap_frame_usage,
  706. WGL_NV_float_buffer,
  707. WGL_NV_render_depth_texture,
  708. WGL_NV_render_texture_rectangle,
  709. WGL_NV_vertex_array_range,
  710. WGL_NV_present_video,
  711. WGL_NV_video_output,
  712. WGL_NV_swap_group,
  713. WGL_NV_gpu_affinity,
  714. WGL_NV_video_capture,
  715. WGL_NV_copy_image,
  716. WGL_NV_multisample_coverage,
  717. WGL_NV_DX_interop,
  718. WGL_OML_sync_control,
  719. WGL_3DL_stereo_control,
  720. WGL_ARB_context_flush_control,
  721. WIN_draw_range_elements,
  722. WIN_swap_hint,
  723. // GLX
  724. GLX_VERSION_1_3,
  725. GLX_VERSION_1_4,
  726. GLX_ARB_multisample,
  727. GLX_ARB_fbconfig_float,
  728. GLX_ARB_get_proc_address,
  729. GLX_ARB_create_context,
  730. GLX_ARB_create_context_profile,
  731. GLX_ARB_vertex_buffer_object,
  732. GLX_ARB_framebuffer_sRGB,
  733. GLX_ARB_create_context_robustness,
  734. GLX_EXT_visual_info,
  735. GLX_EXT_visual_rating,
  736. GLX_EXT_import_context,
  737. GLX_EXT_fbconfig_packed_float,
  738. GLX_EXT_framebuffer_sRGB,
  739. GLX_EXT_texture_from_pixmap,
  740. GLX_EXT_swap_control,
  741. GLX_ARB_context_flush_control,
  742. GLX_EXT_create_context_es2_profile : Boolean;
  743. const
  744. // GL_VERSION_1_1
  745. { AttribMask }
  746. GL_DEPTH_BUFFER_BIT = $00000100;
  747. GL_STENCIL_BUFFER_BIT = $00000400;
  748. GL_COLOR_BUFFER_BIT = $00004000;
  749. GL_TRUE = 1;
  750. GL_FALSE = 0;
  751. // BeginMode
  752. GL_POINTS = $0000;
  753. GL_LINES = $0001;
  754. GL_LINE_LOOP = $0002;
  755. GL_LINE_STRIP = $0003;
  756. GL_TRIANGLES = $0004;
  757. GL_TRIANGLE_STRIP = $0005;
  758. GL_TRIANGLE_FAN = $0006;
  759. { AlphaFunction }
  760. GL_NEVER = $0200;
  761. GL_LESS = $0201;
  762. GL_EQUAL = $0202;
  763. GL_LEQUAL = $0203;
  764. GL_GREATER = $0204;
  765. GL_NOTEQUAL = $0205;
  766. GL_GEQUAL = $0206;
  767. GL_ALWAYS = $0207;
  768. { BlendingFactorDest }
  769. GL_ZERO = 0;
  770. GL_ONE = 1;
  771. GL_SRC_COLOR = $0300;
  772. GL_ONE_MINUS_SRC_COLOR = $0301;
  773. GL_SRC_ALPHA = $0302;
  774. GL_ONE_MINUS_SRC_ALPHA = $0303;
  775. GL_DST_ALPHA = $0304;
  776. GL_ONE_MINUS_DST_ALPHA = $0305;
  777. { BlendingFactorSrc }
  778. GL_DST_COLOR = $0306;
  779. GL_ONE_MINUS_DST_COLOR = $0307;
  780. GL_SRC_ALPHA_SATURATE = $0308;
  781. { DrawBufferMode }
  782. GL_NONE = 0;
  783. GL_FRONT_LEFT = $0400;
  784. GL_FRONT_RIGHT = $0401;
  785. GL_BACK_LEFT = $0402;
  786. GL_BACK_RIGHT = $0403;
  787. GL_FRONT = $0404;
  788. GL_BACK = $0405;
  789. GL_LEFT = $0406;
  790. GL_RIGHT = $0407;
  791. GL_FRONT_AND_BACK = $0408;
  792. { ErrorCode }
  793. GL_NO_ERROR = 0;
  794. GL_INVALID_ENUM = $0500;
  795. GL_INVALID_VALUE = $0501;
  796. GL_INVALID_OPERATION = $0502;
  797. GL_OUT_OF_MEMORY = $0505;
  798. { FrontFaceDirection }
  799. GL_CW = $0900;
  800. GL_CCW = $0901;
  801. { GetPName }
  802. GL_POINT_SIZE = $0B11;
  803. GL_POINT_SIZE_RANGE = $0B12;
  804. GL_POINT_SIZE_GRANULARITY = $0B13;
  805. GL_LINE_SMOOTH = $0B20;
  806. GL_LINE_WIDTH = $0B21;
  807. GL_LINE_WIDTH_RANGE = $0B22;
  808. GL_LINE_WIDTH_GRANULARITY = $0B23;
  809. GL_POLYGON_SMOOTH = $0B41;
  810. GL_CULL_FACE = $0B44;
  811. GL_CULL_FACE_MODE = $0B45;
  812. GL_FRONT_FACE = $0B46;
  813. GL_DEPTH_RANGE = $0B70;
  814. GL_DEPTH_TEST = $0B71;
  815. GL_DEPTH_WRITEMASK = $0B72;
  816. GL_DEPTH_CLEAR_VALUE = $0B73;
  817. GL_DEPTH_FUNC = $0B74;
  818. GL_STENCIL_TEST = $0B90;
  819. GL_STENCIL_CLEAR_VALUE = $0B91;
  820. GL_STENCIL_FUNC = $0B92;
  821. GL_STENCIL_VALUE_MASK = $0B93;
  822. GL_STENCIL_FAIL = $0B94;
  823. GL_STENCIL_PASS_DEPTH_FAIL = $0B95;
  824. GL_STENCIL_PASS_DEPTH_PASS = $0B96;
  825. GL_STENCIL_REF = $0B97;
  826. GL_STENCIL_WRITEMASK = $0B98;
  827. GL_VIEWPORT = $0BA2;
  828. GL_DITHER = $0BD0;
  829. GL_BLEND_DST = $0BE0;
  830. GL_BLEND_SRC = $0BE1;
  831. GL_BLEND = $0BE2;
  832. GL_LOGIC_OP_MODE = $0BF0;
  833. GL_COLOR_LOGIC_OP = $0BF2;
  834. GL_DRAW_BUFFER = $0C01;
  835. GL_READ_BUFFER = $0C02;
  836. GL_SCISSOR_BOX = $0C10;
  837. GL_SCISSOR_TEST = $0C11;
  838. GL_COLOR_CLEAR_VALUE = $0C22;
  839. GL_COLOR_WRITEMASK = $0C23;
  840. GL_DOUBLEBUFFER = $0C32;
  841. GL_STEREO = $0C33;
  842. GL_LINE_SMOOTH_HINT = $0C52;
  843. GL_POLYGON_SMOOTH_HINT = $0C53;
  844. GL_UNPACK_SWAP_BYTES = $0CF0;
  845. GL_UNPACK_LSB_FIRST = $0CF1;
  846. GL_UNPACK_ROW_LENGTH = $0CF2;
  847. GL_UNPACK_SKIP_ROWS = $0CF3;
  848. GL_UNPACK_SKIP_PIXELS = $0CF4;
  849. GL_UNPACK_ALIGNMENT = $0CF5;
  850. GL_PACK_SWAP_BYTES = $0D00;
  851. GL_PACK_LSB_FIRST = $0D01;
  852. GL_PACK_ROW_LENGTH = $0D02;
  853. GL_PACK_SKIP_ROWS = $0D03;
  854. GL_PACK_SKIP_PIXELS = $0D04;
  855. GL_PACK_ALIGNMENT = $0D05;
  856. GL_MAX_TEXTURE_SIZE = $0D33;
  857. GL_MAX_VIEWPORT_DIMS = $0D3A;
  858. GL_SUBPIXEL_BITS = $0D50;
  859. GL_TEXTURE_1D = $0DE0;
  860. GL_TEXTURE_2D = $0DE1;
  861. GL_POLYGON_OFFSET_UNITS = $2A00;
  862. GL_POLYGON_OFFSET_POINT = $2A01;
  863. GL_POLYGON_OFFSET_LINE = $2A02;
  864. GL_POLYGON_OFFSET_FILL = $8037;
  865. GL_POLYGON_OFFSET_FACTOR = $8038;
  866. GL_TEXTURE_BINDING_1D = $8068;
  867. GL_TEXTURE_BINDING_2D = $8069;
  868. { GetTextureParameter }
  869. GL_TEXTURE_WIDTH = $1000;
  870. GL_TEXTURE_HEIGHT = $1001;
  871. GL_TEXTURE_INTERNAL_FORMAT = $1003;
  872. GL_TEXTURE_BORDER_COLOR = $1004;
  873. GL_TEXTURE_BORDER = $1005;
  874. GL_TEXTURE_RED_SIZE = $805C;
  875. GL_TEXTURE_GREEN_SIZE = $805D;
  876. GL_TEXTURE_BLUE_SIZE = $805E;
  877. GL_TEXTURE_ALPHA_SIZE = $805F;
  878. { HintMode }
  879. GL_DONT_CARE = $1100;
  880. GL_FASTEST = $1101;
  881. GL_NICEST = $1102;
  882. { DataType }
  883. GL_BYTE = $1400;
  884. GL_UNSIGNED_BYTE = $1401;
  885. GL_SHORT = $1402;
  886. GL_UNSIGNED_SHORT = $1403;
  887. GL_INT = $1404;
  888. GL_UNSIGNED_INT = $1405;
  889. GL_FLOAT = $1406;
  890. GL_DOUBLE = $140A;
  891. { LogicOp }
  892. GL_CLEAR = $1500;
  893. GL_AND = $1501;
  894. GL_AND_REVERSE = $1502;
  895. GL_COPY = $1503;
  896. GL_AND_INVERTED = $1504;
  897. GL_NOOP = $1505;
  898. GL_XOR = $1506;
  899. GL_OR = $1507;
  900. GL_NOR = $1508;
  901. GL_EQUIV = $1509;
  902. GL_INVERT = $150A;
  903. GL_OR_REVERSE = $150B;
  904. GL_COPY_INVERTED = $150C;
  905. GL_OR_INVERTED = $150D;
  906. GL_NAND = $150E;
  907. GL_SET = $150F;
  908. { MatrixMode (for gl3.h, FBO attachment type) }
  909. GL_TEXTURE = $1702;
  910. { PixelCopyType }
  911. GL_COLOR = $1800;
  912. GL_DEPTH = $1801;
  913. GL_STENCIL = $1802;
  914. { PixelFormat }
  915. GL_STENCIL_INDEX = $1901;
  916. GL_DEPTH_COMPONENT = $1902;
  917. GL_RED = $1903;
  918. GL_GREEN = $1904;
  919. GL_BLUE = $1905;
  920. GL_ALPHA = $1906;
  921. GL_RGB = $1907;
  922. GL_RGBA = $1908;
  923. { PolygonMode }
  924. GL_POINT = $1B00;
  925. GL_LINE = $1B01;
  926. GL_FILL = $1B02;
  927. { StencilOp }
  928. GL_KEEP = $1E00;
  929. GL_REPLACE = $1E01;
  930. GL_INCR = $1E02;
  931. GL_DECR = $1E03;
  932. { StringName }
  933. GL_VENDOR = $1F00;
  934. GL_RENDERER = $1F01;
  935. GL_VERSION = $1F02;
  936. GL_EXTENSIONS = $1F03;
  937. { TextureMagFilter }
  938. GL_NEAREST = $2600;
  939. GL_LINEAR = $2601;
  940. { TextureMinFilter }
  941. GL_NEAREST_MIPMAP_NEAREST = $2700;
  942. GL_LINEAR_MIPMAP_NEAREST = $2701;
  943. GL_NEAREST_MIPMAP_LINEAR = $2702;
  944. GL_LINEAR_MIPMAP_LINEAR = $2703;
  945. { TextureParameterName }
  946. GL_TEXTURE_MAG_FILTER = $2800;
  947. GL_TEXTURE_MIN_FILTER = $2801;
  948. GL_TEXTURE_WRAP_S = $2802;
  949. GL_TEXTURE_WRAP_T = $2803;
  950. { TextureTarget }
  951. GL_PROXY_TEXTURE_1D = $8063;
  952. GL_PROXY_TEXTURE_2D = $8064;
  953. { TextureWrapMode }
  954. GL_REPEAT = $2901;
  955. { PixelInternalFormat }
  956. GL_R3_G3_B2 = $2A10;
  957. GL_RGB4 = $804F;
  958. GL_RGB5 = $8050;
  959. GL_RGB8 = $8051;
  960. GL_RGB10 = $8052;
  961. GL_RGB12 = $8053;
  962. GL_RGB16 = $8054;
  963. GL_RGBA2 = $8055;
  964. GL_RGBA4 = $8056;
  965. GL_RGB5_A1 = $8057;
  966. GL_RGBA8 = $8058;
  967. GL_RGB10_A2 = $8059;
  968. GL_RGBA12 = $805A;
  969. GL_RGBA16 = $805B;
  970. {$IFDEF USE_DEPRECATED}
  971. GL_ACCUM = $0100;
  972. GL_LOAD = $0101;
  973. GL_RETURN = $0102;
  974. GL_MULT = $0103;
  975. GL_ADD = $0104;
  976. GL_CURRENT_BIT = $00000001;
  977. GL_POINT_BIT = $00000002;
  978. GL_LINE_BIT = $00000004;
  979. GL_POLYGON_BIT = $00000008;
  980. GL_POLYGON_STIPPLE_BIT = $00000010;
  981. GL_PIXEL_MODE_BIT = $00000020;
  982. GL_LIGHTING_BIT = $00000040;
  983. GL_FOG_BIT = $00000080;
  984. GL_ACCUM_BUFFER_BIT = $00000200;
  985. GL_VIEWPORT_BIT = $00000800;
  986. GL_TRANSFORM_BIT = $00001000;
  987. GL_ENABLE_BIT = $00002000;
  988. GL_HINT_BIT = $00008000;
  989. GL_EVAL_BIT = $00010000;
  990. GL_LIST_BIT = $00020000;
  991. GL_TEXTURE_BIT = $00040000;
  992. GL_SCISSOR_BIT = $00080000;
  993. GL_ALL_ATTRIB_BITS = $000FFFFF;
  994. GL_QUADS = $0007;
  995. GL_QUAD_STRIP = $0008;
  996. GL_POLYGON = $0009;
  997. GL_CLIP_PLANE0 = $3000;
  998. GL_CLIP_PLANE1 = $3001;
  999. GL_CLIP_PLANE2 = $3002;
  1000. GL_CLIP_PLANE3 = $3003;
  1001. GL_CLIP_PLANE4 = $3004;
  1002. GL_CLIP_PLANE5 = $3005;
  1003. GL_2_BYTES = $1407;
  1004. GL_3_BYTES = $1408;
  1005. GL_4_BYTES = $1409;
  1006. GL_AUX0 = $0409;
  1007. GL_AUX1 = $040A;
  1008. GL_AUX2 = $040B;
  1009. GL_AUX3 = $040C;
  1010. GL_STACK_OVERFLOW = $0503;
  1011. GL_STACK_UNDERFLOW = $0504;
  1012. GL_2D = $0600;
  1013. GL_3D = $0601;
  1014. GL_3D_COLOR = $0602;
  1015. GL_3D_COLOR_TEXTURE = $0603;
  1016. GL_4D_COLOR_TEXTURE = $0604;
  1017. GL_PASS_THROUGH_TOKEN = $0700;
  1018. GL_POINT_TOKEN = $0701;
  1019. GL_LINE_TOKEN = $0702;
  1020. GL_POLYGON_TOKEN = $0703;
  1021. GL_BITMAP_TOKEN = $0704;
  1022. GL_DRAW_PIXEL_TOKEN = $0705;
  1023. GL_COPY_PIXEL_TOKEN = $0706;
  1024. GL_LINE_RESET_TOKEN = $0707;
  1025. GL_EXP = $0800;
  1026. GL_EXP2 = $0801;
  1027. GL_COEFF = $0A00;
  1028. GL_ORDER = $0A01;
  1029. GL_DOMAIN = $0A02;
  1030. GL_CURRENT_COLOR = $0B00;
  1031. GL_CURRENT_INDEX = $0B01;
  1032. GL_CURRENT_NORMAL = $0B02;
  1033. GL_CURRENT_TEXTURE_COORDS = $0B03;
  1034. GL_CURRENT_RASTER_COLOR = $0B04;
  1035. GL_CURRENT_RASTER_INDEX = $0B05;
  1036. GL_CURRENT_RASTER_TEXTURE_COORDS = $0B06;
  1037. GL_CURRENT_RASTER_POSITION = $0B07;
  1038. GL_CURRENT_RASTER_POSITION_VALID = $0B08;
  1039. GL_CURRENT_RASTER_DISTANCE = $0B09;
  1040. GL_POINT_SMOOTH = $0B10;
  1041. GL_LINE_STIPPLE = $0B24;
  1042. GL_LINE_STIPPLE_PATTERN = $0B25;
  1043. GL_LINE_STIPPLE_REPEAT = $0B26;
  1044. GL_LIST_MODE = $0B30;
  1045. GL_MAX_LIST_NESTING = $0B31;
  1046. GL_LIST_BASE = $0B32;
  1047. GL_LIST_INDEX = $0B33;
  1048. GL_POLYGON_MODE = $0B40;
  1049. GL_POLYGON_STIPPLE = $0B42;
  1050. GL_EDGE_FLAG = $0B43;
  1051. GL_LIGHTING = $0B50;
  1052. GL_LIGHT_MODEL_LOCAL_VIEWER = $0B51;
  1053. GL_LIGHT_MODEL_TWO_SIDE = $0B52;
  1054. GL_LIGHT_MODEL_AMBIENT = $0B53;
  1055. GL_SHADE_MODEL = $0B54;
  1056. GL_COLOR_MATERIAL_FACE = $0B55;
  1057. GL_COLOR_MATERIAL_PARAMETER = $0B56;
  1058. GL_COLOR_MATERIAL = $0B57;
  1059. GL_FOG = $0B60;
  1060. GL_FOG_INDEX = $0B61;
  1061. GL_FOG_DENSITY = $0B62;
  1062. GL_FOG_START = $0B63;
  1063. GL_FOG_END = $0B64;
  1064. GL_FOG_MODE = $0B65;
  1065. GL_FOG_COLOR = $0B66;
  1066. GL_ACCUM_CLEAR_VALUE = $0B80;
  1067. GL_MATRIX_MODE = $0BA0;
  1068. GL_NORMALIZE = $0BA1;
  1069. GL_MODELVIEW_STACK_DEPTH = $0BA3;
  1070. GL_PROJECTION_STACK_DEPTH = $0BA4;
  1071. GL_TEXTURE_STACK_DEPTH = $0BA5;
  1072. GL_MODELVIEW_MATRIX = $0BA6;
  1073. GL_PROJECTION_MATRIX = $0BA7;
  1074. GL_TEXTURE_MATRIX = $0BA8;
  1075. GL_ATTRIB_STACK_DEPTH = $0BB0;
  1076. GL_CLIENT_ATTRIB_STACK_DEPTH = $0BB1;
  1077. GL_ALPHA_TEST = $0BC0;
  1078. GL_ALPHA_TEST_FUNC = $0BC1;
  1079. GL_ALPHA_TEST_REF = $0BC2;
  1080. GL_INDEX_LOGIC_OP = $0BF1;
  1081. GL_AUX_BUFFERS = $0C00;
  1082. GL_INDEX_CLEAR_VALUE = $0C20;
  1083. GL_INDEX_WRITEMASK = $0C21;
  1084. GL_INDEX_MODE = $0C30;
  1085. GL_RGBA_MODE = $0C31;
  1086. GL_RENDER_MODE = $0C40;
  1087. GL_PERSPECTIVE_CORRECTION_HINT = $0C50;
  1088. GL_POINT_SMOOTH_HINT = $0C51;
  1089. GL_FOG_HINT = $0C54;
  1090. GL_TEXTURE_GEN_S = $0C60;
  1091. GL_TEXTURE_GEN_T = $0C61;
  1092. GL_TEXTURE_GEN_R = $0C62;
  1093. GL_TEXTURE_GEN_Q = $0C63;
  1094. GL_PIXEL_MAP_I_TO_I = $0C70;
  1095. GL_PIXEL_MAP_S_TO_S = $0C71;
  1096. GL_PIXEL_MAP_I_TO_R = $0C72;
  1097. GL_PIXEL_MAP_I_TO_G = $0C73;
  1098. GL_PIXEL_MAP_I_TO_B = $0C74;
  1099. GL_PIXEL_MAP_I_TO_A = $0C75;
  1100. GL_PIXEL_MAP_R_TO_R = $0C76;
  1101. GL_PIXEL_MAP_G_TO_G = $0C77;
  1102. GL_PIXEL_MAP_B_TO_B = $0C78;
  1103. GL_PIXEL_MAP_A_TO_A = $0C79;
  1104. GL_PIXEL_MAP_I_TO_I_SIZE = $0CB0;
  1105. GL_PIXEL_MAP_S_TO_S_SIZE = $0CB1;
  1106. GL_PIXEL_MAP_I_TO_R_SIZE = $0CB2;
  1107. GL_PIXEL_MAP_I_TO_G_SIZE = $0CB3;
  1108. GL_PIXEL_MAP_I_TO_B_SIZE = $0CB4;
  1109. GL_PIXEL_MAP_I_TO_A_SIZE = $0CB5;
  1110. GL_PIXEL_MAP_R_TO_R_SIZE = $0CB6;
  1111. GL_PIXEL_MAP_G_TO_G_SIZE = $0CB7;
  1112. GL_PIXEL_MAP_B_TO_B_SIZE = $0CB8;
  1113. GL_PIXEL_MAP_A_TO_A_SIZE = $0CB9;
  1114. GL_MAP_COLOR = $0D10;
  1115. GL_MAP_STENCIL = $0D11;
  1116. GL_INDEX_SHIFT = $0D12;
  1117. GL_INDEX_OFFSET = $0D13;
  1118. GL_RED_SCALE = $0D14;
  1119. GL_RED_BIAS = $0D15;
  1120. GL_ZOOM_X = $0D16;
  1121. GL_ZOOM_Y = $0D17;
  1122. GL_GREEN_SCALE = $0D18;
  1123. GL_GREEN_BIAS = $0D19;
  1124. GL_BLUE_SCALE = $0D1A;
  1125. GL_BLUE_BIAS = $0D1B;
  1126. GL_ALPHA_SCALE = $0D1C;
  1127. GL_ALPHA_BIAS = $0D1D;
  1128. GL_DEPTH_SCALE = $0D1E;
  1129. GL_DEPTH_BIAS = $0D1F;
  1130. GL_MAX_EVAL_ORDER = $0D30;
  1131. GL_MAX_LIGHTS = $0D31;
  1132. GL_MAX_CLIP_PLANES = $0D32;
  1133. GL_MAX_PIXEL_MAP_TABLE = $0D34;
  1134. GL_MAX_ATTRIB_STACK_DEPTH = $0D35;
  1135. GL_MAX_MODELVIEW_STACK_DEPTH = $0D36;
  1136. GL_MAX_NAME_STACK_DEPTH = $0D37;
  1137. GL_MAX_PROJECTION_STACK_DEPTH = $0D38;
  1138. GL_MAX_TEXTURE_STACK_DEPTH = $0D39;
  1139. GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = $0D3B;
  1140. GL_INDEX_BITS = $0D51;
  1141. GL_RED_BITS = $0D52;
  1142. GL_GREEN_BITS = $0D53;
  1143. GL_BLUE_BITS = $0D54;
  1144. GL_ALPHA_BITS = $0D55;
  1145. GL_DEPTH_BITS = $0D56;
  1146. GL_STENCIL_BITS = $0D57;
  1147. GL_ACCUM_RED_BITS = $0D58;
  1148. GL_ACCUM_GREEN_BITS = $0D59;
  1149. GL_ACCUM_BLUE_BITS = $0D5A;
  1150. GL_ACCUM_ALPHA_BITS = $0D5B;
  1151. GL_NAME_STACK_DEPTH = $0D70;
  1152. GL_AUTO_NORMAL = $0D80;
  1153. GL_MAP1_COLOR_4 = $0D90;
  1154. GL_MAP1_INDEX = $0D91;
  1155. GL_MAP1_NORMAL = $0D92;
  1156. GL_MAP1_TEXTURE_COORD_1 = $0D93;
  1157. GL_MAP1_TEXTURE_COORD_2 = $0D94;
  1158. GL_MAP1_TEXTURE_COORD_3 = $0D95;
  1159. GL_MAP1_TEXTURE_COORD_4 = $0D96;
  1160. GL_MAP1_VERTEX_3 = $0D97;
  1161. GL_MAP1_VERTEX_4 = $0D98;
  1162. GL_MAP2_COLOR_4 = $0DB0;
  1163. GL_MAP2_INDEX = $0DB1;
  1164. GL_MAP2_NORMAL = $0DB2;
  1165. GL_MAP2_TEXTURE_COORD_1 = $0DB3;
  1166. GL_MAP2_TEXTURE_COORD_2 = $0DB4;
  1167. GL_MAP2_TEXTURE_COORD_3 = $0DB5;
  1168. GL_MAP2_TEXTURE_COORD_4 = $0DB6;
  1169. GL_MAP2_VERTEX_3 = $0DB7;
  1170. GL_MAP2_VERTEX_4 = $0DB8;
  1171. GL_MAP1_GRID_DOMAIN = $0DD0;
  1172. GL_MAP1_GRID_SEGMENTS = $0DD1;
  1173. GL_MAP2_GRID_DOMAIN = $0DD2;
  1174. GL_MAP2_GRID_SEGMENTS = $0DD3;
  1175. GL_FEEDBACK_BUFFER_POINTER = $0DF0;
  1176. GL_FEEDBACK_BUFFER_SIZE = $0DF1;
  1177. GL_FEEDBACK_BUFFER_TYPE = $0DF2;
  1178. GL_SELECTION_BUFFER_POINTER = $0DF3;
  1179. GL_SELECTION_BUFFER_SIZE = $0DF4;
  1180. GL_LIGHT0 = $4000;
  1181. GL_LIGHT1 = $4001;
  1182. GL_LIGHT2 = $4002;
  1183. GL_LIGHT3 = $4003;
  1184. GL_LIGHT4 = $4004;
  1185. GL_LIGHT5 = $4005;
  1186. GL_LIGHT6 = $4006;
  1187. GL_LIGHT7 = $4007;
  1188. GL_AMBIENT = $1200;
  1189. GL_DIFFUSE = $1201;
  1190. GL_SPECULAR = $1202;
  1191. GL_POSITION = $1203;
  1192. GL_SPOT_DIRECTION = $1204;
  1193. GL_SPOT_EXPONENT = $1205;
  1194. GL_SPOT_CUTOFF = $1206;
  1195. GL_CONSTANT_ATTENUATION = $1207;
  1196. GL_LINEAR_ATTENUATION = $1208;
  1197. GL_QUADRATIC_ATTENUATION = $1209;
  1198. GL_COMPILE = $1300;
  1199. GL_COMPILE_AND_EXECUTE = $1301;
  1200. GL_EMISSION = $1600;
  1201. GL_SHININESS = $1601;
  1202. GL_AMBIENT_AND_DIFFUSE = $1602;
  1203. GL_COLOR_INDEXES = $1603;
  1204. GL_MODELVIEW = $1700;
  1205. GL_PROJECTION = $1701;
  1206. GL_COLOR_INDEX = $1900;
  1207. GL_LUMINANCE = $1909;
  1208. GL_LUMINANCE_ALPHA = $190A;
  1209. GL_BITMAP = $1A00;
  1210. GL_RENDER = $1C00;
  1211. GL_FEEDBACK = $1C01;
  1212. GL_SELECT = $1C02;
  1213. GL_FLAT = $1D00;
  1214. GL_SMOOTH = $1D01;
  1215. GL_S = $2000;
  1216. GL_T = $2001;
  1217. GL_R = $2002;
  1218. GL_Q = $2003;
  1219. GL_MODULATE = $2100;
  1220. GL_DECAL = $2101;
  1221. GL_TEXTURE_ENV_MODE = $2200;
  1222. GL_TEXTURE_ENV_COLOR = $2201;
  1223. GL_TEXTURE_ENV = $2300;
  1224. GL_EYE_LINEAR = $2400;
  1225. GL_OBJECT_LINEAR = $2401;
  1226. GL_SPHERE_MAP = $2402;
  1227. GL_TEXTURE_GEN_MODE = $2500;
  1228. GL_OBJECT_PLANE = $2501;
  1229. GL_EYE_PLANE = $2502;
  1230. GL_CLAMP = $2900;
  1231. GL_CLIENT_PIXEL_STORE_BIT = $00000001;
  1232. GL_CLIENT_VERTEX_ARRAY_BIT = $00000002;
  1233. GL_CLIENT_ALL_ATTRIB_BITS = $FFFFFFFF;
  1234. GL_ALPHA4 = $803B;
  1235. GL_ALPHA8 = $803C;
  1236. GL_ALPHA12 = $803D;
  1237. GL_ALPHA16 = $803E;
  1238. GL_LUMINANCE4 = $803F;
  1239. GL_LUMINANCE8 = $8040;
  1240. GL_LUMINANCE12 = $8041;
  1241. GL_LUMINANCE16 = $8042;
  1242. GL_LUMINANCE4_ALPHA4 = $8043;
  1243. GL_LUMINANCE6_ALPHA2 = $8044;
  1244. GL_LUMINANCE8_ALPHA8 = $8045;
  1245. GL_LUMINANCE12_ALPHA4 = $8046;
  1246. GL_LUMINANCE12_ALPHA12 = $8047;
  1247. GL_LUMINANCE16_ALPHA16 = $8048;
  1248. GL_INTENSITY = $8049;
  1249. GL_INTENSITY4 = $804A;
  1250. GL_INTENSITY8 = $804B;
  1251. GL_INTENSITY12 = $804C;
  1252. GL_INTENSITY16 = $804D;
  1253. GL_TEXTURE_LUMINANCE_SIZE = $8060;
  1254. GL_TEXTURE_INTENSITY_SIZE = $8061;
  1255. GL_TEXTURE_PRIORITY = $8066;
  1256. GL_TEXTURE_RESIDENT = $8067;
  1257. GL_VERTEX_ARRAY = $8074;
  1258. GL_NORMAL_ARRAY = $8075;
  1259. GL_COLOR_ARRAY = $8076;
  1260. GL_INDEX_ARRAY = $8077;
  1261. GL_TEXTURE_COORD_ARRAY = $8078;
  1262. GL_EDGE_FLAG_ARRAY = $8079;
  1263. GL_VERTEX_ARRAY_SIZE = $807A;
  1264. GL_VERTEX_ARRAY_TYPE = $807B;
  1265. GL_VERTEX_ARRAY_STRIDE = $807C;
  1266. GL_NORMAL_ARRAY_TYPE = $807E;
  1267. GL_NORMAL_ARRAY_STRIDE = $807F;
  1268. GL_COLOR_ARRAY_SIZE = $8081;
  1269. GL_COLOR_ARRAY_TYPE = $8082;
  1270. GL_COLOR_ARRAY_STRIDE = $8083;
  1271. GL_INDEX_ARRAY_TYPE = $8085;
  1272. GL_INDEX_ARRAY_STRIDE = $8086;
  1273. GL_TEXTURE_COORD_ARRAY_SIZE = $8088;
  1274. GL_TEXTURE_COORD_ARRAY_TYPE = $8089;
  1275. GL_TEXTURE_COORD_ARRAY_STRIDE = $808A;
  1276. GL_EDGE_FLAG_ARRAY_STRIDE = $808C;
  1277. GL_VERTEX_ARRAY_POINTER = $808E;
  1278. GL_NORMAL_ARRAY_POINTER = $808F;
  1279. GL_COLOR_ARRAY_POINTER = $8090;
  1280. GL_INDEX_ARRAY_POINTER = $8091;
  1281. GL_TEXTURE_COORD_ARRAY_POINTER = $8092;
  1282. GL_EDGE_FLAG_ARRAY_POINTER = $8093;
  1283. GL_V2F = $2A20;
  1284. GL_V3F = $2A21;
  1285. GL_C4UB_V2F = $2A22;
  1286. GL_C4UB_V3F = $2A23;
  1287. GL_C3F_V3F = $2A24;
  1288. GL_N3F_V3F = $2A25;
  1289. GL_C4F_N3F_V3F = $2A26;
  1290. GL_T2F_V3F = $2A27;
  1291. GL_T4F_V4F = $2A28;
  1292. GL_T2F_C4UB_V3F = $2A29;
  1293. GL_T2F_C3F_V3F = $2A2A;
  1294. GL_T2F_N3F_V3F = $2A2B;
  1295. GL_T2F_C4F_N3F_V3F = $2A2C;
  1296. GL_T4F_C4F_N3F_V4F = $2A2D;
  1297. GL_COLOR_TABLE_FORMAT_EXT = $80D8;
  1298. GL_COLOR_TABLE_WIDTH_EXT = $80D9;
  1299. GL_COLOR_TABLE_RED_SIZE_EXT = $80DA;
  1300. GL_COLOR_TABLE_GREEN_SIZE_EXT = $80DB;
  1301. GL_COLOR_TABLE_BLUE_SIZE_EXT = $80DC;
  1302. GL_COLOR_TABLE_ALPHA_SIZE_EXT = $80DD;
  1303. GL_COLOR_TABLE_LUMINANCE_SIZE_EXT = $80DE;
  1304. GL_COLOR_TABLE_INTENSITY_SIZE_EXT = $80DF;
  1305. GL_LOGIC_OP = GL_INDEX_LOGIC_OP;
  1306. GL_TEXTURE_COMPONENTS = GL_TEXTURE_INTERNAL_FORMAT;
  1307. {$ENDIF}
  1308. // GL_VERSION_1_2
  1309. GL_UNSIGNED_BYTE_3_3_2 = $8032;
  1310. GL_UNSIGNED_SHORT_4_4_4_4 = $8033;
  1311. GL_UNSIGNED_SHORT_5_5_5_1 = $8034;
  1312. GL_UNSIGNED_INT_8_8_8_8 = $8035;
  1313. GL_UNSIGNED_INT_10_10_10_2 = $8036;
  1314. GL_TEXTURE_BINDING_3D = $806A;
  1315. GL_PACK_SKIP_IMAGES = $806B;
  1316. GL_PACK_IMAGE_HEIGHT = $806C;
  1317. GL_UNPACK_SKIP_IMAGES = $806D;
  1318. GL_UNPACK_IMAGE_HEIGHT = $806E;
  1319. GL_TEXTURE_3D = $806F;
  1320. GL_PROXY_TEXTURE_3D = $8070;
  1321. GL_TEXTURE_DEPTH = $8071;
  1322. GL_TEXTURE_WRAP_R = $8072;
  1323. GL_MAX_3D_TEXTURE_SIZE = $8073;
  1324. GL_UNSIGNED_BYTE_2_3_3_REV = $8362;
  1325. GL_UNSIGNED_SHORT_5_6_5 = $8363;
  1326. GL_UNSIGNED_SHORT_5_6_5_REV = $8364;
  1327. GL_UNSIGNED_SHORT_4_4_4_4_REV = $8365;
  1328. GL_UNSIGNED_SHORT_1_5_5_5_REV = $8366;
  1329. GL_UNSIGNED_INT_8_8_8_8_REV = $8367;
  1330. GL_UNSIGNED_INT_2_10_10_10_REV = $8368;
  1331. GL_BGR = $80E0;
  1332. GL_BGRA = $80E1;
  1333. GL_MAX_ELEMENTS_VERTICES = $80E8;
  1334. GL_MAX_ELEMENTS_INDICES = $80E9;
  1335. GL_CLAMP_TO_EDGE = $812F;
  1336. GL_TEXTURE_MIN_LOD = $813A;
  1337. GL_TEXTURE_MAX_LOD = $813B;
  1338. GL_TEXTURE_BASE_LEVEL = $813C;
  1339. GL_TEXTURE_MAX_LEVEL = $813D;
  1340. GL_SMOOTH_POINT_SIZE_RANGE = $0B12;
  1341. GL_SMOOTH_POINT_SIZE_GRANULARITY = $0B13;
  1342. GL_SMOOTH_LINE_WIDTH_RANGE = $0B22;
  1343. GL_SMOOTH_LINE_WIDTH_GRANULARITY = $0B23;
  1344. GL_ALIASED_LINE_WIDTH_RANGE = $846E;
  1345. {$IFDEF USE_DEPRECATED}
  1346. GL_RESCALE_NORMAL = $803A;
  1347. GL_LIGHT_MODEL_COLOR_CONTROL = $81F8;
  1348. GL_SINGLE_COLOR = $81F9;
  1349. GL_SEPARATE_SPECULAR_COLOR = $81FA;
  1350. GL_ALIASED_POINT_SIZE_RANGE = $846D;
  1351. {$ENDIF}
  1352. // GL_VERSION_1_3
  1353. GL_TEXTURE0 = $84C0;
  1354. GL_TEXTURE1 = $84C1;
  1355. GL_TEXTURE2 = $84C2;
  1356. GL_TEXTURE3 = $84C3;
  1357. GL_TEXTURE4 = $84C4;
  1358. GL_TEXTURE5 = $84C5;
  1359. GL_TEXTURE6 = $84C6;
  1360. GL_TEXTURE7 = $84C7;
  1361. GL_TEXTURE8 = $84C8;
  1362. GL_TEXTURE9 = $84C9;
  1363. GL_TEXTURE10 = $84CA;
  1364. GL_TEXTURE11 = $84CB;
  1365. GL_TEXTURE12 = $84CC;
  1366. GL_TEXTURE13 = $84CD;
  1367. GL_TEXTURE14 = $84CE;
  1368. GL_TEXTURE15 = $84CF;
  1369. GL_TEXTURE16 = $84D0;
  1370. GL_TEXTURE17 = $84D1;
  1371. GL_TEXTURE18 = $84D2;
  1372. GL_TEXTURE19 = $84D3;
  1373. GL_TEXTURE20 = $84D4;
  1374. GL_TEXTURE21 = $84D5;
  1375. GL_TEXTURE22 = $84D6;
  1376. GL_TEXTURE23 = $84D7;
  1377. GL_TEXTURE24 = $84D8;
  1378. GL_TEXTURE25 = $84D9;
  1379. GL_TEXTURE26 = $84DA;
  1380. GL_TEXTURE27 = $84DB;
  1381. GL_TEXTURE28 = $84DC;
  1382. GL_TEXTURE29 = $84DD;
  1383. GL_TEXTURE30 = $84DE;
  1384. GL_TEXTURE31 = $84DF;
  1385. GL_ACTIVE_TEXTURE = $84E0;
  1386. GL_MULTISAMPLE = $809D;
  1387. GL_SAMPLE_ALPHA_TO_COVERAGE = $809E;
  1388. GL_SAMPLE_ALPHA_TO_ONE = $809F;
  1389. GL_SAMPLE_COVERAGE = $80A0;
  1390. GL_SAMPLE_BUFFERS = $80A8;
  1391. GL_SAMPLES = $80A9;
  1392. GL_SAMPLE_COVERAGE_VALUE = $80AA;
  1393. GL_SAMPLE_COVERAGE_INVERT = $80AB;
  1394. GL_TEXTURE_CUBE_MAP = $8513;
  1395. GL_TEXTURE_BINDING_CUBE_MAP = $8514;
  1396. GL_TEXTURE_CUBE_MAP_POSITIVE_X = $8515;
  1397. GL_TEXTURE_CUBE_MAP_NEGATIVE_X = $8516;
  1398. GL_TEXTURE_CUBE_MAP_POSITIVE_Y = $8517;
  1399. GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = $8518;
  1400. GL_TEXTURE_CUBE_MAP_POSITIVE_Z = $8519;
  1401. GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = $851A;
  1402. GL_PROXY_TEXTURE_CUBE_MAP = $851B;
  1403. GL_MAX_CUBE_MAP_TEXTURE_SIZE = $851C;
  1404. GL_COMPRESSED_RGB = $84ED;
  1405. GL_COMPRESSED_RGBA = $84EE;
  1406. GL_TEXTURE_COMPRESSION_HINT = $84EF;
  1407. GL_TEXTURE_COMPRESSED_IMAGE_SIZE = $86A0;
  1408. GL_TEXTURE_COMPRESSED = $86A1;
  1409. GL_NUM_COMPRESSED_TEXTURE_FORMATS = $86A2;
  1410. GL_COMPRESSED_TEXTURE_FORMATS = $86A3;
  1411. GL_CLAMP_TO_BORDER = $812D;
  1412. {$IFDEF USE_DEPRECATED}
  1413. GL_CLIENT_ACTIVE_TEXTURE = $84E1;
  1414. GL_MAX_TEXTURE_UNITS = $84E2;
  1415. GL_TRANSPOSE_MODELVIEW_MATRIX = $84E3;
  1416. GL_TRANSPOSE_PROJECTION_MATRIX = $84E4;
  1417. GL_TRANSPOSE_TEXTURE_MATRIX = $84E5;
  1418. GL_TRANSPOSE_COLOR_MATRIX = $84E6;
  1419. GL_MULTISAMPLE_BIT = $20000000;
  1420. GL_NORMAL_MAP = $8511;
  1421. GL_REFLECTION_MAP = $8512;
  1422. GL_COMPRESSED_ALPHA = $84E9;
  1423. GL_COMPRESSED_LUMINANCE = $84EA;
  1424. GL_COMPRESSED_LUMINANCE_ALPHA = $84EB;
  1425. GL_COMPRESSED_INTENSITY = $84EC;
  1426. GL_COMBINE = $8570;
  1427. GL_COMBINE_RGB = $8571;
  1428. GL_COMBINE_ALPHA = $8572;
  1429. GL_SOURCE0_RGB = $8580;
  1430. GL_SOURCE1_RGB = $8581;
  1431. GL_SOURCE2_RGB = $8582;
  1432. GL_SOURCE0_ALPHA = $8588;
  1433. GL_SOURCE1_ALPHA = $8589;
  1434. GL_SOURCE2_ALPHA = $858A;
  1435. GL_OPERAND0_RGB = $8590;
  1436. GL_OPERAND1_RGB = $8591;
  1437. GL_OPERAND2_RGB = $8592;
  1438. GL_OPERAND0_ALPHA = $8598;
  1439. GL_OPERAND1_ALPHA = $8599;
  1440. GL_OPERAND2_ALPHA = $859A;
  1441. GL_RGB_SCALE = $8573;
  1442. GL_ADD_SIGNED = $8574;
  1443. GL_INTERPOLATE = $8575;
  1444. GL_SUBTRACT = $84E7;
  1445. GL_CONSTANT = $8576;
  1446. GL_PRIMARY_COLOR = $8577;
  1447. GL_PREVIOUS = $8578;
  1448. GL_DOT3_RGB = $86AE;
  1449. GL_DOT3_RGBA = $86AF;
  1450. {$ENDIF}
  1451. // GL_VERSION_1_4
  1452. GL_BLEND_DST_RGB = $80C8;
  1453. GL_BLEND_SRC_RGB = $80C9;
  1454. GL_BLEND_DST_ALPHA = $80CA;
  1455. GL_BLEND_SRC_ALPHA = $80CB;
  1456. GL_POINT_FADE_THRESHOLD_SIZE = $8128;
  1457. GL_DEPTH_COMPONENT16 = $81A5;
  1458. GL_DEPTH_COMPONENT24 = $81A6;
  1459. GL_DEPTH_COMPONENT32 = $81A7;
  1460. GL_MIRRORED_REPEAT = $8370;
  1461. GL_MAX_TEXTURE_LOD_BIAS = $84FD;
  1462. GL_TEXTURE_LOD_BIAS = $8501;
  1463. GL_INCR_WRAP = $8507;
  1464. GL_DECR_WRAP = $8508;
  1465. GL_TEXTURE_DEPTH_SIZE = $884A;
  1466. GL_TEXTURE_COMPARE_MODE = $884C;
  1467. GL_TEXTURE_COMPARE_FUNC = $884D;
  1468. {$IFDEF USE_DEPRECATED}
  1469. GL_POINT_SIZE_MIN = $8126;
  1470. GL_POINT_SIZE_MAX = $8127;
  1471. GL_POINT_DISTANCE_ATTENUATION = $8129;
  1472. GL_GENERATE_MIPMAP = $8191;
  1473. GL_GENERATE_MIPMAP_HINT = $8192;
  1474. GL_FOG_COORDINATE_SOURCE = $8450;
  1475. GL_FOG_COORDINATE = $8451;
  1476. GL_FRAGMENT_DEPTH = $8452;
  1477. GL_CURRENT_FOG_COORDINATE = $8453;
  1478. GL_FOG_COORDINATE_ARRAY_TYPE = $8454;
  1479. GL_FOG_COORDINATE_ARRAY_STRIDE = $8455;
  1480. GL_FOG_COORDINATE_ARRAY_POINTER = $8456;
  1481. GL_FOG_COORDINATE_ARRAY = $8457;
  1482. GL_COLOR_SUM = $8458;
  1483. GL_CURRENT_SECONDARY_COLOR = $8459;
  1484. GL_SECONDARY_COLOR_ARRAY_SIZE = $845A;
  1485. GL_SECONDARY_COLOR_ARRAY_TYPE = $845B;
  1486. GL_SECONDARY_COLOR_ARRAY_STRIDE = $845C;
  1487. GL_SECONDARY_COLOR_ARRAY_POINTER = $845D;
  1488. GL_SECONDARY_COLOR_ARRAY = $845E;
  1489. GL_TEXTURE_FILTER_CONTROL = $8500;
  1490. GL_DEPTH_TEXTURE_MODE = $884B;
  1491. GL_COMPARE_R_TO_TEXTURE = $884E;
  1492. {$ENDIF}
  1493. // GL_VERSION_1_5
  1494. GL_BUFFER_SIZE = $8764;
  1495. GL_BUFFER_USAGE = $8765;
  1496. GL_QUERY_COUNTER_BITS = $8864;
  1497. GL_CURRENT_QUERY = $8865;
  1498. GL_QUERY_RESULT = $8866;
  1499. GL_QUERY_RESULT_AVAILABLE = $8867;
  1500. GL_ARRAY_BUFFER = $8892;
  1501. GL_ELEMENT_ARRAY_BUFFER = $8893;
  1502. GL_ARRAY_BUFFER_BINDING = $8894;
  1503. GL_ELEMENT_ARRAY_BUFFER_BINDING = $8895;
  1504. GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = $889F;
  1505. GL_READ_ONLY = $88B8;
  1506. GL_WRITE_ONLY = $88B9;
  1507. GL_READ_WRITE = $88BA;
  1508. GL_BUFFER_ACCESS = $88BB;
  1509. GL_BUFFER_MAPPED = $88BC;
  1510. GL_BUFFER_MAP_POINTER = $88BD;
  1511. GL_STREAM_DRAW = $88E0;
  1512. GL_STREAM_READ = $88E1;
  1513. GL_STREAM_COPY = $88E2;
  1514. GL_STATIC_DRAW = $88E4;
  1515. GL_STATIC_READ = $88E5;
  1516. GL_STATIC_COPY = $88E6;
  1517. GL_DYNAMIC_DRAW = $88E8;
  1518. GL_DYNAMIC_READ = $88E9;
  1519. GL_DYNAMIC_COPY = $88EA;
  1520. GL_SAMPLES_PASSED = $8914;
  1521. {$IFDEF USE_DEPRECATED}
  1522. GL_VERTEX_ARRAY_BUFFER_BINDING = $8896;
  1523. GL_NORMAL_ARRAY_BUFFER_BINDING = $8897;
  1524. GL_COLOR_ARRAY_BUFFER_BINDING = $8898;
  1525. GL_INDEX_ARRAY_BUFFER_BINDING = $8899;
  1526. GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = $889A;
  1527. GL_EDGE_FLAG_ARRAY_BUFFER_BINDING = $889B;
  1528. GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING = $889C;
  1529. GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING = $889D;
  1530. GL_WEIGHT_ARRAY_BUFFER_BINDING = $889E;
  1531. GL_FOG_COORD_SRC = $8450;
  1532. GL_FOG_COORD = $8451;
  1533. GL_CURRENT_FOG_COORD = $8453;
  1534. GL_FOG_COORD_ARRAY_TYPE = $8454;
  1535. GL_FOG_COORD_ARRAY_STRIDE = $8455;
  1536. GL_FOG_COORD_ARRAY_POINTER = $8456;
  1537. GL_FOG_COORD_ARRAY = $8457;
  1538. GL_FOG_COORD_ARRAY_BUFFER_BINDING = $889D;
  1539. GL_SRC0_RGB = $8580;
  1540. GL_SRC1_RGB = $8581;
  1541. GL_SRC2_RGB = $8582;
  1542. GL_SRC0_ALPHA = $8588;
  1543. GL_SRC1_ALPHA = $8589;
  1544. GL_SRC2_ALPHA = $858A;
  1545. {$ENDIF}
  1546. // GL_VERSION_2_0
  1547. GL_BLEND_EQUATION_RGB = $8009;
  1548. GL_VERTEX_ATTRIB_ARRAY_ENABLED = $8622;
  1549. GL_VERTEX_ATTRIB_ARRAY_SIZE = $8623;
  1550. GL_VERTEX_ATTRIB_ARRAY_STRIDE = $8624;
  1551. GL_VERTEX_ATTRIB_ARRAY_TYPE = $8625;
  1552. GL_CURRENT_VERTEX_ATTRIB = $8626;
  1553. GL_VERTEX_PROGRAM_POINT_SIZE = $8642;
  1554. GL_VERTEX_ATTRIB_ARRAY_POINTER = $8645;
  1555. GL_STENCIL_BACK_FUNC = $8800;
  1556. GL_STENCIL_BACK_FAIL = $8801;
  1557. GL_STENCIL_BACK_PASS_DEPTH_FAIL = $8802;
  1558. GL_STENCIL_BACK_PASS_DEPTH_PASS = $8803;
  1559. GL_MAX_DRAW_BUFFERS = $8824;
  1560. GL_DRAW_BUFFER0 = $8825;
  1561. GL_DRAW_BUFFER1 = $8826;
  1562. GL_DRAW_BUFFER2 = $8827;
  1563. GL_DRAW_BUFFER3 = $8828;
  1564. GL_DRAW_BUFFER4 = $8829;
  1565. GL_DRAW_BUFFER5 = $882A;
  1566. GL_DRAW_BUFFER6 = $882B;
  1567. GL_DRAW_BUFFER7 = $882C;
  1568. GL_DRAW_BUFFER8 = $882D;
  1569. GL_DRAW_BUFFER9 = $882E;
  1570. GL_DRAW_BUFFER10 = $882F;
  1571. GL_DRAW_BUFFER11 = $8830;
  1572. GL_DRAW_BUFFER12 = $8831;
  1573. GL_DRAW_BUFFER13 = $8832;
  1574. GL_DRAW_BUFFER14 = $8833;
  1575. GL_DRAW_BUFFER15 = $8834;
  1576. GL_BLEND_EQUATION_ALPHA = $883D;
  1577. GL_MAX_VERTEX_ATTRIBS = $8869;
  1578. GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = $886A;
  1579. GL_MAX_TEXTURE_IMAGE_UNITS = $8872;
  1580. GL_FRAGMENT_SHADER = $8B30;
  1581. GL_VERTEX_SHADER = $8B31;
  1582. GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = $8B49;
  1583. GL_MAX_VERTEX_UNIFORM_COMPONENTS = $8B4A;
  1584. GL_MAX_VARYING_FLOATS = $8B4B;
  1585. GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = $8B4C;
  1586. GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = $8B4D;
  1587. GL_SHADER_TYPE = $8B4F;
  1588. GL_FLOAT_VEC2 = $8B50;
  1589. GL_FLOAT_VEC3 = $8B51;
  1590. GL_FLOAT_VEC4 = $8B52;
  1591. GL_INT_VEC2 = $8B53;
  1592. GL_INT_VEC3 = $8B54;
  1593. GL_INT_VEC4 = $8B55;
  1594. GL_BOOL = $8B56;
  1595. GL_BOOL_VEC2 = $8B57;
  1596. GL_BOOL_VEC3 = $8B58;
  1597. GL_BOOL_VEC4 = $8B59;
  1598. GL_FLOAT_MAT2 = $8B5A;
  1599. GL_FLOAT_MAT3 = $8B5B;
  1600. GL_FLOAT_MAT4 = $8B5C;
  1601. GL_SAMPLER_1D = $8B5D;
  1602. GL_SAMPLER_2D = $8B5E;
  1603. GL_SAMPLER_3D = $8B5F;
  1604. GL_SAMPLER_CUBE = $8B60;
  1605. GL_SAMPLER_1D_SHADOW = $8B61;
  1606. GL_SAMPLER_2D_SHADOW = $8B62;
  1607. GL_DELETE_STATUS = $8B80;
  1608. GL_COMPILE_STATUS = $8B81;
  1609. GL_LINK_STATUS = $8B82;
  1610. GL_VALIDATE_STATUS = $8B83;
  1611. GL_INFO_LOG_LENGTH = $8B84;
  1612. GL_ATTACHED_SHADERS = $8B85;
  1613. GL_ACTIVE_UNIFORMS = $8B86;
  1614. GL_ACTIVE_UNIFORM_MAX_LENGTH = $8B87;
  1615. GL_SHADER_SOURCE_LENGTH = $8B88;
  1616. GL_ACTIVE_ATTRIBUTES = $8B89;
  1617. GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = $8B8A;
  1618. GL_FRAGMENT_SHADER_DERIVATIVE_HINT = $8B8B;
  1619. GL_SHADING_LANGUAGE_VERSION = $8B8C;
  1620. GL_CURRENT_PROGRAM = $8B8D;
  1621. GL_POINT_SPRITE_COORD_ORIGIN = $8CA0;
  1622. GL_LOWER_LEFT = $8CA1;
  1623. GL_UPPER_LEFT = $8CA2;
  1624. GL_STENCIL_BACK_REF = $8CA3;
  1625. GL_STENCIL_BACK_VALUE_MASK = $8CA4;
  1626. GL_STENCIL_BACK_WRITEMASK = $8CA5;
  1627. {$IFDEF USE_DEPRECATED}
  1628. GL_VERTEX_PROGRAM_TWO_SIDE = $8643;
  1629. GL_POINT_SPRITE = $8861;
  1630. GL_COORD_REPLACE = $8862;
  1631. GL_MAX_TEXTURE_COORDS = $8871;
  1632. {$ENDIF}
  1633. // GL_VERSION_2_1
  1634. GL_PIXEL_PACK_BUFFER = $88EB;
  1635. GL_PIXEL_UNPACK_BUFFER = $88EC;
  1636. GL_PIXEL_PACK_BUFFER_BINDING = $88ED;
  1637. GL_PIXEL_UNPACK_BUFFER_BINDING = $88EF;
  1638. GL_FLOAT_MAT2x3 = $8B65;
  1639. GL_FLOAT_MAT2x4 = $8B66;
  1640. GL_FLOAT_MAT3x2 = $8B67;
  1641. GL_FLOAT_MAT3x4 = $8B68;
  1642. GL_FLOAT_MAT4x2 = $8B69;
  1643. GL_FLOAT_MAT4x3 = $8B6A;
  1644. GL_SRGB = $8C40;
  1645. GL_SRGB8 = $8C41;
  1646. GL_SRGB_ALPHA = $8C42;
  1647. GL_SRGB8_ALPHA8 = $8C43;
  1648. GL_COMPRESSED_SRGB = $8C48;
  1649. GL_COMPRESSED_SRGB_ALPHA = $8C49;
  1650. {$IFDEF USE_DEPRECATED}
  1651. GL_CURRENT_RASTER_SECONDARY_COLOR = $845F;
  1652. GL_SLUMINANCE_ALPHA = $8C44;
  1653. GL_SLUMINANCE8_ALPHA8 = $8C45;
  1654. GL_SLUMINANCE = $8C46;
  1655. GL_SLUMINANCE8 = $8C47;
  1656. GL_COMPRESSED_SLUMINANCE = $8C4A;
  1657. GL_COMPRESSED_SLUMINANCE_ALPHA = $8C4B;
  1658. {$ENDIF}
  1659. // GL_VERSION_3_0
  1660. GL_COMPARE_REF_TO_TEXTURE = $884E;
  1661. GL_CLIP_DISTANCE0 = $3000;
  1662. GL_CLIP_DISTANCE1 = $3001;
  1663. GL_CLIP_DISTANCE2 = $3002;
  1664. GL_CLIP_DISTANCE3 = $3003;
  1665. GL_CLIP_DISTANCE4 = $3004;
  1666. GL_CLIP_DISTANCE5 = $3005;
  1667. GL_CLIP_DISTANCE6 = $3006;
  1668. GL_CLIP_DISTANCE7 = $3007;
  1669. GL_MAX_CLIP_DISTANCES = $0D32;
  1670. GL_MAJOR_VERSION = $821B;
  1671. GL_MINOR_VERSION = $821C;
  1672. GL_NUM_EXTENSIONS = $821D;
  1673. GL_CONTEXT_FLAGS = $821E;
  1674. GL_DEPTH_BUFFER = $8223;
  1675. GL_STENCIL_BUFFER = $8224;
  1676. GL_COMPRESSED_RED = $8225;
  1677. GL_COMPRESSED_RG = $8226;
  1678. GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = $0001;
  1679. GL_RGBA32F = $8814;
  1680. GL_RGB32F = $8815;
  1681. GL_RGBA16F = $881A;
  1682. GL_RGB16F = $881B;
  1683. GL_VERTEX_ATTRIB_ARRAY_INTEGER = $88FD;
  1684. GL_MAX_ARRAY_TEXTURE_LAYERS = $88FF;
  1685. GL_MIN_PROGRAM_TEXEL_OFFSET = $8904;
  1686. GL_MAX_PROGRAM_TEXEL_OFFSET = $8905;
  1687. GL_CLAMP_READ_COLOR = $891C;
  1688. GL_FIXED_ONLY = $891D;
  1689. GL_MAX_VARYING_COMPONENTS = $8B4B;
  1690. GL_TEXTURE_1D_ARRAY = $8C18;
  1691. GL_PROXY_TEXTURE_1D_ARRAY = $8C19;
  1692. GL_TEXTURE_2D_ARRAY = $8C1A;
  1693. GL_PROXY_TEXTURE_2D_ARRAY = $8C1B;
  1694. GL_TEXTURE_BINDING_1D_ARRAY = $8C1C;
  1695. GL_TEXTURE_BINDING_2D_ARRAY = $8C1D;
  1696. GL_R11F_G11F_B10F = $8C3A;
  1697. GL_UNSIGNED_INT_10F_11F_11F_REV = $8C3B;
  1698. GL_RGB9_E5 = $8C3D;
  1699. GL_UNSIGNED_INT_5_9_9_9_REV = $8C3E;
  1700. GL_TEXTURE_SHARED_SIZE = $8C3F;
  1701. GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = $8C76;
  1702. GL_TRANSFORM_FEEDBACK_BUFFER_MODE = $8C7F;
  1703. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = $8C80;
  1704. GL_TRANSFORM_FEEDBACK_VARYINGS = $8C83;
  1705. GL_TRANSFORM_FEEDBACK_BUFFER_START = $8C84;
  1706. GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = $8C85;
  1707. GL_PRIMITIVES_GENERATED = $8C87;
  1708. GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = $8C88;
  1709. GL_RASTERIZER_DISCARD = $8C89;
  1710. GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = $8C8A;
  1711. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = $8C8B;
  1712. GL_INTERLEAVED_ATTRIBS = $8C8C;
  1713. GL_SEPARATE_ATTRIBS = $8C8D;
  1714. GL_TRANSFORM_FEEDBACK_BUFFER = $8C8E;
  1715. GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = $8C8F;
  1716. GL_RGBA32UI = $8D70;
  1717. GL_RGB32UI = $8D71;
  1718. GL_RGBA16UI = $8D76;
  1719. GL_RGB16UI = $8D77;
  1720. GL_RGBA8UI = $8D7C;
  1721. GL_RGB8UI = $8D7D;
  1722. GL_RGBA32I = $8D82;
  1723. GL_RGB32I = $8D83;
  1724. GL_RGBA16I = $8D88;
  1725. GL_RGB16I = $8D89;
  1726. GL_RGBA8I = $8D8E;
  1727. GL_RGB8I = $8D8F;
  1728. GL_RED_INTEGER = $8D94;
  1729. GL_GREEN_INTEGER = $8D95;
  1730. GL_BLUE_INTEGER = $8D96;
  1731. GL_RGB_INTEGER = $8D98;
  1732. GL_RGBA_INTEGER = $8D99;
  1733. GL_BGR_INTEGER = $8D9A;
  1734. GL_BGRA_INTEGER = $8D9B;
  1735. GL_SAMPLER_1D_ARRAY = $8DC0;
  1736. GL_SAMPLER_2D_ARRAY = $8DC1;
  1737. GL_SAMPLER_1D_ARRAY_SHADOW = $8DC3;
  1738. GL_SAMPLER_2D_ARRAY_SHADOW = $8DC4;
  1739. GL_SAMPLER_CUBE_SHADOW = $8DC5;
  1740. GL_UNSIGNED_INT_VEC2 = $8DC6;
  1741. GL_UNSIGNED_INT_VEC3 = $8DC7;
  1742. GL_UNSIGNED_INT_VEC4 = $8DC8;
  1743. GL_INT_SAMPLER_1D = $8DC9;
  1744. GL_INT_SAMPLER_2D = $8DCA;
  1745. GL_INT_SAMPLER_3D = $8DCB;
  1746. GL_INT_SAMPLER_CUBE = $8DCC;
  1747. GL_INT_SAMPLER_1D_ARRAY = $8DCE;
  1748. GL_INT_SAMPLER_2D_ARRAY = $8DCF;
  1749. GL_UNSIGNED_INT_SAMPLER_1D = $8DD1;
  1750. GL_UNSIGNED_INT_SAMPLER_2D = $8DD2;
  1751. GL_UNSIGNED_INT_SAMPLER_3D = $8DD3;
  1752. GL_UNSIGNED_INT_SAMPLER_CUBE = $8DD4;
  1753. GL_UNSIGNED_INT_SAMPLER_1D_ARRAY = $8DD6;
  1754. GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = $8DD7;
  1755. GL_QUERY_WAIT = $8E13;
  1756. GL_QUERY_NO_WAIT = $8E14;
  1757. GL_QUERY_BY_REGION_WAIT = $8E15;
  1758. GL_QUERY_BY_REGION_NO_WAIT = $8E16;
  1759. GL_BUFFER_ACCESS_FLAGS = $911F;
  1760. GL_BUFFER_MAP_LENGTH = $9120;
  1761. GL_BUFFER_MAP_OFFSET = $9121;
  1762. {$IFDEF USE_DEPRECATED}
  1763. GL_CLAMP_VERTEX_COLOR = $891A;
  1764. GL_CLAMP_FRAGMENT_COLOR = $891B;
  1765. GL_ALPHA_INTEGER = $8D97;
  1766. {$ENDIF}
  1767. // GL_VERSION_3_1
  1768. GL_SAMPLER_2D_RECT = $8B63;
  1769. GL_SAMPLER_2D_RECT_SHADOW = $8B64;
  1770. GL_SAMPLER_BUFFER = $8DC2;
  1771. GL_INT_SAMPLER_2D_RECT = $8DCD;
  1772. GL_INT_SAMPLER_BUFFER = $8DD0;
  1773. GL_UNSIGNED_INT_SAMPLER_2D_RECT = $8DD5;
  1774. GL_UNSIGNED_INT_SAMPLER_BUFFER = $8DD8;
  1775. GL_TEXTURE_BUFFER = $8C2A;
  1776. GL_MAX_TEXTURE_BUFFER_SIZE = $8C2B;
  1777. GL_TEXTURE_BINDING_BUFFER = $8C2C;
  1778. GL_TEXTURE_BUFFER_DATA_STORE_BINDING = $8C2D;
  1779. GL_TEXTURE_BUFFER_FORMAT = $8C2E;
  1780. GL_TEXTURE_RECTANGLE = $84F5;
  1781. GL_TEXTURE_BINDING_RECTANGLE = $84F6;
  1782. GL_PROXY_TEXTURE_RECTANGLE = $84F7;
  1783. GL_MAX_RECTANGLE_TEXTURE_SIZE = $84F8;
  1784. GL_RED_SNORM = $8F90;
  1785. GL_RG_SNORM = $8F91;
  1786. GL_RGB_SNORM = $8F92;
  1787. GL_RGBA_SNORM = $8F93;
  1788. GL_R8_SNORM = $8F94;
  1789. GL_RG8_SNORM = $8F95;
  1790. GL_RGB8_SNORM = $8F96;
  1791. GL_RGBA8_SNORM = $8F97;
  1792. GL_R16_SNORM = $8F98;
  1793. GL_RG16_SNORM = $8F99;
  1794. GL_RGB16_SNORM = $8F9A;
  1795. GL_RGBA16_SNORM = $8F9B;
  1796. GL_SIGNED_NORMALIZED = $8F9C;
  1797. GL_PRIMITIVE_RESTART = $8F9D;
  1798. GL_PRIMITIVE_RESTART_INDEX = $8F9E;
  1799. // GL_VERSION_3_2
  1800. GL_CONTEXT_CORE_PROFILE_BIT = $00000001;
  1801. GL_CONTEXT_COMPATIBILITY_PROFILE_BIT = $00000002;
  1802. GL_LINES_ADJACENCY = $000A;
  1803. GL_LINE_STRIP_ADJACENCY = $000B;
  1804. GL_TRIANGLES_ADJACENCY = $000C;
  1805. GL_TRIANGLE_STRIP_ADJACENCY = $000D;
  1806. GL_PROGRAM_POINT_SIZE = $8642;
  1807. GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = $8C29;
  1808. GL_FRAMEBUFFER_ATTACHMENT_LAYERED = $8DA7;
  1809. GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = $8DA8;
  1810. GL_GEOMETRY_SHADER = $8DD9;
  1811. GL_GEOMETRY_VERTICES_OUT = $8916;
  1812. GL_GEOMETRY_INPUT_TYPE = $8917;
  1813. GL_GEOMETRY_OUTPUT_TYPE = $8918;
  1814. GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = $8DDF;
  1815. GL_MAX_GEOMETRY_OUTPUT_VERTICES = $8DE0;
  1816. GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = $8DE1;
  1817. GL_MAX_VERTEX_OUTPUT_COMPONENTS = $9122;
  1818. GL_MAX_GEOMETRY_INPUT_COMPONENTS = $9123;
  1819. GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = $9124;
  1820. GL_MAX_FRAGMENT_INPUT_COMPONENTS = $9125;
  1821. GL_CONTEXT_PROFILE_MASK = $9126;
  1822. // GL_VERSION_3_3
  1823. GL_VERTEX_ATTRIB_ARRAY_DIVISOR = $88FE;
  1824. // GL_VERSION_4_0
  1825. GL_SAMPLE_SHADING = $8C36;
  1826. GL_MIN_SAMPLE_SHADING_VALUE = $8C37;
  1827. GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = $8E5E;
  1828. GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = $8E5F;
  1829. GL_TEXTURE_CUBE_MAP_ARRAY = $9009;
  1830. GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = $900A;
  1831. GL_PROXY_TEXTURE_CUBE_MAP_ARRAY = $900B;
  1832. GL_SAMPLER_CUBE_MAP_ARRAY = $900C;
  1833. GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW = $900D;
  1834. GL_INT_SAMPLER_CUBE_MAP_ARRAY = $900E;
  1835. GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = $900F;
  1836. // GL_VERSION_4_1
  1837. // GL_VERSION_4_2
  1838. // GL_VERSION_4_3
  1839. GL_NUM_SHADING_LANGUAGE_VERSIONS = $82E9;
  1840. GL_VERTEX_ATTRIB_ARRAY_LONG = $874E;
  1841. // GL_3DFX_multisample
  1842. GL_MULTISAMPLE_3DFX = $86B2;
  1843. GL_SAMPLE_BUFFERS_3DFX = $86B3;
  1844. GL_SAMPLES_3DFX = $86B4;
  1845. GL_MULTISAMPLE_BIT_3DFX = $20000000;
  1846. // GL_3DFX_texture_compression_FXT1
  1847. GL_COMPRESSED_RGB_FXT1_3DFX = $86B0;
  1848. GL_COMPRESSED_RGBA_FXT1_3DFX = $86B1;
  1849. // GL_APPLE_client_storage
  1850. GL_UNPACK_CLIENT_STORAGE_APPLE = $85B2;
  1851. // GL_APPLE_element_array
  1852. GL_ELEMENT_ARRAY_APPLE = $8A0C;
  1853. GL_ELEMENT_ARRAY_TYPE_APPLE = $8A0D;
  1854. GL_ELEMENT_ARRAY_POINTER_APPLE = $8A0E;
  1855. // GL_APPLE_fence
  1856. GL_DRAW_PIXELS_APPLE = $8A0A;
  1857. GL_FENCE_APPLE = $8A0B;
  1858. // GL_APPLE_specular_vector
  1859. GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE = $85B0;
  1860. // GL_APPLE_transform_hint
  1861. GL_TRANSFORM_HINT_APPLE = $85B1;
  1862. // GL_APPLE_vertex_array_object
  1863. GL_VERTEX_ARRAY_BINDING_APPLE = $85B5;
  1864. // GL_APPLE_vertex_array_range
  1865. GL_VERTEX_ARRAY_RANGE_APPLE = $851D;
  1866. GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE = $851E;
  1867. GL_VERTEX_ARRAY_STORAGE_HINT_APPLE = $851F;
  1868. GL_VERTEX_ARRAY_RANGE_POINTER_APPLE = $8521;
  1869. GL_STORAGE_CLIENT_APPLE = $85B4;
  1870. GL_STORAGE_CACHED_APPLE = $85BE;
  1871. GL_STORAGE_SHARED_APPLE = $85BF;
  1872. // GL_APPLE_ycbcr_422
  1873. GL_YCBCR_422_APPLE = $85B9;
  1874. GL_UNSIGNED_SHORT_8_8_APPLE = $85BA;
  1875. GL_UNSIGNED_SHORT_8_8_REV_APPLE = $85BB;
  1876. GL_RGB_RAW_422_APPLE = $8A51;
  1877. // GL_APPLE_texture_range
  1878. GL_TEXTURE_RANGE_LENGTH_APPLE = $85B7;
  1879. GL_TEXTURE_RANGE_POINTER_APPLE = $85B8;
  1880. GL_TEXTURE_STORAGE_HINT_APPLE = $85BC;
  1881. GL_STORAGE_PRIVATE_APPLE = $85BD;
  1882. { reuse GL_STORAGE_CACHED_APPLE }
  1883. { reuse GL_STORAGE_SHARED_APPLE }
  1884. // GL_APPLE_float_pixels
  1885. GL_HALF_APPLE = $140B;
  1886. GL_RGBA_FLOAT32_APPLE = $8814;
  1887. GL_RGB_FLOAT32_APPLE = $8815;
  1888. GL_ALPHA_FLOAT32_APPLE = $8816;
  1889. GL_INTENSITY_FLOAT32_APPLE = $8817;
  1890. GL_LUMINANCE_FLOAT32_APPLE = $8818;
  1891. GL_LUMINANCE_ALPHA_FLOAT32_APPLE = $8819;
  1892. GL_RGBA_FLOAT16_APPLE = $881A;
  1893. GL_RGB_FLOAT16_APPLE = $881B;
  1894. GL_ALPHA_FLOAT16_APPLE = $881C;
  1895. GL_INTENSITY_FLOAT16_APPLE = $881D;
  1896. GL_LUMINANCE_FLOAT16_APPLE = $881E;
  1897. GL_LUMINANCE_ALPHA_FLOAT16_APPLE = $881F;
  1898. GL_COLOR_FLOAT_APPLE = $8A0F;
  1899. // GL_APPLE_vertex_program_evaluators
  1900. GL_VERTEX_ATTRIB_MAP1_APPLE = $8A00;
  1901. GL_VERTEX_ATTRIB_MAP2_APPLE = $8A01;
  1902. GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE = $8A02;
  1903. GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE = $8A03;
  1904. GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE = $8A04;
  1905. GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE = $8A05;
  1906. GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE = $8A06;
  1907. GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE = $8A07;
  1908. GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE = $8A08;
  1909. GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE = $8A09;
  1910. // GL_APPLE_aux_depth_stencil
  1911. GL_AUX_DEPTH_STENCIL_APPLE = $8A14;
  1912. // GL_APPLE_object_purgeable
  1913. GL_BUFFER_OBJECT_APPLE = $85B3;
  1914. GL_RELEASED_APPLE = $8A19;
  1915. GL_VOLATILE_APPLE = $8A1A;
  1916. GL_RETAINED_APPLE = $8A1B;
  1917. GL_UNDEFINED_APPLE = $8A1C;
  1918. GL_PURGEABLE_APPLE = $8A1D;
  1919. // GL_APPLE_row_bytes
  1920. GL_PACK_ROW_BYTES_APPLE = $8A15;
  1921. GL_UNPACK_ROW_BYTES_APPLE = $8A16;
  1922. // GL_APPLE_rgb_422
  1923. { reuse GL_UNSIGNED_SHORT_8_8_APPLE }
  1924. { reuse GL_UNSIGNED_SHORT_8_8_REV_APPLE }
  1925. // GL_ARB_depth_texture
  1926. GL_DEPTH_COMPONENT16_ARB = $81A5;
  1927. GL_DEPTH_COMPONENT24_ARB = $81A6;
  1928. GL_DEPTH_COMPONENT32_ARB = $81A7;
  1929. GL_TEXTURE_DEPTH_SIZE_ARB = $884A;
  1930. GL_DEPTH_TEXTURE_MODE_ARB = $884B;
  1931. // GL_ARB_fragment_program
  1932. GL_FRAGMENT_PROGRAM_ARB = $8804;
  1933. GL_PROGRAM_ALU_INSTRUCTIONS_ARB = $8805;
  1934. GL_PROGRAM_TEX_INSTRUCTIONS_ARB = $8806;
  1935. GL_PROGRAM_TEX_INDIRECTIONS_ARB = $8807;
  1936. GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = $8808;
  1937. GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = $8809;
  1938. GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = $880A;
  1939. GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = $880B;
  1940. GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = $880C;
  1941. GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = $880D;
  1942. GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = $880E;
  1943. GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = $880F;
  1944. GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = $8810;
  1945. GL_MAX_TEXTURE_COORDS_ARB = $8871;
  1946. GL_MAX_TEXTURE_IMAGE_UNITS_ARB = $8872;
  1947. // GL_ARB_imaging
  1948. GL_CONSTANT_COLOR_ARB = $8001;
  1949. GL_ONE_MINUS_CONSTANT_COLOR = $8002;
  1950. GL_CONSTANT_ALPHA = $8003;
  1951. GL_ONE_MINUS_CONSTANT_ALPHA = $8004;
  1952. GL_BLEND_COLOR = $8005;
  1953. GL_FUNC_ADD = $8006;
  1954. GL_MIN = $8007;
  1955. GL_MAX = $8008;
  1956. GL_BLEND_EQUATION = $8009;
  1957. GL_FUNC_SUBTRACT = $800A;
  1958. GL_FUNC_REVERSE_SUBTRACT = $800B;
  1959. {$IFDEF USE_DEPRECATED}
  1960. GL_CONVOLUTION_1D = $8010;
  1961. GL_CONVOLUTION_2D = $8011;
  1962. GL_SEPARABLE_2D = $8012;
  1963. GL_CONVOLUTION_BORDER_MODE = $8013;
  1964. GL_CONVOLUTION_FILTER_SCALE = $8014;
  1965. GL_CONVOLUTION_FILTER_BIAS = $8015;
  1966. GL_REDUCE = $8016;
  1967. GL_CONVOLUTION_FORMAT = $8017;
  1968. GL_CONVOLUTION_WIDTH = $8018;
  1969. GL_CONVOLUTION_HEIGHT = $8019;
  1970. GL_MAX_CONVOLUTION_WIDTH = $801A;
  1971. GL_MAX_CONVOLUTION_HEIGHT = $801B;
  1972. GL_POST_CONVOLUTION_RED_SCALE = $801C;
  1973. GL_POST_CONVOLUTION_GREEN_SCALE = $801D;
  1974. GL_POST_CONVOLUTION_BLUE_SCALE = $801E;
  1975. GL_POST_CONVOLUTION_ALPHA_SCALE = $801F;
  1976. GL_POST_CONVOLUTION_RED_BIAS = $8020;
  1977. GL_POST_CONVOLUTION_GREEN_BIAS = $8021;
  1978. GL_POST_CONVOLUTION_BLUE_BIAS = $8022;
  1979. GL_POST_CONVOLUTION_ALPHA_BIAS = $8023;
  1980. GL_HISTOGRAM = $8024;
  1981. GL_PROXY_HISTOGRAM = $8025;
  1982. GL_HISTOGRAM_WIDTH = $8026;
  1983. GL_HISTOGRAM_FORMAT = $8027;
  1984. GL_HISTOGRAM_RED_SIZE = $8028;
  1985. GL_HISTOGRAM_GREEN_SIZE = $8029;
  1986. GL_HISTOGRAM_BLUE_SIZE = $802A;
  1987. GL_HISTOGRAM_ALPHA_SIZE = $802B;
  1988. GL_HISTOGRAM_LUMINANCE_SIZE = $802C;
  1989. GL_HISTOGRAM_SINK = $802D;
  1990. GL_MINMAX = $802E;
  1991. GL_MINMAX_FORMAT = $802F;
  1992. GL_MINMAX_SINK = $8030;
  1993. GL_TABLE_TOO_LARGE = $8031;
  1994. GL_COLOR_MATRIX = $80B1;
  1995. GL_COLOR_MATRIX_STACK_DEPTH = $80B2;
  1996. GL_MAX_COLOR_MATRIX_STACK_DEPTH = $80B3;
  1997. GL_POST_COLOR_MATRIX_RED_SCALE = $80B4;
  1998. GL_POST_COLOR_MATRIX_GREEN_SCALE = $80B5;
  1999. GL_POST_COLOR_MATRIX_BLUE_SCALE = $80B6;
  2000. GL_POST_COLOR_MATRIX_ALPHA_SCALE = $80B7;
  2001. GL_POST_COLOR_MATRIX_RED_BIAS = $80B8;
  2002. GL_POST_COLOR_MATRIX_GREEN_BIAS = $80B9;
  2003. GL_POST_COLOR_MATRIX_BLUE_BIAS = $80BA;
  2004. GL_POST_COLOR_MATRIX_ALPHA_BIAS = $80BB;
  2005. GL_COLOR_TABLE = $80D0;
  2006. GL_POST_CONVOLUTION_COLOR_TABLE = $80D1;
  2007. GL_POST_COLOR_MATRIX_COLOR_TABLE = $80D2;
  2008. GL_PROXY_COLOR_TABLE = $80D3;
  2009. GL_PROXY_POST_CONVOLUTION_COLOR_TABLE = $80D4;
  2010. GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = $80D5;
  2011. GL_COLOR_TABLE_SCALE = $80D6;
  2012. GL_COLOR_TABLE_BIAS = $80D7;
  2013. GL_COLOR_TABLE_FORMAT = $80D8;
  2014. GL_COLOR_TABLE_WIDTH = $80D9;
  2015. GL_COLOR_TABLE_RED_SIZE = $80DA;
  2016. GL_COLOR_TABLE_GREEN_SIZE = $80DB;
  2017. GL_COLOR_TABLE_BLUE_SIZE = $80DC;
  2018. GL_COLOR_TABLE_ALPHA_SIZE = $80DD;
  2019. GL_COLOR_TABLE_LUMINANCE_SIZE = $80DE;
  2020. GL_COLOR_TABLE_INTENSITY_SIZE = $80DF;
  2021. GL_CONSTANT_BORDER = $8151;
  2022. GL_REPLICATE_BORDER = $8153;
  2023. GL_CONVOLUTION_BORDER_COLOR = $8154;
  2024. {$ENDIF}
  2025. // GL_ARB_matrix_palette
  2026. GL_MATRIX_PALETTE_ARB = $8840;
  2027. GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = $8841;
  2028. GL_MAX_PALETTE_MATRICES_ARB = $8842;
  2029. GL_CURRENT_PALETTE_MATRIX_ARB = $8843;
  2030. GL_MATRIX_INDEX_ARRAY_ARB = $8844;
  2031. GL_CURRENT_MATRIX_INDEX_ARB = $8845;
  2032. GL_MATRIX_INDEX_ARRAY_SIZE_ARB = $8846;
  2033. GL_MATRIX_INDEX_ARRAY_TYPE_ARB = $8847;
  2034. GL_MATRIX_INDEX_ARRAY_STRIDE_ARB = $8848;
  2035. GL_MATRIX_INDEX_ARRAY_POINTER_ARB = $8849;
  2036. // GL_ARB_multisample
  2037. GL_MULTISAMPLE_ARB = $809D;
  2038. GL_SAMPLE_ALPHA_TO_COVERAGE_ARB = $809E;
  2039. GL_SAMPLE_ALPHA_TO_ONE_ARB = $809F;
  2040. GL_SAMPLE_COVERAGE_ARB = $80A0;
  2041. GL_SAMPLE_BUFFERS_ARB = $80A8;
  2042. GL_SAMPLES_ARB = $80A9;
  2043. GL_SAMPLE_COVERAGE_VALUE_ARB = $80AA;
  2044. GL_SAMPLE_COVERAGE_INVERT_ARB = $80AB;
  2045. GL_MULTISAMPLE_BIT_ARB = $20000000;
  2046. // GL_ARB_multitexture
  2047. GL_TEXTURE0_ARB = $84C0;
  2048. GL_TEXTURE1_ARB = $84C1;
  2049. GL_TEXTURE2_ARB = $84C2;
  2050. GL_TEXTURE3_ARB = $84C3;
  2051. GL_TEXTURE4_ARB = $84C4;
  2052. GL_TEXTURE5_ARB = $84C5;
  2053. GL_TEXTURE6_ARB = $84C6;
  2054. GL_TEXTURE7_ARB = $84C7;
  2055. GL_TEXTURE8_ARB = $84C8;
  2056. GL_TEXTURE9_ARB = $84C9;
  2057. GL_TEXTURE10_ARB = $84CA;
  2058. GL_TEXTURE11_ARB = $84CB;
  2059. GL_TEXTURE12_ARB = $84CC;
  2060. GL_TEXTURE13_ARB = $84CD;
  2061. GL_TEXTURE14_ARB = $84CE;
  2062. GL_TEXTURE15_ARB = $84CF;
  2063. GL_TEXTURE16_ARB = $84D0;
  2064. GL_TEXTURE17_ARB = $84D1;
  2065. GL_TEXTURE18_ARB = $84D2;
  2066. GL_TEXTURE19_ARB = $84D3;
  2067. GL_TEXTURE20_ARB = $84D4;
  2068. GL_TEXTURE21_ARB = $84D5;
  2069. GL_TEXTURE22_ARB = $84D6;
  2070. GL_TEXTURE23_ARB = $84D7;
  2071. GL_TEXTURE24_ARB = $84D8;
  2072. GL_TEXTURE25_ARB = $84D9;
  2073. GL_TEXTURE26_ARB = $84DA;
  2074. GL_TEXTURE27_ARB = $84DB;
  2075. GL_TEXTURE28_ARB = $84DC;
  2076. GL_TEXTURE29_ARB = $84DD;
  2077. GL_TEXTURE30_ARB = $84DE;
  2078. GL_TEXTURE31_ARB = $84DF;
  2079. GL_ACTIVE_TEXTURE_ARB = $84E0;
  2080. GL_CLIENT_ACTIVE_TEXTURE_ARB = $84E1;
  2081. GL_MAX_TEXTURE_UNITS_ARB = $84E2;
  2082. // GL_ARB_point_parameters
  2083. GL_POINT_SIZE_MIN_ARB = $8126;
  2084. GL_POINT_SIZE_MAX_ARB = $8127;
  2085. GL_POINT_FADE_THRESHOLD_SIZE_ARB = $8128;
  2086. GL_POINT_DISTANCE_ATTENUATION_ARB = $8129;
  2087. // GL_ARB_shadow
  2088. GL_TEXTURE_COMPARE_MODE_ARB = $884C;
  2089. GL_TEXTURE_COMPARE_FUNC_ARB = $884D;
  2090. GL_COMPARE_R_TO_TEXTURE_ARB = $884E;
  2091. // GL_ARB_shadow_ambient
  2092. GL_TEXTURE_COMPARE_FAIL_VALUE_ARB = $80BF;
  2093. // GL_ARB_sparse_buffer
  2094. GL_SPARSE_STORAGE_BIT_ARB = $0400;
  2095. GL_SPARSE_BUFFER_PAGE_SIZE_ARB = $82F8;
  2096. // GL_ARB_texture_border_clamp
  2097. GL_CLAMP_TO_BORDER_ARB = $812D;
  2098. // GL_ARB_texture_compression
  2099. GL_COMPRESSED_ALPHA_ARB = $84E9;
  2100. GL_COMPRESSED_LUMINANCE_ARB = $84EA;
  2101. GL_COMPRESSED_LUMINANCE_ALPHA_ARB = $84EB;
  2102. GL_COMPRESSED_INTENSITY_ARB = $84EC;
  2103. GL_COMPRESSED_RGB_ARB = $84ED;
  2104. GL_COMPRESSED_RGBA_ARB = $84EE;
  2105. GL_TEXTURE_COMPRESSION_HINT_ARB = $84EF;
  2106. GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = $86A0;
  2107. GL_TEXTURE_COMPRESSED_ARB = $86A1;
  2108. GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = $86A2;
  2109. GL_COMPRESSED_TEXTURE_FORMATS_ARB = $86A3;
  2110. // GL_ARB_texture_cube_map
  2111. GL_NORMAL_MAP_ARB = $8511;
  2112. GL_REFLECTION_MAP_ARB = $8512;
  2113. GL_TEXTURE_CUBE_MAP_ARB = $8513;
  2114. GL_TEXTURE_BINDING_CUBE_MAP_ARB = $8514;
  2115. GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = $8515;
  2116. GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = $8516;
  2117. GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = $8517;
  2118. GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = $8518;
  2119. GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = $8519;
  2120. GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = $851A;
  2121. GL_PROXY_TEXTURE_CUBE_MAP_ARB = $851B;
  2122. GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = $851C;
  2123. // GL_ARB_texture_env_combine
  2124. GL_COMBINE_ARB = $8570;
  2125. GL_COMBINE_RGB_ARB = $8571;
  2126. GL_COMBINE_ALPHA_ARB = $8572;
  2127. GL_SOURCE0_RGB_ARB = $8580;
  2128. GL_SOURCE1_RGB_ARB = $8581;
  2129. GL_SOURCE2_RGB_ARB = $8582;
  2130. GL_SOURCE0_ALPHA_ARB = $8588;
  2131. GL_SOURCE1_ALPHA_ARB = $8589;
  2132. GL_SOURCE2_ALPHA_ARB = $858A;
  2133. GL_OPERAND0_RGB_ARB = $8590;
  2134. GL_OPERAND1_RGB_ARB = $8591;
  2135. GL_OPERAND2_RGB_ARB = $8592;
  2136. GL_OPERAND0_ALPHA_ARB = $8598;
  2137. GL_OPERAND1_ALPHA_ARB = $8599;
  2138. GL_OPERAND2_ALPHA_ARB = $859A;
  2139. GL_RGB_SCALE_ARB = $8573;
  2140. GL_ADD_SIGNED_ARB = $8574;
  2141. GL_INTERPOLATE_ARB = $8575;
  2142. GL_SUBTRACT_ARB = $84E7;
  2143. GL_CONSTANT_ARB = $8576;
  2144. GL_PRIMARY_COLOR_ARB = $8577;
  2145. GL_PREVIOUS_ARB = $8578;
  2146. // GL_ARB_texture_env_dot3
  2147. GL_DOT3_RGB_ARB = $86AE;
  2148. GL_DOT3_RGBA_ARB = $86AF;
  2149. // GL_ARB_texture_filter_minmax
  2150. GL_TEXTURE_REDUCTION_MODE_ARB = $9366;
  2151. GL_WEIGHTED_AVERAGE_ARB = $9367;
  2152. // GL_ARB_texture_mirrored_repeat
  2153. GL_MIRRORED_REPEAT_ARB = $8370;
  2154. // GL_ARB_transpose_matrix
  2155. GL_TRANSPOSE_MODELVIEW_MATRIX_ARB = $84E3;
  2156. GL_TRANSPOSE_PROJECTION_MATRIX_ARB = $84E4;
  2157. GL_TRANSPOSE_TEXTURE_MATRIX_ARB = $84E5;
  2158. GL_TRANSPOSE_COLOR_MATRIX_ARB = $84E6;
  2159. // GL_ARB_vertex_blend
  2160. GL_MAX_VERTEX_UNITS_ARB = $86A4;
  2161. GL_ACTIVE_VERTEX_UNITS_ARB = $86A5;
  2162. GL_WEIGHT_SUM_UNITY_ARB = $86A6;
  2163. GL_VERTEX_BLEND_ARB = $86A7;
  2164. GL_CURRENT_WEIGHT_ARB = $86A8;
  2165. GL_WEIGHT_ARRAY_TYPE_ARB = $86A9;
  2166. GL_WEIGHT_ARRAY_STRIDE_ARB = $86AA;
  2167. GL_WEIGHT_ARRAY_SIZE_ARB = $86AB;
  2168. GL_WEIGHT_ARRAY_POINTER_ARB = $86AC;
  2169. GL_WEIGHT_ARRAY_ARB = $86AD;
  2170. GL_MODELVIEW0_ARB = $1700;
  2171. GL_MODELVIEW1_ARB = $850A;
  2172. GL_MODELVIEW2_ARB = $8722;
  2173. GL_MODELVIEW3_ARB = $8723;
  2174. GL_MODELVIEW4_ARB = $8724;
  2175. GL_MODELVIEW5_ARB = $8725;
  2176. GL_MODELVIEW6_ARB = $8726;
  2177. GL_MODELVIEW7_ARB = $8727;
  2178. GL_MODELVIEW8_ARB = $8728;
  2179. GL_MODELVIEW9_ARB = $8729;
  2180. GL_MODELVIEW10_ARB = $872A;
  2181. GL_MODELVIEW11_ARB = $872B;
  2182. GL_MODELVIEW12_ARB = $872C;
  2183. GL_MODELVIEW13_ARB = $872D;
  2184. GL_MODELVIEW14_ARB = $872E;
  2185. GL_MODELVIEW15_ARB = $872F;
  2186. GL_MODELVIEW16_ARB = $8730;
  2187. GL_MODELVIEW17_ARB = $8731;
  2188. GL_MODELVIEW18_ARB = $8732;
  2189. GL_MODELVIEW19_ARB = $8733;
  2190. GL_MODELVIEW20_ARB = $8734;
  2191. GL_MODELVIEW21_ARB = $8735;
  2192. GL_MODELVIEW22_ARB = $8736;
  2193. GL_MODELVIEW23_ARB = $8737;
  2194. GL_MODELVIEW24_ARB = $8738;
  2195. GL_MODELVIEW25_ARB = $8739;
  2196. GL_MODELVIEW26_ARB = $873A;
  2197. GL_MODELVIEW27_ARB = $873B;
  2198. GL_MODELVIEW28_ARB = $873C;
  2199. GL_MODELVIEW29_ARB = $873D;
  2200. GL_MODELVIEW30_ARB = $873E;
  2201. GL_MODELVIEW31_ARB = $873F;
  2202. // GL_ARB_vertex_buffer_object
  2203. GL_BUFFER_SIZE_ARB = $8764;
  2204. GL_BUFFER_USAGE_ARB = $8765;
  2205. GL_ARRAY_BUFFER_ARB = $8892;
  2206. GL_ELEMENT_ARRAY_BUFFER_ARB = $8893;
  2207. GL_ARRAY_BUFFER_BINDING_ARB = $8894;
  2208. GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB = $8895;
  2209. GL_VERTEX_ARRAY_BUFFER_BINDING_ARB = $8896;
  2210. GL_NORMAL_ARRAY_BUFFER_BINDING_ARB = $8897;
  2211. GL_COLOR_ARRAY_BUFFER_BINDING_ARB = $8898;
  2212. GL_INDEX_ARRAY_BUFFER_BINDING_ARB = $8899;
  2213. GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = $889A;
  2214. GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = $889B;
  2215. GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = $889C;
  2216. GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = $889D;
  2217. GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB = $889E;
  2218. GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = $889F;
  2219. GL_READ_ONLY_ARB = $88B8;
  2220. GL_WRITE_ONLY_ARB = $88B9;
  2221. GL_READ_WRITE_ARB = $88BA;
  2222. GL_BUFFER_ACCESS_ARB = $88BB;
  2223. GL_BUFFER_MAPPED_ARB = $88BC;
  2224. GL_BUFFER_MAP_POINTER_ARB = $88BD;
  2225. GL_STREAM_DRAW_ARB = $88E0;
  2226. GL_STREAM_READ_ARB = $88E1;
  2227. GL_STREAM_COPY_ARB = $88E2;
  2228. GL_STATIC_DRAW_ARB = $88E4;
  2229. GL_STATIC_READ_ARB = $88E5;
  2230. GL_STATIC_COPY_ARB = $88E6;
  2231. GL_DYNAMIC_DRAW_ARB = $88E8;
  2232. GL_DYNAMIC_READ_ARB = $88E9;
  2233. GL_DYNAMIC_COPY_ARB = $88EA;
  2234. // GL_ARB_vertex_program
  2235. GL_COLOR_SUM_ARB = $8458;
  2236. GL_VERTEX_PROGRAM_ARB = $8620;
  2237. GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB = $8622;
  2238. GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB = $8623;
  2239. GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB = $8624;
  2240. GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB = $8625;
  2241. GL_CURRENT_VERTEX_ATTRIB_ARB = $8626;
  2242. GL_PROGRAM_LENGTH_ARB = $8627;
  2243. GL_PROGRAM_STRING_ARB = $8628;
  2244. GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = $862E;
  2245. GL_MAX_PROGRAM_MATRICES_ARB = $862F;
  2246. GL_CURRENT_MATRIX_STACK_DEPTH_ARB = $8640;
  2247. GL_CURRENT_MATRIX_ARB = $8641;
  2248. GL_VERTEX_PROGRAM_POINT_SIZE_ARB = $8642;
  2249. GL_VERTEX_PROGRAM_TWO_SIDE_ARB = $8643;
  2250. GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB = $8645;
  2251. GL_PROGRAM_ERROR_POSITION_ARB = $864B;
  2252. GL_PROGRAM_BINDING_ARB = $8677;
  2253. GL_MAX_VERTEX_ATTRIBS_ARB = $8869;
  2254. GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = $886A;
  2255. GL_PROGRAM_ERROR_STRING_ARB = $8874;
  2256. GL_PROGRAM_FORMAT_ASCII_ARB = $8875;
  2257. GL_PROGRAM_FORMAT_ARB = $8876;
  2258. GL_PROGRAM_INSTRUCTIONS_ARB = $88A0;
  2259. GL_MAX_PROGRAM_INSTRUCTIONS_ARB = $88A1;
  2260. GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = $88A2;
  2261. GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = $88A3;
  2262. GL_PROGRAM_TEMPORARIES_ARB = $88A4;
  2263. GL_MAX_PROGRAM_TEMPORARIES_ARB = $88A5;
  2264. GL_PROGRAM_NATIVE_TEMPORARIES_ARB = $88A6;
  2265. GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = $88A7;
  2266. GL_PROGRAM_PARAMETERS_ARB = $88A8;
  2267. GL_MAX_PROGRAM_PARAMETERS_ARB = $88A9;
  2268. GL_PROGRAM_NATIVE_PARAMETERS_ARB = $88AA;
  2269. GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = $88AB;
  2270. GL_PROGRAM_ATTRIBS_ARB = $88AC;
  2271. GL_MAX_PROGRAM_ATTRIBS_ARB = $88AD;
  2272. GL_PROGRAM_NATIVE_ATTRIBS_ARB = $88AE;
  2273. GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = $88AF;
  2274. GL_PROGRAM_ADDRESS_REGISTERS_ARB = $88B0;
  2275. GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = $88B1;
  2276. GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = $88B2;
  2277. GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = $88B3;
  2278. GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = $88B4;
  2279. GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = $88B5;
  2280. GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB = $88B6;
  2281. GL_TRANSPOSE_CURRENT_MATRIX_ARB = $88B7;
  2282. GL_MATRIX0_ARB = $88C0;
  2283. GL_MATRIX1_ARB = $88C1;
  2284. GL_MATRIX2_ARB = $88C2;
  2285. GL_MATRIX3_ARB = $88C3;
  2286. GL_MATRIX4_ARB = $88C4;
  2287. GL_MATRIX5_ARB = $88C5;
  2288. GL_MATRIX6_ARB = $88C6;
  2289. GL_MATRIX7_ARB = $88C7;
  2290. GL_MATRIX8_ARB = $88C8;
  2291. GL_MATRIX9_ARB = $88C9;
  2292. GL_MATRIX10_ARB = $88CA;
  2293. GL_MATRIX11_ARB = $88CB;
  2294. GL_MATRIX12_ARB = $88CC;
  2295. GL_MATRIX13_ARB = $88CD;
  2296. GL_MATRIX14_ARB = $88CE;
  2297. GL_MATRIX15_ARB = $88CF;
  2298. GL_MATRIX16_ARB = $88D0;
  2299. GL_MATRIX17_ARB = $88D1;
  2300. GL_MATRIX18_ARB = $88D2;
  2301. GL_MATRIX19_ARB = $88D3;
  2302. GL_MATRIX20_ARB = $88D4;
  2303. GL_MATRIX21_ARB = $88D5;
  2304. GL_MATRIX22_ARB = $88D6;
  2305. GL_MATRIX23_ARB = $88D7;
  2306. GL_MATRIX24_ARB = $88D8;
  2307. GL_MATRIX25_ARB = $88D9;
  2308. GL_MATRIX26_ARB = $88DA;
  2309. GL_MATRIX27_ARB = $88DB;
  2310. GL_MATRIX28_ARB = $88DC;
  2311. GL_MATRIX29_ARB = $88DD;
  2312. GL_MATRIX30_ARB = $88DE;
  2313. GL_MATRIX31_ARB = $88DF;
  2314. // GL_ARB_draw_buffers
  2315. GL_MAX_DRAW_BUFFERS_ARB = $8824;
  2316. GL_DRAW_BUFFER0_ARB = $8825;
  2317. GL_DRAW_BUFFER1_ARB = $8826;
  2318. GL_DRAW_BUFFER2_ARB = $8827;
  2319. GL_DRAW_BUFFER3_ARB = $8828;
  2320. GL_DRAW_BUFFER4_ARB = $8829;
  2321. GL_DRAW_BUFFER5_ARB = $882A;
  2322. GL_DRAW_BUFFER6_ARB = $882B;
  2323. GL_DRAW_BUFFER7_ARB = $882C;
  2324. GL_DRAW_BUFFER8_ARB = $882D;
  2325. GL_DRAW_BUFFER9_ARB = $882E;
  2326. GL_DRAW_BUFFER10_ARB = $882F;
  2327. GL_DRAW_BUFFER11_ARB = $8830;
  2328. GL_DRAW_BUFFER12_ARB = $8831;
  2329. GL_DRAW_BUFFER13_ARB = $8832;
  2330. GL_DRAW_BUFFER14_ARB = $8833;
  2331. GL_DRAW_BUFFER15_ARB = $8834;
  2332. // GL_ARB_texture_rectangle
  2333. GL_TEXTURE_RECTANGLE_ARB = $84F5;
  2334. GL_TEXTURE_BINDING_RECTANGLE_ARB = $84F6;
  2335. GL_PROXY_TEXTURE_RECTANGLE_ARB = $84F7;
  2336. GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB = $84F8;
  2337. // GL_ARB_color_buffer_float
  2338. GL_RGBA_FLOAT_MODE_ARB = $8820;
  2339. GL_CLAMP_VERTEX_COLOR_ARB = $891A;
  2340. GL_CLAMP_FRAGMENT_COLOR_ARB = $891B;
  2341. GL_CLAMP_READ_COLOR_ARB = $891C;
  2342. GL_FIXED_ONLY_ARB = $891D;
  2343. WGL_TYPE_RGBA_FLOAT_ARB = $21A0;
  2344. GLX_RGBA_FLOAT_TYPE = $20B9;
  2345. GLX_RGBA_FLOAT_BIT = $00000004;
  2346. // GL_ARB_compute_variable_group_size
  2347. GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB = $9344;
  2348. GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB = $90EB;
  2349. GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB = $9345;
  2350. GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB = $91BF;
  2351. // GL_ARB_half_float_pixel
  2352. GL_HALF_FLOAT_ARB = $140B;
  2353. // GL_ARB_texture_float
  2354. GL_TEXTURE_RED_TYPE_ARB = $8C10;
  2355. GL_TEXTURE_GREEN_TYPE_ARB = $8C11;
  2356. GL_TEXTURE_BLUE_TYPE_ARB = $8C12;
  2357. GL_TEXTURE_ALPHA_TYPE_ARB = $8C13;
  2358. GL_TEXTURE_LUMINANCE_TYPE_ARB = $8C14;
  2359. GL_TEXTURE_INTENSITY_TYPE_ARB = $8C15;
  2360. GL_TEXTURE_DEPTH_TYPE_ARB = $8C16;
  2361. GL_UNSIGNED_NORMALIZED_ARB = $8C17;
  2362. GL_RGBA32F_ARB = $8814;
  2363. GL_RGB32F_ARB = $8815;
  2364. GL_ALPHA32F_ARB = $8816;
  2365. GL_INTENSITY32F_ARB = $8817;
  2366. GL_LUMINANCE32F_ARB = $8818;
  2367. GL_LUMINANCE_ALPHA32F_ARB = $8819;
  2368. GL_RGBA16F_ARB = $881A;
  2369. GL_RGB16F_ARB = $881B;
  2370. GL_ALPHA16F_ARB = $881C;
  2371. GL_INTENSITY16F_ARB = $881D;
  2372. GL_LUMINANCE16F_ARB = $881E;
  2373. GL_LUMINANCE_ALPHA16F_ARB = $881F;
  2374. // GL_ARB_pixel_buffer_object
  2375. GL_PIXEL_PACK_BUFFER_ARB = $88EB;
  2376. GL_PIXEL_UNPACK_BUFFER_ARB = $88EC;
  2377. GL_PIXEL_PACK_BUFFER_BINDING_ARB = $88ED;
  2378. GL_PIXEL_UNPACK_BUFFER_BINDING_ARB = $88EF;
  2379. // GL_ARB_depth_buffer_float
  2380. GL_DEPTH_COMPONENT32F = $8CAC;
  2381. GL_DEPTH32F_STENCIL8 = $8CAD;
  2382. GL_FLOAT_32_UNSIGNED_INT_24_8_REV = $8DAD;
  2383. // GL_ARB_framebuffer_object
  2384. GL_INVALID_FRAMEBUFFER_OPERATION = $0506;
  2385. GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = $8210;
  2386. GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = $8211;
  2387. GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = $8212;
  2388. GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = $8213;
  2389. GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = $8214;
  2390. GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = $8215;
  2391. GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = $8216;
  2392. GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = $8217;
  2393. GL_FRAMEBUFFER_DEFAULT = $8218;
  2394. GL_FRAMEBUFFER_UNDEFINED = $8219;
  2395. GL_DEPTH_STENCIL_ATTACHMENT = $821A;
  2396. GL_MAX_RENDERBUFFER_SIZE = $84E8;
  2397. GL_DEPTH_STENCIL = $84F9;
  2398. GL_UNSIGNED_INT_24_8 = $84FA;
  2399. GL_DEPTH24_STENCIL8 = $88F0;
  2400. GL_TEXTURE_STENCIL_SIZE = $88F1;
  2401. GL_TEXTURE_RED_TYPE = $8C10;
  2402. GL_TEXTURE_GREEN_TYPE = $8C11;
  2403. GL_TEXTURE_BLUE_TYPE = $8C12;
  2404. GL_TEXTURE_ALPHA_TYPE = $8C13;
  2405. GL_TEXTURE_DEPTH_TYPE = $8C16;
  2406. GL_UNSIGNED_NORMALIZED = $8C17;
  2407. GL_FRAMEBUFFER_BINDING = $8CA6;
  2408. GL_DRAW_FRAMEBUFFER_BINDING = GL_FRAMEBUFFER_BINDING;
  2409. GL_RENDERBUFFER_BINDING = $8CA7;
  2410. GL_READ_FRAMEBUFFER = $8CA8;
  2411. GL_DRAW_FRAMEBUFFER = $8CA9;
  2412. GL_READ_FRAMEBUFFER_BINDING = $8CAA;
  2413. GL_RENDERBUFFER_SAMPLES = $8CAB;
  2414. GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = $8CD0;
  2415. GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = $8CD1;
  2416. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = $8CD2;
  2417. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = $8CD3;
  2418. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = $8CD4;
  2419. GL_FRAMEBUFFER_COMPLETE = $8CD5;
  2420. GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = $8CD6;
  2421. GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = $8CD7;
  2422. GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = $8CDB;
  2423. GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER = $8CDC;
  2424. GL_FRAMEBUFFER_UNSUPPORTED = $8CDD;
  2425. GL_MAX_COLOR_ATTACHMENTS = $8CDF;
  2426. GL_COLOR_ATTACHMENT0 = $8CE0;
  2427. GL_COLOR_ATTACHMENT1 = $8CE1;
  2428. GL_COLOR_ATTACHMENT2 = $8CE2;
  2429. GL_COLOR_ATTACHMENT3 = $8CE3;
  2430. GL_COLOR_ATTACHMENT4 = $8CE4;
  2431. GL_COLOR_ATTACHMENT5 = $8CE5;
  2432. GL_COLOR_ATTACHMENT6 = $8CE6;
  2433. GL_COLOR_ATTACHMENT7 = $8CE7;
  2434. GL_COLOR_ATTACHMENT8 = $8CE8;
  2435. GL_COLOR_ATTACHMENT9 = $8CE9;
  2436. GL_COLOR_ATTACHMENT10 = $8CEA;
  2437. GL_COLOR_ATTACHMENT11 = $8CEB;
  2438. GL_COLOR_ATTACHMENT12 = $8CEC;
  2439. GL_COLOR_ATTACHMENT13 = $8CED;
  2440. GL_COLOR_ATTACHMENT14 = $8CEE;
  2441. GL_COLOR_ATTACHMENT15 = $8CEF;
  2442. GL_DEPTH_ATTACHMENT = $8D00;
  2443. GL_STENCIL_ATTACHMENT = $8D20;
  2444. GL_FRAMEBUFFER = $8D40;
  2445. GL_RENDERBUFFER = $8D41;
  2446. GL_RENDERBUFFER_WIDTH = $8D42;
  2447. GL_RENDERBUFFER_HEIGHT = $8D43;
  2448. GL_RENDERBUFFER_INTERNAL_FORMAT = $8D44;
  2449. GL_STENCIL_INDEX1 = $8D46;
  2450. GL_STENCIL_INDEX4 = $8D47;
  2451. GL_STENCIL_INDEX8 = $8D48;
  2452. GL_STENCIL_INDEX16 = $8D49;
  2453. GL_RENDERBUFFER_RED_SIZE = $8D50;
  2454. GL_RENDERBUFFER_GREEN_SIZE = $8D51;
  2455. GL_RENDERBUFFER_BLUE_SIZE = $8D52;
  2456. GL_RENDERBUFFER_ALPHA_SIZE = $8D53;
  2457. GL_RENDERBUFFER_DEPTH_SIZE = $8D54;
  2458. GL_RENDERBUFFER_STENCIL_SIZE = $8D55;
  2459. GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = $8D56;
  2460. GL_MAX_SAMPLES = $8D57;
  2461. {$IFDEF USE_DEPRECATED}
  2462. GL_INDEX = $8222;
  2463. GL_TEXTURE_LUMINANCE_TYPE = $8C14;
  2464. GL_TEXTURE_INTENSITY_TYPE = $8C15;
  2465. {$ENDIF}
  2466. // GL_ARB_framebuffer_sRGB
  2467. GL_FRAMEBUFFER_SRGB = $8DB9;
  2468. // GL_ARB_geometry_shader4
  2469. GL_LINES_ADJACENCY_ARB = $000A;
  2470. GL_LINE_STRIP_ADJACENCY_ARB = $000B;
  2471. GL_TRIANGLES_ADJACENCY_ARB = $000C;
  2472. GL_TRIANGLE_STRIP_ADJACENCY_ARB = $000D;
  2473. GL_PROGRAM_POINT_SIZE_ARB = $8642;
  2474. GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB = $8C29;
  2475. GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB = $8DA7;
  2476. GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = $8DA8;
  2477. GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = $8DA9;
  2478. GL_GEOMETRY_SHADER_ARB = $8DD9;
  2479. GL_GEOMETRY_VERTICES_OUT_ARB = $8DDA;
  2480. GL_GEOMETRY_INPUT_TYPE_ARB = $8DDB;
  2481. GL_GEOMETRY_OUTPUT_TYPE_ARB = $8DDC;
  2482. GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB = $8DDD;
  2483. GL_MAX_VERTEX_VARYING_COMPONENTS_ARB = $8DDE;
  2484. GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = $8DDF;
  2485. GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB = $8DE0;
  2486. GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = $8DE1;
  2487. // GL_ARB_gl_spirv
  2488. GL_SHADER_BINARY_FORMAT_SPIR_V_ARB = $9551;
  2489. GL_SPIR_V_BINARY_ARB = $9552;
  2490. // GL_ARB_half_float_vertex
  2491. GL_HALF_FLOAT = $140B;
  2492. // GL_ARB_instanced_arrays
  2493. GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB = $88FE;
  2494. // GL_ARB_map_buffer_range
  2495. GL_MAP_READ_BIT = $0001;
  2496. GL_MAP_WRITE_BIT = $0002;
  2497. GL_MAP_INVALIDATE_RANGE_BIT = $0004;
  2498. GL_MAP_INVALIDATE_BUFFER_BIT = $0008;
  2499. GL_MAP_FLUSH_EXPLICIT_BIT = $0010;
  2500. GL_MAP_UNSYNCHRONIZED_BIT = $0020;
  2501. // GL_ARB_texture_buffer_object
  2502. GL_TEXTURE_BUFFER_ARB = $8C2A;
  2503. GL_MAX_TEXTURE_BUFFER_SIZE_ARB = $8C2B;
  2504. GL_TEXTURE_BINDING_BUFFER_ARB = $8C2C;
  2505. GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB = $8C2D;
  2506. GL_TEXTURE_BUFFER_FORMAT_ARB = $8C2E;
  2507. // GL_ARB_texture_compression_rgtc
  2508. GL_COMPRESSED_RED_RGTC1 = $8DBB;
  2509. GL_COMPRESSED_SIGNED_RED_RGTC1 = $8DBC;
  2510. GL_COMPRESSED_RG_RGTC2 = $8DBD;
  2511. GL_COMPRESSED_SIGNED_RG_RGTC2 = $8DBE;
  2512. // GL_ARB_texture_rg
  2513. GL_RG = $8227;
  2514. GL_RG_INTEGER = $8228;
  2515. GL_R8 = $8229;
  2516. GL_R16 = $822A;
  2517. GL_RG8 = $822B;
  2518. GL_RG16 = $822C;
  2519. GL_R16F = $822D;
  2520. GL_R32F = $822E;
  2521. GL_RG16F = $822F;
  2522. GL_RG32F = $8230;
  2523. GL_R8I = $8231;
  2524. GL_R8UI = $8232;
  2525. GL_R16I = $8233;
  2526. GL_R16UI = $8234;
  2527. GL_R32I = $8235;
  2528. GL_R32UI = $8236;
  2529. GL_RG8I = $8237;
  2530. GL_RG8UI = $8238;
  2531. GL_RG16I = $8239;
  2532. GL_RG16UI = $823A;
  2533. GL_RG32I = $823B;
  2534. GL_RG32UI = $823C;
  2535. // GL_ARB_vertex_array_object
  2536. GL_VERTEX_ARRAY_BINDING = $85B5;
  2537. // GL_ARB_uniform_buffer_object
  2538. GL_UNIFORM_BUFFER = $8A11;
  2539. GL_UNIFORM_BUFFER_BINDING = $8A28;
  2540. GL_UNIFORM_BUFFER_START = $8A29;
  2541. GL_UNIFORM_BUFFER_SIZE = $8A2A;
  2542. GL_MAX_VERTEX_UNIFORM_BLOCKS = $8A2B;
  2543. GL_MAX_GEOMETRY_UNIFORM_BLOCKS = $8A2C;
  2544. GL_MAX_FRAGMENT_UNIFORM_BLOCKS = $8A2D;
  2545. GL_MAX_COMBINED_UNIFORM_BLOCKS = $8A2E;
  2546. GL_MAX_UNIFORM_BUFFER_BINDINGS = $8A2F;
  2547. GL_MAX_UNIFORM_BLOCK_SIZE = $8A30;
  2548. GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = $8A31;
  2549. GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = $8A32;
  2550. GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = $8A33;
  2551. GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = $8A34;
  2552. GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = $8A35;
  2553. GL_ACTIVE_UNIFORM_BLOCKS = $8A36;
  2554. GL_UNIFORM_TYPE = $8A37;
  2555. GL_UNIFORM_SIZE = $8A38;
  2556. GL_UNIFORM_NAME_LENGTH = $8A39;
  2557. GL_UNIFORM_BLOCK_INDEX = $8A3A;
  2558. GL_UNIFORM_OFFSET = $8A3B;
  2559. GL_UNIFORM_ARRAY_STRIDE = $8A3C;
  2560. GL_UNIFORM_MATRIX_STRIDE = $8A3D;
  2561. GL_UNIFORM_IS_ROW_MAJOR = $8A3E;
  2562. GL_UNIFORM_BLOCK_BINDING = $8A3F;
  2563. GL_UNIFORM_BLOCK_DATA_SIZE = $8A40;
  2564. GL_UNIFORM_BLOCK_NAME_LENGTH = $8A41;
  2565. GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS = $8A42;
  2566. GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = $8A43;
  2567. GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = $8A44;
  2568. GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = $8A45;
  2569. GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = $8A46;
  2570. GL_INVALID_INDEX = $FFFFFFFF;
  2571. // GL_ARB_compatibility
  2572. { ARB_compatibility just defines tokens from core 3.0 }
  2573. // GL_ARB_copy_buffer
  2574. GL_COPY_READ_BUFFER_BINDING = $8F36;
  2575. GL_COPY_READ_BUFFER = GL_COPY_READ_BUFFER_BINDING;
  2576. GL_COPY_WRITE_BUFFER_BINDING = $8F37;
  2577. GL_COPY_WRITE_BUFFER = GL_COPY_WRITE_BUFFER_BINDING;
  2578. // GL_ARB_depth_clamp
  2579. GL_DEPTH_CLAMP = $864F;
  2580. // GL_ARB_provoking_vertex
  2581. GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = $8E4C;
  2582. GL_FIRST_VERTEX_CONVENTION = $8E4D;
  2583. GL_LAST_VERTEX_CONVENTION = $8E4E;
  2584. GL_PROVOKING_VERTEX = $8E4F;
  2585. // GL_ARB_seamless_cube_map
  2586. GL_TEXTURE_CUBE_MAP_SEAMLESS = $884F;
  2587. // GL_ARB_sync
  2588. GL_MAX_SERVER_WAIT_TIMEOUT = $9111;
  2589. GL_OBJECT_TYPE = $9112;
  2590. GL_SYNC_CONDITION = $9113;
  2591. GL_SYNC_STATUS = $9114;
  2592. GL_SYNC_FLAGS = $9115;
  2593. GL_SYNC_FENCE = $9116;
  2594. GL_SYNC_GPU_COMMANDS_COMPLETE = $9117;
  2595. GL_UNSIGNALED = $9118;
  2596. GL_SIGNALED = $9119;
  2597. GL_ALREADY_SIGNALED = $911A;
  2598. GL_TIMEOUT_EXPIRED = $911B;
  2599. GL_CONDITION_SATISFIED = $911C;
  2600. GL_WAIT_FAILED = $911D;
  2601. GL_SYNC_FLUSH_COMMANDS_BIT = $00000001;
  2602. GL_TIMEOUT_IGNORED = $FFFFFFFFFFFFFFFF;
  2603. // GL_ARB_texture_multisample
  2604. GL_SAMPLE_POSITION = $8E50;
  2605. GL_SAMPLE_MASK = $8E51;
  2606. GL_SAMPLE_MASK_VALUE = $8E52;
  2607. GL_MAX_SAMPLE_MASK_WORDS = $8E59;
  2608. GL_TEXTURE_2D_MULTISAMPLE = $9100;
  2609. GL_PROXY_TEXTURE_2D_MULTISAMPLE = $9101;
  2610. GL_TEXTURE_2D_MULTISAMPLE_ARRAY = $9102;
  2611. GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = $9103;
  2612. GL_TEXTURE_BINDING_2D_MULTISAMPLE = $9104;
  2613. GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = $9105;
  2614. GL_TEXTURE_SAMPLES = $9106;
  2615. GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = $9107;
  2616. GL_SAMPLER_2D_MULTISAMPLE = $9108;
  2617. GL_INT_SAMPLER_2D_MULTISAMPLE = $9109;
  2618. GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = $910A;
  2619. GL_SAMPLER_2D_MULTISAMPLE_ARRAY = $910B;
  2620. GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = $910C;
  2621. GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = $910D;
  2622. GL_MAX_COLOR_TEXTURE_SAMPLES = $910E;
  2623. GL_MAX_DEPTH_TEXTURE_SAMPLES = $910F;
  2624. GL_MAX_INTEGER_SAMPLES = $9110;
  2625. // GL_ARB_vertex_array_bgra
  2626. { reuse GL_BGRA }
  2627. // GL_ARB_sample_shading
  2628. GL_SAMPLE_SHADING_ARB = $8C36;
  2629. GL_MIN_SAMPLE_SHADING_VALUE_ARB = $8C37;
  2630. // GL_ARB_sample_locations
  2631. GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB = $933D;
  2632. GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB = $933E;
  2633. GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB = $933F;
  2634. GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB = $9340;
  2635. GL_SAMPLE_LOCATION_ARB = $8E50;
  2636. GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB = $9341;
  2637. GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB = $9342;
  2638. GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB = $9343;
  2639. // GL_ARB_texture_cube_map_array
  2640. GL_TEXTURE_CUBE_MAP_ARRAY_ARB = $9009;
  2641. GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = $900A;
  2642. GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB = $900B;
  2643. GL_SAMPLER_CUBE_MAP_ARRAY_ARB = $900C;
  2644. GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB = $900D;
  2645. GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = $900E;
  2646. GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = $900F;
  2647. // GL_ARB_texture_gather
  2648. GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = $8E5E;
  2649. GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = $8E5F;
  2650. // GL_ARB_shading_language_include
  2651. GL_SHADER_INCLUDE_ARB = $8DAE;
  2652. GL_NAMED_STRING_LENGTH_ARB = $8DE9;
  2653. GL_NAMED_STRING_TYPE_ARB = $8DEA;
  2654. // GL_ARB_texture_compression_bptc
  2655. GL_COMPRESSED_RGBA_BPTC_UNORM_ARB = $8E8C;
  2656. GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB = $8E8D;
  2657. GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB = $8E8E;
  2658. GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB = $8E8F;
  2659. // GL_ARB_blend_func_extended
  2660. GL_SRC1_COLOR = $88F9;
  2661. GL_ONE_MINUS_SRC1_COLOR = $88FA;
  2662. GL_ONE_MINUS_SRC1_ALPHA = $88FB;
  2663. GL_MAX_DUAL_SOURCE_DRAW_BUFFERS = $88FC;
  2664. // GL_ARB_occlusion_query2
  2665. GL_ANY_SAMPLES_PASSED = $8C2F;
  2666. // GL_ARB_parallel_shader_compile
  2667. GL_MAX_SHADER_COMPILER_THREADS_ARB = $91B0;
  2668. GL_COMPLETION_STATUS_ARB = $91B1;
  2669. // GL_ARB_sampler_objects
  2670. GL_SAMPLER_BINDING = $8919;
  2671. // GL_ARB_texture_rgb10_a2ui
  2672. GL_RGB10_A2UI = $906F;
  2673. // GL_ARB_texture_swizzle
  2674. GL_TEXTURE_SWIZZLE_R = $8E42;
  2675. GL_TEXTURE_SWIZZLE_G = $8E43;
  2676. GL_TEXTURE_SWIZZLE_B = $8E44;
  2677. GL_TEXTURE_SWIZZLE_A = $8E45;
  2678. GL_TEXTURE_SWIZZLE_RGBA = $8E46;
  2679. // GL_ARB_SPARSE_TEXTURE
  2680. GL_TEXTURE_SPARSE_ARB = $91A6;
  2681. GL_VIRTUAL_PAGE_SIZE_INDEX_ARB = $91A7;
  2682. GL_NUM_VIRTUAL_PAGE_SIZES_ARB = $91A8;
  2683. GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB = $91A9;
  2684. GL_NUM_SPARSE_LEVELS_ARB = $91AA;
  2685. GL_VIRTUAL_PAGE_SIZE_X_ARB = $9195;
  2686. GL_VIRTUAL_PAGE_SIZE_Y_ARB = $9196;
  2687. GL_VIRTUAL_PAGE_SIZE_Z_ARB = $9197;
  2688. GL_MAX_SPARSE_TEXTURE_SIZE_ARB = $9198;
  2689. GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB = $9199;
  2690. GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB = $919A;
  2691. GL_MIN_SPARSE_LEVEL_ARB = $919B;
  2692. // GL_ARB_timer_query
  2693. GL_TIME_ELAPSED = $88BF;
  2694. GL_TIMESTAMP = $8E28;
  2695. // GL_ARB_vertex_type_2_10_10_10_rev
  2696. { reuse GL_UNSIGNED_INT_2_10_10_10_REV }
  2697. GL_INT_2_10_10_10_REV = $8D9F;
  2698. // GL_ARB_draw_indirect
  2699. GL_DRAW_INDIRECT_BUFFER = $8F3F;
  2700. GL_DRAW_INDIRECT_BUFFER_BINDING = $8F43;
  2701. // GL_ARB_gpu_shader5
  2702. GL_GEOMETRY_SHADER_INVOCATIONS = $887F;
  2703. GL_MAX_GEOMETRY_SHADER_INVOCATIONS = $8E5A;
  2704. GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = $8E5B;
  2705. GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = $8E5C;
  2706. GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = $8E5D;
  2707. // GL_ARB_gpu_shader_fp64
  2708. GL_DOUBLE_VEC2 = $8FFC;
  2709. GL_DOUBLE_VEC3 = $8FFD;
  2710. GL_DOUBLE_VEC4 = $8FFE;
  2711. GL_DOUBLE_MAT2 = $8F46;
  2712. GL_DOUBLE_MAT3 = $8F47;
  2713. GL_DOUBLE_MAT4 = $8F48;
  2714. GL_DOUBLE_MAT2x3 = $8F49;
  2715. GL_DOUBLE_MAT2x4 = $8F4A;
  2716. GL_DOUBLE_MAT3x2 = $8F4B;
  2717. GL_DOUBLE_MAT3x4 = $8F4C;
  2718. GL_DOUBLE_MAT4x2 = $8F4D;
  2719. GL_DOUBLE_MAT4x3 = $8F4E;
  2720. // GL_ARB_gpu_shader_int64
  2721. GL_INT64_ARB = $140E;
  2722. GL_INT64_VEC2_ARB = $8FE9;
  2723. GL_INT64_VEC3_ARB = $8FEA;
  2724. GL_INT64_VEC4_ARB = $8FEB;
  2725. GL_UNSIGNED_INT64_VEC2_ARB = $8FF5;
  2726. GL_UNSIGNED_INT64_VEC3_ARB = $8FF6;
  2727. GL_UNSIGNED_INT64_VEC4_ARB = $8FF7;
  2728. // GL_ARB_shader_subroutine
  2729. GL_ACTIVE_SUBROUTINES = $8DE5;
  2730. GL_ACTIVE_SUBROUTINE_UNIFORMS = $8DE6;
  2731. GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = $8E47;
  2732. GL_ACTIVE_SUBROUTINE_MAX_LENGTH = $8E48;
  2733. GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = $8E49;
  2734. GL_MAX_SUBROUTINES = $8DE7;
  2735. GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS = $8DE8;
  2736. GL_NUM_COMPATIBLE_SUBROUTINES = $8E4A;
  2737. GL_COMPATIBLE_SUBROUTINES = $8E4B;
  2738. // GL_ARB_tessellation_shader
  2739. GL_PATCHES = $000E;
  2740. GL_PATCH_VERTICES = $8E72;
  2741. GL_PATCH_DEFAULT_INNER_LEVEL = $8E73;
  2742. GL_PATCH_DEFAULT_OUTER_LEVEL = $8E74;
  2743. GL_TESS_CONTROL_OUTPUT_VERTICES = $8E75;
  2744. GL_TESS_GEN_MODE = $8E76;
  2745. GL_TESS_GEN_SPACING = $8E77;
  2746. GL_TESS_GEN_VERTEX_ORDER = $8E78;
  2747. GL_TESS_GEN_POINT_MODE = $8E79;
  2748. GL_ISOLINES = $8E7A;
  2749. GL_FRACTIONAL_ODD = $8E7B;
  2750. GL_FRACTIONAL_EVEN = $8E7C;
  2751. GL_MAX_PATCH_VERTICES = $8E7D;
  2752. GL_MAX_TESS_GEN_LEVEL = $8E7E;
  2753. GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = $8E7F;
  2754. GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = $8E80;
  2755. GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = $8E81;
  2756. GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = $8E82;
  2757. GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = $8E83;
  2758. GL_MAX_TESS_PATCH_COMPONENTS = $8E84;
  2759. GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = $8E85;
  2760. GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = $8E86;
  2761. GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = $8E89;
  2762. GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = $8E8A;
  2763. GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = $886C;
  2764. GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = $886D;
  2765. GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = $8E1E;
  2766. GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = $8E1F;
  2767. GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = $84F0;
  2768. GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = $84F1;
  2769. GL_TESS_EVALUATION_SHADER = $8E87;
  2770. GL_TESS_CONTROL_SHADER = $8E88;
  2771. // GL_ARB_texture_buffer_object_rgb32
  2772. // GL_ARB_transform_feedback2
  2773. GL_TRANSFORM_FEEDBACK = $8E22;
  2774. GL_TRANSFORM_FEEDBACK_PAUSED = $8E23;
  2775. GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED = GL_TRANSFORM_FEEDBACK_PAUSED;
  2776. GL_TRANSFORM_FEEDBACK_ACTIVE = $8E24;
  2777. GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE = GL_TRANSFORM_FEEDBACK_ACTIVE;
  2778. GL_TRANSFORM_FEEDBACK_BINDING = $8E25;
  2779. // GL_ARB_transform_feedback_overflow_query
  2780. GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB = $82EC;
  2781. GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB = $82ED;
  2782. // GL_ARB_transform_feedback3
  2783. GL_MAX_TRANSFORM_FEEDBACK_BUFFERS = $8E70;
  2784. GL_MAX_VERTEX_STREAMS = $8E71;
  2785. // GL_ARB_ES2_compatibility
  2786. GL_FIXED = $140C;
  2787. GL_IMPLEMENTATION_COLOR_READ_TYPE = $8B9A;
  2788. GL_IMPLEMENTATION_COLOR_READ_FORMAT = $8B9B;
  2789. GL_LOW_FLOAT = $8DF0;
  2790. GL_MEDIUM_FLOAT = $8DF1;
  2791. GL_HIGH_FLOAT = $8DF2;
  2792. GL_LOW_INT = $8DF3;
  2793. GL_MEDIUM_INT = $8DF4;
  2794. GL_HIGH_INT = $8DF5;
  2795. GL_SHADER_COMPILER = $8DFA;
  2796. GL_NUM_SHADER_BINARY_FORMATS = $8DF9;
  2797. GL_MAX_VERTEX_UNIFORM_VECTORS = $8DFB;
  2798. GL_MAX_VARYING_VECTORS = $8DFC;
  2799. GL_MAX_FRAGMENT_UNIFORM_VECTORS = $8DFD;
  2800. GL_RGB565 = $8D62;
  2801. // GL_ARB_ES3_2_compatibility
  2802. GL_PRIMITIVE_BOUNDING_BOX_ARB = $092BE;
  2803. GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB = $09381;
  2804. GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB = $09382;
  2805. // GL_ARB_get_program_binary
  2806. GL_PROGRAM_BINARY_RETRIEVABLE_HINT = $8257;
  2807. GL_PROGRAM_BINARY_LENGTH = $8741;
  2808. GL_NUM_PROGRAM_BINARY_FORMATS = $87FE;
  2809. GL_PROGRAM_BINARY_FORMATS = $87FF;
  2810. // GL_ARB_separate_shader_objects
  2811. GL_VERTEX_SHADER_BIT = $00000001;
  2812. GL_FRAGMENT_SHADER_BIT = $00000002;
  2813. GL_GEOMETRY_SHADER_BIT = $00000004;
  2814. GL_TESS_CONTROL_SHADER_BIT = $00000008;
  2815. GL_TESS_EVALUATION_SHADER_BIT = $00000010;
  2816. GL_ALL_SHADER_BITS = $FFFFFFFF;
  2817. GL_PROGRAM_SEPARABLE = $8258;
  2818. GL_ACTIVE_PROGRAM = $8259;
  2819. GL_PROGRAM_PIPELINE_BINDING = $825A;
  2820. // GL_ARB_vertex_attrib_64bit
  2821. GL_MAX_VIEWPORTS = $825B;
  2822. GL_VIEWPORT_SUBPIXEL_BITS = $825C;
  2823. GL_VIEWPORT_BOUNDS_RANGE = $825D;
  2824. GL_LAYER_PROVOKING_VERTEX = $825E;
  2825. GL_VIEWPORT_INDEX_PROVOKING_VERTEX = $825F;
  2826. GL_UNDEFINED_VERTEX = $8260;
  2827. // GL_ARB_cl_event
  2828. GL_SYNC_CL_EVENT_ARB = $8240;
  2829. GL_SYNC_CL_EVENT_COMPLETE_ARB = $8241;
  2830. // GL_ARB_debug_output
  2831. GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB = $8242;
  2832. GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB = $8243;
  2833. GL_DEBUG_CALLBACK_FUNCTION_ARB = $8244;
  2834. GL_DEBUG_CALLBACK_USER_PARAM_ARB = $8245;
  2835. GL_DEBUG_SOURCE_API_ARB = $8246;
  2836. GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB = $8247;
  2837. GL_DEBUG_SOURCE_SHADER_COMPILER_ARB = $8248;
  2838. GL_DEBUG_SOURCE_THIRD_PARTY_ARB = $8249;
  2839. GL_DEBUG_SOURCE_APPLICATION_ARB = $824A;
  2840. GL_DEBUG_SOURCE_OTHER_ARB = $824B;
  2841. GL_DEBUG_TYPE_ERROR_ARB = $824C;
  2842. GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB = $824D;
  2843. GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB = $824E;
  2844. GL_DEBUG_TYPE_PORTABILITY_ARB = $824F;
  2845. GL_DEBUG_TYPE_PERFORMANCE_ARB = $8250;
  2846. GL_DEBUG_TYPE_OTHER_ARB = $8251;
  2847. GL_MAX_DEBUG_MESSAGE_LENGTH_ARB = $9143;
  2848. GL_MAX_DEBUG_LOGGED_MESSAGES_ARB = $9144;
  2849. GL_DEBUG_LOGGED_MESSAGES_ARB = $9145;
  2850. GL_DEBUG_SEVERITY_HIGH_ARB = $9146;
  2851. GL_DEBUG_SEVERITY_MEDIUM_ARB = $9147;
  2852. GL_DEBUG_SEVERITY_LOW_ARB = $9148;
  2853. // GL_ARB_robustness
  2854. GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB = $00000004;
  2855. GL_LOSE_CONTEXT_ON_RESET_ARB = $8252;
  2856. GL_GUILTY_CONTEXT_RESET_ARB = $8253;
  2857. GL_INNOCENT_CONTEXT_RESET_ARB = $8254;
  2858. GL_UNKNOWN_CONTEXT_RESET_ARB = $8255;
  2859. GL_RESET_NOTIFICATION_STRATEGY_ARB = $8256;
  2860. GL_NO_RESET_NOTIFICATION_ARB = $8261;
  2861. // GL_ARB_compressed_texture_pixel_storage
  2862. GL_UNPACK_COMPRESSED_BLOCK_WIDTH = $09127;
  2863. GL_UNPACK_COMPRESSED_BLOCK_HEIGHT = $09128;
  2864. GL_UNPACK_COMPRESSED_BLOCK_DEPTH = $09129;
  2865. GL_UNPACK_COMPRESSED_BLOCK_SIZE = $0912A;
  2866. GL_PACK_COMPRESSED_BLOCK_WIDTH = $0912B;
  2867. GL_PACK_COMPRESSED_BLOCK_HEIGHT = $0912C;
  2868. GL_PACK_COMPRESSED_BLOCK_DEPTH = $0912D;
  2869. GL_PACK_COMPRESSED_BLOCK_SIZE = $0912E;
  2870. // GL_ARB_internalformat_query
  2871. GL_NUM_SAMPLE_COUNTS = $09380;
  2872. // GL_ARB_map_buffer_alignment
  2873. GL_MIN_MAP_BUFFER_ALIGNMENT = $090BC;
  2874. // GL_ARB_shader_atomic_counters
  2875. GL_ATOMIC_COUNTER_BUFFER = $92C0;
  2876. GL_ATOMIC_COUNTER_BUFFER_BINDING = $92C1;
  2877. GL_ATOMIC_COUNTER_BUFFER_START = $92C2;
  2878. GL_ATOMIC_COUNTER_BUFFER_SIZE = $92C3;
  2879. GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE = $92C4;
  2880. GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = $92C5;
  2881. GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = $92C6;
  2882. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = $92C7;
  2883. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = $92C8;
  2884. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = $92C9;
  2885. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = $92CA;
  2886. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = $92CB;
  2887. GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = $92CC;
  2888. GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = $92CD;
  2889. GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = $92CE;
  2890. GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = $92CF;
  2891. GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = $92D0;
  2892. GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = $92D1;
  2893. GL_MAX_VERTEX_ATOMIC_COUNTERS = $92D2;
  2894. GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = $92D3;
  2895. GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = $92D4;
  2896. GL_MAX_GEOMETRY_ATOMIC_COUNTERS = $92D5;
  2897. GL_MAX_FRAGMENT_ATOMIC_COUNTERS = $92D6;
  2898. GL_MAX_COMBINED_ATOMIC_COUNTERS = $92D7;
  2899. GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = $92D8;
  2900. GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = $92DC;
  2901. GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = $92D9;
  2902. GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = $92DA;
  2903. GL_UNSIGNED_INT_ATOMIC_COUNTER = $92DB;
  2904. // GL_ARB_shader_image_load_store
  2905. GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = $00000001;
  2906. GL_ELEMENT_ARRAY_BARRIER_BIT = $00000002;
  2907. GL_UNIFORM_BARRIER_BIT = $00000004;
  2908. GL_TEXTURE_FETCH_BARRIER_BIT = $00000008;
  2909. GL_SHADER_IMAGE_ACCESS_BARRIER_BIT = $00000020;
  2910. GL_COMMAND_BARRIER_BIT = $00000040;
  2911. GL_PIXEL_BUFFER_BARRIER_BIT = $00000080;
  2912. GL_TEXTURE_UPDATE_BARRIER_BIT = $00000100;
  2913. GL_BUFFER_UPDATE_BARRIER_BIT = $00000200;
  2914. GL_FRAMEBUFFER_BARRIER_BIT = $00000400;
  2915. GL_TRANSFORM_FEEDBACK_BARRIER_BIT = $00000800;
  2916. GL_ATOMIC_COUNTER_BARRIER_BIT = $00001000;
  2917. GL_ALL_BARRIER_BITS = $FFFFFFFF;
  2918. GL_MAX_IMAGE_UNITS = $8F38;
  2919. GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = $8F39;
  2920. GL_IMAGE_BINDING_NAME = $8F3A;
  2921. GL_IMAGE_BINDING_LEVEL = $8F3B;
  2922. GL_IMAGE_BINDING_LAYERED = $8F3C;
  2923. GL_IMAGE_BINDING_LAYER = $8F3D;
  2924. GL_IMAGE_BINDING_ACCESS = $8F3E;
  2925. GL_IMAGE_1D = $904C;
  2926. GL_IMAGE_2D = $904D;
  2927. GL_IMAGE_3D = $904E;
  2928. GL_IMAGE_2D_RECT = $904F;
  2929. GL_IMAGE_CUBE = $9050;
  2930. GL_IMAGE_BUFFER = $9051;
  2931. GL_IMAGE_1D_ARRAY = $9052;
  2932. GL_IMAGE_2D_ARRAY = $9053;
  2933. GL_IMAGE_CUBE_MAP_ARRAY = $9054;
  2934. GL_IMAGE_2D_MULTISAMPLE = $9055;
  2935. GL_IMAGE_2D_MULTISAMPLE_ARRAY = $9056;
  2936. GL_INT_IMAGE_1D = $9057;
  2937. GL_INT_IMAGE_2D = $9058;
  2938. GL_INT_IMAGE_3D = $9059;
  2939. GL_INT_IMAGE_2D_RECT = $905A;
  2940. GL_INT_IMAGE_CUBE = $905B;
  2941. GL_INT_IMAGE_BUFFER = $905C;
  2942. GL_INT_IMAGE_1D_ARRAY = $905D;
  2943. GL_INT_IMAGE_2D_ARRAY = $905E;
  2944. GL_INT_IMAGE_CUBE_MAP_ARRAY = $905F;
  2945. GL_INT_IMAGE_2D_MULTISAMPLE = $9060;
  2946. GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY = $9061;
  2947. GL_UNSIGNED_INT_IMAGE_1D = $9062;
  2948. GL_UNSIGNED_INT_IMAGE_2D = $9063;
  2949. GL_UNSIGNED_INT_IMAGE_3D = $9064;
  2950. GL_UNSIGNED_INT_IMAGE_2D_RECT = $9065;
  2951. GL_UNSIGNED_INT_IMAGE_CUBE = $9066;
  2952. GL_UNSIGNED_INT_IMAGE_BUFFER = $9067;
  2953. GL_UNSIGNED_INT_IMAGE_1D_ARRAY = $9068;
  2954. GL_UNSIGNED_INT_IMAGE_2D_ARRAY = $9069;
  2955. GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = $906A;
  2956. GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = $906B;
  2957. GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = $906C;
  2958. GL_MAX_IMAGE_SAMPLES = $906D;
  2959. GL_IMAGE_BINDING_FORMAT = $906E;
  2960. GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = $90C7;
  2961. GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = $90C8;
  2962. GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = $90C9;
  2963. GL_MAX_VERTEX_IMAGE_UNIFORMS = $90CA;
  2964. GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = $90CB;
  2965. GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = $90CC;
  2966. GL_MAX_GEOMETRY_IMAGE_UNIFORMS = $90CD;
  2967. GL_MAX_FRAGMENT_IMAGE_UNIFORMS = $90CE;
  2968. GL_MAX_COMBINED_IMAGE_UNIFORMS = $90CF;
  2969. // GL_ARB_texture_storage
  2970. GL_TEXTURE_IMMUTABLE_FORMAT = $912F;
  2971. // 4.3
  2972. // GL_KHR_texture_compression_astc_hdr
  2973. GL_COMPRESSED_RGBA_ASTC_4x4_KHR = $93B0;
  2974. GL_COMPRESSED_RGBA_ASTC_5x4_KHR = $93B1;
  2975. GL_COMPRESSED_RGBA_ASTC_5x5_KHR = $93B2;
  2976. GL_COMPRESSED_RGBA_ASTC_6x5_KHR = $93B3;
  2977. GL_COMPRESSED_RGBA_ASTC_6x6_KHR = $93B4;
  2978. GL_COMPRESSED_RGBA_ASTC_8x5_KHR = $93B5;
  2979. GL_COMPRESSED_RGBA_ASTC_8x6_KHR = $93B6;
  2980. GL_COMPRESSED_RGBA_ASTC_8x8_KHR = $93B7;
  2981. GL_COMPRESSED_RGBA_ASTC_105_KHR = $93B8;
  2982. GL_COMPRESSED_RGBA_ASTC_106_KHR = $93B9;
  2983. GL_COMPRESSED_RGBA_ASTC_108_KHR = $93BA;
  2984. GL_COMPRESSED_RGBA_ASTC_110_KHR = $93BB;
  2985. GL_COMPRESSED_RGBA_ASTC_12x10_KHR = $93BC;
  2986. GL_COMPRESSED_RGBA_ASTC_12x12_KHR = $93BD;
  2987. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = $93D0;
  2988. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = $93D1;
  2989. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = $93D2;
  2990. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = $93D3;
  2991. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = $93D4;
  2992. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = $93D5;
  2993. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = $93D6;
  2994. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = $93D7;
  2995. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = $93D8;
  2996. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = $93D9;
  2997. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = $93DA;
  2998. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = $93DB;
  2999. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = $93DC;
  3000. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = $93DD;
  3001. // (4.3) GL_KHR_debug
  3002. GL_DEBUG_OUTPUT_SYNCHRONOUS = $8242;
  3003. GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = $8243;
  3004. GL_DEBUG_CALLBACK_FUNCTION = $8244;
  3005. GL_DEBUG_CALLBACK_USER_PARAM = $8245;
  3006. GL_DEBUG_SOURCE_API = $8246;
  3007. GL_DEBUG_SOURCE_WINDOW_SYSTEM = $8247;
  3008. GL_DEBUG_SOURCE_SHADER_COMPILER = $8248;
  3009. GL_DEBUG_SOURCE_THIRD_PARTY = $8249;
  3010. GL_DEBUG_SOURCE_APPLICATION = $824A;
  3011. GL_DEBUG_SOURCE_OTHER = $824B;
  3012. GL_DEBUG_TYPE_ERROR = $824C;
  3013. GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = $824D;
  3014. GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = $824E;
  3015. GL_DEBUG_TYPE_PORTABILITY = $824F;
  3016. GL_DEBUG_TYPE_PERFORMANCE = $8250;
  3017. GL_DEBUG_TYPE_OTHER = $8251;
  3018. GL_DEBUG_TYPE_MARKER = $8268;
  3019. GL_DEBUG_TYPE_PUSH_GROUP = $8269;
  3020. GL_DEBUG_TYPE_POP_GROUP = $826A;
  3021. GL_DEBUG_SEVERITY_NOTIFICATION = $826B;
  3022. GL_MAX_DEBUG_GROUP_STACK_DEPTH = $826C;
  3023. GL_DEBUG_GROUP_STACK_DEPTH = $826D;
  3024. GL_BUFFER = $82E0;
  3025. GL_SHADER = $82E1;
  3026. GL_PROGRAM = $82E2;
  3027. GL_QUERY = $82E3;
  3028. GL_PROGRAM_PIPELINE = $82E4;
  3029. GL_SAMPLER = $82E6;
  3030. GL_DISPLAY_LIST = $82E7;
  3031. GL_MAX_LABEL_LENGTH = $82E8;
  3032. GL_MAX_DEBUG_MESSAGE_LENGTH = $9143;
  3033. GL_MAX_DEBUG_LOGGED_MESSAGES = $9144;
  3034. GL_DEBUG_LOGGED_MESSAGES = $9145;
  3035. GL_DEBUG_SEVERITY_HIGH = $9146;
  3036. GL_DEBUG_SEVERITY_MEDIUM = $9147;
  3037. GL_DEBUG_SEVERITY_LOW = $9148;
  3038. GL_DEBUG_OUTPUT = $92E0;
  3039. GL_CONTEXT_FLAG_DEBUG_BIT = $00000002;
  3040. GL_COMPUTE_SHADER = $91B9;
  3041. GL_MAX_COMPUTE_UNIFORM_BLOCKS = $91BB;
  3042. GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = $91BC;
  3043. GL_MAX_COMPUTE_IMAGE_UNIFORMS = $91BD;
  3044. GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = $8262;
  3045. GL_MAX_COMPUTE_UNIFORM_COMPONENTS = $8263;
  3046. GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = $8264;
  3047. GL_MAX_COMPUTE_ATOMIC_COUNTERS = $8265;
  3048. GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = $8266;
  3049. GL_MAX_COMPUTE_LOCAL_INVOCATIONS = $90EB;
  3050. GL_MAX_COMPUTE_WORK_GROUP_COUNT = $91BE;
  3051. GL_MAX_COMPUTE_WORK_GROUP_SIZE = $91BF;
  3052. GL_COMPUTE_LOCAL_WORK_SIZE = $8267;
  3053. GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = $90EC;
  3054. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = $90ED;
  3055. GL_DISPATCH_INDIRECT_BUFFER = $90EE;
  3056. GL_DISPATCH_INDIRECT_BUFFER_BINDING = $90EF;
  3057. GL_COMPUTE_SHADER_BIT = $00000020;
  3058. GL_COMPRESSED_RGB8_ETC2 = $9274;
  3059. GL_COMPRESSED_SRGB8_ETC2 = $9275;
  3060. GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = $9276;
  3061. GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = $9277;
  3062. GL_COMPRESSED_RGBA8_ETC2_EAC = $9278;
  3063. GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = $9279;
  3064. GL_COMPRESSED_R11_EAC = $9270;
  3065. GL_COMPRESSED_SIGNED_R11_EAC = $9271;
  3066. GL_COMPRESSED_RG11_EAC = $9272;
  3067. GL_COMPRESSED_SIGNED_RG11_EAC = $9273;
  3068. GL_PRIMITIVE_RESTART_FIXED_INDEX = $8D69;
  3069. GL_ANY_SAMPLES_PASSED_CONSERVATIVE = $8D6A;
  3070. GL_MAX_ELEMENT_INDEX = $8D6B;
  3071. GL_MAX_UNIFORM_LOCATIONS = $826E;
  3072. GL_FRAMEBUFFER_DEFAULT_WIDTH = $9310;
  3073. GL_FRAMEBUFFER_DEFAULT_HEIGHT = $9311;
  3074. GL_FRAMEBUFFER_DEFAULT_LAYERS = $9312;
  3075. GL_FRAMEBUFFER_DEFAULT_SAMPLES = $9313;
  3076. GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = $9314;
  3077. GL_MAX_FRAMEBUFFER_WIDTH = $9315;
  3078. GL_MAX_FRAMEBUFFER_HEIGHT = $9316;
  3079. GL_MAX_FRAMEBUFFER_LAYERS = $9317;
  3080. GL_MAX_FRAMEBUFFER_SAMPLES = $9318;
  3081. GL_INTERNALFORMAT_SUPPORTED = $826F;
  3082. GL_INTERNALFORMAT_PREFERRED = $8270;
  3083. GL_INTERNALFORMAT_RED_SIZE = $8271;
  3084. GL_INTERNALFORMAT_GREEN_SIZE = $8272;
  3085. GL_INTERNALFORMAT_BLUE_SIZE = $8273;
  3086. GL_INTERNALFORMAT_ALPHA_SIZE = $8274;
  3087. GL_INTERNALFORMAT_DEPTH_SIZE = $8275;
  3088. GL_INTERNALFORMAT_STENCIL_SIZE = $8276;
  3089. GL_INTERNALFORMAT_SHARED_SIZE = $8277;
  3090. GL_INTERNALFORMAT_RED_TYPE = $8278;
  3091. GL_INTERNALFORMAT_GREEN_TYPE = $8279;
  3092. GL_INTERNALFORMAT_BLUE_TYPE = $827A;
  3093. GL_INTERNALFORMAT_ALPHA_TYPE = $827B;
  3094. GL_INTERNALFORMAT_DEPTH_TYPE = $827C;
  3095. GL_INTERNALFORMAT_STENCIL_TYPE = $827D;
  3096. GL_MAX_WIDTH = $827E;
  3097. GL_MAX_HEIGHT = $827F;
  3098. GL_MAX_DEPTH = $8280;
  3099. GL_MAX_LAYERS = $8281;
  3100. GL_MAX_COMBINED_DIMENSIONS = $8282;
  3101. GL_COLOR_COMPONENTS = $8283;
  3102. GL_DEPTH_COMPONENTS = $8284;
  3103. GL_STENCIL_COMPONENTS = $8285;
  3104. GL_COLOR_RENDERABLE = $8286;
  3105. GL_DEPTH_RENDERABLE = $8287;
  3106. GL_STENCIL_RENDERABLE = $8288;
  3107. GL_FRAMEBUFFER_RENDERABLE = $8289;
  3108. GL_FRAMEBUFFER_RENDERABLE_LAYERED = $828A;
  3109. GL_FRAMEBUFFER_BLEND = $828B;
  3110. GL_READ_PIXELS = $828C;
  3111. GL_READ_PIXELS_FORMAT = $828D;
  3112. GL_READ_PIXELS_TYPE = $828E;
  3113. GL_TEXTURE_IMAGE_FORMAT = $828F;
  3114. GL_TEXTURE_IMAGE_TYPE = $8290;
  3115. GL_GET_TEXTURE_IMAGE_FORMAT = $8291;
  3116. GL_GET_TEXTURE_IMAGE_TYPE = $8292;
  3117. GL_MIPMAP = $8293;
  3118. GL_MANUAL_GENERATE_MIPMAP = $8294;
  3119. GL_AUTO_GENERATE_MIPMAP = $8295;
  3120. GL_COLOR_ENCODING = $8296;
  3121. GL_SRGB_READ = $8297;
  3122. GL_SRGB_WRITE = $8298;
  3123. GL_SRGB_DECODE_ARB = $8299;
  3124. GL_FILTER = $829A;
  3125. GL_VERTEX_TEXTURE = $829B;
  3126. GL_TESS_CONTROL_TEXTURE = $829C;
  3127. GL_TESS_EVALUATION_TEXTURE = $829D;
  3128. GL_GEOMETRY_TEXTURE = $829E;
  3129. GL_FRAGMENT_TEXTURE = $829F;
  3130. GL_COMPUTE_TEXTURE = $82A0;
  3131. GL_TEXTURE_SHADOW = $82A1;
  3132. GL_TEXTURE_GATHER = $82A2;
  3133. GL_TEXTURE_GATHER_SHADOW = $82A3;
  3134. GL_SHADER_IMAGE_LOAD = $82A4;
  3135. GL_SHADER_IMAGE_STORE = $82A5;
  3136. GL_SHADER_IMAGE_ATOMIC = $82A6;
  3137. GL_IMAGE_TEXEL_SIZE = $82A7;
  3138. GL_IMAGE_COMPATIBILITY_CLASS = $82A8;
  3139. GL_IMAGE_PIXEL_FORMAT = $82A9;
  3140. GL_IMAGE_PIXEL_TYPE = $82AA;
  3141. GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = $82AC;
  3142. GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = $82AD;
  3143. GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = $82AE;
  3144. GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = $82AF;
  3145. GL_TEXTURE_COMPRESSED_BLOCK_WIDTH = $82B1;
  3146. GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT = $82B2;
  3147. GL_TEXTURE_COMPRESSED_BLOCK_SIZE = $82B3;
  3148. GL_CLEAR_BUFFER = $82B4;
  3149. GL_TEXTURE_VIEW = $82B5;
  3150. GL_VIEW_COMPATIBILITY_CLASS = $82B6;
  3151. GL_FULL_SUPPORT = $82B7;
  3152. GL_CAVEAT_SUPPORT = $82B8;
  3153. GL_IMAGE_CLASS_4_X_32 = $82B9;
  3154. GL_IMAGE_CLASS_2_X_32 = $82BA;
  3155. GL_IMAGE_CLASS_1_X_32 = $82BB;
  3156. GL_IMAGE_CLASS_4_X_16 = $82BC;
  3157. GL_IMAGE_CLASS_2_X_16 = $82BD;
  3158. GL_IMAGE_CLASS_1_X_16 = $82BE;
  3159. GL_IMAGE_CLASS_4_X_8 = $82BF;
  3160. GL_IMAGE_CLASS_2_X_8 = $82C0;
  3161. GL_IMAGE_CLASS_1_X_8 = $82C1;
  3162. GL_IMAGE_CLASS_11_11_10 = $82C2;
  3163. GL_IMAGE_CLASS_10_10_10_2 = $82C3;
  3164. GL_VIEW_CLASS_128_BITS = $82C4;
  3165. GL_VIEW_CLASS_96_BITS = $82C5;
  3166. GL_VIEW_CLASS_64_BITS = $82C6;
  3167. GL_VIEW_CLASS_48_BITS = $82C7;
  3168. GL_VIEW_CLASS_32_BITS = $82C8;
  3169. GL_VIEW_CLASS_24_BITS = $82C9;
  3170. GL_VIEW_CLASS_16_BITS = $82CA;
  3171. GL_VIEW_CLASS_8_BITS = $82CB;
  3172. GL_VIEW_CLASS_S3TC_DXT1_RGB = $82CC;
  3173. GL_VIEW_CLASS_S3TC_DXT1_RGBA = $82CD;
  3174. GL_VIEW_CLASS_S3TC_DXT3_RGBA = $82CE;
  3175. GL_VIEW_CLASS_S3TC_DXT5_RGBA = $82CF;
  3176. GL_VIEW_CLASS_RGTC1_RED = $82D0;
  3177. GL_VIEW_CLASS_RGTC2_RG = $82D1;
  3178. GL_VIEW_CLASS_BPTC_UNORM = $82D2;
  3179. GL_VIEW_CLASS_BPTC_FLOAT = $82D3;
  3180. GL_UNIFORM = $92E1;
  3181. GL_UNIFORM_BLOCK = $92E2;
  3182. GL_PROGRAM_INPUT = $92E3;
  3183. GL_PROGRAM_OUTPUT = $92E4;
  3184. GL_BUFFER_VARIABLE = $92E5;
  3185. GL_SHADER_STORAGE_BLOCK = $92E6;
  3186. GL_VERTEX_SUBROUTINE = $92E8;
  3187. GL_TESS_CONTROL_SUBROUTINE = $92E9;
  3188. GL_TESS_EVALUATION_SUBROUTINE = $92EA;
  3189. GL_GEOMETRY_SUBROUTINE = $92EB;
  3190. GL_FRAGMENT_SUBROUTINE = $92EC;
  3191. GL_COMPUTE_SUBROUTINE = $92ED;
  3192. GL_VERTEX_SUBROUTINE_UNIFORM = $92EE;
  3193. GL_TESS_CONTROL_SUBROUTINE_UNIFORM = $92EF;
  3194. GL_TESS_EVALUATION_SUBROUTINE_UNIFORM = $92F0;
  3195. GL_GEOMETRY_SUBROUTINE_UNIFORM = $92F1;
  3196. GL_FRAGMENT_SUBROUTINE_UNIFORM = $92F2;
  3197. GL_COMPUTE_SUBROUTINE_UNIFORM = $92F3;
  3198. GL_TRANSFORM_FEEDBACK_VARYING = $92F4;
  3199. GL_ACTIVE_RESOURCES = $92F5;
  3200. GL_MAX_NAME_LENGTH = $92F6;
  3201. GL_MAX_NUM_ACTIVE_VARIABLES = $92F7;
  3202. GL_MAX_NUM_COMPATIBLE_SUBROUTINES = $92F8;
  3203. GL_NAME_LENGTH = $92F9;
  3204. GL_TYPE = $92FA;
  3205. GL_ARRAY_SIZE = $92FB;
  3206. GL_OFFSET = $92FC;
  3207. GL_BLOCK_INDEX = $92FD;
  3208. GL_ARRAY_STRIDE = $92FE;
  3209. GL_MATRIX_STRIDE = $92FF;
  3210. GL_IS_ROW_MAJOR = $9300;
  3211. GL_ATOMIC_COUNTER_BUFFER_INDEX = $9301;
  3212. GL_BUFFER_BINDING = $9302;
  3213. GL_BUFFER_DATA_SIZE = $9303;
  3214. GL_NUM_ACTIVE_VARIABLES = $9304;
  3215. GL_ACTIVE_VARIABLES = $9305;
  3216. GL_REFERENCED_BY_VERTEX_SHADER = $9306;
  3217. GL_REFERENCED_BY_TESS_CONTROL_SHADER = $9307;
  3218. GL_REFERENCED_BY_TESS_EVALUATION_SHADER = $9308;
  3219. GL_REFERENCED_BY_GEOMETRY_SHADER = $9309;
  3220. GL_REFERENCED_BY_FRAGMENT_SHADER = $930A;
  3221. GL_REFERENCED_BY_COMPUTE_SHADER = $930B;
  3222. GL_TOP_LEVEL_ARRAY_SIZE = $930C;
  3223. GL_TOP_LEVEL_ARRAY_STRIDE = $930D;
  3224. GL_LOCATION = $930E;
  3225. GL_LOCATION_INDEX = $930F;
  3226. GL_IS_PER_PATCH = $92E7;
  3227. GL_SHADER_STORAGE_BUFFER = $90D2;
  3228. GL_SHADER_STORAGE_BUFFER_BINDING = $90D3;
  3229. GL_SHADER_STORAGE_BUFFER_START = $90D4;
  3230. GL_SHADER_STORAGE_BUFFER_SIZE = $90D5;
  3231. GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = $90D6;
  3232. GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = $90D7;
  3233. GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = $90D8;
  3234. GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = $90D9;
  3235. GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = $90DA;
  3236. GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = $90DB;
  3237. GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = $90DC;
  3238. GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = $90DD;
  3239. GL_MAX_SHADER_STORAGE_BLOCK_SIZE = $90DE;
  3240. GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = $90DF;
  3241. GL_SHADER_STORAGE_BARRIER_BIT = $2000;
  3242. GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS;
  3243. GL_DEPTH_STENCIL_TEXTURE_MODE = $90EA;
  3244. GL_TEXTURE_BUFFER_OFFSET = $919D;
  3245. GL_TEXTURE_BUFFER_SIZE = $919E;
  3246. GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = $919F;
  3247. GL_TEXTURE_VIEW_MIN_LEVEL = $82DB;
  3248. GL_TEXTURE_VIEW_NUM_LEVELS = $82DC;
  3249. GL_TEXTURE_VIEW_MIN_LAYER = $82DD;
  3250. GL_TEXTURE_VIEW_NUM_LAYERS = $82DE;
  3251. GL_TEXTURE_IMMUTABLE_LEVELS = $82DF;
  3252. GL_VERTEX_ATTRIB_BINDING = $82D4;
  3253. GL_VERTEX_ATTRIB_RELATIVE_OFFSET = $82D5;
  3254. GL_VERTEX_BINDING_DIVISOR = $82D6;
  3255. GL_VERTEX_BINDING_OFFSET = $82D7;
  3256. GL_VERTEX_BINDING_STRIDE = $82D8;
  3257. GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = $82D9;
  3258. GL_MAX_VERTEX_ATTRIB_BINDINGS = $82DA;
  3259. // GL 4.4
  3260. GL_MAX_VERTEX_ATTRIB_STRIDE = $82E5;
  3261. GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = $8221;
  3262. GL_TEXTURE_BUFFER_BINDING = $8C2A;
  3263. GL_MAP_PERSISTENT_BIT = $0040;
  3264. GL_MAP_COHERENT_BIT = $0080;
  3265. GL_DYNAMIC_STORAGE_BIT = $0100;
  3266. GL_CLIENT_STORAGE_BIT = $0200;
  3267. GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT = $00004000;
  3268. GL_BUFFER_IMMUTABLE_STORAGE = $821F;
  3269. GL_BUFFER_STORAGE_FLAGS = $8220;
  3270. GL_CLEAR_TEXTURE = $9365;
  3271. GL_LOCATION_COMPONENT = $934A;
  3272. GL_TRANSFORM_FEEDBACK_BUFFER_INDEX = $934B;
  3273. GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE = $934C;
  3274. GL_QUERY_BUFFER = $9192;
  3275. GL_QUERY_BUFFER_BARRIER_BIT = $00008000;
  3276. GL_QUERY_BUFFER_BINDING = $9193;
  3277. GL_QUERY_RESULT_NO_WAIT = $9194;
  3278. GL_MIRROR_CLAMP_TO_EDGE = $8743;
  3279. // GL 4.5
  3280. GL_CONTEXT_LOST = $0507;
  3281. GL_NEGATIVE_ONE_TO_ONE = $935E;
  3282. GL_ZERO_TO_ONE = $935F;
  3283. GL_CLIP_ORIGIN = $935C;
  3284. GL_CLIP_DEPTH_MODE = $935D;
  3285. GL_QUERY_WAIT_INVERTED = $8E17;
  3286. GL_QUERY_NO_WAIT_INVERTED = $8E18;
  3287. GL_QUERY_BY_REGION_WAIT_INVERTED = $8E19;
  3288. GL_QUERY_BY_REGION_NO_WAIT_INVERTED = $8E1A;
  3289. GL_MAX_CULL_DISTANCES = $82F9;
  3290. GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES = $82FA;
  3291. GL_TEXTURE_TARGET = $1006;
  3292. GL_QUERY_TARGET = $82EA;
  3293. GL_TEXTURE_BINDING = $82EB;
  3294. GL_GUILTY_CONTEXT_RESET = $8253;
  3295. GL_INNOCENT_CONTEXT_RESET = $8254;
  3296. GL_UNKNOWN_CONTEXT_RESET = $8255;
  3297. GL_RESET_NOTIFICATION_STRATEGY = $8256;
  3298. GL_LOSE_CONTEXT_ON_RESET = $8252;
  3299. GL_NO_RESET_NOTIFICATION = $8261;
  3300. GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT = $00000004;
  3301. GL_CONTEXT_RELEASE_BEHAVIOR = $82FB;
  3302. GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH = $82FC;
  3303. // 4.6
  3304. GL_SHADER_BINARY_FORMAT_SPIR_V = $9551;
  3305. GL_SPIR_V_BINARY = $9552;
  3306. GL_PARAMETER_BUFFER = $80EE;
  3307. GL_PARAMETER_BUFFER_BINDING = $80EF;
  3308. GL_CONTEXT_FLAG_NO_ERROR_BIT = $00000008;
  3309. GL_VERTICES_SUBMITTED = $82EE;
  3310. GL_PRIMITIVES_SUBMITTED = $82EF;
  3311. GL_VERTEX_SHADER_INVOCATIONS = $82F0;
  3312. GL_TESS_CONTROL_SHADER_PATCHES = $82F1;
  3313. GL_TESS_EVALUATION_SHADER_INVOCATIONS = $82F2;
  3314. GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED = $82F3;
  3315. GL_FRAGMENT_SHADER_INVOCATIONS = $82F4;
  3316. GL_COMPUTE_SHADER_INVOCATIONS = $82F5;
  3317. GL_CLIPPING_INPUT_PRIMITIVES = $82F6;
  3318. GL_CLIPPING_OUTPUT_PRIMITIVES = $82F7;
  3319. GL_POLYGON_OFFSET_CLAMP = $8E1B;
  3320. GL_SPIR_V_EXTENSIONS = $9553;
  3321. GL_NUM_SPIR_V_EXTENSIONS = $9554;
  3322. GL_TEXTURE_MAX_ANISOTROPY = $84FE;
  3323. GL_MAX_TEXTURE_MAX_ANISOTROPY = $84FF;
  3324. GL_TRANSFORM_FEEDBACK_OVERFLOW = $82EC;
  3325. GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW = $82ED;
  3326. // GL_ATI_draw_buffers
  3327. GL_MAX_DRAW_BUFFERS_ATI = $8824;
  3328. GL_DRAW_BUFFER0_ATI = $8825;
  3329. GL_DRAW_BUFFER1_ATI = $8826;
  3330. GL_DRAW_BUFFER2_ATI = $8827;
  3331. GL_DRAW_BUFFER3_ATI = $8828;
  3332. GL_DRAW_BUFFER4_ATI = $8829;
  3333. GL_DRAW_BUFFER5_ATI = $882A;
  3334. GL_DRAW_BUFFER6_ATI = $882B;
  3335. GL_DRAW_BUFFER7_ATI = $882C;
  3336. GL_DRAW_BUFFER8_ATI = $882D;
  3337. GL_DRAW_BUFFER9_ATI = $882E;
  3338. GL_DRAW_BUFFER10_ATI = $882F;
  3339. GL_DRAW_BUFFER11_ATI = $8830;
  3340. GL_DRAW_BUFFER12_ATI = $8831;
  3341. GL_DRAW_BUFFER13_ATI = $8832;
  3342. GL_DRAW_BUFFER14_ATI = $8833;
  3343. GL_DRAW_BUFFER15_ATI = $8834;
  3344. // GL_ATI_element_array
  3345. GL_ELEMENT_ARRAY_ATI = $8768;
  3346. GL_ELEMENT_ARRAY_TYPE_ATI = $8769;
  3347. GL_ELEMENT_ARRAY_POINTER_ATI = $876A;
  3348. // GL_ATI_envmap_bumpmap
  3349. GL_BUMP_ROT_MATRIX_ATI = $8775;
  3350. GL_BUMP_ROT_MATRIX_SIZE_ATI = $8776;
  3351. GL_BUMP_NUM_TEX_UNITS_ATI = $8777;
  3352. GL_BUMP_TEX_UNITS_ATI = $8778;
  3353. GL_DUDV_ATI = $8779;
  3354. GL_DU8DV8_ATI = $877A;
  3355. GL_BUMP_ENVMAP_ATI = $877B;
  3356. GL_BUMP_TARGET_ATI = $877C;
  3357. // GL_ATI_fragment_shader
  3358. GL_FRAGMENT_SHADER_ATI = $8920;
  3359. GL_REG_0_ATI = $8921;
  3360. GL_REG_1_ATI = $8922;
  3361. GL_REG_2_ATI = $8923;
  3362. GL_REG_3_ATI = $8924;
  3363. GL_REG_4_ATI = $8925;
  3364. GL_REG_5_ATI = $8926;
  3365. GL_REG_6_ATI = $8927;
  3366. GL_REG_7_ATI = $8928;
  3367. GL_REG_8_ATI = $8929;
  3368. GL_REG_9_ATI = $892A;
  3369. GL_REG_10_ATI = $892B;
  3370. GL_REG_11_ATI = $892C;
  3371. GL_REG_12_ATI = $892D;
  3372. GL_REG_13_ATI = $892E;
  3373. GL_REG_14_ATI = $892F;
  3374. GL_REG_15_ATI = $8930;
  3375. GL_REG_16_ATI = $8931;
  3376. GL_REG_17_ATI = $8932;
  3377. GL_REG_18_ATI = $8933;
  3378. GL_REG_19_ATI = $8934;
  3379. GL_REG_20_ATI = $8935;
  3380. GL_REG_21_ATI = $8936;
  3381. GL_REG_22_ATI = $8937;
  3382. GL_REG_23_ATI = $8938;
  3383. GL_REG_24_ATI = $8939;
  3384. GL_REG_25_ATI = $893A;
  3385. GL_REG_26_ATI = $893B;
  3386. GL_REG_27_ATI = $893C;
  3387. GL_REG_28_ATI = $893D;
  3388. GL_REG_29_ATI = $893E;
  3389. GL_REG_30_ATI = $893F;
  3390. GL_REG_31_ATI = $8940;
  3391. GL_CON_0_ATI = $8941;
  3392. GL_CON_1_ATI = $8942;
  3393. GL_CON_2_ATI = $8943;
  3394. GL_CON_3_ATI = $8944;
  3395. GL_CON_4_ATI = $8945;
  3396. GL_CON_5_ATI = $8946;
  3397. GL_CON_6_ATI = $8947;
  3398. GL_CON_7_ATI = $8948;
  3399. GL_CON_8_ATI = $8949;
  3400. GL_CON_9_ATI = $894A;
  3401. GL_CON_10_ATI = $894B;
  3402. GL_CON_11_ATI = $894C;
  3403. GL_CON_12_ATI = $894D;
  3404. GL_CON_13_ATI = $894E;
  3405. GL_CON_14_ATI = $894F;
  3406. GL_CON_15_ATI = $8950;
  3407. GL_CON_16_ATI = $8951;
  3408. GL_CON_17_ATI = $8952;
  3409. GL_CON_18_ATI = $8953;
  3410. GL_CON_19_ATI = $8954;
  3411. GL_CON_20_ATI = $8955;
  3412. GL_CON_21_ATI = $8956;
  3413. GL_CON_22_ATI = $8957;
  3414. GL_CON_23_ATI = $8958;
  3415. GL_CON_24_ATI = $8959;
  3416. GL_CON_25_ATI = $895A;
  3417. GL_CON_26_ATI = $895B;
  3418. GL_CON_27_ATI = $895C;
  3419. GL_CON_28_ATI = $895D;
  3420. GL_CON_29_ATI = $895E;
  3421. GL_CON_30_ATI = $895F;
  3422. GL_CON_31_ATI = $8960;
  3423. GL_MOV_ATI = $8961;
  3424. GL_ADD_ATI = $8963;
  3425. GL_MUL_ATI = $8964;
  3426. GL_SUB_ATI = $8965;
  3427. GL_DOT3_ATI = $8966;
  3428. GL_DOT4_ATI = $8967;
  3429. GL_MAD_ATI = $8968;
  3430. GL_LERP_ATI = $8969;
  3431. GL_CND_ATI = $896A;
  3432. GL_CND0_ATI = $896B;
  3433. GL_DOT2_ADD_ATI = $896C;
  3434. GL_SECONDARY_INTERPOLATOR_ATI = $896D;
  3435. GL_NUM_FRAGMENT_REGISTERS_ATI = $896E;
  3436. GL_NUM_FRAGMENT_CONSTANTS_ATI = $896F;
  3437. GL_NUM_PASSES_ATI = $8970;
  3438. GL_NUM_INSTRUCTIONS_PER_PASS_ATI = $8971;
  3439. GL_NUM_INSTRUCTIONS_TOTAL_ATI = $8972;
  3440. GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = $8973;
  3441. GL_NUM_LOOPBACK_COMPONENTS_ATI = $8974;
  3442. GL_COLOR_ALPHA_PAIRING_ATI = $8975;
  3443. GL_SWIZZLE_STR_ATI = $8976;
  3444. GL_SWIZZLE_STQ_ATI = $8977;
  3445. GL_SWIZZLE_STR_DR_ATI = $8978;
  3446. GL_SWIZZLE_STQ_DQ_ATI = $8979;
  3447. GL_SWIZZLE_STRQ_ATI = $897A;
  3448. GL_SWIZZLE_STRQ_DQ_ATI = $897B;
  3449. GL_RED_BIT_ATI = $00000001;
  3450. GL_GREEN_BIT_ATI = $00000002;
  3451. GL_BLUE_BIT_ATI = $00000004;
  3452. GL_2X_BIT_ATI = $00000001;
  3453. GL_4X_BIT_ATI = $00000002;
  3454. GL_8X_BIT_ATI = $00000004;
  3455. GL_HALF_BIT_ATI = $00000008;
  3456. GL_QUARTER_BIT_ATI = $00000010;
  3457. GL_EIGHTH_BIT_ATI = $00000020;
  3458. GL_SATURATE_BIT_ATI = $00000040;
  3459. GL_COMP_BIT_ATI = $00000002;
  3460. GL_NEGATE_BIT_ATI = $00000004;
  3461. GL_BIAS_BIT_ATI = $00000008;
  3462. // GL_ATI_pn_triangles
  3463. GL_PN_TRIANGLES_ATI = $87F0;
  3464. GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = $87F1;
  3465. GL_PN_TRIANGLES_POINT_MODE_ATI = $87F2;
  3466. GL_PN_TRIANGLES_NORMAL_MODE_ATI = $87F3;
  3467. GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI = $87F4;
  3468. GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI = $87F5;
  3469. GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI = $87F6;
  3470. GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = $87F7;
  3471. GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = $87F8;
  3472. // GL_ATI_separate_stencil
  3473. GL_STENCIL_BACK_FUNC_ATI = $8800;
  3474. GL_STENCIL_BACK_FAIL_ATI = $8801;
  3475. GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI = $8802;
  3476. GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI = $8803;
  3477. // GL_ATI_text_fragment_shader
  3478. GL_TEXT_FRAGMENT_SHADER_ATI = $8200;
  3479. // GL_ATI_texture_env_combine3
  3480. GL_MODULATE_ADD_ATI = $8744;
  3481. GL_MODULATE_SIGNED_ADD_ATI = $8745;
  3482. GL_MODULATE_SUBTRACT_ATI = $8746;
  3483. // GL_ATI_texture_float
  3484. GL_RGBA_FLOAT32_ATI = $8814;
  3485. GL_RGB_FLOAT32_ATI = $8815;
  3486. GL_ALPHA_FLOAT32_ATI = $8816;
  3487. GL_INTENSITY_FLOAT32_ATI = $8817;
  3488. GL_LUMINANCE_FLOAT32_ATI = $8818;
  3489. GL_LUMINANCE_ALPHA_FLOAT32_ATI = $8819;
  3490. GL_RGBA_FLOAT16_ATI = $881A;
  3491. GL_RGB_FLOAT16_ATI = $881B;
  3492. GL_ALPHA_FLOAT16_ATI = $881C;
  3493. GL_INTENSITY_FLOAT16_ATI = $881D;
  3494. GL_LUMINANCE_FLOAT16_ATI = $881E;
  3495. GL_LUMINANCE_ALPHA_FLOAT16_ATI = $881F;
  3496. // GL_ATI_texture_mirror_once
  3497. GL_MIRROR_CLAMP_ATI = $8742;
  3498. GL_MIRROR_CLAMP_TO_EDGE_ATI = $8743;
  3499. // GL_ATI_vertex_array_object
  3500. GL_STATIC_ATI = $8760;
  3501. GL_DYNAMIC_ATI = $8761;
  3502. GL_PRESERVE_ATI = $8762;
  3503. GL_DISCARD_ATI = $8763;
  3504. GL_OBJECT_BUFFER_SIZE_ATI = $8764;
  3505. GL_OBJECT_BUFFER_USAGE_ATI = $8765;
  3506. GL_ARRAY_OBJECT_BUFFER_ATI = $8766;
  3507. GL_ARRAY_OBJECT_OFFSET_ATI = $8767;
  3508. // GL_ATI_vertex_streams
  3509. GL_MAX_VERTEX_STREAMS_ATI = $876B;
  3510. GL_VERTEX_STREAM0_ATI = $876C;
  3511. GL_VERTEX_STREAM1_ATI = $876D;
  3512. GL_VERTEX_STREAM2_ATI = $876E;
  3513. GL_VERTEX_STREAM3_ATI = $876F;
  3514. GL_VERTEX_STREAM4_ATI = $8770;
  3515. GL_VERTEX_STREAM5_ATI = $8771;
  3516. GL_VERTEX_STREAM6_ATI = $8772;
  3517. GL_VERTEX_STREAM7_ATI = $8773;
  3518. GL_VERTEX_SOURCE_ATI = $8774;
  3519. // GL_ATI_meminfo
  3520. GL_VBO_FREE_MEMORY_ATI = $87FB;
  3521. GL_TEXTURE_FREE_MEMORY_ATI = $87FC;
  3522. GL_RENDERBUFFER_FREE_MEMORY_ATI = $87FD;
  3523. // GL_AMD_performance_monitor
  3524. GL_COUNTER_TYPE_AMD = $8BC0;
  3525. GL_COUNTER_RANGE_AMD = $8BC1;
  3526. GL_UNSIGNED_INT64_AMD = $8BC2;
  3527. GL_PERCENTAGE_AMD = $8BC3;
  3528. GL_PERFMON_RESULT_AVAILABLE_AMD = $8BC4;
  3529. GL_PERFMON_RESULT_SIZE_AMD = $8BC5;
  3530. GL_PERFMON_RESULT_AMD = $8BC6;
  3531. // GL_AMD_vertex_shader_tesselator
  3532. GL_SAMPLER_BUFFER_AMD = $9001;
  3533. GL_INT_SAMPLER_BUFFER_AMD = $9002;
  3534. GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD = $9003;
  3535. GL_TESSELLATION_MODE_AMD = $9004;
  3536. GL_TESSELLATION_FACTOR_AMD = $9005;
  3537. GL_DISCRETE_AMD = $9006;
  3538. GL_CONTINUOUS_AMD = $9007;
  3539. // GL_AMD_seamless_cubemap_per_texture
  3540. { reuse GL_TEXTURE_CUBE_MAP_SEAMLESS }
  3541. // GL_AMD_name_gen_delete
  3542. GL_DATA_BUFFER_AMD = $9151;
  3543. GL_PERFORMANCE_MONITOR_AMD = $9152;
  3544. GL_QUERY_OBJECT_AMD = $9153;
  3545. GL_VERTEX_ARRAY_OBJECT_AMD = $9154;
  3546. GL_SAMPLER_OBJECT_AMD = $9155;
  3547. // GL_AMD_debug_output
  3548. GL_MAX_DEBUG_LOGGED_MESSAGES_AMD = $9144;
  3549. GL_DEBUG_LOGGED_MESSAGES_AMD = $9145;
  3550. GL_DEBUG_SEVERITY_HIGH_AMD = $9146;
  3551. GL_DEBUG_SEVERITY_MEDIUM_AMD = $9147;
  3552. GL_DEBUG_SEVERITY_LOW_AMD = $9148;
  3553. GL_DEBUG_CATEGORY_API_ERROR_AMD = $9149;
  3554. GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD = $914A;
  3555. GL_DEBUG_CATEGORY_DEPRECATION_AMD = $914B;
  3556. GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD = $914C;
  3557. GL_DEBUG_CATEGORY_PERFORMANCE_AMD = $914D;
  3558. GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD = $914E;
  3559. GL_DEBUG_CATEGORY_APPLICATION_AMD = $914F;
  3560. GL_DEBUG_CATEGORY_OTHER_AMD = $9150;
  3561. // GL_AMD_depth_clamp_separate
  3562. GL_DEPTH_CLAMP_NEAR_AMD = $901E;
  3563. GL_DEPTH_CLAMP_FAR_AMD = $901F;
  3564. // GL_EXT_422_pixels
  3565. GL_422_EXT = $80CC;
  3566. GL_422_REV_EXT = $80CD;
  3567. GL_422_AVERAGE_EXT = $80CE;
  3568. GL_422_REV_AVERAGE_EXT = $80CF;
  3569. // GL_EXT_abgr
  3570. GL_ABGR_EXT = $8000;
  3571. // GL_EXT_bgra
  3572. GL_BGR_EXT = $80E0;
  3573. GL_BGRA_EXT = $80E1;
  3574. // GL_EXT_blend_color
  3575. GL_CONSTANT_COLOR_EXT = $8001;
  3576. GL_ONE_MINUS_CONSTANT_COLOR_EXT = $8002;
  3577. GL_CONSTANT_ALPHA_EXT = $8003;
  3578. GL_ONE_MINUS_CONSTANT_ALPHA_EXT = $8004;
  3579. GL_BLEND_COLOR_EXT = $8005;
  3580. // GL_EXT_blend_func_separate
  3581. GL_BLEND_DST_RGB_EXT = $80C8;
  3582. GL_BLEND_SRC_RGB_EXT = $80C9;
  3583. GL_BLEND_DST_ALPHA_EXT = $80CA;
  3584. GL_BLEND_SRC_ALPHA_EXT = $80CB;
  3585. // GL_EXT_blend_minmax
  3586. GL_FUNC_ADD_EXT = $8006;
  3587. GL_MIN_EXT = $8007;
  3588. GL_MAX_EXT = $8008;
  3589. GL_BLEND_EQUATION_EXT = $8009;
  3590. // GL_EXT_blend_subtract
  3591. GL_FUNC_SUBTRACT_EXT = $800A;
  3592. GL_FUNC_REVERSE_SUBTRACT_EXT = $800B;
  3593. // GL_EXT_clip_volume_hint
  3594. GL_CLIP_VOLUME_CLIPPING_HINT_EXT = $80F0;
  3595. // GL_EXT_cmyka
  3596. GL_CMYK_EXT = $800C;
  3597. GL_CMYKA_EXT = $800D;
  3598. GL_PACK_CMYK_HINT_EXT = $800E;
  3599. GL_UNPACK_CMYK_HINT_EXT = $800F;
  3600. // GL_EXT_compiled_vertex_array
  3601. GL_ARRAY_ELEMENT_LOCK_FIRST_EXT = $81A8;
  3602. GL_ARRAY_ELEMENT_LOCK_COUNT_EXT = $81A9;
  3603. // GL_EXT_convolution
  3604. GL_CONVOLUTION_1D_EXT = $8010;
  3605. GL_CONVOLUTION_2D_EXT = $8011;
  3606. GL_SEPARABLE_2D_EXT = $8012;
  3607. GL_CONVOLUTION_BORDER_MODE_EXT = $8013;
  3608. GL_CONVOLUTION_FILTER_SCALE_EXT = $8014;
  3609. GL_CONVOLUTION_FILTER_BIAS_EXT = $8015;
  3610. GL_REDUCE_EXT = $8016;
  3611. GL_CONVOLUTION_FORMAT_EXT = $8017;
  3612. GL_CONVOLUTION_WIDTH_EXT = $8018;
  3613. GL_CONVOLUTION_HEIGHT_EXT = $8019;
  3614. GL_MAX_CONVOLUTION_WIDTH_EXT = $801A;
  3615. GL_MAX_CONVOLUTION_HEIGHT_EXT = $801B;
  3616. GL_POST_CONVOLUTION_RED_SCALE_EXT = $801C;
  3617. GL_POST_CONVOLUTION_GREEN_SCALE_EXT = $801D;
  3618. GL_POST_CONVOLUTION_BLUE_SCALE_EXT = $801E;
  3619. GL_POST_CONVOLUTION_ALPHA_SCALE_EXT = $801F;
  3620. GL_POST_CONVOLUTION_RED_BIAS_EXT = $8020;
  3621. GL_POST_CONVOLUTION_GREEN_BIAS_EXT = $8021;
  3622. GL_POST_CONVOLUTION_BLUE_BIAS_EXT = $8022;
  3623. GL_POST_CONVOLUTION_ALPHA_BIAS_EXT = $8023;
  3624. // GL_EXT_coordinate_frame
  3625. GL_TANGENT_ARRAY_EXT = $8439;
  3626. GL_BINORMAL_ARRAY_EXT = $843A;
  3627. GL_CURRENT_TANGENT_EXT = $843B;
  3628. GL_CURRENT_BINORMAL_EXT = $843C;
  3629. GL_TANGENT_ARRAY_TYPE_EXT = $843E;
  3630. GL_TANGENT_ARRAY_STRIDE_EXT = $843F;
  3631. GL_BINORMAL_ARRAY_TYPE_EXT = $8440;
  3632. GL_BINORMAL_ARRAY_STRIDE_EXT = $8441;
  3633. GL_TANGENT_ARRAY_POINTER_EXT = $8442;
  3634. GL_BINORMAL_ARRAY_POINTER_EXT = $8443;
  3635. GL_MAP1_TANGENT_EXT = $8444;
  3636. GL_MAP2_TANGENT_EXT = $8445;
  3637. GL_MAP1_BINORMAL_EXT = $8446;
  3638. GL_MAP2_BINORMAL_EXT = $8447;
  3639. // GL_EXT_cull_vertex
  3640. GL_CULL_VERTEX_EXT = $81AA;
  3641. GL_CULL_VERTEX_EYE_POSITION_EXT = $81AB;
  3642. GL_CULL_VERTEX_OBJECT_POSITION_EXT = $81AC;
  3643. // GL_EXT_draw_range_elements
  3644. GL_MAX_ELEMENTS_VERTICES_EXT = $80E8;
  3645. GL_MAX_ELEMENTS_INDICES_EXT = $80E9;
  3646. // GL_EXT_fog_coord
  3647. GL_FOG_COORDINATE_SOURCE_EXT = $8450;
  3648. GL_FOG_COORDINATE_EXT = $8451;
  3649. GL_FRAGMENT_DEPTH_EXT = $8452;
  3650. GL_CURRENT_FOG_COORDINATE_EXT = $8453;
  3651. GL_FOG_COORDINATE_ARRAY_TYPE_EXT = $8454;
  3652. GL_FOG_COORDINATE_ARRAY_STRIDE_EXT = $8455;
  3653. GL_FOG_COORDINATE_ARRAY_POINTER_EXT = $8456;
  3654. GL_FOG_COORDINATE_ARRAY_EXT = $8457;
  3655. // GL_EXT_framebuffer_object
  3656. GL_FRAMEBUFFER_EXT = $8D40;
  3657. GL_RENDERBUFFER_EXT = $8D41;
  3658. GL_STENCIL_INDEX_EXT = $8D45;
  3659. GL_STENCIL_INDEX1_EXT = $8D46;
  3660. GL_STENCIL_INDEX4_EXT = $8D47;
  3661. GL_STENCIL_INDEX8_EXT = $8D48;
  3662. GL_STENCIL_INDEX16_EXT = $8D49;
  3663. GL_RENDERBUFFER_WIDTH_EXT = $8D42;
  3664. GL_RENDERBUFFER_HEIGHT_EXT = $8D43;
  3665. GL_RENDERBUFFER_INTERNAL_FORMAT_EXT = $8D44;
  3666. GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = $8CD0;
  3667. GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = $8CD1;
  3668. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = $8CD2;
  3669. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = $8CD3;
  3670. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = $8CD4;
  3671. GL_COLOR_ATTACHMENT0_EXT = $8CE0;
  3672. GL_COLOR_ATTACHMENT1_EXT = $8CE1;
  3673. GL_COLOR_ATTACHMENT2_EXT = $8CE2;
  3674. GL_COLOR_ATTACHMENT3_EXT = $8CE3;
  3675. GL_COLOR_ATTACHMENT4_EXT = $8CE4;
  3676. GL_COLOR_ATTACHMENT5_EXT = $8CE5;
  3677. GL_COLOR_ATTACHMENT6_EXT = $8CE6;
  3678. GL_COLOR_ATTACHMENT7_EXT = $8CE7;
  3679. GL_COLOR_ATTACHMENT8_EXT = $8CE8;
  3680. GL_COLOR_ATTACHMENT9_EXT = $8CE9;
  3681. GL_COLOR_ATTACHMENT10_EXT = $8CEA;
  3682. GL_COLOR_ATTACHMENT11_EXT = $8CEB;
  3683. GL_COLOR_ATTACHMENT12_EXT = $8CEC;
  3684. GL_COLOR_ATTACHMENT13_EXT = $8CED;
  3685. GL_COLOR_ATTACHMENT14_EXT = $8CEE;
  3686. GL_COLOR_ATTACHMENT15_EXT = $8CEF;
  3687. GL_DEPTH_ATTACHMENT_EXT = $8D00;
  3688. GL_STENCIL_ATTACHMENT_EXT = $8D20;
  3689. GL_FRAMEBUFFER_COMPLETE_EXT = $8CD5;
  3690. GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = $8CD6;
  3691. GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = $8CD7;
  3692. GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT = $8CD8;
  3693. GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = $8CD9;
  3694. GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = $8CDA;
  3695. GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = $8CDB;
  3696. GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = $8CDC;
  3697. GL_FRAMEBUFFER_UNSUPPORTED_EXT = $8CDD;
  3698. GL_FRAMEBUFFER_STATUS_ERROR_EXT = $8CDE;
  3699. GL_FRAMEBUFFER_BINDING_EXT = $8CA6;
  3700. GL_RENDERBUFFER_BINDING_EXT = $8CA7;
  3701. GL_MAX_COLOR_ATTACHMENTS_EXT = $8CDF;
  3702. GL_MAX_RENDERBUFFER_SIZE_EXT = $84E8;
  3703. GL_INVALID_FRAMEBUFFER_OPERATION_EXT = $0506;
  3704. // GL_EXT_histogram
  3705. GL_HISTOGRAM_EXT = $8024;
  3706. GL_PROXY_HISTOGRAM_EXT = $8025;
  3707. GL_HISTOGRAM_WIDTH_EXT = $8026;
  3708. GL_HISTOGRAM_FORMAT_EXT = $8027;
  3709. GL_HISTOGRAM_RED_SIZE_EXT = $8028;
  3710. GL_HISTOGRAM_GREEN_SIZE_EXT = $8029;
  3711. GL_HISTOGRAM_BLUE_SIZE_EXT = $802A;
  3712. GL_HISTOGRAM_ALPHA_SIZE_EXT = $802B;
  3713. GL_HISTOGRAM_LUMINANCE_SIZE_EXT = $802C;
  3714. GL_HISTOGRAM_SINK_EXT = $802D;
  3715. GL_MINMAX_EXT = $802E;
  3716. GL_MINMAX_FORMAT_EXT = $802F;
  3717. GL_MINMAX_SINK_EXT = $8030;
  3718. GL_TABLE_TOO_LARGE_EXT = $8031;
  3719. // GL_EXT_index_array_formats
  3720. GL_IUI_V2F_EXT = $81AD;
  3721. GL_IUI_V3F_EXT = $81AE;
  3722. GL_IUI_N3F_V2F_EXT = $81AF;
  3723. GL_IUI_N3F_V3F_EXT = $81B0;
  3724. GL_T2F_IUI_V2F_EXT = $81B1;
  3725. GL_T2F_IUI_V3F_EXT = $81B2;
  3726. GL_T2F_IUI_N3F_V2F_EXT = $81B3;
  3727. GL_T2F_IUI_N3F_V3F_EXT = $81B4;
  3728. // GL_EXT_index_func
  3729. GL_INDEX_TEST_EXT = $81B5;
  3730. GL_INDEX_TEST_FUNC_EXT = $81B6;
  3731. GL_INDEX_TEST_REF_EXT = $81B7;
  3732. // GL_EXT_index_material
  3733. GL_INDEX_MATERIAL_EXT = $81B8;
  3734. GL_INDEX_MATERIAL_PARAMETER_EXT = $81B9;
  3735. GL_INDEX_MATERIAL_FACE_EXT = $81BA;
  3736. // GL_EXT_light_texture
  3737. GL_FRAGMENT_MATERIAL_EXT = $8349;
  3738. GL_FRAGMENT_NORMAL_EXT = $834A;
  3739. GL_FRAGMENT_COLOR_EXT = $834C;
  3740. GL_ATTENUATION_EXT = $834D;
  3741. GL_SHADOW_ATTENUATION_EXT = $834E;
  3742. GL_TEXTURE_APPLICATION_MODE_EXT = $834F;
  3743. GL_TEXTURE_LIGHT_EXT = $8350;
  3744. GL_TEXTURE_MATERIAL_FACE_EXT = $8351;
  3745. GL_TEXTURE_MATERIAL_PARAMETER_EXT = $8352;
  3746. // GL_EXT_multisample
  3747. GL_MULTISAMPLE_EXT = $809D;
  3748. GL_SAMPLE_ALPHA_TO_MASK_EXT = $809E;
  3749. GL_SAMPLE_ALPHA_TO_ONE_EXT = $809F;
  3750. GL_SAMPLE_MASK_EXT = $80A0;
  3751. GL_1PASS_EXT = $80A1;
  3752. GL_2PASS_0_EXT = $80A2;
  3753. GL_2PASS_1_EXT = $80A3;
  3754. GL_4PASS_0_EXT = $80A4;
  3755. GL_4PASS_1_EXT = $80A5;
  3756. GL_4PASS_2_EXT = $80A6;
  3757. GL_4PASS_3_EXT = $80A7;
  3758. GL_SAMPLE_BUFFERS_EXT = $80A8;
  3759. GL_SAMPLES_EXT = $80A9;
  3760. GL_SAMPLE_MASK_VALUE_EXT = $80AA;
  3761. GL_SAMPLE_MASK_INVERT_EXT = $80AB;
  3762. GL_SAMPLE_PATTERN_EXT = $80AC;
  3763. GL_MULTISAMPLE_BIT_EXT = $20000000;
  3764. // GL_EXT_packed_pixels
  3765. GL_UNSIGNED_BYTE_3_3_2_EXT = $8032;
  3766. GL_UNSIGNED_SHORT_4_4_4_4_EXT = $8033;
  3767. GL_UNSIGNED_SHORT_5_5_5_1_EXT = $8034;
  3768. GL_UNSIGNED_INT_8_8_8_8_EXT = $8035;
  3769. GL_UNSIGNED_INT_10_10_10_2_EXT = $8036;
  3770. // GL_EXT_paletted_texture
  3771. GL_COLOR_INDEX1_EXT = $80E2;
  3772. GL_COLOR_INDEX2_EXT = $80E3;
  3773. GL_COLOR_INDEX4_EXT = $80E4;
  3774. GL_COLOR_INDEX8_EXT = $80E5;
  3775. GL_COLOR_INDEX12_EXT = $80E6;
  3776. GL_COLOR_INDEX16_EXT = $80E7;
  3777. GL_TEXTURE_INDEX_SIZE_EXT = $80ED;
  3778. // GL_EXT_pixel_transform
  3779. GL_PIXEL_TRANSFORM_2D_EXT = $8330;
  3780. GL_PIXEL_MAG_FILTER_EXT = $8331;
  3781. GL_PIXEL_MIN_FILTER_EXT = $8332;
  3782. GL_PIXEL_CUBIC_WEIGHT_EXT = $8333;
  3783. GL_CUBIC_EXT = $8334;
  3784. GL_AVERAGE_EXT = $8335;
  3785. GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = $8336;
  3786. GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = $8337;
  3787. GL_PIXEL_TRANSFORM_2D_MATRIX_EXT = $8338;
  3788. // GL_EXT_point_parameters
  3789. GL_POINT_SIZE_MIN_EXT = $8126;
  3790. GL_POINT_SIZE_MAX_EXT = $8127;
  3791. GL_POINT_FADE_THRESHOLD_SIZE_EXT = $8128;
  3792. GL_DISTANCE_ATTENUATION_EXT = $8129;
  3793. // GL_EXT_polygon_offset
  3794. GL_POLYGON_OFFSET_EXT = $8037;
  3795. GL_POLYGON_OFFSET_FACTOR_EXT = $8038;
  3796. GL_POLYGON_OFFSET_BIAS_EXT = $8039;
  3797. // GL_EXT_rescale_normal
  3798. GL_RESCALE_NORMAL_EXT = $803A;
  3799. // GL_EXT_secondary_color
  3800. GL_COLOR_SUM_EXT = $8458;
  3801. GL_CURRENT_SECONDARY_COLOR_EXT = $8459;
  3802. GL_SECONDARY_COLOR_ARRAY_SIZE_EXT = $845A;
  3803. GL_SECONDARY_COLOR_ARRAY_TYPE_EXT = $845B;
  3804. GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT = $845C;
  3805. GL_SECONDARY_COLOR_ARRAY_POINTER_EXT = $845D;
  3806. GL_SECONDARY_COLOR_ARRAY_EXT = $845E;
  3807. // GL_EXT_separate_specular_color
  3808. GL_LIGHT_MODEL_COLOR_CONTROL_EXT = $81F8;
  3809. GL_SINGLE_COLOR_EXT = $81F9;
  3810. GL_SEPARATE_SPECULAR_COLOR_EXT = $81FA;
  3811. // GL_EXT_shared_texture_palette
  3812. GL_SHARED_TEXTURE_PALETTE_EXT = $81FB;
  3813. // GL_EXT_stencil_two_side
  3814. GL_STENCIL_TEST_TWO_SIDE_EXT = $8910;
  3815. GL_ACTIVE_STENCIL_FACE_EXT = $8911;
  3816. // GL_EXT_stencil_wrap
  3817. GL_INCR_WRAP_EXT = $8507;
  3818. GL_DECR_WRAP_EXT = $8508;
  3819. // GL_EXT_texture
  3820. GL_ALPHA4_EXT = $803B;
  3821. GL_ALPHA8_EXT = $803C;
  3822. GL_ALPHA12_EXT = $803D;
  3823. GL_ALPHA16_EXT = $803E;
  3824. GL_LUMINANCE4_EXT = $803F;
  3825. GL_LUMINANCE8_EXT = $8040;
  3826. GL_LUMINANCE12_EXT = $8041;
  3827. GL_LUMINANCE16_EXT = $8042;
  3828. GL_LUMINANCE4_ALPHA4_EXT = $8043;
  3829. GL_LUMINANCE6_ALPHA2_EXT = $8044;
  3830. GL_LUMINANCE8_ALPHA8_EXT = $8045;
  3831. GL_LUMINANCE12_ALPHA4_EXT = $8046;
  3832. GL_LUMINANCE12_ALPHA12_EXT = $8047;
  3833. GL_LUMINANCE16_ALPHA16_EXT = $8048;
  3834. GL_INTENSITY_EXT = $8049;
  3835. GL_INTENSITY4_EXT = $804A;
  3836. GL_INTENSITY8_EXT = $804B;
  3837. GL_INTENSITY12_EXT = $804C;
  3838. GL_INTENSITY16_EXT = $804D;
  3839. GL_RGB2_EXT = $804E;
  3840. GL_RGB4_EXT = $804F;
  3841. GL_RGB5_EXT = $8050;
  3842. GL_RGB8_EXT = $8051;
  3843. GL_RGB10_EXT = $8052;
  3844. GL_RGB12_EXT = $8053;
  3845. GL_RGB16_EXT = $8054;
  3846. GL_RGBA2_EXT = $8055;
  3847. GL_RGBA4_EXT = $8056;
  3848. GL_RGB5_A1_EXT = $8057;
  3849. GL_RGBA8_EXT = $8058;
  3850. GL_RGB10_A2_EXT = $8059;
  3851. GL_RGBA12_EXT = $805A;
  3852. GL_RGBA16_EXT = $805B;
  3853. GL_TEXTURE_RED_SIZE_EXT = $805C;
  3854. GL_TEXTURE_GREEN_SIZE_EXT = $805D;
  3855. GL_TEXTURE_BLUE_SIZE_EXT = $805E;
  3856. GL_TEXTURE_ALPHA_SIZE_EXT = $805F;
  3857. GL_TEXTURE_LUMINANCE_SIZE_EXT = $8060;
  3858. GL_TEXTURE_INTENSITY_SIZE_EXT = $8061;
  3859. GL_REPLACE_EXT = $8062;
  3860. GL_PROXY_TEXTURE_1D_EXT = $8063;
  3861. GL_PROXY_TEXTURE_2D_EXT = $8064;
  3862. GL_TEXTURE_TOO_LARGE_EXT = $8065;
  3863. // GL_EXT_texture3D
  3864. GL_PACK_SKIP_IMAGES_EXT = $806B;
  3865. GL_PACK_IMAGE_HEIGHT_EXT = $806C;
  3866. GL_UNPACK_SKIP_IMAGES_EXT = $806D;
  3867. GL_UNPACK_IMAGE_HEIGHT_EXT = $806E;
  3868. GL_TEXTURE_3D_EXT = $806F;
  3869. GL_PROXY_TEXTURE_3D_EXT = $8070;
  3870. GL_TEXTURE_DEPTH_EXT = $8071;
  3871. GL_TEXTURE_WRAP_R_EXT = $8072;
  3872. GL_MAX_3D_TEXTURE_SIZE_EXT = $8073;
  3873. // GL_EXT_texture_compression_s3tc
  3874. GL_COMPRESSED_RGB_S3TC_DXT1_EXT = $83F0;
  3875. GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = $83F1;
  3876. GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = $83F2;
  3877. GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = $83F3;
  3878. // GL_EXT_texture_cube_map
  3879. GL_NORMAL_MAP_EXT = $8511;
  3880. GL_REFLECTION_MAP_EXT = $8512;
  3881. GL_TEXTURE_CUBE_MAP_EXT = $8513;
  3882. GL_TEXTURE_BINDING_CUBE_MAP_EXT = $8514;
  3883. GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT = $8515;
  3884. GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = $8516;
  3885. GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = $8517;
  3886. GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = $8518;
  3887. GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = $8519;
  3888. GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = $851A;
  3889. GL_PROXY_TEXTURE_CUBE_MAP_EXT = $851B;
  3890. GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT = $851C;
  3891. // GL_EXT_texture_edge_clamp
  3892. GL_CLAMP_TO_EDGE_EXT = $812F;
  3893. // GL_EXT_texture_env_combine
  3894. GL_COMBINE_EXT = $8570;
  3895. GL_COMBINE_RGB_EXT = $8571;
  3896. GL_COMBINE_ALPHA_EXT = $8572;
  3897. GL_RGB_SCALE_EXT = $8573;
  3898. GL_ADD_SIGNED_EXT = $8574;
  3899. GL_INTERPOLATE_EXT = $8575;
  3900. GL_CONSTANT_EXT = $8576;
  3901. GL_PRIMARY_COLOR_EXT = $8577;
  3902. GL_PREVIOUS_EXT = $8578;
  3903. GL_SOURCE0_RGB_EXT = $8580;
  3904. GL_SOURCE1_RGB_EXT = $8581;
  3905. GL_SOURCE2_RGB_EXT = $8582;
  3906. GL_SOURCE0_ALPHA_EXT = $8588;
  3907. GL_SOURCE1_ALPHA_EXT = $8589;
  3908. GL_SOURCE2_ALPHA_EXT = $858A;
  3909. GL_OPERAND0_RGB_EXT = $8590;
  3910. GL_OPERAND1_RGB_EXT = $8591;
  3911. GL_OPERAND2_RGB_EXT = $8592;
  3912. GL_OPERAND0_ALPHA_EXT = $8598;
  3913. GL_OPERAND1_ALPHA_EXT = $8599;
  3914. GL_OPERAND2_ALPHA_EXT = $859A;
  3915. // GL_EXT_texture_env_dot3
  3916. GL_DOT3_RGB_EXT = $8740;
  3917. GL_DOT3_RGBA_EXT = $8741;
  3918. // GL_EXT_texture_filter_anisotropic
  3919. GL_TEXTURE_MAX_ANISOTROPY_EXT = $84FE;
  3920. GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = $84FF;
  3921. // GL_EXT_texture_lod_bias
  3922. GL_MAX_TEXTURE_LOD_BIAS_EXT = $84FD;
  3923. GL_TEXTURE_FILTER_CONTROL_EXT = $8500;
  3924. GL_TEXTURE_LOD_BIAS_EXT = $8501;
  3925. // GL_EXT_texture_object
  3926. GL_TEXTURE_PRIORITY_EXT = $8066;
  3927. GL_TEXTURE_RESIDENT_EXT = $8067;
  3928. GL_TEXTURE_1D_BINDING_EXT = $8068;
  3929. GL_TEXTURE_2D_BINDING_EXT = $8069;
  3930. GL_TEXTURE_3D_BINDING_EXT = $806A;
  3931. // GL_EXT_texture_perturb_normal
  3932. GL_PERTURB_EXT = $85AE;
  3933. GL_TEXTURE_NORMAL_EXT = $85AF;
  3934. // GL_EXT_texture_rectangle
  3935. GL_TEXTURE_RECTANGLE_EXT = $84F5;
  3936. GL_TEXTURE_BINDING_RECTANGLE_EXT = $84F6;
  3937. GL_PROXY_TEXTURE_RECTANGLE_EXT = $84F7;
  3938. GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT = $84F8;
  3939. // GL_EXT_vertex_array
  3940. GL_VERTEX_ARRAY_EXT = $8074;
  3941. GL_NORMAL_ARRAY_EXT = $8075;
  3942. GL_COLOR_ARRAY_EXT = $8076;
  3943. GL_INDEX_ARRAY_EXT = $8077;
  3944. GL_TEXTURE_COORD_ARRAY_EXT = $8078;
  3945. GL_EDGE_FLAG_ARRAY_EXT = $8079;
  3946. GL_VERTEX_ARRAY_SIZE_EXT = $807A;
  3947. GL_VERTEX_ARRAY_TYPE_EXT = $807B;
  3948. GL_VERTEX_ARRAY_STRIDE_EXT = $807C;
  3949. GL_VERTEX_ARRAY_COUNT_EXT = $807D;
  3950. GL_NORMAL_ARRAY_TYPE_EXT = $807E;
  3951. GL_NORMAL_ARRAY_STRIDE_EXT = $807F;
  3952. GL_NORMAL_ARRAY_COUNT_EXT = $8080;
  3953. GL_COLOR_ARRAY_SIZE_EXT = $8081;
  3954. GL_COLOR_ARRAY_TYPE_EXT = $8082;
  3955. GL_COLOR_ARRAY_STRIDE_EXT = $8083;
  3956. GL_COLOR_ARRAY_COUNT_EXT = $8084;
  3957. GL_INDEX_ARRAY_TYPE_EXT = $8085;
  3958. GL_INDEX_ARRAY_STRIDE_EXT = $8086;
  3959. GL_INDEX_ARRAY_COUNT_EXT = $8087;
  3960. GL_TEXTURE_COORD_ARRAY_SIZE_EXT = $8088;
  3961. GL_TEXTURE_COORD_ARRAY_TYPE_EXT = $8089;
  3962. GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = $808A;
  3963. GL_TEXTURE_COORD_ARRAY_COUNT_EXT = $808B;
  3964. GL_EDGE_FLAG_ARRAY_STRIDE_EXT = $808C;
  3965. GL_EDGE_FLAG_ARRAY_COUNT_EXT = $808D;
  3966. GL_VERTEX_ARRAY_POINTER_EXT = $808E;
  3967. GL_NORMAL_ARRAY_POINTER_EXT = $808F;
  3968. GL_COLOR_ARRAY_POINTER_EXT = $8090;
  3969. GL_INDEX_ARRAY_POINTER_EXT = $8091;
  3970. GL_TEXTURE_COORD_ARRAY_POINTER_EXT = $8092;
  3971. GL_EDGE_FLAG_ARRAY_POINTER_EXT = $8093;
  3972. // GL_EXT_vertex_shader
  3973. GL_VERTEX_SHADER_EXT = $8780;
  3974. GL_VERTEX_SHADER_BINDING_EXT = $8781;
  3975. GL_OP_INDEX_EXT = $8782;
  3976. GL_OP_NEGATE_EXT = $8783;
  3977. GL_OP_DOT3_EXT = $8784;
  3978. GL_OP_DOT4_EXT = $8785;
  3979. GL_OP_MUL_EXT = $8786;
  3980. GL_OP_ADD_EXT = $8787;
  3981. GL_OP_MADD_EXT = $8788;
  3982. GL_OP_FRAC_EXT = $8789;
  3983. GL_OP_MAX_EXT = $878A;
  3984. GL_OP_MIN_EXT = $878B;
  3985. GL_OP_SET_GE_EXT = $878C;
  3986. GL_OP_SET_LT_EXT = $878D;
  3987. GL_OP_CLAMP_EXT = $878E;
  3988. GL_OP_FLOOR_EXT = $878F;
  3989. GL_OP_ROUND_EXT = $8790;
  3990. GL_OP_EXP_BASE_2_EXT = $8791;
  3991. GL_OP_LOG_BASE_2_EXT = $8792;
  3992. GL_OP_POWER_EXT = $8793;
  3993. GL_OP_RECIP_EXT = $8794;
  3994. GL_OP_RECIP_SQRT_EXT = $8795;
  3995. GL_OP_SUB_EXT = $8796;
  3996. GL_OP_CROSS_PRODUCT_EXT = $8797;
  3997. GL_OP_MULTIPLY_MATRIX_EXT = $8798;
  3998. GL_OP_MOV_EXT = $8799;
  3999. GL_OUTPUT_VERTEX_EXT = $879A;
  4000. GL_OUTPUT_COLOR0_EXT = $879B;
  4001. GL_OUTPUT_COLOR1_EXT = $879C;
  4002. GL_OUTPUT_TEXTURE_COORD0_EXT = $879D;
  4003. GL_OUTPUT_TEXTURE_COORD1_EXT = $879E;
  4004. GL_OUTPUT_TEXTURE_COORD2_EXT = $879F;
  4005. GL_OUTPUT_TEXTURE_COORD3_EXT = $87A0;
  4006. GL_OUTPUT_TEXTURE_COORD4_EXT = $87A1;
  4007. GL_OUTPUT_TEXTURE_COORD5_EXT = $87A2;
  4008. GL_OUTPUT_TEXTURE_COORD6_EXT = $87A3;
  4009. GL_OUTPUT_TEXTURE_COORD7_EXT = $87A4;
  4010. GL_OUTPUT_TEXTURE_COORD8_EXT = $87A5;
  4011. GL_OUTPUT_TEXTURE_COORD9_EXT = $87A6;
  4012. GL_OUTPUT_TEXTURE_COORD10_EXT = $87A7;
  4013. GL_OUTPUT_TEXTURE_COORD11_EXT = $87A8;
  4014. GL_OUTPUT_TEXTURE_COORD12_EXT = $87A9;
  4015. GL_OUTPUT_TEXTURE_COORD13_EXT = $87AA;
  4016. GL_OUTPUT_TEXTURE_COORD14_EXT = $87AB;
  4017. GL_OUTPUT_TEXTURE_COORD15_EXT = $87AC;
  4018. GL_OUTPUT_TEXTURE_COORD16_EXT = $87AD;
  4019. GL_OUTPUT_TEXTURE_COORD17_EXT = $87AE;
  4020. GL_OUTPUT_TEXTURE_COORD18_EXT = $87AF;
  4021. GL_OUTPUT_TEXTURE_COORD19_EXT = $87B0;
  4022. GL_OUTPUT_TEXTURE_COORD20_EXT = $87B1;
  4023. GL_OUTPUT_TEXTURE_COORD21_EXT = $87B2;
  4024. GL_OUTPUT_TEXTURE_COORD22_EXT = $87B3;
  4025. GL_OUTPUT_TEXTURE_COORD23_EXT = $87B4;
  4026. GL_OUTPUT_TEXTURE_COORD24_EXT = $87B5;
  4027. GL_OUTPUT_TEXTURE_COORD25_EXT = $87B6;
  4028. GL_OUTPUT_TEXTURE_COORD26_EXT = $87B7;
  4029. GL_OUTPUT_TEXTURE_COORD27_EXT = $87B8;
  4030. GL_OUTPUT_TEXTURE_COORD28_EXT = $87B9;
  4031. GL_OUTPUT_TEXTURE_COORD29_EXT = $87BA;
  4032. GL_OUTPUT_TEXTURE_COORD30_EXT = $87BB;
  4033. GL_OUTPUT_TEXTURE_COORD31_EXT = $87BC;
  4034. GL_OUTPUT_FOG_EXT = $87BD;
  4035. GL_SCALAR_EXT = $87BE;
  4036. GL_VECTOR_EXT = $87BF;
  4037. GL_MATRIX_EXT = $87C0;
  4038. GL_VARIANT_EXT = $87C1;
  4039. GL_INVARIANT_EXT = $87C2;
  4040. GL_LOCAL_CONSTANT_EXT = $87C3;
  4041. GL_LOCAL_EXT = $87C4;
  4042. GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = $87C5;
  4043. GL_MAX_VERTEX_SHADER_VARIANTS_EXT = $87C6;
  4044. GL_MAX_VERTEX_SHADER_INVARIANTS_EXT = $87C7;
  4045. GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = $87C8;
  4046. GL_MAX_VERTEX_SHADER_LOCALS_EXT = $87C9;
  4047. GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = $87CA;
  4048. GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = $87CB;
  4049. GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = $87CC;
  4050. GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = $87CD;
  4051. GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = $87CE;
  4052. GL_VERTEX_SHADER_INSTRUCTIONS_EXT = $87CF;
  4053. GL_VERTEX_SHADER_VARIANTS_EXT = $87D0;
  4054. GL_VERTEX_SHADER_INVARIANTS_EXT = $87D1;
  4055. GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = $87D2;
  4056. GL_VERTEX_SHADER_LOCALS_EXT = $87D3;
  4057. GL_VERTEX_SHADER_OPTIMIZED_EXT = $87D4;
  4058. GL_X_EXT = $87D5;
  4059. GL_Y_EXT = $87D6;
  4060. GL_Z_EXT = $87D7;
  4061. GL_W_EXT = $87D8;
  4062. GL_NEGATIVE_X_EXT = $87D9;
  4063. GL_NEGATIVE_Y_EXT = $87DA;
  4064. GL_NEGATIVE_Z_EXT = $87DB;
  4065. GL_NEGATIVE_W_EXT = $87DC;
  4066. GL_ZERO_EXT = $87DD;
  4067. GL_ONE_EXT = $87DE;
  4068. GL_NEGATIVE_ONE_EXT = $87DF;
  4069. GL_NORMALIZED_RANGE_EXT = $87E0;
  4070. GL_FULL_RANGE_EXT = $87E1;
  4071. GL_CURRENT_VERTEX_EXT = $87E2;
  4072. GL_MVP_MATRIX_EXT = $87E3;
  4073. GL_VARIANT_VALUE_EXT = $87E4;
  4074. GL_VARIANT_DATATYPE_EXT = $87E5;
  4075. GL_VARIANT_ARRAY_STRIDE_EXT = $87E6;
  4076. GL_VARIANT_ARRAY_TYPE_EXT = $87E7;
  4077. GL_VARIANT_ARRAY_EXT = $87E8;
  4078. GL_VARIANT_ARRAY_POINTER_EXT = $87E9;
  4079. GL_INVARIANT_VALUE_EXT = $87EA;
  4080. GL_INVARIANT_DATATYPE_EXT = $87EB;
  4081. GL_LOCAL_CONSTANT_VALUE_EXT = $87EC;
  4082. GL_LOCAL_CONSTANT_DATATYPE_EXT = $87ED;
  4083. // GL_EXT_vertex_weighting
  4084. GL_MODELVIEW0_STACK_DEPTH_EXT = $0BA3;
  4085. GL_MODELVIEW1_STACK_DEPTH_EXT = $8502;
  4086. GL_MODELVIEW0_MATRIX_EXT = $0BA6;
  4087. GL_MODELVIEW1_MATRIX_EXT = $8506;
  4088. GL_VERTEX_WEIGHTING_EXT = $8509;
  4089. GL_MODELVIEW0_EXT = $1700;
  4090. GL_MODELVIEW1_EXT = $850A;
  4091. GL_CURRENT_VERTEX_WEIGHT_EXT = $850B;
  4092. GL_VERTEX_WEIGHT_ARRAY_EXT = $850C;
  4093. GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT = $850D;
  4094. GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT = $850E;
  4095. GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT = $850F;
  4096. GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT = $8510;
  4097. // GL_EXT_depth_bounds_test
  4098. GL_DEPTH_BOUNDS_TEST_EXT = $8890;
  4099. GL_DEPTH_BOUNDS_EXT = $8891;
  4100. // GL_EXT_texture_mirror_clamp
  4101. GL_MIRROR_CLAMP_EXT = $8742;
  4102. GL_MIRROR_CLAMP_TO_EDGE_EXT = $8743;
  4103. GL_MIRROR_CLAMP_TO_BORDER_EXT = $8912;
  4104. // GL_EXT_blend_equation_separate
  4105. GL_BLEND_EQUATION_RGB_EXT = $8009;
  4106. GL_BLEND_EQUATION_ALPHA_EXT = $883D;
  4107. // GL_EXT_pixel_buffer_object
  4108. GL_PIXEL_PACK_BUFFER_EXT = $88EB;
  4109. GL_PIXEL_UNPACK_BUFFER_EXT = $88EC;
  4110. GL_PIXEL_PACK_BUFFER_BINDING_EXT = $88ED;
  4111. GL_PIXEL_UNPACK_BUFFER_BINDING_EXT = $88EF;
  4112. // GL_EXT_stencil_clear_tag
  4113. GL_STENCIL_TAG_BITS_EXT = $88F2;
  4114. GL_STENCIL_CLEAR_TAG_VALUE_EXT = $88F3;
  4115. // GL_EXT_packed_depth_stencil
  4116. GL_DEPTH_STENCIL_EXT = $84F9;
  4117. GL_UNSIGNED_INT_24_8_EXT = $84FA;
  4118. GL_DEPTH24_STENCIL8_EXT = $88F0;
  4119. GL_TEXTURE_STENCIL_SIZE_EXT = $88F1;
  4120. // GL_EXT_texture_sRGB
  4121. GL_SRGB_EXT = $8C40;
  4122. GL_SRGB8_EXT = $8C41;
  4123. GL_SRGB_ALPHA_EXT = $8C42;
  4124. GL_SRGB8_ALPHA8_EXT = $8C43;
  4125. GL_SLUMINANCE_ALPHA_EXT = $8C44;
  4126. GL_SLUMINANCE8_ALPHA8_EXT = $8C45;
  4127. GL_SLUMINANCE_EXT = $8C46;
  4128. GL_SLUMINANCE8_EXT = $8C47;
  4129. GL_COMPRESSED_SRGB_EXT = $8C48;
  4130. GL_COMPRESSED_SRGB_ALPHA_EXT = $8C49;
  4131. GL_COMPRESSED_SLUMINANCE_EXT = $8C4A;
  4132. GL_COMPRESSED_SLUMINANCE_ALPHA_EXT = $8C4B;
  4133. GL_COMPRESSED_SRGB_S3TC_DXT1_EXT = $8C4C;
  4134. GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = $8C4D;
  4135. GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = $8C4E;
  4136. GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = $8C4F;
  4137. // GL_EXT_framebuffer_blit
  4138. GL_READ_FRAMEBUFFER_EXT = $8CA8;
  4139. GL_DRAW_FRAMEBUFFER_EXT = $8CA9;
  4140. GL_READ_FRAMEBUFFER_BINDING_EXT = GL_FRAMEBUFFER_BINDING_EXT;
  4141. GL_DRAW_FRAMEBUFFER_BINDING_EXT = $8CAA;
  4142. // GL_EXT_framebuffer_multisample
  4143. GL_RENDERBUFFER_SAMPLES_EXT = $8CAB;
  4144. GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = $8D56;
  4145. GL_MAX_SAMPLES_EXT = $8D57;
  4146. // GL_EXT_timer_query
  4147. GL_TIME_ELAPSED_EXT = $88BF;
  4148. // GL_EXT_bindable_uniform
  4149. GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT = $8DE2;
  4150. GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = $8DE3;
  4151. GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = $8DE4;
  4152. GL_MAX_BINDABLE_UNIFORM_SIZE_EXT = $8DED;
  4153. GL_UNIFORM_BUFFER_EXT = $8DEE;
  4154. GL_UNIFORM_BUFFER_BINDING_EXT = $8DEF;
  4155. // GL_EXT_framebuffer_sRGB
  4156. GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT = $20B2;
  4157. WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT = $20A9;
  4158. GL_FRAMEBUFFER_SRGB_EXT = $8DB9;
  4159. GL_FRAMEBUFFER_SRGB_CAPABLE_EXT = $8DBA;
  4160. // GL_EXT_geometry_shader4
  4161. GL_GEOMETRY_SHADER_EXT = $8DD9;
  4162. GL_GEOMETRY_VERTICES_OUT_EXT = $8DDA;
  4163. GL_GEOMETRY_INPUT_TYPE_EXT = $8DDB;
  4164. GL_GEOMETRY_OUTPUT_TYPE_EXT = $8DDC;
  4165. GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = $8C29;
  4166. GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT = $8DDD;
  4167. GL_MAX_VERTEX_VARYING_COMPONENTS_EXT = $8DDE;
  4168. GL_MAX_VARYING_COMPONENTS_EXT = $8B4B;
  4169. GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = $8DDF;
  4170. GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = $8DE0;
  4171. GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = $8DE1;
  4172. GL_LINES_ADJACENCY_EXT = $A;
  4173. GL_LINE_STRIP_ADJACENCY_EXT = $B;
  4174. GL_TRIANGLES_ADJACENCY_EXT = $C;
  4175. GL_TRIANGLE_STRIP_ADJACENCY_EXT = $D;
  4176. GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = $8DA8;
  4177. GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = $8DA9;
  4178. GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = $8DA7;
  4179. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = $8CD4;
  4180. GL_PROGRAM_POINT_SIZE_EXT = $8642;
  4181. // GL_EXT_gpu_shader4
  4182. GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT = $88FD;
  4183. GL_SAMPLER_1D_ARRAY_EXT = $8DC0;
  4184. GL_SAMPLER_2D_ARRAY_EXT = $8DC1;
  4185. GL_SAMPLER_BUFFER_EXT = $8DC2;
  4186. GL_SAMPLER_1D_ARRAY_SHADOW_EXT = $8DC3;
  4187. GL_SAMPLER_2D_ARRAY_SHADOW_EXT = $8DC4;
  4188. GL_SAMPLER_CUBE_SHADOW_EXT = $8DC5;
  4189. GL_UNSIGNED_INT_VEC2_EXT = $8DC6;
  4190. GL_UNSIGNED_INT_VEC3_EXT = $8DC7;
  4191. GL_UNSIGNED_INT_VEC4_EXT = $8DC8;
  4192. GL_INT_SAMPLER_1D_EXT = $8DC9;
  4193. GL_INT_SAMPLER_2D_EXT = $8DCA;
  4194. GL_INT_SAMPLER_3D_EXT = $8DCB;
  4195. GL_INT_SAMPLER_CUBE_EXT = $8DCC;
  4196. GL_INT_SAMPLER_2D_RECT_EXT = $8DCD;
  4197. GL_INT_SAMPLER_1D_ARRAY_EXT = $8DCE;
  4198. GL_INT_SAMPLER_2D_ARRAY_EXT = $8DCF;
  4199. GL_INT_SAMPLER_BUFFER_EXT = $8DD0;
  4200. GL_UNSIGNED_INT_SAMPLER_1D_EXT = $8DD1;
  4201. GL_UNSIGNED_INT_SAMPLER_2D_EXT = $8DD2;
  4202. GL_UNSIGNED_INT_SAMPLER_3D_EXT = $8DD3;
  4203. GL_UNSIGNED_INT_SAMPLER_CUBE_EXT = $8DD4;
  4204. GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT = $8DD5;
  4205. GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = $8DD6;
  4206. GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = $8DD7;
  4207. GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = $8DD8;
  4208. GL_MIN_PROGRAM_TEXEL_OFFSET_EXT = $8904;
  4209. GL_MAX_PROGRAM_TEXEL_OFFSET_EXT = $8905;
  4210. // GL_EXT_packed_float
  4211. GL_R11F_G11F_B10F_EXT = $8C3A;
  4212. GL_UNSIGNED_INT_10F_11F_11F_REV_EXT = $8C3B;
  4213. RGBA_SIGNED_COMPONENTS_EXT = $8C3C;
  4214. WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT = $20A8;
  4215. GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT = $20B1;
  4216. GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT = $00000008;
  4217. // GL_EXT_texture_array
  4218. GL_TEXTURE_1D_ARRAY_EXT = $8C18;
  4219. GL_TEXTURE_2D_ARRAY_EXT = $8C1A;
  4220. GL_PROXY_TEXTURE_2D_ARRAY_EXT = $8C1B;
  4221. GL_PROXY_TEXTURE_1D_ARRAY_EXT = $8C19;
  4222. GL_TEXTURE_BINDING_1D_ARRAY_EXT = $8C1C;
  4223. GL_TEXTURE_BINDING_2D_ARRAY_EXT = $8C1D;
  4224. GL_MAX_ARRAY_TEXTURE_LAYERS_EXT = $88FF;
  4225. GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT = $884E;
  4226. // GL_EXT_texture_buffer_object
  4227. GL_TEXTURE_BUFFER_EXT = $8C2A;
  4228. GL_MAX_TEXTURE_BUFFER_SIZE_EXT = $8C2B;
  4229. GL_TEXTURE_BINDING_BUFFER_EXT = $8C2C;
  4230. GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = $8C2D;
  4231. GL_TEXTURE_BUFFER_FORMAT_EXT = $8C2E;
  4232. // GL_EXT_texture_compression_latc
  4233. GL_COMPRESSED_LUMINANCE_LATC1_EXT = $8C70;
  4234. GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = $8C71;
  4235. GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = $8C72;
  4236. GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = $8C73;
  4237. // GL_EXT_texture_compression_rgtc
  4238. GL_COMPRESSED_RED_RGTC1_EXT = $8DBB;
  4239. GL_COMPRESSED_SIGNED_RED_RGTC1_EXT = $8DBC;
  4240. GL_COMPRESSED_RED_GREEN_RGTC2_EXT = $8DBD;
  4241. GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = $8DBE;
  4242. // GL_EXT_texture_integer
  4243. GL_RGBA_INTEGER_MODE_EXT = $8D9E;
  4244. GL_RGBA32UI_EXT = $8D70;
  4245. GL_RGB32UI_EXT = $8D71;
  4246. GL_ALPHA32UI_EXT = $8D72;
  4247. GL_INTENSITY32UI_EXT = $8D73;
  4248. GL_LUMINANCE32UI_EXT = $8D74;
  4249. GL_LUMINANCE_ALPHA32UI_EXT = $8D75;
  4250. GL_RGBA16UI_EXT = $8D76;
  4251. GL_RGB16UI_EXT = $8D77;
  4252. GL_ALPHA16UI_EXT = $8D78;
  4253. GL_INTENSITY16UI_EXT = $8D79;
  4254. GL_LUMINANCE16UI_EXT = $8D7A;
  4255. GL_LUMINANCE_ALPHA16UI_EXT = $8D7B;
  4256. GL_RGBA8UI_EXT = $8D7C;
  4257. GL_RGB8UI_EXT = $8D7D;
  4258. GL_ALPHA8UI_EXT = $8D7E;
  4259. GL_INTENSITY8UI_EXT = $8D7F;
  4260. GL_LUMINANCE8UI_EXT = $8D80;
  4261. GL_LUMINANCE_ALPHA8UI_EXT = $8D81;
  4262. GL_RGBA32I_EXT = $8D82;
  4263. GL_RGB32I_EXT = $8D83;
  4264. GL_ALPHA32I_EXT = $8D84;
  4265. GL_INTENSITY32I_EXT = $8D85;
  4266. GL_LUMINANCE32I_EXT = $8D86;
  4267. GL_LUMINANCE_ALPHA32I_EXT = $8D87;
  4268. GL_RGBA16I_EXT = $8D88;
  4269. GL_RGB16I_EXT = $8D89;
  4270. GL_ALPHA16I_EXT = $8D8A;
  4271. GL_INTENSITY16I_EXT = $8D8B;
  4272. GL_LUMINANCE16I_EXT = $8D8C;
  4273. GL_LUMINANCE_ALPHA16I_EXT = $8D8D;
  4274. GL_RGBA8I_EXT = $8D8E;
  4275. GL_RGB8I_EXT = $8D8F;
  4276. GL_ALPHA8I_EXT = $8D90;
  4277. GL_INTENSITY8I_EXT = $8D91;
  4278. GL_LUMINANCE8I_EXT = $8D92;
  4279. GL_LUMINANCE_ALPHA8I_EXT = $8D93;
  4280. GL_RED_INTEGER_EXT = $8D94;
  4281. GL_GREEN_INTEGER_EXT = $8D95;
  4282. GL_BLUE_INTEGER_EXT = $8D96;
  4283. GL_ALPHA_INTEGER_EXT = $8D97;
  4284. GL_RGB_INTEGER_EXT = $8D98;
  4285. GL_RGBA_INTEGER_EXT = $8D99;
  4286. GL_BGR_INTEGER_EXT = $8D9A;
  4287. GL_BGRA_INTEGER_EXT = $8D9B;
  4288. GL_LUMINANCE_INTEGER_EXT = $8D9C;
  4289. GL_LUMINANCE_ALPHA_INTEGER_EXT = $8D9D;
  4290. // GL_EXT_texture_shared_exponent
  4291. GL_RGB9_E5_EXT = $8C3D;
  4292. GL_UNSIGNED_INT_5_9_9_9_REV_EXT = $8C3E;
  4293. GL_TEXTURE_SHARED_SIZE_EXT = $8C3F;
  4294. // GL_EXT_transform_feedback
  4295. GL_TRANSFORM_FEEDBACK_BUFFER_EXT = $8C8E;
  4296. GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT = $8C84;
  4297. GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT = $8C85;
  4298. GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT = $8C8F;
  4299. GL_INTERLEAVED_ATTRIBS_EXT = $8C8C;
  4300. GL_SEPARATE_ATTRIBS_EXT = $8C8D;
  4301. GL_PRIMITIVES_GENERATED_EXT = $8C87;
  4302. GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = $8C88;
  4303. GL_RASTERIZER_DISCARD_EXT = $8C89;
  4304. GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = $8C8A;
  4305. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT = $8C8B;
  4306. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = $8C80;
  4307. GL_TRANSFORM_FEEDBACK_VARYINGS_EXT = $8C83;
  4308. GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT = $8C7F;
  4309. GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT = $8C76;
  4310. // GL_EXT_direct_state_access
  4311. GL_PROGRAM_MATRIX_EXT = $8E2D;
  4312. GL_TRANSPOSE_PROGRAM_MATRIX_EXT = $8E2E;
  4313. GL_PROGRAM_MATRIX_STACK_DEPTH_EXT = $8E2F;
  4314. // GL_EXT_texture_swizzle
  4315. GL_TEXTURE_SWIZZLE_R_EXT = $8E42;
  4316. GL_TEXTURE_SWIZZLE_G_EXT = $8E43;
  4317. GL_TEXTURE_SWIZZLE_B_EXT = $8E44;
  4318. GL_TEXTURE_SWIZZLE_A_EXT = $8E45;
  4319. GL_TEXTURE_SWIZZLE_RGBA_EXT = $8E46;
  4320. // GL_EXT_provoking_vertex
  4321. GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT = $8E4C;
  4322. GL_FIRST_VERTEX_CONVENTION_EXT = $8E4D;
  4323. GL_LAST_VERTEX_CONVENTION_EXT = $8E4E;
  4324. GL_PROVOKING_VERTEX_EXT = $8E4F;
  4325. // GL_EXT_texture_snorm
  4326. GL_ALPHA_SNORM = $9010;
  4327. GL_LUMINANCE_SNORM = $9011;
  4328. GL_LUMINANCE_ALPHA_SNORM = $9012;
  4329. GL_INTENSITY_SNORM = $9013;
  4330. GL_ALPHA8_SNORM = $9014;
  4331. GL_LUMINANCE8_SNORM = $9015;
  4332. GL_LUMINANCE8_ALPHA8_SNORM = $9016;
  4333. GL_INTENSITY8_SNORM = $9017;
  4334. GL_ALPHA16_SNORM = $9018;
  4335. GL_LUMINANCE16_SNORM = $9019;
  4336. GL_LUMINANCE16_ALPHA16_SNORM = $901A;
  4337. GL_INTENSITY16_SNORM = $901B;
  4338. // GL_EXT_separate_shader_objects
  4339. GL_ACTIVE_PROGRAM_EXT = $8B8D;
  4340. // GL_EXT_shader_image_load_store
  4341. GL_MAX_IMAGE_UNITS_EXT = $8F38;
  4342. GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT = $8F39;
  4343. GL_IMAGE_BINDING_NAME_EXT = $8F3A;
  4344. GL_IMAGE_BINDING_LEVEL_EXT = $8F3B;
  4345. GL_IMAGE_BINDING_LAYERED_EXT = $8F3C;
  4346. GL_IMAGE_BINDING_LAYER_EXT = $8F3D;
  4347. GL_IMAGE_BINDING_ACCESS_EXT = $8F3E;
  4348. GL_IMAGE_1D_EXT = $904C;
  4349. GL_IMAGE_2D_EXT = $904D;
  4350. GL_IMAGE_3D_EXT = $904E;
  4351. GL_IMAGE_2D_RECT_EXT = $904F;
  4352. GL_IMAGE_CUBE_EXT = $9050;
  4353. GL_IMAGE_BUFFER_EXT = $9051;
  4354. GL_IMAGE_1D_ARRAY_EXT = $9052;
  4355. GL_IMAGE_2D_ARRAY_EXT = $9053;
  4356. GL_IMAGE_CUBE_MAP_ARRAY_EXT = $9054;
  4357. GL_IMAGE_2D_MULTISAMPLE_EXT = $9055;
  4358. GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = $9056;
  4359. GL_INT_IMAGE_1D_EXT = $9057;
  4360. GL_INT_IMAGE_2D_EXT = $9058;
  4361. GL_INT_IMAGE_3D_EXT = $9059;
  4362. GL_INT_IMAGE_2D_RECT_EXT = $905A;
  4363. GL_INT_IMAGE_CUBE_EXT = $905B;
  4364. GL_INT_IMAGE_BUFFER_EXT = $905C;
  4365. GL_INT_IMAGE_1D_ARRAY_EXT = $905D;
  4366. GL_INT_IMAGE_2D_ARRAY_EXT = $905E;
  4367. GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT = $905F;
  4368. GL_INT_IMAGE_2D_MULTISAMPLE_EXT = $9060;
  4369. GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = $9061;
  4370. GL_UNSIGNED_INT_IMAGE_1D_EXT = $9062;
  4371. GL_UNSIGNED_INT_IMAGE_2D_EXT = $9063;
  4372. GL_UNSIGNED_INT_IMAGE_3D_EXT = $9064;
  4373. GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT = $9065;
  4374. GL_UNSIGNED_INT_IMAGE_CUBE_EXT = $9066;
  4375. GL_UNSIGNED_INT_IMAGE_BUFFER_EXT = $9067;
  4376. GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT = $9068;
  4377. GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT = $9069;
  4378. GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = $906A;
  4379. GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT = $906B;
  4380. GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = $906C;
  4381. GL_MAX_IMAGE_SAMPLES_EXT = $906D;
  4382. GL_IMAGE_BINDING_FORMAT_EXT = $906E;
  4383. GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT = $00000001;
  4384. GL_ELEMENT_ARRAY_BARRIER_BIT_EXT = $00000002;
  4385. GL_UNIFORM_BARRIER_BIT_EXT = $00000004;
  4386. GL_TEXTURE_FETCH_BARRIER_BIT_EXT = $00000008;
  4387. GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT = $00000020;
  4388. GL_COMMAND_BARRIER_BIT_EXT = $00000040;
  4389. GL_PIXEL_BUFFER_BARRIER_BIT_EXT = $00000080;
  4390. GL_TEXTURE_UPDATE_BARRIER_BIT_EXT = $00000100;
  4391. GL_BUFFER_UPDATE_BARRIER_BIT_EXT = $00000200;
  4392. GL_FRAMEBUFFER_BARRIER_BIT_EXT = $00000400;
  4393. GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT = $00000800;
  4394. GL_ATOMIC_COUNTER_BARRIER_BIT_EXT = $00001000;
  4395. GL_ALL_BARRIER_BITS_EXT = $FFFFFFFF;
  4396. // GL_EXT_vertex_attrib_64bit
  4397. { reuse GL_DOUBLE }
  4398. GL_DOUBLE_VEC2_EXT = $8FFC;
  4399. GL_DOUBLE_VEC3_EXT = $8FFD;
  4400. GL_DOUBLE_VEC4_EXT = $8FFE;
  4401. GL_DOUBLE_MAT2_EXT = $8F46;
  4402. GL_DOUBLE_MAT3_EXT = $8F47;
  4403. GL_DOUBLE_MAT4_EXT = $8F48;
  4404. GL_DOUBLE_MAT2x3_EXT = $8F49;
  4405. GL_DOUBLE_MAT2x4_EXT = $8F4A;
  4406. GL_DOUBLE_MAT3x2_EXT = $8F4B;
  4407. GL_DOUBLE_MAT3x4_EXT = $8F4C;
  4408. GL_DOUBLE_MAT4x2_EXT = $8F4D;
  4409. GL_DOUBLE_MAT4x3_EXT = $8F4E;
  4410. // GL_EXT_texture_sRGB_decode
  4411. GL_TEXTURE_SRGB_DECODE_EXT = $8A48;
  4412. GL_DECODE_EXT = $8A49;
  4413. GL_SKIP_DECODE_EXT = $8A4A;
  4414. // GL_NV_texture_multisample
  4415. GL_TEXTURE_COVERAGE_SAMPLES_NV = $9045;
  4416. GL_TEXTURE_COLOR_SAMPLES_NV = $9046;
  4417. // GL_AMD_blend_minmax_factor
  4418. GL_FACTOR_MIN_AMD = $901C;
  4419. GL_FACTOR_MAX_AMD = $901D;
  4420. // GL_AMD_sample_positions
  4421. GL_SUBSAMPLE_DISTANCE_AMD = $883F;
  4422. // GL_EXT_x11_sync_object
  4423. GL_SYNC_X11_FENCE_EXT = $90E1;
  4424. // GL_EXT_framebuffer_multisample_blit_scaled
  4425. GL_SCALED_RESOLVE_FASTEST_EXT = $90BA;
  4426. GL_SCALED_RESOLVE_NICEST_EXT = $90BB;
  4427. // (4.3) GL_NV_path_rendering
  4428. GL_PATH_FORMAT_SVG_NV = $9070;
  4429. GL_PATH_FORMAT_PS_NV = $9071;
  4430. GL_STANDARD_FONT_NAME_NV = $9072;
  4431. GL_SYSTEM_FONT_NAME_NV = $9073;
  4432. GL_FILE_NAME_NV = $9074;
  4433. GL_PATH_STROKE_WIDTH_NV = $9075;
  4434. GL_PATH_END_CAPS_NV = $9076;
  4435. GL_PATH_INITIAL_END_CAP_NV = $9077;
  4436. GL_PATH_TERMINAL_END_CAP_NV = $9078;
  4437. GL_PATH_JOIN_STYLE_NV = $9079;
  4438. GL_PATH_MITER_LIMIT_NV = $907A;
  4439. GL_PATH_DASH_CAPS_NV = $907B;
  4440. GL_PATH_INITIAL_DASH_CAP_NV = $907C;
  4441. GL_PATH_TERMINAL_DASH_CAP_NV = $907D;
  4442. GL_PATH_DASH_OFFSET_NV = $907E;
  4443. GL_PATH_CLIENT_LENGTH_NV = $907F;
  4444. GL_PATH_FILL_MODE_NV = $9080;
  4445. GL_PATH_FILL_MASK_NV = $9081;
  4446. GL_PATH_FILL_COVER_MODE_NV = $9082;
  4447. GL_PATH_STROKE_COVER_MODE_NV = $9083;
  4448. GL_PATH_STROKE_MASK_NV = $9084;
  4449. GL_PATH_SAMPLE_QUALITY_NV = $9085;
  4450. GL_PATH_STROKE_BOUND_NV = $9086;
  4451. GL_PATH_STROKE_OVERSAMPLE_COUNT_NV= $9087;
  4452. GL_COUNT_UP_NV = $9088;
  4453. GL_COUNT_DOWN_NV = $9089;
  4454. GL_PATH_OBJECT_BOUNDING_BOX_NV = $908A;
  4455. GL_CONVEX_HULL_NV = $908B;
  4456. GL_MULTI_HULLS_NV = $908C;
  4457. GL_BOUNDING_BOX_NV = $908D;
  4458. GL_TRANSLATE_X_NV = $908E;
  4459. GL_TRANSLATE_Y_NV = $908F;
  4460. GL_TRANSLATE_2D_NV = $9090;
  4461. GL_TRANSLATE_3D_NV = $9091;
  4462. GL_AFFINE_2D_NV = $9092;
  4463. GL_PROJECTIVE_2D_NV = $9093;
  4464. GL_AFFINE_3D_NV = $9094;
  4465. GL_PROJECTIVE_3D_NV = $9095;
  4466. GL_TRANSPOSE_AFFINE_2D_NV = $9096;
  4467. GL_TRANSPOSE_PROJECTIVE_2D_NV = $9097;
  4468. GL_TRANSPOSE_AFFINE_3D_NV = $9098;
  4469. GL_TRANSPOSE_PROJECTIVE_3D_NV = $9099;
  4470. GL_UTF8_NV = $909A;
  4471. GL_UTF16_NV = $909B;
  4472. GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV= $909C;
  4473. GL_PATH_COMMAND_COUNT_NV = $909D;
  4474. GL_PATH_COORD_COUNT_NV = $909E;
  4475. GL_PATH_DASH_ARRAY_COUNT_NV = $909F;
  4476. GL_PATH_COMPUTED_LENGTH_NV = $90A0;
  4477. GL_PATH_FILL_BOUNDING_BOX_NV = $90A1;
  4478. GL_PATH_STROKE_BOUNDING_BOX_NV = $90A2;
  4479. GL_SQUARE_NV = $90A3;
  4480. GL_ROUND_NV = $90A4;
  4481. GL_TRIANGULAR_NV = $90A5;
  4482. GL_BEVEL_NV = $90A6;
  4483. GL_MITER_REVERT_NV = $90A7;
  4484. GL_MITER_TRUNCATE_NV = $90A8;
  4485. GL_SKIP_MISSING_GLYPH_NV = $90A9;
  4486. GL_USE_MISSING_GLYPH_NV = $90AA;
  4487. GL_PATH_ERROR_POSITION_NV = $90AB;
  4488. GL_PATH_FOG_GEN_MODE_NV = $90AC;
  4489. GL_ACCUM_ADJACENT_PAIRS_NV = $90AD;
  4490. GL_ADJACENT_PAIRS_NV = $90AE;
  4491. GL_FIRST_TO_REST_NV = $90AF;
  4492. GL_PATH_GEN_MODE_NV = $90B0;
  4493. GL_PATH_GEN_COEFF_NV = $90B1;
  4494. GL_PATH_GEN_COLOR_FORMAT_NV = $90B2;
  4495. GL_PATH_GEN_COMPONENTS_NV = $90B3;
  4496. GL_PATH_STENCIL_FUNC_NV = $90B7;
  4497. GL_PATH_STENCIL_REF_NV = $90B8;
  4498. GL_PATH_STENCIL_VALUE_MASK_NV = $90B9;
  4499. GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV= $90BD;
  4500. GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV= $90BE;
  4501. GL_PATH_COVER_DEPTH_FUNC_NV = $90BF;
  4502. GL_PATH_DASH_OFFSET_RESET_NV = $90B4;
  4503. GL_MOVE_TO_RESETS_NV = $90B5;
  4504. GL_MOVE_TO_CONTINUES_NV = $90B6;
  4505. GL_CLOSE_PATH_NV = $00;
  4506. GL_MOVE_TO_NV = $02;
  4507. GL_RELATIVE_MOVE_TO_NV = $03;
  4508. GL_LINE_TO_NV = $04;
  4509. GL_RELATIVE_LINE_TO_NV = $05;
  4510. GL_HORIZONTAL_LINE_TO_NV = $06;
  4511. GL_RELATIVE_HORIZONTAL_LINE_TO_NV= $07;
  4512. GL_VERTICAL_LINE_TO_NV = $08;
  4513. GL_RELATIVE_VERTICAL_LINE_TO_NV = $09;
  4514. GL_QUADRATIC_CURVE_TO_NV = $0A;
  4515. GL_RELATIVE_QUADRATIC_CURVE_TO_NV= $0B;
  4516. GL_CUBIC_CURVE_TO_NV = $0C;
  4517. GL_RELATIVE_CUBIC_CURVE_TO_NV = $0D;
  4518. GL_SMOOTH_QUADRATIC_CURVE_TO_NV = $0E;
  4519. GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV= $0F;
  4520. GL_SMOOTH_CUBIC_CURVE_TO_NV = $10;
  4521. GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV= $11;
  4522. GL_SMALL_CCW_ARC_TO_NV = $12;
  4523. GL_RELATIVE_SMALL_CCW_ARC_TO_NV = $13;
  4524. GL_SMALL_CW_ARC_TO_NV = $14;
  4525. GL_RELATIVE_SMALL_CW_ARC_TO_NV = $15;
  4526. GL_LARGE_CCW_ARC_TO_NV = $16;
  4527. GL_RELATIVE_LARGE_CCW_ARC_TO_NV = $17;
  4528. GL_LARGE_CW_ARC_TO_NV = $18;
  4529. GL_RELATIVE_LARGE_CW_ARC_TO_NV = $19;
  4530. GL_RESTART_PATH_NV = $F0;
  4531. GL_DUP_FIRST_CUBIC_CURVE_TO_NV = $F2;
  4532. GL_DUP_LAST_CUBIC_CURVE_TO_NV = $F4;
  4533. GL_RECT_NV = $F6;
  4534. GL_CIRCULAR_CCW_ARC_TO_NV = $F8;
  4535. GL_CIRCULAR_CW_ARC_TO_NV = $FA;
  4536. GL_CIRCULAR_TANGENT_ARC_TO_NV = $FC;
  4537. GL_ARC_TO_NV = $FE;
  4538. GL_RELATIVE_ARC_TO_NV = $FF;
  4539. GL_BOLD_BIT_NV = $01;
  4540. GL_ITALIC_BIT_NV = $02;
  4541. GL_GLYPH_WIDTH_BIT_NV = $01;
  4542. GL_GLYPH_HEIGHT_BIT_NV = $02;
  4543. GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV= $04;
  4544. GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV= $08;
  4545. GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV= $10;
  4546. GL_GLYPH_VERTICAL_BEARING_X_BIT_NV= $20;
  4547. GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV= $40;
  4548. GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV= $80;
  4549. GL_GLYPH_HAS_KERNING_NV = $100;
  4550. GL_FONT_X_MIN_BOUNDS_NV = $00010000;
  4551. GL_FONT_Y_MIN_BOUNDS_NV = $00020000;
  4552. GL_FONT_X_MAX_BOUNDS_NV = $00040000;
  4553. GL_FONT_Y_MAX_BOUNDS_NV = $00080000;
  4554. GL_FONT_UNITS_PER_EM_NV = $00100000;
  4555. GL_FONT_ASCENDER_NV = $00200000;
  4556. GL_FONT_DESCENDER_NV = $00400000;
  4557. GL_FONT_HEIGHT_NV = $00800000;
  4558. GL_FONT_MAX_ADVANCE_WIDTH_NV = $01000000;
  4559. GL_FONT_MAX_ADVANCE_HEIGHT_NV = $02000000;
  4560. GL_FONT_UNDERLINE_POSITION_NV = $04000000;
  4561. GL_FONT_UNDERLINE_THICKNESS_NV = $08000000;
  4562. GL_FONT_HAS_KERNING_NV = $10000000;
  4563. // (4.3) GL_AMD_pinned_memory
  4564. GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD= $9160;
  4565. // (4.3) GL_AMD_stencil_operation_extended
  4566. GL_SET_AMD = $874A;
  4567. GL_REPLACE_VALUE_AMD = $874B;
  4568. GL_STENCIL_OP_VALUE_AMD = $874C;
  4569. GL_STENCIL_BACK_OP_VALUE_AMD = $874D;
  4570. // (4.3) GL_AMD_vertex_shader_viewport_index
  4571. // (4.3) GL_AMD_vertex_shader_layer
  4572. // (4.3) GL_NV_bindless_texture
  4573. // (4.3) GL_NV_shader_atomic_float
  4574. // (4.3) GL_AMD_query_buffer_object
  4575. GL_QUERY_BUFFER_AMD = $9192;
  4576. GL_QUERY_BUFFER_BINDING_AMD = $9193;
  4577. GL_QUERY_RESULT_NO_WAIT_AMD = $9194;
  4578. // GL_FfdMaskSGIX
  4579. GL_TEXTURE_DEFORMATION_BIT_SGIX = $00000001;
  4580. GL_GEOMETRY_DEFORMATION_BIT_SGIX = $00000002;
  4581. // GL_HP_convolution_border_modes
  4582. GL_IGNORE_BORDER_HP = $8150;
  4583. GL_CONSTANT_BORDER_HP = $8151;
  4584. GL_REPLICATE_BORDER_HP = $8153;
  4585. GL_CONVOLUTION_BORDER_COLOR_HP = $8154;
  4586. // GL_HP_image_transform
  4587. GL_IMAGE_SCALE_X_HP = $8155;
  4588. GL_IMAGE_SCALE_Y_HP = $8156;
  4589. GL_IMAGE_TRANSLATE_X_HP = $8157;
  4590. GL_IMAGE_TRANSLATE_Y_HP = $8158;
  4591. GL_IMAGE_ROTATE_ANGLE_HP = $8159;
  4592. GL_IMAGE_ROTATE_ORIGIN_X_HP = $815A;
  4593. GL_IMAGE_ROTATE_ORIGIN_Y_HP = $815B;
  4594. GL_IMAGE_MAG_FILTER_HP = $815C;
  4595. GL_IMAGE_MIN_FILTER_HP = $815D;
  4596. GL_IMAGE_CUBIC_WEIGHT_HP = $815E;
  4597. GL_CUBIC_HP = $815F;
  4598. GL_AVERAGE_HP = $8160;
  4599. GL_IMAGE_TRANSFORM_2D_HP = $8161;
  4600. GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = $8162;
  4601. GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = $8163;
  4602. // GL_HP_occlusion_test
  4603. GL_OCCLUSION_TEST_HP = $8165;
  4604. GL_OCCLUSION_TEST_RESULT_HP = $8166;
  4605. // GL_HP_texture_lighting
  4606. GL_TEXTURE_LIGHTING_MODE_HP = $8167;
  4607. GL_TEXTURE_POST_SPECULAR_HP = $8168;
  4608. GL_TEXTURE_PRE_SPECULAR_HP = $8169;
  4609. // GL_IBM_cull_vertex
  4610. GL_CULL_VERTEX_IBM = 103050;
  4611. // GL_IBM_rasterpos_clip
  4612. GL_RASTER_POSITION_UNCLIPPED_IBM = $19262;
  4613. // GL_IBM_texture_mirrored_repeat
  4614. GL_MIRRORED_REPEAT_IBM = $8370;
  4615. // GL_IBM_vertex_array_lists
  4616. GL_VERTEX_ARRAY_LIST_IBM = 103070;
  4617. GL_NORMAL_ARRAY_LIST_IBM = 103071;
  4618. GL_COLOR_ARRAY_LIST_IBM = 103072;
  4619. GL_INDEX_ARRAY_LIST_IBM = 103073;
  4620. GL_TEXTURE_COORD_ARRAY_LIST_IBM = 103074;
  4621. GL_EDGE_FLAG_ARRAY_LIST_IBM = 103075;
  4622. GL_FOG_COORDINATE_ARRAY_LIST_IBM = 103076;
  4623. GL_SECONDARY_COLOR_ARRAY_LIST_IBM = 103077;
  4624. GL_VERTEX_ARRAY_LIST_STRIDE_IBM = 103080;
  4625. GL_NORMAL_ARRAY_LIST_STRIDE_IBM = 103081;
  4626. GL_COLOR_ARRAY_LIST_STRIDE_IBM = 103082;
  4627. GL_INDEX_ARRAY_LIST_STRIDE_IBM = 103083;
  4628. GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = 103084;
  4629. GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = 103085;
  4630. GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 103086;
  4631. GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = 103087;
  4632. // GL_INGR_color_clamp
  4633. GL_RED_MIN_CLAMP_INGR = $8560;
  4634. GL_GREEN_MIN_CLAMP_INGR = $8561;
  4635. GL_BLUE_MIN_CLAMP_INGR = $8562;
  4636. GL_ALPHA_MIN_CLAMP_INGR = $8563;
  4637. GL_RED_MAX_CLAMP_INGR = $8564;
  4638. GL_GREEN_MAX_CLAMP_INGR = $8565;
  4639. GL_BLUE_MAX_CLAMP_INGR = $8566;
  4640. GL_ALPHA_MAX_CLAMP_INGR = $8567;
  4641. // GL_INGR_interlace_read
  4642. GL_INTERLACE_READ_INGR = $8568;
  4643. // GL_INTEL_parallel_arrays
  4644. GL_PARALLEL_ARRAYS_INTEL = $83F4;
  4645. GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = $83F5;
  4646. GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = $83F6;
  4647. GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL = $83F7;
  4648. GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = $83F8;
  4649. // GL_NV_copy_depth_to_color
  4650. GL_DEPTH_STENCIL_TO_RGBA_NV = $886E;
  4651. GL_DEPTH_STENCIL_TO_BGRA_NV = $886F;
  4652. // GL_NV_depth_clamp
  4653. GL_DEPTH_CLAMP_NV = $864F;
  4654. // GL_NV_evaluators
  4655. GL_EVAL_2D_NV = $86C0;
  4656. GL_EVAL_TRIANGULAR_2D_NV = $86C1;
  4657. GL_MAP_TESSELLATION_NV = $86C2;
  4658. GL_MAP_ATTRIB_U_ORDER_NV = $86C3;
  4659. GL_MAP_ATTRIB_V_ORDER_NV = $86C4;
  4660. GL_EVAL_FRACTIONAL_TESSELLATION_NV = $86C5;
  4661. GL_EVAL_VERTEX_ATTRIB0_NV = $86C6;
  4662. GL_EVAL_VERTEX_ATTRIB1_NV = $86C7;
  4663. GL_EVAL_VERTEX_ATTRIB2_NV = $86C8;
  4664. GL_EVAL_VERTEX_ATTRIB3_NV = $86C9;
  4665. GL_EVAL_VERTEX_ATTRIB4_NV = $86CA;
  4666. GL_EVAL_VERTEX_ATTRIB5_NV = $86CB;
  4667. GL_EVAL_VERTEX_ATTRIB6_NV = $86CC;
  4668. GL_EVAL_VERTEX_ATTRIB7_NV = $86CD;
  4669. GL_EVAL_VERTEX_ATTRIB8_NV = $86CE;
  4670. GL_EVAL_VERTEX_ATTRIB9_NV = $86CF;
  4671. GL_EVAL_VERTEX_ATTRIB10_NV = $86D0;
  4672. GL_EVAL_VERTEX_ATTRIB11_NV = $86D1;
  4673. GL_EVAL_VERTEX_ATTRIB12_NV = $86D2;
  4674. GL_EVAL_VERTEX_ATTRIB13_NV = $86D3;
  4675. GL_EVAL_VERTEX_ATTRIB14_NV = $86D4;
  4676. GL_EVAL_VERTEX_ATTRIB15_NV = $86D5;
  4677. GL_MAX_MAP_TESSELLATION_NV = $86D6;
  4678. GL_MAX_RATIONAL_EVAL_ORDER_NV = $86D7;
  4679. // GL_NV_fence
  4680. GL_ALL_COMPLETED_NV = $84F2;
  4681. GL_FENCE_STATUS_NV = $84F3;
  4682. GL_FENCE_CONDITION_NV = $84F4;
  4683. // GL_NV_float_buffer
  4684. GL_FLOAT_R_NV = $8880;
  4685. GL_FLOAT_RG_NV = $8881;
  4686. GL_FLOAT_RGB_NV = $8882;
  4687. GL_FLOAT_RGBA_NV = $8883;
  4688. GL_FLOAT_R16_NV = $8884;
  4689. GL_FLOAT_R32_NV = $8885;
  4690. GL_FLOAT_RG16_NV = $8886;
  4691. GL_FLOAT_RG32_NV = $8887;
  4692. GL_FLOAT_RGB16_NV = $8888;
  4693. GL_FLOAT_RGB32_NV = $8889;
  4694. GL_FLOAT_RGBA16_NV = $888A;
  4695. GL_FLOAT_RGBA32_NV = $888B;
  4696. GL_TEXTURE_FLOAT_COMPONENTS_NV = $888C;
  4697. GL_FLOAT_CLEAR_COLOR_VALUE_NV = $888D;
  4698. GL_FLOAT_RGBA_MODE_NV = $888E;
  4699. // GL_NV_fog_distance
  4700. GL_FOG_DISTANCE_MODE_NV = $855A;
  4701. GL_EYE_RADIAL_NV = $855B;
  4702. GL_EYE_PLANE_ABSOLUTE_NV = $855C;
  4703. // GL_NV_fragment_program
  4704. GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = $8868;
  4705. GL_FRAGMENT_PROGRAM_NV = $8870;
  4706. GL_MAX_TEXTURE_COORDS_NV = $8871;
  4707. GL_MAX_TEXTURE_IMAGE_UNITS_NV = $8872;
  4708. GL_FRAGMENT_PROGRAM_BINDING_NV = $8873;
  4709. GL_PROGRAM_ERROR_STRING_NV = $8874;
  4710. // GL_NV_half_float
  4711. GL_HALF_FLOAT_NV = $140B;
  4712. // GL_NV_light_max_exponent
  4713. GL_MAX_SHININESS_NV = $8504;
  4714. GL_MAX_SPOT_EXPONENT_NV = $8505;
  4715. // GL_NV_multisample_filter_hint
  4716. GL_MULTISAMPLE_FILTER_HINT_NV = $8534;
  4717. // GL_NV_occlusion_query
  4718. GL_PIXEL_COUNTER_BITS_NV = $8864;
  4719. GL_CURRENT_OCCLUSION_QUERY_ID_NV = $8865;
  4720. GL_PIXEL_COUNT_NV = $8866;
  4721. GL_PIXEL_COUNT_AVAILABLE_NV = $8867;
  4722. // GL_NV_packed_depth_stencil
  4723. GL_DEPTH_STENCIL_NV = $84F9;
  4724. GL_UNSIGNED_INT_24_8_NV = $84FA;
  4725. // GL_NV_pixel_data_range
  4726. GL_WRITE_PIXEL_DATA_RANGE_NV = $8878;
  4727. GL_READ_PIXEL_DATA_RANGE_NV = $8879;
  4728. GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV = $887A;
  4729. GL_READ_PIXEL_DATA_RANGE_LENGTH_NV = $887B;
  4730. GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV = $887C;
  4731. GL_READ_PIXEL_DATA_RANGE_POINTER_NV = $887D;
  4732. // GL_NV_point_sprite
  4733. GL_POINT_SPRITE_NV = $8861;
  4734. GL_COORD_REPLACE_NV = $8862;
  4735. GL_POINT_SPRITE_R_MODE_NV = $8863;
  4736. // GL_NV_primitive_restart
  4737. GL_PRIMITIVE_RESTART_NV = $8558;
  4738. GL_PRIMITIVE_RESTART_INDEX_NV = $8559;
  4739. // GL_NV_register_combiners
  4740. GL_REGISTER_COMBINERS_NV = $8522;
  4741. GL_VARIABLE_A_NV = $8523;
  4742. GL_VARIABLE_B_NV = $8524;
  4743. GL_VARIABLE_C_NV = $8525;
  4744. GL_VARIABLE_D_NV = $8526;
  4745. GL_VARIABLE_E_NV = $8527;
  4746. GL_VARIABLE_F_NV = $8528;
  4747. GL_VARIABLE_G_NV = $8529;
  4748. GL_CONSTANT_COLOR0_NV = $852A;
  4749. GL_CONSTANT_COLOR1_NV = $852B;
  4750. GL_PRIMARY_COLOR_NV = $852C;
  4751. GL_SECONDARY_COLOR_NV = $852D;
  4752. GL_SPARE0_NV = $852E;
  4753. GL_SPARE1_NV = $852F;
  4754. GL_DISCARD_NV = $8530;
  4755. GL_E_TIMES_F_NV = $8531;
  4756. GL_SPARE0_PLUS_SECONDARY_COLOR_NV = $8532;
  4757. GL_UNSIGNED_IDENTITY_NV = $8536;
  4758. GL_UNSIGNED_INVERT_NV = $8537;
  4759. GL_EXPAND_NORMAL_NV = $8538;
  4760. GL_EXPAND_NEGATE_NV = $8539;
  4761. GL_HALF_BIAS_NORMAL_NV = $853A;
  4762. GL_HALF_BIAS_NEGATE_NV = $853B;
  4763. GL_SIGNED_IDENTITY_NV = $853C;
  4764. GL_SIGNED_NEGATE_NV = $853D;
  4765. GL_SCALE_BY_TWO_NV = $853E;
  4766. GL_SCALE_BY_FOUR_NV = $853F;
  4767. GL_SCALE_BY_ONE_HALF_NV = $8540;
  4768. GL_BIAS_BY_NEGATIVE_ONE_HALF_NV = $8541;
  4769. GL_COMBINER_INPUT_NV = $8542;
  4770. GL_COMBINER_MAPPING_NV = $8543;
  4771. GL_COMBINER_COMPONENT_USAGE_NV = $8544;
  4772. GL_COMBINER_AB_DOT_PRODUCT_NV = $8545;
  4773. GL_COMBINER_CD_DOT_PRODUCT_NV = $8546;
  4774. GL_COMBINER_MUX_SUM_NV = $8547;
  4775. GL_COMBINER_SCALE_NV = $8548;
  4776. GL_COMBINER_BIAS_NV = $8549;
  4777. GL_COMBINER_AB_OUTPUT_NV = $854A;
  4778. GL_COMBINER_CD_OUTPUT_NV = $854B;
  4779. GL_COMBINER_SUM_OUTPUT_NV = $854C;
  4780. GL_MAX_GENERAL_COMBINERS_NV = $854D;
  4781. GL_NUM_GENERAL_COMBINERS_NV = $854E;
  4782. GL_COLOR_SUM_CLAMP_NV = $854F;
  4783. GL_COMBINER0_NV = $8550;
  4784. GL_COMBINER1_NV = $8551;
  4785. GL_COMBINER2_NV = $8552;
  4786. GL_COMBINER3_NV = $8553;
  4787. GL_COMBINER4_NV = $8554;
  4788. GL_COMBINER5_NV = $8555;
  4789. GL_COMBINER6_NV = $8556;
  4790. GL_COMBINER7_NV = $8557;
  4791. // GL_NV_register_combiners2
  4792. GL_PER_STAGE_CONSTANTS_NV = $8535;
  4793. // GL_NV_texgen_emboss
  4794. GL_EMBOSS_LIGHT_NV = $855D;
  4795. GL_EMBOSS_CONSTANT_NV = $855E;
  4796. GL_EMBOSS_MAP_NV = $855F;
  4797. // GL_NV_texgen_reflection
  4798. GL_NORMAL_MAP_NV = $8511;
  4799. GL_REFLECTION_MAP_NV = $8512;
  4800. // GL_NV_texture_env_combine4
  4801. GL_COMBINE4_NV = $8503;
  4802. GL_SOURCE3_RGB_NV = $8583;
  4803. GL_SOURCE3_ALPHA_NV = $858B;
  4804. GL_OPERAND3_RGB_NV = $8593;
  4805. GL_OPERAND3_ALPHA_NV = $859B;
  4806. // GL_NV_texture_expand_normal
  4807. GL_TEXTURE_UNSIGNED_REMAP_MODE_NV = $888F;
  4808. // GL_NV_texture_rectangle
  4809. GL_TEXTURE_RECTANGLE_NV = $84F5;
  4810. GL_TEXTURE_BINDING_RECTANGLE_NV = $84F6;
  4811. GL_PROXY_TEXTURE_RECTANGLE_NV = $84F7;
  4812. GL_MAX_RECTANGLE_TEXTURE_SIZE_NV = $84F8;
  4813. // GL_NV_texture_shader
  4814. GL_OFFSET_TEXTURE_RECTANGLE_NV = $864C;
  4815. GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV = $864D;
  4816. GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV = $864E;
  4817. GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = $86D9;
  4818. GL_UNSIGNED_INT_S8_S8_8_8_NV = $86DA;
  4819. GL_UNSIGNED_INT_8_8_S8_S8_REV_NV = $86DB;
  4820. GL_DSDT_MAG_INTENSITY_NV = $86DC;
  4821. GL_SHADER_CONSISTENT_NV = $86DD;
  4822. GL_TEXTURE_SHADER_NV = $86DE;
  4823. GL_SHADER_OPERATION_NV = $86DF;
  4824. GL_CULL_MODES_NV = $86E0;
  4825. GL_OFFSET_TEXTURE_MATRIX_NV = $86E1;
  4826. GL_OFFSET_TEXTURE_SCALE_NV = $86E2;
  4827. GL_OFFSET_TEXTURE_BIAS_NV = $86E3;
  4828. GL_OFFSET_TEXTURE_2D_MATRIX_NV = GL_OFFSET_TEXTURE_MATRIX_NV;
  4829. GL_OFFSET_TEXTURE_2D_SCALE_NV = GL_OFFSET_TEXTURE_SCALE_NV;
  4830. GL_OFFSET_TEXTURE_2D_BIAS_NV = GL_OFFSET_TEXTURE_BIAS_NV;
  4831. GL_PREVIOUS_TEXTURE_INPUT_NV = $86E4;
  4832. GL_CONST_EYE_NV = $86E5;
  4833. GL_PASS_THROUGH_NV = $86E6;
  4834. GL_CULL_FRAGMENT_NV = $86E7;
  4835. GL_OFFSET_TEXTURE_2D_NV = $86E8;
  4836. GL_DEPENDENT_AR_TEXTURE_2D_NV = $86E9;
  4837. GL_DEPENDENT_GB_TEXTURE_2D_NV = $86EA;
  4838. GL_DOT_PRODUCT_NV = $86EC;
  4839. GL_DOT_PRODUCT_DEPTH_REPLACE_NV = $86ED;
  4840. GL_DOT_PRODUCT_TEXTURE_2D_NV = $86EE;
  4841. GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = $86F0;
  4842. GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = $86F1;
  4843. GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV = $86F2;
  4844. GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = $86F3;
  4845. GL_HILO_NV = $86F4;
  4846. GL_DSDT_NV = $86F5;
  4847. GL_DSDT_MAG_NV = $86F6;
  4848. GL_DSDT_MAG_VIB_NV = $86F7;
  4849. GL_HILO16_NV = $86F8;
  4850. GL_SIGNED_HILO_NV = $86F9;
  4851. GL_SIGNED_HILO16_NV = $86FA;
  4852. GL_SIGNED_RGBA_NV = $86FB;
  4853. GL_SIGNED_RGBA8_NV = $86FC;
  4854. GL_SIGNED_RGB_NV = $86FE;
  4855. GL_SIGNED_RGB8_NV = $86FF;
  4856. GL_SIGNED_LUMINANCE_NV = $8701;
  4857. GL_SIGNED_LUMINANCE8_NV = $8702;
  4858. GL_SIGNED_LUMINANCE_ALPHA_NV = $8703;
  4859. GL_SIGNED_LUMINANCE8_ALPHA8_NV = $8704;
  4860. GL_SIGNED_ALPHA_NV = $8705;
  4861. GL_SIGNED_ALPHA8_NV = $8706;
  4862. GL_SIGNED_INTENSITY_NV = $8707;
  4863. GL_SIGNED_INTENSITY8_NV = $8708;
  4864. GL_DSDT8_NV = $8709;
  4865. GL_DSDT8_MAG8_NV = $870A;
  4866. GL_DSDT8_MAG8_INTENSITY8_NV = $870B;
  4867. GL_SIGNED_RGB_UNSIGNED_ALPHA_NV = $870C;
  4868. GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV = $870D;
  4869. GL_HI_SCALE_NV = $870E;
  4870. GL_LO_SCALE_NV = $870F;
  4871. GL_DS_SCALE_NV = $8710;
  4872. GL_DT_SCALE_NV = $8711;
  4873. GL_MAGNITUDE_SCALE_NV = $8712;
  4874. GL_VIBRANCE_SCALE_NV = $8713;
  4875. GL_HI_BIAS_NV = $8714;
  4876. GL_LO_BIAS_NV = $8715;
  4877. GL_DS_BIAS_NV = $8716;
  4878. GL_DT_BIAS_NV = $8717;
  4879. GL_MAGNITUDE_BIAS_NV = $8718;
  4880. GL_VIBRANCE_BIAS_NV = $8719;
  4881. GL_TEXTURE_BORDER_VALUES_NV = $871A;
  4882. GL_TEXTURE_HI_SIZE_NV = $871B;
  4883. GL_TEXTURE_LO_SIZE_NV = $871C;
  4884. GL_TEXTURE_DS_SIZE_NV = $871D;
  4885. GL_TEXTURE_DT_SIZE_NV = $871E;
  4886. GL_TEXTURE_MAG_SIZE_NV = $871F;
  4887. // GL_NV_texture_shader2
  4888. GL_DOT_PRODUCT_TEXTURE_3D_NV = $86EF;
  4889. // GL_NV_texture_shader3
  4890. GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV = $8850;
  4891. GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = $8851;
  4892. GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = $8852;
  4893. GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = $8853;
  4894. GL_OFFSET_HILO_TEXTURE_2D_NV = $8854;
  4895. GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV = $8855;
  4896. GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = $8856;
  4897. GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = $8857;
  4898. GL_DEPENDENT_HILO_TEXTURE_2D_NV = $8858;
  4899. GL_DEPENDENT_RGB_TEXTURE_3D_NV = $8859;
  4900. GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = $885A;
  4901. GL_DOT_PRODUCT_PASS_THROUGH_NV = $885B;
  4902. GL_DOT_PRODUCT_TEXTURE_1D_NV = $885C;
  4903. GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = $885D;
  4904. GL_HILO8_NV = $885E;
  4905. GL_SIGNED_HILO8_NV = $885F;
  4906. GL_FORCE_BLUE_TO_ONE_NV = $8860;
  4907. // GL_NV_vertex_array_range
  4908. GL_VERTEX_ARRAY_RANGE_NV = $851D;
  4909. GL_VERTEX_ARRAY_RANGE_LENGTH_NV = $851E;
  4910. GL_VERTEX_ARRAY_RANGE_VALID_NV = $851F;
  4911. GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = $8520;
  4912. GL_VERTEX_ARRAY_RANGE_POINTER_NV = $8521;
  4913. // GL_NV_vertex_array_range2
  4914. GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = $8533;
  4915. // GL_NV_vertex_program
  4916. GL_VERTEX_PROGRAM_NV = $8620;
  4917. GL_VERTEX_STATE_PROGRAM_NV = $8621;
  4918. GL_ATTRIB_ARRAY_SIZE_NV = $8623;
  4919. GL_ATTRIB_ARRAY_STRIDE_NV = $8624;
  4920. GL_ATTRIB_ARRAY_TYPE_NV = $8625;
  4921. GL_CURRENT_ATTRIB_NV = $8626;
  4922. GL_PROGRAM_LENGTH_NV = $8627;
  4923. GL_PROGRAM_STRING_NV = $8628;
  4924. GL_MODELVIEW_PROJECTION_NV = $8629;
  4925. GL_IDENTITY_NV = $862A;
  4926. GL_INVERSE_NV = $862B;
  4927. GL_TRANSPOSE_NV = $862C;
  4928. GL_INVERSE_TRANSPOSE_NV = $862D;
  4929. GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV = $862E;
  4930. GL_MAX_TRACK_MATRICES_NV = $862F;
  4931. GL_MATRIX0_NV = $8630;
  4932. GL_MATRIX1_NV = $8631;
  4933. GL_MATRIX2_NV = $8632;
  4934. GL_MATRIX3_NV = $8633;
  4935. GL_MATRIX4_NV = $8634;
  4936. GL_MATRIX5_NV = $8635;
  4937. GL_MATRIX6_NV = $8636;
  4938. GL_MATRIX7_NV = $8637;
  4939. GL_CURRENT_MATRIX_STACK_DEPTH_NV = $8640;
  4940. GL_CURRENT_MATRIX_NV = $8641;
  4941. GL_VERTEX_PROGRAM_POINT_SIZE_NV = $8642;
  4942. GL_VERTEX_PROGRAM_TWO_SIDE_NV = $8643;
  4943. GL_PROGRAM_PARAMETER_NV = $8644;
  4944. GL_ATTRIB_ARRAY_POINTER_NV = $8645;
  4945. GL_PROGRAM_TARGET_NV = $8646;
  4946. GL_PROGRAM_RESIDENT_NV = $8647;
  4947. GL_TRACK_MATRIX_NV = $8648;
  4948. GL_TRACK_MATRIX_TRANSFORM_NV = $8649;
  4949. GL_VERTEX_PROGRAM_BINDING_NV = $864A;
  4950. GL_PROGRAM_ERROR_POSITION_NV = $864B;
  4951. GL_VERTEX_ATTRIB_ARRAY0_NV = $8650;
  4952. GL_VERTEX_ATTRIB_ARRAY1_NV = $8651;
  4953. GL_VERTEX_ATTRIB_ARRAY2_NV = $8652;
  4954. GL_VERTEX_ATTRIB_ARRAY3_NV = $8653;
  4955. GL_VERTEX_ATTRIB_ARRAY4_NV = $8654;
  4956. GL_VERTEX_ATTRIB_ARRAY5_NV = $8655;
  4957. GL_VERTEX_ATTRIB_ARRAY6_NV = $8656;
  4958. GL_VERTEX_ATTRIB_ARRAY7_NV = $8657;
  4959. GL_VERTEX_ATTRIB_ARRAY8_NV = $8658;
  4960. GL_VERTEX_ATTRIB_ARRAY9_NV = $8659;
  4961. GL_VERTEX_ATTRIB_ARRAY10_NV = $865A;
  4962. GL_VERTEX_ATTRIB_ARRAY11_NV = $865B;
  4963. GL_VERTEX_ATTRIB_ARRAY12_NV = $865C;
  4964. GL_VERTEX_ATTRIB_ARRAY13_NV = $865D;
  4965. GL_VERTEX_ATTRIB_ARRAY14_NV = $865E;
  4966. GL_VERTEX_ATTRIB_ARRAY15_NV = $865F;
  4967. GL_MAP1_VERTEX_ATTRIB0_4_NV = $8660;
  4968. GL_MAP1_VERTEX_ATTRIB1_4_NV = $8661;
  4969. GL_MAP1_VERTEX_ATTRIB2_4_NV = $8662;
  4970. GL_MAP1_VERTEX_ATTRIB3_4_NV = $8663;
  4971. GL_MAP1_VERTEX_ATTRIB4_4_NV = $8664;
  4972. GL_MAP1_VERTEX_ATTRIB5_4_NV = $8665;
  4973. GL_MAP1_VERTEX_ATTRIB6_4_NV = $8666;
  4974. GL_MAP1_VERTEX_ATTRIB7_4_NV = $8667;
  4975. GL_MAP1_VERTEX_ATTRIB8_4_NV = $8668;
  4976. GL_MAP1_VERTEX_ATTRIB9_4_NV = $8669;
  4977. GL_MAP1_VERTEX_ATTRIB10_4_NV = $866A;
  4978. GL_MAP1_VERTEX_ATTRIB11_4_NV = $866B;
  4979. GL_MAP1_VERTEX_ATTRIB12_4_NV = $866C;
  4980. GL_MAP1_VERTEX_ATTRIB13_4_NV = $866D;
  4981. GL_MAP1_VERTEX_ATTRIB14_4_NV = $866E;
  4982. GL_MAP1_VERTEX_ATTRIB15_4_NV = $866F;
  4983. GL_MAP2_VERTEX_ATTRIB0_4_NV = $8670;
  4984. GL_MAP2_VERTEX_ATTRIB1_4_NV = $8671;
  4985. GL_MAP2_VERTEX_ATTRIB2_4_NV = $8672;
  4986. GL_MAP2_VERTEX_ATTRIB3_4_NV = $8673;
  4987. GL_MAP2_VERTEX_ATTRIB4_4_NV = $8674;
  4988. GL_MAP2_VERTEX_ATTRIB5_4_NV = $8675;
  4989. GL_MAP2_VERTEX_ATTRIB6_4_NV = $8676;
  4990. GL_MAP2_VERTEX_ATTRIB7_4_NV = $8677;
  4991. GL_MAP2_VERTEX_ATTRIB8_4_NV = $8678;
  4992. GL_MAP2_VERTEX_ATTRIB9_4_NV = $8679;
  4993. GL_MAP2_VERTEX_ATTRIB10_4_NV = $867A;
  4994. GL_MAP2_VERTEX_ATTRIB11_4_NV = $867B;
  4995. GL_MAP2_VERTEX_ATTRIB12_4_NV = $867C;
  4996. GL_MAP2_VERTEX_ATTRIB13_4_NV = $867D;
  4997. GL_MAP2_VERTEX_ATTRIB14_4_NV = $867E;
  4998. GL_MAP2_VERTEX_ATTRIB15_4_NV = $867F;
  4999. // GL_NV_fragment_program2 and GL_NV_vertex_program2_option
  5000. GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = $88F4;
  5001. GL_MAX_PROGRAM_CALL_DEPTH_NV = $88F5;
  5002. // GL_NV_fragment_program2
  5003. GL_MAX_PROGRAM_IF_DEPTH_NV = $88F6;
  5004. GL_MAX_PROGRAM_LOOP_DEPTH_NV = $88F7;
  5005. GL_MAX_PROGRAM_LOOP_COUNT_NV = $88F8;
  5006. // GL_NV_vertex_program3
  5007. MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = $8B4C;
  5008. // GL_NV_depth_buffer_float
  5009. GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV = $8DAD;
  5010. GL_DEPTH_BUFFER_FLOAT_MODE_NV = $8DAF;
  5011. // GL_NV_framebuffer_multisample_coverage
  5012. GL_RENDERBUFFER_COVERAGE_SAMPLES_NV = $8CAB;
  5013. GL_RENDERBUFFER_COLOR_SAMPLES_NV = $8E10;
  5014. // GL_NV_geometry_program4
  5015. GL_GEOMETRY_PROGRAM_NV = $8C26;
  5016. GL_MAX_PROGRAM_OUTPUT_VERTICES_NV = $8C27;
  5017. GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = $8C28;
  5018. // GL_NV_gpu_program4
  5019. GL_PROGRAM_ATTRIB_COMPONENTS_NV = $8906;
  5020. GL_PROGRAM_RESULT_COMPONENTS_NV = $8907;
  5021. GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV = $8908;
  5022. GL_MAX_PROGRAM_RESULT_COMPONENTS_NV = $8909;
  5023. GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV = $8DA5;
  5024. GL_MAX_PROGRAM_GENERIC_RESULTS_NV = $8DA6;
  5025. // GL_NV_parameter_buffer_object
  5026. GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV = $8DA0;
  5027. GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV = $8DA1;
  5028. GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV = $8DA2;
  5029. GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV = $8DA3;
  5030. GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV = $8DA4;
  5031. // GL_NV_transform_feedback
  5032. GL_TRANSFORM_FEEDBACK_BUFFER_NV = $8C8E;
  5033. GL_TRANSFORM_FEEDBACK_BUFFER_START_NV = $8C84;
  5034. GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = $8C85;
  5035. GL_TRANSFORM_FEEDBACK_RECORD_NV = $8C86;
  5036. GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = $8C8F;
  5037. GL_INTERLEAVED_ATTRIBS_NV = $8C8C;
  5038. GL_SEPARATE_ATTRIBS_NV = $8C8D;
  5039. GL_PRIMITIVES_GENERATED_NV = $8C87;
  5040. GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = $8C88;
  5041. GL_RASTERIZER_DISCARD_NV = $8C89;
  5042. GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV = $8C8A;
  5043. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = $8C8B;
  5044. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = $8C80;
  5045. GL_TRANSFORM_FEEDBACK_ATTRIBS_NV = $8C7E;
  5046. GL_ACTIVE_VARYINGS_NV = $8C81;
  5047. GL_ACTIVE_VARYING_MAX_LENGTH_NV = $8C82;
  5048. GL_TRANSFORM_FEEDBACK_VARYINGS_NV = $8C83;
  5049. GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV = $8C7F;
  5050. GL_BACK_PRIMARY_COLOR_NV = $8C77;
  5051. GL_BACK_SECONDARY_COLOR_NV = $8C78;
  5052. GL_TEXTURE_COORD_NV = $8C79;
  5053. GL_CLIP_DISTANCE_NV = $8C7A;
  5054. GL_VERTEX_ID_NV = $8C7B;
  5055. GL_PRIMITIVE_ID_NV = $8C7C;
  5056. GL_GENERIC_ATTRIB_NV = $8C7D;
  5057. GL_LAYER_NV = $8DAA;
  5058. GL_NEXT_BUFFER_NV = -2;
  5059. GL_SKIP_COMPONENTS4_NV = -3;
  5060. GL_SKIP_COMPONENTS3_NV = -4;
  5061. GL_SKIP_COMPONENTS2_NV = -5;
  5062. GL_SKIP_COMPONENTS1_NV = -6;
  5063. // GL_NV_conditional_render
  5064. GL_QUERY_WAIT_NV = $8E13;
  5065. GL_QUERY_NO_WAIT_NV = $8E14;
  5066. GL_QUERY_BY_REGION_WAIT_NV = $8E15;
  5067. GL_QUERY_BY_REGION_NO_WAIT_NV = $8E16;
  5068. // GL_NV_conservative_raster
  5069. GL_CONSERVATIVE_RASTERIZATION_NV = $9346;
  5070. GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV = $9347;
  5071. GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV = $9348;
  5072. GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV = $9349;
  5073. // GL_NV_conservative_raster_dilate
  5074. GL_CONSERVATIVE_RASTER_DILATE_NV = $9379;
  5075. GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV = $937A;
  5076. GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV = $937B;
  5077. // GL_NV_present_video
  5078. GL_FRAME_NV = $8E26;
  5079. GL_FIELDS_NV = $8E27;
  5080. GL_CURRENT_TIME_NV = $8E28;
  5081. GL_NUM_FILL_STREAMS_NV = $8E29;
  5082. GL_PRESENT_TIME_NV = $8E2A;
  5083. GL_PRESENT_DURATION_NV = $8E2B;
  5084. // GL_NV_explicit_multisample
  5085. GL_SAMPLE_POSITION_NV = $8E50;
  5086. GL_SAMPLE_MASK_NV = $8E51;
  5087. GL_SAMPLE_MASK_VALUE_NV = $8E52;
  5088. GL_TEXTURE_BINDING_RENDERBUFFER_NV = $8E53;
  5089. GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV = $8E54;
  5090. GL_TEXTURE_RENDERBUFFER_NV = $8E55;
  5091. GL_SAMPLER_RENDERBUFFER_NV = $8E56;
  5092. GL_INT_SAMPLER_RENDERBUFFER_NV = $8E57;
  5093. GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV = $8E58;
  5094. GL_MAX_SAMPLE_MASK_WORDS_NV = $8E59;
  5095. // GL_NV_transform_feedback2
  5096. GL_TRANSFORM_FEEDBACK_NV = $8E22;
  5097. GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV = $8E23;
  5098. GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV = $8E24;
  5099. GL_TRANSFORM_FEEDBACK_BINDING_NV = $8E25;
  5100. // GL_NV_video_capture
  5101. GL_VIDEO_BUFFER_NV = $9020;
  5102. GL_VIDEO_BUFFER_BINDING_NV = $9021;
  5103. GL_FIELD_UPPER_NV = $9022;
  5104. GL_FIELD_LOWER_NV = $9023;
  5105. GL_NUM_VIDEO_CAPTURE_STREAMS_NV = $9024;
  5106. GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV = $9025;
  5107. GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV = $9026;
  5108. GL_LAST_VIDEO_CAPTURE_STATUS_NV = $9027;
  5109. GL_VIDEO_BUFFER_PITCH_NV = $9028;
  5110. GL_VIDEO_COLOR_CONVERSION_MATRIX_NV = $9029;
  5111. GL_VIDEO_COLOR_CONVERSION_MAX_NV = $902A;
  5112. GL_VIDEO_COLOR_CONVERSION_MIN_NV = $902B;
  5113. GL_VIDEO_COLOR_CONVERSION_OFFSET_NV = $902C;
  5114. GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV = $902D;
  5115. GL_PARTIAL_SUCCESS_NV = $902E;
  5116. GL_SUCCESS_NV = $902F;
  5117. GL_FAILURE_NV = $9030;
  5118. GL_YCBYCR8_422_NV = $9031;
  5119. GL_YCBAYCR8A_4224_NV = $9032;
  5120. GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV = $9033;
  5121. GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV = $9034;
  5122. GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV = $9035;
  5123. GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV = $9036;
  5124. GL_Z4Y12Z4CB12Z4CR12_444_NV = $9037;
  5125. GL_VIDEO_CAPTURE_FRAME_WIDTH_NV = $9038;
  5126. GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV = $9039;
  5127. GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV = $903A;
  5128. GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV = $903B;
  5129. GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV = $903C;
  5130. // GL_NV_shader_buffer_load
  5131. GL_BUFFER_GPU_ADDRESS_NV = $8F1D;
  5132. GL_GPU_ADDRESS_NV = $8F34;
  5133. GL_MAX_SHADER_BUFFER_ADDRESS_NV = $8F35;
  5134. // GL_NV_vertex_buffer_unified_memory
  5135. GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV = $8F1E;
  5136. GL_ELEMENT_ARRAY_UNIFIED_NV = $8F1F;
  5137. GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV = $8F20;
  5138. GL_VERTEX_ARRAY_ADDRESS_NV = $8F21;
  5139. GL_NORMAL_ARRAY_ADDRESS_NV = $8F22;
  5140. GL_COLOR_ARRAY_ADDRESS_NV = $8F23;
  5141. GL_INDEX_ARRAY_ADDRESS_NV = $8F24;
  5142. GL_TEXTURE_COORD_ARRAY_ADDRESS_NV = $8F25;
  5143. GL_EDGE_FLAG_ARRAY_ADDRESS_NV = $8F26;
  5144. GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV = $8F27;
  5145. GL_FOG_COORD_ARRAY_ADDRESS_NV = $8F28;
  5146. GL_ELEMENT_ARRAY_ADDRESS_NV = $8F29;
  5147. GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV = $8F2A;
  5148. GL_VERTEX_ARRAY_LENGTH_NV = $8F2B;
  5149. GL_NORMAL_ARRAY_LENGTH_NV = $8F2C;
  5150. GL_COLOR_ARRAY_LENGTH_NV = $8F2D;
  5151. GL_INDEX_ARRAY_LENGTH_NV = $8F2E;
  5152. GL_TEXTURE_COORD_ARRAY_LENGTH_NV = $8F2F;
  5153. GL_EDGE_FLAG_ARRAY_LENGTH_NV = $8F30;
  5154. GL_SECONDARY_COLOR_ARRAY_LENGTH_NV = $8F31;
  5155. GL_FOG_COORD_ARRAY_LENGTH_NV = $8F32;
  5156. GL_ELEMENT_ARRAY_LENGTH_NV = $8F33;
  5157. GL_DRAW_INDIRECT_UNIFIED_NV = $8F40;
  5158. GL_DRAW_INDIRECT_ADDRESS_NV = $8F41;
  5159. GL_DRAW_INDIRECT_LENGTH_NV = $8F42;
  5160. // GL_NV_gpu_program5
  5161. GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV = $8E5A;
  5162. GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV = $8E5B;
  5163. GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV = $8E5C;
  5164. GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV = $8E5D;
  5165. GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV = $8E5E;
  5166. GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV = $8E5F;
  5167. GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV = $8F44;
  5168. GL_MAX_PROGRAM_SUBROUTINE_NUM_NV = $8F45;
  5169. // GL_NV_gpu_shader5
  5170. GL_INT64_NV = $140E;
  5171. GL_UNSIGNED_INT64_NV = $140F;
  5172. GL_INT8_NV = $8FE0;
  5173. GL_INT8_VEC2_NV = $8FE1;
  5174. GL_INT8_VEC3_NV = $8FE2;
  5175. GL_INT8_VEC4_NV = $8FE3;
  5176. GL_INT16_NV = $8FE4;
  5177. GL_INT16_VEC2_NV = $8FE5;
  5178. GL_INT16_VEC3_NV = $8FE6;
  5179. GL_INT16_VEC4_NV = $8FE7;
  5180. GL_INT64_VEC2_NV = $8FE9;
  5181. GL_INT64_VEC3_NV = $8FEA;
  5182. GL_INT64_VEC4_NV = $8FEB;
  5183. GL_UNSIGNED_INT8_NV = $8FEC;
  5184. GL_UNSIGNED_INT8_VEC2_NV = $8FED;
  5185. GL_UNSIGNED_INT8_VEC3_NV = $8FEE;
  5186. GL_UNSIGNED_INT8_VEC4_NV = $8FEF;
  5187. GL_UNSIGNED_INT16_NV = $8FF0;
  5188. GL_UNSIGNED_INT16_VEC2_NV = $8FF1;
  5189. GL_UNSIGNED_INT16_VEC3_NV = $8FF2;
  5190. GL_UNSIGNED_INT16_VEC4_NV = $8FF3;
  5191. GL_UNSIGNED_INT64_VEC2_NV = $8FF5;
  5192. GL_UNSIGNED_INT64_VEC3_NV = $8FF6;
  5193. GL_UNSIGNED_INT64_VEC4_NV = $8FF7;
  5194. GL_FLOAT16_NV = $8FF8;
  5195. GL_FLOAT16_VEC2_NV = $8FF9;
  5196. GL_FLOAT16_VEC3_NV = $8FFA;
  5197. GL_FLOAT16_VEC4_NV = $8FFB;
  5198. { reuse GL_PATCHES }
  5199. // GL_NV_shader_buffer_store
  5200. GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV = $00000010;
  5201. { reuse GL_READ_WRITE }
  5202. { reuse GL_WRITE_ONLY }
  5203. // GL_NV_tessellation_program5
  5204. GL_MAX_PROGRAM_PATCH_ATTRIBS_NV = $86D8;
  5205. GL_TESS_CONTROL_PROGRAM_NV = $891E;
  5206. GL_TESS_EVALUATION_PROGRAM_NV = $891F;
  5207. GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV = $8C74;
  5208. GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV = $8C75;
  5209. // GL_NV_vertex_attrib_integer_64bit
  5210. { reuse GL_INT64_NV }
  5211. { reuse GL_UNSIGNED_INT64_NV }
  5212. // GL_NV_multisample_coverage
  5213. GL_COVERAGE_SAMPLES_NV = $80A9;
  5214. GL_COLOR_SAMPLES_NV = $8E20;
  5215. // GL_NV_vdpau_interop
  5216. GL_SURFACE_STATE_NV = $86EB;
  5217. GL_SURFACE_REGISTERED_NV = $86FD;
  5218. GL_SURFACE_MAPPED_NV = $8700;
  5219. GL_WRITE_DISCARD_NV = $88BE;
  5220. // GL_OML_interlace
  5221. GL_INTERLACE_OML = $8980;
  5222. GL_INTERLACE_READ_OML = $8981;
  5223. // GL_OML_resample
  5224. GL_PACK_RESAMPLE_OML = $8984;
  5225. GL_UNPACK_RESAMPLE_OML = $8985;
  5226. GL_RESAMPLE_REPLICATE_OML = $8986;
  5227. GL_RESAMPLE_ZERO_FILL_OML = $8987;
  5228. GL_RESAMPLE_AVERAGE_OML = $8988;
  5229. GL_RESAMPLE_DECIMATE_OML = $8989;
  5230. // GL_OML_subsample
  5231. GL_FORMAT_SUBSAMPLE_24_24_OML = $8982;
  5232. GL_FORMAT_SUBSAMPLE_244_244_OML = $8983;
  5233. // GL_OVR_multiview
  5234. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR = $9630;
  5235. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR = $9632;
  5236. GL_MAX_VIEWS_OVR = $9631;
  5237. GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR = $9633;
  5238. // GL_PGI_misc_hints
  5239. GL_PREFER_DOUBLEBUFFER_HINT_PGI = $1A1F8;
  5240. GL_CONSERVE_MEMORY_HINT_PGI = $1A1FD;
  5241. GL_RECLAIM_MEMORY_HINT_PGI = $1A1FE;
  5242. GL_NATIVE_GRAPHICS_HANDLE_PGI = $1A202;
  5243. GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI = $1A203;
  5244. GL_NATIVE_GRAPHICS_END_HINT_PGI = $1A204;
  5245. GL_ALWAYS_FAST_HINT_PGI = $1A20C;
  5246. GL_ALWAYS_SOFT_HINT_PGI = $1A20D;
  5247. GL_ALLOW_DRAW_OBJ_HINT_PGI = $1A20E;
  5248. GL_ALLOW_DRAW_WIN_HINT_PGI = $1A20F;
  5249. GL_ALLOW_DRAW_FRG_HINT_PGI = $1A210;
  5250. GL_ALLOW_DRAW_MEM_HINT_PGI = $1A211;
  5251. GL_STRICT_DEPTHFUNC_HINT_PGI = $1A216;
  5252. GL_STRICT_LIGHTING_HINT_PGI = $1A217;
  5253. GL_STRICT_SCISSOR_HINT_PGI = $1A218;
  5254. GL_FULL_STIPPLE_HINT_PGI = $1A219;
  5255. GL_CLIP_NEAR_HINT_PGI = $1A220;
  5256. GL_CLIP_FAR_HINT_PGI = $1A221;
  5257. GL_WIDE_LINE_HINT_PGI = $1A222;
  5258. GL_BACK_NORMALS_HINT_PGI = $1A223;
  5259. // GL_PGI_vertex_hints
  5260. GL_VERTEX_DATA_HINT_PGI = $1A22A;
  5261. GL_VERTEX_CONSISTENT_HINT_PGI = $1A22B;
  5262. GL_MATERIAL_SIDE_HINT_PGI = $1A22C;
  5263. GL_MAX_VERTEX_HINT_PGI = $1A22D;
  5264. GL_COLOR3_BIT_PGI = $00010000;
  5265. GL_COLOR4_BIT_PGI = $00020000;
  5266. GL_EDGEFLAG_BIT_PGI = $00040000;
  5267. GL_INDEX_BIT_PGI = $00080000;
  5268. GL_MAT_AMBIENT_BIT_PGI = $00100000;
  5269. GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = $00200000;
  5270. GL_MAT_DIFFUSE_BIT_PGI = $00400000;
  5271. GL_MAT_EMISSION_BIT_PGI = $00800000;
  5272. GL_MAT_COLOR_INDEXES_BIT_PGI = $01000000;
  5273. GL_MAT_SHININESS_BIT_PGI = $02000000;
  5274. GL_MAT_SPECULAR_BIT_PGI = $04000000;
  5275. GL_NORMAL_BIT_PGI = $08000000;
  5276. GL_TEXCOORD1_BIT_PGI = $10000000;
  5277. GL_TEXCOORD2_BIT_PGI = $20000000;
  5278. GL_TEXCOORD3_BIT_PGI = $40000000;
  5279. GL_TEXCOORD4_BIT_PGI = $80000000;
  5280. GL_VERTEX23_BIT_PGI = $00000004;
  5281. GL_VERTEX4_BIT_PGI = $00000008;
  5282. // GL_REND_screen_coordinates
  5283. GL_SCREEN_COORDINATES_REND = $8490;
  5284. GL_INVERTED_SCREEN_W_REND = $8491;
  5285. // GL_S3_s3tc
  5286. GL_RGB_S3TC = $83A0;
  5287. GL_RGB4_S3TC = $83A1;
  5288. GL_RGBA_S3TC = $83A2;
  5289. GL_RGBA4_S3TC = $83A3;
  5290. // GL_SGIS_detail_texture
  5291. GL_DETAIL_TEXTURE_2D_SGIS = $8095;
  5292. GL_DETAIL_TEXTURE_2D_BINDING_SGIS = $8096;
  5293. GL_LINEAR_DETAIL_SGIS = $8097;
  5294. GL_LINEAR_DETAIL_ALPHA_SGIS = $8098;
  5295. GL_LINEAR_DETAIL_COLOR_SGIS = $8099;
  5296. GL_DETAIL_TEXTURE_LEVEL_SGIS = $809A;
  5297. GL_DETAIL_TEXTURE_MODE_SGIS = $809B;
  5298. GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS = $809C;
  5299. // GL_SGIS_fog_function
  5300. GL_FOG_FUNC_SGIS = $812A;
  5301. GL_FOG_FUNC_POINTS_SGIS = $812B;
  5302. GL_MAX_FOG_FUNC_POINTS_SGIS = $812C;
  5303. // GL_SGIS_generate_mipmap
  5304. GL_GENERATE_MIPMAP_SGIS = $8191;
  5305. GL_GENERATE_MIPMAP_HINT_SGIS = $8192;
  5306. // GL_SGIS_multisample
  5307. GL_MULTISAMPLE_SGIS = $809D;
  5308. GL_SAMPLE_ALPHA_TO_MASK_SGIS = $809E;
  5309. GL_SAMPLE_ALPHA_TO_ONE_SGIS = $809F;
  5310. GL_SAMPLE_MASK_SGIS = $80A0;
  5311. GL_1PASS_SGIS = $80A1;
  5312. GL_2PASS_0_SGIS = $80A2;
  5313. GL_2PASS_1_SGIS = $80A3;
  5314. GL_4PASS_0_SGIS = $80A4;
  5315. GL_4PASS_1_SGIS = $80A5;
  5316. GL_4PASS_2_SGIS = $80A6;
  5317. GL_4PASS_3_SGIS = $80A7;
  5318. GL_SAMPLE_BUFFERS_SGIS = $80A8;
  5319. GL_SAMPLES_SGIS = $80A9;
  5320. GL_SAMPLE_MASK_VALUE_SGIS = $80AA;
  5321. GL_SAMPLE_MASK_INVERT_SGIS = $80AB;
  5322. GL_SAMPLE_PATTERN_SGIS = $80AC;
  5323. // GL_SGIS_pixel_texture
  5324. GL_PIXEL_TEXTURE_SGIS = $8353;
  5325. GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS = $8354;
  5326. GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = $8355;
  5327. GL_PIXEL_GROUP_COLOR_SGIS = $8356;
  5328. // GL_SGIS_point_line_texgen
  5329. GL_EYE_DISTANCE_TO_POINT_SGIS = $81F0;
  5330. GL_OBJECT_DISTANCE_TO_POINT_SGIS = $81F1;
  5331. GL_EYE_DISTANCE_TO_LINE_SGIS = $81F2;
  5332. GL_OBJECT_DISTANCE_TO_LINE_SGIS = $81F3;
  5333. GL_EYE_POINT_SGIS = $81F4;
  5334. GL_OBJECT_POINT_SGIS = $81F5;
  5335. GL_EYE_LINE_SGIS = $81F6;
  5336. GL_OBJECT_LINE_SGIS = $81F7;
  5337. // GL_SGIS_point_parameters
  5338. GL_POINT_SIZE_MIN_SGIS = $8126;
  5339. GL_POINT_SIZE_MAX_SGIS = $8127;
  5340. GL_POINT_FADE_THRESHOLD_SIZE_SGIS = $8128;
  5341. GL_DISTANCE_ATTENUATION_SGIS = $8129;
  5342. // GL_SGIS_sharpen_texture
  5343. GL_LINEAR_SHARPEN_SGIS = $80AD;
  5344. GL_LINEAR_SHARPEN_ALPHA_SGIS = $80AE;
  5345. GL_LINEAR_SHARPEN_COLOR_SGIS = $80AF;
  5346. GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS = $80B0;
  5347. // GL_SGIS_texture4D
  5348. GL_PACK_SKIP_VOLUMES_SGIS = $8130;
  5349. GL_PACK_IMAGE_DEPTH_SGIS = $8131;
  5350. GL_UNPACK_SKIP_VOLUMES_SGIS = $8132;
  5351. GL_UNPACK_IMAGE_DEPTH_SGIS = $8133;
  5352. GL_TEXTURE_4D_SGIS = $8134;
  5353. GL_PROXY_TEXTURE_4D_SGIS = $8135;
  5354. GL_TEXTURE_4DSIZE_SGIS = $8136;
  5355. GL_TEXTURE_WRAP_Q_SGIS = $8137;
  5356. GL_MAX_4D_TEXTURE_SIZE_SGIS = $8138;
  5357. GL_TEXTURE_4D_BINDING_SGIS = $814F;
  5358. // GL_SGIS_texture_color_mask
  5359. GL_TEXTURE_COLOR_WRITEMASK_SGIS = $81EF;
  5360. // GL_SGIS_texture_edge_clamp
  5361. GL_CLAMP_TO_EDGE_SGIS = $812F;
  5362. // GL_SGIS_texture_filter4
  5363. GL_FILTER4_SGIS = $8146;
  5364. GL_TEXTURE_FILTER4_SIZE_SGIS = $8147;
  5365. // GL_SGIS_texture_lod
  5366. GL_TEXTURE_MIN_LOD_SGIS = $813A;
  5367. GL_TEXTURE_MAX_LOD_SGIS = $813B;
  5368. GL_TEXTURE_BASE_LEVEL_SGIS = $813C;
  5369. GL_TEXTURE_MAX_LEVEL_SGIS = $813D;
  5370. // GL_SGIS_texture_select
  5371. GL_DUAL_ALPHA4_SGIS = $8110;
  5372. GL_DUAL_ALPHA8_SGIS = $8111;
  5373. GL_DUAL_ALPHA12_SGIS = $8112;
  5374. GL_DUAL_ALPHA16_SGIS = $8113;
  5375. GL_DUAL_LUMINANCE4_SGIS = $8114;
  5376. GL_DUAL_LUMINANCE8_SGIS = $8115;
  5377. GL_DUAL_LUMINANCE12_SGIS = $8116;
  5378. GL_DUAL_LUMINANCE16_SGIS = $8117;
  5379. GL_DUAL_INTENSITY4_SGIS = $8118;
  5380. GL_DUAL_INTENSITY8_SGIS = $8119;
  5381. GL_DUAL_INTENSITY12_SGIS = $811A;
  5382. GL_DUAL_INTENSITY16_SGIS = $811B;
  5383. GL_DUAL_LUMINANCE_ALPHA4_SGIS = $811C;
  5384. GL_DUAL_LUMINANCE_ALPHA8_SGIS = $811D;
  5385. GL_QUAD_ALPHA4_SGIS = $811E;
  5386. GL_QUAD_ALPHA8_SGIS = $811F;
  5387. GL_QUAD_LUMINANCE4_SGIS = $8120;
  5388. GL_QUAD_LUMINANCE8_SGIS = $8121;
  5389. GL_QUAD_INTENSITY4_SGIS = $8122;
  5390. GL_QUAD_INTENSITY8_SGIS = $8123;
  5391. GL_DUAL_TEXTURE_SELECT_SGIS = $8124;
  5392. GL_QUAD_TEXTURE_SELECT_SGIS = $8125;
  5393. // GL_SGIX_async
  5394. GL_ASYNC_MARKER_SGIX = $8329;
  5395. // GL_SGIX_async_histogram
  5396. GL_ASYNC_HISTOGRAM_SGIX = $832C;
  5397. GL_MAX_ASYNC_HISTOGRAM_SGIX = $832D;
  5398. // GL_SGIX_async_pixel
  5399. GL_ASYNC_TEX_IMAGE_SGIX = $835C;
  5400. GL_ASYNC_DRAW_PIXELS_SGIX = $835D;
  5401. GL_ASYNC_READ_PIXELS_SGIX = $835E;
  5402. GL_MAX_ASYNC_TEX_IMAGE_SGIX = $835F;
  5403. GL_MAX_ASYNC_DRAW_PIXELS_SGIX = $8360;
  5404. GL_MAX_ASYNC_READ_PIXELS_SGIX = $8361;
  5405. // GL_SGIX_blend_alpha_minmax
  5406. GL_ALPHA_MIN_SGIX = $8320;
  5407. GL_ALPHA_MAX_SGIX = $8321;
  5408. // GL_SGIX_calligraphic_fragment
  5409. GL_CALLIGRAPHIC_FRAGMENT_SGIX = $8183;
  5410. // GL_SGIX_clipmap
  5411. GL_LINEAR_CLIPMAP_LINEAR_SGIX = $8170;
  5412. GL_TEXTURE_CLIPMAP_CENTER_SGIX = $8171;
  5413. GL_TEXTURE_CLIPMAP_FRAME_SGIX = $8172;
  5414. GL_TEXTURE_CLIPMAP_OFFSET_SGIX = $8173;
  5415. GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = $8174;
  5416. GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = $8175;
  5417. GL_TEXTURE_CLIPMAP_DEPTH_SGIX = $8176;
  5418. GL_MAX_CLIPMAP_DEPTH_SGIX = $8177;
  5419. GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = $8178;
  5420. GL_NEAREST_CLIPMAP_NEAREST_SGIX = $844D;
  5421. GL_NEAREST_CLIPMAP_LINEAR_SGIX = $844E;
  5422. GL_LINEAR_CLIPMAP_NEAREST_SGIX = $844F;
  5423. // GL_SGIX_convolution_accuracy
  5424. GL_CONVOLUTION_HINT_SGIX = $8316;
  5425. // GL_SGIX_depth_texture
  5426. GL_DEPTH_COMPONENT16_SGIX = $81A5;
  5427. GL_DEPTH_COMPONENT24_SGIX = $81A6;
  5428. GL_DEPTH_COMPONENT32_SGIX = $81A7;
  5429. // GL_SGIX_fog_offset
  5430. GL_FOG_OFFSET_SGIX = $8198;
  5431. GL_FOG_OFFSET_VALUE_SGIX = $8199;
  5432. // GL_SGIX_fog_scale
  5433. GL_FOG_SCALE_SGIX = $81FC;
  5434. GL_FOG_SCALE_VALUE_SGIX = $81FD;
  5435. // GL_SGIX_fragment_lighting
  5436. GL_FRAGMENT_LIGHTING_SGIX = $8400;
  5437. GL_FRAGMENT_COLOR_MATERIAL_SGIX = $8401;
  5438. GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX = $8402;
  5439. GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = $8403;
  5440. GL_MAX_FRAGMENT_LIGHTS_SGIX = $8404;
  5441. GL_MAX_ACTIVE_LIGHTS_SGIX = $8405;
  5442. GL_CURRENT_RASTER_NORMAL_SGIX = $8406;
  5443. GL_LIGHT_ENV_MODE_SGIX = $8407;
  5444. GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = $8408;
  5445. GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = $8409;
  5446. GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = $840A;
  5447. GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = $840B;
  5448. GL_FRAGMENT_LIGHT0_SGIX = $840C;
  5449. GL_FRAGMENT_LIGHT1_SGIX = $840D;
  5450. GL_FRAGMENT_LIGHT2_SGIX = $840E;
  5451. GL_FRAGMENT_LIGHT3_SGIX = $840F;
  5452. GL_FRAGMENT_LIGHT4_SGIX = $8410;
  5453. GL_FRAGMENT_LIGHT5_SGIX = $8411;
  5454. GL_FRAGMENT_LIGHT6_SGIX = $8412;
  5455. GL_FRAGMENT_LIGHT7_SGIX = $8413;
  5456. // GL_SGIX_framezoom
  5457. GL_FRAMEZOOM_SGIX = $818B;
  5458. GL_FRAMEZOOM_FACTOR_SGIX = $818C;
  5459. GL_MAX_FRAMEZOOM_FACTOR_SGIX = $818D;
  5460. // GL_SGIX_impact_pixel_texture
  5461. GL_PIXEL_TEX_GEN_Q_CEILING_SGIX = $8184;
  5462. GL_PIXEL_TEX_GEN_Q_ROUND_SGIX = $8185;
  5463. GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX = $8186;
  5464. GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX = $8187;
  5465. GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX = $8188;
  5466. GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX = $8189;
  5467. GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX = $818A;
  5468. // GL_SGIX_instruments
  5469. GL_INSTRUMENT_BUFFER_POINTER_SGIX = $8180;
  5470. GL_INSTRUMENT_MEASUREMENTS_SGIX = $8181;
  5471. // GL_SGIX_interlace
  5472. GL_INTERLACE_SGIX = $8094;
  5473. // GL_SGIX_ir_instrument1
  5474. GL_IR_INSTRUMENT1_SGIX = $817F;
  5475. // GL_SGIX_list_priority
  5476. GL_LIST_PRIORITY_SGIX = $8182;
  5477. // GL_SGIX_pixel_texture
  5478. GL_PIXEL_TEX_GEN_SGIX = $8139;
  5479. GL_PIXEL_TEX_GEN_MODE_SGIX = $832B;
  5480. // GL_SGIX_pixel_tiles
  5481. GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX = $813E;
  5482. GL_PIXEL_TILE_CACHE_INCREMENT_SGIX = $813F;
  5483. GL_PIXEL_TILE_WIDTH_SGIX = $8140;
  5484. GL_PIXEL_TILE_HEIGHT_SGIX = $8141;
  5485. GL_PIXEL_TILE_GRID_WIDTH_SGIX = $8142;
  5486. GL_PIXEL_TILE_GRID_HEIGHT_SGIX = $8143;
  5487. GL_PIXEL_TILE_GRID_DEPTH_SGIX = $8144;
  5488. GL_PIXEL_TILE_CACHE_SIZE_SGIX = $8145;
  5489. // GL_SGIX_polynomial_ffd
  5490. GL_GEOMETRY_DEFORMATION_SGIX = $8194;
  5491. GL_TEXTURE_DEFORMATION_SGIX = $8195;
  5492. GL_DEFORMATIONS_MASK_SGIX = $8196;
  5493. GL_MAX_DEFORMATION_ORDER_SGIX = $8197;
  5494. // GL_SGIX_reference_plane
  5495. GL_REFERENCE_PLANE_SGIX = $817D;
  5496. GL_REFERENCE_PLANE_EQUATION_SGIX = $817E;
  5497. // GL_SGIX_resample
  5498. GL_PACK_RESAMPLE_SGIX = $842C;
  5499. GL_UNPACK_RESAMPLE_SGIX = $842D;
  5500. GL_RESAMPLE_REPLICATE_SGIX = $842E;
  5501. GL_RESAMPLE_ZERO_FILL_SGIX = $842F;
  5502. GL_RESAMPLE_DECIMATE_SGIX = $8430;
  5503. // GL_SGIX_scalebias_hint
  5504. GL_SCALEBIAS_HINT_SGIX = $8322;
  5505. // GL_SGIX_shadow
  5506. GL_TEXTURE_COMPARE_SGIX = $819A;
  5507. GL_TEXTURE_COMPARE_OPERATOR_SGIX = $819B;
  5508. GL_TEXTURE_LEQUAL_R_SGIX = $819C;
  5509. GL_TEXTURE_GEQUAL_R_SGIX = $819D;
  5510. // GL_SGIX_shadow_ambient
  5511. GL_SHADOW_AMBIENT_SGIX = $80BF;
  5512. // GL_SGIX_sprite
  5513. GL_SPRITE_SGIX = $8148;
  5514. GL_SPRITE_MODE_SGIX = $8149;
  5515. GL_SPRITE_AXIS_SGIX = $814A;
  5516. GL_SPRITE_TRANSLATION_SGIX = $814B;
  5517. GL_SPRITE_AXIAL_SGIX = $814C;
  5518. GL_SPRITE_OBJECT_ALIGNED_SGIX = $814D;
  5519. GL_SPRITE_EYE_ALIGNED_SGIX = $814E;
  5520. // GL_SGIX_subsample
  5521. GL_PACK_SUBSAMPLE_RATE_SGIX = $85A0;
  5522. GL_UNPACK_SUBSAMPLE_RATE_SGIX = $85A1;
  5523. GL_PIXEL_SUBSAMPLE_4444_SGIX = $85A2;
  5524. GL_PIXEL_SUBSAMPLE_2424_SGIX = $85A3;
  5525. GL_PIXEL_SUBSAMPLE_4242_SGIX = $85A4;
  5526. // GL_SGIX_texture_add_env
  5527. GL_TEXTURE_ENV_BIAS_SGIX = $80BE;
  5528. // GL_SGIX_texture_coordinate_clamp
  5529. GL_TEXTURE_MAX_CLAMP_S_SGIX = $8369;
  5530. GL_TEXTURE_MAX_CLAMP_T_SGIX = $836A;
  5531. GL_TEXTURE_MAX_CLAMP_R_SGIX = $836B;
  5532. // GL_SGIX_texture_lod_bias
  5533. GL_TEXTURE_LOD_BIAS_S_SGIX = $818E;
  5534. GL_TEXTURE_LOD_BIAS_T_SGIX = $818F;
  5535. GL_TEXTURE_LOD_BIAS_R_SGIX = $8190;
  5536. // GL_SGIX_texture_multi_buffer
  5537. GL_TEXTURE_MULTI_BUFFER_HINT_SGIX = $812E;
  5538. // GL_SGIX_texture_scale_bias
  5539. GL_POST_TEXTURE_FILTER_BIAS_SGIX = $8179;
  5540. GL_POST_TEXTURE_FILTER_SCALE_SGIX = $817A;
  5541. GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = $817B;
  5542. GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = $817C;
  5543. // GL_SGIX_vertex_preclip
  5544. GL_VERTEX_PRECLIP_SGIX = $83EE;
  5545. GL_VERTEX_PRECLIP_HINT_SGIX = $83EF;
  5546. // GL_SGIX_ycrcb
  5547. GL_YCRCB_422_SGIX = $81BB;
  5548. GL_YCRCB_444_SGIX = $81BC;
  5549. // GL_SGIX_ycrcba
  5550. GL_YCRCB_SGIX = $8318;
  5551. GL_YCRCBA_SGIX = $8319;
  5552. // GL_SGI_color_matrix
  5553. GL_COLOR_MATRIX_SGI = $80B1;
  5554. GL_COLOR_MATRIX_STACK_DEPTH_SGI = $80B2;
  5555. GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI = $80B3;
  5556. GL_POST_COLOR_MATRIX_RED_SCALE_SGI = $80B4;
  5557. GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI = $80B5;
  5558. GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI = $80B6;
  5559. GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI = $80B7;
  5560. GL_POST_COLOR_MATRIX_RED_BIAS_SGI = $80B8;
  5561. GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI = $80B9;
  5562. GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI = $80BA;
  5563. GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI = $80BB;
  5564. // GL_SGI_color_table
  5565. GL_COLOR_TABLE_SGI = $80D0;
  5566. GL_POST_CONVOLUTION_COLOR_TABLE_SGI = $80D1;
  5567. GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI = $80D2;
  5568. GL_PROXY_COLOR_TABLE_SGI = $80D3;
  5569. GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = $80D4;
  5570. GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = $80D5;
  5571. GL_COLOR_TABLE_SCALE_SGI = $80D6;
  5572. GL_COLOR_TABLE_BIAS_SGI = $80D7;
  5573. GL_COLOR_TABLE_FORMAT_SGI = $80D8;
  5574. GL_COLOR_TABLE_WIDTH_SGI = $80D9;
  5575. GL_COLOR_TABLE_RED_SIZE_SGI = $80DA;
  5576. GL_COLOR_TABLE_GREEN_SIZE_SGI = $80DB;
  5577. GL_COLOR_TABLE_BLUE_SIZE_SGI = $80DC;
  5578. GL_COLOR_TABLE_ALPHA_SIZE_SGI = $80DD;
  5579. GL_COLOR_TABLE_LUMINANCE_SIZE_SGI = $80DE;
  5580. GL_COLOR_TABLE_INTENSITY_SIZE_SGI = $80DF;
  5581. // GL_SGI_depth_pass_instrument
  5582. GL_DEPTH_PASS_INSTRUMENT_SGIX = $8310;
  5583. GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX = $8311;
  5584. GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX = $8312;
  5585. // GL_SGI_texture_color_table
  5586. GL_TEXTURE_COLOR_TABLE_SGI = $80BC;
  5587. GL_PROXY_TEXTURE_COLOR_TABLE_SGI = $80BD;
  5588. // GL_SUNX_constant_data
  5589. GL_UNPACK_CONSTANT_DATA_SUNX = $81D5;
  5590. GL_TEXTURE_CONSTANT_DATA_SUNX = $81D6;
  5591. // GL_SUN_convolution_border_modes
  5592. GL_WRAP_BORDER_SUN = $81D4;
  5593. // GL_SUN_global_alpha
  5594. GL_GLOBAL_ALPHA_SUN = $81D9;
  5595. GL_GLOBAL_ALPHA_FACTOR_SUN = $81DA;
  5596. // GL_SUN_mesh_array
  5597. GL_QUAD_MESH_SUN = $8614;
  5598. GL_TRIANGLE_MESH_SUN = $8615;
  5599. // GL_SUN_slice_accum
  5600. GL_SLICE_ACCUM_SUN = $85CC;
  5601. // GL_SUN_triangle_list
  5602. GL_RESTART_SUN = $0001;
  5603. GL_REPLACE_MIDDLE_SUN = $0002;
  5604. GL_REPLACE_OLDEST_SUN = $0003;
  5605. GL_TRIANGLE_LIST_SUN = $81D7;
  5606. GL_REPLACEMENT_CODE_SUN = $81D8;
  5607. GL_REPLACEMENT_CODE_ARRAY_SUN = $85C0;
  5608. GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN = $85C1;
  5609. GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN = $85C2;
  5610. GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN = $85C3;
  5611. GL_R1UI_V3F_SUN = $85C4;
  5612. GL_R1UI_C4UB_V3F_SUN = $85C5;
  5613. GL_R1UI_C3F_V3F_SUN = $85C6;
  5614. GL_R1UI_N3F_V3F_SUN = $85C7;
  5615. GL_R1UI_C4F_N3F_V3F_SUN = $85C8;
  5616. GL_R1UI_T2F_V3F_SUN = $85C9;
  5617. GL_R1UI_T2F_N3F_V3F_SUN = $85CA;
  5618. GL_R1UI_T2F_C4F_N3F_V3F_SUN = $85CB;
  5619. // GL_WIN_phong_shading
  5620. GL_PHONG_WIN = $80EA;
  5621. GL_PHONG_HINT_WIN = $80EB;
  5622. // GL_WIN_specular_fog
  5623. GL_FOG_SPECULAR_TEXTURE_WIN = $80EC;
  5624. // GL_ARB_vertex_shader
  5625. GL_VERTEX_SHADER_ARB = $8B31;
  5626. GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB = $8B4A;
  5627. GL_MAX_VARYING_FLOATS_ARB = $8B4B;
  5628. GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = $8B4C;
  5629. GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = $8B4D;
  5630. GL_OBJECT_ACTIVE_ATTRIBUTES_ARB = $8B89;
  5631. GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = $8B8A;
  5632. // GL_KHR_blend_equation_advanced
  5633. GL_MULTIPLY_KHR = $9294;
  5634. GL_SCREEN_KHR = $9295;
  5635. GL_OVERLAY_KHR = $9296;
  5636. GL_DARKEN_KHR = $9297;
  5637. GL_LIGHTEN_KHR = $9298;
  5638. GL_COLORDODGE_KHR = $9299;
  5639. GL_COLORBURN_KHR = $929A;
  5640. GL_HARDLIGHT_KHR = $929B;
  5641. GL_SOFTLIGHT_KHR = $929C;
  5642. GL_DIFFERENCE_KHR = $929E;
  5643. GL_EXCLUSION_KHR = $92A0;
  5644. GL_HSL_HUE_KHR = $92AD;
  5645. GL_HSL_SATURATION_KHR = $92AE;
  5646. GL_HSL_COLOR_KHR = $92AF;
  5647. GL_HSL_LUMINOSITY_KHR = $92B0;
  5648. // GL_KHR_blend_equation_advanced_coherent
  5649. GL_BLEND_ADVANCED_COHERENT_KHR = $9285;
  5650. // GL_KHR_robustness
  5651. GL_CONTEXT_ROBUST_ACCESS = $90F3;
  5652. // GL_KHR_no_error
  5653. GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR = $00000008;
  5654. // GL_ARB_fragment_shader
  5655. GL_FRAGMENT_SHADER_ARB = $8B30;
  5656. GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = $8B49; // 1.4
  5657. GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = $8B8B; // 1.4
  5658. // GL_ARB_occlusion_query
  5659. GL_SAMPLES_PASSED_ARB = $8914;
  5660. GL_QUERY_COUNTER_BITS_ARB = $8864;
  5661. GL_CURRENT_QUERY_ARB = $8865;
  5662. GL_QUERY_RESULT_ARB = $8866;
  5663. GL_QUERY_RESULT_AVAILABLE_ARB = $8867;
  5664. // GL_ARB_pipeline_statistics_query
  5665. GL_VERTICES_SUBMITTED_ARB = $82EE;
  5666. GL_PRIMITIVES_SUBMITTED_ARB = $82EF;
  5667. GL_VERTEX_SHADER_INVOCATIONS_ARB = $82F0;
  5668. GL_TESS_CONTROL_SHADER_PATCHES_ARB = $82F1;
  5669. GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB = $82F2;
  5670. GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB = $82F3;
  5671. GL_FRAGMENT_SHADER_INVOCATIONS_ARB = $82F4;
  5672. GL_COMPUTE_SHADER_INVOCATIONS_ARB = $82F5;
  5673. GL_CLIPPING_INPUT_PRIMITIVES_ARB = $82F6;
  5674. GL_CLIPPING_OUTPUT_PRIMITIVES_ARB = $82F7;
  5675. // GL_ARB_point_sprite
  5676. GL_POINT_SPRITE_ARB = $8861;
  5677. GL_COORD_REPLACE_ARB = $8862;
  5678. // GL_ARB_shading_language_100
  5679. GL_SHADING_LANGUAGE_VERSION_ARB = $8B8C; // 1.4
  5680. // GL_ARB_shader_objects
  5681. GL_PROGRAM_OBJECT_ARB = $8B40;
  5682. GL_OBJECT_TYPE_ARB = $8B4E;
  5683. GL_OBJECT_SUBTYPE_ARB = $8B4F;
  5684. GL_OBJECT_DELETE_STATUS_ARB = $8B80;
  5685. GL_OBJECT_COMPILE_STATUS_ARB = $8B81;
  5686. GL_OBJECT_LINK_STATUS_ARB = $8B82;
  5687. GL_OBJECT_VALIDATE_STATUS_ARB = $8B83;
  5688. GL_OBJECT_INFO_LOG_LENGTH_ARB = $8B84;
  5689. GL_OBJECT_ATTACHED_OBJECTS_ARB = $8B85;
  5690. GL_OBJECT_ACTIVE_UNIFORMS_ARB = $8B86;
  5691. GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = $8B87;
  5692. GL_OBJECT_SHADER_SOURCE_LENGTH_ARB = $8B88;
  5693. GL_SHADER_OBJECT_ARB = $8B48;
  5694. GL_FLOAT_VEC2_ARB = $8B50;
  5695. GL_FLOAT_VEC3_ARB = $8B51;
  5696. GL_FLOAT_VEC4_ARB = $8B52;
  5697. GL_INT_VEC2_ARB = $8B53;
  5698. GL_INT_VEC3_ARB = $8B54;
  5699. GL_INT_VEC4_ARB = $8B55;
  5700. GL_BOOL_ARB = $8B56;
  5701. GL_BOOL_VEC2_ARB = $8B57;
  5702. GL_BOOL_VEC3_ARB = $8B58;
  5703. GL_BOOL_VEC4_ARB = $8B59;
  5704. GL_FLOAT_MAT2_ARB = $8B5A;
  5705. GL_FLOAT_MAT3_ARB = $8B5B;
  5706. GL_FLOAT_MAT4_ARB = $8B5C;
  5707. GL_SAMPLER_1D_ARB = $8B5D;
  5708. GL_SAMPLER_2D_ARB = $8B5E;
  5709. GL_SAMPLER_3D_ARB = $8B5F;
  5710. GL_SAMPLER_CUBE_ARB = $8B60;
  5711. GL_SAMPLER_1D_SHADOW_ARB = $8B61;
  5712. GL_SAMPLER_2D_SHADOW_ARB = $8B62;
  5713. GL_SAMPLER_2D_RECT_ARB = $8B63;
  5714. GL_SAMPLER_2D_RECT_SHADOW_ARB = $8B64;
  5715. // WGL_3DFX_multisample
  5716. WGL_SAMPLE_BUFFERS_3DFX = $2060;
  5717. WGL_SAMPLES_3DFX = $2061;
  5718. // WGL_ARB_buffer_region
  5719. WGL_FRONT_COLOR_BUFFER_BIT_ARB = $00000001;
  5720. WGL_BACK_COLOR_BUFFER_BIT_ARB = $00000002;
  5721. WGL_DEPTH_BUFFER_BIT_ARB = $00000004;
  5722. WGL_STENCIL_BUFFER_BIT_ARB = $00000008;
  5723. // WGL_ARB_context_flush_control
  5724. WGL_CONTEXT_RELEASE_BEHAVIOR_ARB = $2097;
  5725. WGL_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB = 0;
  5726. WGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB = $2098;
  5727. // WGL_ARB_make_current_read
  5728. ERROR_INVALID_PIXEL_TYPE_ARB = $2043;
  5729. ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB = $2054;
  5730. // WGL_ARB_multisample
  5731. WGL_SAMPLE_BUFFERS_ARB = $2041;
  5732. WGL_SAMPLES_ARB = $2042;
  5733. // WGL_ARB_pbuffer
  5734. WGL_DRAW_TO_PBUFFER_ARB = $202D;
  5735. WGL_MAX_PBUFFER_PIXELS_ARB = $202E;
  5736. WGL_MAX_PBUFFER_WIDTH_ARB = $202F;
  5737. WGL_MAX_PBUFFER_HEIGHT_ARB = $2030;
  5738. WGL_PBUFFER_LARGEST_ARB = $2033;
  5739. WGL_PBUFFER_WIDTH_ARB = $2034;
  5740. WGL_PBUFFER_HEIGHT_ARB = $2035;
  5741. WGL_PBUFFER_LOST_ARB = $2036;
  5742. // WGL_ARB_pixel_format
  5743. WGL_NUMBER_PIXEL_FORMATS_ARB = $2000;
  5744. WGL_DRAW_TO_WINDOW_ARB = $2001;
  5745. WGL_DRAW_TO_BITMAP_ARB = $2002;
  5746. WGL_ACCELERATION_ARB = $2003;
  5747. WGL_NEED_PALETTE_ARB = $2004;
  5748. WGL_NEED_SYSTEM_PALETTE_ARB = $2005;
  5749. WGL_SWAP_LAYER_BUFFERS_ARB = $2006;
  5750. WGL_SWAP_METHOD_ARB = $2007;
  5751. WGL_NUMBER_OVERLAYS_ARB = $2008;
  5752. WGL_NUMBER_UNDERLAYS_ARB = $2009;
  5753. WGL_TRANSPARENT_ARB = $200A;
  5754. WGL_TRANSPARENT_RED_VALUE_ARB = $2037;
  5755. WGL_TRANSPARENT_GREEN_VALUE_ARB = $2038;
  5756. WGL_TRANSPARENT_BLUE_VALUE_ARB = $2039;
  5757. WGL_TRANSPARENT_ALPHA_VALUE_ARB = $203A;
  5758. WGL_TRANSPARENT_INDEX_VALUE_ARB = $203B;
  5759. WGL_SHARE_DEPTH_ARB = $200C;
  5760. WGL_SHARE_STENCIL_ARB = $200D;
  5761. WGL_SHARE_ACCUM_ARB = $200E;
  5762. WGL_SUPPORT_GDI_ARB = $200F;
  5763. WGL_SUPPORT_OPENGL_ARB = $2010;
  5764. WGL_DOUBLE_BUFFER_ARB = $2011;
  5765. WGL_STEREO_ARB = $2012;
  5766. WGL_PIXEL_TYPE_ARB = $2013;
  5767. WGL_COLOR_BITS_ARB = $2014;
  5768. WGL_RED_BITS_ARB = $2015;
  5769. WGL_RED_SHIFT_ARB = $2016;
  5770. WGL_GREEN_BITS_ARB = $2017;
  5771. WGL_GREEN_SHIFT_ARB = $2018;
  5772. WGL_BLUE_BITS_ARB = $2019;
  5773. WGL_BLUE_SHIFT_ARB = $201A;
  5774. WGL_ALPHA_BITS_ARB = $201B;
  5775. WGL_ALPHA_SHIFT_ARB = $201C;
  5776. WGL_ACCUM_BITS_ARB = $201D;
  5777. WGL_ACCUM_RED_BITS_ARB = $201E;
  5778. WGL_ACCUM_GREEN_BITS_ARB = $201F;
  5779. WGL_ACCUM_BLUE_BITS_ARB = $2020;
  5780. WGL_ACCUM_ALPHA_BITS_ARB = $2021;
  5781. WGL_DEPTH_BITS_ARB = $2022;
  5782. WGL_STENCIL_BITS_ARB = $2023;
  5783. WGL_AUX_BUFFERS_ARB = $2024;
  5784. WGL_NO_ACCELERATION_ARB = $2025;
  5785. WGL_GENERIC_ACCELERATION_ARB = $2026;
  5786. WGL_FULL_ACCELERATION_ARB = $2027;
  5787. WGL_SWAP_EXCHANGE_ARB = $2028;
  5788. WGL_SWAP_COPY_ARB = $2029;
  5789. WGL_SWAP_UNDEFINED_ARB = $202A;
  5790. WGL_TYPE_RGBA_ARB = $202B;
  5791. WGL_TYPE_COLORINDEX_ARB = $202C;
  5792. // WGL_ARB_pixel_format_float
  5793. WGL_RGBA_FLOAT_MODE_ARB = $8820;
  5794. WGL_CLAMP_VERTEX_COLOR_ARB = $891A;
  5795. WGL_CLAMP_FRAGMENT_COLOR_ARB = $891B;
  5796. WGL_CLAMP_READ_COLOR_ARB = $891C;
  5797. WGL_FIXED_ONLY_ARB = $891D;
  5798. // WGL_ARB_render_texture
  5799. WGL_BIND_TO_TEXTURE_RGB_ARB = $2070;
  5800. WGL_BIND_TO_TEXTURE_RGBA_ARB = $2071;
  5801. WGL_TEXTURE_FORMAT_ARB = $2072;
  5802. WGL_TEXTURE_TARGET_ARB = $2073;
  5803. WGL_MIPMAP_TEXTURE_ARB = $2074;
  5804. WGL_TEXTURE_RGB_ARB = $2075;
  5805. WGL_TEXTURE_RGBA_ARB = $2076;
  5806. WGL_NO_TEXTURE_ARB = $2077;
  5807. WGL_TEXTURE_CUBE_MAP_ARB = $2078;
  5808. WGL_TEXTURE_1D_ARB = $2079;
  5809. WGL_TEXTURE_2D_ARB = $207A;
  5810. WGL_MIPMAP_LEVEL_ARB = $207B;
  5811. WGL_CUBE_MAP_FACE_ARB = $207C;
  5812. WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = $207D;
  5813. WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = $207E;
  5814. WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = $207F;
  5815. WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = $2080;
  5816. WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = $2081;
  5817. WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = $2082;
  5818. WGL_FRONT_LEFT_ARB = $2083;
  5819. WGL_FRONT_RIGHT_ARB = $2084;
  5820. WGL_BACK_LEFT_ARB = $2085;
  5821. WGL_BACK_RIGHT_ARB = $2086;
  5822. WGL_AUX0_ARB = $2087;
  5823. WGL_AUX1_ARB = $2088;
  5824. WGL_AUX2_ARB = $2089;
  5825. WGL_AUX3_ARB = $208A;
  5826. WGL_AUX4_ARB = $208B;
  5827. WGL_AUX5_ARB = $208C;
  5828. WGL_AUX6_ARB = $208D;
  5829. WGL_AUX7_ARB = $208E;
  5830. WGL_AUX8_ARB = $208F;
  5831. WGL_AUX9_ARB = $2090;
  5832. // WGL_ARB_robustness_application_isolation
  5833. WGL_CONTEXT_RESET_ISOLATION_BIT_ARB = $00000008;
  5834. // WGL_ARB_create_context
  5835. WGL_CONTEXT_DEBUG_BIT_ARB = $00000001;
  5836. WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB = $00000002;
  5837. WGL_CONTEXT_MAJOR_VERSION_ARB = $2091;
  5838. WGL_CONTEXT_MINOR_VERSION_ARB = $2092;
  5839. WGL_CONTEXT_LAYER_PLANE_ARB = $2093;
  5840. WGL_CONTEXT_FLAGS_ARB = $2094;
  5841. ERROR_INVALID_VERSION_ARB = $2095;
  5842. // WGL_ARB_create_context_profile
  5843. WGL_CONTEXT_PROFILE_MASK_ARB = $9126;
  5844. WGL_CONTEXT_CORE_PROFILE_BIT_ARB = $00000001;
  5845. WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB = $00000002;
  5846. ERROR_INVALID_PROFILE_ARB = $2096;
  5847. // WGL_ARB_framebuffer_sRGB
  5848. WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB = $20A9;
  5849. // WGL_ARB_create_context_robustness
  5850. WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB = $00000004;
  5851. WGL_LOSE_CONTEXT_ON_RESET_ARB = $8252;
  5852. WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB = $8256;
  5853. WGL_NO_RESET_NOTIFICATION_ARB = $8261;
  5854. // WGL_ATI_pixel_format_float
  5855. WGL_TYPE_RGBA_FLOAT_ATI = $21A0;
  5856. GL_TYPE_RGBA_FLOAT_ATI = $8820;
  5857. GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI = $8835;
  5858. // WGL_AMD_gpu_association
  5859. WGL_GPU_VENDOR_AMD = $1F00;
  5860. WGL_GPU_RENDERER_STRING_AMD = $1F01;
  5861. WGL_GPU_OPENGL_VERSION_STRING_AMD = $1F02;
  5862. WGL_GPU_FASTEST_TARGET_GPUS_AMD = $21A2;
  5863. WGL_GPU_RAM_AMD = $21A3;
  5864. WGL_GPU_CLOCK_AMD = $21A4;
  5865. WGL_GPU_NUM_PIPES_AMD = $21A5;
  5866. WGL_GPU_NUM_SIMD_AMD = $21A6;
  5867. WGL_GPU_NUM_RB_AMD = $21A7;
  5868. WGL_GPU_NUM_SPI_AMD = $21A8;
  5869. // WGL_EXT_depth_float
  5870. WGL_DEPTH_FLOAT_EXT = $2040;
  5871. // WGL_EXT_make_current_read
  5872. ERROR_INVALID_PIXEL_TYPE_EXT = $2043;
  5873. // WGL_EXT_multisample
  5874. WGL_SAMPLE_BUFFERS_EXT = $2041;
  5875. WGL_SAMPLES_EXT = $2042;
  5876. // WGL_EXT_pbuffer
  5877. WGL_DRAW_TO_PBUFFER_EXT = $202D;
  5878. WGL_MAX_PBUFFER_PIXELS_EXT = $202E;
  5879. WGL_MAX_PBUFFER_WIDTH_EXT = $202F;
  5880. WGL_MAX_PBUFFER_HEIGHT_EXT = $2030;
  5881. WGL_OPTIMAL_PBUFFER_WIDTH_EXT = $2031;
  5882. WGL_OPTIMAL_PBUFFER_HEIGHT_EXT = $2032;
  5883. WGL_PBUFFER_LARGEST_EXT = $2033;
  5884. WGL_PBUFFER_WIDTH_EXT = $2034;
  5885. WGL_PBUFFER_HEIGHT_EXT = $2035;
  5886. // WGL_EXT_pixel_format
  5887. WGL_NUMBER_PIXEL_FORMATS_EXT = $2000;
  5888. WGL_DRAW_TO_WINDOW_EXT = $2001;
  5889. WGL_DRAW_TO_BITMAP_EXT = $2002;
  5890. WGL_ACCELERATION_EXT = $2003;
  5891. WGL_NEED_PALETTE_EXT = $2004;
  5892. WGL_NEED_SYSTEM_PALETTE_EXT = $2005;
  5893. WGL_SWAP_LAYER_BUFFERS_EXT = $2006;
  5894. WGL_SWAP_METHOD_EXT = $2007;
  5895. WGL_NUMBER_OVERLAYS_EXT = $2008;
  5896. WGL_NUMBER_UNDERLAYS_EXT = $2009;
  5897. WGL_TRANSPARENT_EXT = $200A;
  5898. WGL_TRANSPARENT_VALUE_EXT = $200B;
  5899. WGL_SHARE_DEPTH_EXT = $200C;
  5900. WGL_SHARE_STENCIL_EXT = $200D;
  5901. WGL_SHARE_ACCUM_EXT = $200E;
  5902. WGL_SUPPORT_GDI_EXT = $200F;
  5903. WGL_SUPPORT_OPENGL_EXT = $2010;
  5904. WGL_DOUBLE_BUFFER_EXT = $2011;
  5905. WGL_STEREO_EXT = $2012;
  5906. WGL_PIXEL_TYPE_EXT = $2013;
  5907. WGL_COLOR_BITS_EXT = $2014;
  5908. WGL_RED_BITS_EXT = $2015;
  5909. WGL_RED_SHIFT_EXT = $2016;
  5910. WGL_GREEN_BITS_EXT = $2017;
  5911. WGL_GREEN_SHIFT_EXT = $2018;
  5912. WGL_BLUE_BITS_EXT = $2019;
  5913. WGL_BLUE_SHIFT_EXT = $201A;
  5914. WGL_ALPHA_BITS_EXT = $201B;
  5915. WGL_ALPHA_SHIFT_EXT = $201C;
  5916. WGL_ACCUM_BITS_EXT = $201D;
  5917. WGL_ACCUM_RED_BITS_EXT = $201E;
  5918. WGL_ACCUM_GREEN_BITS_EXT = $201F;
  5919. WGL_ACCUM_BLUE_BITS_EXT = $2020;
  5920. WGL_ACCUM_ALPHA_BITS_EXT = $2021;
  5921. WGL_DEPTH_BITS_EXT = $2022;
  5922. WGL_STENCIL_BITS_EXT = $2023;
  5923. WGL_AUX_BUFFERS_EXT = $2024;
  5924. WGL_NO_ACCELERATION_EXT = $2025;
  5925. WGL_GENERIC_ACCELERATION_EXT = $2026;
  5926. WGL_FULL_ACCELERATION_EXT = $2027;
  5927. WGL_SWAP_EXCHANGE_EXT = $2028;
  5928. WGL_SWAP_COPY_EXT = $2029;
  5929. WGL_SWAP_UNDEFINED_EXT = $202A;
  5930. WGL_TYPE_RGBA_EXT = $202B;
  5931. WGL_TYPE_COLORINDEX_EXT = $202C;
  5932. // WGL_I3D_digital_video_control
  5933. WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D = $2050;
  5934. WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D = $2051;
  5935. WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D = $2052;
  5936. WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D = $2053;
  5937. // WGL_I3D_gamma
  5938. WGL_GAMMA_TABLE_SIZE_I3D = $204E;
  5939. WGL_GAMMA_EXCLUDE_DESKTOP_I3D = $204F;
  5940. // WGL_I3D_genlock
  5941. WGL_GENLOCK_SOURCE_MULTIVIEW_I3D = $2044;
  5942. WGL_GENLOCK_SOURCE_EXTENAL_SYNC_I3D = $2045;
  5943. WGL_GENLOCK_SOURCE_EXTENAL_FIELD_I3D = $2046;
  5944. WGL_GENLOCK_SOURCE_EXTENAL_TTL_I3D = $2047;
  5945. WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D = $2048;
  5946. WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D = $2049;
  5947. WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D = $204A;
  5948. WGL_GENLOCK_SOURCE_EDGE_RISING_I3D = $204B;
  5949. WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D = $204C;
  5950. // WGL_I3D_image_buffer
  5951. WGL_IMAGE_BUFFER_MIN_ACCESS_I3D = $00000001;
  5952. WGL_IMAGE_BUFFER_LOCK_I3D = $00000002;
  5953. // WGL_NV_float_buffer
  5954. WGL_FLOAT_COMPONENTS_NV = $20B0;
  5955. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV = $20B1;
  5956. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV = $20B2;
  5957. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV = $20B3;
  5958. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV = $20B4;
  5959. WGL_TEXTURE_FLOAT_R_NV = $20B5;
  5960. WGL_TEXTURE_FLOAT_RG_NV = $20B6;
  5961. WGL_TEXTURE_FLOAT_RGB_NV = $20B7;
  5962. WGL_TEXTURE_FLOAT_RGBA_NV = $20B8;
  5963. // WGL_NV_render_depth_texture
  5964. WGL_BIND_TO_TEXTURE_DEPTH_NV = $20A3;
  5965. WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV = $20A4;
  5966. WGL_DEPTH_TEXTURE_FORMAT_NV = $20A5;
  5967. WGL_TEXTURE_DEPTH_COMPONENT_NV = $20A6;
  5968. WGL_DEPTH_COMPONENT_NV = $20A7;
  5969. // WGL_NV_render_texture_rectangle
  5970. WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV = $20A0;
  5971. WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV = $20A1;
  5972. WGL_TEXTURE_RECTANGLE_NV = $20A2;
  5973. // WGL_NV_present_video
  5974. WGL_NUM_VIDEO_SLOTS_NV = $20F0;
  5975. // WGL_NV_video_output
  5976. WGL_BIND_TO_VIDEO_RGB_NV = $20C0;
  5977. WGL_BIND_TO_VIDEO_RGBA_NV = $20C1;
  5978. WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV = $20C2;
  5979. WGL_VIDEO_OUT_COLOR_NV = $20C3;
  5980. WGL_VIDEO_OUT_ALPHA_NV = $20C4;
  5981. WGL_VIDEO_OUT_DEPTH_NV = $20C5;
  5982. WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV = $20C6;
  5983. WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV = $20C7;
  5984. WGL_VIDEO_OUT_FRAME = $20C8;
  5985. WGL_VIDEO_OUT_FIELD_1 = $20C9;
  5986. WGL_VIDEO_OUT_FIELD_2 = $20CA;
  5987. WGL_VIDEO_OUT_STACKED_FIELDS_1_2 = $20CB;
  5988. WGL_VIDEO_OUT_STACKED_FIELDS_2_1 = $20CC;
  5989. // WGL_NV_gpu_affinity
  5990. WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV = $20D0;
  5991. WGL_ERROR_MISSING_AFFINITY_MASK_NV = $20D1;
  5992. // WGL_NV_video_capture
  5993. WGL_UNIQUE_ID_NV = $20CE;
  5994. WGL_NUM_VIDEO_CAPTURE_SLOTS_NV = $20CF;
  5995. // WGL_NV_multisample_coverage
  5996. WGL_COVERAGE_SAMPLES_NV = $2042;
  5997. WGL_COLOR_SAMPLES_NV = $20B9;
  5998. // WGL_EXT_create_context_es2_profile
  5999. WGL_CONTEXT_ES2_PROFILE_BIT_EXT = $00000004;
  6000. // WGL_NV_DX_interop
  6001. WGL_ACCESS_READ_ONLY_NV = $00000000;
  6002. WGL_ACCESS_READ_WRITE_NV = $00000001;
  6003. WGL_ACCESS_WRITE_DISCARD_NV = $00000002;
  6004. // WIN_draw_range_elements
  6005. GL_MAX_ELEMENTS_VERTICES_WIN = $80E8;
  6006. GL_MAX_ELEMENTS_INDICES_WIN = $80E9;
  6007. // GLX 1.1 and later:
  6008. GLX_VENDOR = 1;
  6009. GLX_VERSION = 2;
  6010. GLX_EXTENSIONS = 3;
  6011. GLX_USE_GL = 1;
  6012. GLX_BUFFER_SIZE = 2;
  6013. GLX_LEVEL = 3;
  6014. GLX_RGBA = 4;
  6015. GLX_DOUBLEBUFFER = 5;
  6016. GLX_STEREO = 6;
  6017. GLX_AUX_BUFFERS = 7;
  6018. GLX_RED_SIZE = 8;
  6019. GLX_GREEN_SIZE = 9;
  6020. GLX_BLUE_SIZE = 10;
  6021. GLX_ALPHA_SIZE = 11;
  6022. GLX_DEPTH_SIZE = 12;
  6023. GLX_STENCIL_SIZE = 13;
  6024. GLX_ACCUM_RED_SIZE = 14;
  6025. GLX_ACCUM_GREEN_SIZE = 15;
  6026. GLX_ACCUM_BLUE_SIZE = 16;
  6027. GLX_ACCUM_ALPHA_SIZE = 17;
  6028. // GLX_VERSION_1_3
  6029. GLX_WINDOW_BIT = $00000001;
  6030. GLX_PIXMAP_BIT = $00000002;
  6031. GLX_PBUFFER_BIT = $00000004;
  6032. GLX_RGBA_BIT = $00000001;
  6033. GLX_COLOR_INDEX_BIT = $00000002;
  6034. GLX_PBUFFER_CLOBBER_MASK = $08000000;
  6035. GLX_FRONT_LEFT_BUFFER_BIT = $00000001;
  6036. GLX_FRONT_RIGHT_BUFFER_BIT = $00000002;
  6037. GLX_BACK_LEFT_BUFFER_BIT = $00000004;
  6038. GLX_BACK_RIGHT_BUFFER_BIT = $00000008;
  6039. GLX_AUX_BUFFERS_BIT = $00000010;
  6040. GLX_DEPTH_BUFFER_BIT = $00000020;
  6041. GLX_STENCIL_BUFFER_BIT = $00000040;
  6042. GLX_ACCUM_BUFFER_BIT = $00000080;
  6043. GLX_CONFIG_CAVEAT = $20;
  6044. GLX_X_VISUAL_TYPE = $22;
  6045. GLX_TRANSPARENT_TYPE = $23;
  6046. GLX_TRANSPARENT_INDEX_VALUE = $24;
  6047. GLX_TRANSPARENT_RED_VALUE = $25;
  6048. GLX_TRANSPARENT_GREEN_VALUE = $26;
  6049. GLX_TRANSPARENT_BLUE_VALUE = $27;
  6050. GLX_TRANSPARENT_ALPHA_VALUE = $28;
  6051. GLX_DONT_CARE = $FFFFFFFF;
  6052. GLX_NONE = $8000;
  6053. GLX_SLOW_CONFIG = $8001;
  6054. GLX_TRUE_COLOR = $8002;
  6055. GLX_DIRECT_COLOR = $8003;
  6056. GLX_PSEUDO_COLOR = $8004;
  6057. GLX_STATIC_COLOR = $8005;
  6058. GLX_GRAY_SCALE = $8006;
  6059. GLX_STATIC_GRAY = $8007;
  6060. GLX_TRANSPARENT_RGB = $8008;
  6061. GLX_TRANSPARENT_INDEX = $8009;
  6062. GLX_VISUAL_ID = $800B;
  6063. GLX_SCREEN = $800C;
  6064. GLX_NON_CONFORMANT_CONFIG = $800D;
  6065. GLX_DRAWABLE_TYPE = $8010;
  6066. GLX_RENDER_TYPE = $8011;
  6067. GLX_X_RENDERABLE = $8012;
  6068. GLX_FBCONFIG_ID = $8013;
  6069. GLX_RGBA_TYPE = $8014;
  6070. GLX_COLOR_INDEX_TYPE = $8015;
  6071. GLX_MAX_PBUFFER_WIDTH = $8016;
  6072. GLX_MAX_PBUFFER_HEIGHT = $8017;
  6073. GLX_MAX_PBUFFER_PIXELS = $8018;
  6074. GLX_PRESERVED_CONTENTS = $801B;
  6075. GLX_LARGEST_PBUFFER = $801C;
  6076. GLX_WIDTH = $801D;
  6077. GLX_HEIGHT = $801E;
  6078. GLX_EVENT_MASK = $801F;
  6079. GLX_DAMAGED = $8020;
  6080. GLX_SAVED = $8021;
  6081. GLX_WINDOW = $8022;
  6082. GLX_PBUFFER = $8023;
  6083. GLX_PBUFFER_HEIGHT = $8040;
  6084. GLX_PBUFFER_WIDTH = $8041;
  6085. // GLX_VERSION_1_4
  6086. GLX_SAMPLE_BUFFERS = 100000;
  6087. GLX_SAMPLES = 100001;
  6088. // GLX_ARB_multisample
  6089. GLX_SAMPLE_BUFFERS_ARB = 100000;
  6090. GLX_SAMPLES_ARB = 100001;
  6091. // GLX_ARB_robustness_application_isolation
  6092. GLX_CONTEXT_RESET_ISOLATION_BIT_ARB = $00000008;
  6093. // GLX_ARB_fbconfig_float
  6094. GLX_RGBA_FLOAT_TYPE_ARB = $20B9;
  6095. GLX_RGBA_FLOAT_BIT_ARB = $00000004;
  6096. // GLX_ARB_context_flush_control
  6097. GLX_CONTEXT_RELEASE_BEHAVIOR_ARB = $2097;
  6098. GLX_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB = 0;
  6099. GLX_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB = $2098;
  6100. // GLX_ARB_create_context
  6101. GLX_CONTEXT_DEBUG_BIT_ARB = $00000001;
  6102. GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB = $00000002;
  6103. GLX_CONTEXT_MAJOR_VERSION_ARB = $2091;
  6104. GLX_CONTEXT_MINOR_VERSION_ARB = $2092;
  6105. GLX_CONTEXT_FLAGS_ARB = $2094;
  6106. // GLX_ARB_create_context_profile
  6107. GLX_CONTEXT_CORE_PROFILE_BIT_ARB = $00000001;
  6108. GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB = $00000002;
  6109. GLX_CONTEXT_PROFILE_MASK_ARB = $9126;
  6110. // GLX_ARB_vertex_buffer_object
  6111. GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB = $2095;
  6112. // GLX_ARB_framebuffer_sRGB
  6113. GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB = $20B2;
  6114. // GLX_ARB_create_context_robustness
  6115. GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB = $00000004;
  6116. GLX_LOSE_CONTEXT_ON_RESET_ARB = $8252;
  6117. GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB = $8256;
  6118. GLX_NO_RESET_NOTIFICATION_ARB = $8261;
  6119. // GLX_EXT_visual_info
  6120. GLX_X_VISUAL_TYPE_EXT = $22;
  6121. GLX_TRANSPARENT_TYPE_EXT = $23;
  6122. GLX_TRANSPARENT_INDEX_VALUE_EXT = $24;
  6123. GLX_TRANSPARENT_RED_VALUE_EXT = $25;
  6124. GLX_TRANSPARENT_GREEN_VALUE_EXT = $26;
  6125. GLX_TRANSPARENT_BLUE_VALUE_EXT = $27;
  6126. GLX_TRANSPARENT_ALPHA_VALUE_EXT = $28;
  6127. GLX_NONE_EXT = $8000;
  6128. GLX_TRUE_COLOR_EXT = $8002;
  6129. GLX_DIRECT_COLOR_EXT = $8003;
  6130. GLX_PSEUDO_COLOR_EXT = $8004;
  6131. GLX_STATIC_COLOR_EXT = $8005;
  6132. GLX_GRAY_SCALE_EXT = $8006;
  6133. GLX_STATIC_GRAY_EXT = $8007;
  6134. GLX_TRANSPARENT_RGB_EXT = $8008;
  6135. GLX_TRANSPARENT_INDEX_EXT = $8009;
  6136. // GLX_EXT_visual_rating
  6137. GLX_VISUAL_CAVEAT_EXT = $20;
  6138. GLX_SLOW_VISUAL_EXT = $8001;
  6139. GLX_NON_CONFORMANT_VISUAL_EXT = $800D;
  6140. (* reuse GLX_NONE_EXT *)
  6141. // GLX_EXT_import_context
  6142. GLX_SHARE_CONTEXT_EXT = $800A;
  6143. GLX_VISUAL_ID_EXT = $800B;
  6144. GLX_SCREEN_EXT = $800C;
  6145. // GLX_EXT_fbconfig_packed_float
  6146. // GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT = $20B1;
  6147. // GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT = $00000008;
  6148. // GLX_EXT_framebuffer_sRGB
  6149. // GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT = $20B2;
  6150. // GLX_EXT_texture_from_pixmap
  6151. GLX_TEXTURE_1D_BIT_EXT = $00000001;
  6152. GLX_TEXTURE_2D_BIT_EXT = $00000002;
  6153. GLX_TEXTURE_RECTANGLE_BIT_EXT = $00000004;
  6154. GLX_BIND_TO_TEXTURE_RGB_EXT = $20D0;
  6155. GLX_BIND_TO_TEXTURE_RGBA_EXT = $20D1;
  6156. GLX_BIND_TO_MIPMAP_TEXTURE_EXT = $20D2;
  6157. GLX_BIND_TO_TEXTURE_TARGETS_EXT = $20D3;
  6158. GLX_Y_INVERTED_EXT = $20D4;
  6159. GLX_TEXTURE_FORMAT_EXT = $20D5;
  6160. GLX_TEXTURE_TARGET_EXT = $20D6;
  6161. GLX_MIPMAP_TEXTURE_EXT = $20D7;
  6162. GLX_TEXTURE_FORMAT_NONE_EXT = $20D8;
  6163. GLX_TEXTURE_FORMAT_RGB_EXT = $20D9;
  6164. GLX_TEXTURE_FORMAT_RGBA_EXT = $20DA;
  6165. GLX_TEXTURE_1D_EXT = $20DB;
  6166. GLX_TEXTURE_2D_EXT = $20DC;
  6167. GLX_TEXTURE_RECTANGLE_EXT = $20DD;
  6168. GLX_FRONT_LEFT_EXT = $20DE;
  6169. GLX_FRONT_RIGHT_EXT = $20DF;
  6170. GLX_BACK_LEFT_EXT = $20E0;
  6171. GLX_BACK_RIGHT_EXT = $20E1;
  6172. GLX_FRONT_EXT = GLX_FRONT_LEFT_EXT;
  6173. GLX_BACK_EXT = GLX_BACK_LEFT_EXT;
  6174. GLX_AUX0_EXT = $20E2;
  6175. GLX_AUX1_EXT = $20E3;
  6176. GLX_AUX2_EXT = $20E4;
  6177. GLX_AUX3_EXT = $20E5;
  6178. GLX_AUX4_EXT = $20E6;
  6179. GLX_AUX5_EXT = $20E7;
  6180. GLX_AUX6_EXT = $20E8;
  6181. GLX_AUX7_EXT = $20E9;
  6182. GLX_AUX8_EXT = $20EA;
  6183. GLX_AUX9_EXT = $20EB;
  6184. // GLX_EXT_swap_control
  6185. GLX_SWAP_INTERVAL_EXT = $20F1;
  6186. GLX_MAX_SWAP_INTERVAL_EXT = $20F2;
  6187. // GLX_EXT_create_context_es2_profile
  6188. GLX_CONTEXT_ES2_PROFILE_BIT_EXT = $00000004;
  6189. // GL_EXT_Late_Swaps
  6190. GLX_LATE_SWAPS_TEAR_EXT = $20F3;
  6191. // GLU
  6192. GLU_INVALID_ENUM = 100900;
  6193. GLU_INVALID_VALUE = 100901;
  6194. GLU_OUT_OF_MEMORY = 100902;
  6195. GLU_INCOMPATIBLE_GL_VERSION = 100903;
  6196. GLU_VERSION = 100800;
  6197. GLU_EXTENSIONS = 100801;
  6198. GLU_TRUE = GL_TRUE;
  6199. GLU_FALSE = GL_FALSE;
  6200. GLU_SMOOTH = 100000;
  6201. GLU_FLAT = 100001;
  6202. GLU_NONE = 100002;
  6203. GLU_POINT = 100010;
  6204. GLU_LINE = 100011;
  6205. GLU_FILL = 100012;
  6206. GLU_SILHOUETTE = 100013;
  6207. GLU_OUTSIDE = 100020;
  6208. GLU_INSIDE = 100021;
  6209. GLU_TESS_MAX_COORD = 1.0E150;
  6210. GLU_TESS_WINDING_RULE = 100140;
  6211. GLU_TESS_BOUNDARY_ONLY = 100141;
  6212. GLU_TESS_TOLERANCE = 100142;
  6213. GLU_TESS_WINDING_ODD = 100130;
  6214. GLU_TESS_WINDING_NONZERO = 100131;
  6215. GLU_TESS_WINDING_POSITIVE = 100132;
  6216. GLU_TESS_WINDING_NEGATIVE = 100133;
  6217. GLU_TESS_WINDING_ABS_GEQ_TWO = 100134;
  6218. GLU_TESS_BEGIN = 100100;
  6219. GLU_TESS_VERTEX = 100101;
  6220. GLU_TESS_END = 100102;
  6221. GLU_TESS_ERROR = 100103;
  6222. GLU_TESS_EDGE_FLAG = 100104;
  6223. GLU_TESS_COMBINE = 100105;
  6224. GLU_TESS_BEGIN_DATA = 100106;
  6225. GLU_TESS_VERTEX_DATA = 100107;
  6226. GLU_TESS_END_DATA = 100108;
  6227. GLU_TESS_ERROR_DATA = 100109;
  6228. GLU_TESS_EDGE_FLAG_DATA = 100110;
  6229. GLU_TESS_COMBINE_DATA = 100111;
  6230. GLU_TESS_ERROR1 = 100151;
  6231. GLU_TESS_ERROR2 = 100152;
  6232. GLU_TESS_ERROR3 = 100153;
  6233. GLU_TESS_ERROR4 = 100154;
  6234. GLU_TESS_ERROR5 = 100155;
  6235. GLU_TESS_ERROR6 = 100156;
  6236. GLU_TESS_ERROR7 = 100157;
  6237. GLU_TESS_ERROR8 = 100158;
  6238. GLU_TESS_MISSING_BEGIN_POLYGON = GLU_TESS_ERROR1;
  6239. GLU_TESS_MISSING_BEGIN_CONTOUR = GLU_TESS_ERROR2;
  6240. GLU_TESS_MISSING_END_POLYGON = GLU_TESS_ERROR3;
  6241. GLU_TESS_MISSING_END_CONTOUR = GLU_TESS_ERROR4;
  6242. GLU_TESS_COORD_TOO_LARGE = GLU_TESS_ERROR5;
  6243. GLU_TESS_NEED_COMBINE_CALLBACK = GLU_TESS_ERROR6;
  6244. GLU_AUTO_LOAD_MATRIX = 100200;
  6245. GLU_CULLING = 100201;
  6246. GLU_SAMPLING_TOLERANCE = 100203;
  6247. GLU_DISPLAY_MODE = 100204;
  6248. GLU_PARAMETRIC_TOLERANCE = 100202;
  6249. GLU_SAMPLING_METHOD = 100205;
  6250. GLU_U_STEP = 100206;
  6251. GLU_V_STEP = 100207;
  6252. GLU_PATH_LENGTH = 100215;
  6253. GLU_PARAMETRIC_ERROR = 100216;
  6254. GLU_DOMAIN_DISTANCE = 100217;
  6255. GLU_MAP1_TRIM_2 = 100210;
  6256. GLU_MAP1_TRIM_3 = 100211;
  6257. GLU_OUTLINE_POLYGON = 100240;
  6258. GLU_OUTLINE_PATCH = 100241;
  6259. GLU_NURBS_ERROR1 = 100251;
  6260. GLU_NURBS_ERROR2 = 100252;
  6261. GLU_NURBS_ERROR3 = 100253;
  6262. GLU_NURBS_ERROR4 = 100254;
  6263. GLU_NURBS_ERROR5 = 100255;
  6264. GLU_NURBS_ERROR6 = 100256;
  6265. GLU_NURBS_ERROR7 = 100257;
  6266. GLU_NURBS_ERROR8 = 100258;
  6267. GLU_NURBS_ERROR9 = 100259;
  6268. GLU_NURBS_ERROR10 = 100260;
  6269. GLU_NURBS_ERROR11 = 100261;
  6270. GLU_NURBS_ERROR12 = 100262;
  6271. GLU_NURBS_ERROR13 = 100263;
  6272. GLU_NURBS_ERROR14 = 100264;
  6273. GLU_NURBS_ERROR15 = 100265;
  6274. GLU_NURBS_ERROR16 = 100266;
  6275. GLU_NURBS_ERROR17 = 100267;
  6276. GLU_NURBS_ERROR18 = 100268;
  6277. GLU_NURBS_ERROR19 = 100269;
  6278. GLU_NURBS_ERROR20 = 100270;
  6279. GLU_NURBS_ERROR21 = 100271;
  6280. GLU_NURBS_ERROR22 = 100272;
  6281. GLU_NURBS_ERROR23 = 100273;
  6282. GLU_NURBS_ERROR24 = 100274;
  6283. GLU_NURBS_ERROR25 = 100275;
  6284. GLU_NURBS_ERROR26 = 100276;
  6285. GLU_NURBS_ERROR27 = 100277;
  6286. GLU_NURBS_ERROR28 = 100278;
  6287. GLU_NURBS_ERROR29 = 100279;
  6288. GLU_NURBS_ERROR30 = 100280;
  6289. GLU_NURBS_ERROR31 = 100281;
  6290. GLU_NURBS_ERROR32 = 100282;
  6291. GLU_NURBS_ERROR33 = 100283;
  6292. GLU_NURBS_ERROR34 = 100284;
  6293. GLU_NURBS_ERROR35 = 100285;
  6294. GLU_NURBS_ERROR36 = 100286;
  6295. GLU_NURBS_ERROR37 = 100287;
  6296. GLU_CW = 100120;
  6297. GLU_CCW = 100121;
  6298. GLU_INTERIOR = 100122;
  6299. GLU_EXTERIOR = 100123;
  6300. GLU_UNKNOWN = 100124;
  6301. GLU_BEGIN = GLU_TESS_BEGIN;
  6302. GLU_VERTEX = GLU_TESS_VERTEX;
  6303. GLU_END = GLU_TESS_END;
  6304. GLU_ERROR = GLU_TESS_ERROR;
  6305. GLU_EDGE_FLAG = GLU_TESS_EDGE_FLAG;
  6306. // GL functions and procedures
  6307. procedure glAccum(op: TGLuint; value: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6308. procedure glAlphaFunc(func: TGLEnum; ref: TGLclampf); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6309. function glAreTexturesResident(n: TGLsizei; Textures: PGLuint; residences: PGLboolean): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6310. procedure glArrayElement(i: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6311. procedure glBegin(mode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6312. procedure glBindTexture(target: TGLEnum; texture: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6313. procedure glBitmap(width: TGLsizei; height: TGLsizei; xorig, yorig: TGLfloat; xmove: TGLfloat; ymove: TGLfloat; bitmap: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6314. procedure glBlendFunc(sfactor: TGLEnum; dfactor: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6315. procedure glCallList(list: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6316. procedure glCallLists(n: TGLsizei; atype: TGLEnum; lists: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6317. procedure glClear(mask: TGLbitfield); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6318. procedure glClearAccum(red, green, blue, alpha: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6319. procedure glClearColor(red, green, blue, alpha: TGLclampf); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6320. procedure glClearDepth(depth: TGLclampd); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6321. procedure glClearIndex(c: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6322. procedure glClearStencil(s: TGLint ); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6323. procedure glClipPlane(plane: TGLEnum; equation: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6324. procedure glColor3b(red, green, blue: TGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6325. procedure glColor3bv(v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6326. procedure glColor3d(red, green, blue: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6327. procedure glColor3dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6328. procedure glColor3f(red, green, blue: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6329. procedure glColor3fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6330. procedure glColor3i(red, green, blue: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6331. procedure glColor3iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6332. procedure glColor3s(red, green, blue: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6333. procedure glColor3sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6334. procedure glColor3ub(red, green, blue: TGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6335. procedure glColor3ubv(v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6336. procedure glColor3ui(red, green, blue: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6337. procedure glColor3uiv(v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6338. procedure glColor3us(red, green, blue: TGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6339. procedure glColor3usv(v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6340. procedure glColor4b(red, green, blue, alpha: TGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6341. procedure glColor4bv(v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6342. procedure glColor4d(red, green, blue, alpha: TGLdouble ); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6343. procedure glColor4dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6344. procedure glColor4f(red, green, blue, alpha: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6345. procedure glColor4fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6346. procedure glColor4i(red, green, blue, alpha: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6347. procedure glColor4iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6348. procedure glColor4s(red, green, blue, alpha: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6349. procedure glColor4sv(v: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6350. procedure glColor4ub(red, green, blue, alpha: TGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6351. procedure glColor4ubv(v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6352. procedure glColor4ui(red, green, blue, alpha: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6353. procedure glColor4uiv(v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6354. procedure glColor4us(red, green, blue, alpha: TGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6355. procedure glColor4usv(v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6356. procedure glColorMask(red, green, blue, alpha: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6357. procedure glColorMaterial(face: TGLEnum; mode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6358. procedure glColorPointer(size: TGLint; atype: TGLEnum; stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6359. procedure glCopyPixels(x, y: TGLint; width, height: TGLsizei; atype: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6360. procedure glCopyTexImage1D(target: TGLEnum; level: TGLint; internalFormat: TGLEnum; x, y: TGLint; width: TGLsizei; border: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6361. procedure glCopyTexImage2D(target: TGLEnum; level: TGLint; internalFormat: TGLEnum; x, y: TGLint; width, height: TGLsizei; border: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6362. procedure glCopyTexSubImage1D(target: TGLEnum; level, xoffset, x, y: TGLint; width: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6363. procedure glCopyTexSubImage2D(target: TGLEnum; level, xoffset, yoffset, x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6364. procedure glCullFace(mode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6365. procedure glDeleteLists(list: TGLuint; range: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6366. procedure glDeleteTextures(n: TGLsizei; textures: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6367. procedure glDepthFunc(func: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6368. procedure glDepthMask(flag: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6369. procedure glDepthRange(zNear, zFar: TGLclampd); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6370. procedure glDisable(cap: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6371. procedure glDisableClientState(aarray: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6372. procedure glDrawArrays(mode: TGLEnum; first: TGLint; count: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6373. procedure glDrawBuffer(mode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6374. procedure glDrawElements(mode: TGLEnum; count: TGLsizei; atype: TGLEnum; indices: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6375. procedure glDrawPixels(width, height: TGLsizei; format, atype: TGLEnum; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6376. procedure glEdgeFlag(flag: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6377. procedure glEdgeFlagPointer(stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6378. procedure glEdgeFlagv(flag: PGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6379. procedure glEnable(cap: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6380. procedure glEnableClientState(aarray: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6381. procedure glEnd; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6382. procedure glEndList; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6383. procedure glEvalCoord1d(u: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6384. procedure glEvalCoord1dv(u: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6385. procedure glEvalCoord1f(u: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6386. procedure glEvalCoord1fv(u: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6387. procedure glEvalCoord2d(u: TGLdouble; v: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6388. procedure glEvalCoord2dv(u: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6389. procedure glEvalCoord2f(u, v: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6390. procedure glEvalCoord2fv(u: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6391. procedure glEvalMesh1(mode: TGLEnum; i1, i2: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6392. procedure glEvalMesh2(mode: TGLEnum; i1, i2, j1, j2: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6393. procedure glEvalPoint1(i: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6394. procedure glEvalPoint2(i, j: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6395. procedure glFeedbackBuffer(size: TGLsizei; atype: TGLEnum; buffer: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6396. procedure glFinish; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6397. procedure glFlush; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6398. procedure glFogf(pname: TGLEnum; param: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6399. procedure glFogfv(pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6400. procedure glFogi(pname: TGLEnum; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6401. procedure glFogiv(pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6402. procedure glFrontFace(mode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6403. procedure glFrustum(left, right, bottom, top, zNear, zFar: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6404. function glGenLists(range: TGLsizei): TGLuint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6405. procedure glGenTextures(n: TGLsizei; textures: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6406. procedure glGetBooleanv(pname: TGLEnum; params: PGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6407. procedure glGetClipPlane(plane: TGLEnum; equation: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6408. procedure glGetDoublev(pname: TGLEnum; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6409. function glGetError: TGLuint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6410. procedure glGetFloatv(pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6411. procedure glGetIntegerv(pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6412. procedure glGetLightfv(light, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6413. procedure glGetLightiv(light, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6414. procedure glGetMapdv(target, query: TGLEnum; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6415. procedure glGetMapfv(target, query: TGLEnum; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6416. procedure glGetMapiv(target, query: TGLEnum; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6417. procedure glGetMaterialfv(face, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6418. procedure glGetMaterialiv(face, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6419. procedure glGetPixelMapfv(map: TGLEnum; values: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6420. procedure glGetPixelMapuiv(map: TGLEnum; values: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6421. procedure glGetPixelMapusv(map: TGLEnum; values: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6422. procedure glGetPointerv(pname: TGLEnum; var params); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6423. procedure glGetPolygonStipple(mask: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6424. function glGetString(name: TGLEnum): PChar; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6425. procedure glGetTexEnvfv(target, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6426. procedure glGetTexEnviv(target, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6427. procedure glGetTexGendv(coord, pname: TGLEnum; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6428. procedure glGetTexGenfv(coord, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6429. procedure glGetTexGeniv(coord, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6430. procedure glGetTexImage(target: TGLEnum; level: TGLint; format, atype: TGLEnum; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6431. procedure glGetTexLevelParameterfv(target: TGLEnum; level: TGLint; pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6432. procedure glGetTexLevelParameteriv(target: TGLEnum; level: TGLint; pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6433. procedure glGetTexParameterfv(target, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6434. procedure glGetTexParameteriv(target, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6435. procedure glHint(target, mode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6436. procedure glIndexMask(mask: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6437. procedure glIndexPointer(atype: TGLEnum; stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6438. procedure glIndexd(c: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6439. procedure glIndexdv(c: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6440. procedure glIndexf(c: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6441. procedure glIndexfv(c: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6442. procedure glIndexi(c: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6443. procedure glIndexiv(c: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6444. procedure glIndexs(c: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6445. procedure glIndexsv(c: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6446. procedure glIndexub(c: TGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6447. procedure glIndexubv(c: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6448. procedure glInitNames; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6449. procedure glInterleavedArrays(format: TGLEnum; stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6450. function glIsEnabled(cap: TGLEnum): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6451. function glIsList(list: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6452. function glIsTexture(texture: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6453. procedure glLightModelf(pname: TGLEnum; param: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6454. procedure glLightModelfv(pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6455. procedure glLightModeli(pname: TGLEnum; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6456. procedure glLightModeliv(pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6457. procedure glLightf(light, pname: TGLEnum; param: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6458. procedure glLightfv(light, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6459. procedure glLighti(light, pname: TGLEnum; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6460. procedure glLightiv(light, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6461. procedure glLineStipple(factor: TGLint; pattern: TGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6462. procedure glLineWidth(width: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6463. procedure glListBase(base: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6464. procedure glLoadIdentity; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6465. procedure glLoadMatrixd(m: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6466. procedure glLoadMatrixf(m: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6467. procedure glLoadName(name: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6468. procedure glLogicOp(opcode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6469. procedure glMap1d(target: TGLEnum; u1, u2: TGLdouble; stride, order: TGLint; points: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6470. procedure glMap1f(target: TGLEnum; u1, u2: TGLfloat; stride, order: TGLint; points: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6471. procedure glMap2d(target: TGLEnum; u1, u2: TGLdouble; ustride, uorder: TGLint; v1, v2: TGLdouble; vstride, vorder: TGLint; points: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6472. procedure glMap2f(target: TGLEnum; u1, u2: TGLfloat; ustride, uorder: TGLint; v1, v2: TGLfloat; vstride, vorder: TGLint; points: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6473. procedure glMapGrid1d(un: TGLint; u1, u2: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6474. procedure glMapGrid1f(un: TGLint; u1, u2: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6475. procedure glMapGrid2d(un: TGLint; u1, u2: TGLdouble; vn: TGLint; v1, v2: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6476. procedure glMapGrid2f(un: TGLint; u1, u2: TGLfloat; vn: TGLint; v1, v2: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6477. procedure glMaterialf(face, pname: TGLEnum; param: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6478. procedure glMaterialfv(face, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6479. procedure glMateriali(face, pname: TGLEnum; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6480. procedure glMaterialiv(face, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6481. procedure glMatrixMode(mode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6482. procedure glMultMatrixd(m: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6483. procedure glMultMatrixf(m: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6484. procedure glNewList(list: TGLuint; mode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6485. procedure glNormal3b(nx, ny, nz: TGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6486. procedure glNormal3bv(v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6487. procedure glNormal3d(nx, ny, nz: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6488. procedure glNormal3dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6489. procedure glNormal3f(nx, ny, nz: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6490. procedure glNormal3fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6491. procedure glNormal3i(nx, ny, nz: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6492. procedure glNormal3iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6493. procedure glNormal3s(nx, ny, nz: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6494. procedure glNormal3sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6495. procedure glNormalPointer(atype: TGLEnum; stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6496. procedure glOrtho(left, right, bottom, top, zNear, zFar: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6497. procedure glPassThrough(token: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6498. procedure glPixelMapfv(map: TGLEnum; mapsize: TGLsizei; values: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6499. procedure glPixelMapuiv(map: TGLEnum; mapsize: TGLsizei; values: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6500. procedure glPixelMapusv(map: TGLEnum; mapsize: TGLsizei; values: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6501. procedure glPixelStoref(pname: TGLEnum; param: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6502. procedure glPixelStorei(pname: TGLEnum; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6503. procedure glPixelTransferf(pname: TGLEnum; param: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6504. procedure glPixelTransferi(pname: TGLEnum; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6505. procedure glPixelZoom(xfactor, yfactor: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6506. procedure glPointSize(size: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6507. procedure glPolygonMode(face, mode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6508. procedure glPolygonOffset(factor, units: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6509. procedure glPolygonStipple(mask: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6510. procedure glPopAttrib; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6511. procedure glPopClientAttrib; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6512. procedure glPopMatrix; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6513. procedure glPopName; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6514. procedure glPrioritizeTextures(n: TGLsizei; textures: PGLuint; priorities: PGLclampf); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6515. procedure glPushAttrib(mask: TGLbitfield); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6516. procedure glPushClientAttrib(mask: TGLbitfield); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6517. procedure glPushMatrix; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6518. procedure glPushName(name: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6519. procedure glRasterPos2d(x, y: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6520. procedure glRasterPos2dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6521. procedure glRasterPos2f(x, y: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6522. procedure glRasterPos2fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6523. procedure glRasterPos2i(x, y: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6524. procedure glRasterPos2iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6525. procedure glRasterPos2s(x, y: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6526. procedure glRasterPos2sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6527. procedure glRasterPos3d(x, y, z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6528. procedure glRasterPos3dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6529. procedure glRasterPos3f(x, y, z: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6530. procedure glRasterPos3fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6531. procedure glRasterPos3i(x, y, z: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6532. procedure glRasterPos3iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6533. procedure glRasterPos3s(x, y, z: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6534. procedure glRasterPos3sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6535. procedure glRasterPos4d(x, y, z, w: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6536. procedure glRasterPos4dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6537. procedure glRasterPos4f(x, y, z, w: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6538. procedure glRasterPos4fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6539. procedure glRasterPos4i(x, y, z, w: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6540. procedure glRasterPos4iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6541. procedure glRasterPos4s(x, y, z, w: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6542. procedure glRasterPos4sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6543. procedure glReadBuffer(mode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6544. procedure glReadPixels(x, y: TGLint; width, height: TGLsizei; format, atype: TGLEnum; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6545. procedure glRectd(x1, y1, x2, y2: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6546. procedure glRectdv(v1, v2: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6547. procedure glRectf(x1, y1, x2, y2: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6548. procedure glRectfv(v1, v2: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6549. procedure glRecti(x1, y1, x2, y2: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6550. procedure glRectiv(v1, v2: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6551. procedure glRects(x1, y1, x2, y2: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6552. procedure glRectsv(v1, v2: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6553. function glRenderMode(mode: TGLEnum): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6554. procedure glRotated(angle, x, y, z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6555. procedure glRotatef(angle, x, y, z: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6556. procedure glScaled(x, y, z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6557. procedure glScalef(x, y, z: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6558. procedure glScissor(x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6559. procedure glSelectBuffer(size: TGLsizei; buffer: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6560. procedure glShadeModel(mode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6561. procedure glStencilFunc(func: TGLEnum; ref: TGLint; mask: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6562. procedure glStencilMask(mask: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6563. procedure glStencilOp(fail, zfail, zpass: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6564. procedure glTexCoord1d(s: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6565. procedure glTexCoord1dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6566. procedure glTexCoord1f(s: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6567. procedure glTexCoord1fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6568. procedure glTexCoord1i(s: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6569. procedure glTexCoord1iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6570. procedure glTexCoord1s(s: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6571. procedure glTexCoord1sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6572. procedure glTexCoord2d(s, t: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6573. procedure glTexCoord2dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6574. procedure glTexCoord2f(s, t: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6575. procedure glTexCoord2fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6576. procedure glTexCoord2i(s, t: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6577. procedure glTexCoord2iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6578. procedure glTexCoord2s(s, t: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6579. procedure glTexCoord2sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6580. procedure glTexCoord3d(s, t, r: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6581. procedure glTexCoord3dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6582. procedure glTexCoord3f(s, t, r: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6583. procedure glTexCoord3fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6584. procedure glTexCoord3i(s, t, r: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6585. procedure glTexCoord3iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6586. procedure glTexCoord3s(s, t, r: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6587. procedure glTexCoord3sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6588. procedure glTexCoord4d(s, t, r, q: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6589. procedure glTexCoord4dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6590. procedure glTexCoord4f(s, t, r, q: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6591. procedure glTexCoord4fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6592. procedure glTexCoord4i(s, t, r, q: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6593. procedure glTexCoord4iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6594. procedure glTexCoord4s(s, t, r, q: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6595. procedure glTexCoord4sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6596. procedure glTexCoordPointer(size: TGLint; atype: TGLEnum; stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6597. procedure glTexEnvf(target, pname: TGLEnum; param: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6598. procedure glTexEnvfv(target, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6599. procedure glTexEnvi(target, pname: TGLEnum; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6600. procedure glTexEnviv(target, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6601. procedure glTexGend(coord, pname: TGLEnum; param: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6602. procedure glTexGendv(coord, pname: TGLEnum; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6603. procedure glTexGenf(coord, pname: TGLEnum; param: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6604. procedure glTexGenfv(coord, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6605. procedure glTexGeni(coord, pname: TGLEnum; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6606. procedure glTexGeniv(coord, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6607. procedure glTexImage1D(target: TGLEnum; level, internalformat: TGLint; width: TGLsizei; border: TGLint; format, atype: TGLEnum; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6608. procedure glTexImage2D(target: TGLEnum; level, internalformat: TGLint; width, height: TGLsizei; border: TGLint; format, atype: TGLEnum; Pixels:Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6609. procedure glTexParameterf(target, pname: TGLEnum; param: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6610. procedure glTexParameterfv(target, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6611. procedure glTexParameteri(target, pname: TGLEnum; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6612. procedure glTexParameteriv(target, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6613. procedure glTexSubImage1D(target: TGLEnum; level, xoffset: TGLint; width: TGLsizei; format, atype: TGLEnum; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6614. procedure glTexSubImage2D(target: TGLEnum; level, xoffset, yoffset: TGLint; width, height: TGLsizei; format, atype: TGLEnum; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6615. procedure glTranslated(x, y, z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6616. procedure glTranslatef(x, y, z: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6617. procedure glVertex2d(x, y: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6618. procedure glVertex2dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6619. procedure glVertex2f(x, y: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6620. procedure glVertex2fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6621. procedure glVertex2i(x, y: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6622. procedure glVertex2iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6623. procedure glVertex2s(x, y: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6624. procedure glVertex2sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6625. procedure glVertex3d(x, y, z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6626. procedure glVertex3dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6627. procedure glVertex3f(x, y, z: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6628. procedure glVertex3fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6629. procedure glVertex3i(x, y, z: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6630. procedure glVertex3iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6631. procedure glVertex3s(x, y, z: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6632. procedure glVertex3sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6633. procedure glVertex4d(x, y, z, w: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6634. procedure glVertex4dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6635. procedure glVertex4f(x, y, z, w: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6636. procedure glVertex4fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6637. procedure glVertex4i(x, y, z, w: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6638. procedure glVertex4iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6639. procedure glVertex4s(x, y, z, w: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6640. procedure glVertex4sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6641. procedure glVertexPointer(size: TGLint; atype: TGLEnum; stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6642. procedure glViewport(x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6643. // GLU utility functions and procedures
  6644. function gluErrorString(errCode: TGLEnum): PGLChar; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6645. function gluGetString(name: TGLEnum): PGLChar; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6646. procedure gluBeginCurve(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6647. procedure gluBeginPolygon(tess: PGLUtesselator); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6648. procedure gluBeginSurface(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6649. function gluProject(objx, objy, objz: TGLdouble; const modelMatrix: TMatrix4d; const projMatrix: TMatrix4d; const viewport: TVector4i; winx, winy, winz: PGLdouble): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6650. function gluUnProject(winx, winy, winz: TGLdouble; const modelMatrix: TMatrix4d; const projMatrix: TMatrix4d; const viewport: TVector4i; objx, objy, objz: PGLdouble): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6651. function gluScaleImage(format: TGLEnum; widthin, heightin: TGLint; typein: TGLEnum; datain: Pointer; widthout, heightout: TGLint; typeout: TGLEnum; dataout: Pointer): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6652. function gluBuild1DMipmaps(target: TGLEnum; components, width: TGLint; format, atype: TGLEnum; data: Pointer): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6653. function gluBuild2DMipmaps(target: TGLEnum; components, width, height: TGLint; format, atype: TGLEnum; data: Pointer): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6654. function gluNewQuadric: PGLUquadric; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6655. function gluNewNurbsRenderer: PGLUnurbs; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6656. function gluNewTess: PGLUtesselator; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6657. procedure gluBeginTrim(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6658. procedure gluCylinder(quadObject: PGLUquadric; baseRadius, topRadius, height: TGLdouble; slices, stacks: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6659. procedure gluDeleteNurbsRenderer(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6660. procedure gluDeleteQuadric(state: PGLUquadric); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6661. procedure gluDeleteTess(tess: PGLUtesselator); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6662. procedure gluDisk(quadObject: PGLUquadric; innerRadius, outerRadius: TGLdouble; slices, loops: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6663. procedure gluEndCurve(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6664. procedure gluEndPolygon(tess: PGLUtesselator); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6665. procedure gluEndSurface(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6666. procedure gluEndTrim(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6667. procedure gluGetNurbsProperty(nobj: PGLUnurbs; aproperty: TGLEnum; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6668. procedure gluGetTessProperty(tess: PGLUtesselator; which: TGLEnum; value: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6669. procedure gluLoadSamplingMatrices(nobj: PGLUnurbs; const modelMatrix: TMatrix4f; const projMatrix: TMatrix4f; const viewport: TVector4i); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6670. procedure gluLookAt(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6671. procedure gluNextContour(tess: PGLUtesselator; atype: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6672. procedure gluNurbsCallback(nobj: PGLUnurbs; which: TGLEnum; fn: TGLUNurbsErrorProc); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6673. procedure gluNurbsCurve(nobj: PGLUnurbs; nknots: TGLint; knot: PGLfloat; stride: TGLint; ctlarray: PGLfloat; order: TGLint; atype: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6674. procedure gluNurbsProperty(nobj: PGLUnurbs; aproperty: TGLEnum; value: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6675. procedure gluNurbsSurface(nobj: PGLUnurbs; sknot_count: TGLint; sknot: PGLfloat; tknot_count: TGLint; tknot: PGLfloat; s_stride, t_stride: TGLint; ctlarray: PGLfloat; sorder, torder: TGLint; atype: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6676. procedure gluOrtho2D(left, right, bottom, top: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6677. procedure gluPartialDisk(quadObject: PGLUquadric; innerRadius, outerRadius: TGLdouble; slices, loops: TGLint; startAngle, sweepAngle: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6678. procedure gluPerspective(fovy, aspect, zNear, zFar: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6679. procedure gluPickMatrix(x, y, width, height: TGLdouble; const viewport: TVector4i); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6680. procedure gluPwlCurve(nobj: PGLUnurbs; count: TGLint; points: PGLfloat; stride: TGLint; atype: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6681. procedure gluQuadricCallback(quadObject: PGLUquadric; which: TGLEnum; fn: TGLUQuadricErrorProc); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6682. procedure gluQuadricDrawStyle(quadObject: PGLUquadric; drawStyle: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6683. procedure gluQuadricNormals(quadObject: PGLUquadric; normals: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6684. procedure gluQuadricOrientation(quadObject: PGLUquadric; orientation: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6685. procedure gluQuadricTexture(quadObject: PGLUquadric; textureCoords: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6686. procedure gluSphere(quadObject: PGLUquadric; radius: TGLdouble; slices, stacks: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6687. procedure gluTessBeginContour(tess: PGLUtesselator); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6688. procedure gluTessBeginPolygon(tess: PGLUtesselator; polygon_data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6689. procedure gluTessCallback(tess: PGLUtesselator; which: TGLEnum; fn: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6690. procedure gluTessEndContour(tess: PGLUtesselator); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6691. procedure gluTessEndPolygon(tess: PGLUtesselator); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6692. procedure gluTessNormal(tess: PGLUtesselator; x, y, z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6693. procedure gluTessProperty(tess: PGLUtesselator; which: TGLEnum; value: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6694. procedure gluTessVertex(tess: PGLUtesselator; const coords: TVector3d; data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6695. function wglCopyContext(p1: HGLRC; p2: HGLRC; p3: Cardinal): BOOL; stdcall; external opengl32;
  6696. function wglCreateContext(DC: HDC): HGLRC; stdcall; external opengl32;
  6697. function wglCreateLayerContext(p1: HDC; p2: Integer): HGLRC; stdcall; external opengl32;
  6698. function wglDeleteContext(p1: HGLRC): BOOL; stdcall; external opengl32;
  6699. function wglDescribeLayerPlane(p1: HDC; p2, p3: Integer; p4: Cardinal; var p5: TLayerPlaneDescriptor): BOOL; stdcall; external opengl32;
  6700. function wglGetCurrentContext: HGLRC; stdcall; external opengl32;
  6701. function wglGetCurrentDC: HDC; stdcall; external opengl32;
  6702. function wglGetLayerPaletteEntries(p1: HDC; p2, p3, p4: Integer; var pcr): Integer; stdcall; external opengl32;
  6703. function wglGetProcAddress(ProcName: PGLChar): Pointer; stdcall; external opengl32;
  6704. function wglMakeCurrent(DC: HDC; p2: HGLRC): BOOL; stdcall; external opengl32;
  6705. function wglRealizeLayerPalette(p1: HDC; p2: Integer; p3: BOOL): BOOL; stdcall; external opengl32;
  6706. function wglSetLayerPaletteEntries(p1: HDC; p2, p3, p4: Integer; var pcr): Integer; stdcall; external opengl32;
  6707. function wglShareLists(p1, p2: HGLRC): BOOL; stdcall; external opengl32;
  6708. function wglSwapLayerBuffers(p1: HDC; p2: Cardinal): BOOL; stdcall; external opengl32;
  6709. function wglSwapMultipleBuffers(p1: UINT; const p2: PWGLSwap): DWORD; stdcall; external opengl32;
  6710. function wglUseFontBitmapsA(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32;
  6711. function wglUseFontOutlinesA (p1: HDC; p2, p3, p4: DWORD; p5, p6: Single; p7: Integer; p8: PGlyphMetricsFloat): BOOL; stdcall; external opengl32;
  6712. function wglUseFontBitmapsW(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32;
  6713. function wglUseFontOutlinesW (p1: HDC; p2, p3, p4: DWORD; p5, p6: Single; p7: Integer; p8: PGlyphMetricsFloat): BOOL; stdcall; external opengl32;
  6714. function wglUseFontBitmaps(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32 name 'wglUseFontBitmapsA';
  6715. function wglUseFontOutlines(p1: HDC; p2, p3, p4: DWORD; p5, p6: Single; p7: Integer; p8: PGlyphMetricsFloat): BOOL; stdcall; external opengl32 name 'wglUseFontOutlinesA';
  6716. {$IFDEF USE_MULTITHREAD}
  6717. threadvar
  6718. {$ELSE}
  6719. var
  6720. {$ENDIF}
  6721. // ------------------- OpenGL extension function/procedure definitions ------------------
  6722. // ###########################################################
  6723. // function and procedure definitions for
  6724. // extensions integrated into OpenGL 1.2 Core
  6725. // ###########################################################
  6726. // promoted to core v1.2 from GL_EXT_blend_color (#2)
  6727. glBlendColor: procedure(red, green, blue, alpha: TGLclampf); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6728. // promoted to core v1.2 from GL_EXT_blend_minmax (#37)
  6729. glBlendEquation: procedure(mode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6730. // promoted to core v1.2 from GL_EXT_draw_range_elements (#112)
  6731. glDrawRangeElements: procedure(mode: TGLEnum; Astart, Aend: TGLuint; count: TGLsizei; Atype: TGLEnum; indices: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6732. // promoted to core v1.2 from GL_EXT_texture3D (#6)
  6733. glTexImage3D: procedure(target: TGLEnum; level: TGLint; internalformat: TGLEnum; width, height, depth: TGLsizei; border: TGLint; format: TGLEnum; Atype: TGLEnum; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6734. glTexSubImage3D: procedure(target: TGLEnum; level, xoffset, yoffset, zoffset: TGLint; width, height, depth: TGLsizei; format: TGLEnum; Atype: TGLEnum; pixels: Pointer);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6735. // promoted to core v1.2 from GL_EXT_copy_texture
  6736. glCopyTexSubImage3D: procedure(target: TGLEnum; level, xoffset, yoffset, zoffset, x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6737. {$IFDEF USE_DEPRECATED}
  6738. // promoted to core v1.2 from GL_SGI_color_table (#14)
  6739. glColorTable: procedure(target, internalformat: TGLEnum; width: TGLsizei; format, Atype: TGLEnum;
  6740. table: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6741. glColorTableParameterfv: procedure(target, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6742. glColorTableParameteriv: procedure(target, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6743. glCopyColorTable: procedure(target, internalformat: TGLEnum; x, y: TGLint; width: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6744. glGetColorTable: procedure(target, format, Atype: TGLEnum; table: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6745. glGetColorTableParameterfv: procedure(target, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6746. glGetColorTableParameteriv: procedure(target, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6747. // promoted to core v1.2 from GL_EXT_color_subtable (#74)
  6748. glColorSubTable: procedure(target: TGLEnum; start, count: TGLsizei; format, Atype: TGLEnum; data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6749. glCopyColorSubTable: procedure(target: TGLEnum; start: TGLsizei; x, y: TGLint; width: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6750. // promoted to core v1.2 from GL_EXT_convolution (#12)
  6751. glConvolutionFilter1D: procedure(target, internalformat: TGLEnum; width: TGLsizei; format, Atype: TGLEnum;
  6752. image: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6753. glConvolutionFilter2D: procedure(target, internalformat: TGLEnum; width, height: TGLsizei; format, Atype: TGLEnum;
  6754. image: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6755. glConvolutionParameterf: procedure(target, pname: TGLEnum; param: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6756. glConvolutionParameterfv: procedure(target, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6757. glConvolutionParameteri: procedure(target, pname: TGLEnum; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6758. glConvolutionParameteriv: procedure(target, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6759. glCopyConvolutionFilter1D: procedure(target, internalformat: TGLEnum; x, y: TGLint; width: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6760. glCopyConvolutionFilter2D: procedure(target, internalformat: TGLEnum; x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6761. glGetConvolutionFilter: procedure(target, internalformat, Atype: TGLEnum; image: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6762. glGetConvolutionParameterfv: procedure(target, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6763. glGetConvolutionParameteriv: procedure(target, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6764. glGetSeparableFilter: procedure(target, format, Atype: TGLEnum; row, column, span: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6765. glSeparableFilter2D: procedure(target, internalformat: TGLEnum; width, height: TGLsizei; format, Atype: TGLEnum; row, column: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6766. // promoted to core v1.2 from GL_EXT_histogram (#11)
  6767. glGetHistogram: procedure(target: TGLEnum; reset: TGLboolean; format, Atype: TGLEnum; values: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6768. glGetHistogramParameterfv: procedure(target, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6769. glGetHistogramParameteriv: procedure(target, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6770. glGetMinmax: procedure(target: TGLEnum; reset: TGLboolean; format, Atype: TGLEnum; values: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6771. glGetMinmaxParameterfv: procedure(target, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6772. glGetMinmaxParameteriv: procedure(target, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6773. glHistogram: procedure(target: TGLEnum; width: TGLsizei; internalformat: TGLEnum; sink: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6774. glMinmax: procedure(target, internalformat: TGLEnum; sink: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6775. glResetHistogram: procedure(target: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6776. glResetMinmax: procedure(target: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6777. {$ENDIF}
  6778. // ###########################################################
  6779. // function and procedure definitions for
  6780. // extensions integrated into OpenGL 1.3 Core
  6781. // ###########################################################
  6782. // promoted to core v1.3 from GL_ARB_multitexture (#1)
  6783. glActiveTexture: procedure(texture: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6784. // promoted to core v1.3 from GL_ARB_multisample (#5)
  6785. glSampleCoverage: procedure(Value: TGLclampf; invert: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6786. // promoted to core v1.3 from GL_ARB_texture_compression (#12)
  6787. glCompressedTexImage3D: procedure(target: TGLenum; level: TGLint; internalformat: TGLenum; Width, Height, depth: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6788. glCompressedTexImage2D: procedure(target: TGLenum; level: TGLint; internalformat: TGLenum; Width, Height: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6789. glCompressedTexImage1D: procedure(target: TGLenum; level: TGLint; internalformat: TGLenum; Width: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6790. glCompressedTexSubImage3D: procedure(target: TGLenum; level: TGLint; xoffset, yoffset, zoffset: TGLint; width, height, depth: TGLsizei; Format: TGLenum; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6791. glCompressedTexSubImage2D: procedure(target: TGLenum; level: TGLint; xoffset, yoffset: TGLint; width, height: TGLsizei; Format: TGLenum; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6792. glCompressedTexSubImage1D: procedure(target: TGLenum; level: TGLint; xoffset: TGLint; width: TGLsizei; Format: TGLenum; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6793. glGetCompressedTexImage: procedure(target: TGLenum; level: TGLint; img: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6794. {$IFDEF USE_DEPRECATED}
  6795. glClientActiveTexture: procedure(texture: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6796. glMultiTexCoord1d: procedure(target: TGLenum; s: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6797. glMultiTexCoord1dV: procedure(target: TGLenum; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6798. glMultiTexCoord1f: procedure(target: TGLenum; s: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6799. glMultiTexCoord1fV: procedure(target: TGLenum; v: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6800. glMultiTexCoord1i: procedure(target: TGLenum; s: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6801. glMultiTexCoord1iV: procedure(target: TGLenum; v: PGLInt); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6802. glMultiTexCoord1s: procedure(target: TGLenum; s: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6803. glMultiTexCoord1sV: procedure(target: TGLenum; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6804. glMultiTexCoord2d: procedure(target: TGLenum; s, t: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6805. glMultiTexCoord2dv: procedure(target: TGLenum; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6806. glMultiTexCoord2f: procedure(target: TGLenum; s, t: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6807. glMultiTexCoord2fv: procedure(target: TGLenum; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6808. glMultiTexCoord2i: procedure(target: TGLenum; s, t: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6809. glMultiTexCoord2iv: procedure(target: TGLenum; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6810. glMultiTexCoord2s: procedure(target: TGLenum; s, t: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6811. glMultiTexCoord2sv: procedure(target: TGLenum; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6812. glMultiTexCoord3d: procedure(target: TGLenum; s, t, r: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6813. glMultiTexCoord3dv: procedure(target: TGLenum; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6814. glMultiTexCoord3f: procedure(target: TGLenum; s, t, r: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6815. glMultiTexCoord3fv: procedure(target: TGLenum; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6816. glMultiTexCoord3i: procedure(target: TGLenum; s, t, r: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6817. glMultiTexCoord3iv: procedure(target: TGLenum; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6818. glMultiTexCoord3s: procedure(target: TGLenum; s, t, r: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6819. glMultiTexCoord3sv: procedure(target: TGLenum; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6820. glMultiTexCoord4d: procedure(target: TGLenum; s, t, r, q: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6821. glMultiTexCoord4dv: procedure(target: TGLenum; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6822. glMultiTexCoord4f: procedure(target: TGLenum; s, t, r, q: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6823. glMultiTexCoord4fv: procedure(target: TGLenum; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6824. glMultiTexCoord4i: procedure(target: TGLenum; s, t, r, q: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6825. glMultiTexCoord4iv: procedure(target: TGLenum; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6826. glMultiTexCoord4s: procedure(target: TGLenum; s, t, r, q: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6827. glMultiTexCoord4sv: procedure(target: TGLenum; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6828. // promoted to core v1.3 from GL_ARB_transpose_matrix
  6829. glLoadTransposeMatrixf: procedure(m: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6830. glLoadTransposeMatrixd: procedure(m: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6831. glMultTransposeMatrixf: procedure(m: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6832. glMultTransposeMatrixd: procedure(m: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6833. {$ENDIF}
  6834. // ###########################################################
  6835. // function and procedure definitions for
  6836. // extensions integrated into OpenGL 1.4 Core
  6837. // ###########################################################
  6838. // promoted to core v1.4 from GL_EXT_blend_func_separate (#173)
  6839. glBlendFuncSeparate: procedure(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6840. // promoted to core v1.4 from GL_EXT_multi_draw_arrays (#148)
  6841. glMultiDrawArrays: procedure(mode: TGLenum; First: PGLint; Count: PGLsizei; primcount: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6842. glMultiDrawElements: procedure(mode: TGLenum; Count: PGLsizei; AType: TGLenum; var indices; primcount: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6843. // promoted to core v1.4 from GL_ARB_point_parameters (#14), GL_NV_point_sprite (#262)
  6844. glPointParameterf: procedure(pname: TGLenum; param: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6845. glPointParameterfv: procedure(pname: TGLenum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6846. glPointParameteri: procedure(pname: TGLenum; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6847. glPointParameteriv: procedure(pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6848. {$IFDEF USE_DEPRECATED}
  6849. // promoted to core v1.4 from GL_EXT_fog_coord (#149)
  6850. glFogCoordf: procedure(coord: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6851. glFogCoordfv: procedure(coord: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6852. glFogCoordd: procedure(coord: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6853. glFogCoorddv: procedure(coord: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6854. glFogCoordPointer: procedure(AType: TGLenum; stride: TGLsizei; p: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6855. // promoted to core v1.4 from GL_EXT_secondary_color (#145)
  6856. glSecondaryColor3b: procedure(red, green, blue: TGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6857. glSecondaryColor3bv: procedure(v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6858. glSecondaryColor3d: procedure(red, green, blue: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6859. glSecondaryColor3dv: procedure(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6860. glSecondaryColor3f: procedure(red, green, blue: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6861. glSecondaryColor3fv: procedure(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6862. glSecondaryColor3i: procedure(red, green, blue: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6863. glSecondaryColor3iv: procedure(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6864. glSecondaryColor3s: procedure(red, green, blue: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6865. glSecondaryColor3sv: procedure(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6866. glSecondaryColor3ub: procedure(red, green, blue: TGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6867. glSecondaryColor3ubv: procedure(v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6868. glSecondaryColor3ui: procedure(red, green, blue: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6869. glSecondaryColor3uiv: procedure(v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6870. glSecondaryColor3us: procedure(red, green, blue: TGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6871. glSecondaryColor3usv: procedure(v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6872. glSecondaryColorPointer: procedure(Size: TGLint; Atype: TGLenum; stride: TGLsizei; p: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6873. // promoted to core v1.4 from GL_ARB_window_pos (#25)
  6874. glWindowPos2d: procedure(x,y : TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6875. glWindowPos2dv: procedure(v : PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6876. glWindowPos2f: procedure(x,y : TGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6877. glWindowPos2fv: procedure(v : PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6878. glWindowPos2i: procedure(x,y : TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6879. glWindowPos2iv: procedure(v : PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6880. glWindowPos2s: procedure(x,y : TGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6881. glWindowPos2sv: procedure(v : PGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6882. glWindowPos3d: procedure(x,y,z : TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6883. glWindowPos3dv: procedure(v : PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6884. glWindowPos3f: procedure(x,y,z : TGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6885. glWindowPos3fv: procedure(v : PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6886. glWindowPos3i: procedure(x,y,z : TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6887. glWindowPos3iv: procedure(v : PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6888. glWindowPos3s: procedure(x,y,z : TGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6889. glWindowPos3sv: procedure(v : PGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6890. {$ENDIF}
  6891. // ###########################################################
  6892. // function and procedure definitions for
  6893. // extensions integrated into OpenGL 1.5 Core
  6894. // ###########################################################
  6895. // promoted to core v1.5 from GL_ARB_occlusion_query (#29)
  6896. glGenQueries: procedure(n: TGLsizei; ids: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6897. glDeleteQueries: procedure(n: TGLsizei; const ids: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6898. glIsQuery: function(id: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6899. glBeginQuery: procedure(target: TGLenum; id: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6900. glEndQuery: procedure(target: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6901. glGetQueryiv: procedure(target: TGLEnum; pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6902. glGetQueryObjectiv: procedure(id: TGLuint; pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6903. glGetQueryObjectuiv: procedure(id: TGLuint; pname: TGLenum; params: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6904. // promoted to core v1.5 from GL_ARB_vertex_buffer_object (#28)
  6905. glBindBuffer: procedure(target: TGLenum; buffer: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6906. glDeleteBuffers: procedure(n: TGLsizei; const buffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6907. glGenBuffers: procedure(n: TGLsizei; buffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6908. glIsBuffer: function(buffer: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6909. glBufferData: procedure(target: TGLenum; size: TGLsizei; const data: Pointer; usage: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6910. glBufferSubData: procedure(target: TGLenum; offset: TGLuint; size: TGLsizei; const data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6911. glGetBufferSubData: procedure(target: TGLenum; offset: TGLuint; size: TGLsizei; data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6912. glMapBuffer: function(target: TGLenum; access: TGLenum): Pointer; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6913. glUnmapBuffer: function(target: TGLenum): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6914. glGetBufferParameteriv: procedure(target: TGLenum; pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6915. glGetBufferPointerv: procedure(target: TGLenum; pname: TGLenum; params: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6916. // promoted to core v1.5 from GL_EXT_shadow_funcs (#267)
  6917. // (no functions or procedures)
  6918. // ###########################################################
  6919. // function and procedure definitions for
  6920. // extensions integrated into OpenGL 2.0 Core
  6921. // ###########################################################
  6922. // promoted to core v2.0 from GL_EXT_blend_equation_separate (#299)
  6923. glBlendEquationSeparate: procedure(modeRGB: TGLenum; modeAlpha: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6924. // promoted to core v2.0 from GL_ARB_draw_buffers (#37)
  6925. glDrawBuffers: procedure(n: TGLsizei; const bufs: PGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6926. // promoted to core v2.0 from GL_ARB_stencil_two_side (no # found)
  6927. glStencilOpSeparate: procedure(face, sfail, dpfail, dppass: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6928. glStencilFuncSeparate: procedure(face, func: TGLenum; ref: TGLint; mask: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6929. glStencilMaskSeparate: procedure(face: TGLenum; mask: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6930. // promoted to core v2.0 from GL_ARB_shader_objects (#30) / GL_ARB_vertex_shader (#31) / GL_ARB_fragment_shader (#32)
  6931. glAttachShader: procedure(_program: TGLuint; shader: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6932. glBindAttribLocation: procedure(_program: TGLuint; index: TGLuint; const name: PGLChar);
  6933. glCompileShader: procedure(shader: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6934. glCreateProgram: function(): TGLuint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6935. glCreateShader: function(_type: TGLenum): TGLuint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6936. glDeleteProgram: procedure(_program: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6937. glDeleteShader: procedure(shader: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6938. glDetachShader: procedure(_program: TGLuint; shader: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6939. glDisableVertexAttribArray: procedure(index: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6940. glEnableVertexAttribArray: procedure(index: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6941. glGetActiveAttrib: procedure(_program: TGLuint; index: TGLuint; bufSize: TGLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6942. glGetActiveUniform: procedure(_program: TGLuint; index: TGLuint; bufSize: TGLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6943. glGetAttachedShaders: procedure(_program: TGLuint; maxCount: TGLsizei; count: PGLSizei; obj: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6944. glGetAttribLocation: function(_program: TGLuint; const name: PGLChar): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6945. glGetProgramiv: procedure(_program: TGLuint; pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6946. glGetProgramInfoLog: procedure(_program: TGLuint; bufSize: TGLsizei; length: PGLsizei; infoLog: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6947. glGetShaderiv: procedure(shader: TGLuint; pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6948. glGetShaderInfoLog: procedure(shader: TGLuint; bufSize: TGLsizei; length: PGLsizei; infoLog: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6949. glGetShaderSource: procedure(shader:TGLuint; bufSize: TGLsizei; length: PGLsizei; source: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6950. glGetUniformLocation: function(_program: TGLuint; const name: PGLChar): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6951. glGetUniformfv: procedure(_program: TGLuint; location: TGLint; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6952. glGetUniformiv: procedure(_program: TGLuint; location: TGLint; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6953. glGetVertexAttribdv: procedure(index:TGLuint; pname: TGLenum; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6954. glGetVertexAttribfv: procedure(index: TGLuint; pname: TGLenum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6955. glGetVertexAttribiv: procedure(index: TGLuint; pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6956. glGetVertexAttribPointerv: procedure(index: TGLuint; pname: TGLenum; _pointer:pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6957. glIsProgram: function(_program: TGLuint):TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6958. glIsShader: function(shader: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6959. glLinkProgram: procedure(_program: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6960. glShaderSource: procedure(shader: TGLuint; count: TGLsizei; const _string: PGLPCharArray; const length: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6961. glUseProgram: procedure(_program: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6962. glUniform1f: procedure(location: TGLint; v0: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6963. glUniform2f: procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6964. glUniform3f: procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat; v2: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6965. glUniform4f: procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat; v2: TGLfloat; v3: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6966. glUniform1i: procedure(location: TGLint; v0: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6967. glUniform2i: procedure(location: TGLint; v0: TGLint; v1: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6968. glUniform3i: procedure(location: TGLint; v0: TGLint; v1: TGLint; v2: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6969. glUniform4i: procedure(location: TGLint; v0: TGLint; v1: TGLint; v2: TGLint; v3: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6970. glUniform1fv: procedure(location: TGLint; count: TGLsizei; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6971. glUniform2fv: procedure(location: TGLint; count: TGLsizei; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6972. glUniform3fv: procedure(location: TGLint; count: TGLsizei; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6973. glUniform4fv: procedure(location: TGLint; count: TGLsizei; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6974. glUniform1iv: procedure(location: TGLint; count: TGLsizei; value: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6975. glUniform2iv: procedure(location: TGLint; count: TGLsizei; value: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6976. glUniform3iv: procedure(location: TGLint; count: TGLsizei; value: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6977. glUniform4iv: procedure(location: TGLint; count: TGLsizei; value: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6978. glUniformMatrix2fv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6979. glUniformMatrix3fv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6980. glUniformMatrix4fv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6981. glValidateProgram: procedure(_program: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6982. glVertexAttrib1d: procedure(index:TGLuint; x: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6983. glVertexAttrib1dv: procedure(index:TGLuint; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6984. glVertexAttrib1f: procedure(index:TGLuint; x: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6985. glVertexAttrib1fv: procedure(index:TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6986. glVertexAttrib1s: procedure(index:TGLuint; x: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6987. glVertexAttrib1sv: procedure(index:TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6988. glVertexAttrib2d: procedure(index:TGLuint; x,y: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6989. glVertexAttrib2dv: procedure(index:TGLuint; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6990. glVertexAttrib2f: procedure(index:TGLuint; x,y: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6991. glVertexAttrib2fv: procedure(index:TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6992. glVertexAttrib2s: procedure(index:TGLuint; x,y: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6993. glVertexAttrib2sv: procedure(index:TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6994. glVertexAttrib3d: procedure(index:TGLuint; x,y,z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6995. glVertexAttrib3dv: procedure(index:TGLuint; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6996. glVertexAttrib3f: procedure(index:TGLuint; x,y,z: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6997. glVertexAttrib3fv: procedure(index:TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6998. glVertexAttrib3s: procedure(index:TGLuint; x,y,z: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6999. glVertexAttrib3sv: procedure(index:TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7000. glVertexAttrib4Nbv: procedure(index:TGLuint; v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7001. glVertexAttrib4Niv: procedure(index:TGLuint; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7002. glVertexAttrib4Nsv: procedure(index:TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7003. glVertexAttrib4Nub: procedure(index:TGLuint; x,y,z,w: TGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7004. glVertexAttrib4Nubv: procedure(index:TGLuint; v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7005. glVertexAttrib4Nuiv: procedure(index:TGLuint; v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7006. glVertexAttrib4Nusv: procedure(index:TGLuint; v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7007. glVertexAttrib4bv: procedure(index:TGLuint; v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7008. glVertexAttrib4d: procedure(index:TGLuint; x,y,z,w: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7009. glVertexAttrib4dv: procedure(index:TGLuint; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7010. glVertexAttrib4f: procedure(index:TGLuint; x,y,z,w: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7011. glVertexAttrib4fv: procedure(index:TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7012. glVertexAttrib4iv: procedure(index:TGLuint; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7013. glVertexAttrib4s: procedure(index:TGLuint; x,y,z,w: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7014. glVertexAttrib4sv: procedure(index:TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7015. glVertexAttrib4ubv: procedure(index:TGLuint; v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7016. glVertexAttrib4uiv: procedure(index:TGLuint; v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7017. glVertexAttrib4usv: procedure(index:TGLuint; v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7018. glVertexAttribPointer: procedure(index:TGLuint; size: TGLint; _type: TGLenum; normalized: TGLboolean; stride:TGLsizei; _pointer:pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7019. // ###########################################################
  7020. // function and procedure definitions for
  7021. // extensions integrated into OpenGL 2.1 Core
  7022. // ###########################################################
  7023. glUniformMatrix2x3fv: procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7024. glUniformMatrix3x2fv: procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7025. glUniformMatrix2x4fv: procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7026. glUniformMatrix4x2fv: procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7027. glUniformMatrix3x4fv: procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7028. glUniformMatrix4x3fv: procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7029. // ###########################################################
  7030. // function and procedure definitions for
  7031. // extensions integrated into OpenGL 3.0 Core
  7032. // ###########################################################
  7033. glVertexAttribI1i: procedure(index: TGLuint; x: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7034. glVertexAttribI2i: procedure(index: TGLuint; x: TGLint; y: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7035. glVertexAttribI3i: procedure(index: TGLuint; x: TGLint; y: TGLint; z: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7036. glVertexAttribI4i: procedure(index: TGLuint; x: TGLint; y: TGLint; z: TGLint; w: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7037. glVertexAttribI1ui: procedure(index: TGLuint; x: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7038. glVertexAttribI2ui: procedure(index: TGLuint; x: TGLuint; y: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7039. glVertexAttribI3ui: procedure(index: TGLuint; x: TGLuint; y: TGLuint; z: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7040. glVertexAttribI4ui: procedure(index: TGLuint; x: TGLuint; y: TGLuint; z: TGLuint; w: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7041. glVertexAttribI1iv: procedure(index: TGLuint; v:PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7042. glVertexAttribI2iv: procedure(index: TGLuint; v:PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7043. glVertexAttribI3iv: procedure(index: TGLuint; v:PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7044. glVertexAttribI4iv: procedure(index: TGLuint; v:PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7045. glVertexAttribI1uiv: procedure(index: TGLuint; v:PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7046. glVertexAttribI2uiv: procedure(index: TGLuint; v:PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7047. glVertexAttribI3uiv: procedure(index: TGLuint; v:PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7048. glVertexAttribI4uiv: procedure(index: TGLuint; v:PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7049. glVertexAttribI4bv: procedure(index: TGLuint; v:PGLbyte);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7050. glVertexAttribI4sv: procedure(index: TGLuint; v:PGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7051. glVertexAttribI4ubv: procedure(index: TGLuint; v: PGLUbyte);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7052. glVertexAttribI4usv: procedure(index: TGLuint; v: PGLushort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7053. glVertexAttribIPointer: procedure(index: TGLuint; size: TGLint; _type: TGLenum;
  7054. stride: TGLsizei; _pointer: pointer);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7055. glGetVertexAttribIiv: procedure(index: TGLuint; pname: TGLenum; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7056. glGetVertexAttribIuiv: procedure(index: TGLuint; pname: TGLenum; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7057. glUniform1ui: procedure(location: TGLInt; v0: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7058. glUniform2ui: procedure(location: TGLInt; v0: TGLuint; v1: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7059. glUniform3ui: procedure(location: TGLInt; v0: TGLuint; v1: TGLuint; v2: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7060. glUniform4ui: procedure(location: TGLInt; v0: TGLuint; v1: TGLuint; v2: TGLuint; v3: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7061. glUniform1uiv: procedure(location: TGLInt; count: TGLsizei; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7062. glUniform2uiv: procedure(location: TGLInt; count: TGLsizei; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7063. glUniform3uiv: procedure(location: TGLInt; count: TGLsizei; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7064. glUniform4uiv: procedure(location: TGLInt; count: TGLsizei; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7065. glGetUniformuiv: procedure(_program: TGLuint; location: TGLint; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7066. glBindFragDataLocation: procedure(_program: TGLuint; colorNumber: TGLuint; name: PGLChar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7067. glGetFragDataLocation: function(_program: TGLuint; name: PGLChar): TGLint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7068. glBeginConditionalRender: procedure(id: TGLuint; mode: TGLenum);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7069. glEndConditionalRender: procedure();{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7070. glClampColor: procedure (target: TGLenum; clamp: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7071. // promoted to core v3.0 from GL_EXT_texture_integer
  7072. //glClearColorIi: procedure(r: TGLint; g: TGLint; b: TGLint; a: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7073. //glClearColorIui: procedure(r: TGLuint; g: TGLuint; b: TGLuint; a: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7074. glTexParameterIiv: procedure(target: TGLenum; pname: TGLenum; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7075. glTexParameterIuiv: procedure(target: TGLenum; pname: TGLenum; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7076. glGetTexParameterIiv: procedure(target: TGLenum; pname: TGLenum; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7077. glGetTexParameterIuiv: procedure(target: TGLenum; pname: TGLenum; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7078. // promoted to core v3.0 from GL_EXT_draw_buffers2
  7079. glColorMaski: procedure(index: TGLuint; r: TGLboolean; g: TGLboolean;
  7080. b: TGLboolean; a: TGLboolean);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7081. glGetBooleani_v: procedure(target: TGLenum; index: TGLuint; data: PGLboolean);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7082. glGetIntegeri_v: procedure(target: TGLenum; index: TGLuint; data: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7083. glEnablei: procedure(target: TGLenum; index: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7084. glDisablei: procedure(target: TGLenum; index: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7085. glIsEnabledi: function(target: TGLenum; index: TGLuint): TGLboolean;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7086. //promoted to core v3.0 from GL_EXT_transform_feedback
  7087. glBindBufferRange: procedure(target: TGLenum; index: TGLuint; buffer: TGLuint;
  7088. offset: TGLintptr; size: TGLsizeiptr);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7089. glBindBufferBase: procedure(target: TGLenum; index: TGLuint; buffer: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7090. glBeginTransformFeedback: procedure(primitiveMode: TGLenum);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7091. glEndTransformFeedback: procedure();{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7092. glTransformFeedbackVaryings: procedure(_program: TGLuint; count: TGLsizei;
  7093. const varyings: PGLPCharArray; bufferMode: TGLenum);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7094. glGetTransformFeedbackVarying: procedure(_program: TGLuint; index: TGLuint;
  7095. bufSize: TGLsizei; length: PGLsizei; size: PGLsizei; _type: PGLenum; name: PGLChar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7096. // New commands in OpenGL 3.0
  7097. glClearBufferiv: procedure(buffer: TGLenum; drawbuffer: TGLint; value: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7098. glClearBufferuiv: procedure(buffer: TGLenum; drawbuffer: TGLint; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7099. glClearBufferfv: procedure(buffer: TGLenum; drawbuffer: TGLint; value: PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7100. glClearBufferfi: procedure(buffer: TGLenum; drawbuffer: TGLint; depth: TGLfloat; stencil: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7101. glGetStringi: function(name: TGLenum; index: TGLuint): PGLChar;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7102. // GL_VERSION_2_1
  7103. // ###########################################################
  7104. // function and procedure definitions for
  7105. // extensions integrated into OpenGL 3.1 Core
  7106. // ###########################################################
  7107. glDrawArraysInstanced: procedure(mode: TGLenum; first: TGLint; count: TGLsizei; primcount: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7108. glDrawElementsInstanced: procedure(mode: TGLenum; count: TGLsizei; _type: TGLenum; indices: PGLvoid; primcount: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7109. glTexBuffer: procedure(target: TGLenum; internalformat: TGLenum; buffer: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7110. glPrimitiveRestartIndex: procedure(index: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7111. // ###########################################################
  7112. // function and procedure definitions for
  7113. // extensions integrated into OpenGL 3.2 Core
  7114. // ###########################################################
  7115. glGetInteger64i_v: procedure(target: TGLenum; index: TGLuint; data: PGLint64);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7116. glGetBufferParameteri64v: procedure(target: TGLenum; pname: TGLenum; params: PGLint64);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7117. glProgramParameteri: procedure(_program: TGLuint; pname: TGLenum; value: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7118. glFramebufferTexture: procedure(target: TGLenum; attachment: TGLenum; texture: TGLuint; level: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7119. // glFramebufferTextureFace: procedure(target: TGLenum; attachment: TGLenum; texture: TGLuint; level: TGLint; face: TGLenum);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7120. // OpenGL 3.2 also reuses entry points from these extensions:
  7121. // GL_ARB_draw_elements_base_vertex
  7122. // GL_ARB_provoking_vertex
  7123. // GL_ARB_sync
  7124. // GL_ARB_texture_multisample
  7125. // ###########################################################
  7126. // function and procedure definitions for
  7127. // extensions integrated into OpenGL 3.3 Core
  7128. // ###########################################################
  7129. // OpenGL 3.3 reuses entry points from these extensions:
  7130. // GL_ARB_blend_func_extended (ARB #78)
  7131. (* ARB_sampler_objects *)
  7132. // GL_ARB_explicit_attrib_location (ARB #79) (none)
  7133. // GL_ARB_occlusion_query2 (ARB #80)
  7134. // GL_ARB_sampler_objects (ARB #81)
  7135. // GL_ARB_shader_bit_encoding (ARB #82)
  7136. // GL_ARB_texture_rgb10_a2ui (ARB #83)
  7137. // GL_ARB_texture_swizzle (ARB #84)
  7138. // GL_ARB_timer_query (ARB #85)
  7139. // GL_ARB_vertex_type_2_10_10_10_rev (ARB #86)
  7140. // ###########################################################
  7141. // function and procedure definitions for
  7142. // extensions integrated into OpenGL 4.0 Core
  7143. // ###########################################################
  7144. // OpenGL 4.0 uses entry points from these extensions:
  7145. (* ARB_texture_query_lod (no entry points) *)
  7146. // GL_ARB_draw_indirect (ARB #87)
  7147. // GL_ARB_gpu_shader5 (ARB #88) (none)
  7148. // GL_ARB_gpu_shader_fp64 (ARB #89)
  7149. // GL_ARB_shader_subroutine (ARB #90)
  7150. // GL_ARB_tessellation_shader (ARB #91)
  7151. // GL_ARB_texture_buffer_object_rgb32 (ARB #92) (none)
  7152. // GL_ARB_transform_feedback2 (ARB #93)
  7153. // GL_ARB_transform_feedback3 (ARB #94)
  7154. // GL_VERSION_4_1
  7155. // ###########################################################
  7156. // function and procedure definitions for
  7157. // GLU extensions
  7158. // ###########################################################
  7159. // GLU extensions
  7160. gluNurbsCallbackDataEXT: procedure(nurb: PGLUnurbs; userData: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7161. gluNewNurbsTessellatorEXT: function: PGLUnurbs; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7162. gluDeleteNurbsTessellatorEXT: procedure(nurb: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7163. {$IFDEF SUPPORT_WGL}
  7164. // ###########################################################
  7165. // function and procedure definitions for
  7166. // ARB approved WGL extensions
  7167. // ###########################################################
  7168. // WGL_buffer_region (ARB #4)
  7169. wglCreateBufferRegionARB: function(DC: HDC; iLayerPlane: Integer; uType: TGLenum) : Integer; stdcall;
  7170. wglDeleteBufferRegionARB: procedure(hRegion: Integer); stdcall;
  7171. wglSaveBufferRegionARB: function(hRegion: Integer; x, y, width, height: Integer): BOOL; stdcall;
  7172. wglRestoreBufferRegionARB: function(hRegion: Integer; x, y, width, height: Integer;
  7173. xSrc, ySrc: Integer): BOOL; stdcall;
  7174. // WGL_ARB_extensions_string (ARB #8)
  7175. wglGetExtensionsStringARB: function(DC: HDC): PGLChar; stdcall;
  7176. // WGL_ARB_pixel_format (ARB #9)
  7177. wglGetPixelFormatAttribivARB: function(DC: HDC; iPixelFormat, iLayerPlane: Integer; nAttributes: TGLenum;
  7178. const piAttributes: PGLint; piValues : PGLint) : BOOL; stdcall;
  7179. wglGetPixelFormatAttribfvARB: function(DC: HDC; iPixelFormat, iLayerPlane: Integer; nAttributes: TGLenum;
  7180. const piAttributes: PGLint; piValues: PGLFloat) : BOOL; stdcall;
  7181. wglChoosePixelFormatARB: function(DC: HDC; const piAttribIList: PGLint; const pfAttribFList: PGLFloat;
  7182. nMaxFormats: TGLuint; piFormats: PGLint; nNumFormats: PGLenum) : BOOL; stdcall;
  7183. // WGL_make_current_read (ARB #10)
  7184. wglMakeContextCurrentARB: function(hDrawDC: HDC; hReadDC: HDC; _hglrc: HGLRC): BOOL; stdcall;
  7185. wglGetCurrentReadDCARB: function(): HDC; stdcall;
  7186. // WGL_ARB_pbuffer (ARB #11)
  7187. wglCreatePbufferARB: function(DC: HDC; iPixelFormat: TGLint; iWidth, iHeight : TGLint;
  7188. const piAttribList: PGLint) : HPBUFFERARB; stdcall;
  7189. wglGetPbufferDCARB: function(hPbuffer: HPBUFFERARB) : HDC; stdcall;
  7190. wglReleasePbufferDCARB: function(hPbuffer: HPBUFFERARB; DC: HDC) : Integer; stdcall;
  7191. wglDestroyPbufferARB: function(hPbuffer: HPBUFFERARB): BOOL; stdcall;
  7192. wglQueryPbufferARB: function(hPbuffer: HPBUFFERARB; iAttribute : Integer;
  7193. piValue: PGLint) : BOOL; stdcall;
  7194. // WGL_ARB_render_texture (ARB #20)
  7195. wglBindTexImageARB: function(hPbuffer: HPBUFFERARB; iBuffer: Integer): BOOL; stdcall;
  7196. wglReleaseTexImageARB: function(hpBuffer: HPBUFFERARB; iBuffer: Integer): BOOL; stdcall;
  7197. wglSetPbufferAttribARB: function(hpBuffer: HPBUFFERARB; const piAttribList: PGLint): BOOL; stdcall;
  7198. // WGL_ARB_create_context (ARB #55)
  7199. wglCreateContextAttribsARB: function(DC: HDC; hShareContext: HGLRC;
  7200. attribList: PGLint):HGLRC; stdcall;
  7201. // WGL_NV_gpu_affinity
  7202. wglEnumGpusNV: function(iGpuIndex: Cardinal; var hGpu: HGPUNV): Boolean;
  7203. wglEnumGpuDevicesNV: function(hGpu: HGPUNV; iDeviceIndex: Cardinal; lpGpuDevice: PGPUDevice): Boolean;
  7204. wglCreateAffinityDCNV: function(hGpuList: PHGPUNV): HDC;
  7205. wglEnumGpusFromAffinityDCNV: function(hAffinityDC: HDC; iGpuIndex: Cardinal; var hGpu: HGPUNV): Boolean;
  7206. wglDeleteDCNV: function(hdc: HDC): Boolean;
  7207. {$ENDIF}
  7208. {$IFDEF SUPPORT_WGL}
  7209. // ###########################################################
  7210. // function and procedure definitions for
  7211. // Vendor/EXT WGL extensions
  7212. // ###########################################################
  7213. // WGL_EXT_swap_control (EXT #172)
  7214. wglSwapIntervalEXT: function(interval : Integer) : BOOL; stdcall;
  7215. wglGetSwapIntervalEXT: function : Integer; stdcall;
  7216. {$ENDIF}
  7217. {$IFDEF SUPPORT_GLX}
  7218. // ###########################################################
  7219. // function and procedure definitions for
  7220. // ARB approved GLX extensions
  7221. // ###########################################################
  7222. // GLX 1.3 and later
  7223. glXChooseFBConfig: function(dpy: PDisplay; screen: TGLInt; attribList: PGLInt; nitems: PGLInt): GLXFBConfig; cdecl;
  7224. glXGetFBConfigAttrib: function(dpy: PDisplay; config: GLXFBConfig; attribute: TGLInt; value: PGLInt): TGLInt; cdecl;
  7225. glXGetFBConfigs: function(dpy: PDisplay; screen: TGLInt; nelements: PGLInt): GLXFBConfig; cdecl;
  7226. glXGetVisualFromFBConfig: function(dpy: PDisplay; config: GLXFBConfig): PXVisualInfo; cdecl;
  7227. glXCreateWindow: function(dpy: PDisplay; config: GLXFBConfig; win: GLXWindow; const attribList: PGLInt): GLXWindow; cdecl;
  7228. glXDestroyWindow: procedure(dpy: PDisplay; window: GLXWindow); cdecl;
  7229. glXCreatePixmap: function(dpy: PDisplay; config: GLXFBConfig; pixmap: GLXPixmap; attribList: PGLInt): GLXPixmap; cdecl;
  7230. glXDestroyPixmap: procedure(dpy: PDisplay; pixmap: GLXPixmap); cdecl;
  7231. glXCreatePbuffer: function(dpy: PDisplay; config: GLXFBConfig; attribList: PGLInt): GLXPBuffer; cdecl;
  7232. glXDestroyPbuffer: procedure(dpy: PDisplay; pbuf: GLXPBuffer); cdecl;
  7233. glXQueryDrawable: procedure(dpy: PDisplay; draw: GLXDrawable; attribute: TGLInt; value: PGLuint); cdecl;
  7234. glXCreateNewContext: function(dpy: PDisplay; config: GLXFBConfig; renderType: TGLInt; shareList: GLXContext; direct: TGLboolean): GLXContext; cdecl;
  7235. glXMakeContextCurrent: function(dpy: PDisplay; draw: GLXDrawable; read: GLXDrawable; ctx: GLXContext): TGLboolean; cdecl;
  7236. glXGetCurrentReadDrawable: function: GLXDrawable; cdecl;
  7237. glXQueryContext: function(dpy: PDisplay; ctx: GLXContext; attribute: TGLInt; value: PGLInt): TGLInt; cdecl;
  7238. glXSelectEvent: procedure(dpy: PDisplay; drawable: GLXDrawable; mask: TGLsizei); cdecl;
  7239. glXGetSelectedEvent: procedure(dpy: PDisplay; drawable: GLXDrawable; mask: TGLsizei); cdecl;
  7240. glXBindTexImageARB: function(dpy: PDisplay; pbuffer: GLXPbuffer; buffer: TGLInt): TGLboolean; cdecl;
  7241. glXReleaseTexImageARB: function(dpy: PDisplay; pbuffer: GLXPbuffer; buffer: TGLint): TGLboolean; cdecl;
  7242. glxDrawableAttribARB: function(dpy: PDisplay; draw: GLXDrawable; const attribList:PGLInt): TGLboolean; cdecl;
  7243. //GLX 1.4
  7244. // GLX_ARB_create_context (EXT #56)
  7245. glXCreateContextAttribsARB: function(dpy: PDisplay; config: GLXFBConfig;
  7246. share_context: GLXContext; direct: TGLBoolean;
  7247. attrib_list: PGLint): GLXContext; cdecl;
  7248. glXGetProcAddress: function(const name: PAnsiChar): pointer; cdecl;
  7249. glXGetProcAddressARB: function (const name: PAnsiChar): pointer; cdecl;
  7250. {$ENDIF}
  7251. {$IFDEF SUPPORT_GLX}
  7252. // ###########################################################
  7253. // function and procedure definitions for
  7254. // Vendor/EXT GLX extensions
  7255. // ###########################################################
  7256. // GLX_SGI_swap_control (EXT #40)
  7257. glXSwapIntervalSGI: function(interval: TGLint): TGLint; cdecl;
  7258. glXGetVideoSyncSGI: function(count: PGLuint): TGLInt; cdecl;
  7259. glXWaitVideoSyncSGI: function(divisor: TGLInt; remainder: TGLInt; count: PGLuint): TGLInt; cdecl;
  7260. glXFreeContextEXT: procedure(dpy: PDisplay; context: GLXContext); cdecl;
  7261. glXGetContextIDEXT: function(const context: GLXContext): GLXContextID; cdecl;
  7262. glXGetCurrentDisplayEXT: function: PDisplay; cdecl;
  7263. glXImportContextEXT: function(dpy: PDisplay; contextID: GLXContextID): GLXContext; cdecl;
  7264. glXQueryContextInfoEXT: function(dpy: PDisplay; context: GLXContext; attribute: TGLInt; value: PGLInt): TGLInt; cdecl;
  7265. glXCopySubBufferMESA: procedure(dpy: PDisplay; drawable: GLXDrawable; x: TGLInt; y: TGLInt; width: TGLInt; height: TGLInt); cdecl;
  7266. glXCreateGLXPixmapMESA: function(dpy: PDisplay; visual: PXVisualInfo; pixmap: XPixmap; cmap: XColormap): GLXPixmap; cdecl;
  7267. glXReleaseBuffersMESA: function(dpy: PDisplay; d: GLXDrawable): TGLboolean; cdecl;
  7268. glXSet3DfxModeMESA: function(mode: TGLint): TGLboolean; cdecl;
  7269. glXBindTexImageEXT: procedure(dpy: PDisplay; drawable: GLXDrawable; buffer: TGLint; const attrib_list: PGLint); cdecl;
  7270. glXReleaseTexImageEXT: procedure(dpy: PDisplay; drawable: GLXDrawable; buffer: TGLint); cdecl;
  7271. //GLX 1.4
  7272. glXMakeCurrentReadSGI: function(dpy: PDisplay; draw: GLXDrawable; read: GLXDrawable; ctx: GLXContext): TGLboolean; cdecl;
  7273. glXGetCurrentReadDrawableSGI: function: GLXDrawable; cdecl;
  7274. glXGetFBConfigAttribSGIX: function(dpy: PDisplay; config: GLXFBConfigSGIX; attribute: TGLInt; value: PGLInt):TGLInt; cdecl;
  7275. glXChooseFBConfigSGIX: function(dpy: PDisplay; screen: TGLInt; attribList: PGLInt; nitems: PGLInt): GLXFBConfigSGIX; cdecl;
  7276. glXCreateGLXPixmapWithConfigSGIX: function(dpy: PDisplay; config:GLXFBConfigSGIX; pixmap: GLXPixmap): GLXPixmap; cdecl;
  7277. glXCreateContextWithConfigSGIX: function(dpy: PDisplay; config: GLXFBConfigSGIX; renderType: TGLInt; shareList: GLXContext; direct: TGLboolean): GLXContext; cdecl;
  7278. glXGetVisualFromFBConfigSGIX: function(dpy: PDisplay; config: GLXFBConfigSGIX): PXVisualInfo; cdecl;
  7279. glXGetFBConfigFromVisualSGIX: function(dpy: PDisplay; vis: PXVisualInfo): GLXFBConfigSGIX; cdecl;
  7280. glXCreateGLXPbufferSGIX: function(dpy: PDisplay; config: GLXFBConfigSGIX; width:PGLuint; height: PGLuint; attribList: PGLInt): GLXPBufferSGIX; cdecl;
  7281. glXDestroyGLXPbufferSGIX: procedure(dpy: PDisplay; pbuf: GLXFBConfigSGIX); cdecl;
  7282. glXQueryGLXPbufferSGIX: function(dpy: PDisplay; pbuf: GLXFBConfigSGIX; attribute: PGLInt; value: PGLuint): TGLInt; cdecl;
  7283. glXSelectEventSGIX: procedure(dpy: PDisplay; drawable: GLXDrawable; mask: PGLuint64); cdecl;
  7284. glXGetSelectedEventSGIX: procedure(dpy: PDisplay; drawable: GLXDrawable; mask: PGLuint64); cdecl;
  7285. glXCushionSGI: procedure(dpy: PDisplay; window: TWindow; cushion: TGLfloat); cdecl;
  7286. glXBindChannelToWindowSGIX: function(dpy: PDisplay; screen: TGLInt; channel: TGLInt; window: TWindow): TGLInt; cdecl;
  7287. glXChannelRectSGIX: function (dpy: PDisplay; screen: TGLInt; channel:TGLInt; x, y, w, h: TGLInt): TGLInt; cdecl;
  7288. glXQueryChannelRectSGIX: function (dpy: PDisplay; screen: TGLInt; channel:TGLInt; dx, dy, dw, dh: TGLInt): TGLInt; cdecl;
  7289. glXQueryChannelDeltasSGIX: function (dpy: PDisplay; screen: TGLInt; channel:TGLInt; x, y, w, h: TGLInt): TGLInt; cdecl;
  7290. glXChannelRectSyncSGIX: function (dpy: PDisplay; screen: TGLInt; channel: TGLInt; synctype: TGLEnum): TGLInt; cdecl;
  7291. glXJoinSwapGroupSGIX: procedure (dpy: PDisplay; drawable: GLXDrawable; member: GLXDrawable); cdecl;
  7292. glXBindSwapBarrierSGIX: procedure (dpy: PDisplay; drawable: GLXDrawable; barrier: TGLInt); cdecl;
  7293. glXQueryMaxSwapBarriersSGIX: procedure (dpy: PDisplay; screen: TGLInt; max: TGLInt); cdecl;
  7294. glXQueryHyperpipeNetworkSGIX: function (dpy: PDisplay; npipes:PGLint): PGLXHyperpipeNetworkSGIX; cdecl;
  7295. glXHyperpipeConfigSGIX: function(dpy: PDisplay; networkId, npipes: PGLint; cfg: PGLXHyperpipeConfigSGIX; hpId: PGLInt): TGLint; cdecl;
  7296. glXQueryHyperpipeConfigSGIX: function(dpy: PDisplay; hpId: TGLInt; npipes: PGLInt): PGLXHyperpipeConfigSGIX; cdecl;
  7297. glXDestroyHyperpipeConfigSGIX: function(dpy: PDisplay; hpId:TGLint): PGLInt; cdecl;
  7298. glXBindHyperpipeSGIX: function(dpy: PDisplay; hpId: PGLint): PGLInt; cdecl;
  7299. glXQueryHyperpipeBestAttribSGIX: function(dpy: PDisplay; timeSlice: TGLint; attrib: TGLint; size: TGLint; attribList: TGLint; returnAttribList: TGLint): TGLint; cdecl;
  7300. glXHyperpipeAttribSGIX: function(dpy: PDisplay; timeSlice: TGLint; attrib: TGLint; size: TGLint; attribList: TGLint): TGLint; cdecl;
  7301. glXQueryHyperpipeAttribSGIX: function(dpy: PDisplay; timeSlice: TGLint; attrib: TGLint; size: TGLint; returnAttribList: TGLint): TGLint; cdecl;
  7302. glXGetAGPOffsetMESA: function(param: Pointer): PGLInt;cdecl;
  7303. glXEnumerateVideoDevicesNV: function(dpy: PDisplay; screen: TGLInt; nelements: PGLint): PGLuint; cdecl;
  7304. glXBindVideoDeviceNV: function(dpy: PDisplay; video_slot: TGLInt; video_device: TGLInt; attrib_list: PGLint): TGLint; cdecl;
  7305. GetVideoDeviceNV: function(dpy: PDisplay; screen: TGLInt; numVideoDevices: TGLInt; pVideoDevice: GLXVideoDeviceNV): TGLInt; cdecl;
  7306. glXAllocateMemoryNV: procedure( size: TGLsizei; readFrequency: TGLfloat; writeFrequency: TGLfloat; priority: TGLfloat ); cdecl;
  7307. glXFreeMemoryNV: procedure ( GLvoid: pointer ); cdecl;
  7308. glXReleaseVideoDeviceNV: function(dpy: PDisplay; screen: TGLInt; VideoDevice: GLXVideoDeviceNV): TGLuint; cdecl;
  7309. glXBindVideoImageNV: function(dpy: PDisplay; VideoDevice: GLXVideoDeviceNV; pbuf: GLXPbuffer; iVideoBuffer: TGLInt): TGLuint; cdecl;
  7310. glXReleaseVideoImageNV: function(dpy: PDisplay; pbuf: GLXPbuffer): TGLInt; cdecl;
  7311. glXSendPbufferToVideoNV: function(dpy: PDisplay; pbuf: GLXPbuffer; iBufferType: TGLInt; pulCounterPbuffer: TGLuint64; bBlock: TGLboolean): TGLInt; cdecl;
  7312. glXGetVideoInfoNV: function(dpy: PDisplay; screen: TGLInt; VideoDevice: GLXVideoDeviceNV; pulCounterOutputPbuffer: TGLuInt64; pulCounterOutputVideo: TGLuInt64): TGLInt; cdecl;
  7313. glXJoinSwapGroupNV: function(dpy: PDisplay; drawable: GLXDrawable; group: TGLuint): TGLBoolean; cdecl;
  7314. glXBindSwapBarrierNV: function(dpy: PDisplay; group: TGLuint; barrier: TGLuint): TGLboolean; cdecl;
  7315. glXQuerySwapGroupNV: function(dpy: PDisplay; drawable: GLXDrawable; group: PGLuint; barrier: PGLuint): TGLBoolean; cdecl;
  7316. glXQueryMaxSwapGroupsNV: function(dpy: PDisplay; screen: TGLInt; maxGroups: TGLuInt; maxBarriers: TGLuInt): TGLBoolean; cdecl;
  7317. glXQueryFrameCountNV: function(dpy: PDisplay; screen: TGLInt; count: TGLuint): TGLBoolean; cdecl;
  7318. glXResetFrameCountNV: function(dpy: PDisplay; screen: TGLInt): TGLBoolean; cdecl;
  7319. glXBindVideoCaptureDeviceNV: function(dpy: PDisplay; video_capture_slot: TGLuint; device: GLXVideoCaptureDeviceNV): TGLint; cdecl;
  7320. glXEnumerateVideoCaptureDevicesNV: function(dpy: PDisplay; screen: TGLInt; nelements: PGLint): GLXVideoCaptureDeviceNV; cdecl;
  7321. glxLockVideoCaptureDeviceNV: procedure (dpy: PDisplay; device: GLXVideoCaptureDeviceNV); cdecl;
  7322. glXQueryVideoCaptureDeviceNV: function(dpy: PDisplay; device: GLXVideoCaptureDeviceNV; attribute:TGLint; value: PGLint): TGLint; cdecl;
  7323. glXReleaseVideoCaptureDeviceNV: procedure(dpy: PDisplay; device: GLXVideoCaptureDeviceNV); cdecl;
  7324. glXSwapIntervalEXT: function(dpy: PDisplay; drawable: GLXDrawable; interval:TGLint): TGLint; cdecl;
  7325. glXCopyImageSubDataNV: procedure(dpy: PDisplay; srcCtx: GLXContext; srcName: TGLuint; srcTarget: TGLenum;
  7326. srcLevel: TGLuint; srcX: TGLuint;
  7327. srcY: TGLuint; srcZ: TGLuint;
  7328. dstCtx:GLXContext; dstName:TGLuint; dstTarget: TGLenum; dstLevel: TGLint;
  7329. dstX: TGLint; dstY: TGLint; dstZ: TGLint; width: TGLsizei; height: TGLsizei;
  7330. depth: TGLsizei); cdecl;
  7331. {$ENDIF}
  7332. // ###########################################################
  7333. // function and procedure definitions for
  7334. // ARB approved extensions
  7335. // ###########################################################
  7336. // unknown ARB extension
  7337. glSamplePassARB: procedure(pass: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7338. // GL_ARB_multitexture (ARB #1)
  7339. glActiveTextureARB: procedure(target: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7340. glClientActiveTextureARB: procedure(target: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7341. glMultiTexCoord1dARB: procedure(target: TGLenum; s: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7342. glMultiTexCoord1dVARB: procedure(target: TGLenum; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7343. glMultiTexCoord1fARB: procedure(target: TGLenum; s: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7344. glMultiTexCoord1fVARB: procedure(target: TGLenum; v: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7345. glMultiTexCoord1iARB: procedure(target: TGLenum; s: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7346. glMultiTexCoord1iVARB: procedure(target: TGLenum; v: PGLInt); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7347. glMultiTexCoord1sARB: procedure(target: TGLenum; s: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7348. glMultiTexCoord1sVARB: procedure(target: TGLenum; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7349. glMultiTexCoord2dARB: procedure(target: TGLenum; s, t: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7350. glMultiTexCoord2dvARB: procedure(target: TGLenum; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7351. glMultiTexCoord2fARB: procedure(target: TGLenum; s, t: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7352. glMultiTexCoord2fvARB: procedure(target: TGLenum; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7353. glMultiTexCoord2iARB: procedure(target: TGLenum; s, t: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7354. glMultiTexCoord2ivARB: procedure(target: TGLenum; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7355. glMultiTexCoord2sARB: procedure(target: TGLenum; s, t: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7356. glMultiTexCoord2svARB: procedure(target: TGLenum; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7357. glMultiTexCoord3dARB: procedure(target: TGLenum; s, t, r: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7358. glMultiTexCoord3dvARB: procedure(target: TGLenum; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7359. glMultiTexCoord3fARB: procedure(target: TGLenum; s, t, r: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7360. glMultiTexCoord3fvARB: procedure(target: TGLenum; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7361. glMultiTexCoord3iARB: procedure(target: TGLenum; s, t, r: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7362. glMultiTexCoord3ivARB: procedure(target: TGLenum; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7363. glMultiTexCoord3sARB: procedure(target: TGLenum; s, t, r: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7364. glMultiTexCoord3svARB: procedure(target: TGLenum; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7365. glMultiTexCoord4dARB: procedure(target: TGLenum; s, t, r, q: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7366. glMultiTexCoord4dvARB: procedure(target: TGLenum; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7367. glMultiTexCoord4fARB: procedure(target: TGLenum; s, t, r, q: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7368. glMultiTexCoord4fvARB: procedure(target: TGLenum; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7369. glMultiTexCoord4iARB: procedure(target: TGLenum; s, t, r, q: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7370. glMultiTexCoord4ivARB: procedure(target: TGLenum; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7371. glMultiTexCoord4sARB: procedure(target: TGLenum; s, t, r, q: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7372. glMultiTexCoord4svARB: procedure(target: TGLenum; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7373. // GL_ARB_transpose_matrix (ARB #3)
  7374. glLoadTransposeMatrixfARB: procedure(m: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7375. glLoadTransposeMatrixdARB: procedure(m: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7376. glMultTransposeMatrixfARB: procedure(m: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7377. glMultTransposeMatrixdARB: procedure(m: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7378. // GL_ARB_multisample (ARB #5)
  7379. glSampleCoverageARB: procedure(Value: TGLclampf; invert: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7380. // GL_ARB_texture_compression (ARB #12)
  7381. glCompressedTexImage3DARB: procedure(target: TGLenum; level: TGLint; internalformat: TGLenum; Width, Height, depth: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7382. glCompressedTexImage2DARB: procedure(target: TGLenum; level: TGLint; internalformat: TGLenum; Width, Height: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7383. glCompressedTexImage1DARB: procedure(target: TGLenum; level: TGLint; internalformat: TGLenum; Width: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7384. glCompressedTexSubImage3DARB: procedure(target: TGLenum; level: TGLint; xoffset, yoffset, zoffset: TGLint; width, height, depth: TGLsizei; Format: TGLenum; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7385. glCompressedTexSubImage2DARB: procedure(target: TGLenum; level: TGLint; xoffset, yoffset: TGLint; width, height: TGLsizei; Format: TGLenum; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7386. glCompressedTexSubImage1DARB: procedure(target: TGLenum; level: TGLint; xoffset: TGLint; width: TGLsizei; Format: TGLenum; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7387. glGetCompressedTexImageARB: procedure(target: TGLenum; level: TGLint; img: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7388. // GL_ARB_point_parameter (ARB #14)
  7389. glPointParameterfARB: procedure(pname: TGLenum; param: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7390. glPointParameterfvARB: procedure(pname: TGLenum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7391. // GL_ARB_vertex_blend (ARB #15) {deprecated?}
  7392. glWeightbvARB: procedure(size: TGLint; weights: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7393. glWeightsvARB: procedure(size: TGLint; weights: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7394. glWeightivARB: procedure(size: TGLint; weights: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7395. glWeightfvARB: procedure(size: TGLint; weights: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7396. glWeightdvARB: procedure(size: TGLint; weights: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7397. glWeightubvARB: procedure(size: TGLint; weights: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7398. glWeightusvARB: procedure(size: TGLint; weights: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7399. glWeightuivARB: procedure(size: TGLint; weights: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7400. glWeightPointerARB: procedure(size: TGLint; _type: TGLenum; stride:TGLsizei; _pointer:pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7401. glVertexBlendARB: procedure(count: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7402. // GL_ARB_matrix_palette (ARB #16) {deprecated?}
  7403. glCurrentPaletteMatrixARB: procedure(index: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7404. glMatrixIndexubvARB: procedure(size: TGLint; indices: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7405. glMatrixIndexusvARB: procedure(size: TGLint; indices: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7406. glMatrixIndexuivARB: procedure(size: TGLint; indices: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7407. glMatrixIndexPointerARB: procedure(size: TGLint; _type: TGLenum; stride: TGLsizei; _pointer:pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7408. // GL_ARB_window_pos (ARB #25)
  7409. glWindowPos2dARB: procedure(x,y : TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7410. glWindowPos2dvARB: procedure(v : PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7411. glWindowPos2fARB: procedure(x,y : TGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7412. glWindowPos2fvARB: procedure(v : PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7413. glWindowPos2iARB: procedure(x,y : TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7414. glWindowPos2ivARB: procedure(v : PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7415. glWindowPos2sARB: procedure(x,y : TGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7416. glWindowPos2svARB: procedure(v : PGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7417. glWindowPos3dARB: procedure(x,y,z : TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7418. glWindowPos3dvARB: procedure(v : PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7419. glWindowPos3fARB: procedure(x,y,z : TGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7420. glWindowPos3fvARB: procedure(v : PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7421. glWindowPos3iARB: procedure(x,y,z : TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7422. glWindowPos3ivARB: procedure(v : PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7423. glWindowPos3sARB: procedure(x,y,z : TGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7424. glWindowPos3svARB: procedure(v : PGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7425. // GL_ARB_vertex_program (ARB #26)
  7426. glVertexAttrib1dARB: procedure(index: TGLuint; x: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7427. glVertexAttrib1dvARB: procedure(index: TGLuint; const v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7428. glVertexAttrib1fARB: procedure(index: TGLuint; x: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7429. glVertexAttrib1fvARB: procedure(index: TGLuint; const v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7430. glVertexAttrib1sARB: procedure(index: TGLuint; x: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7431. glVertexAttrib1svARB: procedure(index: TGLuint; const v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7432. glVertexAttrib2dARB: procedure(index: TGLuint; x: TGLdouble; y: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7433. glVertexAttrib2dvARB: procedure(index: TGLuint; const v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7434. glVertexAttrib2fARB: procedure(index: TGLuint; x: TGLfloat; y: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7435. glVertexAttrib2fvARB: procedure(index: TGLuint; const v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7436. glVertexAttrib2sARB: procedure(index: TGLuint; x: TGLshort; y: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7437. glVertexAttrib2svARB: procedure(index: TGLuint; const v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7438. glVertexAttrib3dARB: procedure(index: TGLuint; x: TGLdouble; y: TGLdouble; z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7439. glVertexAttrib3dvARB: procedure(index: TGLuint; const v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7440. glVertexAttrib3fARB: procedure(index: TGLuint; x: TGLfloat; y: TGLfloat; z: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7441. glVertexAttrib3fvARB: procedure(index: TGLuint; const v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7442. glVertexAttrib3sARB: procedure(index: TGLuint; x: TGLshort; y: TGLshort; z: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7443. glVertexAttrib3svARB: procedure(index: TGLuint; const v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7444. glVertexAttrib4NbvARB: procedure(index: TGLuint; const v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7445. glVertexAttrib4NivARB: procedure(index: TGLuint; const v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7446. glVertexAttrib4NsvARB: procedure(index: TGLuint; const v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7447. glVertexAttrib4NubARB: procedure(index: TGLuint; x: TGLubyte; y: TGLubyte; z: TGLubyte; w: TGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7448. glVertexAttrib4NubvARB: procedure(index: TGLuint; const v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7449. glVertexAttrib4NuivARB: procedure(index: TGLuint; const v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7450. glVertexAttrib4NusvARB: procedure(index: TGLuint; const v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7451. glVertexAttrib4bvARB: procedure(index: TGLuint; const v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7452. glVertexAttrib4dARB: procedure(index: TGLuint; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7453. glVertexAttrib4dvARB: procedure(index: TGLuint; const v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7454. glVertexAttrib4fARB: procedure(index: TGLuint; x: TGLfloat; y: TGLfloat; z: TGLfloat; w: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7455. glVertexAttrib4fvARB: procedure(index: TGLuint; const v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7456. glVertexAttrib4ivARB: procedure(index: TGLuint; const v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7457. glVertexAttrib4sARB: procedure(index: TGLuint; x: TGLshort; y: TGLshort; z: TGLshort; w: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7458. glVertexAttrib4svARB: procedure(index: TGLuint; const v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7459. glVertexAttrib4ubvARB: procedure(index: TGLuint; const v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7460. glVertexAttrib4uivARB: procedure(index: TGLuint; const v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7461. glVertexAttrib4usvARB: procedure(index: TGLuint; const v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7462. glVertexAttribPointerARB: procedure(index: TGLuint; size: TGLint; _type: TGLenum; normalized: TGLboolean; stride: TGLsizei; const _pointer: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7463. glEnableVertexAttribArrayARB: procedure(index: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7464. glDisableVertexAttribArrayARB: procedure(index: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7465. glProgramStringARB: procedure(target: TGLenum; format: TGLenum; len: TGLsizei; const _string: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7466. glBindProgramARB: procedure(target: TGLenum; _program: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7467. glDeleteProgramsARB: procedure(n: TGLsizei; const programs: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7468. glGenProgramsARB: procedure(n: TGLsizei; programs: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7469. glProgramEnvParameter4dARB: procedure(target: TGLenum; index: TGLuint; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7470. glProgramEnvParameter4dvARB: procedure(target: TGLenum; index: TGLuint; const params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7471. glProgramEnvParameter4fARB: procedure(target: TGLenum; index: TGLuint; x: TGLfloat; y: TGLfloat; z: TGLfloat; w: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7472. glProgramEnvParameter4fvARB: procedure(target: TGLenum; index: TGLuint; const params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7473. glProgramLocalParameter4dARB: procedure(target: TGLenum; index: TGLuint; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7474. glProgramLocalParameter4dvARB: procedure(target: TGLenum; index: TGLuint; const params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7475. glProgramLocalParameter4fARB: procedure(target: TGLenum; index: TGLuint; x: TGLfloat; y: TGLfloat; z: TGLfloat; w: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7476. glProgramLocalParameter4fvARB: procedure(target: TGLenum; index: TGLuint; const params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7477. glGetProgramEnvParameterdvARB: procedure(target: TGLenum; index: TGLuint; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7478. glGetProgramEnvParameterfvARB: procedure(target: TGLenum; index: TGLuint; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7479. glGetProgramLocalParameterdvARB: procedure(target: TGLenum; index: TGLuint; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7480. glGetProgramLocalParameterfvARB: procedure(target: TGLenum; index: TGLuint; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7481. glGetProgramivARB: procedure(target: TGLenum; pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7482. glGetProgramStringARB: procedure(target: TGLenum; pname: TGLenum; _string: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7483. glGetVertexAttribdvARB: procedure(index: TGLuint; pname: TGLenum; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7484. glGetVertexAttribfvARB: procedure(index: TGLuint; pname: TGLenum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7485. glGetVertexAttribivARB: procedure(index: TGLuint; pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7486. glGetVertexAttribPointervARB: procedure(index: TGLuint; pname: TGLenum; _pointer: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7487. glIsProgramARB: function(_program: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7488. // GL_ARB_vertex_buffer_object (ARB #28)
  7489. glBindBufferARB: procedure(target: TGLenum; buffer: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7490. glDeleteBuffersARB: procedure(n: TGLsizei; const buffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7491. glGenBuffersARB: procedure(n: TGLsizei; buffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7492. glIsBufferARB: function(buffer: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7493. glBufferDataARB: procedure(target: TGLenum; size: TGLsizei; const data: Pointer; usage: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7494. glBufferSubDataARB: procedure(target: TGLenum; offset: TGLuint; size: TGLsizei; const data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7495. glGetBufferSubDataARB: procedure(target: TGLenum; offset: TGLuint; size: TGLsizei; data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7496. glMapBufferARB: function(target: TGLenum; access: TGLenum): Pointer; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7497. glUnmapBufferARB: function(target: TGLenum): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7498. glGetBufferParameterivARB: procedure(target: TGLenum; pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7499. glGetBufferPointervARB: procedure(target: TGLenum; pname: TGLenum; params: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7500. // GL_ARB_occlusion_query (ARB #29)
  7501. glGenQueriesARB: procedure(n: TGLsizei; ids: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7502. glDeleteQueriesARB: procedure(n: TGLsizei; const ids: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7503. glIsQueryARB: function(id: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7504. glBeginQueryARB: procedure(target: TGLenum; id: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7505. glEndQueryARB: procedure(target: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7506. glGetQueryivARB: procedure(target: TGLEnum; pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7507. glGetQueryObjectivARB: procedure(id: TGLuint; pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7508. glGetQueryObjectuivARB: procedure(id: TGLuint; pname: TGLenum; params: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7509. // GL_ARB_shader_objects (ARB #30)
  7510. glDeleteObjectARB: procedure(obj: TGLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7511. glGetHandleARB: function(pname: TGLenum): TGLhandleARB; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7512. glDetachObjectARB: procedure(containerObj: TGLhandleARB; attachedObj: TGLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7513. glCreateShaderObjectARB: function(shaderType: TGLenum): TGLhandleARB; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7514. glShaderSourceARB: procedure(shaderObj: TGLhandleARB; count: TGLsizei; const _string: PGLPCharArray; const length: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7515. glCompileShaderARB: procedure(shaderObj: TGLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7516. glCreateProgramObjectARB: function(): TGLhandleARB; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7517. glAttachObjectARB: procedure(containerObj: TGLhandleARB; obj: TGLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7518. glLinkProgramARB: procedure(programObj: TGLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7519. glUseProgramObjectARB: procedure(programObj: TGLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7520. glValidateProgramARB: procedure(programObj: TGLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7521. glUniform1fARB: procedure(location: TGLint; v0: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7522. glUniform2fARB: procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7523. glUniform3fARB: procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat; v2: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7524. glUniform4fARB: procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat; v2: TGLfloat; v3: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7525. glUniform1iARB: procedure(location: TGLint; v0: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7526. glUniform2iARB: procedure(location: TGLint; v0: TGLint; v1: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7527. glUniform3iARB: procedure(location: TGLint; v0: TGLint; v1: TGLint; v2: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7528. glUniform4iARB: procedure(location: TGLint; v0: TGLint; v1: TGLint; v2: TGLint; v3: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7529. glUniform1fvARB: procedure(location: TGLint; count: TGLsizei; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7530. glUniform2fvARB: procedure(location: TGLint; count: TGLsizei; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7531. glUniform3fvARB: procedure(location: TGLint; count: TGLsizei; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7532. glUniform4fvARB: procedure(location: TGLint; count: TGLsizei; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7533. glUniform1ivARB: procedure(location: TGLint; count: TGLsizei; value: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7534. glUniform2ivARB: procedure(location: TGLint; count: TGLsizei; value: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7535. glUniform3ivARB: procedure(location: TGLint; count: TGLsizei; value: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7536. glUniform4ivARB: procedure(location: TGLint; count: TGLsizei; value: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7537. glUniformMatrix2fvARB: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7538. glUniformMatrix3fvARB: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7539. glUniformMatrix4fvARB: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7540. glGetObjectParameterfvARB: procedure(obj: TGLhandleARB; pname: TGLenum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7541. glGetObjectParameterivARB: procedure(obj: TGLhandleARB; pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7542. glGetInfoLogARB: procedure(obj: TGLhandleARB; maxLength: TGLsizei; length: PGLsizei; infoLog: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7543. glGetAttachedObjectsARB: procedure(containerObj: TGLhandleARB; maxCount: TGLsizei; count: PGLsizei; obj: PGLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7544. glGetUniformLocationARB: function(programObj: TGLhandleARB; const name: PGLChar): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7545. glGetActiveUniformARB: procedure(programObj: TGLhandleARB; index: TGLuint; maxLength: TGLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7546. glGetUniformfvARB: procedure(programObj: TGLhandleARB; location: TGLint; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7547. glGetUniformivARB: procedure(programObj: TGLhandleARB; location: TGLint; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7548. glGetShaderSourceARB: procedure(obj: TGLhandleARB; maxLength: TGLsizei; length: PGLsizei; source: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7549. // GL_ARB_vertex_shader (ARB #31)
  7550. glBindAttribLocationARB: procedure(programObj: TGLhandleARB; index: TGLuint; const name: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7551. glGetActiveAttribARB: procedure(programObj: TGLhandleARB; index: TGLuint; maxLength: TGLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7552. glGetAttribLocationARB: function(programObj: TGLhandleARB; const name: PGLChar): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7553. // GL_ARB_DrawBuffers (ARB #37)
  7554. glDrawBuffersARB: procedure (n: TGLsizei; const bufs: PGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7555. // GL_ARB_color_buffer_float (ARB #39)
  7556. glClampColorARB: procedure (target: TGLenum; clamp: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7557. // GL_ARB_draw_instanced (ARB #44)
  7558. glDrawArraysInstancedARB: procedure(mode: TGLenum; first: TGLint; count: TGLsizei; primcount: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7559. glDrawElementsInstancedARB: procedure(mode: TGLenum; count: TGLSizei; _type: TGLenum; indices: PGLvoid; primcount: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7560. // GL_ARB_framebuffer_object (ARB #45)
  7561. glIsRenderbuffer: function(renderbuffer: TGLuint): TGLBoolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7562. glBindRenderbuffer: procedure(target: TGLenum; renderbuffer: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7563. glDeleteRenderbuffers: procedure(n: TGLsizei; renderbuffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7564. glGenRenderbuffers: procedure(n: TGLSizei; renderbuffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7565. glRenderbufferStorage: procedure(target: TGLenum; internalformat: TGLenum; width: TGLsizei; height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7566. glRenderbufferStorageMultisample: procedure(target: TGLenum; samples: TGLsizei; internalformat: TGLenum; width: TGLsizei; height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7567. glGetRenderbufferParameteriv: procedure(target: TGLenum; pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7568. glIsFramebuffer: function(framebuffer: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7569. glBindFramebuffer: procedure(target: TGLenum; framebuffer: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7570. glDeleteFramebuffers: procedure(n: TGLsizei; framebuffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7571. glGenFramebuffers: procedure(n: TGLsizei; framebuffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7572. glCheckFramebufferStatus: function(target: TGLenum): TGLenum; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7573. glFramebufferTexture1D: procedure(target: TGLenum; attachment: TGLenum; textarget: TGLenum; texture: TGLuint; level: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7574. glFramebufferTexture2D: procedure(target: TGLenum; attachment: TGLenum; textarget: TGLenum; texture: TGLuint; level: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7575. glFramebufferTexture3D: procedure(target: TGLenum; attachment: TGLenum; textarget: TGLenum; texture: TGLuint; level: TGLint; layer: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7576. glFramebufferTextureLayer: procedure(target: TGLenum; attachment: TGLenum; texture: TGLuint; level: TGLint; layer: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7577. glFramebufferRenderbuffer: procedure(target: TGLenum; attachment: TGLenum; renderbuffertarget: TGLenum; renderbuffer: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7578. glGetFramebufferAttachmentParameteriv: procedure(target: TGLenum; attachment: TGLenum; pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7579. glBlitFramebuffer: procedure(srcX0: TGLint; srcY0: TGLint; srcX1: TGLint; srcY1: TGLint; dstX0: TGLint; dstY0: TGLint; dstX1: TGLint; dstY1: TGLint; mask: TGLbitfield; filter: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7580. glGenerateMipmap: procedure(target: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7581. // GL_ARB_geometry_shader4 (ARB #47)
  7582. glProgramParameteriARB: procedure ( _program:TGLuint; pname:TGLenum; value: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7583. glFramebufferTextureARB: procedure ( target:TGLenum; attachment:TGLenum; texture:TGLuint; level:TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7584. glFramebufferTextureLayerARB: procedure ( target:TGLenum; attachment:TGLenum; texture:TGLuint; level:TGLint; layer:TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7585. glFramebufferTextureFaceARB: procedure ( target:TGLenum; attachment:TGLenum; texture:TGLuint; level:TGLint; face:TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7586. // GL_ARB_instanced_arrays (ARB #49)
  7587. glVertexAttribDivisorARB: procedure(index: TGLuint; divisor: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7588. // GL_ARB_map_buffer_range (ARB #50)
  7589. glMapBufferRange: function(target: TGLenum; offset: TGLint{ptr}; length: TGLsizei{ptr}; access: TGLbitfield ): Pointer;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7590. glFlushMappedBufferRange: procedure( target: TGLenum; offset: TGLint{ptr}; length: TGLsizei{ptr} );{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7591. // GL_ARB_texture_buffer_object (ARB #51)
  7592. glTexBufferARB: procedure(target: TGLenum; internalformat: TGLEnum; buffer: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7593. // GL_ARB_vertex_array_object (ARB #54)
  7594. glBindVertexArray: procedure(_array: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7595. glDeleteVertexArrays: procedure(n: TGLsizei; arrays: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7596. glGenVertexArrays: procedure(n: TGLsizei; arrays: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7597. glIsVertexArray: function(_array: TGLuint): TGLboolean;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7598. // GL_ARB_uniform_buffer_object (ARB #57)
  7599. glGetUniformIndices: procedure(_program: TGLuint; uniformCount: TGLsizei; uniformNames: PGLPCharArray; uniformIndices: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7600. glGetActiveUniformsiv: procedure(_program: TGLuint; uniformCount: TGLsizei; uniformIndices: PGLuint; pname: TGLenum; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7601. glGetActiveUniformName: procedure(_program: TGLuint; uniformIndex: TGLuint; bufSize: TGLsizei; length: PGLsizei; uniformName: PGLchar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7602. glGetUniformBlockIndex: function(_program: TGLuint; uniformBlockName: PGLchar): TGLuint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7603. glGetActiveUniformBlockiv: procedure(_program: TGLuint; uniformBlockIndex: TGLuint; pname: TGLenum; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7604. glGetActiveUniformBlockName: procedure(_program: TGLuint; uniformBlockIndex: TGLuint; bufSize: TGLsizei; length: PGLsizei; uniformBlockName: PGLchar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7605. glUniformBlockBinding: procedure(_program: TGLuint; uniformBlockIndex: TGLuint; uniformBlockBinding: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7606. // GL_ARB_copy_buffer (ARB #59)
  7607. glCopyBufferSubData: procedure(readTarget: TGLenum; writeTarget: TGLenum; readOffset: TGLintptr; writeOffset: TGLintptr; size: TGLsizeiptr);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7608. // GL_ARB_draw_elements_base_vertex (ARB #62)
  7609. glDrawElementsBaseVertex: procedure(mode: TGLenum; count: TGLsizei; _type: TGLenum; indices: PGLvoid; basevertex: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7610. glDrawRangeElementsBaseVertex: procedure(mode: TGLenum; start: TGLuint; _end: TGLuint; count: TGLsizei; _type: TGLenum; indices: PGLvoid; basevertex: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7611. glDrawElementsInstancedBaseVertex: procedure(mode: TGLenum; count: TGLsizei; _type: TGLenum; indices: PGLvoid; primcount: TGLsizei; basevertex: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7612. glMultiDrawElementsBaseVertex: procedure(mode: TGLenum; count: PGLsizei; _type: TGLenum; var indices; primcount: TGLsizei; basevertex: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7613. // GL_ARB_provoking_vertex (ARB #64)
  7614. glProvokingVertex: procedure(mode: TGLenum);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7615. // GL_ARB_sync (ARB #66)
  7616. glFenceSync: function(condition: TGLenum; flags: TGLbitfield): TGLsync;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7617. glIsSync: function(sync: TGLsync): TGLboolean;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7618. glDeleteSync: procedure(sync: TGLsync);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7619. glClientWaitSync: function(sync: TGLsync; flags: TGLbitfield; timeout: TGLuint64): TGLenum;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7620. glWaitSync: procedure(sync: TGLsync; flags: TGLbitfield; timeout: TGLuint64);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7621. glGetInteger64v: procedure(pname: TGLenum; params: PGLint64);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7622. glGetSynciv: procedure(sync: TGLsync; pname: TGLenum; bufSize: TGLsizei; length: PGLsizei; values: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7623. // GL_ARB_texture_multisample (ARB #67)
  7624. glTexImage2DMultisample: procedure(target: TGLenum; samples: TGLsizei; internalformat: TGLint; width: TGLsizei; height: TGLsizei;
  7625. fixedsamplelocations: TGLboolean);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7626. glTexImage3DMultisample: procedure(target: TGLenum; samples: TGLsizei; internalformat: TGLint; width: TGLsizei; height: TGLsizei; depth: TGLsizei;
  7627. fixedsamplelocations: TGLboolean);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7628. glGetMultisamplefv: procedure(pname: TGLenum; index: TGLuint; val: PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7629. glSampleMaski: procedure(index: TGLuint; mask: TGLbitfield);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7630. // GL_ARB_draw_buffers_blend (ARB #69)
  7631. glBlendEquationi: procedure(buf: TGLuint; mode: TGLenum);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7632. glBlendEquationSeparatei: procedure(buf: TGLuint; modeRGB: TGLenum; modeAlpha: TGLenum);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7633. glBlendFunci: procedure(buf: TGLuint; src: TGLenum; dst: TGLenum);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7634. glBlendFuncSeparatei: procedure(buf: TGLuint; srcRGB: TGLenum; dstRGB: TGLenum; srcAlpha: TGLenum; dstAlpha: TGLenum);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7635. // GL_ARB_sample_shading (ARB #70)
  7636. glMinSampleShading: procedure(value: TGLclampf);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7637. // GL_ARB_blend_func_extended (ARB #78)
  7638. glBindFragDataLocationIndexed: procedure (_program: TGLuint; colorNumber: TGLuint; index: TGLuint; const name: PGLchar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7639. glGetFragDataIndex: function (_program: TGLuint; const name: PGLchar): TGLint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7640. // GL_ARB_sampler_objects (ARB #81)
  7641. glGenSamplers: procedure(count: TGLsizei; samplers: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7642. glDeleteSamplers: procedure(count: TGLsizei; const samplers: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7643. glIsSampler: function(sampler: TGLuint): TGLboolean;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7644. glBindSampler: procedure(_unit: TGLuint; sampler: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7645. glSamplerParameteri: procedure(sampler: TGLuint; pname: TGLenum; param: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7646. glSamplerParameteriv: procedure(sampler: TGLuint; pname: TGLenum; const params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7647. glSamplerParameterf: procedure(sampler: TGLuint; pname: TGLenum; param: TGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7648. glSamplerParameterfv: procedure(sampler: TGLuint; pname: TGLenum; const params: PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7649. glSamplerParameterIiv: procedure(sampler: TGLuint; pname: TGLenum; const params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7650. glSamplerParameterIuiv: procedure(sampler: TGLuint; pname: TGLenum; const params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7651. glGetSamplerParameteriv: procedure(sampler: TGLuint; pname: TGLenum; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7652. glGetSamplerParameterIiv: procedure(sampler: TGLuint; pname: TGLenum; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7653. glGetSamplerParameterfv: procedure(sampler: TGLuint; pname: TGLenum; params: PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7654. glGetSamplerParameterIfv: procedure(sampler: TGLuint; pname: TGLenum; params: PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7655. // GL_ARB_timer_query (ARB #85)
  7656. glQueryCounter: procedure(id: TGLuint; target: TGLenum);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7657. glGetQueryObjecti64v: procedure(id: TGLuint; pname: TGLenum; params: PGLint64);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7658. glGetQueryObjectui64v: procedure(id: TGLuint; pname: TGLenum; params: PGLuint64);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7659. // GL_ARB_vertex_type_2_10_10_10_rev (ARB #86)
  7660. glVertexP2ui: procedure(_type: TGLenum; value: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7661. glVertexP2uiv: procedure(_type: TGLenum; const value: PGLuint );{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7662. glVertexP3ui: procedure(_type: TGLenum; value: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7663. glVertexP3uiv: procedure(_type: TGLenum; const value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7664. glVertexP4ui: procedure(_type: TGLenum; value: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7665. glVertexP4uiv: procedure(_type: TGLenum; const value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7666. glTexCoordP1ui: procedure(_type: TGLenum; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7667. glTexCoordP1uiv: procedure(_type: TGLenum; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7668. glTexCoordP2ui: procedure(_type: TGLenum; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7669. glTexCoordP2uiv: procedure(_type: TGLenum; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7670. glTexCoordP3ui: procedure(_type: TGLenum; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7671. glTexCoordP3uiv: procedure(_type: TGLenum; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7672. glTexCoordP4ui: procedure(_type: TGLenum; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7673. glTexCoordP4uiv: procedure(_type: TGLenum; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7674. glMultiTexCoordP1ui: procedure(texture: TGLenum; _type: TGLenum; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7675. glMultiTexCoordP1uiv: procedure(texture: TGLenum; _type: TGLenum; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7676. glMultiTexCoordP2ui: procedure(texture: TGLenum; _type: TGLenum; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7677. glMultiTexCoordP2uiv: procedure(texture: TGLenum; _type: TGLenum; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7678. glMultiTexCoordP3ui: procedure(texture: TGLenum; _type: TGLenum; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7679. glMultiTexCoordP3uiv: procedure(texture: TGLenum; _type: TGLenum; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7680. glMultiTexCoordP4ui: procedure(texture: TGLenum; _type: TGLenum; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7681. glMultiTexCoordP4uiv: procedure(texture: TGLenum; _type: TGLenum; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7682. glNormalP3ui: procedure(_type: TGLenum; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7683. glNormalP3uiv: procedure(_type: TGLenum; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7684. glColorP3ui: procedure(_type: TGLenum; color: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7685. glColorP3uiv: procedure(_type: TGLenum; const color: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7686. glColorP4ui: procedure(_type: TGLenum; color: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7687. glColorP4uiv: procedure(_type: TGLenum; const color: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7688. glSecondaryColorP3ui: procedure(_type: TGLenum; color: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7689. glSecondaryColorP3uiv: procedure(_type: TGLenum; const color: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7690. glVertexAttribP1ui: procedure(index: TGLuint; _type: TGLenum; normalized: TGLboolean; value: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7691. glVertexAttribP1uiv: procedure(index: TGLuint; _type: TGLenum; normalized: TGLboolean; const value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7692. glVertexAttribP2ui: procedure(index: TGLuint; _type: TGLenum; normalized: TGLboolean; value: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7693. glVertexAttribP2uiv: procedure(index: TGLuint; _type: TGLenum; normalized: TGLboolean; const value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7694. glVertexAttribP3ui: procedure(index: TGLuint; _type: TGLenum; normalized: TGLboolean; value: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7695. glVertexAttribP3uiv: procedure(index: TGLuint; _type: TGLenum; normalized: TGLboolean; const value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7696. glVertexAttribP4ui: procedure(index: TGLuint; _type: TGLenum; normalized: TGLboolean; value: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7697. glVertexAttribP4uiv: procedure(index: TGLuint; _type: TGLenum; normalized: TGLboolean; const value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7698. // GL_ARB_draw_indirect (ARB #87)
  7699. glDrawArraysIndirect: procedure(mode: TGLenum; const indirect: PGLvoid);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7700. glDrawElementsIndirect: procedure(mode: TGLenum; _type: TGLenum; const indirect: PGLvoid);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7701. // GL_ARB_gpu_shader_fp64 (ARB #89)
  7702. glUniform1d: procedure(location: TGLint; x: TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7703. glUniform2d: procedure(location: TGLint; x: TGLdouble; y: TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7704. glUniform3d: procedure(location: TGLint; x: TGLdouble; y: TGLdouble; z: TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7705. glUniform4d: procedure(location: TGLint; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7706. glUniform1dv: procedure(location: TGLint; count: TGLsizei; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7707. glUniform2dv: procedure(location: TGLint; count: TGLsizei; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7708. glUniform3dv: procedure(location: TGLint; count: TGLsizei; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7709. glUniform4dv: procedure(location: TGLint; count: TGLsizei; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7710. glUniformMatrix2dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7711. glUniformMatrix3dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7712. glUniformMatrix4dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7713. glUniformMatrix2x3dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7714. glUniformMatrix2x4dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7715. glUniformMatrix3x2dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7716. glUniformMatrix3x4dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7717. glUniformMatrix4x2dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7718. glUniformMatrix4x3dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7719. glGetUniformdv: procedure(_program: TGLuint; location: TGLint; params : PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7720. // glProgramUniformXXX only valid if EXT_direct_state_access is available
  7721. glProgramUniform1dEXT: procedure(_program: TGLuint; location: TGLint; x: TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7722. glProgramUniform2dEXT: procedure(_program: TGLuint; location: TGLint; x: TGLdouble; y: TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7723. glProgramUniform3dEXT: procedure(_program: TGLuint; location: TGLint; x: TGLdouble; y: TGLdouble; z: TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7724. glProgramUniform4dEXT: procedure(_program: TGLuint; location: TGLint; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7725. glProgramUniform1dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7726. glProgramUniform2dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7727. glProgramUniform3dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7728. glProgramUniform4dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7729. glProgramUniformMatrix2dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7730. glProgramUniformMatrix3dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7731. glProgramUniformMatrix4dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7732. glProgramUniformMatrix2x3dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7733. glProgramUniformMatrix2x4dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7734. glProgramUniformMatrix3x2dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7735. glProgramUniformMatrix3x4dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7736. glProgramUniformMatrix4x2dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7737. glProgramUniformMatrix4x3dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7738. // GL_ARB_shader_subroutine (ARB #90)
  7739. glGetSubroutineUniformLocation: function(_program: TGLuint; shadertype: TGLenum; const name: PGLchar): TGLint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7740. glGetSubroutineIndex: function(_program: TGLuint; shadertype: TGLenum; const name: PGLchar): TGLuint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7741. glGetActiveSubroutineUniformiv: procedure(_program: TGLuint; shadertype: TGLenum; index: TGLuint; pname: TGLenum; values: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7742. glGetActiveSubroutineUniformName: procedure(_program: TGLuint; shadertype: TGLenum; index: TGLuint; bufsize: TGLsizei; length: PGLsizei; name: PGLchar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7743. glGetActiveSubroutineName: procedure(_program: TGLuint; shadertype: TGLenum; index: TGLuint; bufsize: TGLsizei; length: PGLsizei; name: PGLchar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7744. glUniformSubroutinesuiv: procedure(shadertype: TGLenum; count: TGLsizei; const indices: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7745. glGetUniformSubroutineuiv: procedure(shadertype: TGLenum; location: TGLint; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7746. glGetProgramStageiv: procedure(_program: TGLuint; shadertype: TGLenum; pname: TGLenum; values: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7747. // GL_ARB_tessellation_shader (ARB #91)
  7748. glPatchParameteri: procedure(pname: TGLenum; value: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7749. glPatchParameterfv: procedure(pname: TGLenum; const values: PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7750. // GL_ARB_transform_feedback2 (ARB #93)
  7751. glBindTransformFeedback: procedure(target: TGLenum; id: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7752. glDeleteTransformFeedbacks: procedure(n: TGLsizei; const ids: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7753. glGenTransformFeedbacks: procedure(n: TGLsizei; ids: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7754. glIsTransformFeedback: function(id: TGLuint): TGLboolean;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7755. glPauseTransformFeedback: procedure();{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7756. glResumeTransformFeedback: procedure();{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7757. glDrawTransformFeedback: procedure(mode: TGLenum; id: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7758. // GL_ARB_transform_feedback3 (ARB #94)
  7759. glDrawTransformFeedbackStream: procedure(mode: TGLenum; id: TGLuint; stream: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7760. glBeginQueryIndexed: procedure(target: TGLenum; index: TGLuint; id: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7761. glEndQueryIndexed: procedure(target: TGLenum; index: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7762. glGetQueryIndexediv: procedure(target: TGLenum; index: TGLuint; pname: TGLenum; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7763. //--------------- OpenGL function/procedure definitions for Vendor/EXT extensions ------------------
  7764. // ###########################################################
  7765. // function and procedure definitions for
  7766. // Vendor/EXT extensions
  7767. // ###########################################################
  7768. // Unknown Vendor/EXT functions
  7769. glArrayElementArrayEXT: procedure(mode: TGLEnum; count: TGLsizei; pi: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7770. // GL_WIN_swap_hint (extension # not found)
  7771. glAddSwapHintRectWIN: procedure(x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7772. // GL_EXT_blend_color (EXT #2)
  7773. glBlendColorEXT: procedure(red, green, blue: TGLclampf; alpha: TGLclampf); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7774. // GL_EXT_polygon_offset (EXT #3)
  7775. glPolygonOffsetEXT: procedure(factor, bias: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7776. // GL_EXT_texture3D (EXT #6)
  7777. glTexImage3DEXT: procedure(target: TGLenum; level: TGLint; internalformat: TGLenum; width, height, depth: TGLsizei; border: TGLint; Format, AType: TGLenum; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7778. // GL_EXT_subtexture (EXT #9)
  7779. glTexSubImage1DEXT: procedure(target: TGLEnum; level, xoffset: TGLint; width: TGLsizei; format, Atype: TGLEnum; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7780. glTexSubImage2DEXT: procedure(target: TGLEnum; level, xoffset, yoffset: TGLint; width, height: TGLsizei; format, Atype: TGLEnum; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7781. glTexSubImage3DEXT: procedure(target: TGLEnum; level, xoffset, yoffset, zoffset: TGLint; width, height, depth: TGLsizei; format, Atype: TGLEnum; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7782. // GL_EXT_copy_texture (EXT #10)
  7783. glCopyTexImage1DEXT: procedure(target: TGLEnum; level: TGLint; internalFormat: TGLEnum; x, y: TGLint; width: TGLsizei; border: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7784. glCopyTexImage2DEXT: procedure(target: TGLEnum; level: TGLint; internalFormat: TGLEnum; x, y: TGLint; width, height: TGLsizei; border: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7785. glCopyTexSubImage1DEXT: procedure(target: TGLEnum; level, xoffset, x, y: TGLint; width: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7786. glCopyTexSubImage2DEXT: procedure(target: TGLEnum; level, xoffset, yoffset, x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7787. glCopyTexSubImage3DEXT: procedure(target: TGLEnum; level, xoffset, yoffset, zoffset, x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7788. // GL_EXT_texture_object (EXT #20)
  7789. glGenTexturesEXT: procedure(n: TGLsizei; textures: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7790. glDeleteTexturesEXT: procedure(n: TGLsizei; textures: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7791. glBindTextureEXT: procedure(target: TGLEnum; texture: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7792. glPrioritizeTexturesEXT: procedure(n: TGLsizei; textures: PGLuint; priorities: PGLclampf); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7793. glAreTexturesResidentEXT: function(n: TGLsizei; textures: PGLuint; residences: PGLBoolean): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7794. glIsTextureEXT: function(texture: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7795. // GL_SGIS_multisample (EXT #25)
  7796. glSampleMaskSGIS: procedure(Value: TGLclampf; invert: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7797. glSamplePatternSGIS: procedure(pattern: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7798. // GL_EXT_blend_minmax (EXT #37)
  7799. glBlendEquationEXT: procedure(mode: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7800. // GL_EXT_paletted_texture (EXT #78)
  7801. glColorTableEXT: procedure(target, internalFormat: TGLEnum; width: TGLsizei; format, atype: TGLEnum; data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7802. glColorSubTableExt: procedure(target: TGLEnum; start, count: TGLsizei; format, atype: TGLEnum; data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7803. glGetColorTableEXT: procedure(target, format, atype: TGLEnum; data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7804. glGetColorTableParameterfvEXT: procedure(target, pname: TGLenum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7805. glGetColorTableParameterivEXT: procedure(target, pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7806. // glGetColorTableParameterfvEXT: procedure(target, pname: TGLEnum; params: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7807. // glGetColorTableParameterivEXT: procedure(target, pname: TGLEnum; params: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7808. // GL_EXT_index_material (EXT #94)
  7809. glIndexMaterialEXT: procedure(face: TGLEnum; mode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7810. // GL_EXT_index_func (EXT #95)
  7811. glIndexFuncEXT: procedure(func: TGLEnum; ref: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7812. // GL_EXT_compiled_vertex_array (EXT #97)
  7813. glLockArraysEXT: procedure(first: TGLint; count: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7814. glUnlockArraysEXT: procedure; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7815. // GL_EXT_draw_range_elements (EXT #112)
  7816. glDrawRangeElementsEXT: procedure(mode: TGLenum; start, Aend: TGLuint; Count: TGLsizei; Atype: TGLenum; indices: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7817. // GL_EXT_scene_marker (EXT #120)
  7818. glBeginSceneEXT: procedure; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7819. glEndSceneEXT: procedure; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7820. // GL_EXT_secondary_color (EXT #145)
  7821. glSecondaryColor3bEXT: procedure(red, green, blue: TGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7822. glSecondaryColor3bvEXT: procedure(v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7823. glSecondaryColor3dEXT: procedure(red, green, blue: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7824. glSecondaryColor3dvEXT: procedure(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7825. glSecondaryColor3fEXT: procedure(red, green, blue: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7826. glSecondaryColor3fvEXT: procedure(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7827. glSecondaryColor3iEXT: procedure(red, green, blue: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7828. glSecondaryColor3ivEXT: procedure(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7829. glSecondaryColor3sEXT: procedure(red, green, blue: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7830. glSecondaryColor3svEXT: procedure(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7831. glSecondaryColor3ubEXT: procedure(red, green, blue: TGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7832. glSecondaryColor3ubvEXT: procedure(v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7833. glSecondaryColor3uiEXT: procedure(red, green, blue: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7834. glSecondaryColor3uivEXT: procedure(v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7835. glSecondaryColor3usEXT: procedure(red, green, blue: TGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7836. glSecondaryColor3usvEXT: procedure(v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7837. glSecondaryColorPointerEXT: procedure(Size: TGLint; Atype: TGLenum; stride: TGLsizei; p: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7838. // GL_EXT_multi_draw_arrays (EXT #148)
  7839. glMultiDrawArraysEXT: procedure(mode: TGLenum; First: PGLint; Count: PGLsizei; primcount: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7840. glMultiDrawElementsEXT: procedure(mode: TGLenum; Count: PGLsizei; AType: TGLenum; var indices; primcount: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7841. // GL_EXT_fog_coord (EXT #149)
  7842. glFogCoordfEXT: procedure(coord: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7843. glFogCoordfvEXT: procedure(coord: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7844. glFogCoorddEXT: procedure(coord: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7845. glFogCoorddvEXT: procedure(coord: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7846. glFogCoordPointerEXT: procedure(AType: TGLenum; stride: TGLsizei; p: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7847. // GL_EXT_blend_func_separate (EXT #173)
  7848. glBlendFuncSeparateEXT: procedure(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7849. // GL_NV_vertex_array_range (EXT #190)
  7850. glFlushVertexArrayRangeNV: procedure; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7851. glVertexArrayRangeNV: procedure(Size: TGLsizei; p: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7852. wglAllocateMemoryNV: function(size: TGLsizei; readFrequency, writeFrequency, priority: Single): Pointer; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7853. wglFreeMemoryNV: procedure(ptr: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7854. // GL_NV_register_combiners (EXT #191)
  7855. glCombinerParameterfvNV: procedure(pname: TGLenum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7856. glCombinerParameterfNV: procedure(pname: TGLenum; param: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7857. glCombinerParameterivNV: procedure(pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7858. glCombinerParameteriNV: procedure(pname: TGLenum; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7859. glCombinerInputNV: procedure(stage, portion, variable, input, mapping, componentUsage: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7860. glCombinerOutputNV: procedure(stage, portion, abOutput, cdOutput, sumOutput, scale, bias: TGLenum; abDotProduct, cdDotProduct, muxSum: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7861. glFinalCombinerInputNV: procedure(variable, input, mapping, componentUsage: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7862. glGetCombinerInputParameterfvNV: procedure(stage, portion, variable, pname: TGLenum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7863. glGetCombinerInputParameterivNV: procedure(stage, portion, variable, pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7864. glGetCombinerOutputParameterfvNV: procedure(stage, portion, pname: TGLenum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7865. glGetCombinerOutputParameterivNV: procedure(stage, portion, pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7866. glGetFinalCombinerInputParameterfvNV: procedure(variable, pname: TGLenum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7867. glGetFinalCombinerInputParameterivNV: procedure(variable, pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7868. // GL_MESA_resize_buffers (EXT #196)
  7869. glResizeBuffersMESA: procedure; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7870. // GL_3DFX_tbuffer (EXT #208)
  7871. glTbufferMask3DFX: procedure(mask: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7872. // GL_EXT_multisample (EXT #209)
  7873. glSampleMaskEXT: procedure(Value: TGLclampf; invert: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7874. glSamplePatternEXT: procedure(pattern: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7875. // GL_SGIS_texture_color_mask (EXT #214)
  7876. glTextureColorMaskSGIS: procedure(red, green, blue, alpha: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7877. // GL_NV_fence (EXT #222)
  7878. glGenFencesNV: procedure(n: TGLsizei; fences: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7879. glDeleteFencesNV: procedure(n: TGLsizei; fences: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7880. glSetFenceNV: procedure(fence: TGLuint; condition: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7881. glTestFenceNV: function(fence: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7882. glFinishFenceNV: procedure(fence: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7883. glIsFenceNV: function(fence: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7884. glGetFenceivNV: procedure(fence: TGLuint; pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7885. // GL_NV_vertex_program (EXT #233)
  7886. glAreProgramsResidentNV: procedure(n: TGLSizei; programs: PGLuint; residences: PGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7887. glBindProgramNV: procedure(target: TGLenum; id: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7888. glDeleteProgramsNV: procedure(n: TGLSizei; programs: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7889. glExecuteProgramNV: procedure(target: TGLenum; id: TGLuint; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7890. glGenProgramsNV: procedure(n: TGLSizei; programs: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7891. glGetProgramParameterdvNV: procedure (target: TGLenum; index: TGLuint; pname: TGLenum; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7892. glGetProgramParameterfvNV: procedure (target: TGLenum; index: TGLuint; pname: TGLenum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7893. glGetProgramivNV: procedure (id: TGLuint; pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7894. glGetProgramStringNV: procedure (id: TGLuint; pname: TGLenum; programIdx: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7895. glGetTrackMatrixivNV: procedure (target: TGLenum; address: TGLuint; pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7896. glGetVertexAttribdvNV: procedure (index: TGLuint; pname: TGLenum; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7897. glGetVertexAttribfvNV: procedure (index: TGLuint; pname: TGLenum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7898. glGetVertexAttribivNV: procedure (index: TGLuint; pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7899. glGetVertexAttribPointervNV: procedure (index: TGLuint; pname: TGLenum; pointer: PGLPointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7900. glIsProgramNV: function (id: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7901. glLoadProgramNV: procedure (target: TGLenum; id: TGLuint; len: TGLSizei; programIdx: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7902. glProgramParameter4dNV: procedure (target: TGLenum; index: TGLuint; x, y, z, w: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7903. glProgramParameter4dvNV: procedure (target: TGLenum; index: TGLuint; v: PGLdouble ); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7904. glProgramParameter4fNV: procedure (target: TGLenum; index: TGLuint; x, y, z, w: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7905. glProgramParameter4fvNV: procedure (target: TGLenum; index: TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7906. glProgramParameters4dvNV: procedure (target: TGLenum; index: TGLuint; count: TGLSizei; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7907. glProgramParameters4fvNV: procedure (target: TGLenum; index: TGLuint; count: TGLSizei; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7908. glRequestResidentProgramsNV: procedure (n: TGLSizei; programs: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7909. glTrackMatrixNV: procedure (target: TGLenum; address: TGLuint; matrix: TGLenum; transform: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7910. glVertexAttribPointerNV: procedure (index: TGLuint; fsize: TGLint; vertextype: TGLenum; stride: TGLSizei; pointer: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7911. glVertexAttrib1dNV: procedure (index: TGLuint; x: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7912. glVertexAttrib1dvNV: procedure (index: TGLuint; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7913. glVertexAttrib1fNV: procedure (index: TGLuint; x: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7914. glVertexAttrib1fvNV: procedure (index: TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7915. glVertexAttrib1sNV: procedure (index: TGLuint; x: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7916. glVertexAttrib1svNV: procedure (index: TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7917. glVertexAttrib2dNV: procedure (index: TGLuint; x: TGLdouble; y: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7918. glVertexAttrib2dvNV: procedure (index: TGLuint; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7919. glVertexAttrib2fNV: procedure (index: TGLuint; x: TGLfloat; y: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7920. glVertexAttrib2fvNV: procedure (index: TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7921. glVertexAttrib2sNV: procedure (index: TGLuint; x: TGLshort; y: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7922. glVertexAttrib2svNV: procedure (index: TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7923. glVertexAttrib3dNV: procedure (index: TGLuint; x: TGLdouble; y: TGLdouble; z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7924. glVertexAttrib3dvNV: procedure (index: TGLuint; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7925. glVertexAttrib3fNV: procedure (index: TGLuint; x: TGLfloat; y: TGLfloat; z: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7926. glVertexAttrib3fvNV: procedure (index: TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7927. glVertexAttrib3sNV: procedure (index: TGLuint; x: TGLshort; y: TGLshort; z: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7928. glVertexAttrib3svNV: procedure (index: TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7929. glVertexAttrib4dNV: procedure (index: TGLuint; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7930. glVertexAttrib4dvNV: procedure (index: TGLuint; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7931. glVertexAttrib4fNV: procedure(index: TGLuint; x: TGLfloat; y: TGLfloat; z: TGLfloat; w: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7932. glVertexAttrib4fvNV: procedure(index: TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7933. glVertexAttrib4sNV: procedure (index: TGLuint; x: TGLshort; y: TGLshort; z: TGLdouble; w: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7934. glVertexAttrib4svNV: procedure (index: TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7935. glVertexAttrib4ubvNV: procedure (index: TGLuint; v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7936. glVertexAttribs1dvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7937. glVertexAttribs1fvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7938. glVertexAttribs1svNV: procedure (index: TGLuint; count: TGLSizei; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7939. glVertexAttribs2dvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7940. glVertexAttribs2fvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7941. glVertexAttribs2svNV: procedure (index: TGLuint; count: TGLSizei; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7942. glVertexAttribs3dvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7943. glVertexAttribs3fvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7944. glVertexAttribs3svNV: procedure (index: TGLuint; count: TGLSizei; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7945. glVertexAttribs4dvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7946. glVertexAttribs4fvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7947. glVertexAttribs4svNV: procedure (index: TGLuint; count: TGLSizei; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7948. glVertexAttribs4ubvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7949. // GL_NV_occlusion_query (EXT #261)
  7950. glGenOcclusionQueriesNV: procedure(n: TGLsizei; ids: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7951. glDeleteOcclusionQueriesNV: procedure(n: TGLsizei; const ids: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7952. glIsOcclusionQueryNV: function(id: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7953. glBeginOcclusionQueryNV: procedure(id: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7954. glEndOcclusionQueryNV: procedure; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7955. glGetOcclusionQueryivNV: procedure(id: TGLuint; pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7956. glGetOcclusionQueryuivNV: procedure(id: TGLuint; pname: TGLenum; params: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7957. // GL_NV_point_sprite (EXT #262)
  7958. glPointParameteriNV: procedure(pname: TGLenum; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7959. glPointParameterivNV: procedure(pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7960. // GL_EXT_stencil_two_side (EXT #268)
  7961. glActiveStencilFaceEXT: procedure(face: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7962. // GL_ATI_draw_buffers (EXT #277)
  7963. glDrawBuffersATI: procedure(n: TGLsizei; const bufs: PGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7964. // GL_NV_primitive_restart (EXT #285)
  7965. glPrimitiveRestartNV: procedure();{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7966. glPrimitiveRestartIndexNV: procedure(index: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7967. // GL_EXT_depth_bounds_test (EXT #297)
  7968. glDepthBoundsEXT: procedure(zmin: TGLclampd; zmax: TGLclampd);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7969. // GL_EXT_blend_equation_separate (EXT #299)
  7970. glBlendEquationSeparateEXT: procedure(modeRGB: TGLenum; modeAlpha: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7971. // GL_EXT_framebuffer_object (EXT #310)
  7972. glIsRenderbufferEXT: function(renderbuffer: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7973. glBindRenderbufferEXT: procedure(target: TGLenum; renderbuffer: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7974. glDeleteRenderbuffersEXT: procedure(n: TGLsizei; renderbuffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7975. glGenRenderbuffersEXT: procedure(n: TGLsizei; renderbuffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7976. glRenderbufferStorageEXT: procedure(target: TGLenum; internalformat: TGLenum; width: TGLsizei; height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7977. glGetRenderbufferParameterivEXT: procedure(target: TGLenum; pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7978. glIsFramebufferEXT: function(framebuffer: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7979. glBindFramebufferEXT: procedure(target: TGLenum; framebuffer: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7980. glDeleteFramebuffersEXT: procedure(n: TGLsizei; framebuffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7981. glGenFramebuffersEXT: procedure(n: TGLsizei; framebuffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7982. glCheckFramebufferStatusEXT: function(target: TGLenum): TGLenum; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7983. glFramebufferTexture1DEXT: procedure(target: TGLenum; attachment: TGLenum; textarget: TGLenum; texture: TGLuint; level: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7984. glFramebufferTexture2DEXT: procedure(target: TGLenum; attachment: TGLenum; textarget: TGLenum; texture: TGLuint; level: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7985. glFramebufferTexture3DEXT: procedure(target: TGLenum; attachment: TGLenum; textarget: TGLenum; texture: TGLuint; level: TGLint; zoffset: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7986. glFramebufferRenderbufferEXT: procedure(target: TGLenum; attachment: TGLenum; renderbuffertarget: TGLenum; renderbuffer: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7987. glGetFramebufferAttachmentParameterivEXT: procedure(target: TGLenum; attachment: TGLenum; pname: TGLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7988. glGenerateMipmapEXT: procedure(target: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7989. // GL_EXT_stencil_clear_tag (EXT #314)
  7990. glStencilClearTagEXT: procedure(stencilTagBits: TGLsizei; stencilClearTag: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7991. // GL_EXT_framebuffer_blit (#316)
  7992. glBlitFramebufferEXT: procedure(srcX0: TGLint; srcY0: TGLint; srcX1: TGLint; srcY1: TGLint; dstX0: TGLint; dstY0: TGLint; dstX1: TGLint; dstY1: TGLint;
  7993. mask: TGLbitfield; filter: TGLenum);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7994. // GL_EXT_framebuffer_multisample (#317)
  7995. glRenderbufferStorageMultisampleEXT: procedure(target: TGLenum; samples: TGLsizei; internalformat: TGLenum; width: TGLsizei; height: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7996. // GL_EXT_timer_query (#319)
  7997. glGetQueryObjecti64vEXT: procedure(id: TGLuint; pname: TGLenum; params: PGLint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7998. glGetQueryObjectui64vEXT: procedure(id: TGLuint; pname: TGLenum; params: PGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7999. // GL_EXT_gpu_program_parameters (EXT #320)
  8000. glProgramEnvParameters4fvEXT: procedure(target:TGLenum; index:TGLuint; count:TGLsizei; const params:PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8001. glProgramLocalParameters4fvEXT: procedure(target:TGLenum; index:TGLuint; count:TGLsizei; const params:PGLFloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8002. // GL_NV_geometry_program4 (EXT #323)
  8003. glProgramVertexLimitNV: procedure (target: TGLenum; limit: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8004. // GL_EXT_geometry_shader4 (EXT #324)
  8005. glProgramParameteriEXT: procedure ( _program:TGLuint; pname:TGLenum; value: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8006. glFramebufferTextureEXT: procedure ( target:TGLenum; attachment:TGLenum; texture:TGLuint; level:TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8007. glFramebufferTextureLayerEXT: procedure ( target:TGLenum; attachment:TGLenum; texture:TGLuint; level:TGLint; layer:TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8008. glFramebufferTextureFaceEXT: procedure ( target:TGLenum; attachment:TGLenum; texture:TGLuint; level:TGLint; face:TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8009. // GL_EXT_gpu_shader4 (EXT #326)
  8010. glVertexAttribI1iEXT: procedure(index: TGLuint; x: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8011. glVertexAttribI2iEXT: procedure(index: TGLuint; x: TGLint; y: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8012. glVertexAttribI3iEXT: procedure(index: TGLuint; x: TGLint; y: TGLint; z: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8013. glVertexAttribI4iEXT: procedure(index: TGLuint; x: TGLint; y: TGLint; z: TGLint; w: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8014. glVertexAttribI1uiEXT: procedure(index: TGLuint; x: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8015. glVertexAttribI2uiEXT: procedure(index: TGLuint; x: TGLuint; y: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8016. glVertexAttribI3uiEXT: procedure(index: TGLuint; x: TGLuint; y: TGLuint; z: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8017. glVertexAttribI4uiEXT: procedure(index: TGLuint; x: TGLuint; y: TGLuint; z: TGLuint; w: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8018. glVertexAttribI1ivEXT: procedure(index: TGLuint; v:PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8019. glVertexAttribI2ivEXT: procedure(index: TGLuint; v:PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8020. glVertexAttribI3ivEXT: procedure(index: TGLuint; v:PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8021. glVertexAttribI4ivEXT: procedure(index: TGLuint; v:PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8022. glVertexAttribI1uivEXT: procedure(index: TGLuint; v:PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8023. glVertexAttribI2uivEXT: procedure(index: TGLuint; v:PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8024. glVertexAttribI3uivEXT: procedure(index: TGLuint; v:PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8025. glVertexAttribI4uivEXT: procedure(index: TGLuint; v:PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8026. glVertexAttribI4bvEXT: procedure(index: TGLuint; v:PGLbyte);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8027. glVertexAttribI4svEXT: procedure(index: TGLuint; v:PGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8028. glVertexAttribI4ubvEXT: procedure(index: TGLuint; v: PGLUbyte);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8029. glVertexAttribI4usvEXT: procedure(index: TGLuint; v: PGLushort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8030. glVertexAttribIPointerEXT: procedure(index: TGLuint; size: TGLint; _type: TGLenum;
  8031. stride: TGLsizei; _pointer: pointer);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8032. glGetVertexAttribIivEXT: procedure(index: TGLuint; pname: TGLenum; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8033. glGetVertexAttribIuivEXT: procedure(index: TGLuint; pname: TGLenum; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8034. glUniform1uiEXT: procedure(location: TGLInt; v0: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8035. glUniform2uiEXT: procedure(location: TGLInt; v0: TGLuint; v1: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8036. glUniform3uiEXT: procedure(location: TGLInt; v0: TGLuint; v1: TGLuint; v2: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8037. glUniform4uiEXT: procedure(location: TGLInt; v0: TGLuint; v1: TGLuint; v2: TGLuint; v3: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8038. glUniform1uivEXT: procedure(location: TGLInt; count: TGLsizei; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8039. glUniform2uivEXT: procedure(location: TGLInt; count: TGLsizei; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8040. glUniform3uivEXT: procedure(location: TGLInt; count: TGLsizei; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8041. glUniform4uivEXT: procedure(location: TGLInt; count: TGLsizei; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8042. glGetUniformuivEXT: procedure(_program: TGLuint; location: TGLint; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8043. glBindFragDataLocationEXT: procedure(_program: TGLuint; colorNumber: TGLuint; name: PGLChar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8044. glGetFragDataLocationEXT: function(_program: TGLuint; name: PGLChar): TGLint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8045. // GL_EXT_draw_instanced (#327)
  8046. glDrawArraysInstancedEXT: procedure(mode: TGLenum; first: TGLint; count: TGLsizei; primcount: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8047. glDrawElementsInstancedEXT: procedure(mode: TGLenum; count: TGLSizei; _type: TGLenum; indices: PGLvoid; primcount: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8048. // GL_EXT_packed_float (#328)
  8049. // WGL_EXT_pixel_format_packed_float
  8050. // GLX_EXT_fbconfig_packed_float
  8051. // GL_EXT_texture_array (#329)
  8052. //glFramebufferTextureLayerEXT: procedure(target: TGLenum; attachment: TGLenum;
  8053. // texture: TGLuint; level: TGLint; layer: TGLint);
  8054. // GL_EXT_texture_buffer_object (#330)
  8055. glTexBufferEXT: procedure(target: TGLenum; internalformat: TGLenum; buffer: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8056. // GL_EXT_draw_buffers2 (#340)
  8057. glColorMaskIndexedEXT: procedure(buf: TGLuint; r: TGLboolean; g: TGLboolean; b: TGLboolean; a: TGLboolean);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8058. glGetBooleanIndexedvEXT: procedure(value: TGLenum; index: TGLuint; data: PGLboolean);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8059. glGetIntegerIndexedvEXT: procedure(value: TGLenum; index: TGLuint; data: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8060. glEnableIndexedEXT: procedure(target: TGLenum; index: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8061. glDisableIndexedEXT: procedure(target: TGLenum; index: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8062. glIsEnabledIndexedEXT: function(target: TGLenum; index: TGLuint): TGLboolean;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8063. // GL_NV_transform_feedback (#341)
  8064. glBindBufferRangeNV: procedure(target: TGLenum; index: TGLuint; buffer: TGLuint; offset: TGLintptr; size: TGLsizeiptr);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8065. glBindBufferOffsetNV: procedure(target: TGLenum; index: TGLuint; buffer: TGLuint; offset: TGLintptr);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8066. glBindBufferBaseNV: procedure(target: TGLenum; index: TGLuint; buffer: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8067. glTransformFeedbackAttribsNV: procedure(count: TGLsizei; attribs: PGLint; bufferMode: TGLenum);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8068. glTransformFeedbackVaryingsNV: procedure(_program: TGLuint; count: TGLsizei; locations: PGLint; bufferMode: TGLenum);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8069. glBeginTransformFeedbackNV: procedure(primitiveMode: TGLenum);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8070. glEndTransformFeedbackNV: procedure();{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8071. glGetVaryingLocationNV: function(_program: TGLuint; name: PGLChar): TGLint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8072. glGetActiveVaryingNV: procedure(_program: TGLuint; index: TGLuint; bufSize: TGLsizei; length: PGLsizei; size: PGLsizei; _type: TGLenum; name: PGLChar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8073. glActiveVaryingNV: procedure(_program: TGLuint; name: PGLChar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8074. glGetTransformFeedbackVaryingNV: procedure(_program: TGLuint; index: TGLuint; location: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8075. // GL_EXT_bindable_uniform (#342)
  8076. glUniformBufferEXT: procedure(_program: TGLUint; location: TGLint; buffer: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8077. glGetUniformBufferSizeEXT: function(_program: TGLuint; location: TGLint): TGLint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8078. glGetUniformOffsetEXT: function(_program: TGLuint; location: TGLint): PGLint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8079. // GL_EXT_texture_integer (#343)
  8080. glClearColorIiEXT: procedure(r: TGLint; g: TGLint; b: TGLint; a: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8081. glClearColorIuiEXT: procedure(r: TGLuint; g: TGLuint; b: TGLuint; a: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8082. glTexParameterIivEXT: procedure(target: TGLenum; pname: TGLenum; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8083. glTexParameterIuivEXT: procedure(target: TGLenum; pname: TGLenum; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8084. glGetTexParameterIivEXT: procedure(target: TGLenum; pname: TGLenum; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8085. glGetTexParameterIuivEXT: procedure(target: TGLenum; pname: TGLenum; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8086. // GL_NV_conditional_render (#346)
  8087. glBeginConditionalRenderNV: procedure(id: TGLuint; mode: TGLenum);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8088. glEndConditionalRenderNV: procedure();{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8089. // GL_EXT_transform_feedback (#352)
  8090. glBindBufferRangeEXT: procedure(target: TGLenum; index: TGLuint; buffer: TGLuint;
  8091. offset:TGLintptr; size: TGLsizeiptr);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8092. glBindBufferOffsetEXT: procedure(target: TGLenum; index: TGLuint; buffer: TGLuint; offset:TGLintptr);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8093. glBindBufferBaseEXT: procedure(target: TGLenum; index: TGLuint; buffer: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8094. glBeginTransformFeedbackEXT: procedure(primitiveMode: TGLenum);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8095. glEndTransformFeedbackEXT: procedure();{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8096. glTransformFeedbackVaryingsEXT: procedure(_program: TGLuint; count: TGLsizei; const varyings: PGLPCharArray; bufferMode: TGLenum);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8097. glGetTransformFeedbackVaryingEXT: procedure(_program: TGLuint; index: TGLuint; bufSize: TGLsizei; length: PGLsizei; size: PGLsizei; _type: PGLenum; name: PGLChar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8098. // GL_AMD_vertex_shader_tessellator (#363)
  8099. glTessellationFactorAMD: procedure(factor: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8100. glTessellationModeAMD: procedure(mode: TGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8101. // GL_NV_copy_image (#376)
  8102. glCopyImageSubDataNV: procedure(srcName: TGLuint; srcTarget: TGLenum; srcLevel: TGLint; srcX: TGLint; srcY: TGLint; srcZ: TGLint; dstName: TGLuint; dstTarget: TGLenum; dstLevel: TGLint; dstX: TGLint; dstY: TGLint; dstZ: TGLint;
  8103. width: TGLsizei; height: TGLsizei; depth: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8104. // GL_NV_shader_buffer_load (#379)
  8105. glMakeBufferResidentNV: procedure(target: TGLenum; access: TGLenum);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8106. glMakeBufferNonResidentNV: procedure(target: TGLenum);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8107. glIsBufferResidentNV: function(target: TGLenum): TGLboolean;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8108. glMakeNamedBufferResidentNV: procedure(buffer: TGLuint; access: TGLenum);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8109. glMakeNamedBufferNonResidentNV: procedure(buffer: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8110. glIsNamedBufferResidentNV: function (buffer: TGLuint): TGLboolean;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8111. glGetBufferParameterui64vNV: procedure(target: TGLenum; pname: TGLenum; params: PGLuint64EXT );{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8112. glGetNamedBufferParameterui64vNV: procedure(buffer: TGLuint; pname: TGLenum; params: PGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8113. glGetIntegerui64vNV: procedure(value: TGLenum; result: PGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8114. glUniformui64NV: procedure(location: TGLint; value: TGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8115. glUniformui64vNV: procedure(location: TGLint; count: TGLsizei; const value: PGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8116. glGetUniformui64vNV: procedure(_program: TGLuint; location: TGLint; params: PGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8117. glProgramUniformui64NV: procedure(_program: TGLuint; location: TGLint; value: TGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8118. glProgramUniformui64vNV: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; const value: PGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8119. // GL_NV_vertex_buffer_unified_memory (#380)
  8120. glBufferAddressRangeNV: procedure(pname: TGLenum; index: TGLuint; address: TGLuint64EXT; length: TGLsizeiptr);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8121. glVertexFormatNV: procedure(size: TGLint; _type: TGLenum; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8122. glNormalFormatNV: procedure(_type: TGLenum; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8123. glColorFormatNV: procedure(size: TGLint; _type: TGLenum; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8124. glIndexFormatNV: procedure(_type: TGLenum; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8125. glTexCoordFormatNV: procedure(size: TGLint; _type: TGLenum; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8126. glEdgeFlagFormatNV: procedure(stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8127. glSecondaryColorFormatNV: procedure(size: TGLint; _type: TGLenum; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8128. glFogCoordFormatNV: procedure(_type: TGLenum; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8129. glVertexAttribFormatNV: procedure(index: TGLuint; size: TGLint; _type: TGLenum; normalized: TGLboolean; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8130. glVertexAttribIFormatNV: procedure(index: TGLuint; size: TGLint; _type: TGLenum; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8131. glGetIntegerui64i_vNV: procedure(value: TGLenum; index: TGLuint; result: PGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8132. // Special Gremedy debugger extension
  8133. glFrameTerminatorGREMEDY: procedure(); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8134. glStringMarkerGREMEDY: procedure(len: TGLsizei; str: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8135. //------------------------------------------------------------------------------
  8136. function GLGetProcAddress(ProcName: PGLChar): Pointer;
  8137. procedure ReadExtensions;
  8138. procedure ReadImplementationProperties;
  8139. {$IFDEF SUPPORT_WGL}
  8140. procedure ReadWGLExtensions;
  8141. procedure ReadWGLImplementationProperties;
  8142. {$ENDIF}
  8143. {$IFDEF SUPPORT_GLX}
  8144. procedure ReadGLXExtensions;
  8145. procedure ReadGLXImplementationProperties;
  8146. {$ENDIF}
  8147. procedure CloseOpenGL;
  8148. function InitOpenGL : Boolean;
  8149. function InitOpenGLFromLibrary(const GLName, GLUName : String) : Boolean;
  8150. function IsOpenGLInitialized: Boolean;
  8151. // compatibility routines
  8152. procedure UnloadOpenGL;
  8153. function LoadOpenGL : Boolean;
  8154. function LoadOpenGLFromLibrary(const GLName, GLUName: String): Boolean;
  8155. function IsOpenGLLoaded : Boolean;
  8156. function IsMesaGL : Boolean;
  8157. procedure TrimAndSplitVersionString(Buffer: String; out Max, Min: Integer);
  8158. function IsVersionMet(MajorVersion,MinorVersion, actualMajorVersion, actualMinorVersion:Integer): boolean;
  8159. function IsOpenGLVersionMet(MajorVersion,MinorVersion: Integer): boolean;
  8160. type
  8161. EOpenGLError = class(Exception);
  8162. procedure CheckOpenGLError; //Gets the oldest error and tries to clear the error queue
  8163. procedure ClearGLError; //Clears all pending OpenGL errors
  8164. procedure RaiseOpenGLError(const msg : String); //Raises an EOpenGLError with 'msg' error string
  8165. var
  8166. vIgnoreOpenGLErrors : Boolean = false;
  8167. // ------------------------------------------------------------------
  8168. implementation
  8169. // ------------------------------------------------------------------
  8170. // ************** Windows specific ********************
  8171. {$IFDEF MSWINDOWS}
  8172. const
  8173. INVALID_MODULEHANDLE = 0;
  8174. var
  8175. GLHandle: HINST;
  8176. GLUHandle: HINST;
  8177. function GLGetProcAddress(ProcName: PGLChar):Pointer;
  8178. begin
  8179. result := wglGetProcAddress(ProcName);
  8180. end;
  8181. {$ENDIF}
  8182. // ************** UNIX specific ********************
  8183. {$IFDEF Unix}
  8184. const
  8185. INVALID_MODULEHANDLE = 0;//nil;
  8186. var
  8187. GLHandle: TLibHandle = 0;//Pointer;
  8188. GLUHandle: TLibHandle = 0;//Pointer;
  8189. function GLGetProcAddress(ProcName: PGLChar):Pointer;
  8190. begin
  8191. {$IFDEF SUPPORT_GLX}
  8192. if @glXGetProcAddress<>nil then
  8193. result := glXGetProcAddress(ProcName);
  8194. if result <> nil then exit;
  8195. if @glXGetProcAddressARB<>nil then
  8196. result := glXGetProcAddressARB(ProcName);
  8197. if result <> nil then exit;
  8198. {$ENDIF}
  8199. result := GetProcAddress(GLHandle, ProcName);
  8200. end;
  8201. {$ENDIF}
  8202. procedure CheckOpenGLError;
  8203. var
  8204. GLError : LongWord;
  8205. Count : Word;
  8206. begin
  8207. GLError:=glGetError;
  8208. if GLError <> GL_NO_ERROR then begin
  8209. Count:=0;
  8210. // Because under some circumstances reading the error code creates a new error
  8211. // and thus hanging up the thread, we limit the loop to 6 reads.
  8212. try
  8213. while (glGetError <> GL_NO_ERROR) and (Count < 6) do Inc(Count);
  8214. except
  8215. // Egg : ignore exceptions here, will perhaps avoid problem expressed before
  8216. end;
  8217. if not vIgnoreOpenGLErrors then
  8218. raise EOpenGLError.Create(String(gluErrorString(GLError)));
  8219. end;
  8220. end;
  8221. procedure ClearGLError;
  8222. var
  8223. n : Integer;
  8224. begin
  8225. n:=0;
  8226. while (glGetError<>GL_NO_ERROR) and (n<6) do Inc(n);
  8227. end;
  8228. procedure RaiseOpenGLError(const msg : String);
  8229. begin
  8230. raise EOpenGLError.Create(msg);
  8231. end;
  8232. // ************** Extensions ********************
  8233. procedure ReadExtensions;
  8234. begin
  8235. glBlendColor := GLGetProcAddress('glBlendColor');
  8236. glBlendEquation := GLGetProcAddress('glBlendEquation');
  8237. glDrawRangeElements := GLGetProcAddress('glDrawRangeElements');
  8238. glColorTable := GLGetProcAddress('glColorTable');
  8239. glColorTableParameterfv := GLGetProcAddress('glColorTableParameterfv');
  8240. glColorTableParameteriv := GLGetProcAddress('glColorTableParameteriv');
  8241. glCopyColorTable := GLGetProcAddress('glCopyColorTable');
  8242. glGetColorTable := GLGetProcAddress('glGetColorTable');
  8243. glGetColorTableParameterfv := GLGetProcAddress('glGetColorTableParameterfv');
  8244. glGetColorTableParameteriv := GLGetProcAddress('glGetColorTableParameteriv');
  8245. glColorSubTable := GLGetProcAddress('glColorSubTable');
  8246. glCopyColorSubTable := GLGetProcAddress('glCopyColorSubTable');
  8247. glConvolutionFilter1D := GLGetProcAddress('glConvolutionFilter1D');
  8248. glConvolutionFilter2D := GLGetProcAddress('glConvolutionFilter2D');
  8249. glConvolutionParameterf := GLGetProcAddress('glConvolutionParameterf');
  8250. glConvolutionParameterfv := GLGetProcAddress('glConvolutionParameterfv');
  8251. glConvolutionParameteri := GLGetProcAddress('glConvolutionParameteri');
  8252. glConvolutionParameteriv := GLGetProcAddress('glConvolutionParameteriv');
  8253. glCopyConvolutionFilter1D := GLGetProcAddress('glCopyConvolutionFilter1D');
  8254. glCopyConvolutionFilter2D := GLGetProcAddress('glCopyConvolutionFilter2D');
  8255. glGetConvolutionFilter := GLGetProcAddress('glGetConvolutionFilter');
  8256. glGetConvolutionParameterfv := GLGetProcAddress('glGetConvolutionParameterfv');
  8257. glGetConvolutionParameteriv := GLGetProcAddress('glGetConvolutionParameteriv');
  8258. glGetSeparableFilter := GLGetProcAddress('glGetSeparableFilter');
  8259. glSeparableFilter2D := GLGetProcAddress('glSeparableFilter2D');
  8260. glGetHistogram := GLGetProcAddress('glGetHistogram');
  8261. glGetHistogramParameterfv := GLGetProcAddress('glGetHistogramParameterfv');
  8262. glGetHistogramParameteriv := GLGetProcAddress('glGetHistogramParameteriv');
  8263. glGetMinmax := GLGetProcAddress('glGetMinmax');
  8264. glGetMinmaxParameterfv := GLGetProcAddress('glGetMinmaxParameterfv');
  8265. glGetMinmaxParameteriv := GLGetProcAddress('glGetMinmaxParameteriv');
  8266. glHistogram := GLGetProcAddress('glHistogram');
  8267. glMinmax := GLGetProcAddress('glMinmax');
  8268. glResetHistogram := GLGetProcAddress('glResetHistogram');
  8269. glResetMinmax := GLGetProcAddress('glResetMinmax');
  8270. glTexImage3D := GLGetProcAddress('glTexImage3D');
  8271. glTexSubImage3D := GLGetProcAddress('glTexSubImage3D');
  8272. glCopyTexSubImage3D := GLGetProcAddress('glCopyTexSubImage3D');
  8273. glActiveTexture := GLGetProcAddress('glActiveTexture');
  8274. glClientActiveTexture := GLGetProcAddress('glClientActiveTexture');
  8275. glMultiTexCoord1d := GLGetProcAddress('glMultiTexCoord1d');
  8276. glMultiTexCoord1dV := GLGetProcAddress('glMultiTexCoord1dV');
  8277. glMultiTexCoord1f := GLGetProcAddress('glMultiTexCoord1f');
  8278. glMultiTexCoord1fV := GLGetProcAddress('glMultiTexCoord1fV');
  8279. glMultiTexCoord1i := GLGetProcAddress('glMultiTexCoord1i');
  8280. glMultiTexCoord1iV := GLGetProcAddress('glMultiTexCoord1iV');
  8281. glMultiTexCoord1s := GLGetProcAddress('glMultiTexCoord1s');
  8282. glMultiTexCoord1sV := GLGetProcAddress('glMultiTexCoord1sV');
  8283. glMultiTexCoord2d := GLGetProcAddress('glMultiTexCoord2d');
  8284. glMultiTexCoord2dv := GLGetProcAddress('glMultiTexCoord2dv');
  8285. glMultiTexCoord2f := GLGetProcAddress('glMultiTexCoord2f');
  8286. glMultiTexCoord2fv := GLGetProcAddress('glMultiTexCoord2fv');
  8287. glMultiTexCoord2i := GLGetProcAddress('glMultiTexCoord2i');
  8288. glMultiTexCoord2iv := GLGetProcAddress('glMultiTexCoord2iv');
  8289. glMultiTexCoord2s := GLGetProcAddress('glMultiTexCoord2s');
  8290. glMultiTexCoord2sv := GLGetProcAddress('glMultiTexCoord2sv');
  8291. glMultiTexCoord3d := GLGetProcAddress('glMultiTexCoord3d');
  8292. glMultiTexCoord3dv := GLGetProcAddress('glMultiTexCoord3dv');
  8293. glMultiTexCoord3f := GLGetProcAddress('glMultiTexCoord3f');
  8294. glMultiTexCoord3fv := GLGetProcAddress('glMultiTexCoord3fv');
  8295. glMultiTexCoord3i := GLGetProcAddress('glMultiTexCoord3i');
  8296. glMultiTexCoord3iv := GLGetProcAddress('glMultiTexCoord3iv');
  8297. glMultiTexCoord3s := GLGetProcAddress('glMultiTexCoord3s');
  8298. glMultiTexCoord3sv := GLGetProcAddress('glMultiTexCoord3sv');
  8299. glMultiTexCoord4d := GLGetProcAddress('glMultiTexCoord4d');
  8300. glMultiTexCoord4dv := GLGetProcAddress('glMultiTexCoord4dv');
  8301. glMultiTexCoord4f := GLGetProcAddress('glMultiTexCoord4f');
  8302. glMultiTexCoord4fv := GLGetProcAddress('glMultiTexCoord4fv');
  8303. glMultiTexCoord4i := GLGetProcAddress('glMultiTexCoord4i');
  8304. glMultiTexCoord4iv := GLGetProcAddress('glMultiTexCoord4iv');
  8305. glMultiTexCoord4s := GLGetProcAddress('glMultiTexCoord4s');
  8306. glMultiTexCoord4sv := GLGetProcAddress('glMultiTexCoord4sv');
  8307. glLoadTransposeMatrixf := GLGetProcAddress('glLoadTransposeMatrixf');
  8308. glLoadTransposeMatrixd := GLGetProcAddress('glLoadTransposeMatrixd');
  8309. glMultTransposeMatrixf := GLGetProcAddress('glMultTransposeMatrixf');
  8310. glMultTransposeMatrixd := GLGetProcAddress('glMultTransposeMatrixd');
  8311. glSampleCoverage := GLGetProcAddress('glSampleCoverage');
  8312. glCompressedTexImage3D := GLGetProcAddress('glCompressedTexImage3D');
  8313. glCompressedTexImage2D := GLGetProcAddress('glCompressedTexImage2D');
  8314. glCompressedTexImage1D := GLGetProcAddress('glCompressedTexImage1D');
  8315. glCompressedTexSubImage3D := GLGetProcAddress('glCompressedTexSubImage3D');
  8316. glCompressedTexSubImage2D := GLGetProcAddress('glCompressedTexSubImage2D');
  8317. glCompressedTexSubImage1D := GLGetProcAddress('glCompressedTexSubImage1D');
  8318. glGetCompressedTexImage := GLGetProcAddress('glGetCompressedTexImage');
  8319. glBlendFuncSeparate := GLGetProcAddress('glBlendFuncSeparate');
  8320. glFogCoordf := GLGetProcAddress('glFogCoordf');
  8321. glFogCoordfv := GLGetProcAddress('glFogCoordfv');
  8322. glFogCoordd := GLGetProcAddress('glFogCoordd');
  8323. glFogCoorddv := GLGetProcAddress('glFogCoorddv');
  8324. glFogCoordPointer := GLGetProcAddress('glFogCoordPointer');
  8325. glMultiDrawArrays := GLGetProcAddress('glMultiDrawArrays');
  8326. glMultiDrawElements := GLGetProcAddress('glMultiDrawElements');
  8327. glPointParameterf := GLGetProcAddress('glPointParameterf');
  8328. glPointParameterfv := GLGetProcAddress('glPointParameterfv');
  8329. glPointParameteri := GLGetProcAddress('glPointParameteri');
  8330. glPointParameteriv := GLGetProcAddress('glPointParameteriv');
  8331. glSecondaryColor3b := GLGetProcAddress('glSecondaryColor3b');
  8332. glSecondaryColor3bv := GLGetProcAddress('glSecondaryColor3bv');
  8333. glSecondaryColor3d := GLGetProcAddress('glSecondaryColor3d');
  8334. glSecondaryColor3dv := GLGetProcAddress('glSecondaryColor3dv');
  8335. glSecondaryColor3f := GLGetProcAddress('glSecondaryColor3f');
  8336. glSecondaryColor3fv := GLGetProcAddress('glSecondaryColor3fv');
  8337. glSecondaryColor3i := GLGetProcAddress('glSecondaryColor3i');
  8338. glSecondaryColor3iv := GLGetProcAddress('glSecondaryColor3iv');
  8339. glSecondaryColor3s := GLGetProcAddress('glSecondaryColor3s');
  8340. glSecondaryColor3sv := GLGetProcAddress('glSecondaryColor3sv');
  8341. glSecondaryColor3ub := GLGetProcAddress('glSecondaryColor3ub');
  8342. glSecondaryColor3ubv := GLGetProcAddress('glSecondaryColor3ubv');
  8343. glSecondaryColor3ui := GLGetProcAddress('glSecondaryColor3ui');
  8344. glSecondaryColor3uiv := GLGetProcAddress('glSecondaryColor3uiv');
  8345. glSecondaryColor3us := GLGetProcAddress('glSecondaryColor3us');
  8346. glSecondaryColor3usv := GLGetProcAddress('glSecondaryColor3usv');
  8347. glSecondaryColorPointer := GLGetProcAddress('glSecondaryColorPointer');
  8348. glWindowPos2d := GLGetProcAddress('glWindowPos2d');
  8349. glWindowPos2dv := GLGetProcAddress('glWindowPos2dv');
  8350. glWindowPos2f := GLGetProcAddress('glWindowPos2f');
  8351. glWindowPos2fv := GLGetProcAddress('glWindowPos2fv');
  8352. glWindowPos2i := GLGetProcAddress('glWindowPos2i');
  8353. glWindowPos2iv := GLGetProcAddress('glWindowPos2iv');
  8354. glWindowPos2s := GLGetProcAddress('glWindowPos2s');
  8355. glWindowPos2sv := GLGetProcAddress('glWindowPos2sv');
  8356. glWindowPos3d := GLGetProcAddress('glWindowPos3d');
  8357. glWindowPos3dv := GLGetProcAddress('glWindowPos3dv');
  8358. glWindowPos3f := GLGetProcAddress('glWindowPos3f');
  8359. glWindowPos3fv := GLGetProcAddress('glWindowPos3fv');
  8360. glWindowPos3i := GLGetProcAddress('glWindowPos3i');
  8361. glWindowPos3iv := GLGetProcAddress('glWindowPos3iv');
  8362. glWindowPos3s := GLGetProcAddress('glWindowPos3s');
  8363. glWindowPos3sv := GLGetProcAddress('glWindowPos3sv');
  8364. glGenQueries := GLGetProcAddress('glGenQueries');
  8365. glDeleteQueries := GLGetProcAddress('glDeleteQueries');
  8366. glIsQuery := GLGetProcAddress('glIsQuery');
  8367. glBeginQuery := GLGetProcAddress('glBeginQuery');
  8368. glEndQuery := GLGetProcAddress('glEndQuery');
  8369. glGetQueryiv := GLGetProcAddress('glGetQueryiv');
  8370. glGetQueryObjectiv := GLGetProcAddress('glGetQueryObjectiv');
  8371. glGetQueryObjectuiv := GLGetProcAddress('glGetQueryObjectuiv');
  8372. glBindBuffer := GLGetProcAddress('glBindBuffer');
  8373. glDeleteBuffers := GLGetProcAddress('glDeleteBuffers');
  8374. glGenBuffers := GLGetProcAddress('glGenBuffers');
  8375. glIsBuffer := GLGetProcAddress('glIsBuffer');
  8376. glBufferData := GLGetProcAddress('glBufferData');
  8377. glBufferSubData := GLGetProcAddress('glBufferSubData');
  8378. glGetBufferSubData := GLGetProcAddress('glGetBufferSubData');
  8379. glMapBuffer := GLGetProcAddress('glMapBuffer');
  8380. glUnmapBuffer := GLGetProcAddress('glUnmapBuffer');
  8381. glGetBufferParameteriv := GLGetProcAddress('glGetBufferParameteriv');
  8382. glGetBufferPointerv := GLGetProcAddress('glGetBufferPointerv');
  8383. glBlendEquationSeparate := GLGetProcAddress('glBlendEquationSeparate');
  8384. glDrawBuffers := GLGetProcAddress('glDrawBuffers');
  8385. glStencilOpSeparate := GLGetProcAddress('glStencilOpSeparate');
  8386. glStencilFuncSeparate := GLGetProcAddress('glStencilFuncSeparate');
  8387. glStencilMaskSeparate := GLGetProcAddress('glStencilMaskSeparate');
  8388. glAttachShader := GLGetProcAddress('glAttachShader');
  8389. glBindAttribLocation := GLGetProcAddress('glBindAttribLocation');
  8390. glCompileShader := GLGetProcAddress('glCompileShader');
  8391. glCreateProgram := GLGetProcAddress('glCreateProgram');
  8392. glCreateShader := GLGetProcAddress('glCreateShader');
  8393. glDeleteProgram := GLGetProcAddress('glDeleteProgram');
  8394. glDeleteShader := GLGetProcAddress('glDeleteShader');
  8395. glDetachShader := GLGetProcAddress('glDetachShader');
  8396. glDisableVertexAttribArray := GLGetProcAddress('glDisableVertexAttribArray');
  8397. glEnableVertexAttribArray := GLGetProcAddress('glEnableVertexAttribArray');
  8398. glGetActiveAttrib := GLGetProcAddress('glGetActiveAttrib');
  8399. glGetActiveUniform := GLGetProcAddress('glGetActiveUniform');
  8400. glGetAttachedShaders := GLGetProcAddress('glGetAttachedShaders');
  8401. glGetAttribLocation := GLGetProcAddress('glGetAttribLocation');
  8402. glGetProgramiv := GLGetProcAddress('glGetProgramiv');
  8403. glGetProgramInfoLog := GLGetProcAddress('glGetProgramInfoLog');
  8404. glGetShaderiv := GLGetProcAddress('glGetShaderiv');
  8405. glGetShaderInfoLog := GLGetProcAddress('glGetShaderInfoLog');
  8406. glGetShaderSource := GLGetProcAddress('glGetShaderSource');
  8407. glGetUniformLocation := GLGetProcAddress('glGetUniformLocation');
  8408. glGetUniformfv := GLGetProcAddress('glGetUniformfv');
  8409. glGetUniformiv := GLGetProcAddress('glGetUniformiv');
  8410. glGetVertexAttribdv := GLGetProcAddress('glGetVertexAttribdv');
  8411. glGetVertexAttribfv := GLGetProcAddress('glGetVertexAttribfv');
  8412. glGetVertexAttribiv := GLGetProcAddress('glGetVertexAttribiv');
  8413. glGetVertexAttribPointerv := GLGetProcAddress('glGetVertexAttribPointerv');
  8414. glIsProgram := GLGetProcAddress('glIsProgram');
  8415. glIsShader := GLGetProcAddress('glIsShader');
  8416. glLinkProgram := GLGetProcAddress('glLinkProgram');
  8417. glShaderSource := GLGetProcAddress('glShaderSource');
  8418. glUseProgram := GLGetProcAddress('glUseProgram');
  8419. glUniform1f := GLGetProcAddress('glUniform1f');
  8420. glUniform2f := GLGetProcAddress('glUniform2f');
  8421. glUniform3f := GLGetProcAddress('glUniform3f');
  8422. glUniform4f := GLGetProcAddress('glUniform4f');
  8423. glUniform1i := GLGetProcAddress('glUniform1i');
  8424. glUniform2i := GLGetProcAddress('glUniform2i');
  8425. glUniform3i := GLGetProcAddress('glUniform3i');
  8426. glUniform4i := GLGetProcAddress('glUniform4i');
  8427. glUniform1fv := GLGetProcAddress('glUniform1fv');
  8428. glUniform2fv := GLGetProcAddress('glUniform2fv');
  8429. glUniform3fv := GLGetProcAddress('glUniform3fv');
  8430. glUniform4fv := GLGetProcAddress('glUniform4fv');
  8431. glUniform1iv := GLGetProcAddress('glUniform1iv');
  8432. glUniform2iv := GLGetProcAddress('glUniform2iv');
  8433. glUniform3iv := GLGetProcAddress('glUniform3iv');
  8434. glUniform4iv := GLGetProcAddress('glUniform4iv');
  8435. glUniformMatrix2fv := GLGetProcAddress('glUniformMatrix2fv');
  8436. glUniformMatrix3fv := GLGetProcAddress('glUniformMatrix3fv');
  8437. glUniformMatrix4fv := GLGetProcAddress('glUniformMatrix4fv');
  8438. glValidateProgram := GLGetProcAddress('glValidateProgram');
  8439. glVertexAttrib1d := GLGetProcAddress('glVertexAttrib1d');
  8440. glVertexAttrib1dv := GLGetProcAddress('glVertexAttrib1dv');
  8441. glVertexAttrib1f := GLGetProcAddress('glVertexAttrib1f');
  8442. glVertexAttrib1fv := GLGetProcAddress('glVertexAttrib1fv');
  8443. glVertexAttrib1s := GLGetProcAddress('glVertexAttrib1s');
  8444. glVertexAttrib1sv := GLGetProcAddress('glVertexAttrib1sv');
  8445. glVertexAttrib2d := GLGetProcAddress('glVertexAttrib2d');
  8446. glVertexAttrib2dv := GLGetProcAddress('glVertexAttrib2dv');
  8447. glVertexAttrib2f := GLGetProcAddress('glVertexAttrib2f');
  8448. glVertexAttrib2fv := GLGetProcAddress('glVertexAttrib2fv');
  8449. glVertexAttrib2s := GLGetProcAddress('glVertexAttrib2s');
  8450. glVertexAttrib2sv := GLGetProcAddress('glVertexAttrib2sv');
  8451. glVertexAttrib3d := GLGetProcAddress('glVertexAttrib3d');
  8452. glVertexAttrib3dv := GLGetProcAddress('glVertexAttrib3dv');
  8453. glVertexAttrib3f := GLGetProcAddress('glVertexAttrib3f');
  8454. glVertexAttrib3fv := GLGetProcAddress('glVertexAttrib3fv');
  8455. glVertexAttrib3s := GLGetProcAddress('glVertexAttrib3s');
  8456. glVertexAttrib3sv := GLGetProcAddress('glVertexAttrib3sv');
  8457. glVertexAttrib4Nbv := GLGetProcAddress('glVertexAttrib4Nbv');
  8458. glVertexAttrib4Niv := GLGetProcAddress('glVertexAttrib4Niv');
  8459. glVertexAttrib4Nsv := GLGetProcAddress('glVertexAttrib4Nsv');
  8460. glVertexAttrib4Nub := GLGetProcAddress('glVertexAttrib4Nub');
  8461. glVertexAttrib4Nubv := GLGetProcAddress('glVertexAttrib4Nubv');
  8462. glVertexAttrib4Nuiv := GLGetProcAddress('glVertexAttrib4Nuiv');
  8463. glVertexAttrib4Nusv := GLGetProcAddress('glVertexAttrib4Nusv');
  8464. glVertexAttrib4bv := GLGetProcAddress('glVertexAttrib4bv');
  8465. glVertexAttrib4d := GLGetProcAddress('glVertexAttrib4d');
  8466. glVertexAttrib4dv := GLGetProcAddress('glVertexAttrib4dv');
  8467. glVertexAttrib4f := GLGetProcAddress('glVertexAttrib4f');
  8468. glVertexAttrib4fv := GLGetProcAddress('glVertexAttrib4fv');
  8469. glVertexAttrib4iv := GLGetProcAddress('glVertexAttrib4iv');
  8470. glVertexAttrib4s := GLGetProcAddress('glVertexAttrib4s');
  8471. glVertexAttrib4sv := GLGetProcAddress('glVertexAttrib4sv');
  8472. glVertexAttrib4ubv := GLGetProcAddress('glVertexAttrib4ubv');
  8473. glVertexAttrib4uiv := GLGetProcAddress('glVertexAttrib4uiv');
  8474. glVertexAttrib4usv := GLGetProcAddress('glVertexAttrib4usv');
  8475. glVertexAttribPointer := GLGetProcAddress('glVertexAttribPointer');
  8476. glUniformMatrix2x3fv := GLGetProcAddress('glUniformMatrix2x3fv');
  8477. glUniformMatrix3x2fv := GLGetProcAddress('glUniformMatrix3x2fv');
  8478. glUniformMatrix2x4fv := GLGetProcAddress('glUniformMatrix2x4fv');
  8479. glUniformMatrix4x2fv := GLGetProcAddress('glUniformMatrix4x2fv');
  8480. glUniformMatrix3x4fv := GLGetProcAddress('glUniformMatrix3x4fv');
  8481. glUniformMatrix4x3fv := GLGetProcAddress('glUniformMatrix4x3fv');
  8482. glVertexAttribI1i := GLGetProcAddress('glVertexAttribI1i');
  8483. glVertexAttribI2i := GLGetProcAddress('glVertexAttribI2i');
  8484. glVertexAttribI3i := GLGetProcAddress('glVertexAttribI3i');
  8485. glVertexAttribI4i := GLGetProcAddress('glVertexAttribI4i');
  8486. glVertexAttribI1ui := GLGetProcAddress('glVertexAttribI1ui');
  8487. glVertexAttribI2ui := GLGetProcAddress('glVertexAttribI2ui');
  8488. glVertexAttribI3ui := GLGetProcAddress('glVertexAttribI3ui');
  8489. glVertexAttribI4ui := GLGetProcAddress('glVertexAttribI4ui');
  8490. glVertexAttribI1iv := GLGetProcAddress('glVertexAttribI1iv');
  8491. glVertexAttribI2iv := GLGetProcAddress('glVertexAttribI2iv');
  8492. glVertexAttribI3iv := GLGetProcAddress('glVertexAttribI3iv');
  8493. glVertexAttribI4iv := GLGetProcAddress('glVertexAttribI4iv');
  8494. glVertexAttribI1uiv := GLGetProcAddress('glVertexAttribI1uiv');
  8495. glVertexAttribI2uiv := GLGetProcAddress('glVertexAttribI2uiv');
  8496. glVertexAttribI3uiv := GLGetProcAddress('glVertexAttribI3uiv');
  8497. glVertexAttribI4uiv := GLGetProcAddress('glVertexAttribI4uiv');
  8498. glVertexAttribI4bv := GLGetProcAddress('glVertexAttribI4bv');
  8499. glVertexAttribI4sv := GLGetProcAddress('glVertexAttribI4sv');
  8500. glVertexAttribI4ubv := GLGetProcAddress('glVertexAttribI4ubv');
  8501. glVertexAttribI4usv := GLGetProcAddress('glVertexAttribI4usv');
  8502. glVertexAttribIPointer := GLGetProcAddress('glVertexAttribIPointer');
  8503. glGetVertexAttribIiv := GLGetProcAddress('glGetVertexAttribIiv');
  8504. glGetVertexAttribIuiv := GLGetProcAddress('glGetVertexAttribIuiv');
  8505. glUniform1ui := GLGetProcAddress('glUniform1ui');
  8506. glUniform2ui := GLGetProcAddress('glUniform2ui');
  8507. glUniform3ui := GLGetProcAddress('glUniform3ui');
  8508. glUniform4ui := GLGetProcAddress('glUniform4ui');
  8509. glUniform1uiv := GLGetProcAddress('glUniform1uiv');
  8510. glUniform2uiv := GLGetProcAddress('glUniform2uiv');
  8511. glUniform3uiv := GLGetProcAddress('glUniform3uiv');
  8512. glUniform4uiv := GLGetProcAddress('glUniform4uiv');
  8513. glGetUniformuiv := GLGetProcAddress('glGetUniformuiv');
  8514. glBindFragDataLocation := GLGetProcAddress('glBindFragDataLocation');
  8515. glGetFragDataLocation := GLGetProcAddress('glGetFragDataLocation');
  8516. glBeginConditionalRender := GLGetProcAddress('glBeginConditionalRender');
  8517. glEndConditionalRender := GLGetProcAddress('glEndConditionalRender');
  8518. glClampColor := GLGetProcAddress('glClampColor');
  8519. //glClearColorIi := GLGetProcAddress('glClearColorIi');
  8520. //glClearColorIui := GLGetProcAddress('glClearColorIui');
  8521. glTexParameterIiv := GLGetProcAddress('glTexParameterIiv');
  8522. glTexParameterIuiv := GLGetProcAddress('glTexParameterIuiv');
  8523. glGetTexParameterIiv := GLGetProcAddress('glGetTexParameterIiv');
  8524. glGetTexParameterIuiv := GLGetProcAddress('glGetTexParameterIuiv');
  8525. glColorMaski := GLGetProcAddress('glColorMaski');
  8526. glGetBooleani_v := GLGetProcAddress('glGetBooleani_v');
  8527. glGetIntegeri_v := GLGetProcAddress('glGetIntegeri_v');
  8528. glEnablei := GLGetProcAddress('glEnablei');
  8529. glDisablei := GLGetProcAddress('glDisablei');
  8530. glIsEnabledi := GLGetProcAddress('glIsEnabledi');
  8531. glBindBufferRange := GLGetProcAddress('glBindBufferRange');
  8532. glBindBufferBase := GLGetProcAddress('glBindBufferBase');
  8533. glBeginTransformFeedback := GLGetProcAddress('glBeginTransformFeedback');
  8534. glEndTransformFeedback := GLGetProcAddress('glEndTransformFeedback');
  8535. glTransformFeedbackVaryings := GLGetProcAddress('glTransformFeedbackVaryings');
  8536. glGetTransformFeedbackVarying := GLGetProcAddress('glGetTransformFeedbackVarying');
  8537. glClearBufferiv := GLGetProcAddress('glClearBufferiv');
  8538. glClearBufferuiv := GLGetProcAddress('glClearBufferuiv');
  8539. glClearBufferfv := GLGetProcAddress('glClearBufferfv');
  8540. glClearBufferfi := GLGetProcAddress('glClearBufferfi');
  8541. glGetStringi := GLGetProcAddress('glGetStringi');
  8542. glDrawArraysInstanced := GLGetProcAddress('glDrawArraysInstanced');
  8543. glDrawElementsInstanced := GLGetProcAddress('glDrawElementsInstanced');
  8544. glTexBuffer := GLGetProcAddress('glTexBuffer');
  8545. glPrimitiveRestartIndex := GLGetProcAddress('glPrimitiveRestartIndex');
  8546. glGetInteger64i_v := GLGetProcAddress('glGetInteger64i_v');
  8547. glGetBufferParameteri64v := GLGetProcAddress('glGetBufferParameteri64v');
  8548. glProgramParameteri := GLGetProcAddress('glProgramParameteri');
  8549. glFramebufferTexture := GLGetProcAddress('glFramebufferTexture');
  8550. glVertexAttribDivisorARB := GLGetProcAddress('glVertexAttribDivisor');
  8551. glBlendEquationi := GLGetProcAddress('glBlendEquationi');
  8552. glBlendEquationSeparatei := GLGetProcAddress('glBlendEquationSeparatei');
  8553. glBlendFunci := GLGetProcAddress('glBlendFunci');
  8554. glBlendFuncSeparatei := GLGetProcAddress('glBlendFuncSeparatei');
  8555. glMinSampleShading := GLGetProcAddress('glMinSampleShading');
  8556. gluNurbsCallbackDataEXT := GLGetProcAddress('gluNurbsCallbackDataEXT');
  8557. gluNewNurbsTessellatorEXT := GLGetProcAddress('gluNewNurbsTessellatorEXT');
  8558. gluDeleteNurbsTessellatorEXT := GLGetProcAddress('gluDeleteNurbsTessellatorEXT');
  8559. glActiveTextureARB := GLGetProcAddress('glActiveTextureARB');
  8560. glClientActiveTextureARB := GLGetProcAddress('glClientActiveTextureARB');
  8561. glMultiTexCoord1dARB := GLGetProcAddress('glMultiTexCoord1dARB');
  8562. glMultiTexCoord1dVARB := GLGetProcAddress('glMultiTexCoord1dVARB');
  8563. glMultiTexCoord1fARB := GLGetProcAddress('glMultiTexCoord1fARB');
  8564. glMultiTexCoord1fVARB := GLGetProcAddress('glMultiTexCoord1fVARB');
  8565. glMultiTexCoord1iARB := GLGetProcAddress('glMultiTexCoord1iARB');
  8566. glMultiTexCoord1iVARB := GLGetProcAddress('glMultiTexCoord1iVARB');
  8567. glMultiTexCoord1sARB := GLGetProcAddress('glMultiTexCoord1sARB');
  8568. glMultiTexCoord1sVARB := GLGetProcAddress('glMultiTexCoord1sVARB');
  8569. glMultiTexCoord2dARB := GLGetProcAddress('glMultiTexCoord2dARB');
  8570. glMultiTexCoord2dvARB := GLGetProcAddress('glMultiTexCoord2dvARB');
  8571. glMultiTexCoord2fARB := GLGetProcAddress('glMultiTexCoord2fARB');
  8572. glMultiTexCoord2fvARB := GLGetProcAddress('glMultiTexCoord2fvARB');
  8573. glMultiTexCoord2iARB := GLGetProcAddress('glMultiTexCoord2iARB');
  8574. glMultiTexCoord2ivARB := GLGetProcAddress('glMultiTexCoord2ivARB');
  8575. glMultiTexCoord2sARB := GLGetProcAddress('glMultiTexCoord2sARB');
  8576. glMultiTexCoord2svARB := GLGetProcAddress('glMultiTexCoord2svARB');
  8577. glMultiTexCoord3dARB := GLGetProcAddress('glMultiTexCoord3dARB');
  8578. glMultiTexCoord3dvARB := GLGetProcAddress('glMultiTexCoord3dvARB');
  8579. glMultiTexCoord3fARB := GLGetProcAddress('glMultiTexCoord3fARB');
  8580. glMultiTexCoord3fvARB := GLGetProcAddress('glMultiTexCoord3fvARB');
  8581. glMultiTexCoord3iARB := GLGetProcAddress('glMultiTexCoord3iARB');
  8582. glMultiTexCoord3ivARB := GLGetProcAddress('glMultiTexCoord3ivARB');
  8583. glMultiTexCoord3sARB := GLGetProcAddress('glMultiTexCoord3sARB');
  8584. glMultiTexCoord3svARB := GLGetProcAddress('glMultiTexCoord3svARB');
  8585. glMultiTexCoord4dARB := GLGetProcAddress('glMultiTexCoord4dARB');
  8586. glMultiTexCoord4dvARB := GLGetProcAddress('glMultiTexCoord4dvARB');
  8587. glMultiTexCoord4fARB := GLGetProcAddress('glMultiTexCoord4fARB');
  8588. glMultiTexCoord4fvARB := GLGetProcAddress('glMultiTexCoord4fvARB');
  8589. glMultiTexCoord4iARB := GLGetProcAddress('glMultiTexCoord4iARB');
  8590. glMultiTexCoord4ivARB := GLGetProcAddress('glMultiTexCoord4ivARB');
  8591. glMultiTexCoord4sARB := GLGetProcAddress('glMultiTexCoord4sARB');
  8592. glMultiTexCoord4svARB := GLGetProcAddress('glMultiTexCoord4svARB');
  8593. glLoadTransposeMatrixfARB := GLGetProcAddress('glLoadTransposeMatrixfARB');
  8594. glLoadTransposeMatrixdARB := GLGetProcAddress('glLoadTransposeMatrixdARB');
  8595. glMultTransposeMatrixfARB := GLGetProcAddress('glMultTransposeMatrixfARB');
  8596. glMultTransposeMatrixdARB := GLGetProcAddress('glMultTransposeMatrixdARB');
  8597. glSampleCoverageARB := GLGetProcAddress('glSampleCoverageARB');
  8598. glCompressedTexImage3DARB := GLGetProcAddress('glCompressedTexImage3DARB');
  8599. glCompressedTexImage2DARB := GLGetProcAddress('glCompressedTexImage2DARB');
  8600. glCompressedTexImage1DARB := GLGetProcAddress('glCompressedTexImage1DARB');
  8601. glCompressedTexSubImage3DARB := GLGetProcAddress('glCompressedTexSubImage3DARB');
  8602. glCompressedTexSubImage2DARB := GLGetProcAddress('glCompressedTexSubImage2DARB');
  8603. glCompressedTexSubImage1DARB := GLGetProcAddress('glCompressedTexSubImage1DARB');
  8604. glGetCompressedTexImageARB := GLGetProcAddress('glGetCompressedTexImageARB');
  8605. glPointParameterfARB := GLGetProcAddress('glPointParameterfARB');
  8606. glPointParameterfvARB := GLGetProcAddress('glPointParameterfvARB');
  8607. glWeightbvARB := GLGetProcAddress('glWeightbvARB');
  8608. glWeightsvARB := GLGetProcAddress('glWeightsvARB');
  8609. glWeightivARB := GLGetProcAddress('glWeightivARB');
  8610. glWeightfvARB := GLGetProcAddress('glWeightfvARB');
  8611. glWeightdvARB := GLGetProcAddress('glWeightdvARB');
  8612. glWeightubvARB := GLGetProcAddress('glWeightubvARB');
  8613. glWeightusvARB := GLGetProcAddress('glWeightusvARB');
  8614. glWeightuivARB := GLGetProcAddress('glWeightuivARB');
  8615. glWeightPointerARB := GLGetProcAddress('glWeightPointerARB');
  8616. glVertexBlendARB := GLGetProcAddress('glVertexBlendARB');
  8617. glCurrentPaletteMatrixARB := GLGetProcAddress('glCurrentPaletteMatrixARB');
  8618. glMatrixIndexubvARB := GLGetProcAddress('glMatrixIndexubvARB');
  8619. glMatrixIndexusvARB := GLGetProcAddress('glMatrixIndexusvARB');
  8620. glMatrixIndexuivARB := GLGetProcAddress('glMatrixIndexuivARB');
  8621. glMatrixIndexPointerARB := GLGetProcAddress('glMatrixIndexPointerARB');
  8622. glWindowPos2dARB := GLGetProcAddress('glWindowPos2dARB');
  8623. glWindowPos2dvARB := GLGetProcAddress('glWindowPos2dvARB');
  8624. glWindowPos2fARB := GLGetProcAddress('glWindowPos2fARB');
  8625. glWindowPos2fvARB := GLGetProcAddress('glWindowPos2fvARB');
  8626. glWindowPos2iARB := GLGetProcAddress('glWindowPos2iARB');
  8627. glWindowPos2ivARB := GLGetProcAddress('glWindowPos2ivARB');
  8628. glWindowPos2sARB := GLGetProcAddress('glWindowPos2sARB');
  8629. glWindowPos2svARB := GLGetProcAddress('glWindowPos2svARB');
  8630. glWindowPos3dARB := GLGetProcAddress('glWindowPos3dARB');
  8631. glWindowPos3dvARB := GLGetProcAddress('glWindowPos3dvARB');
  8632. glWindowPos3fARB := GLGetProcAddress('glWindowPos3fARB');
  8633. glWindowPos3fvARB := GLGetProcAddress('glWindowPos3fvARB');
  8634. glWindowPos3iARB := GLGetProcAddress('glWindowPos3iARB');
  8635. glWindowPos3ivARB := GLGetProcAddress('glWindowPos3ivARB');
  8636. glWindowPos3sARB := GLGetProcAddress('glWindowPos3sARB');
  8637. glWindowPos3svARB := GLGetProcAddress('glWindowPos3svARB');
  8638. glVertexAttrib1dARB := GLGetProcAddress('glVertexAttrib1dARB');
  8639. glVertexAttrib1dvARB := GLGetProcAddress('glVertexAttrib1dvARB');
  8640. glVertexAttrib1fARB := GLGetProcAddress('glVertexAttrib1fARB');
  8641. glVertexAttrib1fvARB := GLGetProcAddress('glVertexAttrib1fvARB');
  8642. glVertexAttrib1sARB := GLGetProcAddress('glVertexAttrib1sARB');
  8643. glVertexAttrib1svARB := GLGetProcAddress('glVertexAttrib1svARB');
  8644. glVertexAttrib2dARB := GLGetProcAddress('glVertexAttrib2dARB');
  8645. glVertexAttrib2dvARB := GLGetProcAddress('glVertexAttrib2dvARB');
  8646. glVertexAttrib2fARB := GLGetProcAddress('glVertexAttrib2fARB');
  8647. glVertexAttrib2fvARB := GLGetProcAddress('glVertexAttrib2fvARB');
  8648. glVertexAttrib2sARB := GLGetProcAddress('glVertexAttrib2sARB');
  8649. glVertexAttrib2svARB := GLGetProcAddress('glVertexAttrib2svARB');
  8650. glVertexAttrib3dARB := GLGetProcAddress('glVertexAttrib3dARB');
  8651. glVertexAttrib3dvARB := GLGetProcAddress('glVertexAttrib3dvARB');
  8652. glVertexAttrib3fARB := GLGetProcAddress('glVertexAttrib3fARB');
  8653. glVertexAttrib3fvARB := GLGetProcAddress('glVertexAttrib3fvARB');
  8654. glVertexAttrib3sARB := GLGetProcAddress('glVertexAttrib3sARB');
  8655. glVertexAttrib3svARB := GLGetProcAddress('glVertexAttrib3svARB');
  8656. glVertexAttrib4NbvARB := GLGetProcAddress('glVertexAttrib4NbvARB');
  8657. glVertexAttrib4NivARB := GLGetProcAddress('glVertexAttrib4NivARB');
  8658. glVertexAttrib4NsvARB := GLGetProcAddress('glVertexAttrib4NsvARB');
  8659. glVertexAttrib4NubARB := GLGetProcAddress('glVertexAttrib4NubARB');
  8660. glVertexAttrib4NubvARB := GLGetProcAddress('glVertexAttrib4NubvARB');
  8661. glVertexAttrib4NuivARB := GLGetProcAddress('glVertexAttrib4NuivARB');
  8662. glVertexAttrib4NusvARB := GLGetProcAddress('glVertexAttrib4NusvARB');
  8663. glVertexAttrib4bvARB := GLGetProcAddress('glVertexAttrib4bvARB');
  8664. glVertexAttrib4dARB := GLGetProcAddress('glVertexAttrib4dARB');
  8665. glVertexAttrib4dvARB := GLGetProcAddress('glVertexAttrib4dvARB');
  8666. glVertexAttrib4fARB := GLGetProcAddress('glVertexAttrib4fARB');
  8667. glVertexAttrib4fvARB := GLGetProcAddress('glVertexAttrib4fvARB');
  8668. glVertexAttrib4ivARB := GLGetProcAddress('glVertexAttrib4ivARB');
  8669. glVertexAttrib4sARB := GLGetProcAddress('glVertexAttrib4sARB');
  8670. glVertexAttrib4svARB := GLGetProcAddress('glVertexAttrib4svARB');
  8671. glVertexAttrib4ubvARB := GLGetProcAddress('glVertexAttrib4ubvARB');
  8672. glVertexAttrib4uivARB := GLGetProcAddress('glVertexAttrib4uivARB');
  8673. glVertexAttrib4usvARB := GLGetProcAddress('glVertexAttrib4usvARB');
  8674. glVertexAttribPointerARB := GLGetProcAddress('glVertexAttribPointerARB');
  8675. glEnableVertexAttribArrayARB := GLGetProcAddress('glEnableVertexAttribArrayARB');
  8676. glDisableVertexAttribArrayARB := GLGetProcAddress('glDisableVertexAttribArrayARB');
  8677. glProgramStringARB := GLGetProcAddress('glProgramStringARB');
  8678. glBindProgramARB := GLGetProcAddress('glBindProgramARB');
  8679. glDeleteProgramsARB := GLGetProcAddress('glDeleteProgramsARB');
  8680. glGenProgramsARB := GLGetProcAddress('glGenProgramsARB');
  8681. glProgramEnvParameter4dARB := GLGetProcAddress('glProgramEnvParameter4dARB');
  8682. glProgramEnvParameter4dvARB := GLGetProcAddress('glProgramEnvParameter4dvARB');
  8683. glProgramEnvParameter4fARB := GLGetProcAddress('glProgramEnvParameter4fARB');
  8684. glProgramEnvParameter4fvARB := GLGetProcAddress('glProgramEnvParameter4fvARB');
  8685. glProgramLocalParameter4dARB := GLGetProcAddress('glProgramLocalParameter4dARB');
  8686. glProgramLocalParameter4dvARB := GLGetProcAddress('glProgramLocalParameter4dvARB');
  8687. glProgramLocalParameter4fARB := GLGetProcAddress('glProgramLocalParameter4fARB');
  8688. glProgramLocalParameter4fvARB := GLGetProcAddress('glProgramLocalParameter4fvARB');
  8689. glGetProgramEnvParameterdvARB := GLGetProcAddress('glGetProgramEnvParameterdvARB');
  8690. glGetProgramEnvParameterfvARB := GLGetProcAddress('glGetProgramEnvParameterfvARB');
  8691. glGetProgramLocalParameterdvARB := GLGetProcAddress('glGetProgramLocalParameterdvARB');
  8692. glGetProgramLocalParameterfvARB := GLGetProcAddress('glGetProgramLocalParameterfvARB');
  8693. glGetProgramivARB := GLGetProcAddress('glGetProgramivARB');
  8694. glGetProgramStringARB := GLGetProcAddress('glGetProgramStringARB');
  8695. glGetVertexAttribdvARB := GLGetProcAddress('glGetVertexAttribdvARB');
  8696. glGetVertexAttribfvARB := GLGetProcAddress('glGetVertexAttribfvARB');
  8697. glGetVertexAttribivARB := GLGetProcAddress('glGetVertexAttribivARB');
  8698. glGetVertexAttribPointervARB := GLGetProcAddress('glGetVertexAttribPointervARB');
  8699. glIsProgramARB := GLGetProcAddress('glIsProgramARB');
  8700. glBindBufferARB := GLGetProcAddress('glBindBufferARB');
  8701. glDeleteBuffersARB := GLGetProcAddress('glDeleteBuffersARB');
  8702. glGenBuffersARB := GLGetProcAddress('glGenBuffersARB');
  8703. glIsBufferARB := GLGetProcAddress('glIsBufferARB');
  8704. glBufferDataARB := GLGetProcAddress('glBufferDataARB');
  8705. glBufferSubDataARB := GLGetProcAddress('glBufferSubDataARB');
  8706. glGetBufferSubDataARB := GLGetProcAddress('glGetBufferSubDataARB');
  8707. glMapBufferARB := GLGetProcAddress('glMapBufferARB');
  8708. glUnmapBufferARB := GLGetProcAddress('glUnmapBufferARB');
  8709. glGetBufferParameterivARB := GLGetProcAddress('glGetBufferParameterivARB');
  8710. glGetBufferPointervARB := GLGetProcAddress('glGetBufferPointervARB');
  8711. glGenQueriesARB := GLGetProcAddress('glGenQueriesARB');
  8712. glDeleteQueriesARB := GLGetProcAddress('glDeleteQueriesARB');
  8713. glIsQueryARB := GLGetProcAddress('glIsQueryARB');
  8714. glBeginQueryARB := GLGetProcAddress('glBeginQueryARB');
  8715. glEndQueryARB := GLGetProcAddress('glEndQueryARB');
  8716. glGetQueryivARB := GLGetProcAddress('glGetQueryivARB');
  8717. glGetQueryObjectivARB := GLGetProcAddress('glGetQueryObjectivARB');
  8718. glGetQueryObjectuivARB := GLGetProcAddress('glGetQueryObjectuivARB');
  8719. glDeleteObjectARB := GLGetProcAddress('glDeleteObjectARB');
  8720. glGetHandleARB := GLGetProcAddress('glGetHandleARB');
  8721. glDetachObjectARB := GLGetProcAddress('glDetachObjectARB');
  8722. glCreateShaderObjectARB := GLGetProcAddress('glCreateShaderObjectARB');
  8723. glShaderSourceARB := GLGetProcAddress('glShaderSourceARB');
  8724. glCompileShaderARB := GLGetProcAddress('glCompileShaderARB');
  8725. glCreateProgramObjectARB := GLGetProcAddress('glCreateProgramObjectARB');
  8726. glAttachObjectARB := GLGetProcAddress('glAttachObjectARB');
  8727. glLinkProgramARB := GLGetProcAddress('glLinkProgramARB');
  8728. glUseProgramObjectARB := GLGetProcAddress('glUseProgramObjectARB');
  8729. glValidateProgramARB := GLGetProcAddress('glValidateProgramARB');
  8730. glUniform1fARB := GLGetProcAddress('glUniform1fARB');
  8731. glUniform2fARB := GLGetProcAddress('glUniform2fARB');
  8732. glUniform3fARB := GLGetProcAddress('glUniform3fARB');
  8733. glUniform4fARB := GLGetProcAddress('glUniform4fARB');
  8734. glUniform1iARB := GLGetProcAddress('glUniform1iARB');
  8735. glUniform2iARB := GLGetProcAddress('glUniform2iARB');
  8736. glUniform3iARB := GLGetProcAddress('glUniform3iARB');
  8737. glUniform4iARB := GLGetProcAddress('glUniform4iARB');
  8738. glUniform1fvARB := GLGetProcAddress('glUniform1fvARB');
  8739. glUniform2fvARB := GLGetProcAddress('glUniform2fvARB');
  8740. glUniform3fvARB := GLGetProcAddress('glUniform3fvARB');
  8741. glUniform4fvARB := GLGetProcAddress('glUniform4fvARB');
  8742. glUniform1ivARB := GLGetProcAddress('glUniform1ivARB');
  8743. glUniform2ivARB := GLGetProcAddress('glUniform2ivARB');
  8744. glUniform3ivARB := GLGetProcAddress('glUniform3ivARB');
  8745. glUniform4ivARB := GLGetProcAddress('glUniform4ivARB');
  8746. glUniformMatrix2fvARB := GLGetProcAddress('glUniformMatrix2fvARB');
  8747. glUniformMatrix3fvARB := GLGetProcAddress('glUniformMatrix3fvARB');
  8748. glUniformMatrix4fvARB := GLGetProcAddress('glUniformMatrix4fvARB');
  8749. glGetObjectParameterfvARB := GLGetProcAddress('glGetObjectParameterfvARB');
  8750. glGetObjectParameterivARB := GLGetProcAddress('glGetObjectParameterivARB');
  8751. glGetInfoLogARB := GLGetProcAddress('glGetInfoLogARB');
  8752. glGetAttachedObjectsARB := GLGetProcAddress('glGetAttachedObjectsARB');
  8753. glGetUniformLocationARB := GLGetProcAddress('glGetUniformLocationARB');
  8754. glGetActiveUniformARB := GLGetProcAddress('glGetActiveUniformARB');
  8755. glGetUniformfvARB := GLGetProcAddress('glGetUniformfvARB');
  8756. glGetUniformivARB := GLGetProcAddress('glGetUniformivARB');
  8757. glGetShaderSourceARB := GLGetProcAddress('glGetShaderSourceARB');
  8758. glBindAttribLocationARB := GLGetProcAddress('glBindAttribLocationARB');
  8759. glGetActiveAttribARB := GLGetProcAddress('glGetActiveAttribARB');
  8760. glGetAttribLocationARB := GLGetProcAddress('glGetAttribLocationARB');
  8761. glDrawBuffersARB := GLGetProcAddress('glDrawBuffersARB');
  8762. glClampColorARB := GLGetProcAddress('glClampColorARB');
  8763. glDrawArraysInstancedARB := GLGetProcAddress('glDrawArraysInstancedARB');
  8764. glDrawElementsInstancedARB := GLGetProcAddress('glDrawElementsInstancedARB');
  8765. glIsRenderbuffer := GLGetProcAddress('glIsRenderbuffer');
  8766. glBindRenderbuffer := GLGetProcAddress('glBindRenderbuffer');
  8767. glDeleteRenderbuffers := GLGetProcAddress('glDeleteRenderbuffers');
  8768. glGenRenderbuffers := GLGetProcAddress('glGenRenderbuffers');
  8769. glRenderbufferStorage := GLGetProcAddress('glRenderbufferStorage');
  8770. glRenderbufferStorageMultisample := GLGetProcAddress('glRenderbufferStorageMultisample');
  8771. glGetRenderbufferParameteriv := GLGetProcAddress('glGetRenderbufferParameteriv');
  8772. glIsFramebuffer := GLGetProcAddress('glIsFramebuffer');
  8773. glBindFramebuffer := GLGetProcAddress('glBindFramebuffer');
  8774. glDeleteFramebuffers := GLGetProcAddress('glDeleteFramebuffers');
  8775. glGenFramebuffers := GLGetProcAddress('glGenFramebuffers');
  8776. glCheckFramebufferStatus := GLGetProcAddress('glCheckFramebufferStatus');
  8777. glFramebufferTexture1D := GLGetProcAddress('glFramebufferTexture1D');
  8778. glFramebufferTexture2D := GLGetProcAddress('glFramebufferTexture2D');
  8779. glFramebufferTexture3D := GLGetProcAddress('glFramebufferTexture3D');
  8780. glFramebufferTextureLayer := GLGetProcAddress('glFramebufferTextureLayer');
  8781. glFramebufferRenderbuffer := GLGetProcAddress('glFramebufferRenderbuffer');
  8782. glGetFramebufferAttachmentParameteriv := GLGetProcAddress('glGetFramebufferAttachmentParameteriv');
  8783. glBlitFramebuffer := GLGetProcAddress('glBlitFramebuffer');
  8784. glGenerateMipmap := GLGetProcAddress('glGenerateMipmap');
  8785. glProgramParameteriARB := GLGetProcAddress('glProgramParameteriARB');
  8786. glFramebufferTextureARB := GLGetProcAddress('glFramebufferTextureARB');
  8787. glFramebufferTextureLayerARB := GLGetProcAddress('glFramebufferTextureLayerARB');
  8788. glFramebufferTextureFaceARB := GLGetProcAddress('glFramebufferTextureFaceARB');
  8789. glVertexAttribDivisorARB := GLGetProcAddress('glVertexAttribDivisorARB');
  8790. glMapBufferRange := GLGetProcAddress('glMapBufferRange');
  8791. glFlushMappedBufferRange := GLGetProcAddress('glFlushMappedBufferRange');
  8792. glTexBufferARB := GLGetProcAddress('glTexBufferARB');
  8793. glBindVertexArray := GLGetProcAddress('glBindVertexArray');
  8794. glDeleteVertexArrays := GLGetProcAddress('glDeleteVertexArrays');
  8795. glGenVertexArrays := GLGetProcAddress('glGenVertexArrays');
  8796. glIsVertexArray := GLGetProcAddress('glIsVertexArray');
  8797. glGetUniformIndices := GLGetProcAddress('glGetUniformIndices');
  8798. glGetActiveUniformsiv := GLGetProcAddress('glGetActiveUniformsiv');
  8799. glGetActiveUniformName := GLGetProcAddress('glGetActiveUniformName');
  8800. glGetUniformBlockIndex := GLGetProcAddress('glGetUniformBlockIndex');
  8801. glGetActiveUniformBlockiv := GLGetProcAddress('glGetActiveUniformBlockiv');
  8802. glGetActiveUniformBlockName := GLGetProcAddress('glGetActiveUniformBlockName');
  8803. glUniformBlockBinding := GLGetProcAddress('glUniformBlockBinding');
  8804. glCopyBufferSubData := GLGetProcAddress('glCopyBufferSubData');
  8805. glDrawElementsBaseVertex := GLGetProcAddress('glDrawElementsBaseVertex');
  8806. glDrawRangeElementsBaseVertex := GLGetProcAddress('glDrawRangeElementsBaseVertex');
  8807. glDrawElementsInstancedBaseVertex := GLGetProcAddress('glDrawElementsInstancedBaseVertex');
  8808. glMultiDrawElementsBaseVertex := GLGetProcAddress('glMultiDrawElementsBaseVertex');
  8809. glProvokingVertex := GLGetProcAddress('glProvokingVertex');
  8810. glFenceSync := GLGetProcAddress('glFenceSync');
  8811. glIsSync := GLGetProcAddress('glIsSync');
  8812. glDeleteSync := GLGetProcAddress('glDeleteSync');
  8813. glClientWaitSync := GLGetProcAddress('glClientWaitSync');
  8814. glWaitSync := GLGetProcAddress('glWaitSync');
  8815. glGetInteger64v := GLGetProcAddress('glGetInteger64v');
  8816. glGetSynciv := GLGetProcAddress('glGetSynciv');
  8817. glTexImage2DMultisample := GLGetProcAddress('glTexImage2DMultisample');
  8818. glTexImage3DMultisample := GLGetProcAddress('glTexImage3DMultisample');
  8819. glGetMultisamplefv := GLGetProcAddress('glGetMultisamplefv');
  8820. glSampleMaski := GLGetProcAddress('glSampleMaski');
  8821. glBlendEquation := GLGetProcAddress('glBlendEquationiARB');
  8822. glBlendEquationSeparatei := GLGetProcAddress('glBlendEquationSeparateiARB');
  8823. glBlendFunci := GLGetProcAddress('glBlendFunciARB');
  8824. glBlendFuncSeparatei := GLGetProcAddress('glBlendFuncSeparateiARB');
  8825. glMinSampleShading := GLGetProcAddress('glMinSampleShadingARB');
  8826. glBindFragDataLocationIndexed := GLGetProcAddress('glBindFragDataLocationIndexed');
  8827. glGetFragDataIndex := GLGetProcAddress('glGetFragDataIndex');
  8828. glGenSamplers := GLGetProcAddress('glGenSamplers');
  8829. glDeleteSamplers := GLGetProcAddress('glDeleteSamplers');
  8830. glIsSampler := GLGetProcAddress('glIsSampler');
  8831. glBindSampler := GLGetProcAddress('glBindSampler');
  8832. glSamplerParameteri := GLGetProcAddress('glSamplerParameteri');
  8833. glSamplerParameteriv := GLGetProcAddress('glSamplerParameteriv');
  8834. glSamplerParameterf := GLGetProcAddress('glSamplerParameterf');
  8835. glSamplerParameterfv := GLGetProcAddress('glSamplerParameterfv');
  8836. glSamplerParameterIiv := GLGetProcAddress('glSamplerParameterIiv');
  8837. glSamplerParameterIuiv := GLGetProcAddress('glSamplerParameterIuiv');
  8838. glGetSamplerParameteriv := GLGetProcAddress('glGetSamplerParameteriv');
  8839. glGetSamplerParameterIiv := GLGetProcAddress('glGetSamplerParameterIiv');
  8840. glGetSamplerParameterfv := GLGetProcAddress('glGetSamplerParameterfv');
  8841. glGetSamplerParameterIfv := GLGetProcAddress('glGetSamplerParameterIfv');
  8842. glQueryCounter := GLGetProcAddress('glQueryCounter');
  8843. glGetQueryObjecti64v := GLGetProcAddress('glGetQueryObjecti64v');
  8844. glGetQueryObjectui64v := GLGetProcAddress('glGetQueryObjectui64v');
  8845. glVertexP2ui := GLGetProcAddress('glVertexP2ui');
  8846. glVertexP2uiv := GLGetProcAddress('glVertexP2uiv');
  8847. glVertexP3ui := GLGetProcAddress('glVertexP3ui');
  8848. glVertexP3uiv := GLGetProcAddress('glVertexP3uiv');
  8849. glVertexP4ui := GLGetProcAddress('glVertexP4ui');
  8850. glVertexP4uiv := GLGetProcAddress('glVertexP4uiv');
  8851. glTexCoordP1ui := GLGetProcAddress('glTexCoordP1ui');
  8852. glTexCoordP1uiv := GLGetProcAddress('glTexCoordP1uiv');
  8853. glTexCoordP2ui := GLGetProcAddress('glTexCoordP2ui');
  8854. glTexCoordP2uiv := GLGetProcAddress('glTexCoordP2uiv');
  8855. glTexCoordP3ui := GLGetProcAddress('glTexCoordP3ui');
  8856. glTexCoordP3uiv := GLGetProcAddress('glTexCoordP3uiv');
  8857. glTexCoordP4ui := GLGetProcAddress('glTexCoordP4ui');
  8858. glTexCoordP4uiv := GLGetProcAddress('glTexCoordP4uiv');
  8859. glMultiTexCoordP1ui := GLGetProcAddress('glMultiTexCoordP1ui');
  8860. glMultiTexCoordP1uiv := GLGetProcAddress('glMultiTexCoordP1uiv');
  8861. glMultiTexCoordP2ui := GLGetProcAddress('glMultiTexCoordP2ui');
  8862. glMultiTexCoordP2uiv := GLGetProcAddress('glMultiTexCoordP2uiv');
  8863. glMultiTexCoordP3ui := GLGetProcAddress('glMultiTexCoordP3ui');
  8864. glMultiTexCoordP3uiv := GLGetProcAddress('glMultiTexCoordP3uiv');
  8865. glMultiTexCoordP4ui := GLGetProcAddress('glMultiTexCoordP4ui');
  8866. glMultiTexCoordP4uiv := GLGetProcAddress('glMultiTexCoordP4uiv');
  8867. glNormalP3ui := GLGetProcAddress('glNormalP3ui');
  8868. glNormalP3uiv := GLGetProcAddress('glNormalP3uiv');
  8869. glColorP3ui := GLGetProcAddress('glColorP3ui');
  8870. glColorP3uiv := GLGetProcAddress('glColorP3uiv');
  8871. glColorP4ui := GLGetProcAddress('glColorP4ui');
  8872. glColorP4uiv := GLGetProcAddress('glColorP4uiv');
  8873. glSecondaryColorP3ui := GLGetProcAddress('glSecondaryColorP3ui');
  8874. glSecondaryColorP3uiv := GLGetProcAddress('glSecondaryColorP3uiv');
  8875. glVertexAttribP1ui := GLGetProcAddress('glVertexAttribP1ui');
  8876. glVertexAttribP1uiv := GLGetProcAddress('glVertexAttribP1uiv');
  8877. glVertexAttribP2ui := GLGetProcAddress('glVertexAttribP2ui');
  8878. glVertexAttribP2uiv := GLGetProcAddress('glVertexAttribP2uiv');
  8879. glVertexAttribP3ui := GLGetProcAddress('glVertexAttribP3ui');
  8880. glVertexAttribP3uiv := GLGetProcAddress('glVertexAttribP3uiv');
  8881. glVertexAttribP4ui := GLGetProcAddress('glVertexAttribP4ui');
  8882. glVertexAttribP4uiv := GLGetProcAddress('glVertexAttribP4uiv');
  8883. glDrawArraysIndirect := GLGetProcAddress('glDrawArraysIndirect');
  8884. glDrawElementsIndirect := GLGetProcAddress('glDrawElementsIndirect');
  8885. glUniform1d := GLGetProcAddress('glUniform1d');
  8886. glUniform2d := GLGetProcAddress('glUniform2d');
  8887. glUniform3d := GLGetProcAddress('glUniform3d');
  8888. glUniform4d := GLGetProcAddress('glUniform4d');
  8889. glUniform1dv := GLGetProcAddress('glUniform1dv');
  8890. glUniform2dv := GLGetProcAddress('glUniform2dv');
  8891. glUniform3dv := GLGetProcAddress('glUniform3dv');
  8892. glUniform4dv := GLGetProcAddress('glUniform4dv');
  8893. glUniformMatrix2dv := GLGetProcAddress('glUniformMatrix2dv');
  8894. glUniformMatrix3dv := GLGetProcAddress('glUniformMatrix3dv');
  8895. glUniformMatrix4dv := GLGetProcAddress('glUniformMatrix4dv');
  8896. glUniformMatrix2x3dv := GLGetProcAddress('glUniformMatrix2x3dv');
  8897. glUniformMatrix2x4dv := GLGetProcAddress('glUniformMatrix2x4dv');
  8898. glUniformMatrix3x2dv := GLGetProcAddress('glUniformMatrix3x2dv');
  8899. glUniformMatrix3x4dv := GLGetProcAddress('glUniformMatrix3x4dv');
  8900. glUniformMatrix4x2dv := GLGetProcAddress('glUniformMatrix4x2dv');
  8901. glUniformMatrix4x3dv := GLGetProcAddress('glUniformMatrix4x3dv');
  8902. glGetUniformdv := GLGetProcAddress('glGetUniformdv');
  8903. glProgramUniform1dEXT := GLGetProcAddress('glProgramUniform1dEXT');
  8904. glProgramUniform2dEXT := GLGetProcAddress('glProgramUniform2dEXT');
  8905. glProgramUniform3dEXT := GLGetProcAddress('glProgramUniform3dEXT');
  8906. glProgramUniform4dEXT := GLGetProcAddress('glProgramUniform4dEXT');
  8907. glProgramUniform1dvEXT := GLGetProcAddress('glProgramUniform1dvEXT');
  8908. glProgramUniform2dvEXT := GLGetProcAddress('glProgramUniform2dvEXT');
  8909. glProgramUniform3dvEXT := GLGetProcAddress('glProgramUniform3dvEXT');
  8910. glProgramUniform4dvEXT := GLGetProcAddress('glProgramUniform4dvEXT');
  8911. glProgramUniformMatrix2dvEXT := GLGetProcAddress('glProgramUniformMatrix2dvEXT');
  8912. glProgramUniformMatrix3dvEXT := GLGetProcAddress('glProgramUniformMatrix3dvEXT');
  8913. glProgramUniformMatrix4dvEXT := GLGetProcAddress('glProgramUniformMatrix4dvEXT');
  8914. glProgramUniformMatrix2x3dvEXT := GLGetProcAddress('glProgramUniformMatrix2x3dvEXT');
  8915. glProgramUniformMatrix2x4dvEXT := GLGetProcAddress('glProgramUniformMatrix2x4dvEXT');
  8916. glProgramUniformMatrix3x2dvEXT := GLGetProcAddress('glProgramUniformMatrix3x2dvEXT');
  8917. glProgramUniformMatrix3x4dvEXT := GLGetProcAddress('glProgramUniformMatrix3x4dvEXT');
  8918. glProgramUniformMatrix4x2dvEXT := GLGetProcAddress('glProgramUniformMatrix4x2dvEXT');
  8919. glProgramUniformMatrix4x3dvEXT := GLGetProcAddress('glProgramUniformMatrix4x3dvEXT');
  8920. glGetSubroutineUniformLocation := GLGetProcAddress('glGetSubroutineUniformLocation');
  8921. glGetSubroutineIndex := GLGetProcAddress('glGetSubroutineIndex');
  8922. glGetActiveSubroutineUniformiv := GLGetProcAddress('glGetActiveSubroutineUniformiv');
  8923. glGetActiveSubroutineUniformName := GLGetProcAddress('glGetActiveSubroutineUniformName');
  8924. glGetActiveSubroutineName := GLGetProcAddress('glGetActiveSubroutineName');
  8925. glUniformSubroutinesuiv := GLGetProcAddress('glUniformSubroutinesuiv');
  8926. glGetUniformSubroutineuiv := GLGetProcAddress('glGetUniformSubroutineuiv');
  8927. glGetProgramStageiv := GLGetProcAddress('glGetProgramStageiv');
  8928. glPatchParameteri := GLGetProcAddress('glPatchParameteri');
  8929. glPatchParameterfv := GLGetProcAddress('glPatchParameterfv');
  8930. glBindTransformFeedback := GLGetProcAddress('glBindTransformFeedback');
  8931. glDeleteTransformFeedbacks := GLGetProcAddress('glDeleteTransformFeedbacks');
  8932. glGenTransformFeedbacks := GLGetProcAddress('glGenTransformFeedbacks');
  8933. glIsTransformFeedback := GLGetProcAddress('glIsTransformFeedback');
  8934. glPauseTransformFeedback := GLGetProcAddress('glPauseTransformFeedback');
  8935. glResumeTransformFeedback := GLGetProcAddress('glResumeTransformFeedback');
  8936. glDrawTransformFeedback := GLGetProcAddress('glDrawTransformFeedback');
  8937. glDrawTransformFeedbackStream := GLGetProcAddress('glDrawTransformFeedbackStream');
  8938. glBeginQueryIndexed := GLGetProcAddress('glBeginQueryIndexed');
  8939. glEndQueryIndexed := GLGetProcAddress('glEndQueryIndexed');
  8940. glGetQueryIndexediv := GLGetProcAddress('glGetQueryIndexediv');
  8941. {
  8942. glReleaseShaderCompiler := GLGetProcAddress('glReleaseShaderCompiler');
  8943. glShaderBinary := GLGetProcAddress('glShaderBinary');
  8944. glGetShaderPrecisionFormat := GLGetProcAddress('glGetShaderPrecisionFormat');
  8945. glDepthRangef := GLGetProcAddress('glDepthRangef');
  8946. glClearDepthf := GLGetProcAddress('glClearDepthf');
  8947. glGetProgramBinary := GLGetProcAddress('glGetProgramBinary');
  8948. glProgramBinary := GLGetProcAddress('glProgramBinary');
  8949. glProgramParameteri := GLGetProcAddress('glProgramParameteri');
  8950. glUseProgramStages := GLGetProcAddress('glUseProgramStages');
  8951. glActiveShaderProgram := GLGetProcAddress('glActiveShaderProgram');
  8952. glCreateShaderProgramv := GLGetProcAddress('glCreateShaderProgramv');
  8953. glBindProgramPipeline := GLGetProcAddress('glBindProgramPipeline');
  8954. glDeleteProgramPipelines := GLGetProcAddress('glDeleteProgramPipelines');
  8955. glGenProgramPipelines := GLGetProcAddress('glGenProgramPipelines');
  8956. glIsProgramPipeline := GLGetProcAddress('glIsProgramPipeline');
  8957. glGetProgramPipelineiv := GLGetProcAddress('glGetProgramPipelineiv');
  8958. glProgramUniform1i := GLGetProcAddress('glProgramUniform1i');
  8959. glProgramUniform1iv := GLGetProcAddress('glProgramUniform1iv');
  8960. glProgramUniform1f := GLGetProcAddress('glProgramUniform1f');
  8961. glProgramUniform1fv := GLGetProcAddress('glProgramUniform1fv');
  8962. glProgramUniform1d := GLGetProcAddress('glProgramUniform1d');
  8963. glProgramUniform1dv := GLGetProcAddress('glProgramUniform1dv');
  8964. glProgramUniform1ui := GLGetProcAddress('glProgramUniform1ui');
  8965. glProgramUniform1uiv := GLGetProcAddress('glProgramUniform1uiv');
  8966. glProgramUniform2i := GLGetProcAddress('glProgramUniform2i');
  8967. glProgramUniform2iv := GLGetProcAddress('glProgramUniform2iv');
  8968. glProgramUniform2f := GLGetProcAddress('glProgramUniform2f');
  8969. glProgramUniform2fv := GLGetProcAddress('glProgramUniform2fv');
  8970. glProgramUniform2d := GLGetProcAddress('glProgramUniform2d');
  8971. glProgramUniform2dv := GLGetProcAddress('glProgramUniform2dv');
  8972. glProgramUniform2ui := GLGetProcAddress('glProgramUniform2ui');
  8973. glProgramUniform2uiv := GLGetProcAddress('glProgramUniform2uiv');
  8974. glProgramUniform3i := GLGetProcAddress('glProgramUniform3i');
  8975. glProgramUniform3iv := GLGetProcAddress('glProgramUniform3iv');
  8976. glProgramUniform3f := GLGetProcAddress('glProgramUniform3f');
  8977. glProgramUniform3fv := GLGetProcAddress('glProgramUniform3fv');
  8978. glProgramUniform3d := GLGetProcAddress('glProgramUniform3d');
  8979. glProgramUniform3dv := GLGetProcAddress('glProgramUniform3dv');
  8980. glProgramUniform3ui := GLGetProcAddress('glProgramUniform3ui');
  8981. glProgramUniform3uiv := GLGetProcAddress('glProgramUniform3uiv');
  8982. glProgramUniform4i := GLGetProcAddress('glProgramUniform4i');
  8983. glProgramUniform4iv := GLGetProcAddress('glProgramUniform4iv');
  8984. glProgramUniform4f := GLGetProcAddress('glProgramUniform4f');
  8985. glProgramUniform4fv := GLGetProcAddress('glProgramUniform4fv');
  8986. glProgramUniform4d := GLGetProcAddress('glProgramUniform4d');
  8987. glProgramUniform4dv := GLGetProcAddress('glProgramUniform4dv');
  8988. glProgramUniform4ui := GLGetProcAddress('glProgramUniform4ui');
  8989. glProgramUniform4uiv := GLGetProcAddress('glProgramUniform4uiv');
  8990. glProgramUniformMatrix2fv := GLGetProcAddress('glProgramUniformMatrix2fv');
  8991. glProgramUniformMatrix3fv := GLGetProcAddress('glProgramUniformMatrix3fv');
  8992. glProgramUniformMatrix4fv := GLGetProcAddress('glProgramUniformMatrix4fv');
  8993. glProgramUniformMatrix2dv := GLGetProcAddress('glProgramUniformMatrix2dv');
  8994. glProgramUniformMatrix3dv := GLGetProcAddress('glProgramUniformMatrix3dv');
  8995. glProgramUniformMatrix4dv := GLGetProcAddress('glProgramUniformMatrix4dv');
  8996. glProgramUniformMatrix2x3fv := GLGetProcAddress('glProgramUniformMatrix2x3fv');
  8997. glProgramUniformMatrix3x2fv := GLGetProcAddress('glProgramUniformMatrix3x2fv');
  8998. glProgramUniformMatrix2x4fv := GLGetProcAddress('glProgramUniformMatrix2x4fv');
  8999. glProgramUniformMatrix4x2fv := GLGetProcAddress('glProgramUniformMatrix4x2fv');
  9000. glProgramUniformMatrix3x4fv := GLGetProcAddress('glProgramUniformMatrix3x4fv');
  9001. glProgramUniformMatrix4x3fv := GLGetProcAddress('glProgramUniformMatrix4x3fv');
  9002. glProgramUniformMatrix2x3dv := GLGetProcAddress('glProgramUniformMatrix2x3dv');
  9003. glProgramUniformMatrix3x2dv := GLGetProcAddress('glProgramUniformMatrix3x2dv');
  9004. glProgramUniformMatrix2x4dv := GLGetProcAddress('glProgramUniformMatrix2x4dv');
  9005. glProgramUniformMatrix4x2dv := GLGetProcAddress('glProgramUniformMatrix4x2dv');
  9006. glProgramUniformMatrix3x4dv := GLGetProcAddress('glProgramUniformMatrix3x4dv');
  9007. glProgramUniformMatrix4x3dv := GLGetProcAddress('glProgramUniformMatrix4x3dv');
  9008. glValidateProgramPipeline := GLGetProcAddress('glValidateProgramPipeline');
  9009. glGetProgramPipelineInfoLog := GLGetProcAddress('glGetProgramPipelineInfoLog');
  9010. glVertexAttribL1d := GLGetProcAddress('glVertexAttribL1d');
  9011. glVertexAttribL2d := GLGetProcAddress('glVertexAttribL2d');
  9012. glVertexAttribL3d := GLGetProcAddress('glVertexAttribL3d');
  9013. glVertexAttribL4d := GLGetProcAddress('glVertexAttribL4d');
  9014. glVertexAttribL1dv := GLGetProcAddress('glVertexAttribL1dv');
  9015. glVertexAttribL2dv := GLGetProcAddress('glVertexAttribL2dv');
  9016. glVertexAttribL3dv := GLGetProcAddress('glVertexAttribL3dv');
  9017. glVertexAttribL4dv := GLGetProcAddress('glVertexAttribL4dv');
  9018. glVertexAttribLPointer := GLGetProcAddress('glVertexAttribLPointer');
  9019. glGetVertexAttribLdv := GLGetProcAddress('glGetVertexAttribLdv');
  9020. glVertexArrayVertexAttribLOffsetEXT := GLGetProcAddress('glVertexArrayVertexAttribLOffsetEXT');
  9021. glViewportArrayv := GLGetProcAddress('glViewportArrayv');
  9022. glViewportIndexedf := GLGetProcAddress('glViewportIndexedf');
  9023. glViewportIndexedfv := GLGetProcAddress('glViewportIndexedfv');
  9024. glScissorArrayv := GLGetProcAddress('glScissorArrayv');
  9025. glScissorIndexed := GLGetProcAddress('glScissorIndexed');
  9026. glScissorIndexedv := GLGetProcAddress('glScissorIndexedv');
  9027. glDepthRangeArrayv := GLGetProcAddress('glDepthRangeArrayv');
  9028. glDepthRangeIndexed := GLGetProcAddress('glDepthRangeIndexed');
  9029. glGetFloati_v := GLGetProcAddress('glGetFloati_v');
  9030. glGetDoublei_v := GLGetProcAddress('glGetDoublei_v');
  9031. glDebugMessageControlARB := GLGetProcAddress('glDebugMessageControlARB');
  9032. glDebugMessageInsertARB := GLGetProcAddress('glDebugMessageInsertARB');
  9033. glDebugMessageCallbackARB := GLGetProcAddress('glDebugMessageCallbackARB');
  9034. glGetDebugMessageLogARB := GLGetProcAddress('glGetDebugMessageLogARB');
  9035. glGetGraphicsResetStatusARB := GLGetProcAddress('glGetGraphicsResetStatusARB');
  9036. glGetnMapdvARB := GLGetProcAddress('glGetnMapdvARB');
  9037. glGetnMapfvARB := GLGetProcAddress('glGetnMapfvARB');
  9038. glGetnMapivARB := GLGetProcAddress('glGetnMapivARB');
  9039. glGetnPixelMapfvARB := GLGetProcAddress('glGetnPixelMapfvARB');
  9040. glGetnPixelMapuivARB := GLGetProcAddress('glGetnPixelMapuivARB');
  9041. glGetnPixelMapusvARB := GLGetProcAddress('glGetnPixelMapusvARB');
  9042. glGetnPolygonStippleARB := GLGetProcAddress('glGetnPolygonStippleARB');
  9043. glGetnColorTableARB := GLGetProcAddress('glGetnColorTableARB');
  9044. glGetnConvolutionFilterARB := GLGetProcAddress('glGetnConvolutionFilterARB');
  9045. glGetnSeparableFilterARB := GLGetProcAddress('glGetnSeparableFilterARB');
  9046. glGetnHistogramARB := GLGetProcAddress('glGetnHistogramARB');
  9047. glGetnMinmaxARB := GLGetProcAddress('glGetnMinmaxARB');
  9048. glGetnTexImageARB := GLGetProcAddress('glGetnTexImageARB');
  9049. glReadnPixelsARB := GLGetProcAddress('glReadnPixelsARB');
  9050. glGetnCompressedTexImageARB := GLGetProcAddress('glGetnCompressedTexImageARB');
  9051. glGetnUniformfvARB := GLGetProcAddress('glGetnUniformfvARB');
  9052. glGetnUniformivARB := GLGetProcAddress('glGetnUniformivARB');
  9053. glGetnUniformuivARB := GLGetProcAddress('glGetnUniformuivARB');
  9054. glGetnUniformdvARB := GLGetProcAddress('glGetnUniformdvARB');
  9055. }
  9056. glSamplePassARB := GLGetProcAddress('glSamplePassARB');
  9057. glArrayElementArrayEXT := GLGetProcAddress('glArrayElementArrayEXT');
  9058. glAddSwapHintRectWIN := GLGetProcAddress('glAddSwapHintRectWIN');
  9059. glBlendColorEXT := GLGetProcAddress('glBlendColorEXT');
  9060. glPolygonOffsetEXT := GLGetProcAddress('glPolygonOffsetEXT');
  9061. glTexImage3DEXT := GLGetProcAddress('glTexImage3DEXT');
  9062. glTexSubImage1dEXT := GLGetProcAddress('glTexSubImage1DEXT');
  9063. glTexSubImage2dEXT := GLGetProcAddress('glTexSubImage2DEXT');
  9064. glTexSubImage3dEXT := GLGetProcAddress('glTexSubImage3DEXT');
  9065. glCopyTexImage1DEXT := GLGetProcAddress('glCopyTexImage1DEXT');
  9066. glCopyTexImage2DEXT := GLGetProcAddress('glCopyTexImage2DEXT');
  9067. glCopyTexSubImage1DEXT := GLGetProcAddress('glCopyTexSubImage1DEXT');
  9068. glCopyTexSubImage2DEXT := GLGetProcAddress('glCopyTexSubImage2DEXT');
  9069. glCopyTexSubImage3DEXT := GLGetProcAddress('glCopyTexSubImage3DEXT');
  9070. glGenTexturesEXT := GLGetProcAddress('glGenTexturesEXT');
  9071. glDeleteTexturesEXT := GLGetProcAddress('glDeleteTexturesEXT');
  9072. glBindTextureEXT := GLGetProcAddress('glBindTextureEXT');
  9073. glPrioritizeTexturesEXT := GLGetProcAddress('glPrioritizeTexturesEXT');
  9074. glAreTexturesResidentEXT := GLGetProcAddress('glAreTexturesResidentEXT');
  9075. glIsTextureEXT := GLGetProcAddress('glIsTextureEXT');
  9076. glSampleMaskSGIS := GLGetProcAddress('glSampleMaskSGIS');
  9077. glSamplePatternSGIS := GLGetProcAddress('glSamplePatternSGIS');
  9078. glBlendEquationEXT := GLGetProcAddress('glBlendEquationEXT');
  9079. glColorTableEXT := GLGetProcAddress('glColorTableEXT');
  9080. glColorSubTableEXT := GLGetProcAddress('glColorSubTableEXT');
  9081. glGetColorTableEXT := GLGetProcAddress('glGetColorTableEXT');
  9082. glGetColorTableParameterivEXT := GLGetProcAddress('glGetColorTableParameterivEXT');
  9083. glGetColorTableParameterfvEXT := GLGetProcAddress('glGetColorTableParameterfvEXT');
  9084. glIndexMaterialEXT := GLGetProcAddress('glIndexMaterialEXT');
  9085. glIndexFuncEXT := GLGetProcAddress('glIndexFuncEXT');
  9086. glLockArraysEXT := GLGetProcAddress('glLockArraysEXT');
  9087. glUnlockArraysEXT := GLGetProcAddress('glUnlockArraysEXT');
  9088. glDrawRangeElementsEXT := GLGetProcAddress('glDrawRangeElementsEXT');
  9089. glSecondaryColor3bEXT := GLGetProcAddress('glSecondaryColor3bEXT');
  9090. glSecondaryColor3bvEXT := GLGetProcAddress('glSecondaryColor3bvEXT');
  9091. glSecondaryColor3dEXT := GLGetProcAddress('glSecondaryColor3dEXT');
  9092. glSecondaryColor3dvEXT := GLGetProcAddress('glSecondaryColor3dvEXT');
  9093. glSecondaryColor3fEXT := GLGetProcAddress('glSecondaryColor3fEXT');
  9094. glSecondaryColor3fvEXT := GLGetProcAddress('glSecondaryColor3fvEXT');
  9095. glSecondaryColor3iEXT := GLGetProcAddress('glSecondaryColor3iEXT');
  9096. glSecondaryColor3ivEXT := GLGetProcAddress('glSecondaryColor3ivEXT');
  9097. glSecondaryColor3sEXT := GLGetProcAddress('glSecondaryColor3sEXT');
  9098. glSecondaryColor3svEXT := GLGetProcAddress('glSecondaryColor3svEXT');
  9099. glSecondaryColor3ubEXT := GLGetProcAddress('glSecondaryColor3ubEXT');
  9100. glSecondaryColor3ubvEXT := GLGetProcAddress('glSecondaryColor3ubvEXT');
  9101. glSecondaryColor3uiEXT := GLGetProcAddress('glSecondaryColor3uiEXT');
  9102. glSecondaryColor3uivEXT := GLGetProcAddress('glSecondaryColor3uivEXT');
  9103. glSecondaryColor3usEXT := GLGetProcAddress('glSecondaryColor3usEXT');
  9104. glSecondaryColor3usvEXT := GLGetProcAddress('glSecondaryColor3usvEXT');
  9105. glSecondaryColorPointerEXT := GLGetProcAddress('glSecondaryColorPointerEXT');
  9106. glMultiDrawArraysEXT := GLGetProcAddress('glMultiDrawArraysEXT');
  9107. glMultiDrawElementsEXT := GLGetProcAddress('glMultiDrawElementsEXT');
  9108. glFogCoordfEXT := GLGetProcAddress('glFogCoordfEXT');
  9109. glFogCoordfvEXT := GLGetProcAddress('glFogCoordfvEXT');
  9110. glFogCoorddEXT := GLGetProcAddress('glFogCoorddEXT');
  9111. glFogCoorddvEXT := GLGetProcAddress('glFogCoorddvEXT');
  9112. glFogCoordPointerEXT := GLGetProcAddress('glFogCoordPointerEXT');
  9113. glBlendFuncSeparateEXT := GLGetProcAddress('glBlendFuncSeparateEXT');
  9114. glFlushVertexArrayRangeNV := GLGetProcAddress('glFlushVertexArrayRangeNV');
  9115. glVertexArrayRangeNV := GLGetProcAddress('glVertexArrayRangeNV');
  9116. wglAllocateMemoryNV := GLGetProcAddress('wglAllocateMemoryNV');
  9117. wglFreeMemoryNV := GLGetProcAddress('wglFreeMemoryNV');
  9118. glCombinerParameterfvNV := GLGetProcAddress('glCombinerParameterfvNV');
  9119. glCombinerParameterfNV := GLGetProcAddress('glCombinerParameterfNV');
  9120. glCombinerParameterivNV := GLGetProcAddress('glCombinerParameterivNV');
  9121. glCombinerParameteriNV := GLGetProcAddress('glCombinerParameteriNV');
  9122. glCombinerInputNV := GLGetProcAddress('glCombinerInputNV');
  9123. glCombinerOutputNV := GLGetProcAddress('glCombinerOutputNV');
  9124. glFinalCombinerInputNV := GLGetProcAddress('glFinalCombinerInputNV');
  9125. glGetCombinerInputParameterfvNV := GLGetProcAddress('glGetCombinerInputParameterfvNV');
  9126. glGetCombinerInputParameterivNV := GLGetProcAddress('glGetCombinerInputParameterivNV');
  9127. glGetCombinerOutputParameterfvNV := GLGetProcAddress('glGetCombinerOutputParameterfvNV');
  9128. glGetCombinerOutputParameterivNV := GLGetProcAddress('glGetCombinerOutputParameterivNV');
  9129. glGetFinalCombinerInputParameterfvNV := GLGetProcAddress('glGetFinalCombinerInputParameterfvNV');
  9130. glGetFinalCombinerInputParameterivNV := GLGetProcAddress('glGetFinalCombinerInputParameterivNV');
  9131. glResizeBuffersMESA := GLGetProcAddress('glResizeBuffersMESA');
  9132. glTbufferMask3DFX := GLGetProcAddress('glTbufferMask3DFX');
  9133. glSampleMaskEXT := GLGetProcAddress('glSampleMaskEXT');
  9134. glSamplePatternEXT := GLGetProcAddress('glSamplePatternEXT');
  9135. glTextureColorMaskSGIS := GLGetProcAddress('glTextureColorMaskSGIS');
  9136. glGenFencesNV := GLGetProcAddress('glGenFencesNV');
  9137. glDeleteFencesNV := GLGetProcAddress('glDeleteFencesNV');
  9138. glSetFenceNV := GLGetProcAddress('glSetFenceNV');
  9139. glTestFenceNV := GLGetProcAddress('glTestFenceNV');
  9140. glFinishFenceNV := GLGetProcAddress('glFinishFenceNV');
  9141. glIsFenceNV := GLGetProcAddress('glIsFenceNV');
  9142. glGetFenceivNV := GLGetProcAddress('glGetFenceivNV');
  9143. glAreProgramsResidentNV := GLGetProcAddress('glAreProgramsResidentNV');
  9144. glBindProgramNV := GLGetProcAddress('glBindProgramNV');
  9145. glDeleteProgramsNV := GLGetProcAddress('glDeleteProgramsNV');
  9146. glExecuteProgramNV := GLGetProcAddress('glExecuteProgramNV');
  9147. glGenProgramsNV := GLGetProcAddress('glGenProgramsNV');
  9148. glGetProgramParameterdvNV := GLGetProcAddress('glGetProgramParameterdvNV');
  9149. glGetProgramParameterfvNV := GLGetProcAddress('glGetProgramParameterfvNV');
  9150. glGetProgramivNV := GLGetProcAddress('glGetProgramivNV');
  9151. glGetProgramStringNV := GLGetProcAddress('glGetProgramStringNV');
  9152. glGetTrackMatrixivNV := GLGetProcAddress('glGetTrackMatrixivNV');
  9153. glGetVertexAttribdvNV:= GLGetProcAddress('glGetVertexAttribdvNV');
  9154. glGetVertexAttribfvNV:= GLGetProcAddress('glGetVertexAttribfvNV');
  9155. glGetVertexAttribivNV:= GLGetProcAddress('glGetVertexAttribivNV');
  9156. glGetVertexAttribPointervNV := GLGetProcAddress ('glGetVertexAttribPointervNV');
  9157. glIsProgramNV := GLGetProcAddress('glIsProgramNV');
  9158. glLoadProgramNV := GLGetProcAddress('glLoadProgramNV');
  9159. glProgramParameter4dNV := GLGetProcAddress('glProgramParameter4dNV');
  9160. glProgramParameter4dvNV := GLGetProcAddress('glProgramParameter4dvNV');
  9161. glProgramParameter4fNV := GLGetProcAddress('glProgramParameter4fNV');
  9162. glProgramParameter4fvNV := GLGetProcAddress('glProgramParameter4fvNV');
  9163. glProgramParameters4dvNV := GLGetProcAddress ('glProgramParameters4dvNV');
  9164. glProgramParameters4fvNV := GLGetProcAddress ('glProgramParameters4fvNV');
  9165. glRequestResidentProgramsNV := GLGetProcAddress ('glRequestResidentProgramsNV');
  9166. glTrackMatrixNV := GLGetProcAddress('glTrackMatrixNV');
  9167. glVertexAttribPointerNV := GLGetProcAddress('glVertexAttribPointerNV');
  9168. glVertexAttrib1dNV := GLGetProcAddress('glVertexAttrib1dNV');
  9169. glVertexAttrib1dvNV := GLGetProcAddress('glVertexAttrib1dvNV');
  9170. glVertexAttrib1fNV := GLGetProcAddress('glVertexAttrib1fNV');
  9171. glVertexAttrib1fvNV := GLGetProcAddress('glVertexAttrib1fvNV');
  9172. glVertexAttrib1sNV := GLGetProcAddress('glVertexAttrib1sNV');
  9173. glVertexAttrib1svNV := GLGetProcAddress('glVertexAttrib1svNV');
  9174. glVertexAttrib2dNV := GLGetProcAddress('glVertexAttrib2dNV');
  9175. glVertexAttrib2dvNV := GLGetProcAddress('glVertexAttrib2dvNV');
  9176. glVertexAttrib2fNV := GLGetProcAddress('glVertexAttrib2fNV');
  9177. glVertexAttrib2fvNV := GLGetProcAddress('glVertexAttrib2fvNV');
  9178. glVertexAttrib2sNV := GLGetProcAddress('glVertexAttrib2sNV');
  9179. glVertexAttrib2svNV := GLGetProcAddress('glVertexAttrib2svNV');
  9180. glVertexAttrib3dNV := GLGetProcAddress('glVertexAttrib3dNV');
  9181. glVertexAttrib3dvNV := GLGetProcAddress('glVertexAttrib3dvNV');
  9182. glVertexAttrib3fNV := GLGetProcAddress('glVertexAttrib3fNV');
  9183. glVertexAttrib3fvNV := GLGetProcAddress('glVertexAttrib3fvNV');
  9184. glVertexAttrib3sNV := GLGetProcAddress('glVertexAttrib3sNV');
  9185. glVertexAttrib3svNV := GLGetProcAddress('glVertexAttrib3svNV');
  9186. glVertexAttrib4dNV := GLGetProcAddress('glVertexAttrib4dNV');
  9187. glVertexAttrib4dvNV := GLGetProcAddress('glVertexAttrib4dvNV');
  9188. glVertexAttrib4fNV := GLGetProcAddress('glVertexAttrib4fNV');
  9189. glVertexAttrib4fvNV := GLGetProcAddress('glVertexAttrib4fvNV');
  9190. glVertexAttrib4sNV := GLGetProcAddress('glVertexAttrib4sNV');
  9191. glVertexAttrib4svNV := GLGetProcAddress('glVertexAttrib4svNV');
  9192. glVertexAttrib4ubvNV := GLGetProcAddress('glVertexAttrib4ubvNV');
  9193. glVertexAttribs1dvNV := GLGetProcAddress('glVertexAttribs1dvNV');
  9194. glVertexAttribs1fvNV := GLGetProcAddress('glVertexAttribs1fvNV');
  9195. glVertexAttribs1svNV := GLGetProcAddress('glVertexAttribs1svNV');
  9196. glVertexAttribs2dvNV := GLGetProcAddress('glVertexAttribs2dvNV');
  9197. glVertexAttribs2fvNV := GLGetProcAddress('glVertexAttribs2fvNV');
  9198. glVertexAttribs2svNV := GLGetProcAddress('glVertexAttribs2svNV');
  9199. glVertexAttribs3dvNV := GLGetProcAddress('glVertexAttribs3dvNV');
  9200. glVertexAttribs3fvNV := GLGetProcAddress('glVertexAttribs3fvNV');
  9201. glVertexAttribs3svNV := GLGetProcAddress('glVertexAttribs3svNV');
  9202. glVertexAttribs4dvNV := GLGetProcAddress('glVertexAttribs4dvNV');
  9203. glVertexAttribs4fvNV := GLGetProcAddress('glVertexAttribs4fvNV');
  9204. glVertexAttribs4svNV := GLGetProcAddress('glVertexAttribs4svNV');
  9205. glVertexAttribs4ubvNV := GLGetProcAddress('glVertexAttribs4ubvN');
  9206. glGenOcclusionQueriesNV := GLGetProcAddress('glGenOcclusionQueriesNV');
  9207. glDeleteOcclusionQueriesNV := GLGetProcAddress('glDeleteOcclusionQueriesNV');
  9208. glIsOcclusionQueryNV := GLGetProcAddress('glIsOcclusionQueryNV');
  9209. glBeginOcclusionQueryNV := GLGetProcAddress('glBeginOcclusionQueryNV');
  9210. glEndOcclusionQueryNV := GLGetProcAddress('glEndOcclusionQueryNV');
  9211. glGetOcclusionQueryivNV := GLGetProcAddress('glGetOcclusionQueryivNV');
  9212. glGetOcclusionQueryuivNV := GLGetProcAddress('glGetOcclusionQueryuivNV');
  9213. glPointParameteriNV := GLGetProcAddress('glPointParameteriNV');
  9214. glPointParameterivNV := GLGetProcAddress('glPointParameterivNV');
  9215. glActiveStencilFaceEXT := GLGetProcAddress('glActiveStencilFaceEXT');
  9216. glDrawBuffersATI := GLGetProcAddress('glDrawBuffersATI');
  9217. glPrimitiveRestartNV := GLGetProcAddress('glPrimitiveRestartNV');
  9218. glPrimitiveRestartIndexNV := GLGetProcAddress('glPrimitiveRestartIndexNV');
  9219. glPrimitiveRestartIndex := GLGetProcAddress('glPrimitiveRestartIndex');
  9220. if Addr(glPrimitiveRestartIndex) = nil then
  9221. glPrimitiveRestartIndex := glPrimitiveRestartIndexNV;
  9222. glDepthBoundsEXT := GLGetProcAddress('glDepthBoundsEXT');
  9223. glBlendEquationSeparateEXT := GLGetProcAddress('glBlendEquationSeparateEXT');
  9224. glIsRenderbufferEXT := GLGetProcAddress('glIsRenderbufferEXT');
  9225. glBindRenderbufferEXT := GLGetProcAddress('glBindRenderbufferEXT');
  9226. glDeleteRenderbuffersEXT := GLGetProcAddress('glDeleteRenderbuffersEXT');
  9227. glGenRenderbuffersEXT := GLGetProcAddress('glGenRenderbuffersEXT');
  9228. glRenderbufferStorageEXT := GLGetProcAddress('glRenderbufferStorageEXT');
  9229. glGetRenderbufferParameterivEXT := GLGetProcAddress('glGetRenderbufferParameterivEXT');
  9230. glIsFramebufferEXT := GLGetProcAddress('glIsFramebufferEXT');
  9231. glBindFramebufferEXT := GLGetProcAddress('glBindFramebufferEXT');
  9232. glDeleteFramebuffersEXT := GLGetProcAddress('glDeleteFramebuffersEXT');
  9233. glGenFramebuffersEXT := GLGetProcAddress('glGenFramebuffersEXT');
  9234. glCheckFramebufferStatusEXT := GLGetProcAddress('glCheckFramebufferStatusEXT');
  9235. glFramebufferTexture1DEXT := GLGetProcAddress('glFramebufferTexture1DEXT');
  9236. glFramebufferTexture2DEXT := GLGetProcAddress('glFramebufferTexture2DEXT');
  9237. glFramebufferTexture3DEXT := GLGetProcAddress('glFramebufferTexture3DEXT');
  9238. glFramebufferRenderbufferEXT := GLGetProcAddress('glFramebufferRenderbufferEXT');
  9239. glGetFramebufferAttachmentParameterivEXT := GLGetProcAddress('glGetFramebufferAttachmentParameterivEXT');
  9240. glGenerateMipmapEXT := GLGetProcAddress('glGenerateMipmapEXT');
  9241. glStringMarkerGREMEDY := GLGetProcAddress('glStringMarkerGREMEDY');
  9242. glStencilClearTagEXT := GLGetProcAddress('glStencilClearTagEXT');
  9243. glBlitFramebufferEXT := GLGetProcAddress('glBlitFramebufferEXT');
  9244. glRenderbufferStorageMultisampleEXT := GLGetProcAddress('glRenderbufferStorageMultisampleEXT');
  9245. glGetQueryObjecti64vEXT := GLGetProcAddress('glGetQueryObjecti64vEXT');
  9246. glGetQueryObjectui64vEXT := GLGetProcAddress('glGetQueryObjectui64vEXT');
  9247. glProgramEnvParameters4fvEXT := GLGetProcAddress('glProgramEnvParameters4fvEXT');
  9248. glProgramLocalParameters4fvEXT := GLGetProcAddress('glProgramLocalParameters4fvEXT');
  9249. glProgramVertexLimitNV := GLGetProcAddress('glProgramVertexLimitNV');
  9250. glProgramParameteriEXT := GLGetProcAddress('glProgramParameteriEXT');
  9251. glFramebufferTextureEXT := GLGetProcAddress('glFramebufferTextureEXT');
  9252. glFramebufferTextureLayerEXT := GLGetProcAddress('glFramebufferTextureLayerEXT');
  9253. glFramebufferTextureFaceEXT := GLGetProcAddress('glFramebufferTextureFaceEXT');
  9254. glVertexAttribI1iEXT := GLGetProcAddress('glVertexAttribI1iEXT');
  9255. glVertexAttribI2iEXT := GLGetProcAddress('glVertexAttribI2iEXT');
  9256. glVertexAttribI3iEXT := GLGetProcAddress('glVertexAttribI3iEXT');
  9257. glVertexAttribI4iEXT := GLGetProcAddress('glVertexAttribI4iEXT');
  9258. glVertexAttribI1uiEXT := GLGetProcAddress('glVertexAttribI1uiEXT');
  9259. glVertexAttribI2uiEXT := GLGetProcAddress('glVertexAttribI2uiEXT');
  9260. glVertexAttribI3uiEXT := GLGetProcAddress('glVertexAttribI3uiEXT');
  9261. glVertexAttribI4uiEXT := GLGetProcAddress('glVertexAttribI4uiEXT');
  9262. glVertexAttribI1ivEXT := GLGetProcAddress('glVertexAttribI1ivEXT');
  9263. glVertexAttribI2ivEXT := GLGetProcAddress('glVertexAttribI2ivEXT');
  9264. glVertexAttribI3ivEXT := GLGetProcAddress('glVertexAttribI3ivEXT');
  9265. glVertexAttribI4ivEXT := GLGetProcAddress('glVertexAttribI4ivEXT');
  9266. glVertexAttribI1uivEXT := GLGetProcAddress('glVertexAttribI1uivEXT');
  9267. glVertexAttribI2uivEXT := GLGetProcAddress('glVertexAttribI2uivEXT');
  9268. glVertexAttribI3uivEXT := GLGetProcAddress('glVertexAttribI3uivEXT');
  9269. glVertexAttribI4uivEXT := GLGetProcAddress('glVertexAttribI4uivEXT');
  9270. glVertexAttribI4bvEXT := GLGetProcAddress('glVertexAttribI4bvEXT');
  9271. glVertexAttribI4svEXT := GLGetProcAddress('glVertexAttribI4svEXT');
  9272. glVertexAttribI4ubvEXT := GLGetProcAddress('glVertexAttribI4ubvEXT');
  9273. glVertexAttribI4usvEXT := GLGetProcAddress('glVertexAttribI4usvEXT');
  9274. glVertexAttribIPointerEXT := GLGetProcAddress('glVertexAttribIPointerEXT');
  9275. glGetVertexAttribIivEXT := GLGetProcAddress('glGetVertexAttribIivEXT');
  9276. glGetVertexAttribIuivEXT := GLGetProcAddress('glGetVertexAttribIuivEXT');
  9277. glUniform1uiEXT := GLGetProcAddress('glUniform1uiEXT');
  9278. glUniform2uiEXT := GLGetProcAddress('glUniform2uiEXT');
  9279. glUniform3uiEXT := GLGetProcAddress('glUniform3uiEXT');
  9280. glUniform4uiEXT := GLGetProcAddress('glUniform4uiEXT');
  9281. glUniform1uivEXT := GLGetProcAddress('glUniform1uivEXT');
  9282. glUniform2uivEXT := GLGetProcAddress('glUniform2uivEXT');
  9283. glUniform3uivEXT := GLGetProcAddress('glUniform3uivEXT');
  9284. glUniform4uivEXT := GLGetProcAddress('glUniform4uivEXT');
  9285. glGetUniformuivEXT := GLGetProcAddress('glGetUniformuivEXT');
  9286. glBindFragDataLocationEXT := GLGetProcAddress('glBindFragDataLocationEXT');
  9287. glGetFragDataLocationEXT := GLGetProcAddress('glGetFragDataLocationEXT');
  9288. glDrawArraysInstancedEXT := GLGetProcAddress('glDrawArraysInstancedEXT');
  9289. glDrawElementsInstancedEXT := GLGetProcAddress('glDrawElementsInstancedEXT');
  9290. // glFramebufferTextureLayerEXT:= GLGetProcAddress('glFramebufferTextureLayerEXT');
  9291. glTexBufferEXT := GLGetProcAddress('glTexBufferEXT');
  9292. glColorMaskIndexedEXT := GLGetProcAddress('glColorMaskIndexedEXT');
  9293. glGetBooleanIndexedvEXT := GLGetProcAddress('glGetBooleanIndexedvEXT');
  9294. glGetIntegerIndexedvEXT:= GLGetProcAddress('glGetIntegerIndexedvEXT');
  9295. glEnableIndexedEXT:= GLGetProcAddress('glEnableIndexedEXT');
  9296. glDisableIndexedEXT:= GLGetProcAddress('glDisableIndexedEXT');
  9297. glIsEnabledIndexedEXT:= GLGetProcAddress('glIsEnabledIndexedEXT');
  9298. glBindBufferRangeNV := GLGetProcAddress('glBindBufferRangeNV');
  9299. glBindBufferOffsetNV := GLGetProcAddress('glBindBufferOffsetNV');
  9300. glBindBufferBaseNV := GLGetProcAddress('glBindBufferBaseNV');
  9301. glTransformFeedbackAttribsNV := GLGetProcAddress('glTransformFeedbackAttribsNV');
  9302. glTransformFeedbackVaryingsNV := GLGetProcAddress('glTransformFeedbackVaryingsNV');
  9303. glBeginTransformFeedbackNV := GLGetProcAddress('glBeginTransformFeedbackNV');
  9304. glEndTransformFeedbackNV := GLGetProcAddress('glEndTransformFeedbackNV');
  9305. glGetVaryingLocationNV := GLGetProcAddress('glGetVaryingLocationNV');
  9306. glGetActiveVaryingNV := GLGetProcAddress('glGetActiveVaryingNV');
  9307. glActiveVaryingNV := GLGetProcAddress('glActiveVaryingNV');
  9308. glGetTransformFeedbackVaryingNV := GLGetProcAddress('glGetTransformFeedbackVaryingNV');
  9309. glUniformBufferEXT := GLGetProcAddress('glUniformBufferEXT');
  9310. glGetUniformBufferSizeEXT := GLGetProcAddress('glGetUniformBufferSizeEXT');
  9311. glGetUniformOffsetEXT := GLGetProcAddress('glGetUniformOffsetEXT');
  9312. glClearColorIiEXT := GLGetProcAddress('glClearColorIiEXT');
  9313. glClearColorIuiEXT := GLGetProcAddress('glClearColorIuiEXT');
  9314. glTexParameterIivEXT := GLGetProcAddress('glTexParameterIivEXT');
  9315. glTexParameterIuivEXT := GLGetProcAddress('glTexParameterIuivEXT');
  9316. glGetTexParameterIivEXT := GLGetProcAddress('glGetTexParameterIivEXT');
  9317. glGetTexParameterIuivEXT := GLGetProcAddress('glGetTexParameterIuivEXT');
  9318. glFrameTerminatorGREMEDY := GLGetProcAddress('glFrameTerminatorGREMEDY');
  9319. glBeginConditionalRenderNV := GLGetProcAddress('glBeginConditionalRenderNV');
  9320. glEndConditionalRenderNV := GLGetProcAddress('glEndConditionalRenderNV');
  9321. glBindBufferRangeEXT := GLGetProcAddress('glBindBufferRangeEXT');
  9322. glBindBufferOffsetEXT := GLGetProcAddress('glBindBufferOffsetEXT');
  9323. glBindBufferBaseEXT := GLGetProcAddress('glBindBufferBaseEXT');
  9324. glBeginTransformFeedbackEXT := GLGetProcAddress('glBeginTransformFeedbackEXT');
  9325. glEndTransformFeedbackEXT := GLGetProcAddress('glEndTransformFeedbackEXT');
  9326. glTransformFeedbackVaryingsEXT := GLGetProcAddress('glTransformFeedbackVaryingsEXT');
  9327. glGetTransformFeedbackVaryingEXT:= GLGetProcAddress('glGetTransformFeedbackVaryingEXT');
  9328. glTessellationFactorAMD := GLGetProcAddress('glTessellationFactorAMD');
  9329. glTessellationModeAMD := GLGetProcAddress('glTessellationModeAMD');
  9330. glCopyImageSubDataNV := GLGetProcAddress('glCopyImageSubDataNV');
  9331. glMakeBufferResidentNV := GLGetProcAddress('glMakeBufferResidentNV');
  9332. glMakeBufferNonResidentNV := GLGetProcAddress('glMakeBufferNonResidentNV');
  9333. glIsBufferResidentNV := GLGetProcAddress('glIsBufferResidentNV');
  9334. glMakeNamedBufferResidentNV := GLGetProcAddress('glMakeNamedBufferResidentNV');
  9335. glMakeNamedBufferNonResidentNV := GLGetProcAddress('glMakeNamedBufferNonResidentNV');
  9336. glIsNamedBufferResidentNV := GLGetProcAddress('glIsNamedBufferResidentNV');
  9337. glGetBufferParameterui64vNV := GLGetProcAddress('glGetBufferParameterui64vNV');
  9338. glGetNamedBufferParameterui64vNV := GLGetProcAddress('glGetNamedBufferParameterui64vNV');
  9339. glGetIntegerui64vNV := GLGetProcAddress('glGetIntegerui64vNV');
  9340. glUniformui64NV := GLGetProcAddress('glUniformui64NV');
  9341. glUniformui64vNV := GLGetProcAddress('glUniformui64vNV');
  9342. glGetUniformui64vNV := GLGetProcAddress('glGetUniformui64vNV');
  9343. glProgramUniformui64NV := GLGetProcAddress('glProgramUniformui64NV');
  9344. glProgramUniformui64vNV := GLGetProcAddress('glProgramUniformui64vNV');
  9345. glBufferAddressRangeNV := GLGetProcAddress('glBufferAddressRangeNV');
  9346. glVertexFormatNV := GLGetProcAddress('glVertexFormatNV');
  9347. glNormalFormatNV := GLGetProcAddress('glNormalFormatNV');
  9348. glColorFormatNV := GLGetProcAddress('glColorFormatNV');
  9349. glIndexFormatNV := GLGetProcAddress('glIndexFormatNV');
  9350. glTexCoordFormatNV := GLGetProcAddress('glTexCoordFormatNV');
  9351. glEdgeFlagFormatNV := GLGetProcAddress('glEdgeFlagFormatNV');
  9352. glSecondaryColorFormatNV := GLGetProcAddress('glSecondaryColorFormatNV');
  9353. glFogCoordFormatNV := GLGetProcAddress('glFogCoordFormatNV');
  9354. glVertexAttribFormatNV := GLGetProcAddress('glVertexAttribFormatNV');
  9355. glVertexAttribIFormatNV := GLGetProcAddress('glVertexAttribIFormatNV');
  9356. glGetIntegerui64i_vNV := GLGetProcAddress('glGetIntegerui64i_vNV');
  9357. //------ locate functions/procedures for Windows OpenGL (WGL) extensions -------
  9358. {$IFDEF SUPPORT_WGL}
  9359. ReadWGLExtensions;
  9360. {$ENDIF}
  9361. //------------------- locate functions/procedures for GLX extensions -----------
  9362. {$IFDEF SUPPORT_GLX}
  9363. ReadGLXExtensions;
  9364. {$ENDIF}
  9365. end;
  9366. {$IFDEF SUPPORT_WGL}
  9367. // ReadWGLExtensions
  9368. //
  9369. procedure ReadWGLExtensions;
  9370. begin
  9371. wglCreateBufferRegionARB := GLGetProcAddress('wglCreateBufferRegionARB');
  9372. wglDeleteBufferRegionARB := GLGetProcAddress('wglDeleteBufferRegionARB');
  9373. wglSaveBufferRegionARB := GLGetProcAddress('wglSaveBufferRegionARB');
  9374. wglRestoreBufferRegionARB := GLGetProcAddress('wglRestoreBufferRegionARB');
  9375. wglGetExtensionsStringARB := GLGetProcAddress('wglGetExtensionsStringARB');
  9376. wglGetPixelFormatAttribivARB := GLGetProcAddress('wglGetPixelFormatAttribivARB');
  9377. wglGetPixelFormatAttribfvARB := GLGetProcAddress('wglGetPixelFormatAttribfvARB');
  9378. wglChoosePixelFormatARB := GLGetProcAddress('wglChoosePixelFormatARB');
  9379. wglMakeContextCurrentARB := GLGetProcAddress('wglMakeContextCurrentARB');
  9380. wglGetCurrentReadDCARB := GLGetProcAddress('wglGetCurrentReadDCARB');
  9381. wglCreatePbufferARB := GLGetProcAddress('wglCreatePbufferARB');
  9382. wglGetPbufferDCARB := GLGetProcAddress('wglGetPbufferDCARB');
  9383. wglReleasePbufferDCARB := GLGetProcAddress('wglReleasePbufferDCARB');
  9384. wglDestroyPbufferARB := GLGetProcAddress('wglDestroyPbufferARB');
  9385. wglQueryPbufferARB := GLGetProcAddress('wglQueryPbufferARB');
  9386. wglBindTexImageARB := GLGetProcAddress('wglBindTexImageARB');
  9387. wglReleaseTexImageARB := GLGetProcAddress('wglReleaseTexImageARB');
  9388. wglSetPbufferAttribARB := GLGetProcAddress('wglSetPbufferAttribARB');
  9389. wglCreateContextAttribsARB := GLGetProcAddress('wglCreateContextAttribsARB');
  9390. wglSwapIntervalEXT := GLGetProcAddress('wglSwapIntervalEXT');
  9391. wglGetSwapIntervalEXT := GLGetProcAddress('wglGetSwapIntervalEXT');
  9392. wglAllocateMemoryNV := GLGetProcAddress('wglAllocateMemoryNV');
  9393. wglFreeMemoryNV := GLGetProcAddress('wglFreeMemoryNV');
  9394. wglEnumGpusNV := GLGetProcAddress('wglEnumGpusNV');
  9395. wglEnumGpuDevicesNV := GLGetProcAddress('wglEnumGpuDevicesNV');
  9396. wglCreateAffinityDCNV := GLGetProcAddress('wglCreateAffinityDCNV');
  9397. wglEnumGpusFromAffinityDCNV := GLGetProcAddress('wglEnumGpusFromAffinityDCNV');
  9398. wglDeleteDCNV := GLGetProcAddress('wglDeleteDCNV');
  9399. end;
  9400. {$ENDIF}
  9401. {$IFDEF SUPPORT_GLX}
  9402. procedure ReadGLXExtensions;
  9403. begin
  9404. glXGetProcAddress := GLLibGetProcAddress('glXGetProcAddress');
  9405. glXGetProcAddressARB := GLLibGetProcAddress('glXGetProcAddressARB');
  9406. glXChooseFBConfig := GLGetProcAddress('glXChooseFBConfig');
  9407. glXGetFBConfigAttrib := GLGetProcAddress('glXGetFBConfigAttrib');
  9408. glXGetFBConfigs := GLGetProcAddress('glXGetFBConfigs');
  9409. glXGetVisualFromFBConfig := GLGetProcAddress('glXGetVisualFromFBConfig');
  9410. glXCreateWindow := GLGetProcAddress('glXCreateWindow');
  9411. glXDestroyWindow := GLGetProcAddress('glXDestroyWindow');
  9412. glXCreatePixmap := GLGetProcAddress('glXCreatePixmap');
  9413. glXDestroyPixmap := GLGetProcAddress('glXDestroyPixmap');
  9414. glXCreatePbuffer := GLGetProcAddress('glXCreatePbuffer');
  9415. glXDestroyPbuffer := GLGetProcAddress('glXDestroyPbuffer');
  9416. glXQueryDrawable := GLGetProcAddress('glXQueryDrawable');
  9417. glXCreateNewContext := GLGetProcAddress('glXCreateNewContext');
  9418. glXMakeContextCurrent := GLGetProcAddress('glXMakeContextCurrent');
  9419. glXGetCurrentReadDrawable := GLGetProcAddress('glXGetCurrentReadDrawable');
  9420. glXQueryContext := GLGetProcAddress('glXQueryContext');
  9421. glXSelectEvent := GLGetProcAddress('glXSelectEvent');
  9422. glXGetSelectedEvent := GLGetProcAddress('glXGetSelectedEvent');
  9423. glXBindTexImageARB := GLGetProcAddress('glXBindTexImageARB');
  9424. glXReleaseTexImageARB := GLGetProcAddress('glXReleaseTexImageARB');
  9425. glxDrawableAttribARB := GLGetProcAddress('glxDrawableAttribARB');
  9426. glXCreateContextAttribsARB := GLGetProcAddress('glXCreateContextAttribsARB');
  9427. glXSwapIntervalSGI := GLGetProcAddress('glXSwapIntervalSGI');
  9428. glXGetVideoSyncSGI := GLGetProcAddress('glXGetVideoSyncSGI');
  9429. glXWaitVideoSyncSGI := GLGetProcAddress('glXWaitVideoSyncSGI');
  9430. glXFreeContextEXT := GLGetProcAddress('glXFreeContextEXT');
  9431. glXGetContextIDEXT := GLGetProcAddress('glXGetContextIDEXT');
  9432. glXGetCurrentDisplayEXT := GLGetProcAddress('glXGetCurrentDisplayEXT');
  9433. glXImportContextEXT := GLGetProcAddress('glXImportContextEXT');
  9434. glXQueryContextInfoEXT := GLGetProcAddress('glXQueryContextInfoEXT');
  9435. glXCopySubBufferMESA := GLGetProcAddress('glXCopySubBufferMESA');
  9436. glXCreateGLXPixmapMESA := GLGetProcAddress('glXCreateGLXPixmapMESA');
  9437. glXReleaseBuffersMESA := GLGetProcAddress('glXReleaseBuffersMESA');
  9438. glXSet3DfxModeMESA := GLGetProcAddress('glXSet3DfxModeMESA');
  9439. glXBindTexImageEXT := GLGetProcAddress('glXBindTexImageEXT');
  9440. glXReleaseTexImageEXT := GLGetProcAddress('glXReleaseTexImageEXT');
  9441. glXMakeCurrentReadSGI := GLGetProcAddress('glXMakeCurrentReadSGI');
  9442. glXGetCurrentReadDrawableSGI := GLGetProcAddress('glXGetCurrentReadDrawableSGI');
  9443. glXGetFBConfigAttribSGIX := GLGetProcAddress('glXGetFBConfigAttribSGIX');
  9444. glXChooseFBConfigSGIX := GLGetProcAddress('glXChooseFBConfigSGIX');
  9445. glXCreateGLXPixmapWithConfigSGIX := GLGetProcAddress('glXCreateGLXPixmapWithConfigSGIX');
  9446. glXCreateContextWithConfigSGIX := GLGetProcAddress('glXCreateContextWithConfigSGIX');
  9447. glXGetVisualFromFBConfigSGIX := GLGetProcAddress('glXGetVisualFromFBConfigSGIX');
  9448. glXGetFBConfigFromVisualSGIX := GLGetProcAddress('glXGetFBConfigFromVisualSGIX');
  9449. glXCreateGLXPbufferSGIX := GLGetProcAddress('glXCreateGLXPbufferSGIX');
  9450. glXDestroyGLXPbufferSGIX := GLGetProcAddress('glXDestroyGLXPbufferSGIX');
  9451. glXQueryGLXPbufferSGIX := GLGetProcAddress('glXQueryGLXPbufferSGIX');
  9452. glXSelectEventSGIX := GLGetProcAddress('glXSelectEventSGIX');
  9453. glXGetSelectedEventSGIX := GLGetProcAddress('glXGetSelectedEventSGIX');
  9454. glXCushionSGI := GLGetProcAddress('glXCushionSGI');
  9455. glXBindChannelToWindowSGIX := GLGetProcAddress('glXBindChannelToWindowSGIX');
  9456. glXChannelRectSGIX := GLGetProcAddress('glXChannelRectSGIX');
  9457. glXQueryChannelRectSGIX := GLGetProcAddress('glXQueryChannelRectSGIX');
  9458. glXQueryChannelDeltasSGIX := GLGetProcAddress('glXQueryChannelDeltasSGIX');
  9459. glXChannelRectSyncSGIX := GLGetProcAddress('glXChannelRectSyncSGIX');
  9460. glXJoinSwapGroupSGIX := GLGetProcAddress('glXJoinSwapGroupSGIX');
  9461. glXBindSwapBarrierSGIX := GLGetProcAddress('glXBindSwapBarrierSGIX');
  9462. glXQueryMaxSwapBarriersSGIX := GLGetProcAddress('glXQueryMaxSwapBarriersSGIX');
  9463. glXQueryHyperpipeNetworkSGIX := GLGetProcAddress('glXQueryHyperpipeNetworkSGIX');
  9464. glXHyperpipeConfigSGIX := GLGetProcAddress('glXHyperpipeConfigSGIX');
  9465. glXQueryHyperpipeConfigSGIX := GLGetProcAddress('glXQueryHyperpipeConfigSGIX');
  9466. glXDestroyHyperpipeConfigSGIX := GLGetProcAddress('glXDestroyHyperpipeConfigSGIX');
  9467. glXBindHyperpipeSGIX := GLGetProcAddress('glXBindHyperpipeSGIX');
  9468. glXQueryHyperpipeBestAttribSGIX := GLGetProcAddress('glXQueryHyperpipeBestAttribSGIX');
  9469. glXHyperpipeAttribSGIX := GLGetProcAddress('glXHyperpipeAttribSGIX');
  9470. glXQueryHyperpipeAttribSGIX := GLGetProcAddress('glXQueryHyperpipeAttribSGIX');
  9471. glXGetAGPOffsetMESA := GLGetProcAddress('glXGetAGPOffsetMESA');
  9472. glXEnumerateVideoDevicesNV := GLGetProcAddress('glXEnumerateVideoDevicesNV');
  9473. glXBindVideoDeviceNV := GLGetProcAddress('glXBindVideoDeviceNV');
  9474. glxGetVideoDeviceNV := GLGetProcAddress('glxGetVideoDeviceNV');
  9475. glXCopySubBufferMESA := GLGetProcAddress('glXCopySubBufferMESA');
  9476. glXReleaseBuffersMESA := GLGetProcAddress('glXReleaseBuffersMESA');
  9477. glXCreateGLXPixmapMESA := GLGetProcAddress('glXCreateGLXPixmapMESA');
  9478. glXSet3DfxModeMESA := GLGetProcAddress('glXSet3DfxModeMESA');
  9479. glXAllocateMemoryNV := GLGetProcAddress('glXAllocateMemoryNV');
  9480. glXFreeMemoryNV := GLGetProcAddress('glXFreeMemoryNV');
  9481. glXReleaseVideoDeviceNV := GLGetProcAddress('glXReleaseVideoDeviceNV');
  9482. glXBindVideoImageNV := GLGetProcAddress('glXBindVideoImageNV');
  9483. glXReleaseVideoImageNV := GLGetProcAddress('glXReleaseVideoImageNV');
  9484. glXSendPbufferToVideoNV := GLGetProcAddress('glXSendPbufferToVideoNV');
  9485. glXGetVideoInfoNV := GLGetProcAddress('glXGetVideoInfoNV');
  9486. glXJoinSwapGroupNV := GLGetProcAddress('glXJoinSwapGroupNV');
  9487. glXBindSwapBarrierNV := GLGetProcAddress('glXBindSwapBarrierNV');
  9488. glXQuerySwapGroupNV := GLGetProcAddress('glXQuerySwapGroupNV');
  9489. glXQueryMaxSwapGroupsNV := GLGetProcAddress('glXQueryMaxSwapGroupsNV');
  9490. glXQueryFrameCountNV := GLGetProcAddress('glXQueryFrameCountNV');
  9491. glXResetFrameCountNV := GLGetProcAddress('glXResetFrameCountNV');
  9492. glXBindVideoCaptureDeviceNV := GLGetProcAddress('glXBindVideoCaptureDeviceNV');
  9493. glXEnumerateVideoCaptureDevicesNV := GLGetProcAddress('glXEnumerateVideoCaptureDevicesNV');
  9494. glxLockVideoCaptureDeviceNV := GLGetProcAddress('glxLockVideoCaptureDeviceNV');
  9495. glXQueryVideoCaptureDeviceNV := GLGetProcAddress('glXQueryVideoCaptureDeviceNV');
  9496. glXReleaseVideoCaptureDeviceNV := GLGetProcAddress('glXReleaseVideoCaptureDeviceNV');
  9497. glXSwapIntervalEXT := GLGetProcAddress('glXSwapIntervalEXT');
  9498. glXCopyImageSubDataNV := GLGetProcAddress('glXCopyImageSubDataNV');
  9499. end;
  9500. {$ENDIF}
  9501. procedure TrimAndSplitVersionString(Buffer: String; out Max, Min: Integer);
  9502. // Peels out the X.Y form from the given Buffer which must contain a version string like "text Minor.Major.Build text"
  9503. // at least however "Major.Minor".
  9504. var
  9505. Separator: Integer;
  9506. begin
  9507. try
  9508. // There must be at least one dot to separate major and minor version number.
  9509. Separator := Pos('.', Buffer);
  9510. // At least one number must be before and one after the dot.
  9511. if (Separator > 1) and (Separator < Length(Buffer)) and
  9512. (AnsiChar(Buffer[Separator - 1]) in ['0'..'9']) and
  9513. (AnsiChar(Buffer[Separator + 1]) in ['0'..'9']) then
  9514. begin
  9515. // OK, it's a valid version string. Now remove unnecessary parts.
  9516. Dec(Separator);
  9517. // Find last non-numeric character before version number.
  9518. while (Separator > 0) and (AnsiChar(Buffer[Separator]) in ['0'..'9']) do
  9519. Dec(Separator);
  9520. // Delete leading characters which do not belong to the version string.
  9521. Delete(Buffer, 1, Separator);
  9522. Separator := Pos('.', Buffer) + 1;
  9523. // Find first non-numeric character after version number
  9524. while (Separator <= Length(Buffer)) and
  9525. (AnsiChar(Buffer[Separator]) in ['0'..'9']) do
  9526. Inc(Separator);
  9527. // delete trailing characters not belonging to the version string
  9528. Delete(Buffer, Separator, 255);
  9529. // Now translate the numbers.
  9530. Separator := Pos('.', Buffer); // This is necessary because the buffer length might have changed.
  9531. Max := StrToInt(Copy(Buffer, 1, Separator - 1));
  9532. Min := StrToInt(Copy(Buffer, Separator + 1, 255));
  9533. end
  9534. else
  9535. Abort;
  9536. except
  9537. Min := 0;
  9538. Max := 0;
  9539. end;
  9540. end;
  9541. function IsVersionMet(MajorVersion, MinorVersion, actualMajorVersion,
  9542. actualMinorVersion: Integer): Boolean;
  9543. begin
  9544. Result := (actualMajorVersion > MajorVersion) or
  9545. ((actualMajorVersion = MajorVersion) and
  9546. (actualMinorVersion >= MinorVersion));
  9547. end;
  9548. procedure ReadImplementationProperties;
  9549. var
  9550. Buffer : String;
  9551. MajorVersion, MinorVersion: Integer;
  9552. // Checks if the given Extension string is in Buffer.
  9553. function CheckExtension(const Extension: string): Boolean; //PALOFF
  9554. var
  9555. ExtPos: Integer;
  9556. begin
  9557. // First find the position of the extension string as substring in Buffer.
  9558. ExtPos := Pos(Extension, Buffer);
  9559. Result := ExtPos > 0;
  9560. // Now check that it isn't only a substring of another extension.
  9561. if Result then
  9562. Result := ((ExtPos + Length(Extension) - 1)= Length(Buffer))
  9563. or (Buffer[ExtPos + Length(Extension)]=' ');
  9564. end;
  9565. begin
  9566. // determine OpenGL versions supported
  9567. Buffer := string(glGetString(GL_VERSION));
  9568. TrimAndSplitVersionString(Buffer, MajorVersion, MinorVersion);
  9569. GL_VERSION_1_0 := True;
  9570. GL_VERSION_1_1 := IsVersionMet(1, 1, MajorVersion, MinorVersion);
  9571. GL_VERSION_1_2 := IsVersionMet(1, 2, MajorVersion, MinorVersion);
  9572. GL_VERSION_1_3 := IsVersionMet(1, 3, MajorVersion, MinorVersion);
  9573. GL_VERSION_1_4 := IsVersionMet(1, 4, MajorVersion, MinorVersion);
  9574. GL_VERSION_1_5 := IsVersionMet(1, 5, MajorVersion, MinorVersion);
  9575. GL_VERSION_2_0 := IsVersionMet(2, 0, MajorVersion, MinorVersion);
  9576. GL_VERSION_2_1 := IsVersionMet(2, 1, MajorVersion, MinorVersion);
  9577. GL_VERSION_3_0 := IsVersionMet(3, 0, MajorVersion, MinorVersion);
  9578. GL_VERSION_3_1 := IsVersionMet(3, 1, MajorVersion, MinorVersion);
  9579. GL_VERSION_3_2 := IsVersionMet(3, 2, MajorVersion, MinorVersion);
  9580. GL_VERSION_3_3 := IsVersionMet(3, 3, MajorVersion, MinorVersion);
  9581. GL_VERSION_4_0 := IsVersionMet(4, 0, MajorVersion, MinorVersion);
  9582. GL_VERSION_4_1 := IsVersionMet(4, 1, MajorVersion, MinorVersion);
  9583. GL_VERSION_4_2 := IsVersionMet(4, 2, MajorVersion, MinorVersion);
  9584. GL_VERSION_4_3 := IsVersionMet(4, 3, MajorVersion, MinorVersion);
  9585. GL_VERSION_4_4 := IsVersionMet(4, 4, MajorVersion, MinorVersion);
  9586. GL_VERSION_4_5 := IsVersionMet(4, 5, MajorVersion, MinorVersion);
  9587. // determine GLU versions met
  9588. buffer:=String(gluGetString(GLU_VERSION));
  9589. TrimAndSplitVersionString(buffer, majorversion, minorVersion);
  9590. GLU_VERSION_1_1:=True; // won't load without at least GLU 1.1
  9591. GLU_VERSION_1_2:=IsVersionMet(1,2,majorVersion,minorVersion);
  9592. GLU_VERSION_1_3:=IsVersionMet(1,3,majorVersion,minorVersion);
  9593. // check supported OpenGL extensions
  9594. Buffer := String(glGetString(GL_EXTENSIONS));
  9595. GL_ARB_blend_func_extended := CheckExtension('GL_ARB_blend_func_extended');
  9596. GL_ARB_color_buffer_float := CheckExtension('GL_ARB_color_buffer_float');
  9597. GL_ARB_compatibility := CheckExtension('GL_ARB_compatibility');
  9598. GL_ARB_copy_buffer := CheckExtension('GL_ARB_copy_buffer');
  9599. GL_ARB_debug_output := CheckExtension('GL_ARB_debug_output');
  9600. GL_ARB_depth_buffer_float := CheckExtension('GL_ARB_depth_buffer_float');
  9601. GL_ARB_depth_clamp := CheckExtension('GL_ARB_depth_clamp');
  9602. GL_ARB_depth_texture := CheckExtension('GL_ARB_depth_texture');
  9603. GL_ARB_draw_buffers := CheckExtension('GL_ARB_draw_buffers');
  9604. GL_ARB_draw_buffers_blend := CheckExtension('GL_ARB_draw_buffers_blend');
  9605. GL_ARB_draw_elements_base_vertex := CheckExtension('GL_ARB_draw_elements_base_vertex');
  9606. GL_ARB_draw_indirect := CheckExtension('GL_ARB_draw_indirect');
  9607. GL_ARB_draw_instanced := CheckExtension('GL_ARB_draw_instanced');
  9608. GL_ARB_ES2_compatibility := CheckExtension('GL_ARB_ES2_compatibility');
  9609. GL_ARB_explicit_attrib_location := CheckExtension('GL_ARB_explicit_attrib_location');
  9610. GL_ARB_fragment_coord_conventions := CheckExtension('GL_ARB_fragment_coord_conventions');
  9611. GL_ARB_fragment_program := CheckExtension('GL_ARB_fragment_program');
  9612. GL_ARB_fragment_program_shadow := CheckExtension('GL_ARB_fragment_program_shadow');
  9613. GL_ARB_fragment_shader := CheckExtension('GL_ARB_fragment_shader');
  9614. GL_ARB_framebuffer_object := CheckExtension('GL_ARB_framebuffer_object');
  9615. GL_ARB_framebuffer_sRGB := CheckExtension('GL_ARB_framebuffer_sRGB');
  9616. GL_ARB_geometry_shader4 := CheckExtension('GL_ARB_geometry_shader4');
  9617. GL_ARB_get_program_binary := CheckExtension('GL_ARB_get_program_binary');
  9618. GL_ARB_gpu_shader_fp64 := CheckExtension('GL_ARB_gpu_shader_fp64');
  9619. GL_ARB_gpu_shader5 := CheckExtension('GL_ARB_gpu_shader5');
  9620. GL_ARB_half_float_pixel := CheckExtension('GL_ARB_half_float_pixel');
  9621. GL_ARB_half_float_vertex := CheckExtension('GL_ARB_half_float_vertex');
  9622. GL_ARB_imaging := CheckExtension('GL_ARB_imaging');
  9623. GL_ARB_instanced_arrays := CheckExtension('GL_ARB_instanced_arrays');
  9624. GL_ARB_map_buffer_range := CheckExtension('GL_ARB_map_buffer_range');
  9625. GL_ARB_matrix_palette := CheckExtension('GL_ARB_matrix_palette');
  9626. GL_ARB_multisample := CheckExtension(' GL_ARB_multisample'); // ' ' to avoid collision with WGL variant
  9627. GL_ARB_multitexture := CheckExtension('GL_ARB_multitexture');
  9628. GL_ARB_occlusion_query := CheckExtension('GL_ARB_occlusion_query');
  9629. GL_ARB_occlusion_query2 := CheckExtension('GL_ARB_occlusion_query2');
  9630. GL_ARB_pixel_buffer_object := CheckExtension('GL_ARB_pixel_buffer_object');
  9631. GL_ARB_point_parameters := CheckExtension('GL_ARB_point_parameters');
  9632. GL_ARB_point_sprite := CheckExtension('GL_ARB_point_sprite');
  9633. GL_ARB_provoking_vertex := CheckExtension('GL_ARB_provoking_vertex');
  9634. GL_ARB_robustness := CheckExtension('GL_ARB_robustness');
  9635. GL_ARB_sample_shading := CheckExtension('GL_ARB_sample_shading');
  9636. GL_ARB_sampler_objects := CheckExtension('GL_ARB_sampler_objects');
  9637. GL_ARB_seamless_cube_map := CheckExtension('GL_ARB_seamless_cube_map');
  9638. GL_ARB_separate_shader_objects := CheckExtension('GL_ARB_separate_shader_objects');
  9639. GL_ARB_shader_bit_encoding := CheckExtension('GL_ARB_shader_bit_encoding');
  9640. GL_ARB_shader_precision := CheckExtension('GL_ARB_shader_precision');
  9641. GL_ARB_shader_objects := CheckExtension('GL_ARB_shader_objects');
  9642. GL_ARB_shader_stencil_export := CheckExtension('GL_ARB_shader_stencil_export');
  9643. GL_ARB_shader_subroutine := CheckExtension('GL_ARB_shader_subroutine');
  9644. GL_ARB_shader_texture_lod := CheckExtension('GL_ARB_shader_texture_lod');
  9645. GL_ARB_shading_language_100 := CheckExtension('GL_ARB_shading_language_100');
  9646. GL_ARB_shadow := CheckExtension('GL_ARB_shadow');
  9647. GL_ARB_shadow_ambient := CheckExtension('GL_ARB_shadow_ambient');
  9648. GL_ARB_sync := CheckExtension('GL_ARB_sync');
  9649. GL_ARB_tessellation_shader := CheckExtension('GL_ARB_tessellation_shader');
  9650. GL_ARB_texture_border_clamp := CheckExtension('GL_ARB_texture_border_clamp');
  9651. GL_ARB_texture_buffer_object := CheckExtension('GL_ARB_texture_buffer_object');
  9652. GL_ARB_texture_buffer_object_rgb32 := CheckExtension('GL_ARB_texture_buffer_object_rgb32');
  9653. GL_ARB_texture_compression := CheckExtension('GL_ARB_texture_compression');
  9654. GL_ARB_texture_compression_rgtc := CheckExtension('GL_ARB_texture_compression_rgtc');
  9655. GL_ARB_texture_cube_map := CheckExtension('GL_ARB_texture_cube_map');
  9656. GL_ARB_texture_cube_map_array := CheckExtension('GL_ARB_texture_cube_map_array');
  9657. GL_ARB_texture_env_add := CheckExtension('GL_ARB_texture_env_add');
  9658. GL_ARB_texture_env_combine := CheckExtension('GL_ARB_texture_env_combine');
  9659. GL_ARB_texture_env_crossbar := CheckExtension('GL_ARB_texture_env_crossbar');
  9660. GL_ARB_texture_env_dot3 := CheckExtension('GL_ARB_texture_env_dot3');
  9661. GL_ARB_texture_float := CheckExtension('GL_ARB_texture_float');
  9662. GL_ARB_texture_gather := CheckExtension('GL_ARB_texture_gather');
  9663. GL_ARB_texture_mirrored_repeat := CheckExtension('GL_ARB_texture_mirrored_repeat');
  9664. GL_ARB_texture_multisample := CheckExtension('GL_ARB_texture_multisample');
  9665. GL_ARB_texture_non_power_of_two := CheckExtension('GL_ARB_texture_non_power_of_two');
  9666. GL_ARB_texture_query_lod := CheckExtension('GL_ARB_texture_query_lod');
  9667. GL_ARB_texture_rectangle := CheckExtension('GL_ARB_texture_rectangle');
  9668. GL_ARB_texture_rg := CheckExtension('GL_ARB_texture_rg');
  9669. GL_ARB_texture_rgb10_a2ui := CheckExtension('GL_ARB_texture_rgb10_a2ui');
  9670. GL_ARB_texture_swizzle := CheckExtension('GL_ARB_texture_swizzle');
  9671. GL_ARB_timer_query := CheckExtension('GL_ARB_timer_query');
  9672. GL_ARB_transform_feedback2 := CheckExtension('GL_ARB_transform_feedback2');
  9673. GL_ARB_transform_feedback3 := CheckExtension('GL_ARB_transform_feedback3');
  9674. GL_ARB_transpose_matrix := CheckExtension('GL_ARB_transpose_matrix');
  9675. GL_ARB_uniform_buffer_object := CheckExtension('GL_ARB_uniform_buffer_object');
  9676. GL_ARB_vertex_array_bgra := CheckExtension('GL_ARB_vertex_array_bgra');
  9677. GL_ARB_vertex_array_object := CheckExtension('GL_ARB_vertex_array_object');
  9678. GL_ARB_vertex_attrib_64bit := CheckExtension('GL_ARB_vertex_attrib_64bit');
  9679. GL_ARB_vertex_blend := CheckExtension('GL_ARB_vertex_blend');
  9680. GL_ARB_vertex_buffer_object := CheckExtension('GL_ARB_vertex_buffer_object');
  9681. GL_ARB_vertex_program := CheckExtension('GL_ARB_vertex_program');
  9682. GL_ARB_vertex_shader := CheckExtension('GL_ARB_vertex_shader');
  9683. GL_ARB_vertex_type_2_10_10_10_rev := CheckExtension('GL_ARB_vertex_type_2_10_10_10_rev');
  9684. GL_ARB_viewport_array := CheckExtension('GL_ARB_viewport_array');
  9685. GL_ARB_window_pos := CheckExtension('GL_ARB_window_pos');
  9686. GL_ARB_texture_compression_bptc := CheckExtension('GL_ARB_texture_compression_bptc');
  9687. GL_3DFX_multisample := CheckExtension('GL_3DFX_multisample');
  9688. GL_3DFX_tbuffer := CheckExtension('GL_3DFX_tbuffer');
  9689. GL_3DFX_texture_compression_FXT1 := CheckExtension('GL_3DFX_texture_compression_FXT1');
  9690. GL_ATI_draw_buffers := CheckExtension('GL_ATI_draw_buffers');
  9691. // GL_ATI_texture_compression_3dc := CheckExtension('GL_ATI_texture_compression_3dc');
  9692. GL_ATI_texture_float := CheckExtension('GL_ATI_texture_float');
  9693. GL_ATI_texture_mirror_once := CheckExtension('GL_ATI_texture_mirror_once');
  9694. GL_S3_s3tc := CheckExtension('GL_S3_s3tc');
  9695. GL_EXT_abgr := CheckExtension('GL_EXT_abgr');
  9696. GL_EXT_bgra := CheckExtension('GL_EXT_bgra');
  9697. GL_EXT_bindable_uniform := CheckExtension('GL_EXT_bindable_uniform');
  9698. GL_EXT_blend_color := CheckExtension('GL_EXT_blend_color');
  9699. GL_EXT_blend_equation_separate := CheckExtension('GL_EXT_blend_equation_separate');
  9700. GL_EXT_blend_func_separate := CheckExtension('GL_EXT_blend_func_separate');
  9701. GL_EXT_blend_logic_op := CheckExtension('GL_EXT_blend_logic_op');
  9702. GL_EXT_blend_minmax := CheckExtension('GL_EXT_blend_minmax');
  9703. GL_EXT_blend_subtract := CheckExtension('GL_EXT_blend_subtract');
  9704. /// GL_EXT_Cg_shader := CheckExtension('GL_EXT_Cg_shader');
  9705. GL_EXT_clip_volume_hint := CheckExtension('GL_EXT_clip_volume_hint');
  9706. GL_EXT_compiled_vertex_array := CheckExtension('GL_EXT_compiled_vertex_array');
  9707. GL_EXT_copy_texture := CheckExtension('GL_EXT_copy_texture');
  9708. GL_EXT_depth_bounds_test := CheckExtension('GL_EXT_depth_bounds_test');
  9709. GL_EXT_draw_buffers2 := CheckExtension('GL_EXT_draw_buffers2');
  9710. GL_EXT_draw_instanced := CheckExtension('GL_EXT_draw_instanced');
  9711. GL_EXT_draw_range_elements := CheckExtension('GL_EXT_draw_range_elements');
  9712. GL_EXT_fog_coord := CheckExtension('GL_EXT_fog_coord');
  9713. GL_EXT_framebuffer_blit := CheckExtension('GL_EXT_framebuffer_blit');
  9714. GL_EXT_framebuffer_multisample := CheckExtension('GL_EXT_framebuffer_multisample');
  9715. GL_EXT_framebuffer_object := CheckExtension('GL_EXT_framebuffer_object');
  9716. GL_EXT_framebuffer_sRGB := CheckExtension('GL_EXT_framebuffer_sRGB');
  9717. GL_EXT_geometry_shader4 := CheckExtension('GL_EXT_geometry_shader4');
  9718. GL_EXT_gpu_program_parameters := CheckExtension('GL_EXT_gpu_program_parameters');
  9719. GL_EXT_gpu_shader4 := CheckExtension('GL_EXT_gpu_shader4');
  9720. GL_EXT_multi_draw_arrays := CheckExtension('GL_EXT_multi_draw_arrays');
  9721. GL_EXT_multisample := CheckExtension('GL_EXT_multisample');
  9722. GL_EXT_packed_depth_stencil := CheckExtension('GL_EXT_packed_depth_stencil');
  9723. GL_EXT_packed_float := CheckExtension('GL_EXT_packed_float');
  9724. GL_EXT_packed_pixels := CheckExtension('GL_EXT_packed_pixels');
  9725. GL_EXT_paletted_texture := CheckExtension('GL_EXT_paletted_texture');
  9726. GL_EXT_pixel_buffer_object := CheckExtension('GL_EXT_pixel_buffer_object');
  9727. GL_EXT_polygon_offset := CheckExtension('GL_EXT_polygon_offset');
  9728. GL_EXT_rescale_normal := CheckExtension('GL_EXT_rescale_normal');
  9729. GL_EXT_secondary_color := CheckExtension('GL_EXT_secondary_color');
  9730. GL_EXT_separate_specular_color := CheckExtension('GL_EXT_separate_specular_color');
  9731. GL_EXT_shadow_funcs := CheckExtension('GL_EXT_shadow_funcs');
  9732. GL_EXT_shared_texture_palette := CheckExtension('GL_EXT_shared_texture_palette');
  9733. GL_EXT_stencil_clear_tag := CheckExtension('GL_EXT_stencil_clear_tag');
  9734. GL_EXT_stencil_two_side := CheckExtension('GL_EXT_stencil_two_side');
  9735. GL_EXT_stencil_wrap := CheckExtension('GL_EXT_stencil_wrap');
  9736. GL_EXT_texture3D := CheckExtension('GL_EXT_texture3D');
  9737. GL_EXT_texture_array := CheckExtension('GL_EXT_texture_array');
  9738. GL_EXT_texture_buffer_object := CheckExtension('GL_EXT_texture_buffer_object');
  9739. GL_EXT_texture_compression_latc := CheckExtension('GL_EXT_texture_compression_latc');
  9740. GL_EXT_texture_compression_rgtc := CheckExtension('GL_EXT_texture_compression_rgtc');
  9741. GL_EXT_texture_compression_s3tc := CheckExtension('GL_EXT_texture_compression_s3tc');
  9742. GL_EXT_texture_cube_map := CheckExtension('GL_EXT_texture_cube_map');
  9743. GL_EXT_texture_edge_clamp := CheckExtension('GL_EXT_texture_edge_clamp');
  9744. GL_EXT_texture_env_add := CheckExtension('GL_EXT_texture_env_add');
  9745. GL_EXT_texture_env_combine := CheckExtension('GL_EXT_texture_env_combine');
  9746. GL_EXT_texture_env_dot3 := CheckExtension('GL_EXT_texture_env_dot3');
  9747. GL_EXT_texture_filter_anisotropic := CheckExtension('GL_EXT_texture_filter_anisotropic');
  9748. GL_EXT_texture_integer := CheckExtension('GL_EXT_texture_integer');
  9749. /// GL_EXT_texture_lod := CheckExtension('GL_EXT_texture_lod');
  9750. GL_EXT_texture_lod_bias := CheckExtension('GL_EXT_texture_lod_bias');
  9751. GL_EXT_texture_mirror_clamp := CheckExtension('GL_EXT_texture_mirror_clamp');
  9752. GL_EXT_texture_object := CheckExtension('GL_EXT_texture_object');
  9753. GL_EXT_texture_rectangle := CheckExtension('GL_EXT_texture_rectangle');
  9754. GL_EXT_texture_sRGB := CheckExtension('GL_EXT_texture_sRGB');
  9755. GL_EXT_texture_shared_exponent := CheckExtension('GL_EXT_texture_shared_exponent');
  9756. GL_EXT_timer_query := CheckExtension('GL_EXT_timer_query');
  9757. GL_EXT_transform_feedback := CheckExtension('GL_EXT_transform_feedback');
  9758. GL_EXT_vertex_array := CheckExtension('GL_EXT_vertex_array');
  9759. GL_HP_occlusion_test := CheckExtension('GL_HP_occlusion_test');
  9760. GL_IBM_rasterpos_clip := CheckExtension('GL_IBM_rasterpos_clip');
  9761. /// GL_KTX_buffer_region := CheckExtension('GL_KTX_buffer_region');
  9762. GL_MESA_resize_buffers := CheckExtension('GL_MESA_resize_buffers');
  9763. GL_NV_blend_square := CheckExtension('GL_NV_blend_square');
  9764. GL_NV_conditional_render := CheckExtension('GL_NV_conditional_render');
  9765. GL_NV_copy_image := CheckExtension('GL_NV_copy_image');
  9766. GL_NV_depth_buffer_float := CheckExtension('GL_NV_depth_buffer_float');
  9767. GL_NV_fence := CheckExtension('GL_NV_fence');
  9768. GL_NV_float_buffer := CheckExtension('GL_NV_float_buffer');
  9769. GL_NV_fog_distance := CheckExtension('GL_NV_fog_distance');
  9770. GL_NV_geometry_program4 := CheckExtension('GL_NV_geometry_program4');
  9771. GL_NV_light_max_exponent := CheckExtension('GL_NV_light_max_exponent');
  9772. GL_NV_multisample_filter_hint := CheckExtension('GL_NV_multisample_filter_hint');
  9773. GL_NV_occlusion_query := CheckExtension('GL_NV_occlusion_query');
  9774. GL_NV_point_sprite := CheckExtension('GL_NV_point_sprite');
  9775. GL_NV_primitive_restart := CheckExtension('GL_NV_primitive_restart');
  9776. GL_NV_register_combiners := CheckExtension('GL_NV_register_combiners');
  9777. GL_NV_shader_buffer_load := CheckExtension('GL_NV_shader_buffer_load');
  9778. GL_NV_texgen_reflection := CheckExtension('GL_NV_texgen_reflection');
  9779. GL_NV_texture_compression_vtc := CheckExtension('GL_NV_texture_compression_vtc');
  9780. GL_NV_texture_env_combine4 := CheckExtension('GL_NV_texture_env_combine4');
  9781. GL_NV_texture_rectangle := CheckExtension('GL_NV_texture_rectangle');
  9782. GL_NV_texture_shader := CheckExtension('GL_NV_texture_shader');
  9783. GL_NV_texture_shader2 := CheckExtension('GL_NV_texture_shader2');
  9784. GL_NV_texture_shader3 := CheckExtension('GL_NV_texture_shader3');
  9785. GL_NV_transform_feedback := CheckExtension('GL_NV_transform_feedback');
  9786. GL_NV_vertex_array_range := CheckExtension('GL_NV_vertex_array_range');
  9787. GL_NV_vertex_array_range2 := CheckExtension('GL_NV_vertex_array_range2');
  9788. GL_NV_vertex_buffer_unified_memory := CheckExtension('GL_NV_vertex_buffer_unified_memory');
  9789. GL_NV_vertex_program := CheckExtension('GL_NV_vertex_program');
  9790. GL_SGI_color_matrix := CheckExtension('GL_SGI_color_matrix');
  9791. GL_SGIS_generate_mipmap := CheckExtension('GL_SGIS_generate_mipmap');
  9792. GL_SGIS_multisample := CheckExtension('GL_SGIS_multisample');
  9793. GL_SGIS_texture_border_clamp := CheckExtension('GL_SGIS_texture_border_clamp');
  9794. GL_SGIS_texture_color_mask := CheckExtension('GL_SGIS_texture_color_mask');
  9795. GL_SGIS_texture_edge_clamp := CheckExtension('GL_SGIS_texture_edge_clamp');
  9796. GL_SGIS_texture_lod := CheckExtension('GL_SGIS_texture_lod');
  9797. GL_SGIX_depth_texture := CheckExtension('GL_SGIX_depth_texture');
  9798. GL_SGIX_shadow := CheckExtension('GL_SGIX_shadow');
  9799. GL_SGIX_shadow_ambient := CheckExtension('GL_SGIX_shadow_ambient');
  9800. /// GL_AMD_vertex_shader_tessellator := CheckExtension('GL_AMD_vertex_shader_tessellator');
  9801. /// GL_WIN_swap_hint := CheckExtension('GL_WIN_swap_hint');
  9802. /// GL_GREMEDY_frame_terminator := CheckExtension('GL_GREMEDY_frame_terminator');
  9803. /// GL_GREMEDY_string_marker := CheckExtension('GL_GREMEDY_string_marker');
  9804. // check supported GLU extensions
  9805. Buffer := String(gluGetString(GLU_EXTENSIONS));
  9806. /// GLU_EXT_nurbs_tessellator := CheckExtension('GLU_EXT_nurbs_tessellator');
  9807. /// GLU_EXT_object_space_tess := CheckExtension('GLU_EXT_object_space_tess');
  9808. /// GLU_EXT_TEXTURE := CheckExtension('GLU_EXT_TEXTURE');
  9809. {$IFDEF SUPPORT_WGL}
  9810. //check supported WGL extensions
  9811. ReadWGLImplementationProperties;
  9812. {$ENDIF}
  9813. {$IFDEF SUPPORT_GLX}
  9814. //check supported GLX extensions
  9815. ReadGLXImplementationProperties;
  9816. {$ENDIF}
  9817. end;
  9818. {$IFDEF SUPPORT_WGL}
  9819. procedure ReadWGLImplementationProperties;
  9820. var
  9821. Buffer: string;
  9822. // Checks if the given Extension string is in Buffer.
  9823. function CheckExtension(const Extension: string): Boolean; //PALOFF
  9824. var
  9825. ExtPos: Integer;
  9826. begin
  9827. // First find the position of the extension string as substring in Buffer.
  9828. ExtPos := Pos(Extension, Buffer);
  9829. Result := ExtPos > 0;
  9830. // Now check that it isn't only a substring of another extension.
  9831. if Result then
  9832. Result := ((ExtPos + Length(Extension) - 1)= Length(Buffer))
  9833. or (Buffer[ExtPos + Length(Extension)]=' ');
  9834. end;
  9835. begin
  9836. // ARB wgl extensions
  9837. if Assigned(wglGetExtensionsStringARB) then
  9838. Buffer:=String(wglGetExtensionsStringARB(wglGetCurrentDC))
  9839. else Buffer:='';
  9840. WGL_ARB_buffer_region:=CheckExtension('WGL_ARB_buffer_region');
  9841. WGL_ARB_create_context := CheckExtension('WGL_ARB_create_context');
  9842. WGL_ARB_create_context_profile := CheckExtension('WGL_ARB_create_context_profile');
  9843. WGL_ARB_extensions_string:=CheckExtension('WGL_ARB_extensions_string');
  9844. WGL_ARB_framebuffer_sRGB := CheckExtension('WGL_ARB_framebuffer_sRGB');
  9845. WGL_ARB_make_current_read:=CheckExtension('WGL_ARB_make_current_read');
  9846. WGL_ARB_multisample:=CheckExtension('WGL_ARB_multisample');
  9847. WGL_ARB_pbuffer:=CheckExtension('WGL_ARB_pbuffer');
  9848. WGL_ARB_pixel_format:=CheckExtension('WGL_ARB_pixel_format');
  9849. WGL_ARB_pixel_format_float:=CheckExtension('WGL_ARB_pixel_format_float');
  9850. WGL_ARB_render_texture:=CheckExtension('WGL_ARB_render_texture');
  9851. // Vendor/EXT wgl extensions
  9852. WGL_ATI_pixel_format_float := CheckExtension('WGL_ATI_pixel_format_float');
  9853. WGL_EXT_pbuffer := CheckExtension('WGL_EXT_pbuffer');
  9854. WGL_EXT_pixel_format := CheckExtension('WGL_EXT_pixel_format');
  9855. WGL_EXT_swap_control := CheckExtension('WGL_EXT_swap_control');
  9856. WGL_NV_gpu_affinity := CheckExtension('WGL_NV_gpu_affinity');
  9857. end;
  9858. {$ENDIF}
  9859. {$IFDEF SUPPORT_GLX}
  9860. procedure ReadGLXImplementationProperties;
  9861. var
  9862. Buffer: string;
  9863. MajorVersion, MinorVersion: Integer;
  9864. Dpy: PDisplay;
  9865. // Checks if the given Extension string is in Buffer.
  9866. function CheckExtension(const Extension: string): Boolean;
  9867. var
  9868. ExtPos: Integer;
  9869. begin
  9870. // First find the position of the extension string as substring in Buffer.
  9871. ExtPos := Pos(Extension, Buffer);
  9872. Result := ExtPos > 0;
  9873. // Now check that it isn't only a substring of another extension.
  9874. if Result then
  9875. Result := ((ExtPos + Length(Extension) - 1)= Length(Buffer))
  9876. or (Buffer[ExtPos + Length(Extension)]=' ');
  9877. end;
  9878. begin
  9879. Dpy:=glXGetCurrentDisplay();
  9880. buffer:=String(glXQueryServerString(Dpy, XDefaultScreen(Dpy), GLX_VERSION));
  9881. TrimAndSplitVersionString(buffer, majorversion, minorVersion);
  9882. GLX_VERSION_1_1:=IsVersionMet(1,1,majorVersion,minorVersion);
  9883. GLX_VERSION_1_2:=IsVersionMet(1,2,majorVersion,minorVersion);
  9884. GLX_VERSION_1_3:=IsVersionMet(1,3,majorVersion,minorVersion);
  9885. GLX_VERSION_1_4:=IsVersionMet(1,4,majorVersion,minorVersion);
  9886. // This procedure will probably need changing, as totally untested
  9887. // This might only work if GLX functions/procedures are loaded dynamically
  9888. if Assigned(glXQueryExtensionsString) then
  9889. Buffer := glXQueryExtensionsString(Dpy, 0) //guess at a valid screen
  9890. else
  9891. Buffer:='';
  9892. GLX_ARB_create_context := CheckExtension('GLX_ARB_create_context');
  9893. GLX_ARB_create_context_profile := CheckExtension('GLX_ARB_create_context_profile');
  9894. GLX_ARB_framebuffer_sRGB := CheckExtension('GLX_ARB_framebuffer_sRGB');
  9895. GLX_EXT_framebuffer_sRGB := CheckExtension('GLX_EXT_framebuffer_sRGB');
  9896. GLX_EXT_fbconfig_packed_float := CheckExtension('GLX_EXT_fbconfig_packed_float');
  9897. GLX_SGI_swap_control := CheckExtension('GLX_SGI_swap_control');
  9898. GLX_ARB_multisample := CheckExtension('GLX_ARB_multisample');
  9899. GLX_SGIS_multisample := CheckExtension('GLX_SGIS_multisample');
  9900. GLX_EXT_visual_info := CheckExtension('GLX_EXT_visual_info');
  9901. GLX_SGI_video_sync := CheckExtension('GLX_SGI_video_sync');
  9902. GLX_SGI_make_current_read := CheckExtension('GLX_SGI_make_current_read');
  9903. GLX_SGIX_video_source := CheckExtension('GLX_SGIX_video_source');
  9904. GLX_EXT_visual_rating := CheckExtension('GLX_EXT_visual_rating');
  9905. GLX_EXT_import_context := CheckExtension('GLX_EXT_import_context');
  9906. GLX_SGIX_fbconfig := CheckExtension('GLX_SGIX_fbconfig');
  9907. GLX_SGIX_pbuffer := CheckExtension('GLX_SGIX_pbuffer');
  9908. GLX_SGI_cushion := CheckExtension('GLX_SGI_cushion');
  9909. GLX_SGIX_video_resize := CheckExtension('GLX_SGIX_video_resize');
  9910. GLX_SGIX_dmbuffer := CheckExtension('GLX_SGIX_dmbuffer');
  9911. GLX_SGIX_swap_group := CheckExtension('GLX_SGIX_swap_group');
  9912. GLX_SGIX_swap_barrier := CheckExtension('GLX_SGIX_swap_barrier');
  9913. GLX_SGIS_blended_overlay := CheckExtension('GLX_SGIS_blended_overlay');
  9914. GLX_SGIS_shared_multisample := CheckExtension('GLX_SGIS_shared_multisample');
  9915. GLX_SUN_get_transparent_index := CheckExtension('GLX_SUN_get_transparent_index');
  9916. GLX_3DFX_multisample := CheckExtension('GLX_3DFX_multisample');
  9917. GLX_MESA_copy_sub_buffer := CheckExtension('GLX_MESA_copy_sub_buffer');
  9918. GLX_MESA_pixmap_colormap := CheckExtension('GLX_MESA_pixmap_colormap');
  9919. GLX_MESA_release_buffers := CheckExtension('GLX_MESA_release_buffers');
  9920. GLX_MESA_set_3dfx_mode := CheckExtension('GLX_MESA_set_3dfx_mode');
  9921. GLX_SGIX_visual_select_group := CheckExtension('GLX_SGIX_visual_select_group');
  9922. GLX_SGIX_hyperpipe := CheckExtension('GLX_SGIX_hyperpipe');
  9923. end;
  9924. {$ENDIF}
  9925. procedure CloseOpenGL;
  9926. begin
  9927. if GLHandle<>INVALID_MODULEHANDLE then begin
  9928. FreeLibrary(Cardinal(GLHandle));
  9929. GLHandle:=INVALID_MODULEHANDLE;
  9930. end;
  9931. if GLUHandle<>INVALID_MODULEHANDLE then begin
  9932. FreeLibrary(Cardinal(GLUHandle));
  9933. GLUHandle:=INVALID_MODULEHANDLE;
  9934. end;
  9935. end;
  9936. function InitOpenGL : Boolean;
  9937. begin
  9938. if (GLHandle=INVALID_MODULEHANDLE) or (GLUHandle=INVALID_MODULEHANDLE) then
  9939. Result:=InitOpenGLFromLibrary(opengl32, glu32)
  9940. else Result:=True;
  9941. end;
  9942. function InitOpenGLFromLibrary(const GLName, GLUName : String) : Boolean;
  9943. begin
  9944. Result := False;
  9945. CloseOpenGL;
  9946. GLHandle := LoadLibrary(PChar(GLName));
  9947. GLUHandle := LoadLibrary(PChar(GLUName));
  9948. if (GLHandle<>INVALID_MODULEHANDLE) and (GLUHandle<>INVALID_MODULEHANDLE) then
  9949. Result:=True
  9950. else begin
  9951. if GLHandle<>INVALID_MODULEHANDLE then
  9952. FreeLibrary(Cardinal(GLHandle));
  9953. if GLUHandle<>INVALID_MODULEHANDLE then
  9954. FreeLibrary(Cardinal(GLUHandle));
  9955. end;
  9956. end;
  9957. function IsOpenGLInitialized: Boolean;
  9958. begin
  9959. Result:=(GLHandle<>INVALID_MODULEHANDLE);
  9960. end;
  9961. // compatibility routines
  9962. procedure UnloadOpenGL;
  9963. begin
  9964. CloseOpenGL;
  9965. end;
  9966. function LoadOpenGL: Boolean;
  9967. begin
  9968. Result := InitOpenGL;
  9969. end;
  9970. function LoadOpenGLFromLibrary(const GLName, GLUName: String): Boolean;
  9971. begin
  9972. Result := InitOpenGLFromLibrary(GLName, GLUName);
  9973. end;
  9974. function IsOpenGLLoaded: Boolean;
  9975. begin
  9976. Result := IsOpenGLInitialized();
  9977. end;
  9978. function IsMesaGL : Boolean;
  9979. begin
  9980. Result := GLGetProcAddress('glResizeBuffersMESA') <> nil;
  9981. end;
  9982. function IsOpenGLVersionMet(MajorVersion, MinorVersion: Integer): Boolean;
  9983. var
  9984. Buffer : String;
  9985. GLMajorVersion, GLMinorVersion: Integer;
  9986. begin
  9987. buffer:=String(glGetString(GL_VERSION));
  9988. TrimAndSplitVersionString(buffer, GLMajorVersion, GLMinorVersion);
  9989. Result:=IsVersionMet(MajorVersion,MinorVersion,GLMajorVersion,GLMinorVersion);
  9990. end;
  9991. initialization
  9992. Set8087CW($133F);
  9993. finalization
  9994. CloseOpenGL;
  9995. end.