GXS.OpenGL.pas 542 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770
  1. //
  2. // The graphics engine GXScene https://github.com/glscene
  3. //
  4. unit GXS.OpenGL;
  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.Defines.inc}
  21. uses
  22. System.SysUtils,
  23. System.Math,
  24. {$IFDEF MSWINDOWS}
  25. Winapi.Windows,
  26. {$ELSE} X, XLib, XUtil, {$ENDIF}
  27. GLScene.VectorTypes;
  28. const
  29. {$IFDEF MSWINDOWS}
  30. opengl32 = 'OpenGL32.dll';
  31. glu32 = 'GLU32.dll';
  32. libEGL = 'libEGL.dll';
  33. libGLES2 = 'libGLESv2.dll';
  34. {$ELSE}
  35. opengl32 = 'libGL.so';
  36. glu32 = 'libGLU.so';
  37. libEGL = 'libEGL.so';
  38. libGLES2 = 'libGLESv2.so';
  39. {$ENDIF}
  40. type
  41. TRCOptions = set of (
  42. opDoubleBuffered,
  43. opGDI,
  44. opStereo
  45. );
  46. PGLChar = PAnsiChar;
  47. TGLString = AnsiString;
  48. GLenum = Cardinal;
  49. {$EXTERNALSYM GLenum}
  50. TGLEnum = Cardinal;
  51. PGLenum = ^Cardinal;
  52. GLboolean = BYTEBOOL;
  53. {$EXTERNALSYM GLboolean}
  54. TGLboolean = BYTEBOOL;
  55. PGLboolean = ^TGLboolean;
  56. GLbitfield = UINT;
  57. {$EXTERNALSYM GLbitfield}
  58. TGLbitfield = UINT;
  59. PGLbitfield = ^TGLbitfield;
  60. GLbyte = ShortInt;
  61. {$EXTERNALSYM GLbyte}
  62. TGLbyte = ShortInt;
  63. PGLbyte = ^TGLbyte;
  64. GLshort = SmallInt;
  65. {$EXTERNALSYM GLshort}
  66. TGLshort = SmallInt;
  67. PGLshort = ^TGLshort;
  68. GLint = Integer;
  69. {$EXTERNALSYM GLint}
  70. TGLint = Integer;
  71. PGLint = ^Integer;
  72. GLsizei = Integer;
  73. {$EXTERNALSYM GLsizei}
  74. TGLsizei = Integer;
  75. PGLsizei = ^TGLsizei;
  76. GLint64 = Int64;
  77. {$EXTERNALSYM GLint64}
  78. TGLint64 = Int64;
  79. PGLint64 = ^TGLint64;
  80. GLint64EXT = Int64;
  81. TGLint64EXT = Int64;
  82. PGLint64EXT = ^TGLint64EXT;
  83. GLuint64 = UInt64;
  84. TGLuint64 = UInt64;
  85. PGLuint64 = ^TGLuint64;
  86. GLuint64EXT = UInt64;
  87. TGLuint64EXT = UInt64;
  88. PGLuint64EXT = ^TGLuint64EXT;
  89. GLubyte = Byte;
  90. {$EXTERNALSYM GLubyte}
  91. TGLubyte = Byte;
  92. PGLubyte = System.PByte;
  93. GLushort = Word;
  94. {$EXTERNALSYM GLushort}
  95. TGLushort = Word;
  96. PGLushort = System.PWord;
  97. GLuint = UINT;
  98. {$EXTERNALSYM GLuint}
  99. TGLuint = UINT;
  100. PGLuint = ^TGLuint;
  101. GLfloat = Single;
  102. {$EXTERNALSYM GLfloat}
  103. TGLfloat = Single;
  104. PGLfloat = System.PSingle;
  105. GLclampf = Single;
  106. {$EXTERNALSYM GLclampf}
  107. TGLclampf = Single;
  108. PGLclampf = ^TGLclampf;
  109. GLdouble = Double;
  110. {$EXTERNALSYM GLdouble}
  111. TGLdouble = Double;
  112. PGLdouble = System.PDouble;
  113. GLclampd = Double;
  114. TGLclampd = Double;
  115. PGLclampd = ^TGLclampd;
  116. GLhandleARB = Cardinal;
  117. PGLhandleARB = ^GLhandleARB;
  118. PGLPCharArray = ^PGLChar;
  119. PGLvoid = Pointer;
  120. TVector4p = array[0..3] of Pointer;
  121. PGLPointer = ^Pointer;
  122. // the size of these depend on platform (32bit or 64bit)
  123. TGLintptr = NativeInt;
  124. PGLintptr = ^TGLintptr;
  125. TGLsizeiptr = NativeInt;
  126. TGLsync = NativeInt;
  127. {$IFDEF MSWINDOWS}
  128. PWGLSwap = ^TWGLSwap;
  129. _WGLSWAP = packed record
  130. hdc: HDC;
  131. uiFlags: UINT;
  132. end;
  133. TWGLSwap = _WGLSWAP;
  134. WGLSWAP = _WGLSWAP;
  135. {$ELSE}
  136. // Linux type
  137. GLXContext = Pointer;
  138. GLXPixmap = XID;
  139. GLXDrawable = XID;
  140. GLXFBConfig = Pointer;
  141. GLXFBConfigID = XID;
  142. GLXContextID = XID;
  143. GLXWindow = XID;
  144. GLXPbuffer = XID;
  145. {$ENDIF}
  146. HPBUFFERARB = Integer;
  147. // ---------------------------- OpenGL Utility (GLU) types --------------------
  148. type
  149. PHGPUNV = ^HGPUNV;
  150. HGPUNV = THandle;
  151. HVIDEOINPUTDEVICENV = THandle;
  152. PHVIDEOINPUTDEVICENV = ^HVIDEOINPUTDEVICENV;
  153. PGPUDEVICE = ^TGPUDEVICE;
  154. TGPUDEVICE = record
  155. cb: Cardinal;
  156. DeviceName: array [0 .. 31] of AnsiChar;
  157. DeviceString: array [0 .. 127] of AnsiChar;
  158. Flags: Cardinal;
  159. rcVirtualScreen: TRect;
  160. end;
  161. TGLUNurbs = record
  162. end;
  163. TGLUQuadric = record
  164. end;
  165. TGLUTesselator = record
  166. end;
  167. PGLUNurbs = ^TGLUNurbs;
  168. PGLUQuadric = ^TGLUQuadric;
  169. PGLUTesselator = ^TGLUTesselator;
  170. // backwards compatibility
  171. TGLUNurbsObj = TGLUNurbs;
  172. TGLUQuadricObj = TGLUQuadric;
  173. TGLUTesselatorObj = TGLUTesselator;
  174. TGLUTriangulatorObj = TGLUTesselator;
  175. PGLUNurbsObj = PGLUNurbs;
  176. PGLUQuadricObj = PGLUQuadric;
  177. PGLUTesselatorObj = PGLUTesselator;
  178. PGLUTriangulatorObj = PGLUTesselator;
  179. // GLUQuadricCallback
  180. TGLUQuadricErrorProc = procedure(errorCode: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  181. // GLUTessCallback
  182. TGLUTessBeginProc = procedure(AType: Cardinal); {$IFDEF MSWINDOWS} stdcall;{$ELSE} cdecl; {$ENDIF}
  183. TGLUTessEdgeFlagProc = procedure(Flag: TGLboolean);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  184. TGLUTessVertexProc = procedure(VertexData: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  185. TGLUTessEndProc = procedure; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  186. TGLUTessErrorProc = procedure(ErrNo: Cardinal); {$IFDEF MSWINDOWS} stdcall;{$ELSE} cdecl; {$ENDIF}
  187. TGLUTessCombineProc = procedure(const Coords: TVector3d; const VertexData: TVector4p; const Weight: TVector4f; OutData: PGLPointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  188. TGLUTessBeginDataProc = procedure(AType: Cardinal; UserData: Pointer);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  189. TGLUTessEdgeFlagDataProc = procedure(Flag: TGLboolean; UserData: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  190. TGLUTessVertexDataProc = procedure(VertexData: Pointer; UserData: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  191. TGLUTessEndDataProc = procedure(UserData: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  192. TGLUTessErrorDataProc = procedure(ErrNo: Cardinal; UserData: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  193. TGLUTessCombineDataProc = procedure(const Coords: TVector3d; const VertexData: TVector4p; const Weight: TVector4f; OutData: PGLPointer; UserData: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  194. // GLUNurbsCallback
  195. TGLUNurbsErrorProc = procedure(errorCode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  196. var
  197. GL_VERSION_1_0,
  198. GL_VERSION_1_1,
  199. GL_VERSION_1_2,
  200. GL_VERSION_1_3,
  201. GL_VERSION_1_4,
  202. GL_VERSION_1_5,
  203. GL_VERSION_2_0,
  204. GL_VERSION_2_1,
  205. GL_VERSION_3_0,
  206. GL_VERSION_3_1,
  207. GL_VERSION_3_2,
  208. GL_VERSION_3_3,
  209. GL_VERSION_4_0,
  210. GL_VERSION_4_1,
  211. GL_VERSION_4_2,
  212. GL_VERSION_4_3,
  213. GL_VERSION_4_4,
  214. GL_VERSION_4_5,
  215. GL_VERSION_4_6,
  216. GLU_VERSION_1_1,
  217. GLU_VERSION_1_2,
  218. GLU_VERSION_1_3,
  219. GL_3DFX_multisample,
  220. GL_3DFX_tbuffer,
  221. GL_3DFX_texture_compression_FXT1,
  222. GL_APPLE_client_storage,
  223. GL_APPLE_element_array,
  224. GL_APPLE_fence,
  225. GL_APPLE_specular_vector,
  226. GL_APPLE_transform_hint,
  227. GL_APPLE_vertex_array_object,
  228. GL_APPLE_vertex_array_range,
  229. GL_APPLE_ycbcr_422,
  230. GL_APPLE_texture_range,
  231. GL_APPLE_float_pixels,
  232. GL_APPLE_vertex_program_evaluators,
  233. GL_APPLE_aux_depth_stencil,
  234. GL_APPLE_object_purgeable,
  235. GL_APPLE_row_bytes,
  236. GL_APPLE_rgb_422,
  237. GL_ARB_depth_texture,
  238. GL_ARB_fragment_program,
  239. GL_ARB_imaging,
  240. GL_ARB_matrix_palette,
  241. GL_ARB_multisample,
  242. GL_ARB_multitexture,
  243. GL_ARB_point_parameters,
  244. GL_ARB_shadow,
  245. GL_ARB_shadow_ambient,
  246. GL_ARB_texture_border_clamp,
  247. GL_ARB_texture_compression,
  248. GL_ARB_texture_cube_map,
  249. GL_ARB_texture_env_add,
  250. GL_ARB_texture_env_combine,
  251. GL_ARB_texture_env_crossbar,
  252. GL_ARB_texture_env_dot3,
  253. GL_ARB_texture_filter_minmax,
  254. GL_ARB_texture_mirrored_repeat,
  255. GL_ARB_transpose_matrix,
  256. GL_ARB_vertex_blend,
  257. GL_ARB_vertex_buffer_object,
  258. GL_ARB_vertex_program,
  259. GL_ARB_window_pos,
  260. GL_ARB_shader_objects,
  261. GL_ARB_vertex_shader,
  262. GL_ARB_fragment_shader,
  263. GL_ARB_fragment_shader_interlock,
  264. GL_ARB_shading_language_100,
  265. GL_ARB_occlusion_query,
  266. GL_ARB_texture_non_power_of_two,
  267. GL_ARB_point_sprite,
  268. GL_ARB_fragment_program_shadow,
  269. GL_ARB_draw_buffers,
  270. GL_ARB_texture_rectangle,
  271. GL_ARB_color_buffer_float,
  272. GL_ARB_half_float_pixel,
  273. GL_ARB_texture_float,
  274. GL_ARB_pixel_buffer_object,
  275. GL_ARB_depth_buffer_float,
  276. GL_ARB_draw_instanced,
  277. GL_ARB_framebuffer_object,
  278. GL_ARB_framebuffer_sRGB,
  279. GL_ARB_geometry_shader4,
  280. GL_ARB_half_float_vertex,
  281. GL_ARB_instanced_arrays,
  282. GL_ARB_map_buffer_range,
  283. GL_ARB_texture_buffer_object,
  284. GL_ARB_texture_compression_rgtc,
  285. GL_ARB_texture_rg,
  286. GL_ARB_vertex_array_object,
  287. GL_ARB_uniform_buffer_object,
  288. GL_ARB_compatibility,
  289. GL_ARB_copy_buffer,
  290. GL_ARB_shader_texture_lod,
  291. GL_ARB_shader_viewport_layer_array,
  292. GL_ARB_depth_clamp,
  293. GL_ARB_draw_elements_base_vertex,
  294. GL_ARB_fragment_coord_conventions,
  295. GL_ARB_provoking_vertex,
  296. GL_ARB_seamless_cube_map,
  297. GL_ARB_sync,
  298. GL_ARB_texture_multisample,
  299. GL_ARB_vertex_array_bgra,
  300. GL_ARB_draw_buffers_blend,
  301. GL_ARB_sample_shading,
  302. GL_ARB_sample_locations,
  303. GL_ARB_sparse_texture2,
  304. GL_ARB_sparse_texture_clamp,
  305. GL_ARB_texture_cube_map_array,
  306. GL_ARB_texture_gather,
  307. GL_ARB_texture_query_lod,
  308. GL_ARB_shading_language_include,
  309. GL_ARB_texture_compression_bptc,
  310. GL_ARB_blend_func_extended,
  311. GL_ARB_explicit_attrib_location,
  312. GL_ARB_occlusion_query2,
  313. GL_ARB_parallel_shader_compile,
  314. GL_ARB_post_depth_coverage,
  315. GL_ARB_sampler_objects,
  316. GL_ARB_shader_bit_encoding,
  317. GL_ARB_shader_clock,
  318. GL_ARB_texture_rgb10_a2ui,
  319. GL_ARB_texture_swizzle,
  320. GL_ARB_timer_query,
  321. GL_ARB_vertex_type_2_10_10_10_rev,
  322. GL_ARB_draw_indirect,
  323. GL_ARB_gpu_shader5,
  324. GL_ARB_gpu_shader_fp64,
  325. GL_ARB_gpu_shader_int64,
  326. GL_ARB_shader_subroutine,
  327. GL_ARB_tessellation_shader,
  328. GL_ARB_texture_buffer_object_rgb32,
  329. GL_ARB_transform_feedback2,
  330. GL_ARB_transform_feedback3,
  331. GL_ARB_ES2_compatibility,
  332. GL_ARB_ES3_2_compatibility,
  333. GL_ARB_get_program_binary,
  334. GL_ARB_separate_shader_objects,
  335. GL_ARB_shader_precision,
  336. GL_ARB_shader_ballot,
  337. GL_ARB_vertex_attrib_64bit,
  338. GL_ARB_viewport_array,
  339. // GL 4.2
  340. GL_ARB_base_instance,
  341. GL_ARB_shading_language_420pack,
  342. GL_ARB_transform_feedback_instanced,
  343. GL_ARB_compressed_texture_pixel_storage,
  344. GL_ARB_conservative_depth,
  345. GL_ARB_internalformat_query,
  346. GL_ARB_map_buffer_alignment,
  347. GL_ARB_shader_atomic_counters,
  348. GL_ARB_shader_image_load_store,
  349. GL_ARB_shading_language_packing,
  350. GL_ARB_texture_storage,
  351. // GL 4.3
  352. GL_ARB_arrays_of_arrays,
  353. GL_ARB_fragment_layer_viewport,
  354. GL_ARB_shader_image_size,
  355. GL_ARB_ES3_compatibility,
  356. GL_ARB_clear_buffer_object,
  357. GL_ARB_compute_shader,
  358. GL_ARB_copy_image,
  359. GL_KHR_debug,
  360. GL_ARB_explicit_uniform_location,
  361. GL_ARB_framebuffer_no_attachments,
  362. GL_ARB_internalformat_query2,
  363. GL_ARB_invalidate_subdata,
  364. GL_ARB_multi_draw_indirect,
  365. GL_ARB_program_interface_query,
  366. GL_ARB_robust_buffer_access_behavior,
  367. GL_ARB_shader_storage_buffer_object,
  368. GL_ARB_stencil_texturing,
  369. GL_ARB_texture_buffer_range,
  370. GL_ARB_texture_query_levels,
  371. GL_ARB_texture_storage_multisample,
  372. GL_ARB_texture_view,
  373. GL_ARB_vertex_attrib_binding,
  374. GL_NV_path_rendering,
  375. GL_AMD_pinned_memory,
  376. GL_AMD_stencil_operation_extended,
  377. GL_AMD_vertex_shader_viewport_index,
  378. GL_AMD_vertex_shader_layer,
  379. GL_NV_bindless_texture,
  380. GL_NV_shader_atomic_float,
  381. GL_AMD_query_buffer_object,
  382. // GL 4.4
  383. GL_ARB_buffer_storage,
  384. GL_ARB_clear_texture,
  385. GL_ARB_enhanced_layouts,
  386. GL_ARB_multi_bind,
  387. GL_ARB_query_buffer_object,
  388. GL_ARB_texture_mirror_clamp_to_edge,
  389. GL_ARB_texture_stencil8,
  390. GL_ARB_vertex_type_10f_11f_11f_rev,
  391. GL_ARB_bindless_texture,
  392. GL_ARB_sparse_texture,
  393. // GL 4.5
  394. GL_ARB_clip_control,
  395. GL_ARB_cull_distance,
  396. GL_ARB_ES3_1_compatibility,
  397. GL_ARB_conditional_render_inverted,
  398. GL_KHR_context_flush_control,
  399. GL_ARB_derivative_control,
  400. GL_ARB_direct_state_access,
  401. GL_ARB_get_texture_sub_image,
  402. GL_KHR_robustness,
  403. GL_KHR_blend_equation_advanced,
  404. GL_KHR_blend_equation_advanced_coherent,
  405. GL_KHR_robust_buffer_access_behavior,
  406. GL_ARB_shader_texture_image_samples,
  407. GL_ARB_texture_barrier,
  408. // GL 4.6
  409. GL_ARB_indirect_parameters,
  410. GL_ARB_pipeline_statistics_query,
  411. GL_ARB_polygon_offset_clamp,
  412. GL_KHR_no_error,
  413. GL_ARB_shader_atomic_counter_ops,
  414. GL_ARB_shader_draw_parameters,
  415. GL_ARB_shader_group_vote,
  416. GL_ARB_gl_spirv,
  417. GL_ARB_spirv_extensions,
  418. GL_ARB_texture_filter_anisotropic,
  419. GL_ARB_transform_feedback_overflow_query,
  420. GL_ARB_cl_event,
  421. GL_ARB_compute_variable_group_size,
  422. GL_ARB_debug_output,
  423. GL_ARB_robustness,
  424. GL_ARB_shader_stencil_export,
  425. GL_ATI_draw_buffers,
  426. GL_ATI_element_array,
  427. GL_ATI_envmap_bumpmap,
  428. GL_ATI_fragment_shader,
  429. GL_ATI_map_object_buffer,
  430. GL_ATI_pn_triangles,
  431. GL_ATI_separate_stencil,
  432. GL_ATI_text_fragment_shader,
  433. GL_ATI_texture_env_combine3,
  434. GL_ATI_texture_float,
  435. GL_ATI_texture_mirror_once,
  436. GL_ATI_vertex_array_object,
  437. GL_ATI_vertex_attrib_array_object,
  438. GL_ATI_vertex_streams,
  439. GL_ATI_meminfo,
  440. GL_AMD_performance_monitor,
  441. GL_AMD_texture_texture4,
  442. GL_AMD_vertex_shader_tesselator,
  443. GL_AMD_draw_buffers_blend,
  444. GL_AMD_shader_stencil_export,
  445. GL_AMD_seamless_cubemap_per_texture,
  446. GL_AMD_conservative_depth,
  447. GL_AMD_name_gen_delete,
  448. GL_AMD_debug_output,
  449. GL_AMD_transform_feedback3_lines_triangles,
  450. GL_AMD_depth_clamp_separate,
  451. GL_EXT_422_pixels,
  452. GL_EXT_abgr,
  453. GL_EXT_bgra,
  454. GL_EXT_blend_color,
  455. GL_EXT_blend_func_separate,
  456. GL_EXT_blend_logic_op,
  457. GL_EXT_blend_minmax,
  458. GL_EXT_blend_subtract,
  459. GL_EXT_clip_volume_hint,
  460. GL_EXT_cmyka,
  461. GL_EXT_color_matrix,
  462. GL_EXT_color_subtable,
  463. GL_EXT_compiled_vertex_array,
  464. GL_EXT_convolution,
  465. GL_EXT_coordinate_frame,
  466. GL_EXT_copy_texture,
  467. GL_EXT_cull_vertex,
  468. GL_EXT_draw_range_elements,
  469. GL_EXT_fog_coord,
  470. GL_EXT_framebuffer_object,
  471. GL_EXT_histogram,
  472. GL_EXT_index_array_formats,
  473. GL_EXT_index_func,
  474. GL_EXT_index_material,
  475. GL_EXT_index_texture,
  476. GL_EXT_light_texture,
  477. GL_EXT_misc_attribute,
  478. GL_EXT_multi_draw_arrays,
  479. GL_EXT_multisample,
  480. GL_EXT_packed_pixels,
  481. GL_EXT_paletted_texture,
  482. GL_EXT_pixel_transform,
  483. GL_EXT_pixel_transform_color_table,
  484. GL_EXT_point_parameters,
  485. GL_EXT_polygon_offset,
  486. GL_EXT_rescale_normal,
  487. GL_EXT_secondary_color,
  488. GL_EXT_separate_specular_color,
  489. GL_EXT_shadow_funcs,
  490. GL_EXT_shared_texture_palette,
  491. GL_EXT_stencil_two_side,
  492. GL_EXT_stencil_wrap,
  493. GL_EXT_subtexture,
  494. GL_EXT_texture,
  495. GL_EXT_texture3D,
  496. GL_EXT_texture_compression_s3tc,
  497. GL_EXT_texture_cube_map,
  498. GL_EXT_texture_edge_clamp,
  499. GL_EXT_texture_env_add,
  500. GL_EXT_texture_env_combine,
  501. GL_EXT_texture_env_dot3,
  502. GL_EXT_texture_filter_anisotropic,
  503. GL_EXT_texture_lod_bias,
  504. GL_EXT_texture_object,
  505. GL_EXT_texture_perturb_normal,
  506. GL_EXT_texture_rectangle,
  507. GL_EXT_vertex_array,
  508. GL_EXT_vertex_shader,
  509. GL_EXT_vertex_weighting,
  510. GL_EXT_depth_bounds_test,
  511. GL_EXT_texture_mirror_clamp,
  512. GL_EXT_blend_equation_separate,
  513. GL_EXT_pixel_buffer_object,
  514. GL_EXT_texture_compression_dxt1,
  515. GL_EXT_stencil_clear_tag,
  516. GL_EXT_packed_depth_stencil,
  517. GL_EXT_texture_sRGB,
  518. GL_EXT_framebuffer_blit,
  519. GL_EXT_framebuffer_multisample,
  520. GL_EXT_timer_query,
  521. GL_EXT_gpu_program_parameters,
  522. GL_EXT_bindable_uniform,
  523. GL_EXT_draw_buffers2,
  524. GL_EXT_draw_instanced,
  525. GL_EXT_framebuffer_sRGB,
  526. GL_EXT_geometry_shader4,
  527. GL_EXT_gpu_shader4,
  528. GL_EXT_packed_float,
  529. GL_EXT_texture_array,
  530. GL_EXT_texture_buffer_object,
  531. GL_EXT_texture_compression_latc,
  532. GL_EXT_texture_compression_rgtc,
  533. GL_EXT_texture_integer,
  534. GL_EXT_texture_shared_exponent,
  535. GL_EXT_transform_feedback,
  536. GL_EXT_direct_state_access,
  537. GL_EXT_vertex_array_bgra,
  538. GL_EXT_texture_swizzle,
  539. GL_EXT_provoking_vertex,
  540. GL_EXT_texture_snorm,
  541. GL_EXT_separate_shader_objects,
  542. GL_EXT_shader_image_load_store,
  543. GL_EXT_vertex_attrib_64bit,
  544. GL_EXT_texture_sRGB_decode,
  545. GL_FfdMaskSGIX,
  546. GL_HP_convolution_border_modes,
  547. GL_HP_image_transform,
  548. GL_HP_occlusion_test,
  549. GL_HP_texture_lighting,
  550. GL_IBM_cull_vertex,
  551. GL_IBM_multimode_draw_arrays,
  552. GL_IBM_rasterpos_clip,
  553. GL_IBM_texture_mirrored_repeat,
  554. GL_IBM_vertex_array_lists,
  555. GL_INGR_blend_func_separate,
  556. GL_INGR_color_clamp,
  557. GL_INGR_interlace_read,
  558. GL_INGR_palette_buffer,
  559. GL_INTEL_framebuffer_CMAA,
  560. GL_INTEL_parallel_arrays,
  561. GL_INTEL_texture_scissor,
  562. GL_MESA_resize_buffers,
  563. GL_MESA_window_pos,
  564. GL_NV_blend_square,
  565. GL_NV_copy_depth_to_color,
  566. GL_NV_depth_clamp,
  567. GL_NV_evaluators,
  568. GL_NV_fence,
  569. GL_NV_float_buffer,
  570. GL_NV_fog_distance,
  571. GL_NV_fragment_program,
  572. GL_NV_half_float,
  573. GL_NV_light_max_exponent,
  574. GL_NV_multisample_filter_hint,
  575. GL_NV_occlusion_query,
  576. GL_NV_packed_depth_stencil,
  577. GL_NV_pixel_data_range,
  578. GL_NV_point_sprite,
  579. GL_NV_primitive_restart,
  580. GL_NV_register_combiners,
  581. GL_NV_register_combiners2,
  582. GL_NV_texgen_emboss,
  583. GL_NV_texgen_reflection,
  584. GL_NV_texture_compression_vtc,
  585. GL_NV_texture_env_combine4,
  586. GL_NV_texture_expand_normal,
  587. GL_NV_texture_rectangle,
  588. GL_NV_texture_shader,
  589. GL_NV_texture_shader2,
  590. GL_NV_texture_shader3,
  591. GL_NV_vertex_array_range,
  592. GL_NV_vertex_array_range2,
  593. GL_NV_vertex_program,
  594. GL_NV_vertex_program1_1,
  595. GL_NV_vertex_program2,
  596. GL_NV_fragment_program_option,
  597. GL_NV_fragment_program2,
  598. GL_NV_vertex_program2_option,
  599. GL_NV_vertex_program3,
  600. GL_NV_depth_buffer_float,
  601. GL_NV_fragment_program4,
  602. GL_NV_framebuffer_multisample_coverage,
  603. GL_NV_geometry_program4,
  604. GL_NV_gpu_program4,
  605. GL_NV_parameter_buffer_object,
  606. GL_NV_transform_feedback,
  607. GL_NV_vertex_program4,
  608. GL_NV_conditional_render,
  609. GL_NV_conservative_raster,
  610. GL_NV_conservative_raster_dilate,
  611. GL_NV_present_video,
  612. GL_NV_explicit_multisample,
  613. GL_NV_transform_feedback2,
  614. GL_NV_video_capture,
  615. GL_NV_copy_image,
  616. GL_NV_parameter_buffer_object2,
  617. GL_NV_shader_buffer_load,
  618. GL_NV_vertex_buffer_unified_memory,
  619. GL_NV_gpu_program5,
  620. GL_NV_gpu_shader5,
  621. GL_NV_shader_buffer_store,
  622. GL_NV_tessellation_program5,
  623. GL_NV_vertex_attrib_integer_64bit,
  624. GL_NV_multisample_coverage,
  625. GL_NV_vdpau_interop,
  626. GL_NV_texture_barrier,
  627. GL_OML_interlace,
  628. GL_OML_resample,
  629. GL_OML_subsample,
  630. GL_OVR_multiview,
  631. GL_OVR_multiview2,
  632. GL_PGI_misc_hints,
  633. GL_PGI_vertex_hints,
  634. GL_REND_screen_coordinates,
  635. GL_S3_s3tc,
  636. GL_SGIS_detail_texture,
  637. GL_SGIS_fog_function,
  638. GL_SGIS_generate_mipmap,
  639. GL_SGIS_multisample,
  640. GL_SGIS_pixel_texture,
  641. GL_SGIS_point_line_texgen,
  642. GL_SGIS_point_parameters,
  643. GL_SGIS_sharpen_texture,
  644. GL_SGIS_texture4D,
  645. GL_SGIS_texture_border_clamp,
  646. GL_SGIS_texture_color_mask,
  647. GL_SGIS_texture_edge_clamp,
  648. GL_SGIS_texture_filter4,
  649. GL_SGIS_texture_lod,
  650. GL_SGIS_texture_select,
  651. GL_SGIX_async,
  652. GL_SGIX_async_histogram,
  653. GL_SGIX_async_pixel,
  654. GL_SGIX_blend_alpha_minmax,
  655. GL_SGIX_calligraphic_fragment,
  656. GL_SGIX_clipmap,
  657. GL_SGIX_convolution_accuracy,
  658. GL_SGIX_depth_pass_instrument,
  659. GL_SGIX_depth_texture,
  660. GL_SGIX_flush_raster,
  661. GL_SGIX_fog_offset,
  662. GL_SGIX_fog_scale,
  663. GL_SGIX_fragment_lighting,
  664. GL_SGIX_framezoom,
  665. GL_SGIX_igloo_interface,
  666. GL_SGIX_impact_pixel_texture,
  667. GL_SGIX_instruments,
  668. GL_SGIX_interlace,
  669. GL_SGIX_ir_instrument1,
  670. GL_SGIX_list_priority,
  671. GL_SGIX_pixel_texture,
  672. GL_SGIX_pixel_tiles,
  673. GL_SGIX_polynomial_ffd,
  674. GL_SGIX_reference_plane,
  675. GL_SGIX_resample,
  676. GL_SGIX_scalebias_hint,
  677. GL_SGIX_shadow,
  678. GL_SGIX_shadow_ambient,
  679. GL_SGIX_sprite,
  680. GL_SGIX_subsample,
  681. GL_SGIX_tag_sample_buffer,
  682. GL_SGIX_texture_add_env,
  683. GL_SGIX_texture_coordinate_clamp,
  684. GL_SGIX_texture_lod_bias,
  685. GL_SGIX_texture_multi_buffer,
  686. GL_SGIX_texture_scale_bias,
  687. GL_SGIX_texture_select,
  688. GL_SGIX_vertex_preclip,
  689. GL_SGIX_ycrcb,
  690. GL_SGIX_ycrcb_subsample,
  691. GL_SGIX_ycrcba,
  692. GL_SGI_color_matrix,
  693. GL_SGI_color_table,
  694. GL_SGI_depth_pass_instrument,
  695. GL_SGI_texture_color_table,
  696. GL_SUNX_constant_data,
  697. GL_SUN_convolution_border_modes,
  698. GL_SUN_global_alpha,
  699. GL_SUN_mesh_array,
  700. GL_SUN_slice_accum,
  701. GL_SUN_triangle_list,
  702. GL_SUN_vertex,
  703. // WGL
  704. GL_WIN_phong_shading,
  705. GL_WIN_specular_fog,
  706. WGL_3DFX_multisample,
  707. WGL_ARB_buffer_region,
  708. WGL_ARB_extensions_string,
  709. WGL_ARB_make_current_read,
  710. WGL_ARB_multisample,
  711. WGL_ARB_pbuffer,
  712. WGL_ARB_pixel_format,
  713. WGL_ARB_pixel_format_float,
  714. WGL_ARB_render_texture,
  715. WGL_ARB_create_context,
  716. WGL_ARB_create_context_profile,
  717. WGL_ARB_framebuffer_sRGB,
  718. WGL_ARB_create_context_robustness,
  719. WGL_ATI_pixel_format_float,
  720. WGL_AMD_gpu_association,
  721. WGL_EXT_depth_float,
  722. WGL_EXT_display_color_table,
  723. WGL_EXT_extensions_string,
  724. WGL_EXT_make_current_read,
  725. WGL_EXT_multisample,
  726. WGL_EXT_pbuffer,
  727. WGL_EXT_pixel_format,
  728. WGL_EXT_swap_control,
  729. WGL_EXT_create_context_es2_profile,
  730. WGL_I3D_digital_video_control,
  731. WGL_I3D_gamma,
  732. WGL_I3D_genlock,
  733. WGL_I3D_image_buffer,
  734. WGL_I3D_swap_frame_lock,
  735. WGL_I3D_swap_frame_usage,
  736. WGL_NV_float_buffer,
  737. WGL_NV_render_depth_texture,
  738. WGL_NV_render_texture_rectangle,
  739. WGL_NV_vertex_array_range,
  740. WGL_NV_present_video,
  741. WGL_NV_video_output,
  742. WGL_NV_swap_group,
  743. WGL_NV_gpu_affinity,
  744. WGL_NV_video_capture,
  745. WGL_NV_copy_image,
  746. WGL_NV_multisample_coverage,
  747. WGL_NV_DX_interop,
  748. WGL_OML_sync_control,
  749. WGL_3DL_stereo_control,
  750. WGL_ARB_context_flush_control,
  751. WIN_draw_range_elements,
  752. WIN_swap_hint,
  753. // GLX
  754. GLX_VERSION_1_3,
  755. GLX_VERSION_1_4,
  756. GLX_ARB_multisample,
  757. GLX_ARB_fbconfig_float,
  758. GLX_ARB_get_proc_address,
  759. GLX_ARB_create_context,
  760. GLX_ARB_create_context_profile,
  761. GLX_ARB_vertex_buffer_object,
  762. GLX_ARB_framebuffer_sRGB,
  763. GLX_ARB_create_context_robustness,
  764. GLX_EXT_visual_info,
  765. GLX_EXT_visual_rating,
  766. GLX_EXT_import_context,
  767. GLX_EXT_fbconfig_packed_float,
  768. GLX_EXT_framebuffer_sRGB,
  769. GLX_EXT_texture_from_pixmap,
  770. GLX_EXT_swap_control,
  771. GLX_ARB_context_flush_control,
  772. GLX_EXT_create_context_es2_profile : Boolean;
  773. const
  774. // GL_VERSION_1_1
  775. { AttribMask }
  776. GL_DEPTH_BUFFER_BIT = $00000100;
  777. GL_STENCIL_BUFFER_BIT = $00000400;
  778. GL_COLOR_BUFFER_BIT = $00004000;
  779. GL_TRUE = 1;
  780. GL_FALSE = 0;
  781. // BeginMode
  782. GL_POINTS = $0000;
  783. GL_LINES = $0001;
  784. GL_LINE_LOOP = $0002;
  785. GL_LINE_STRIP = $0003;
  786. GL_TRIANGLES = $0004;
  787. GL_TRIANGLE_STRIP = $0005;
  788. GL_TRIANGLE_FAN = $0006;
  789. { AlphaFunction }
  790. GL_NEVER = $0200;
  791. GL_LESS = $0201;
  792. GL_EQUAL = $0202;
  793. GL_LEQUAL = $0203;
  794. GL_GREATER = $0204;
  795. GL_NOTEQUAL = $0205;
  796. GL_GEQUAL = $0206;
  797. GL_ALWAYS = $0207;
  798. // BlendingFactorDest
  799. GL_ZERO = 0;
  800. GL_ONE = 1;
  801. GL_SRC_COLOR = $0300;
  802. GL_ONE_MINUS_SRC_COLOR = $0301;
  803. GL_SRC_ALPHA = $0302;
  804. GL_ONE_MINUS_SRC_ALPHA = $0303;
  805. GL_DST_ALPHA = $0304;
  806. GL_ONE_MINUS_DST_ALPHA = $0305;
  807. // BlendingFactorSrc
  808. GL_DST_COLOR = $0306;
  809. GL_ONE_MINUS_DST_COLOR = $0307;
  810. GL_SRC_ALPHA_SATURATE = $0308;
  811. // DrawBufferMode
  812. GL_NONE = 0;
  813. GL_FRONT_LEFT = $0400;
  814. GL_FRONT_RIGHT = $0401;
  815. GL_BACK_LEFT = $0402;
  816. GL_BACK_RIGHT = $0403;
  817. GL_FRONT = $0404;
  818. GL_BACK = $0405;
  819. GL_LEFT = $0406;
  820. GL_RIGHT = $0407;
  821. GL_FRONT_AND_BACK = $0408;
  822. // ErrorCode
  823. GL_NO_ERROR = 0;
  824. GL_INVALID_ENUM = $0500;
  825. GL_INVALID_VALUE = $0501;
  826. GL_INVALID_OPERATION = $0502;
  827. GL_OUT_OF_MEMORY = $0505;
  828. // FrontFaceDirection
  829. GL_CW = $0900;
  830. GL_CCW = $0901;
  831. // GetPName
  832. GL_POINT_SIZE = $0B11;
  833. GL_POINT_SIZE_RANGE = $0B12;
  834. GL_POINT_SIZE_GRANULARITY = $0B13;
  835. GL_LINE_SMOOTH = $0B20;
  836. GL_LINE_WIDTH = $0B21;
  837. GL_LINE_WIDTH_RANGE = $0B22;
  838. GL_LINE_WIDTH_GRANULARITY = $0B23;
  839. GL_POLYGON_SMOOTH = $0B41;
  840. GL_CULL_FACE = $0B44;
  841. GL_CULL_FACE_MODE = $0B45;
  842. GL_FRONT_FACE = $0B46;
  843. GL_DEPTH_RANGE = $0B70;
  844. GL_DEPTH_TEST = $0B71;
  845. GL_DEPTH_WRITEMASK = $0B72;
  846. GL_DEPTH_CLEAR_VALUE = $0B73;
  847. GL_DEPTH_FUNC = $0B74;
  848. GL_STENCIL_TEST = $0B90;
  849. GL_STENCIL_CLEAR_VALUE = $0B91;
  850. GL_STENCIL_FUNC = $0B92;
  851. GL_STENCIL_VALUE_MASK = $0B93;
  852. GL_STENCIL_FAIL = $0B94;
  853. GL_STENCIL_PASS_DEPTH_FAIL = $0B95;
  854. GL_STENCIL_PASS_DEPTH_PASS = $0B96;
  855. GL_STENCIL_REF = $0B97;
  856. GL_STENCIL_WRITEMASK = $0B98;
  857. GL_VIEWPORT = $0BA2;
  858. GL_DITHER = $0BD0;
  859. GL_BLEND_DST = $0BE0;
  860. GL_BLEND_SRC = $0BE1;
  861. GL_BLEND = $0BE2;
  862. GL_LOGIC_OP_MODE = $0BF0;
  863. GL_COLOR_LOGIC_OP = $0BF2;
  864. GL_DRAW_BUFFER = $0C01;
  865. GL_READ_BUFFER = $0C02;
  866. GL_SCISSOR_BOX = $0C10;
  867. GL_SCISSOR_TEST = $0C11;
  868. GL_COLOR_CLEAR_VALUE = $0C22;
  869. GL_COLOR_WRITEMASK = $0C23;
  870. GL_DOUBLEBUFFER = $0C32;
  871. GL_STEREO = $0C33;
  872. GL_LINE_SMOOTH_HINT = $0C52;
  873. GL_POLYGON_SMOOTH_HINT = $0C53;
  874. GL_UNPACK_SWAP_BYTES = $0CF0;
  875. GL_UNPACK_LSB_FIRST = $0CF1;
  876. GL_UNPACK_ROW_LENGTH = $0CF2;
  877. GL_UNPACK_SKIP_ROWS = $0CF3;
  878. GL_UNPACK_SKIP_PIXELS = $0CF4;
  879. GL_UNPACK_ALIGNMENT = $0CF5;
  880. GL_PACK_SWAP_BYTES = $0D00;
  881. GL_PACK_LSB_FIRST = $0D01;
  882. GL_PACK_ROW_LENGTH = $0D02;
  883. GL_PACK_SKIP_ROWS = $0D03;
  884. GL_PACK_SKIP_PIXELS = $0D04;
  885. GL_PACK_ALIGNMENT = $0D05;
  886. GL_MAX_TEXTURE_SIZE = $0D33;
  887. GL_MAX_VIEWPORT_DIMS = $0D3A;
  888. GL_SUBPIXEL_BITS = $0D50;
  889. GL_TEXTURE_1D = $0DE0;
  890. GL_TEXTURE_2D = $0DE1;
  891. GL_POLYGON_OFFSET_UNITS = $2A00;
  892. GL_POLYGON_OFFSET_POINT = $2A01;
  893. GL_POLYGON_OFFSET_LINE = $2A02;
  894. GL_POLYGON_OFFSET_FILL = $8037;
  895. GL_POLYGON_OFFSET_FACTOR = $8038;
  896. GL_TEXTURE_BINDING_1D = $8068;
  897. GL_TEXTURE_BINDING_2D = $8069;
  898. { GetTextureParameter }
  899. GL_TEXTURE_WIDTH = $1000;
  900. GL_TEXTURE_HEIGHT = $1001;
  901. GL_TEXTURE_INTERNAL_FORMAT = $1003;
  902. GL_TEXTURE_BORDER_COLOR = $1004;
  903. GL_TEXTURE_BORDER = $1005;
  904. GL_TEXTURE_RED_SIZE = $805C;
  905. GL_TEXTURE_GREEN_SIZE = $805D;
  906. GL_TEXTURE_BLUE_SIZE = $805E;
  907. GL_TEXTURE_ALPHA_SIZE = $805F;
  908. // HintMode
  909. GL_DONT_CARE = $1100;
  910. GL_FASTEST = $1101;
  911. GL_NICEST = $1102;
  912. // DataType
  913. GL_BYTE = $1400;
  914. GL_UNSIGNED_BYTE = $1401;
  915. GL_SHORT = $1402;
  916. GL_UNSIGNED_SHORT = $1403;
  917. GL_INT = $1404;
  918. GL_UNSIGNED_INT = $1405;
  919. GL_FLOAT = $1406;
  920. GL_DOUBLE = $140A;
  921. // LogicOp
  922. GL_CLEAR = $1500;
  923. GL_AND = $1501;
  924. GL_AND_REVERSE = $1502;
  925. GL_COPY = $1503;
  926. GL_AND_INVERTED = $1504;
  927. GL_NOOP = $1505;
  928. GL_XOR = $1506;
  929. GL_OR = $1507;
  930. GL_NOR = $1508;
  931. GL_EQUIV = $1509;
  932. GL_INVERT = $150A;
  933. GL_OR_REVERSE = $150B;
  934. GL_COPY_INVERTED = $150C;
  935. GL_OR_INVERTED = $150D;
  936. GL_NAND = $150E;
  937. GL_SET = $150F;
  938. // MatrixMode (for gl3.h, FBO attachment type)
  939. GL_TEXTURE = $1702;
  940. // PixelCopyType
  941. GL_COLOR = $1800;
  942. GL_DEPTH = $1801;
  943. GL_STENCIL = $1802;
  944. // PixelFormat
  945. GL_STENCIL_INDEX = $1901;
  946. GL_DEPTH_COMPONENT = $1902;
  947. GL_RED = $1903;
  948. GL_GREEN = $1904;
  949. GL_BLUE = $1905;
  950. GL_ALPHA = $1906;
  951. GL_RGB = $1907;
  952. GL_RGBA = $1908;
  953. // PolygonMode
  954. GL_POINT = $1B00;
  955. GL_LINE = $1B01;
  956. GL_FILL = $1B02;
  957. // StencilOp
  958. GL_KEEP = $1E00;
  959. GL_REPLACE = $1E01;
  960. GL_INCR = $1E02;
  961. GL_DECR = $1E03;
  962. // StringName
  963. GL_VENDOR = $1F00;
  964. GL_RENDERER = $1F01;
  965. GL_VERSION = $1F02;
  966. GL_EXTENSIONS = $1F03;
  967. // TextureMagFilter
  968. GL_NEAREST = $2600;
  969. GL_LINEAR = $2601;
  970. // TextureMinFilter
  971. GL_NEAREST_MIPMAP_NEAREST = $2700;
  972. GL_LINEAR_MIPMAP_NEAREST = $2701;
  973. GL_NEAREST_MIPMAP_LINEAR = $2702;
  974. GL_LINEAR_MIPMAP_LINEAR = $2703;
  975. // TextureParameterName
  976. GL_TEXTURE_MAG_FILTER = $2800;
  977. GL_TEXTURE_MIN_FILTER = $2801;
  978. GL_TEXTURE_WRAP_S = $2802;
  979. GL_TEXTURE_WRAP_T = $2803;
  980. // TextureTarget
  981. GL_PROXY_TEXTURE_1D = $8063;
  982. GL_PROXY_TEXTURE_2D = $8064;
  983. // TextureWrapMode
  984. GL_REPEAT = $2901;
  985. // PixelInternalFormat
  986. GL_R3_G3_B2 = $2A10;
  987. GL_RGB4 = $804F;
  988. GL_RGB5 = $8050;
  989. GL_RGB8 = $8051;
  990. GL_RGB10 = $8052;
  991. GL_RGB12 = $8053;
  992. GL_RGB16 = $8054;
  993. GL_RGBA2 = $8055;
  994. GL_RGBA4 = $8056;
  995. GL_RGB5_A1 = $8057;
  996. GL_RGBA8 = $8058;
  997. GL_RGB10_A2 = $8059;
  998. GL_RGBA12 = $805A;
  999. GL_RGBA16 = $805B;
  1000. {$IFDEF USE_DEPRECATED}
  1001. GL_ACCUM = $0100;
  1002. GL_LOAD = $0101;
  1003. GL_RETURN = $0102;
  1004. GL_MULT = $0103;
  1005. GL_ADD = $0104;
  1006. GL_CURRENT_BIT = $00000001;
  1007. GL_POINT_BIT = $00000002;
  1008. GL_LINE_BIT = $00000004;
  1009. GL_POLYGON_BIT = $00000008;
  1010. GL_POLYGON_STIPPLE_BIT = $00000010;
  1011. GL_PIXEL_MODE_BIT = $00000020;
  1012. GL_LIGHTING_BIT = $00000040;
  1013. GL_FOG_BIT = $00000080;
  1014. GL_ACCUM_BUFFER_BIT = $00000200;
  1015. GL_VIEWPORT_BIT = $00000800;
  1016. GL_TRANSFORM_BIT = $00001000;
  1017. GL_ENABLE_BIT = $00002000;
  1018. GL_HINT_BIT = $00008000;
  1019. GL_EVAL_BIT = $00010000;
  1020. GL_LIST_BIT = $00020000;
  1021. GL_TEXTURE_BIT = $00040000;
  1022. GL_SCISSOR_BIT = $00080000;
  1023. GL_ALL_ATTRIB_BITS = $000FFFFF;
  1024. GL_QUADS = $0007;
  1025. GL_QUAD_STRIP = $0008;
  1026. GL_POLYGON = $0009;
  1027. GL_CLIP_PLANE0 = $3000;
  1028. GL_CLIP_PLANE1 = $3001;
  1029. GL_CLIP_PLANE2 = $3002;
  1030. GL_CLIP_PLANE3 = $3003;
  1031. GL_CLIP_PLANE4 = $3004;
  1032. GL_CLIP_PLANE5 = $3005;
  1033. GL_2_BYTES = $1407;
  1034. GL_3_BYTES = $1408;
  1035. GL_4_BYTES = $1409;
  1036. GL_AUX0 = $0409;
  1037. GL_AUX1 = $040A;
  1038. GL_AUX2 = $040B;
  1039. GL_AUX3 = $040C;
  1040. GL_STACK_OVERFLOW = $0503;
  1041. GL_STACK_UNDERFLOW = $0504;
  1042. GL_2D = $0600;
  1043. GL_3D = $0601;
  1044. GL_3D_COLOR = $0602;
  1045. GL_3D_COLOR_TEXTURE = $0603;
  1046. GL_4D_COLOR_TEXTURE = $0604;
  1047. GL_PASS_THROUGH_TOKEN = $0700;
  1048. GL_POINT_TOKEN = $0701;
  1049. GL_LINE_TOKEN = $0702;
  1050. GL_POLYGON_TOKEN = $0703;
  1051. GL_BITMAP_TOKEN = $0704;
  1052. GL_DRAW_PIXEL_TOKEN = $0705;
  1053. GL_COPY_PIXEL_TOKEN = $0706;
  1054. GL_LINE_RESET_TOKEN = $0707;
  1055. GL_EXP = $0800;
  1056. GL_EXP2 = $0801;
  1057. GL_COEFF = $0A00;
  1058. GL_ORDER = $0A01;
  1059. GL_DOMAIN = $0A02;
  1060. GL_CURRENT_COLOR = $0B00;
  1061. GL_CURRENT_INDEX = $0B01;
  1062. GL_CURRENT_NORMAL = $0B02;
  1063. GL_CURRENT_TEXTURE_COORDS = $0B03;
  1064. GL_CURRENT_RASTER_COLOR = $0B04;
  1065. GL_CURRENT_RASTER_INDEX = $0B05;
  1066. GL_CURRENT_RASTER_TEXTURE_COORDS = $0B06;
  1067. GL_CURRENT_RASTER_POSITION = $0B07;
  1068. GL_CURRENT_RASTER_POSITION_VALID = $0B08;
  1069. GL_CURRENT_RASTER_DISTANCE = $0B09;
  1070. GL_POINT_SMOOTH = $0B10;
  1071. GL_LINE_STIPPLE = $0B24;
  1072. GL_LINE_STIPPLE_PATTERN = $0B25;
  1073. GL_LINE_STIPPLE_REPEAT = $0B26;
  1074. GL_LIST_MODE = $0B30;
  1075. GL_MAX_LIST_NESTING = $0B31;
  1076. GL_LIST_BASE = $0B32;
  1077. GL_LIST_INDEX = $0B33;
  1078. GL_POLYGON_MODE = $0B40;
  1079. GL_POLYGON_STIPPLE = $0B42;
  1080. GL_EDGE_FLAG = $0B43;
  1081. GL_LIGHTING = $0B50;
  1082. GL_LIGHT_MODEL_LOCAL_VIEWER = $0B51;
  1083. GL_LIGHT_MODEL_TWO_SIDE = $0B52;
  1084. GL_LIGHT_MODEL_AMBIENT = $0B53;
  1085. GL_SHADE_MODEL = $0B54;
  1086. GL_COLOR_MATERIAL_FACE = $0B55;
  1087. GL_COLOR_MATERIAL_PARAMETER = $0B56;
  1088. GL_COLOR_MATERIAL = $0B57;
  1089. GL_FOG = $0B60;
  1090. GL_FOG_INDEX = $0B61;
  1091. GL_FOG_DENSITY = $0B62;
  1092. GL_FOG_START = $0B63;
  1093. GL_FOG_END = $0B64;
  1094. GL_FOG_MODE = $0B65;
  1095. GL_FOG_COLOR = $0B66;
  1096. GL_ACCUM_CLEAR_VALUE = $0B80;
  1097. GL_MATRIX_MODE = $0BA0;
  1098. GL_NORMALIZE = $0BA1;
  1099. GL_MODELVIEW_STACK_DEPTH = $0BA3;
  1100. GL_PROJECTION_STACK_DEPTH = $0BA4;
  1101. GL_TEXTURE_STACK_DEPTH = $0BA5;
  1102. GL_MODELVIEW_MATRIX = $0BA6;
  1103. GL_PROJECTION_MATRIX = $0BA7;
  1104. GL_TEXTURE_MATRIX = $0BA8;
  1105. GL_ATTRIB_STACK_DEPTH = $0BB0;
  1106. GL_CLIENT_ATTRIB_STACK_DEPTH = $0BB1;
  1107. GL_ALPHA_TEST = $0BC0;
  1108. GL_ALPHA_TEST_FUNC = $0BC1;
  1109. GL_ALPHA_TEST_REF = $0BC2;
  1110. GL_INDEX_LOGIC_OP = $0BF1;
  1111. GL_AUX_BUFFERS = $0C00;
  1112. GL_INDEX_CLEAR_VALUE = $0C20;
  1113. GL_INDEX_WRITEMASK = $0C21;
  1114. GL_INDEX_MODE = $0C30;
  1115. GL_RGBA_MODE = $0C31;
  1116. GL_RENDER_MODE = $0C40;
  1117. GL_PERSPECTIVE_CORRECTION_HINT = $0C50;
  1118. GL_POINT_SMOOTH_HINT = $0C51;
  1119. GL_FOG_HINT = $0C54;
  1120. GL_TEXTURE_GEN_S = $0C60;
  1121. GL_TEXTURE_GEN_T = $0C61;
  1122. GL_TEXTURE_GEN_R = $0C62;
  1123. GL_TEXTURE_GEN_Q = $0C63;
  1124. GL_PIXEL_MAP_I_TO_I = $0C70;
  1125. GL_PIXEL_MAP_S_TO_S = $0C71;
  1126. GL_PIXEL_MAP_I_TO_R = $0C72;
  1127. GL_PIXEL_MAP_I_TO_G = $0C73;
  1128. GL_PIXEL_MAP_I_TO_B = $0C74;
  1129. GL_PIXEL_MAP_I_TO_A = $0C75;
  1130. GL_PIXEL_MAP_R_TO_R = $0C76;
  1131. GL_PIXEL_MAP_G_TO_G = $0C77;
  1132. GL_PIXEL_MAP_B_TO_B = $0C78;
  1133. GL_PIXEL_MAP_A_TO_A = $0C79;
  1134. GL_PIXEL_MAP_I_TO_I_SIZE = $0CB0;
  1135. GL_PIXEL_MAP_S_TO_S_SIZE = $0CB1;
  1136. GL_PIXEL_MAP_I_TO_R_SIZE = $0CB2;
  1137. GL_PIXEL_MAP_I_TO_G_SIZE = $0CB3;
  1138. GL_PIXEL_MAP_I_TO_B_SIZE = $0CB4;
  1139. GL_PIXEL_MAP_I_TO_A_SIZE = $0CB5;
  1140. GL_PIXEL_MAP_R_TO_R_SIZE = $0CB6;
  1141. GL_PIXEL_MAP_G_TO_G_SIZE = $0CB7;
  1142. GL_PIXEL_MAP_B_TO_B_SIZE = $0CB8;
  1143. GL_PIXEL_MAP_A_TO_A_SIZE = $0CB9;
  1144. GL_MAP_COLOR = $0D10;
  1145. GL_MAP_STENCIL = $0D11;
  1146. GL_INDEX_SHIFT = $0D12;
  1147. GL_INDEX_OFFSET = $0D13;
  1148. GL_RED_SCALE = $0D14;
  1149. GL_RED_BIAS = $0D15;
  1150. GL_ZOOM_X = $0D16;
  1151. GL_ZOOM_Y = $0D17;
  1152. GL_GREEN_SCALE = $0D18;
  1153. GL_GREEN_BIAS = $0D19;
  1154. GL_BLUE_SCALE = $0D1A;
  1155. GL_BLUE_BIAS = $0D1B;
  1156. GL_ALPHA_SCALE = $0D1C;
  1157. GL_ALPHA_BIAS = $0D1D;
  1158. GL_DEPTH_SCALE = $0D1E;
  1159. GL_DEPTH_BIAS = $0D1F;
  1160. GL_MAX_EVAL_ORDER = $0D30;
  1161. GL_MAX_LIGHTS = $0D31;
  1162. GL_MAX_CLIP_PLANES = $0D32;
  1163. GL_MAX_PIXEL_MAP_TABLE = $0D34;
  1164. GL_MAX_ATTRIB_STACK_DEPTH = $0D35;
  1165. GL_MAX_MODELVIEW_STACK_DEPTH = $0D36;
  1166. GL_MAX_NAME_STACK_DEPTH = $0D37;
  1167. GL_MAX_PROJECTION_STACK_DEPTH = $0D38;
  1168. GL_MAX_TEXTURE_STACK_DEPTH = $0D39;
  1169. GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = $0D3B;
  1170. GL_INDEX_BITS = $0D51;
  1171. GL_RED_BITS = $0D52;
  1172. GL_GREEN_BITS = $0D53;
  1173. GL_BLUE_BITS = $0D54;
  1174. GL_ALPHA_BITS = $0D55;
  1175. GL_DEPTH_BITS = $0D56;
  1176. GL_STENCIL_BITS = $0D57;
  1177. GL_ACCUM_RED_BITS = $0D58;
  1178. GL_ACCUM_GREEN_BITS = $0D59;
  1179. GL_ACCUM_BLUE_BITS = $0D5A;
  1180. GL_ACCUM_ALPHA_BITS = $0D5B;
  1181. GL_NAME_STACK_DEPTH = $0D70;
  1182. GL_AUTO_NORMAL = $0D80;
  1183. GL_MAP1_COLOR_4 = $0D90;
  1184. GL_MAP1_INDEX = $0D91;
  1185. GL_MAP1_NORMAL = $0D92;
  1186. GL_MAP1_TEXTURE_COORD_1 = $0D93;
  1187. GL_MAP1_TEXTURE_COORD_2 = $0D94;
  1188. GL_MAP1_TEXTURE_COORD_3 = $0D95;
  1189. GL_MAP1_TEXTURE_COORD_4 = $0D96;
  1190. GL_MAP1_VERTEX_3 = $0D97;
  1191. GL_MAP1_VERTEX_4 = $0D98;
  1192. GL_MAP2_COLOR_4 = $0DB0;
  1193. GL_MAP2_INDEX = $0DB1;
  1194. GL_MAP2_NORMAL = $0DB2;
  1195. GL_MAP2_TEXTURE_COORD_1 = $0DB3;
  1196. GL_MAP2_TEXTURE_COORD_2 = $0DB4;
  1197. GL_MAP2_TEXTURE_COORD_3 = $0DB5;
  1198. GL_MAP2_TEXTURE_COORD_4 = $0DB6;
  1199. GL_MAP2_VERTEX_3 = $0DB7;
  1200. GL_MAP2_VERTEX_4 = $0DB8;
  1201. GL_MAP1_GRID_DOMAIN = $0DD0;
  1202. GL_MAP1_GRID_SEGMENTS = $0DD1;
  1203. GL_MAP2_GRID_DOMAIN = $0DD2;
  1204. GL_MAP2_GRID_SEGMENTS = $0DD3;
  1205. GL_FEEDBACK_BUFFER_POINTER = $0DF0;
  1206. GL_FEEDBACK_BUFFER_SIZE = $0DF1;
  1207. GL_FEEDBACK_BUFFER_TYPE = $0DF2;
  1208. GL_SELECTION_BUFFER_POINTER = $0DF3;
  1209. GL_SELECTION_BUFFER_SIZE = $0DF4;
  1210. GL_LIGHT0 = $4000;
  1211. GL_LIGHT1 = $4001;
  1212. GL_LIGHT2 = $4002;
  1213. GL_LIGHT3 = $4003;
  1214. GL_LIGHT4 = $4004;
  1215. GL_LIGHT5 = $4005;
  1216. GL_LIGHT6 = $4006;
  1217. GL_LIGHT7 = $4007;
  1218. GL_AMBIENT = $1200;
  1219. GL_DIFFUSE = $1201;
  1220. GL_SPECULAR = $1202;
  1221. GL_POSITION = $1203;
  1222. GL_SPOT_DIRECTION = $1204;
  1223. GL_SPOT_EXPONENT = $1205;
  1224. GL_SPOT_CUTOFF = $1206;
  1225. GL_CONSTANT_ATTENUATION = $1207;
  1226. GL_LINEAR_ATTENUATION = $1208;
  1227. GL_QUADRATIC_ATTENUATION = $1209;
  1228. GL_COMPILE = $1300;
  1229. GL_COMPILE_AND_EXECUTE = $1301;
  1230. GL_EMISSION = $1600;
  1231. GL_SHININESS = $1601;
  1232. GL_AMBIENT_AND_DIFFUSE = $1602;
  1233. GL_COLOR_INDEXES = $1603;
  1234. GL_MODELVIEW = $1700;
  1235. GL_PROJECTION = $1701;
  1236. GL_COLOR_INDEX = $1900;
  1237. GL_LUMINANCE = $1909;
  1238. GL_LUMINANCE_ALPHA = $190A;
  1239. GL_BITMAP = $1A00;
  1240. GL_RENDER = $1C00;
  1241. GL_FEEDBACK = $1C01;
  1242. GL_SELECT = $1C02;
  1243. GL_FLAT = $1D00;
  1244. GL_SMOOTH = $1D01;
  1245. GL_S = $2000;
  1246. GL_T = $2001;
  1247. GL_R = $2002;
  1248. GL_Q = $2003;
  1249. GL_MODULATE = $2100;
  1250. GL_DECAL = $2101;
  1251. GL_TEXTURE_ENV_MODE = $2200;
  1252. GL_TEXTURE_ENV_COLOR = $2201;
  1253. GL_TEXTURE_ENV = $2300;
  1254. GL_EYE_LINEAR = $2400;
  1255. GL_OBJECT_LINEAR = $2401;
  1256. GL_SPHERE_MAP = $2402;
  1257. GL_TEXTURE_GEN_MODE = $2500;
  1258. GL_OBJECT_PLANE = $2501;
  1259. GL_EYE_PLANE = $2502;
  1260. GL_CLAMP = $2900;
  1261. GL_CLIENT_PIXEL_STORE_BIT = $00000001;
  1262. GL_CLIENT_VERTEX_ARRAY_BIT = $00000002;
  1263. GL_CLIENT_ALL_ATTRIB_BITS = $FFFFFFFF;
  1264. GL_ALPHA4 = $803B;
  1265. GL_ALPHA8 = $803C;
  1266. GL_ALPHA12 = $803D;
  1267. GL_ALPHA16 = $803E;
  1268. GL_LUMINANCE4 = $803F;
  1269. GL_LUMINANCE8 = $8040;
  1270. GL_LUMINANCE12 = $8041;
  1271. GL_LUMINANCE16 = $8042;
  1272. GL_LUMINANCE4_ALPHA4 = $8043;
  1273. GL_LUMINANCE6_ALPHA2 = $8044;
  1274. GL_LUMINANCE8_ALPHA8 = $8045;
  1275. GL_LUMINANCE12_ALPHA4 = $8046;
  1276. GL_LUMINANCE12_ALPHA12 = $8047;
  1277. GL_LUMINANCE16_ALPHA16 = $8048;
  1278. GL_INTENSITY = $8049;
  1279. GL_INTENSITY4 = $804A;
  1280. GL_INTENSITY8 = $804B;
  1281. GL_INTENSITY12 = $804C;
  1282. GL_INTENSITY16 = $804D;
  1283. GL_TEXTURE_LUMINANCE_SIZE = $8060;
  1284. GL_TEXTURE_INTENSITY_SIZE = $8061;
  1285. GL_TEXTURE_PRIORITY = $8066;
  1286. GL_TEXTURE_RESIDENT = $8067;
  1287. GL_VERTEX_ARRAY = $8074;
  1288. GL_NORMAL_ARRAY = $8075;
  1289. GL_COLOR_ARRAY = $8076;
  1290. GL_INDEX_ARRAY = $8077;
  1291. GL_TEXTURE_COORD_ARRAY = $8078;
  1292. GL_EDGE_FLAG_ARRAY = $8079;
  1293. GL_VERTEX_ARRAY_SIZE = $807A;
  1294. GL_VERTEX_ARRAY_TYPE = $807B;
  1295. GL_VERTEX_ARRAY_STRIDE = $807C;
  1296. GL_NORMAL_ARRAY_TYPE = $807E;
  1297. GL_NORMAL_ARRAY_STRIDE = $807F;
  1298. GL_COLOR_ARRAY_SIZE = $8081;
  1299. GL_COLOR_ARRAY_TYPE = $8082;
  1300. GL_COLOR_ARRAY_STRIDE = $8083;
  1301. GL_INDEX_ARRAY_TYPE = $8085;
  1302. GL_INDEX_ARRAY_STRIDE = $8086;
  1303. GL_TEXTURE_COORD_ARRAY_SIZE = $8088;
  1304. GL_TEXTURE_COORD_ARRAY_TYPE = $8089;
  1305. GL_TEXTURE_COORD_ARRAY_STRIDE = $808A;
  1306. GL_EDGE_FLAG_ARRAY_STRIDE = $808C;
  1307. GL_VERTEX_ARRAY_POINTER = $808E;
  1308. GL_NORMAL_ARRAY_POINTER = $808F;
  1309. GL_COLOR_ARRAY_POINTER = $8090;
  1310. GL_INDEX_ARRAY_POINTER = $8091;
  1311. GL_TEXTURE_COORD_ARRAY_POINTER = $8092;
  1312. GL_EDGE_FLAG_ARRAY_POINTER = $8093;
  1313. GL_V2F = $2A20;
  1314. GL_V3F = $2A21;
  1315. GL_C4UB_V2F = $2A22;
  1316. GL_C4UB_V3F = $2A23;
  1317. GL_C3F_V3F = $2A24;
  1318. GL_N3F_V3F = $2A25;
  1319. GL_C4F_N3F_V3F = $2A26;
  1320. GL_T2F_V3F = $2A27;
  1321. GL_T4F_V4F = $2A28;
  1322. GL_T2F_C4UB_V3F = $2A29;
  1323. GL_T2F_C3F_V3F = $2A2A;
  1324. GL_T2F_N3F_V3F = $2A2B;
  1325. GL_T2F_C4F_N3F_V3F = $2A2C;
  1326. GL_T4F_C4F_N3F_V4F = $2A2D;
  1327. GL_COLOR_TABLE_FORMAT_EXT = $80D8;
  1328. GL_COLOR_TABLE_WIDTH_EXT = $80D9;
  1329. GL_COLOR_TABLE_RED_SIZE_EXT = $80DA;
  1330. GL_COLOR_TABLE_GREEN_SIZE_EXT = $80DB;
  1331. GL_COLOR_TABLE_BLUE_SIZE_EXT = $80DC;
  1332. GL_COLOR_TABLE_ALPHA_SIZE_EXT = $80DD;
  1333. GL_COLOR_TABLE_LUMINANCE_SIZE_EXT = $80DE;
  1334. GL_COLOR_TABLE_INTENSITY_SIZE_EXT = $80DF;
  1335. GL_LOGIC_OP = GL_INDEX_LOGIC_OP;
  1336. GL_TEXTURE_COMPONENTS = GL_TEXTURE_INTERNAL_FORMAT;
  1337. {$ENDIF}
  1338. // GL_VERSION_1_2
  1339. GL_UNSIGNED_BYTE_3_3_2 = $8032;
  1340. GL_UNSIGNED_SHORT_4_4_4_4 = $8033;
  1341. GL_UNSIGNED_SHORT_5_5_5_1 = $8034;
  1342. GL_UNSIGNED_INT_8_8_8_8 = $8035;
  1343. GL_UNSIGNED_INT_10_10_10_2 = $8036;
  1344. GL_TEXTURE_BINDING_3D = $806A;
  1345. GL_PACK_SKIP_IMAGES = $806B;
  1346. GL_PACK_IMAGE_HEIGHT = $806C;
  1347. GL_UNPACK_SKIP_IMAGES = $806D;
  1348. GL_UNPACK_IMAGE_HEIGHT = $806E;
  1349. GL_TEXTURE_3D = $806F;
  1350. GL_PROXY_TEXTURE_3D = $8070;
  1351. GL_TEXTURE_DEPTH = $8071;
  1352. GL_TEXTURE_WRAP_R = $8072;
  1353. GL_MAX_3D_TEXTURE_SIZE = $8073;
  1354. GL_UNSIGNED_BYTE_2_3_3_REV = $8362;
  1355. GL_UNSIGNED_SHORT_5_6_5 = $8363;
  1356. GL_UNSIGNED_SHORT_5_6_5_REV = $8364;
  1357. GL_UNSIGNED_SHORT_4_4_4_4_REV = $8365;
  1358. GL_UNSIGNED_SHORT_1_5_5_5_REV = $8366;
  1359. GL_UNSIGNED_INT_8_8_8_8_REV = $8367;
  1360. GL_UNSIGNED_INT_2_10_10_10_REV = $8368;
  1361. GL_BGR = $80E0;
  1362. GL_BGRA = $80E1;
  1363. GL_MAX_ELEMENTS_VERTICES = $80E8;
  1364. GL_MAX_ELEMENTS_INDICES = $80E9;
  1365. GL_CLAMP_TO_EDGE = $812F;
  1366. GL_TEXTURE_MIN_LOD = $813A;
  1367. GL_TEXTURE_MAX_LOD = $813B;
  1368. GL_TEXTURE_BASE_LEVEL = $813C;
  1369. GL_TEXTURE_MAX_LEVEL = $813D;
  1370. GL_SMOOTH_POINT_SIZE_RANGE = $0B12;
  1371. GL_SMOOTH_POINT_SIZE_GRANULARITY = $0B13;
  1372. GL_SMOOTH_LINE_WIDTH_RANGE = $0B22;
  1373. GL_SMOOTH_LINE_WIDTH_GRANULARITY = $0B23;
  1374. GL_ALIASED_LINE_WIDTH_RANGE = $846E;
  1375. {$IFDEF USE_DEPRECATED}
  1376. GL_RESCALE_NORMAL = $803A;
  1377. GL_LIGHT_MODEL_COLOR_CONTROL = $81F8;
  1378. GL_SINGLE_COLOR = $81F9;
  1379. GL_SEPARATE_SPECULAR_COLOR = $81FA;
  1380. GL_ALIASED_POINT_SIZE_RANGE = $846D;
  1381. {$ENDIF}
  1382. // GL_VERSION_1_3
  1383. GL_TEXTURE0 = $84C0;
  1384. GL_TEXTURE1 = $84C1;
  1385. GL_TEXTURE2 = $84C2;
  1386. GL_TEXTURE3 = $84C3;
  1387. GL_TEXTURE4 = $84C4;
  1388. GL_TEXTURE5 = $84C5;
  1389. GL_TEXTURE6 = $84C6;
  1390. GL_TEXTURE7 = $84C7;
  1391. GL_TEXTURE8 = $84C8;
  1392. GL_TEXTURE9 = $84C9;
  1393. GL_TEXTURE10 = $84CA;
  1394. GL_TEXTURE11 = $84CB;
  1395. GL_TEXTURE12 = $84CC;
  1396. GL_TEXTURE13 = $84CD;
  1397. GL_TEXTURE14 = $84CE;
  1398. GL_TEXTURE15 = $84CF;
  1399. GL_TEXTURE16 = $84D0;
  1400. GL_TEXTURE17 = $84D1;
  1401. GL_TEXTURE18 = $84D2;
  1402. GL_TEXTURE19 = $84D3;
  1403. GL_TEXTURE20 = $84D4;
  1404. GL_TEXTURE21 = $84D5;
  1405. GL_TEXTURE22 = $84D6;
  1406. GL_TEXTURE23 = $84D7;
  1407. GL_TEXTURE24 = $84D8;
  1408. GL_TEXTURE25 = $84D9;
  1409. GL_TEXTURE26 = $84DA;
  1410. GL_TEXTURE27 = $84DB;
  1411. GL_TEXTURE28 = $84DC;
  1412. GL_TEXTURE29 = $84DD;
  1413. GL_TEXTURE30 = $84DE;
  1414. GL_TEXTURE31 = $84DF;
  1415. GL_ACTIVE_TEXTURE = $84E0;
  1416. GL_MULTISAMPLE = $809D;
  1417. GL_SAMPLE_ALPHA_TO_COVERAGE = $809E;
  1418. GL_SAMPLE_ALPHA_TO_ONE = $809F;
  1419. GL_SAMPLE_COVERAGE = $80A0;
  1420. GL_SAMPLE_BUFFERS = $80A8;
  1421. GL_SAMPLES = $80A9;
  1422. GL_SAMPLE_COVERAGE_VALUE = $80AA;
  1423. GL_SAMPLE_COVERAGE_INVERT = $80AB;
  1424. GL_TEXTURE_CUBE_MAP = $8513;
  1425. GL_TEXTURE_BINDING_CUBE_MAP = $8514;
  1426. GL_TEXTURE_CUBE_MAP_POSITIVE_X = $8515;
  1427. GL_TEXTURE_CUBE_MAP_NEGATIVE_X = $8516;
  1428. GL_TEXTURE_CUBE_MAP_POSITIVE_Y = $8517;
  1429. GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = $8518;
  1430. GL_TEXTURE_CUBE_MAP_POSITIVE_Z = $8519;
  1431. GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = $851A;
  1432. GL_PROXY_TEXTURE_CUBE_MAP = $851B;
  1433. GL_MAX_CUBE_MAP_TEXTURE_SIZE = $851C;
  1434. GL_COMPRESSED_RGB = $84ED;
  1435. GL_COMPRESSED_RGBA = $84EE;
  1436. GL_TEXTURE_COMPRESSION_HINT = $84EF;
  1437. GL_TEXTURE_COMPRESSED_IMAGE_SIZE = $86A0;
  1438. GL_TEXTURE_COMPRESSED = $86A1;
  1439. GL_NUM_COMPRESSED_TEXTURE_FORMATS = $86A2;
  1440. GL_COMPRESSED_TEXTURE_FORMATS = $86A3;
  1441. GL_CLAMP_TO_BORDER = $812D;
  1442. {$IFDEF USE_DEPRECATED}
  1443. GL_CLIENT_ACTIVE_TEXTURE = $84E1;
  1444. GL_MAX_TEXTURE_UNITS = $84E2;
  1445. GL_TRANSPOSE_MODELVIEW_MATRIX = $84E3;
  1446. GL_TRANSPOSE_PROJECTION_MATRIX = $84E4;
  1447. GL_TRANSPOSE_TEXTURE_MATRIX = $84E5;
  1448. GL_TRANSPOSE_COLOR_MATRIX = $84E6;
  1449. GL_MULTISAMPLE_BIT = $20000000;
  1450. GL_NORMAL_MAP = $8511;
  1451. GL_REFLECTION_MAP = $8512;
  1452. GL_COMPRESSED_ALPHA = $84E9;
  1453. GL_COMPRESSED_LUMINANCE = $84EA;
  1454. GL_COMPRESSED_LUMINANCE_ALPHA = $84EB;
  1455. GL_COMPRESSED_INTENSITY = $84EC;
  1456. GL_COMBINE = $8570;
  1457. GL_COMBINE_RGB = $8571;
  1458. GL_COMBINE_ALPHA = $8572;
  1459. GL_SOURCE0_RGB = $8580;
  1460. GL_SOURCE1_RGB = $8581;
  1461. GL_SOURCE2_RGB = $8582;
  1462. GL_SOURCE0_ALPHA = $8588;
  1463. GL_SOURCE1_ALPHA = $8589;
  1464. GL_SOURCE2_ALPHA = $858A;
  1465. GL_OPERAND0_RGB = $8590;
  1466. GL_OPERAND1_RGB = $8591;
  1467. GL_OPERAND2_RGB = $8592;
  1468. GL_OPERAND0_ALPHA = $8598;
  1469. GL_OPERAND1_ALPHA = $8599;
  1470. GL_OPERAND2_ALPHA = $859A;
  1471. GL_RGB_SCALE = $8573;
  1472. GL_ADD_SIGNED = $8574;
  1473. GL_INTERPOLATE = $8575;
  1474. GL_SUBTRACT = $84E7;
  1475. GL_CONSTANT = $8576;
  1476. GL_PRIMARY_COLOR = $8577;
  1477. GL_PREVIOUS = $8578;
  1478. GL_DOT3_RGB = $86AE;
  1479. GL_DOT3_RGBA = $86AF;
  1480. {$ENDIF}
  1481. // GL_VERSION_1_4
  1482. GL_BLEND_DST_RGB = $80C8;
  1483. GL_BLEND_SRC_RGB = $80C9;
  1484. GL_BLEND_DST_ALPHA = $80CA;
  1485. GL_BLEND_SRC_ALPHA = $80CB;
  1486. GL_POINT_FADE_THRESHOLD_SIZE = $8128;
  1487. GL_DEPTH_COMPONENT16 = $81A5;
  1488. GL_DEPTH_COMPONENT24 = $81A6;
  1489. GL_DEPTH_COMPONENT32 = $81A7;
  1490. GL_MIRRORED_REPEAT = $8370;
  1491. GL_MAX_TEXTURE_LOD_BIAS = $84FD;
  1492. GL_TEXTURE_LOD_BIAS = $8501;
  1493. GL_INCR_WRAP = $8507;
  1494. GL_DECR_WRAP = $8508;
  1495. GL_TEXTURE_DEPTH_SIZE = $884A;
  1496. GL_TEXTURE_COMPARE_MODE = $884C;
  1497. GL_TEXTURE_COMPARE_FUNC = $884D;
  1498. {$IFDEF USE_DEPRECATED}
  1499. GL_POINT_SIZE_MIN = $8126;
  1500. GL_POINT_SIZE_MAX = $8127;
  1501. GL_POINT_DISTANCE_ATTENUATION = $8129;
  1502. GL_GENERATE_MIPMAP = $8191;
  1503. GL_GENERATE_MIPMAP_HINT = $8192;
  1504. GL_FOG_COORDINATE_SOURCE = $8450;
  1505. GL_FOG_COORDINATE = $8451;
  1506. GL_FRAGMENT_DEPTH = $8452;
  1507. GL_CURRENT_FOG_COORDINATE = $8453;
  1508. GL_FOG_COORDINATE_ARRAY_TYPE = $8454;
  1509. GL_FOG_COORDINATE_ARRAY_STRIDE = $8455;
  1510. GL_FOG_COORDINATE_ARRAY_POINTER = $8456;
  1511. GL_FOG_COORDINATE_ARRAY = $8457;
  1512. GL_COLOR_SUM = $8458;
  1513. GL_CURRENT_SECONDARY_COLOR = $8459;
  1514. GL_SECONDARY_COLOR_ARRAY_SIZE = $845A;
  1515. GL_SECONDARY_COLOR_ARRAY_TYPE = $845B;
  1516. GL_SECONDARY_COLOR_ARRAY_STRIDE = $845C;
  1517. GL_SECONDARY_COLOR_ARRAY_POINTER = $845D;
  1518. GL_SECONDARY_COLOR_ARRAY = $845E;
  1519. GL_TEXTURE_FILTER_CONTROL = $8500;
  1520. GL_DEPTH_TEXTURE_MODE = $884B;
  1521. GL_COMPARE_R_TO_TEXTURE = $884E;
  1522. {$ENDIF}
  1523. // GL_VERSION_1_5
  1524. GL_BUFFER_SIZE = $8764;
  1525. GL_BUFFER_USAGE = $8765;
  1526. GL_QUERY_COUNTER_BITS = $8864;
  1527. GL_CURRENT_QUERY = $8865;
  1528. GL_QUERY_RESULT = $8866;
  1529. GL_QUERY_RESULT_AVAILABLE = $8867;
  1530. GL_ARRAY_BUFFER = $8892;
  1531. GL_ELEMENT_ARRAY_BUFFER = $8893;
  1532. GL_ARRAY_BUFFER_BINDING = $8894;
  1533. GL_ELEMENT_ARRAY_BUFFER_BINDING = $8895;
  1534. GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = $889F;
  1535. GL_READ_ONLY = $88B8;
  1536. GL_WRITE_ONLY = $88B9;
  1537. GL_READ_WRITE = $88BA;
  1538. GL_BUFFER_ACCESS = $88BB;
  1539. GL_BUFFER_MAPPED = $88BC;
  1540. GL_BUFFER_MAP_POINTER = $88BD;
  1541. GL_STREAM_DRAW = $88E0;
  1542. GL_STREAM_READ = $88E1;
  1543. GL_STREAM_COPY = $88E2;
  1544. GL_STATIC_DRAW = $88E4;
  1545. GL_STATIC_READ = $88E5;
  1546. GL_STATIC_COPY = $88E6;
  1547. GL_DYNAMIC_DRAW = $88E8;
  1548. GL_DYNAMIC_READ = $88E9;
  1549. GL_DYNAMIC_COPY = $88EA;
  1550. GL_SAMPLES_PASSED = $8914;
  1551. {$IFDEF USE_DEPRECATED}
  1552. GL_VERTEX_ARRAY_BUFFER_BINDING = $8896;
  1553. GL_NORMAL_ARRAY_BUFFER_BINDING = $8897;
  1554. GL_COLOR_ARRAY_BUFFER_BINDING = $8898;
  1555. GL_INDEX_ARRAY_BUFFER_BINDING = $8899;
  1556. GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = $889A;
  1557. GL_EDGE_FLAG_ARRAY_BUFFER_BINDING = $889B;
  1558. GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING = $889C;
  1559. GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING = $889D;
  1560. GL_WEIGHT_ARRAY_BUFFER_BINDING = $889E;
  1561. GL_FOG_COORD_SRC = $8450;
  1562. GL_FOG_COORD = $8451;
  1563. GL_CURRENT_FOG_COORD = $8453;
  1564. GL_FOG_COORD_ARRAY_TYPE = $8454;
  1565. GL_FOG_COORD_ARRAY_STRIDE = $8455;
  1566. GL_FOG_COORD_ARRAY_POINTER = $8456;
  1567. GL_FOG_COORD_ARRAY = $8457;
  1568. GL_FOG_COORD_ARRAY_BUFFER_BINDING = $889D;
  1569. GL_SRC0_RGB = $8580;
  1570. GL_SRC1_RGB = $8581;
  1571. GL_SRC2_RGB = $8582;
  1572. GL_SRC0_ALPHA = $8588;
  1573. GL_SRC1_ALPHA = $8589;
  1574. GL_SRC2_ALPHA = $858A;
  1575. {$ENDIF}
  1576. // GL_VERSION_2_0
  1577. GL_BLEND_EQUATION_RGB = $8009;
  1578. GL_VERTEX_ATTRIB_ARRAY_ENABLED = $8622;
  1579. GL_VERTEX_ATTRIB_ARRAY_SIZE = $8623;
  1580. GL_VERTEX_ATTRIB_ARRAY_STRIDE = $8624;
  1581. GL_VERTEX_ATTRIB_ARRAY_TYPE = $8625;
  1582. GL_CURRENT_VERTEX_ATTRIB = $8626;
  1583. GL_VERTEX_PROGRAM_POINT_SIZE = $8642;
  1584. GL_VERTEX_ATTRIB_ARRAY_POINTER = $8645;
  1585. GL_STENCIL_BACK_FUNC = $8800;
  1586. GL_STENCIL_BACK_FAIL = $8801;
  1587. GL_STENCIL_BACK_PASS_DEPTH_FAIL = $8802;
  1588. GL_STENCIL_BACK_PASS_DEPTH_PASS = $8803;
  1589. GL_MAX_DRAW_BUFFERS = $8824;
  1590. GL_DRAW_BUFFER0 = $8825;
  1591. GL_DRAW_BUFFER1 = $8826;
  1592. GL_DRAW_BUFFER2 = $8827;
  1593. GL_DRAW_BUFFER3 = $8828;
  1594. GL_DRAW_BUFFER4 = $8829;
  1595. GL_DRAW_BUFFER5 = $882A;
  1596. GL_DRAW_BUFFER6 = $882B;
  1597. GL_DRAW_BUFFER7 = $882C;
  1598. GL_DRAW_BUFFER8 = $882D;
  1599. GL_DRAW_BUFFER9 = $882E;
  1600. GL_DRAW_BUFFER10 = $882F;
  1601. GL_DRAW_BUFFER11 = $8830;
  1602. GL_DRAW_BUFFER12 = $8831;
  1603. GL_DRAW_BUFFER13 = $8832;
  1604. GL_DRAW_BUFFER14 = $8833;
  1605. GL_DRAW_BUFFER15 = $8834;
  1606. GL_BLEND_EQUATION_ALPHA = $883D;
  1607. GL_MAX_VERTEX_ATTRIBS = $8869;
  1608. GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = $886A;
  1609. GL_MAX_TEXTURE_IMAGE_UNITS = $8872;
  1610. GL_FRAGMENT_SHADER = $8B30;
  1611. GL_VERTEX_SHADER = $8B31;
  1612. GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = $8B49;
  1613. GL_MAX_VERTEX_UNIFORM_COMPONENTS = $8B4A;
  1614. GL_MAX_VARYING_FLOATS = $8B4B;
  1615. GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = $8B4C;
  1616. GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = $8B4D;
  1617. GL_SHADER_TYPE = $8B4F;
  1618. GL_FLOAT_VEC2 = $8B50;
  1619. GL_FLOAT_VEC3 = $8B51;
  1620. GL_FLOAT_VEC4 = $8B52;
  1621. GL_INT_VEC2 = $8B53;
  1622. GL_INT_VEC3 = $8B54;
  1623. GL_INT_VEC4 = $8B55;
  1624. GL_BOOL = $8B56;
  1625. GL_BOOL_VEC2 = $8B57;
  1626. GL_BOOL_VEC3 = $8B58;
  1627. GL_BOOL_VEC4 = $8B59;
  1628. GL_FLOAT_MAT2 = $8B5A;
  1629. GL_FLOAT_MAT3 = $8B5B;
  1630. GL_FLOAT_MAT4 = $8B5C;
  1631. GL_SAMPLER_1D = $8B5D;
  1632. GL_SAMPLER_2D = $8B5E;
  1633. GL_SAMPLER_3D = $8B5F;
  1634. GL_SAMPLER_CUBE = $8B60;
  1635. GL_SAMPLER_1D_SHADOW = $8B61;
  1636. GL_SAMPLER_2D_SHADOW = $8B62;
  1637. GL_DELETE_STATUS = $8B80;
  1638. GL_COMPILE_STATUS = $8B81;
  1639. GL_LINK_STATUS = $8B82;
  1640. GL_VALIDATE_STATUS = $8B83;
  1641. GL_INFO_LOG_LENGTH = $8B84;
  1642. GL_ATTACHED_SHADERS = $8B85;
  1643. GL_ACTIVE_UNIFORMS = $8B86;
  1644. GL_ACTIVE_UNIFORM_MAX_LENGTH = $8B87;
  1645. GL_SHADER_SOURCE_LENGTH = $8B88;
  1646. GL_ACTIVE_ATTRIBUTES = $8B89;
  1647. GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = $8B8A;
  1648. GL_FRAGMENT_SHADER_DERIVATIVE_HINT = $8B8B;
  1649. GL_SHADING_LANGUAGE_VERSION = $8B8C;
  1650. GL_CURRENT_PROGRAM = $8B8D;
  1651. GL_POINT_SPRITE_COORD_ORIGIN = $8CA0;
  1652. GL_LOWER_LEFT = $8CA1;
  1653. GL_UPPER_LEFT = $8CA2;
  1654. GL_STENCIL_BACK_REF = $8CA3;
  1655. GL_STENCIL_BACK_VALUE_MASK = $8CA4;
  1656. GL_STENCIL_BACK_WRITEMASK = $8CA5;
  1657. {$IFDEF USE_DEPRECATED}
  1658. GL_VERTEX_PROGRAM_TWO_SIDE = $8643;
  1659. GL_POINT_SPRITE = $8861;
  1660. GL_COORD_REPLACE = $8862;
  1661. GL_MAX_TEXTURE_COORDS = $8871;
  1662. {$ENDIF}
  1663. // GL_VERSION_2_1
  1664. GL_PIXEL_PACK_BUFFER = $88EB;
  1665. GL_PIXEL_UNPACK_BUFFER = $88EC;
  1666. GL_PIXEL_PACK_BUFFER_BINDING = $88ED;
  1667. GL_PIXEL_UNPACK_BUFFER_BINDING = $88EF;
  1668. GL_FLOAT_MAT2x3 = $8B65;
  1669. GL_FLOAT_MAT2x4 = $8B66;
  1670. GL_FLOAT_MAT3x2 = $8B67;
  1671. GL_FLOAT_MAT3x4 = $8B68;
  1672. GL_FLOAT_MAT4x2 = $8B69;
  1673. GL_FLOAT_MAT4x3 = $8B6A;
  1674. GL_SRGB = $8C40;
  1675. GL_SRGB8 = $8C41;
  1676. GL_SRGB_ALPHA = $8C42;
  1677. GL_SRGB8_ALPHA8 = $8C43;
  1678. GL_COMPRESSED_SRGB = $8C48;
  1679. GL_COMPRESSED_SRGB_ALPHA = $8C49;
  1680. {$IFDEF USE_DEPRECATED}
  1681. GL_CURRENT_RASTER_SECONDARY_COLOR = $845F;
  1682. GL_SLUMINANCE_ALPHA = $8C44;
  1683. GL_SLUMINANCE8_ALPHA8 = $8C45;
  1684. GL_SLUMINANCE = $8C46;
  1685. GL_SLUMINANCE8 = $8C47;
  1686. GL_COMPRESSED_SLUMINANCE = $8C4A;
  1687. GL_COMPRESSED_SLUMINANCE_ALPHA = $8C4B;
  1688. {$ENDIF}
  1689. // GL_VERSION_3_0
  1690. GL_COMPARE_REF_TO_TEXTURE = $884E;
  1691. GL_CLIP_DISTANCE0 = $3000;
  1692. GL_CLIP_DISTANCE1 = $3001;
  1693. GL_CLIP_DISTANCE2 = $3002;
  1694. GL_CLIP_DISTANCE3 = $3003;
  1695. GL_CLIP_DISTANCE4 = $3004;
  1696. GL_CLIP_DISTANCE5 = $3005;
  1697. GL_CLIP_DISTANCE6 = $3006;
  1698. GL_CLIP_DISTANCE7 = $3007;
  1699. GL_MAX_CLIP_DISTANCES = $0D32;
  1700. GL_MAJOR_VERSION = $821B;
  1701. GL_MINOR_VERSION = $821C;
  1702. GL_NUM_EXTENSIONS = $821D;
  1703. GL_CONTEXT_FLAGS = $821E;
  1704. GL_DEPTH_BUFFER = $8223;
  1705. GL_STENCIL_BUFFER = $8224;
  1706. GL_COMPRESSED_RED = $8225;
  1707. GL_COMPRESSED_RG = $8226;
  1708. GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = $0001;
  1709. GL_RGBA32F = $8814;
  1710. GL_RGB32F = $8815;
  1711. GL_RGBA16F = $881A;
  1712. GL_RGB16F = $881B;
  1713. GL_VERTEX_ATTRIB_ARRAY_INTEGER = $88FD;
  1714. GL_MAX_ARRAY_TEXTURE_LAYERS = $88FF;
  1715. GL_MIN_PROGRAM_TEXEL_OFFSET = $8904;
  1716. GL_MAX_PROGRAM_TEXEL_OFFSET = $8905;
  1717. GL_CLAMP_READ_COLOR = $891C;
  1718. GL_FIXED_ONLY = $891D;
  1719. GL_MAX_VARYING_COMPONENTS = $8B4B;
  1720. GL_TEXTURE_1D_ARRAY = $8C18;
  1721. GL_PROXY_TEXTURE_1D_ARRAY = $8C19;
  1722. GL_TEXTURE_2D_ARRAY = $8C1A;
  1723. GL_PROXY_TEXTURE_2D_ARRAY = $8C1B;
  1724. GL_TEXTURE_BINDING_1D_ARRAY = $8C1C;
  1725. GL_TEXTURE_BINDING_2D_ARRAY = $8C1D;
  1726. GL_R11F_G11F_B10F = $8C3A;
  1727. GL_UNSIGNED_INT_10F_11F_11F_REV = $8C3B;
  1728. GL_RGB9_E5 = $8C3D;
  1729. GL_UNSIGNED_INT_5_9_9_9_REV = $8C3E;
  1730. GL_TEXTURE_SHARED_SIZE = $8C3F;
  1731. GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = $8C76;
  1732. GL_TRANSFORM_FEEDBACK_BUFFER_MODE = $8C7F;
  1733. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = $8C80;
  1734. GL_TRANSFORM_FEEDBACK_VARYINGS = $8C83;
  1735. GL_TRANSFORM_FEEDBACK_BUFFER_START = $8C84;
  1736. GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = $8C85;
  1737. GL_PRIMITIVES_GENERATED = $8C87;
  1738. GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = $8C88;
  1739. GL_RASTERIZER_DISCARD = $8C89;
  1740. GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = $8C8A;
  1741. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = $8C8B;
  1742. GL_INTERLEAVED_ATTRIBS = $8C8C;
  1743. GL_SEPARATE_ATTRIBS = $8C8D;
  1744. GL_TRANSFORM_FEEDBACK_BUFFER = $8C8E;
  1745. GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = $8C8F;
  1746. GL_RGBA32UI = $8D70;
  1747. GL_RGB32UI = $8D71;
  1748. GL_RGBA16UI = $8D76;
  1749. GL_RGB16UI = $8D77;
  1750. GL_RGBA8UI = $8D7C;
  1751. GL_RGB8UI = $8D7D;
  1752. GL_RGBA32I = $8D82;
  1753. GL_RGB32I = $8D83;
  1754. GL_RGBA16I = $8D88;
  1755. GL_RGB16I = $8D89;
  1756. GL_RGBA8I = $8D8E;
  1757. GL_RGB8I = $8D8F;
  1758. GL_RED_INTEGER = $8D94;
  1759. GL_GREEN_INTEGER = $8D95;
  1760. GL_BLUE_INTEGER = $8D96;
  1761. GL_RGB_INTEGER = $8D98;
  1762. GL_RGBA_INTEGER = $8D99;
  1763. GL_BGR_INTEGER = $8D9A;
  1764. GL_BGRA_INTEGER = $8D9B;
  1765. GL_SAMPLER_1D_ARRAY = $8DC0;
  1766. GL_SAMPLER_2D_ARRAY = $8DC1;
  1767. GL_SAMPLER_1D_ARRAY_SHADOW = $8DC3;
  1768. GL_SAMPLER_2D_ARRAY_SHADOW = $8DC4;
  1769. GL_SAMPLER_CUBE_SHADOW = $8DC5;
  1770. GL_UNSIGNED_INT_VEC2 = $8DC6;
  1771. GL_UNSIGNED_INT_VEC3 = $8DC7;
  1772. GL_UNSIGNED_INT_VEC4 = $8DC8;
  1773. GL_INT_SAMPLER_1D = $8DC9;
  1774. GL_INT_SAMPLER_2D = $8DCA;
  1775. GL_INT_SAMPLER_3D = $8DCB;
  1776. GL_INT_SAMPLER_CUBE = $8DCC;
  1777. GL_INT_SAMPLER_1D_ARRAY = $8DCE;
  1778. GL_INT_SAMPLER_2D_ARRAY = $8DCF;
  1779. GL_UNSIGNED_INT_SAMPLER_1D = $8DD1;
  1780. GL_UNSIGNED_INT_SAMPLER_2D = $8DD2;
  1781. GL_UNSIGNED_INT_SAMPLER_3D = $8DD3;
  1782. GL_UNSIGNED_INT_SAMPLER_CUBE = $8DD4;
  1783. GL_UNSIGNED_INT_SAMPLER_1D_ARRAY = $8DD6;
  1784. GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = $8DD7;
  1785. GL_QUERY_WAIT = $8E13;
  1786. GL_QUERY_NO_WAIT = $8E14;
  1787. GL_QUERY_BY_REGION_WAIT = $8E15;
  1788. GL_QUERY_BY_REGION_NO_WAIT = $8E16;
  1789. GL_BUFFER_ACCESS_FLAGS = $911F;
  1790. GL_BUFFER_MAP_LENGTH = $9120;
  1791. GL_BUFFER_MAP_OFFSET = $9121;
  1792. {$IFDEF USE_DEPRECATED}
  1793. GL_CLAMP_VERTEX_COLOR = $891A;
  1794. GL_CLAMP_FRAGMENT_COLOR = $891B;
  1795. GL_ALPHA_INTEGER = $8D97;
  1796. {$ENDIF}
  1797. // GL_VERSION_3_1
  1798. GL_SAMPLER_2D_RECT = $8B63;
  1799. GL_SAMPLER_2D_RECT_SHADOW = $8B64;
  1800. GL_SAMPLER_BUFFER = $8DC2;
  1801. GL_INT_SAMPLER_2D_RECT = $8DCD;
  1802. GL_INT_SAMPLER_BUFFER = $8DD0;
  1803. GL_UNSIGNED_INT_SAMPLER_2D_RECT = $8DD5;
  1804. GL_UNSIGNED_INT_SAMPLER_BUFFER = $8DD8;
  1805. GL_TEXTURE_BUFFER = $8C2A;
  1806. GL_MAX_TEXTURE_BUFFER_SIZE = $8C2B;
  1807. GL_TEXTURE_BINDING_BUFFER = $8C2C;
  1808. GL_TEXTURE_BUFFER_DATA_STORE_BINDING = $8C2D;
  1809. GL_TEXTURE_BUFFER_FORMAT = $8C2E;
  1810. GL_TEXTURE_RECTANGLE = $84F5;
  1811. GL_TEXTURE_BINDING_RECTANGLE = $84F6;
  1812. GL_PROXY_TEXTURE_RECTANGLE = $84F7;
  1813. GL_MAX_RECTANGLE_TEXTURE_SIZE = $84F8;
  1814. GL_RED_SNORM = $8F90;
  1815. GL_RG_SNORM = $8F91;
  1816. GL_RGB_SNORM = $8F92;
  1817. GL_RGBA_SNORM = $8F93;
  1818. GL_R8_SNORM = $8F94;
  1819. GL_RG8_SNORM = $8F95;
  1820. GL_RGB8_SNORM = $8F96;
  1821. GL_RGBA8_SNORM = $8F97;
  1822. GL_R16_SNORM = $8F98;
  1823. GL_RG16_SNORM = $8F99;
  1824. GL_RGB16_SNORM = $8F9A;
  1825. GL_RGBA16_SNORM = $8F9B;
  1826. GL_SIGNED_NORMALIZED = $8F9C;
  1827. GL_PRIMITIVE_RESTART = $8F9D;
  1828. GL_PRIMITIVE_RESTART_INDEX = $8F9E;
  1829. // GL_VERSION_3_2
  1830. GL_CONTEXT_CORE_PROFILE_BIT = $00000001;
  1831. GL_CONTEXT_COMPATIBILITY_PROFILE_BIT = $00000002;
  1832. GL_LINES_ADJACENCY = $000A;
  1833. GL_LINE_STRIP_ADJACENCY = $000B;
  1834. GL_TRIANGLES_ADJACENCY = $000C;
  1835. GL_TRIANGLE_STRIP_ADJACENCY = $000D;
  1836. GL_PROGRAM_POINT_SIZE = $8642;
  1837. GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = $8C29;
  1838. GL_FRAMEBUFFER_ATTACHMENT_LAYERED = $8DA7;
  1839. GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = $8DA8;
  1840. GL_GEOMETRY_SHADER = $8DD9;
  1841. GL_GEOMETRY_VERTICES_OUT = $8916;
  1842. GL_GEOMETRY_INPUT_TYPE = $8917;
  1843. GL_GEOMETRY_OUTPUT_TYPE = $8918;
  1844. GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = $8DDF;
  1845. GL_MAX_GEOMETRY_OUTPUT_VERTICES = $8DE0;
  1846. GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = $8DE1;
  1847. GL_MAX_VERTEX_OUTPUT_COMPONENTS = $9122;
  1848. GL_MAX_GEOMETRY_INPUT_COMPONENTS = $9123;
  1849. GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = $9124;
  1850. GL_MAX_FRAGMENT_INPUT_COMPONENTS = $9125;
  1851. GL_CONTEXT_PROFILE_MASK = $9126;
  1852. // GL_VERSION_3_3
  1853. GL_VERTEX_ATTRIB_ARRAY_DIVISOR = $88FE;
  1854. // GL_VERSION_4_0
  1855. GL_SAMPLE_SHADING = $8C36;
  1856. GL_MIN_SAMPLE_SHADING_VALUE = $8C37;
  1857. GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = $8E5E;
  1858. GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = $8E5F;
  1859. GL_TEXTURE_CUBE_MAP_ARRAY = $9009;
  1860. GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = $900A;
  1861. GL_PROXY_TEXTURE_CUBE_MAP_ARRAY = $900B;
  1862. GL_SAMPLER_CUBE_MAP_ARRAY = $900C;
  1863. GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW = $900D;
  1864. GL_INT_SAMPLER_CUBE_MAP_ARRAY = $900E;
  1865. GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = $900F;
  1866. // GL_VERSION_4_1
  1867. // GL_VERSION_4_2
  1868. // GL_VERSION_4_3
  1869. GL_NUM_SHADING_LANGUAGE_VERSIONS = $82E9;
  1870. GL_VERTEX_ATTRIB_ARRAY_LONG = $874E;
  1871. // GL_3DFX_multisample
  1872. GL_MULTISAMPLE_3DFX = $86B2;
  1873. GL_SAMPLE_BUFFERS_3DFX = $86B3;
  1874. GL_SAMPLES_3DFX = $86B4;
  1875. GL_MULTISAMPLE_BIT_3DFX = $20000000;
  1876. // GL_3DFX_texture_compression_FXT1
  1877. GL_COMPRESSED_RGB_FXT1_3DFX = $86B0;
  1878. GL_COMPRESSED_RGBA_FXT1_3DFX = $86B1;
  1879. // GL_APPLE_client_storage
  1880. GL_UNPACK_CLIENT_STORAGE_APPLE = $85B2;
  1881. // GL_APPLE_element_array
  1882. GL_ELEMENT_ARRAY_APPLE = $8A0C;
  1883. GL_ELEMENT_ARRAY_TYPE_APPLE = $8A0D;
  1884. GL_ELEMENT_ARRAY_POINTER_APPLE = $8A0E;
  1885. // GL_APPLE_fence
  1886. GL_DRAW_PIXELS_APPLE = $8A0A;
  1887. GL_FENCE_APPLE = $8A0B;
  1888. // GL_APPLE_specular_vector
  1889. GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE = $85B0;
  1890. // GL_APPLE_transform_hint
  1891. GL_TRANSFORM_HINT_APPLE = $85B1;
  1892. // GL_APPLE_vertex_array_object
  1893. GL_VERTEX_ARRAY_BINDING_APPLE = $85B5;
  1894. // GL_APPLE_vertex_array_range
  1895. GL_VERTEX_ARRAY_RANGE_APPLE = $851D;
  1896. GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE = $851E;
  1897. GL_VERTEX_ARRAY_STORAGE_HINT_APPLE = $851F;
  1898. GL_VERTEX_ARRAY_RANGE_POINTER_APPLE = $8521;
  1899. GL_STORAGE_CLIENT_APPLE = $85B4;
  1900. GL_STORAGE_CACHED_APPLE = $85BE;
  1901. GL_STORAGE_SHARED_APPLE = $85BF;
  1902. // GL_APPLE_ycbcr_422
  1903. GL_YCBCR_422_APPLE = $85B9;
  1904. GL_UNSIGNED_SHORT_8_8_APPLE = $85BA;
  1905. GL_UNSIGNED_SHORT_8_8_REV_APPLE = $85BB;
  1906. GL_RGB_RAW_422_APPLE = $8A51;
  1907. // GL_APPLE_texture_range
  1908. GL_TEXTURE_RANGE_LENGTH_APPLE = $85B7;
  1909. GL_TEXTURE_RANGE_POINTER_APPLE = $85B8;
  1910. GL_TEXTURE_STORAGE_HINT_APPLE = $85BC;
  1911. GL_STORAGE_PRIVATE_APPLE = $85BD;
  1912. { reuse GL_STORAGE_CACHED_APPLE }
  1913. { reuse GL_STORAGE_SHARED_APPLE }
  1914. // GL_APPLE_float_pixels
  1915. GL_HALF_APPLE = $140B;
  1916. GL_RGBA_FLOAT32_APPLE = $8814;
  1917. GL_RGB_FLOAT32_APPLE = $8815;
  1918. GL_ALPHA_FLOAT32_APPLE = $8816;
  1919. GL_INTENSITY_FLOAT32_APPLE = $8817;
  1920. GL_LUMINANCE_FLOAT32_APPLE = $8818;
  1921. GL_LUMINANCE_ALPHA_FLOAT32_APPLE = $8819;
  1922. GL_RGBA_FLOAT16_APPLE = $881A;
  1923. GL_RGB_FLOAT16_APPLE = $881B;
  1924. GL_ALPHA_FLOAT16_APPLE = $881C;
  1925. GL_INTENSITY_FLOAT16_APPLE = $881D;
  1926. GL_LUMINANCE_FLOAT16_APPLE = $881E;
  1927. GL_LUMINANCE_ALPHA_FLOAT16_APPLE = $881F;
  1928. GL_COLOR_FLOAT_APPLE = $8A0F;
  1929. // GL_APPLE_vertex_program_evaluators
  1930. GL_VERTEX_ATTRIB_MAP1_APPLE = $8A00;
  1931. GL_VERTEX_ATTRIB_MAP2_APPLE = $8A01;
  1932. GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE = $8A02;
  1933. GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE = $8A03;
  1934. GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE = $8A04;
  1935. GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE = $8A05;
  1936. GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE = $8A06;
  1937. GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE = $8A07;
  1938. GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE = $8A08;
  1939. GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE = $8A09;
  1940. // GL_APPLE_aux_depth_stencil
  1941. GL_AUX_DEPTH_STENCIL_APPLE = $8A14;
  1942. // GL_APPLE_object_purgeable
  1943. GL_BUFFER_OBJECT_APPLE = $85B3;
  1944. GL_RELEASED_APPLE = $8A19;
  1945. GL_VOLATILE_APPLE = $8A1A;
  1946. GL_RETAINED_APPLE = $8A1B;
  1947. GL_UNDEFINED_APPLE = $8A1C;
  1948. GL_PURGEABLE_APPLE = $8A1D;
  1949. // GL_APPLE_row_bytes
  1950. GL_PACK_ROW_BYTES_APPLE = $8A15;
  1951. GL_UNPACK_ROW_BYTES_APPLE = $8A16;
  1952. // GL_APPLE_rgb_422
  1953. { reuse GL_UNSIGNED_SHORT_8_8_APPLE }
  1954. { reuse GL_UNSIGNED_SHORT_8_8_REV_APPLE }
  1955. // GL_ARB_depth_texture
  1956. GL_DEPTH_COMPONENT16_ARB = $81A5;
  1957. GL_DEPTH_COMPONENT24_ARB = $81A6;
  1958. GL_DEPTH_COMPONENT32_ARB = $81A7;
  1959. GL_TEXTURE_DEPTH_SIZE_ARB = $884A;
  1960. GL_DEPTH_TEXTURE_MODE_ARB = $884B;
  1961. // GL_ARB_fragment_program
  1962. GL_FRAGMENT_PROGRAM_ARB = $8804;
  1963. GL_PROGRAM_ALU_INSTRUCTIONS_ARB = $8805;
  1964. GL_PROGRAM_TEX_INSTRUCTIONS_ARB = $8806;
  1965. GL_PROGRAM_TEX_INDIRECTIONS_ARB = $8807;
  1966. GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = $8808;
  1967. GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = $8809;
  1968. GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = $880A;
  1969. GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = $880B;
  1970. GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = $880C;
  1971. GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = $880D;
  1972. GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = $880E;
  1973. GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = $880F;
  1974. GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = $8810;
  1975. GL_MAX_TEXTURE_COORDS_ARB = $8871;
  1976. GL_MAX_TEXTURE_IMAGE_UNITS_ARB = $8872;
  1977. // GL_ARB_imaging
  1978. GL_CONSTANT_COLOR_ARB = $8001;
  1979. GL_ONE_MINUS_CONSTANT_COLOR = $8002;
  1980. GL_CONSTANT_ALPHA = $8003;
  1981. GL_ONE_MINUS_CONSTANT_ALPHA = $8004;
  1982. GL_BLEND_COLOR = $8005;
  1983. GL_FUNC_ADD = $8006;
  1984. GL_MIN = $8007;
  1985. GL_MAX = $8008;
  1986. GL_BLEND_EQUATION = $8009;
  1987. GL_FUNC_SUBTRACT = $800A;
  1988. GL_FUNC_REVERSE_SUBTRACT = $800B;
  1989. {$IFDEF USE_DEPRECATED}
  1990. GL_CONVOLUTION_1D = $8010;
  1991. GL_CONVOLUTION_2D = $8011;
  1992. GL_SEPARABLE_2D = $8012;
  1993. GL_CONVOLUTION_BORDER_MODE = $8013;
  1994. GL_CONVOLUTION_FILTER_SCALE = $8014;
  1995. GL_CONVOLUTION_FILTER_BIAS = $8015;
  1996. GL_REDUCE = $8016;
  1997. GL_CONVOLUTION_FORMAT = $8017;
  1998. GL_CONVOLUTION_WIDTH = $8018;
  1999. GL_CONVOLUTION_HEIGHT = $8019;
  2000. GL_MAX_CONVOLUTION_WIDTH = $801A;
  2001. GL_MAX_CONVOLUTION_HEIGHT = $801B;
  2002. GL_POST_CONVOLUTION_RED_SCALE = $801C;
  2003. GL_POST_CONVOLUTION_GREEN_SCALE = $801D;
  2004. GL_POST_CONVOLUTION_BLUE_SCALE = $801E;
  2005. GL_POST_CONVOLUTION_ALPHA_SCALE = $801F;
  2006. GL_POST_CONVOLUTION_RED_BIAS = $8020;
  2007. GL_POST_CONVOLUTION_GREEN_BIAS = $8021;
  2008. GL_POST_CONVOLUTION_BLUE_BIAS = $8022;
  2009. GL_POST_CONVOLUTION_ALPHA_BIAS = $8023;
  2010. GL_HISTOGRAM = $8024;
  2011. GL_PROXY_HISTOGRAM = $8025;
  2012. GL_HISTOGRAM_WIDTH = $8026;
  2013. GL_HISTOGRAM_FORMAT = $8027;
  2014. GL_HISTOGRAM_RED_SIZE = $8028;
  2015. GL_HISTOGRAM_GREEN_SIZE = $8029;
  2016. GL_HISTOGRAM_BLUE_SIZE = $802A;
  2017. GL_HISTOGRAM_ALPHA_SIZE = $802B;
  2018. GL_HISTOGRAM_LUMINANCE_SIZE = $802C;
  2019. GL_HISTOGRAM_SINK = $802D;
  2020. GL_MINMAX = $802E;
  2021. GL_MINMAX_FORMAT = $802F;
  2022. GL_MINMAX_SINK = $8030;
  2023. GL_TABLE_TOO_LARGE = $8031;
  2024. GL_COLOR_MATRIX = $80B1;
  2025. GL_COLOR_MATRIX_STACK_DEPTH = $80B2;
  2026. GL_MAX_COLOR_MATRIX_STACK_DEPTH = $80B3;
  2027. GL_POST_COLOR_MATRIX_RED_SCALE = $80B4;
  2028. GL_POST_COLOR_MATRIX_GREEN_SCALE = $80B5;
  2029. GL_POST_COLOR_MATRIX_BLUE_SCALE = $80B6;
  2030. GL_POST_COLOR_MATRIX_ALPHA_SCALE = $80B7;
  2031. GL_POST_COLOR_MATRIX_RED_BIAS = $80B8;
  2032. GL_POST_COLOR_MATRIX_GREEN_BIAS = $80B9;
  2033. GL_POST_COLOR_MATRIX_BLUE_BIAS = $80BA;
  2034. GL_POST_COLOR_MATRIX_ALPHA_BIAS = $80BB;
  2035. GL_COLOR_TABLE = $80D0;
  2036. GL_POST_CONVOLUTION_COLOR_TABLE = $80D1;
  2037. GL_POST_COLOR_MATRIX_COLOR_TABLE = $80D2;
  2038. GL_PROXY_COLOR_TABLE = $80D3;
  2039. GL_PROXY_POST_CONVOLUTION_COLOR_TABLE = $80D4;
  2040. GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = $80D5;
  2041. GL_COLOR_TABLE_SCALE = $80D6;
  2042. GL_COLOR_TABLE_BIAS = $80D7;
  2043. GL_COLOR_TABLE_FORMAT = $80D8;
  2044. GL_COLOR_TABLE_WIDTH = $80D9;
  2045. GL_COLOR_TABLE_RED_SIZE = $80DA;
  2046. GL_COLOR_TABLE_GREEN_SIZE = $80DB;
  2047. GL_COLOR_TABLE_BLUE_SIZE = $80DC;
  2048. GL_COLOR_TABLE_ALPHA_SIZE = $80DD;
  2049. GL_COLOR_TABLE_LUMINANCE_SIZE = $80DE;
  2050. GL_COLOR_TABLE_INTENSITY_SIZE = $80DF;
  2051. GL_CONSTANT_BORDER = $8151;
  2052. GL_REPLICATE_BORDER = $8153;
  2053. GL_CONVOLUTION_BORDER_COLOR = $8154;
  2054. {$ENDIF}
  2055. // GL_ARB_matrix_palette
  2056. GL_MATRIX_PALETTE_ARB = $8840;
  2057. GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = $8841;
  2058. GL_MAX_PALETTE_MATRICES_ARB = $8842;
  2059. GL_CURRENT_PALETTE_MATRIX_ARB = $8843;
  2060. GL_MATRIX_INDEX_ARRAY_ARB = $8844;
  2061. GL_CURRENT_MATRIX_INDEX_ARB = $8845;
  2062. GL_MATRIX_INDEX_ARRAY_SIZE_ARB = $8846;
  2063. GL_MATRIX_INDEX_ARRAY_TYPE_ARB = $8847;
  2064. GL_MATRIX_INDEX_ARRAY_STRIDE_ARB = $8848;
  2065. GL_MATRIX_INDEX_ARRAY_POINTER_ARB = $8849;
  2066. // GL_ARB_multisample
  2067. GL_MULTISAMPLE_ARB = $809D;
  2068. GL_SAMPLE_ALPHA_TO_COVERAGE_ARB = $809E;
  2069. GL_SAMPLE_ALPHA_TO_ONE_ARB = $809F;
  2070. GL_SAMPLE_COVERAGE_ARB = $80A0;
  2071. GL_SAMPLE_BUFFERS_ARB = $80A8;
  2072. GL_SAMPLES_ARB = $80A9;
  2073. GL_SAMPLE_COVERAGE_VALUE_ARB = $80AA;
  2074. GL_SAMPLE_COVERAGE_INVERT_ARB = $80AB;
  2075. GL_MULTISAMPLE_BIT_ARB = $20000000;
  2076. // GL_ARB_multitexture
  2077. GL_TEXTURE0_ARB = $84C0;
  2078. GL_TEXTURE1_ARB = $84C1;
  2079. GL_TEXTURE2_ARB = $84C2;
  2080. GL_TEXTURE3_ARB = $84C3;
  2081. GL_TEXTURE4_ARB = $84C4;
  2082. GL_TEXTURE5_ARB = $84C5;
  2083. GL_TEXTURE6_ARB = $84C6;
  2084. GL_TEXTURE7_ARB = $84C7;
  2085. GL_TEXTURE8_ARB = $84C8;
  2086. GL_TEXTURE9_ARB = $84C9;
  2087. GL_TEXTURE10_ARB = $84CA;
  2088. GL_TEXTURE11_ARB = $84CB;
  2089. GL_TEXTURE12_ARB = $84CC;
  2090. GL_TEXTURE13_ARB = $84CD;
  2091. GL_TEXTURE14_ARB = $84CE;
  2092. GL_TEXTURE15_ARB = $84CF;
  2093. GL_TEXTURE16_ARB = $84D0;
  2094. GL_TEXTURE17_ARB = $84D1;
  2095. GL_TEXTURE18_ARB = $84D2;
  2096. GL_TEXTURE19_ARB = $84D3;
  2097. GL_TEXTURE20_ARB = $84D4;
  2098. GL_TEXTURE21_ARB = $84D5;
  2099. GL_TEXTURE22_ARB = $84D6;
  2100. GL_TEXTURE23_ARB = $84D7;
  2101. GL_TEXTURE24_ARB = $84D8;
  2102. GL_TEXTURE25_ARB = $84D9;
  2103. GL_TEXTURE26_ARB = $84DA;
  2104. GL_TEXTURE27_ARB = $84DB;
  2105. GL_TEXTURE28_ARB = $84DC;
  2106. GL_TEXTURE29_ARB = $84DD;
  2107. GL_TEXTURE30_ARB = $84DE;
  2108. GL_TEXTURE31_ARB = $84DF;
  2109. GL_ACTIVE_TEXTURE_ARB = $84E0;
  2110. GL_CLIENT_ACTIVE_TEXTURE_ARB = $84E1;
  2111. GL_MAX_TEXTURE_UNITS_ARB = $84E2;
  2112. // GL_ARB_point_parameters
  2113. GL_POINT_SIZE_MIN_ARB = $8126;
  2114. GL_POINT_SIZE_MAX_ARB = $8127;
  2115. GL_POINT_FADE_THRESHOLD_SIZE_ARB = $8128;
  2116. GL_POINT_DISTANCE_ATTENUATION_ARB = $8129;
  2117. // GL_ARB_shadow
  2118. GL_TEXTURE_COMPARE_MODE_ARB = $884C;
  2119. GL_TEXTURE_COMPARE_FUNC_ARB = $884D;
  2120. GL_COMPARE_R_TO_TEXTURE_ARB = $884E;
  2121. // GL_ARB_shadow_ambient
  2122. GL_TEXTURE_COMPARE_FAIL_VALUE_ARB = $80BF;
  2123. // GL_ARB_sparse_buffer
  2124. GL_SPARSE_STORAGE_BIT_ARB = $0400;
  2125. GL_SPARSE_BUFFER_PAGE_SIZE_ARB = $82F8;
  2126. // GL_ARB_texture_border_clamp
  2127. GL_CLAMP_TO_BORDER_ARB = $812D;
  2128. // GL_ARB_texture_compression
  2129. GL_COMPRESSED_ALPHA_ARB = $84E9;
  2130. GL_COMPRESSED_LUMINANCE_ARB = $84EA;
  2131. GL_COMPRESSED_LUMINANCE_ALPHA_ARB = $84EB;
  2132. GL_COMPRESSED_INTENSITY_ARB = $84EC;
  2133. GL_COMPRESSED_RGB_ARB = $84ED;
  2134. GL_COMPRESSED_RGBA_ARB = $84EE;
  2135. GL_TEXTURE_COMPRESSION_HINT_ARB = $84EF;
  2136. GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = $86A0;
  2137. GL_TEXTURE_COMPRESSED_ARB = $86A1;
  2138. GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = $86A2;
  2139. GL_COMPRESSED_TEXTURE_FORMATS_ARB = $86A3;
  2140. // GL_ARB_texture_cube_map
  2141. GL_NORMAL_MAP_ARB = $8511;
  2142. GL_REFLECTION_MAP_ARB = $8512;
  2143. GL_TEXTURE_CUBE_MAP_ARB = $8513;
  2144. GL_TEXTURE_BINDING_CUBE_MAP_ARB = $8514;
  2145. GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = $8515;
  2146. GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = $8516;
  2147. GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = $8517;
  2148. GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = $8518;
  2149. GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = $8519;
  2150. GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = $851A;
  2151. GL_PROXY_TEXTURE_CUBE_MAP_ARB = $851B;
  2152. GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = $851C;
  2153. // GL_ARB_texture_env_combine
  2154. GL_COMBINE_ARB = $8570;
  2155. GL_COMBINE_RGB_ARB = $8571;
  2156. GL_COMBINE_ALPHA_ARB = $8572;
  2157. GL_SOURCE0_RGB_ARB = $8580;
  2158. GL_SOURCE1_RGB_ARB = $8581;
  2159. GL_SOURCE2_RGB_ARB = $8582;
  2160. GL_SOURCE0_ALPHA_ARB = $8588;
  2161. GL_SOURCE1_ALPHA_ARB = $8589;
  2162. GL_SOURCE2_ALPHA_ARB = $858A;
  2163. GL_OPERAND0_RGB_ARB = $8590;
  2164. GL_OPERAND1_RGB_ARB = $8591;
  2165. GL_OPERAND2_RGB_ARB = $8592;
  2166. GL_OPERAND0_ALPHA_ARB = $8598;
  2167. GL_OPERAND1_ALPHA_ARB = $8599;
  2168. GL_OPERAND2_ALPHA_ARB = $859A;
  2169. GL_RGB_SCALE_ARB = $8573;
  2170. GL_ADD_SIGNED_ARB = $8574;
  2171. GL_INTERPOLATE_ARB = $8575;
  2172. GL_SUBTRACT_ARB = $84E7;
  2173. GL_CONSTANT_ARB = $8576;
  2174. GL_PRIMARY_COLOR_ARB = $8577;
  2175. GL_PREVIOUS_ARB = $8578;
  2176. // GL_ARB_texture_env_dot3
  2177. GL_DOT3_RGB_ARB = $86AE;
  2178. GL_DOT3_RGBA_ARB = $86AF;
  2179. // GL_ARB_texture_filter_minmax
  2180. GL_TEXTURE_REDUCTION_MODE_ARB = $9366;
  2181. GL_WEIGHTED_AVERAGE_ARB = $9367;
  2182. // GL_ARB_texture_mirrored_repeat
  2183. GL_MIRRORED_REPEAT_ARB = $8370;
  2184. // GL_ARB_transpose_matrix
  2185. GL_TRANSPOSE_MODELVIEW_MATRIX_ARB = $84E3;
  2186. GL_TRANSPOSE_PROJECTION_MATRIX_ARB = $84E4;
  2187. GL_TRANSPOSE_TEXTURE_MATRIX_ARB = $84E5;
  2188. GL_TRANSPOSE_COLOR_MATRIX_ARB = $84E6;
  2189. // GL_ARB_vertex_blend
  2190. GL_MAX_VERTEX_UNITS_ARB = $86A4;
  2191. GL_ACTIVE_VERTEX_UNITS_ARB = $86A5;
  2192. GL_WEIGHT_SUM_UNITY_ARB = $86A6;
  2193. GL_VERTEX_BLEND_ARB = $86A7;
  2194. GL_CURRENT_WEIGHT_ARB = $86A8;
  2195. GL_WEIGHT_ARRAY_TYPE_ARB = $86A9;
  2196. GL_WEIGHT_ARRAY_STRIDE_ARB = $86AA;
  2197. GL_WEIGHT_ARRAY_SIZE_ARB = $86AB;
  2198. GL_WEIGHT_ARRAY_POINTER_ARB = $86AC;
  2199. GL_WEIGHT_ARRAY_ARB = $86AD;
  2200. GL_MODELVIEW0_ARB = $1700;
  2201. GL_MODELVIEW1_ARB = $850A;
  2202. GL_MODELVIEW2_ARB = $8722;
  2203. GL_MODELVIEW3_ARB = $8723;
  2204. GL_MODELVIEW4_ARB = $8724;
  2205. GL_MODELVIEW5_ARB = $8725;
  2206. GL_MODELVIEW6_ARB = $8726;
  2207. GL_MODELVIEW7_ARB = $8727;
  2208. GL_MODELVIEW8_ARB = $8728;
  2209. GL_MODELVIEW9_ARB = $8729;
  2210. GL_MODELVIEW10_ARB = $872A;
  2211. GL_MODELVIEW11_ARB = $872B;
  2212. GL_MODELVIEW12_ARB = $872C;
  2213. GL_MODELVIEW13_ARB = $872D;
  2214. GL_MODELVIEW14_ARB = $872E;
  2215. GL_MODELVIEW15_ARB = $872F;
  2216. GL_MODELVIEW16_ARB = $8730;
  2217. GL_MODELVIEW17_ARB = $8731;
  2218. GL_MODELVIEW18_ARB = $8732;
  2219. GL_MODELVIEW19_ARB = $8733;
  2220. GL_MODELVIEW20_ARB = $8734;
  2221. GL_MODELVIEW21_ARB = $8735;
  2222. GL_MODELVIEW22_ARB = $8736;
  2223. GL_MODELVIEW23_ARB = $8737;
  2224. GL_MODELVIEW24_ARB = $8738;
  2225. GL_MODELVIEW25_ARB = $8739;
  2226. GL_MODELVIEW26_ARB = $873A;
  2227. GL_MODELVIEW27_ARB = $873B;
  2228. GL_MODELVIEW28_ARB = $873C;
  2229. GL_MODELVIEW29_ARB = $873D;
  2230. GL_MODELVIEW30_ARB = $873E;
  2231. GL_MODELVIEW31_ARB = $873F;
  2232. // GL_ARB_vertex_buffer_object
  2233. GL_BUFFER_SIZE_ARB = $8764;
  2234. GL_BUFFER_USAGE_ARB = $8765;
  2235. GL_ARRAY_BUFFER_ARB = $8892;
  2236. GL_ELEMENT_ARRAY_BUFFER_ARB = $8893;
  2237. GL_ARRAY_BUFFER_BINDING_ARB = $8894;
  2238. GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB = $8895;
  2239. GL_VERTEX_ARRAY_BUFFER_BINDING_ARB = $8896;
  2240. GL_NORMAL_ARRAY_BUFFER_BINDING_ARB = $8897;
  2241. GL_COLOR_ARRAY_BUFFER_BINDING_ARB = $8898;
  2242. GL_INDEX_ARRAY_BUFFER_BINDING_ARB = $8899;
  2243. GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = $889A;
  2244. GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = $889B;
  2245. GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = $889C;
  2246. GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = $889D;
  2247. GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB = $889E;
  2248. GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = $889F;
  2249. GL_READ_ONLY_ARB = $88B8;
  2250. GL_WRITE_ONLY_ARB = $88B9;
  2251. GL_READ_WRITE_ARB = $88BA;
  2252. GL_BUFFER_ACCESS_ARB = $88BB;
  2253. GL_BUFFER_MAPPED_ARB = $88BC;
  2254. GL_BUFFER_MAP_POINTER_ARB = $88BD;
  2255. GL_STREAM_DRAW_ARB = $88E0;
  2256. GL_STREAM_READ_ARB = $88E1;
  2257. GL_STREAM_COPY_ARB = $88E2;
  2258. GL_STATIC_DRAW_ARB = $88E4;
  2259. GL_STATIC_READ_ARB = $88E5;
  2260. GL_STATIC_COPY_ARB = $88E6;
  2261. GL_DYNAMIC_DRAW_ARB = $88E8;
  2262. GL_DYNAMIC_READ_ARB = $88E9;
  2263. GL_DYNAMIC_COPY_ARB = $88EA;
  2264. // GL_ARB_vertex_program
  2265. GL_COLOR_SUM_ARB = $8458;
  2266. GL_VERTEX_PROGRAM_ARB = $8620;
  2267. GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB = $8622;
  2268. GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB = $8623;
  2269. GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB = $8624;
  2270. GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB = $8625;
  2271. GL_CURRENT_VERTEX_ATTRIB_ARB = $8626;
  2272. GL_PROGRAM_LENGTH_ARB = $8627;
  2273. GL_PROGRAM_STRING_ARB = $8628;
  2274. GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = $862E;
  2275. GL_MAX_PROGRAM_MATRICES_ARB = $862F;
  2276. GL_CURRENT_MATRIX_STACK_DEPTH_ARB = $8640;
  2277. GL_CURRENT_MATRIX_ARB = $8641;
  2278. GL_VERTEX_PROGRAM_POINT_SIZE_ARB = $8642;
  2279. GL_VERTEX_PROGRAM_TWO_SIDE_ARB = $8643;
  2280. GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB = $8645;
  2281. GL_PROGRAM_ERROR_POSITION_ARB = $864B;
  2282. GL_PROGRAM_BINDING_ARB = $8677;
  2283. GL_MAX_VERTEX_ATTRIBS_ARB = $8869;
  2284. GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = $886A;
  2285. GL_PROGRAM_ERROR_STRING_ARB = $8874;
  2286. GL_PROGRAM_FORMAT_ASCII_ARB = $8875;
  2287. GL_PROGRAM_FORMAT_ARB = $8876;
  2288. GL_PROGRAM_INSTRUCTIONS_ARB = $88A0;
  2289. GL_MAX_PROGRAM_INSTRUCTIONS_ARB = $88A1;
  2290. GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = $88A2;
  2291. GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = $88A3;
  2292. GL_PROGRAM_TEMPORARIES_ARB = $88A4;
  2293. GL_MAX_PROGRAM_TEMPORARIES_ARB = $88A5;
  2294. GL_PROGRAM_NATIVE_TEMPORARIES_ARB = $88A6;
  2295. GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = $88A7;
  2296. GL_PROGRAM_PARAMETERS_ARB = $88A8;
  2297. GL_MAX_PROGRAM_PARAMETERS_ARB = $88A9;
  2298. GL_PROGRAM_NATIVE_PARAMETERS_ARB = $88AA;
  2299. GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = $88AB;
  2300. GL_PROGRAM_ATTRIBS_ARB = $88AC;
  2301. GL_MAX_PROGRAM_ATTRIBS_ARB = $88AD;
  2302. GL_PROGRAM_NATIVE_ATTRIBS_ARB = $88AE;
  2303. GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = $88AF;
  2304. GL_PROGRAM_ADDRESS_REGISTERS_ARB = $88B0;
  2305. GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = $88B1;
  2306. GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = $88B2;
  2307. GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = $88B3;
  2308. GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = $88B4;
  2309. GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = $88B5;
  2310. GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB = $88B6;
  2311. GL_TRANSPOSE_CURRENT_MATRIX_ARB = $88B7;
  2312. GL_MATRIX0_ARB = $88C0;
  2313. GL_MATRIX1_ARB = $88C1;
  2314. GL_MATRIX2_ARB = $88C2;
  2315. GL_MATRIX3_ARB = $88C3;
  2316. GL_MATRIX4_ARB = $88C4;
  2317. GL_MATRIX5_ARB = $88C5;
  2318. GL_MATRIX6_ARB = $88C6;
  2319. GL_MATRIX7_ARB = $88C7;
  2320. GL_MATRIX8_ARB = $88C8;
  2321. GL_MATRIX9_ARB = $88C9;
  2322. GL_MATRIX10_ARB = $88CA;
  2323. GL_MATRIX11_ARB = $88CB;
  2324. GL_MATRIX12_ARB = $88CC;
  2325. GL_MATRIX13_ARB = $88CD;
  2326. GL_MATRIX14_ARB = $88CE;
  2327. GL_MATRIX15_ARB = $88CF;
  2328. GL_MATRIX16_ARB = $88D0;
  2329. GL_MATRIX17_ARB = $88D1;
  2330. GL_MATRIX18_ARB = $88D2;
  2331. GL_MATRIX19_ARB = $88D3;
  2332. GL_MATRIX20_ARB = $88D4;
  2333. GL_MATRIX21_ARB = $88D5;
  2334. GL_MATRIX22_ARB = $88D6;
  2335. GL_MATRIX23_ARB = $88D7;
  2336. GL_MATRIX24_ARB = $88D8;
  2337. GL_MATRIX25_ARB = $88D9;
  2338. GL_MATRIX26_ARB = $88DA;
  2339. GL_MATRIX27_ARB = $88DB;
  2340. GL_MATRIX28_ARB = $88DC;
  2341. GL_MATRIX29_ARB = $88DD;
  2342. GL_MATRIX30_ARB = $88DE;
  2343. GL_MATRIX31_ARB = $88DF;
  2344. // GL_ARB_draw_buffers
  2345. GL_MAX_DRAW_BUFFERS_ARB = $8824;
  2346. GL_DRAW_BUFFER0_ARB = $8825;
  2347. GL_DRAW_BUFFER1_ARB = $8826;
  2348. GL_DRAW_BUFFER2_ARB = $8827;
  2349. GL_DRAW_BUFFER3_ARB = $8828;
  2350. GL_DRAW_BUFFER4_ARB = $8829;
  2351. GL_DRAW_BUFFER5_ARB = $882A;
  2352. GL_DRAW_BUFFER6_ARB = $882B;
  2353. GL_DRAW_BUFFER7_ARB = $882C;
  2354. GL_DRAW_BUFFER8_ARB = $882D;
  2355. GL_DRAW_BUFFER9_ARB = $882E;
  2356. GL_DRAW_BUFFER10_ARB = $882F;
  2357. GL_DRAW_BUFFER11_ARB = $8830;
  2358. GL_DRAW_BUFFER12_ARB = $8831;
  2359. GL_DRAW_BUFFER13_ARB = $8832;
  2360. GL_DRAW_BUFFER14_ARB = $8833;
  2361. GL_DRAW_BUFFER15_ARB = $8834;
  2362. // GL_ARB_texture_rectangle
  2363. GL_TEXTURE_RECTANGLE_ARB = $84F5;
  2364. GL_TEXTURE_BINDING_RECTANGLE_ARB = $84F6;
  2365. GL_PROXY_TEXTURE_RECTANGLE_ARB = $84F7;
  2366. GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB = $84F8;
  2367. // GL_ARB_color_buffer_float
  2368. GL_RGBA_FLOAT_MODE_ARB = $8820;
  2369. GL_CLAMP_VERTEX_COLOR_ARB = $891A;
  2370. GL_CLAMP_FRAGMENT_COLOR_ARB = $891B;
  2371. GL_CLAMP_READ_COLOR_ARB = $891C;
  2372. GL_FIXED_ONLY_ARB = $891D;
  2373. WGL_TYPE_RGBA_FLOAT_ARB = $21A0;
  2374. GLX_RGBA_FLOAT_TYPE = $20B9;
  2375. GLX_RGBA_FLOAT_BIT = $00000004;
  2376. // GL_ARB_compute_variable_group_size
  2377. GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB = $9344;
  2378. GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB = $90EB;
  2379. GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB = $9345;
  2380. GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB = $91BF;
  2381. // GL_ARB_half_float_pixel
  2382. GL_HALF_FLOAT_ARB = $140B;
  2383. // GL_ARB_texture_float
  2384. GL_TEXTURE_RED_TYPE_ARB = $8C10;
  2385. GL_TEXTURE_GREEN_TYPE_ARB = $8C11;
  2386. GL_TEXTURE_BLUE_TYPE_ARB = $8C12;
  2387. GL_TEXTURE_ALPHA_TYPE_ARB = $8C13;
  2388. GL_TEXTURE_LUMINANCE_TYPE_ARB = $8C14;
  2389. GL_TEXTURE_INTENSITY_TYPE_ARB = $8C15;
  2390. GL_TEXTURE_DEPTH_TYPE_ARB = $8C16;
  2391. GL_UNSIGNED_NORMALIZED_ARB = $8C17;
  2392. GL_RGBA32F_ARB = $8814;
  2393. GL_RGB32F_ARB = $8815;
  2394. GL_ALPHA32F_ARB = $8816;
  2395. GL_INTENSITY32F_ARB = $8817;
  2396. GL_LUMINANCE32F_ARB = $8818;
  2397. GL_LUMINANCE_ALPHA32F_ARB = $8819;
  2398. GL_RGBA16F_ARB = $881A;
  2399. GL_RGB16F_ARB = $881B;
  2400. GL_ALPHA16F_ARB = $881C;
  2401. GL_INTENSITY16F_ARB = $881D;
  2402. GL_LUMINANCE16F_ARB = $881E;
  2403. GL_LUMINANCE_ALPHA16F_ARB = $881F;
  2404. // GL_ARB_pixel_buffer_object
  2405. GL_PIXEL_PACK_BUFFER_ARB = $88EB;
  2406. GL_PIXEL_UNPACK_BUFFER_ARB = $88EC;
  2407. GL_PIXEL_PACK_BUFFER_BINDING_ARB = $88ED;
  2408. GL_PIXEL_UNPACK_BUFFER_BINDING_ARB = $88EF;
  2409. // GL_ARB_depth_buffer_float
  2410. GL_DEPTH_COMPONENT32F = $8CAC;
  2411. GL_DEPTH32F_STENCIL8 = $8CAD;
  2412. GL_FLOAT_32_UNSIGNED_INT_24_8_REV = $8DAD;
  2413. // GL_ARB_framebuffer_object
  2414. GL_INVALID_FRAMEBUFFER_OPERATION = $0506;
  2415. GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = $8210;
  2416. GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = $8211;
  2417. GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = $8212;
  2418. GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = $8213;
  2419. GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = $8214;
  2420. GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = $8215;
  2421. GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = $8216;
  2422. GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = $8217;
  2423. GL_FRAMEBUFFER_DEFAULT = $8218;
  2424. GL_FRAMEBUFFER_UNDEFINED = $8219;
  2425. GL_DEPTH_STENCIL_ATTACHMENT = $821A;
  2426. GL_MAX_RENDERBUFFER_SIZE = $84E8;
  2427. GL_DEPTH_STENCIL = $84F9;
  2428. GL_UNSIGNED_INT_24_8 = $84FA;
  2429. GL_DEPTH24_STENCIL8 = $88F0;
  2430. GL_TEXTURE_STENCIL_SIZE = $88F1;
  2431. GL_TEXTURE_RED_TYPE = $8C10;
  2432. GL_TEXTURE_GREEN_TYPE = $8C11;
  2433. GL_TEXTURE_BLUE_TYPE = $8C12;
  2434. GL_TEXTURE_ALPHA_TYPE = $8C13;
  2435. GL_TEXTURE_DEPTH_TYPE = $8C16;
  2436. GL_UNSIGNED_NORMALIZED = $8C17;
  2437. GL_FRAMEBUFFER_BINDING = $8CA6;
  2438. GL_DRAW_FRAMEBUFFER_BINDING = GL_FRAMEBUFFER_BINDING;
  2439. GL_RENDERBUFFER_BINDING = $8CA7;
  2440. GL_READ_FRAMEBUFFER = $8CA8;
  2441. GL_DRAW_FRAMEBUFFER = $8CA9;
  2442. GL_READ_FRAMEBUFFER_BINDING = $8CAA;
  2443. GL_RENDERBUFFER_SAMPLES = $8CAB;
  2444. GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = $8CD0;
  2445. GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = $8CD1;
  2446. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = $8CD2;
  2447. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = $8CD3;
  2448. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = $8CD4;
  2449. GL_FRAMEBUFFER_COMPLETE = $8CD5;
  2450. GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = $8CD6;
  2451. GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = $8CD7;
  2452. GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = $8CDB;
  2453. GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER = $8CDC;
  2454. GL_FRAMEBUFFER_UNSUPPORTED = $8CDD;
  2455. GL_MAX_COLOR_ATTACHMENTS = $8CDF;
  2456. GL_COLOR_ATTACHMENT0 = $8CE0;
  2457. GL_COLOR_ATTACHMENT1 = $8CE1;
  2458. GL_COLOR_ATTACHMENT2 = $8CE2;
  2459. GL_COLOR_ATTACHMENT3 = $8CE3;
  2460. GL_COLOR_ATTACHMENT4 = $8CE4;
  2461. GL_COLOR_ATTACHMENT5 = $8CE5;
  2462. GL_COLOR_ATTACHMENT6 = $8CE6;
  2463. GL_COLOR_ATTACHMENT7 = $8CE7;
  2464. GL_COLOR_ATTACHMENT8 = $8CE8;
  2465. GL_COLOR_ATTACHMENT9 = $8CE9;
  2466. GL_COLOR_ATTACHMENT10 = $8CEA;
  2467. GL_COLOR_ATTACHMENT11 = $8CEB;
  2468. GL_COLOR_ATTACHMENT12 = $8CEC;
  2469. GL_COLOR_ATTACHMENT13 = $8CED;
  2470. GL_COLOR_ATTACHMENT14 = $8CEE;
  2471. GL_COLOR_ATTACHMENT15 = $8CEF;
  2472. GL_DEPTH_ATTACHMENT = $8D00;
  2473. GL_STENCIL_ATTACHMENT = $8D20;
  2474. GL_FRAMEBUFFER = $8D40;
  2475. GL_RENDERBUFFER = $8D41;
  2476. GL_RENDERBUFFER_WIDTH = $8D42;
  2477. GL_RENDERBUFFER_HEIGHT = $8D43;
  2478. GL_RENDERBUFFER_INTERNAL_FORMAT = $8D44;
  2479. GL_STENCIL_INDEX1 = $8D46;
  2480. GL_STENCIL_INDEX4 = $8D47;
  2481. GL_STENCIL_INDEX8 = $8D48;
  2482. GL_STENCIL_INDEX16 = $8D49;
  2483. GL_RENDERBUFFER_RED_SIZE = $8D50;
  2484. GL_RENDERBUFFER_GREEN_SIZE = $8D51;
  2485. GL_RENDERBUFFER_BLUE_SIZE = $8D52;
  2486. GL_RENDERBUFFER_ALPHA_SIZE = $8D53;
  2487. GL_RENDERBUFFER_DEPTH_SIZE = $8D54;
  2488. GL_RENDERBUFFER_STENCIL_SIZE = $8D55;
  2489. GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = $8D56;
  2490. GL_MAX_SAMPLES = $8D57;
  2491. {$IFDEF USE_DEPRECATED}
  2492. GL_INDEX = $8222;
  2493. GL_TEXTURE_LUMINANCE_TYPE = $8C14;
  2494. GL_TEXTURE_INTENSITY_TYPE = $8C15;
  2495. {$ENDIF}
  2496. // GL_ARB_framebuffer_sRGB
  2497. GL_FRAMEBUFFER_SRGB = $8DB9;
  2498. // GL_ARB_geometry_shader4
  2499. GL_LINES_ADJACENCY_ARB = $000A;
  2500. GL_LINE_STRIP_ADJACENCY_ARB = $000B;
  2501. GL_TRIANGLES_ADJACENCY_ARB = $000C;
  2502. GL_TRIANGLE_STRIP_ADJACENCY_ARB = $000D;
  2503. GL_PROGRAM_POINT_SIZE_ARB = $8642;
  2504. GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB = $8C29;
  2505. GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB = $8DA7;
  2506. GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = $8DA8;
  2507. GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = $8DA9;
  2508. GL_GEOMETRY_SHADER_ARB = $8DD9;
  2509. GL_GEOMETRY_VERTICES_OUT_ARB = $8DDA;
  2510. GL_GEOMETRY_INPUT_TYPE_ARB = $8DDB;
  2511. GL_GEOMETRY_OUTPUT_TYPE_ARB = $8DDC;
  2512. GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB = $8DDD;
  2513. GL_MAX_VERTEX_VARYING_COMPONENTS_ARB = $8DDE;
  2514. GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = $8DDF;
  2515. GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB = $8DE0;
  2516. GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = $8DE1;
  2517. // GL_ARB_gl_spirv
  2518. GL_SHADER_BINARY_FORMAT_SPIR_V_ARB = $9551;
  2519. GL_SPIR_V_BINARY_ARB = $9552;
  2520. // GL_ARB_half_float_vertex
  2521. GL_HALF_FLOAT = $140B;
  2522. // GL_ARB_instanced_arrays
  2523. GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB = $88FE;
  2524. // GL_ARB_map_buffer_range
  2525. GL_MAP_READ_BIT = $0001;
  2526. GL_MAP_WRITE_BIT = $0002;
  2527. GL_MAP_INVALIDATE_RANGE_BIT = $0004;
  2528. GL_MAP_INVALIDATE_BUFFER_BIT = $0008;
  2529. GL_MAP_FLUSH_EXPLICIT_BIT = $0010;
  2530. GL_MAP_UNSYNCHRONIZED_BIT = $0020;
  2531. // GL_ARB_texture_buffer_object
  2532. GL_TEXTURE_BUFFER_ARB = $8C2A;
  2533. GL_MAX_TEXTURE_BUFFER_SIZE_ARB = $8C2B;
  2534. GL_TEXTURE_BINDING_BUFFER_ARB = $8C2C;
  2535. GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB = $8C2D;
  2536. GL_TEXTURE_BUFFER_FORMAT_ARB = $8C2E;
  2537. // GL_ARB_texture_compression_rgtc
  2538. GL_COMPRESSED_RED_RGTC1 = $8DBB;
  2539. GL_COMPRESSED_SIGNED_RED_RGTC1 = $8DBC;
  2540. GL_COMPRESSED_RG_RGTC2 = $8DBD;
  2541. GL_COMPRESSED_SIGNED_RG_RGTC2 = $8DBE;
  2542. // GL_ARB_texture_rg
  2543. GL_RG = $8227;
  2544. GL_RG_INTEGER = $8228;
  2545. GL_R8 = $8229;
  2546. GL_R16 = $822A;
  2547. GL_RG8 = $822B;
  2548. GL_RG16 = $822C;
  2549. GL_R16F = $822D;
  2550. GL_R32F = $822E;
  2551. GL_RG16F = $822F;
  2552. GL_RG32F = $8230;
  2553. GL_R8I = $8231;
  2554. GL_R8UI = $8232;
  2555. GL_R16I = $8233;
  2556. GL_R16UI = $8234;
  2557. GL_R32I = $8235;
  2558. GL_R32UI = $8236;
  2559. GL_RG8I = $8237;
  2560. GL_RG8UI = $8238;
  2561. GL_RG16I = $8239;
  2562. GL_RG16UI = $823A;
  2563. GL_RG32I = $823B;
  2564. GL_RG32UI = $823C;
  2565. // GL_ARB_vertex_array_object
  2566. GL_VERTEX_ARRAY_BINDING = $85B5;
  2567. // GL_ARB_uniform_buffer_object
  2568. GL_UNIFORM_BUFFER = $8A11;
  2569. GL_UNIFORM_BUFFER_BINDING = $8A28;
  2570. GL_UNIFORM_BUFFER_START = $8A29;
  2571. GL_UNIFORM_BUFFER_SIZE = $8A2A;
  2572. GL_MAX_VERTEX_UNIFORM_BLOCKS = $8A2B;
  2573. GL_MAX_GEOMETRY_UNIFORM_BLOCKS = $8A2C;
  2574. GL_MAX_FRAGMENT_UNIFORM_BLOCKS = $8A2D;
  2575. GL_MAX_COMBINED_UNIFORM_BLOCKS = $8A2E;
  2576. GL_MAX_UNIFORM_BUFFER_BINDINGS = $8A2F;
  2577. GL_MAX_UNIFORM_BLOCK_SIZE = $8A30;
  2578. GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = $8A31;
  2579. GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = $8A32;
  2580. GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = $8A33;
  2581. GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = $8A34;
  2582. GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = $8A35;
  2583. GL_ACTIVE_UNIFORM_BLOCKS = $8A36;
  2584. GL_UNIFORM_TYPE = $8A37;
  2585. GL_UNIFORM_SIZE = $8A38;
  2586. GL_UNIFORM_NAME_LENGTH = $8A39;
  2587. GL_UNIFORM_BLOCK_INDEX = $8A3A;
  2588. GL_UNIFORM_OFFSET = $8A3B;
  2589. GL_UNIFORM_ARRAY_STRIDE = $8A3C;
  2590. GL_UNIFORM_MATRIX_STRIDE = $8A3D;
  2591. GL_UNIFORM_IS_ROW_MAJOR = $8A3E;
  2592. GL_UNIFORM_BLOCK_BINDING = $8A3F;
  2593. GL_UNIFORM_BLOCK_DATA_SIZE = $8A40;
  2594. GL_UNIFORM_BLOCK_NAME_LENGTH = $8A41;
  2595. GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS = $8A42;
  2596. GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = $8A43;
  2597. GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = $8A44;
  2598. GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = $8A45;
  2599. GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = $8A46;
  2600. GL_INVALID_INDEX = $FFFFFFFF;
  2601. // GL_ARB_compatibility
  2602. { ARB_compatibility just defines tokens from core 3.0 }
  2603. // GL_ARB_copy_buffer
  2604. GL_COPY_READ_BUFFER_BINDING = $8F36;
  2605. GL_COPY_READ_BUFFER = GL_COPY_READ_BUFFER_BINDING;
  2606. GL_COPY_WRITE_BUFFER_BINDING = $8F37;
  2607. GL_COPY_WRITE_BUFFER = GL_COPY_WRITE_BUFFER_BINDING;
  2608. // GL_ARB_depth_clamp
  2609. GL_DEPTH_CLAMP = $864F;
  2610. // GL_ARB_provoking_vertex
  2611. GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = $8E4C;
  2612. GL_FIRST_VERTEX_CONVENTION = $8E4D;
  2613. GL_LAST_VERTEX_CONVENTION = $8E4E;
  2614. GL_PROVOKING_VERTEX = $8E4F;
  2615. // GL_ARB_seamless_cube_map
  2616. GL_TEXTURE_CUBE_MAP_SEAMLESS = $884F;
  2617. // GL_ARB_sync
  2618. GL_MAX_SERVER_WAIT_TIMEOUT = $9111;
  2619. GL_OBJECT_TYPE = $9112;
  2620. GL_SYNC_CONDITION = $9113;
  2621. GL_SYNC_STATUS = $9114;
  2622. GL_SYNC_FLAGS = $9115;
  2623. GL_SYNC_FENCE = $9116;
  2624. GL_SYNC_GPU_COMMANDS_COMPLETE = $9117;
  2625. GL_UNSIGNALED = $9118;
  2626. GL_SIGNALED = $9119;
  2627. GL_ALREADY_SIGNALED = $911A;
  2628. GL_TIMEOUT_EXPIRED = $911B;
  2629. GL_CONDITION_SATISFIED = $911C;
  2630. GL_WAIT_FAILED = $911D;
  2631. GL_SYNC_FLUSH_COMMANDS_BIT = $00000001;
  2632. GL_TIMEOUT_IGNORED = $FFFFFFFFFFFFFFFF;
  2633. // GL_ARB_texture_multisample
  2634. GL_SAMPLE_POSITION = $8E50;
  2635. GL_SAMPLE_MASK = $8E51;
  2636. GL_SAMPLE_MASK_VALUE = $8E52;
  2637. GL_MAX_SAMPLE_MASK_WORDS = $8E59;
  2638. GL_TEXTURE_2D_MULTISAMPLE = $9100;
  2639. GL_PROXY_TEXTURE_2D_MULTISAMPLE = $9101;
  2640. GL_TEXTURE_2D_MULTISAMPLE_ARRAY = $9102;
  2641. GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = $9103;
  2642. GL_TEXTURE_BINDING_2D_MULTISAMPLE = $9104;
  2643. GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = $9105;
  2644. GL_TEXTURE_SAMPLES = $9106;
  2645. GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = $9107;
  2646. GL_SAMPLER_2D_MULTISAMPLE = $9108;
  2647. GL_INT_SAMPLER_2D_MULTISAMPLE = $9109;
  2648. GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = $910A;
  2649. GL_SAMPLER_2D_MULTISAMPLE_ARRAY = $910B;
  2650. GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = $910C;
  2651. GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = $910D;
  2652. GL_MAX_COLOR_TEXTURE_SAMPLES = $910E;
  2653. GL_MAX_DEPTH_TEXTURE_SAMPLES = $910F;
  2654. GL_MAX_INTEGER_SAMPLES = $9110;
  2655. // GL_ARB_vertex_array_bgra
  2656. { reuse GL_BGRA }
  2657. // GL_ARB_sample_shading
  2658. GL_SAMPLE_SHADING_ARB = $8C36;
  2659. GL_MIN_SAMPLE_SHADING_VALUE_ARB = $8C37;
  2660. // GL_ARB_sample_locations
  2661. GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB = $933D;
  2662. GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB = $933E;
  2663. GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB = $933F;
  2664. GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB = $9340;
  2665. GL_SAMPLE_LOCATION_ARB = $8E50;
  2666. GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB = $9341;
  2667. GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB = $9342;
  2668. GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB = $9343;
  2669. // GL_ARB_texture_cube_map_array
  2670. GL_TEXTURE_CUBE_MAP_ARRAY_ARB = $9009;
  2671. GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = $900A;
  2672. GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB = $900B;
  2673. GL_SAMPLER_CUBE_MAP_ARRAY_ARB = $900C;
  2674. GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB = $900D;
  2675. GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = $900E;
  2676. GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = $900F;
  2677. // GL_ARB_texture_gather
  2678. GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = $8E5E;
  2679. GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = $8E5F;
  2680. // GL_ARB_shading_language_include
  2681. GL_SHADER_INCLUDE_ARB = $8DAE;
  2682. GL_NAMED_STRING_LENGTH_ARB = $8DE9;
  2683. GL_NAMED_STRING_TYPE_ARB = $8DEA;
  2684. // GL_ARB_texture_compression_bptc
  2685. GL_COMPRESSED_RGBA_BPTC_UNORM_ARB = $8E8C;
  2686. GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB = $8E8D;
  2687. GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB = $8E8E;
  2688. GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB = $8E8F;
  2689. // GL_ARB_blend_func_extended
  2690. GL_SRC1_COLOR = $88F9;
  2691. GL_ONE_MINUS_SRC1_COLOR = $88FA;
  2692. GL_ONE_MINUS_SRC1_ALPHA = $88FB;
  2693. GL_MAX_DUAL_SOURCE_DRAW_BUFFERS = $88FC;
  2694. // GL_ARB_occlusion_query2
  2695. GL_ANY_SAMPLES_PASSED = $8C2F;
  2696. // GL_ARB_parallel_shader_compile
  2697. GL_MAX_SHADER_COMPILER_THREADS_ARB = $91B0;
  2698. GL_COMPLETION_STATUS_ARB = $91B1;
  2699. // GL_ARB_sampler_objects
  2700. GL_SAMPLER_BINDING = $8919;
  2701. // GL_ARB_texture_rgb10_a2ui
  2702. GL_RGB10_A2UI = $906F;
  2703. // GL_ARB_texture_swizzle
  2704. GL_TEXTURE_SWIZZLE_R = $8E42;
  2705. GL_TEXTURE_SWIZZLE_G = $8E43;
  2706. GL_TEXTURE_SWIZZLE_B = $8E44;
  2707. GL_TEXTURE_SWIZZLE_A = $8E45;
  2708. GL_TEXTURE_SWIZZLE_RGBA = $8E46;
  2709. // GL_ARB_SPARSE_TEXTURE
  2710. GL_TEXTURE_SPARSE_ARB = $91A6;
  2711. GL_VIRTUAL_PAGE_SIZE_INDEX_ARB = $91A7;
  2712. GL_NUM_VIRTUAL_PAGE_SIZES_ARB = $91A8;
  2713. GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB = $91A9;
  2714. GL_NUM_SPARSE_LEVELS_ARB = $91AA;
  2715. GL_VIRTUAL_PAGE_SIZE_X_ARB = $9195;
  2716. GL_VIRTUAL_PAGE_SIZE_Y_ARB = $9196;
  2717. GL_VIRTUAL_PAGE_SIZE_Z_ARB = $9197;
  2718. GL_MAX_SPARSE_TEXTURE_SIZE_ARB = $9198;
  2719. GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB = $9199;
  2720. GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB = $919A;
  2721. GL_MIN_SPARSE_LEVEL_ARB = $919B;
  2722. // GL_ARB_timer_query
  2723. GL_TIME_ELAPSED = $88BF;
  2724. GL_TIMESTAMP = $8E28;
  2725. // GL_ARB_vertex_type_2_10_10_10_rev
  2726. (* reuse GL_UNSIGNED_INT_2_10_10_10_REV *)
  2727. GL_INT_2_10_10_10_REV = $8D9F;
  2728. // GL_ARB_draw_indirect
  2729. GL_DRAW_INDIRECT_BUFFER = $8F3F;
  2730. GL_DRAW_INDIRECT_BUFFER_BINDING = $8F43;
  2731. // GL_ARB_gpu_shader5
  2732. GL_GEOMETRY_SHADER_INVOCATIONS = $887F;
  2733. GL_MAX_GEOMETRY_SHADER_INVOCATIONS = $8E5A;
  2734. GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = $8E5B;
  2735. GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = $8E5C;
  2736. GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = $8E5D;
  2737. // GL_ARB_gpu_shader_fp64
  2738. GL_DOUBLE_VEC2 = $8FFC;
  2739. GL_DOUBLE_VEC3 = $8FFD;
  2740. GL_DOUBLE_VEC4 = $8FFE;
  2741. GL_DOUBLE_MAT2 = $8F46;
  2742. GL_DOUBLE_MAT3 = $8F47;
  2743. GL_DOUBLE_MAT4 = $8F48;
  2744. GL_DOUBLE_MAT2x3 = $8F49;
  2745. GL_DOUBLE_MAT2x4 = $8F4A;
  2746. GL_DOUBLE_MAT3x2 = $8F4B;
  2747. GL_DOUBLE_MAT3x4 = $8F4C;
  2748. GL_DOUBLE_MAT4x2 = $8F4D;
  2749. GL_DOUBLE_MAT4x3 = $8F4E;
  2750. // GL_ARB_gpu_shader_int64
  2751. GL_INT64_ARB = $140E;
  2752. GL_INT64_VEC2_ARB = $8FE9;
  2753. GL_INT64_VEC3_ARB = $8FEA;
  2754. GL_INT64_VEC4_ARB = $8FEB;
  2755. GL_UNSIGNED_INT64_VEC2_ARB = $8FF5;
  2756. GL_UNSIGNED_INT64_VEC3_ARB = $8FF6;
  2757. GL_UNSIGNED_INT64_VEC4_ARB = $8FF7;
  2758. // GL_ARB_shader_subroutine
  2759. GL_ACTIVE_SUBROUTINES = $8DE5;
  2760. GL_ACTIVE_SUBROUTINE_UNIFORMS = $8DE6;
  2761. GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = $8E47;
  2762. GL_ACTIVE_SUBROUTINE_MAX_LENGTH = $8E48;
  2763. GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = $8E49;
  2764. GL_MAX_SUBROUTINES = $8DE7;
  2765. GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS = $8DE8;
  2766. GL_NUM_COMPATIBLE_SUBROUTINES = $8E4A;
  2767. GL_COMPATIBLE_SUBROUTINES = $8E4B;
  2768. // GL_ARB_tessellation_shader
  2769. GL_PATCHES = $000E;
  2770. GL_PATCH_VERTICES = $8E72;
  2771. GL_PATCH_DEFAULT_INNER_LEVEL = $8E73;
  2772. GL_PATCH_DEFAULT_OUTER_LEVEL = $8E74;
  2773. GL_TESS_CONTROL_OUTPUT_VERTICES = $8E75;
  2774. GL_TESS_GEN_MODE = $8E76;
  2775. GL_TESS_GEN_SPACING = $8E77;
  2776. GL_TESS_GEN_VERTEX_ORDER = $8E78;
  2777. GL_TESS_GEN_POINT_MODE = $8E79;
  2778. GL_ISOLINES = $8E7A;
  2779. GL_FRACTIONAL_ODD = $8E7B;
  2780. GL_FRACTIONAL_EVEN = $8E7C;
  2781. GL_MAX_PATCH_VERTICES = $8E7D;
  2782. GL_MAX_TESS_GEN_LEVEL = $8E7E;
  2783. GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = $8E7F;
  2784. GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = $8E80;
  2785. GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = $8E81;
  2786. GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = $8E82;
  2787. GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = $8E83;
  2788. GL_MAX_TESS_PATCH_COMPONENTS = $8E84;
  2789. GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = $8E85;
  2790. GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = $8E86;
  2791. GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = $8E89;
  2792. GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = $8E8A;
  2793. GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = $886C;
  2794. GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = $886D;
  2795. GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = $8E1E;
  2796. GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = $8E1F;
  2797. GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = $84F0;
  2798. GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = $84F1;
  2799. GL_TESS_EVALUATION_SHADER = $8E87;
  2800. GL_TESS_CONTROL_SHADER = $8E88;
  2801. // GL_ARB_texture_buffer_object_rgb32
  2802. // GL_ARB_transform_feedback2
  2803. GL_TRANSFORM_FEEDBACK = $8E22;
  2804. GL_TRANSFORM_FEEDBACK_PAUSED = $8E23;
  2805. GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED = GL_TRANSFORM_FEEDBACK_PAUSED;
  2806. GL_TRANSFORM_FEEDBACK_ACTIVE = $8E24;
  2807. GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE = GL_TRANSFORM_FEEDBACK_ACTIVE;
  2808. GL_TRANSFORM_FEEDBACK_BINDING = $8E25;
  2809. // GL_ARB_transform_feedback_overflow_query
  2810. GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB = $82EC;
  2811. GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB = $82ED;
  2812. // GL_ARB_transform_feedback3
  2813. GL_MAX_TRANSFORM_FEEDBACK_BUFFERS = $8E70;
  2814. GL_MAX_VERTEX_STREAMS = $8E71;
  2815. // GL_ARB_ES2_compatibility
  2816. GL_FIXED = $140C;
  2817. GL_IMPLEMENTATION_COLOR_READ_TYPE = $8B9A;
  2818. GL_IMPLEMENTATION_COLOR_READ_FORMAT = $8B9B;
  2819. GL_LOW_FLOAT = $8DF0;
  2820. GL_MEDIUM_FLOAT = $8DF1;
  2821. GL_HIGH_FLOAT = $8DF2;
  2822. GL_LOW_INT = $8DF3;
  2823. GL_MEDIUM_INT = $8DF4;
  2824. GL_HIGH_INT = $8DF5;
  2825. GL_SHADER_COMPILER = $8DFA;
  2826. GL_NUM_SHADER_BINARY_FORMATS = $8DF9;
  2827. GL_MAX_VERTEX_UNIFORM_VECTORS = $8DFB;
  2828. GL_MAX_VARYING_VECTORS = $8DFC;
  2829. GL_MAX_FRAGMENT_UNIFORM_VECTORS = $8DFD;
  2830. GL_RGB565 = $8D62;
  2831. // GL_ARB_ES3_2_compatibility
  2832. GL_PRIMITIVE_BOUNDING_BOX_ARB = $092BE;
  2833. GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB = $09381;
  2834. GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB = $09382;
  2835. // GL_ARB_get_program_binary
  2836. GL_PROGRAM_BINARY_RETRIEVABLE_HINT = $8257;
  2837. GL_PROGRAM_BINARY_LENGTH = $8741;
  2838. GL_NUM_PROGRAM_BINARY_FORMATS = $87FE;
  2839. GL_PROGRAM_BINARY_FORMATS = $87FF;
  2840. // GL_ARB_separate_shader_objects
  2841. GL_VERTEX_SHADER_BIT = $00000001;
  2842. GL_FRAGMENT_SHADER_BIT = $00000002;
  2843. GL_GEOMETRY_SHADER_BIT = $00000004;
  2844. GL_TESS_CONTROL_SHADER_BIT = $00000008;
  2845. GL_TESS_EVALUATION_SHADER_BIT = $00000010;
  2846. GL_ALL_SHADER_BITS = $FFFFFFFF;
  2847. GL_PROGRAM_SEPARABLE = $8258;
  2848. GL_ACTIVE_PROGRAM = $8259;
  2849. GL_PROGRAM_PIPELINE_BINDING = $825A;
  2850. // GL_ARB_vertex_attrib_64bit
  2851. GL_MAX_VIEWPORTS = $825B;
  2852. GL_VIEWPORT_SUBPIXEL_BITS = $825C;
  2853. GL_VIEWPORT_BOUNDS_RANGE = $825D;
  2854. GL_LAYER_PROVOKING_VERTEX = $825E;
  2855. GL_VIEWPORT_INDEX_PROVOKING_VERTEX = $825F;
  2856. GL_UNDEFINED_VERTEX = $8260;
  2857. // GL_ARB_cl_event
  2858. GL_SYNC_CL_EVENT_ARB = $8240;
  2859. GL_SYNC_CL_EVENT_COMPLETE_ARB = $8241;
  2860. // GL_ARB_debug_output
  2861. GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB = $8242;
  2862. GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB = $8243;
  2863. GL_DEBUG_CALLBACK_FUNCTION_ARB = $8244;
  2864. GL_DEBUG_CALLBACK_USER_PARAM_ARB = $8245;
  2865. GL_DEBUG_SOURCE_API_ARB = $8246;
  2866. GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB = $8247;
  2867. GL_DEBUG_SOURCE_SHADER_COMPILER_ARB = $8248;
  2868. GL_DEBUG_SOURCE_THIRD_PARTY_ARB = $8249;
  2869. GL_DEBUG_SOURCE_APPLICATION_ARB = $824A;
  2870. GL_DEBUG_SOURCE_OTHER_ARB = $824B;
  2871. GL_DEBUG_TYPE_ERROR_ARB = $824C;
  2872. GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB = $824D;
  2873. GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB = $824E;
  2874. GL_DEBUG_TYPE_PORTABILITY_ARB = $824F;
  2875. GL_DEBUG_TYPE_PERFORMANCE_ARB = $8250;
  2876. GL_DEBUG_TYPE_OTHER_ARB = $8251;
  2877. GL_MAX_DEBUG_MESSAGE_LENGTH_ARB = $9143;
  2878. GL_MAX_DEBUG_LOGGED_MESSAGES_ARB = $9144;
  2879. GL_DEBUG_LOGGED_MESSAGES_ARB = $9145;
  2880. GL_DEBUG_SEVERITY_HIGH_ARB = $9146;
  2881. GL_DEBUG_SEVERITY_MEDIUM_ARB = $9147;
  2882. GL_DEBUG_SEVERITY_LOW_ARB = $9148;
  2883. // GL_ARB_robustness
  2884. GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB = $00000004;
  2885. GL_LOSE_CONTEXT_ON_RESET_ARB = $8252;
  2886. GL_GUILTY_CONTEXT_RESET_ARB = $8253;
  2887. GL_INNOCENT_CONTEXT_RESET_ARB = $8254;
  2888. GL_UNKNOWN_CONTEXT_RESET_ARB = $8255;
  2889. GL_RESET_NOTIFICATION_STRATEGY_ARB = $8256;
  2890. GL_NO_RESET_NOTIFICATION_ARB = $8261;
  2891. // GL_ARB_compressed_texture_pixel_storage
  2892. GL_UNPACK_COMPRESSED_BLOCK_WIDTH = $09127;
  2893. GL_UNPACK_COMPRESSED_BLOCK_HEIGHT = $09128;
  2894. GL_UNPACK_COMPRESSED_BLOCK_DEPTH = $09129;
  2895. GL_UNPACK_COMPRESSED_BLOCK_SIZE = $0912A;
  2896. GL_PACK_COMPRESSED_BLOCK_WIDTH = $0912B;
  2897. GL_PACK_COMPRESSED_BLOCK_HEIGHT = $0912C;
  2898. GL_PACK_COMPRESSED_BLOCK_DEPTH = $0912D;
  2899. GL_PACK_COMPRESSED_BLOCK_SIZE = $0912E;
  2900. // GL_ARB_internalformat_query
  2901. GL_NUM_SAMPLE_COUNTS = $09380;
  2902. // GL_ARB_map_buffer_alignment
  2903. GL_MIN_MAP_BUFFER_ALIGNMENT = $090BC;
  2904. // GL_ARB_shader_atomic_counters
  2905. GL_ATOMIC_COUNTER_BUFFER = $92C0;
  2906. GL_ATOMIC_COUNTER_BUFFER_BINDING = $92C1;
  2907. GL_ATOMIC_COUNTER_BUFFER_START = $92C2;
  2908. GL_ATOMIC_COUNTER_BUFFER_SIZE = $92C3;
  2909. GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE = $92C4;
  2910. GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = $92C5;
  2911. GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = $92C6;
  2912. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = $92C7;
  2913. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = $92C8;
  2914. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = $92C9;
  2915. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = $92CA;
  2916. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = $92CB;
  2917. GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = $92CC;
  2918. GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = $92CD;
  2919. GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = $92CE;
  2920. GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = $92CF;
  2921. GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = $92D0;
  2922. GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = $92D1;
  2923. GL_MAX_VERTEX_ATOMIC_COUNTERS = $92D2;
  2924. GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = $92D3;
  2925. GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = $92D4;
  2926. GL_MAX_GEOMETRY_ATOMIC_COUNTERS = $92D5;
  2927. GL_MAX_FRAGMENT_ATOMIC_COUNTERS = $92D6;
  2928. GL_MAX_COMBINED_ATOMIC_COUNTERS = $92D7;
  2929. GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = $92D8;
  2930. GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = $92DC;
  2931. GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = $92D9;
  2932. GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = $92DA;
  2933. GL_UNSIGNED_INT_ATOMIC_COUNTER = $92DB;
  2934. // GL_ARB_shader_image_load_store
  2935. GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = $00000001;
  2936. GL_ELEMENT_ARRAY_BARRIER_BIT = $00000002;
  2937. GL_UNIFORM_BARRIER_BIT = $00000004;
  2938. GL_TEXTURE_FETCH_BARRIER_BIT = $00000008;
  2939. GL_SHADER_IMAGE_ACCESS_BARRIER_BIT = $00000020;
  2940. GL_COMMAND_BARRIER_BIT = $00000040;
  2941. GL_PIXEL_BUFFER_BARRIER_BIT = $00000080;
  2942. GL_TEXTURE_UPDATE_BARRIER_BIT = $00000100;
  2943. GL_BUFFER_UPDATE_BARRIER_BIT = $00000200;
  2944. GL_FRAMEBUFFER_BARRIER_BIT = $00000400;
  2945. GL_TRANSFORM_FEEDBACK_BARRIER_BIT = $00000800;
  2946. GL_ATOMIC_COUNTER_BARRIER_BIT = $00001000;
  2947. GL_ALL_BARRIER_BITS = $FFFFFFFF;
  2948. GL_MAX_IMAGE_UNITS = $8F38;
  2949. GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = $8F39;
  2950. GL_IMAGE_BINDING_NAME = $8F3A;
  2951. GL_IMAGE_BINDING_LEVEL = $8F3B;
  2952. GL_IMAGE_BINDING_LAYERED = $8F3C;
  2953. GL_IMAGE_BINDING_LAYER = $8F3D;
  2954. GL_IMAGE_BINDING_ACCESS = $8F3E;
  2955. GL_IMAGE_1D = $904C;
  2956. GL_IMAGE_2D = $904D;
  2957. GL_IMAGE_3D = $904E;
  2958. GL_IMAGE_2D_RECT = $904F;
  2959. GL_IMAGE_CUBE = $9050;
  2960. GL_IMAGE_BUFFER = $9051;
  2961. GL_IMAGE_1D_ARRAY = $9052;
  2962. GL_IMAGE_2D_ARRAY = $9053;
  2963. GL_IMAGE_CUBE_MAP_ARRAY = $9054;
  2964. GL_IMAGE_2D_MULTISAMPLE = $9055;
  2965. GL_IMAGE_2D_MULTISAMPLE_ARRAY = $9056;
  2966. GL_INT_IMAGE_1D = $9057;
  2967. GL_INT_IMAGE_2D = $9058;
  2968. GL_INT_IMAGE_3D = $9059;
  2969. GL_INT_IMAGE_2D_RECT = $905A;
  2970. GL_INT_IMAGE_CUBE = $905B;
  2971. GL_INT_IMAGE_BUFFER = $905C;
  2972. GL_INT_IMAGE_1D_ARRAY = $905D;
  2973. GL_INT_IMAGE_2D_ARRAY = $905E;
  2974. GL_INT_IMAGE_CUBE_MAP_ARRAY = $905F;
  2975. GL_INT_IMAGE_2D_MULTISAMPLE = $9060;
  2976. GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY = $9061;
  2977. GL_UNSIGNED_INT_IMAGE_1D = $9062;
  2978. GL_UNSIGNED_INT_IMAGE_2D = $9063;
  2979. GL_UNSIGNED_INT_IMAGE_3D = $9064;
  2980. GL_UNSIGNED_INT_IMAGE_2D_RECT = $9065;
  2981. GL_UNSIGNED_INT_IMAGE_CUBE = $9066;
  2982. GL_UNSIGNED_INT_IMAGE_BUFFER = $9067;
  2983. GL_UNSIGNED_INT_IMAGE_1D_ARRAY = $9068;
  2984. GL_UNSIGNED_INT_IMAGE_2D_ARRAY = $9069;
  2985. GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = $906A;
  2986. GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = $906B;
  2987. GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = $906C;
  2988. GL_MAX_IMAGE_SAMPLES = $906D;
  2989. GL_IMAGE_BINDING_FORMAT = $906E;
  2990. GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = $90C7;
  2991. GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = $90C8;
  2992. GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = $90C9;
  2993. GL_MAX_VERTEX_IMAGE_UNIFORMS = $90CA;
  2994. GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = $90CB;
  2995. GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = $90CC;
  2996. GL_MAX_GEOMETRY_IMAGE_UNIFORMS = $90CD;
  2997. GL_MAX_FRAGMENT_IMAGE_UNIFORMS = $90CE;
  2998. GL_MAX_COMBINED_IMAGE_UNIFORMS = $90CF;
  2999. // GL_ARB_texture_storage
  3000. GL_TEXTURE_IMMUTABLE_FORMAT = $912F;
  3001. // 4.3
  3002. // GL_KHR_texture_compression_astc_hdr
  3003. GL_COMPRESSED_RGBA_ASTC_4x4_KHR = $93B0;
  3004. GL_COMPRESSED_RGBA_ASTC_5x4_KHR = $93B1;
  3005. GL_COMPRESSED_RGBA_ASTC_5x5_KHR = $93B2;
  3006. GL_COMPRESSED_RGBA_ASTC_6x5_KHR = $93B3;
  3007. GL_COMPRESSED_RGBA_ASTC_6x6_KHR = $93B4;
  3008. GL_COMPRESSED_RGBA_ASTC_8x5_KHR = $93B5;
  3009. GL_COMPRESSED_RGBA_ASTC_8x6_KHR = $93B6;
  3010. GL_COMPRESSED_RGBA_ASTC_8x8_KHR = $93B7;
  3011. GL_COMPRESSED_RGBA_ASTC_105_KHR = $93B8;
  3012. GL_COMPRESSED_RGBA_ASTC_106_KHR = $93B9;
  3013. GL_COMPRESSED_RGBA_ASTC_108_KHR = $93BA;
  3014. GL_COMPRESSED_RGBA_ASTC_110_KHR = $93BB;
  3015. GL_COMPRESSED_RGBA_ASTC_12x10_KHR = $93BC;
  3016. GL_COMPRESSED_RGBA_ASTC_12x12_KHR = $93BD;
  3017. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = $93D0;
  3018. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = $93D1;
  3019. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = $93D2;
  3020. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = $93D3;
  3021. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = $93D4;
  3022. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = $93D5;
  3023. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = $93D6;
  3024. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = $93D7;
  3025. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = $93D8;
  3026. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = $93D9;
  3027. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = $93DA;
  3028. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = $93DB;
  3029. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = $93DC;
  3030. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = $93DD;
  3031. // (4.3) GL_KHR_debug
  3032. GL_DEBUG_OUTPUT_SYNCHRONOUS = $8242;
  3033. GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = $8243;
  3034. GL_DEBUG_CALLBACK_FUNCTION = $8244;
  3035. GL_DEBUG_CALLBACK_USER_PARAM = $8245;
  3036. GL_DEBUG_SOURCE_API = $8246;
  3037. GL_DEBUG_SOURCE_WINDOW_SYSTEM = $8247;
  3038. GL_DEBUG_SOURCE_SHADER_COMPILER = $8248;
  3039. GL_DEBUG_SOURCE_THIRD_PARTY = $8249;
  3040. GL_DEBUG_SOURCE_APPLICATION = $824A;
  3041. GL_DEBUG_SOURCE_OTHER = $824B;
  3042. GL_DEBUG_TYPE_ERROR = $824C;
  3043. GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = $824D;
  3044. GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = $824E;
  3045. GL_DEBUG_TYPE_PORTABILITY = $824F;
  3046. GL_DEBUG_TYPE_PERFORMANCE = $8250;
  3047. GL_DEBUG_TYPE_OTHER = $8251;
  3048. GL_DEBUG_TYPE_MARKER = $8268;
  3049. GL_DEBUG_TYPE_PUSH_GROUP = $8269;
  3050. GL_DEBUG_TYPE_POP_GROUP = $826A;
  3051. GL_DEBUG_SEVERITY_NOTIFICATION = $826B;
  3052. GL_MAX_DEBUG_GROUP_STACK_DEPTH = $826C;
  3053. GL_DEBUG_GROUP_STACK_DEPTH = $826D;
  3054. GL_BUFFER = $82E0;
  3055. GL_SHADER = $82E1;
  3056. GL_PROGRAM = $82E2;
  3057. GL_QUERY = $82E3;
  3058. GL_PROGRAM_PIPELINE = $82E4;
  3059. GL_SAMPLER = $82E6;
  3060. GL_DISPLAY_LIST = $82E7;
  3061. GL_MAX_LABEL_LENGTH = $82E8;
  3062. GL_MAX_DEBUG_MESSAGE_LENGTH = $9143;
  3063. GL_MAX_DEBUG_LOGGED_MESSAGES = $9144;
  3064. GL_DEBUG_LOGGED_MESSAGES = $9145;
  3065. GL_DEBUG_SEVERITY_HIGH = $9146;
  3066. GL_DEBUG_SEVERITY_MEDIUM = $9147;
  3067. GL_DEBUG_SEVERITY_LOW = $9148;
  3068. GL_DEBUG_OUTPUT = $92E0;
  3069. GL_CONTEXT_FLAG_DEBUG_BIT = $00000002;
  3070. GL_COMPUTE_SHADER = $91B9;
  3071. GL_MAX_COMPUTE_UNIFORM_BLOCKS = $91BB;
  3072. GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = $91BC;
  3073. GL_MAX_COMPUTE_IMAGE_UNIFORMS = $91BD;
  3074. GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = $8262;
  3075. GL_MAX_COMPUTE_UNIFORM_COMPONENTS = $8263;
  3076. GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = $8264;
  3077. GL_MAX_COMPUTE_ATOMIC_COUNTERS = $8265;
  3078. GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = $8266;
  3079. GL_MAX_COMPUTE_LOCAL_INVOCATIONS = $90EB;
  3080. GL_MAX_COMPUTE_WORK_GROUP_COUNT = $91BE;
  3081. GL_MAX_COMPUTE_WORK_GROUP_SIZE = $91BF;
  3082. GL_COMPUTE_LOCAL_WORK_SIZE = $8267;
  3083. GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = $90EC;
  3084. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = $90ED;
  3085. GL_DISPATCH_INDIRECT_BUFFER = $90EE;
  3086. GL_DISPATCH_INDIRECT_BUFFER_BINDING = $90EF;
  3087. GL_COMPUTE_SHADER_BIT = $00000020;
  3088. GL_COMPRESSED_RGB8_ETC2 = $9274;
  3089. GL_COMPRESSED_SRGB8_ETC2 = $9275;
  3090. GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = $9276;
  3091. GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = $9277;
  3092. GL_COMPRESSED_RGBA8_ETC2_EAC = $9278;
  3093. GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = $9279;
  3094. GL_COMPRESSED_R11_EAC = $9270;
  3095. GL_COMPRESSED_SIGNED_R11_EAC = $9271;
  3096. GL_COMPRESSED_RG11_EAC = $9272;
  3097. GL_COMPRESSED_SIGNED_RG11_EAC = $9273;
  3098. GL_PRIMITIVE_RESTART_FIXED_INDEX = $8D69;
  3099. GL_ANY_SAMPLES_PASSED_CONSERVATIVE = $8D6A;
  3100. GL_MAX_ELEMENT_INDEX = $8D6B;
  3101. GL_MAX_UNIFORM_LOCATIONS = $826E;
  3102. GL_FRAMEBUFFER_DEFAULT_WIDTH = $9310;
  3103. GL_FRAMEBUFFER_DEFAULT_HEIGHT = $9311;
  3104. GL_FRAMEBUFFER_DEFAULT_LAYERS = $9312;
  3105. GL_FRAMEBUFFER_DEFAULT_SAMPLES = $9313;
  3106. GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = $9314;
  3107. GL_MAX_FRAMEBUFFER_WIDTH = $9315;
  3108. GL_MAX_FRAMEBUFFER_HEIGHT = $9316;
  3109. GL_MAX_FRAMEBUFFER_LAYERS = $9317;
  3110. GL_MAX_FRAMEBUFFER_SAMPLES = $9318;
  3111. GL_INTERNALFORMAT_SUPPORTED = $826F;
  3112. GL_INTERNALFORMAT_PREFERRED = $8270;
  3113. GL_INTERNALFORMAT_RED_SIZE = $8271;
  3114. GL_INTERNALFORMAT_GREEN_SIZE = $8272;
  3115. GL_INTERNALFORMAT_BLUE_SIZE = $8273;
  3116. GL_INTERNALFORMAT_ALPHA_SIZE = $8274;
  3117. GL_INTERNALFORMAT_DEPTH_SIZE = $8275;
  3118. GL_INTERNALFORMAT_STENCIL_SIZE = $8276;
  3119. GL_INTERNALFORMAT_SHARED_SIZE = $8277;
  3120. GL_INTERNALFORMAT_RED_TYPE = $8278;
  3121. GL_INTERNALFORMAT_GREEN_TYPE = $8279;
  3122. GL_INTERNALFORMAT_BLUE_TYPE = $827A;
  3123. GL_INTERNALFORMAT_ALPHA_TYPE = $827B;
  3124. GL_INTERNALFORMAT_DEPTH_TYPE = $827C;
  3125. GL_INTERNALFORMAT_STENCIL_TYPE = $827D;
  3126. GL_MAX_WIDTH = $827E;
  3127. GL_MAX_HEIGHT = $827F;
  3128. GL_MAX_DEPTH = $8280;
  3129. GL_MAX_LAYERS = $8281;
  3130. GL_MAX_COMBINED_DIMENSIONS = $8282;
  3131. GL_COLOR_COMPONENTS = $8283;
  3132. GL_DEPTH_COMPONENTS = $8284;
  3133. GL_STENCIL_COMPONENTS = $8285;
  3134. GL_COLOR_RENDERABLE = $8286;
  3135. GL_DEPTH_RENDERABLE = $8287;
  3136. GL_STENCIL_RENDERABLE = $8288;
  3137. GL_FRAMEBUFFER_RENDERABLE = $8289;
  3138. GL_FRAMEBUFFER_RENDERABLE_LAYERED = $828A;
  3139. GL_FRAMEBUFFER_BLEND = $828B;
  3140. GL_READ_PIXELS = $828C;
  3141. GL_READ_PIXELS_FORMAT = $828D;
  3142. GL_READ_PIXELS_TYPE = $828E;
  3143. GL_TEXTURE_IMAGE_FORMAT = $828F;
  3144. GL_TEXTURE_IMAGE_TYPE = $8290;
  3145. GL_GET_TEXTURE_IMAGE_FORMAT = $8291;
  3146. GL_GET_TEXTURE_IMAGE_TYPE = $8292;
  3147. GL_MIPMAP = $8293;
  3148. GL_MANUAL_GENERATE_MIPMAP = $8294;
  3149. GL_AUTO_GENERATE_MIPMAP = $8295;
  3150. GL_COLOR_ENCODING = $8296;
  3151. GL_SRGB_READ = $8297;
  3152. GL_SRGB_WRITE = $8298;
  3153. GL_SRGB_DECODE_ARB = $8299;
  3154. GL_FILTER = $829A;
  3155. GL_VERTEX_TEXTURE = $829B;
  3156. GL_TESS_CONTROL_TEXTURE = $829C;
  3157. GL_TESS_EVALUATION_TEXTURE = $829D;
  3158. GL_GEOMETRY_TEXTURE = $829E;
  3159. GL_FRAGMENT_TEXTURE = $829F;
  3160. GL_COMPUTE_TEXTURE = $82A0;
  3161. GL_TEXTURE_SHADOW = $82A1;
  3162. GL_TEXTURE_GATHER = $82A2;
  3163. GL_TEXTURE_GATHER_SHADOW = $82A3;
  3164. GL_SHADER_IMAGE_LOAD = $82A4;
  3165. GL_SHADER_IMAGE_STORE = $82A5;
  3166. GL_SHADER_IMAGE_ATOMIC = $82A6;
  3167. GL_IMAGE_TEXEL_SIZE = $82A7;
  3168. GL_IMAGE_COMPATIBILITY_CLASS = $82A8;
  3169. GL_IMAGE_PIXEL_FORMAT = $82A9;
  3170. GL_IMAGE_PIXEL_TYPE = $82AA;
  3171. GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = $82AC;
  3172. GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = $82AD;
  3173. GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = $82AE;
  3174. GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = $82AF;
  3175. GL_TEXTURE_COMPRESSED_BLOCK_WIDTH = $82B1;
  3176. GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT = $82B2;
  3177. GL_TEXTURE_COMPRESSED_BLOCK_SIZE = $82B3;
  3178. GL_CLEAR_BUFFER = $82B4;
  3179. GL_TEXTURE_VIEW = $82B5;
  3180. GL_VIEW_COMPATIBILITY_CLASS = $82B6;
  3181. GL_FULL_SUPPORT = $82B7;
  3182. GL_CAVEAT_SUPPORT = $82B8;
  3183. GL_IMAGE_CLASS_4_X_32 = $82B9;
  3184. GL_IMAGE_CLASS_2_X_32 = $82BA;
  3185. GL_IMAGE_CLASS_1_X_32 = $82BB;
  3186. GL_IMAGE_CLASS_4_X_16 = $82BC;
  3187. GL_IMAGE_CLASS_2_X_16 = $82BD;
  3188. GL_IMAGE_CLASS_1_X_16 = $82BE;
  3189. GL_IMAGE_CLASS_4_X_8 = $82BF;
  3190. GL_IMAGE_CLASS_2_X_8 = $82C0;
  3191. GL_IMAGE_CLASS_1_X_8 = $82C1;
  3192. GL_IMAGE_CLASS_11_11_10 = $82C2;
  3193. GL_IMAGE_CLASS_10_10_10_2 = $82C3;
  3194. GL_VIEW_CLASS_128_BITS = $82C4;
  3195. GL_VIEW_CLASS_96_BITS = $82C5;
  3196. GL_VIEW_CLASS_64_BITS = $82C6;
  3197. GL_VIEW_CLASS_48_BITS = $82C7;
  3198. GL_VIEW_CLASS_32_BITS = $82C8;
  3199. GL_VIEW_CLASS_24_BITS = $82C9;
  3200. GL_VIEW_CLASS_16_BITS = $82CA;
  3201. GL_VIEW_CLASS_8_BITS = $82CB;
  3202. GL_VIEW_CLASS_S3TC_DXT1_RGB = $82CC;
  3203. GL_VIEW_CLASS_S3TC_DXT1_RGBA = $82CD;
  3204. GL_VIEW_CLASS_S3TC_DXT3_RGBA = $82CE;
  3205. GL_VIEW_CLASS_S3TC_DXT5_RGBA = $82CF;
  3206. GL_VIEW_CLASS_RGTC1_RED = $82D0;
  3207. GL_VIEW_CLASS_RGTC2_RG = $82D1;
  3208. GL_VIEW_CLASS_BPTC_UNORM = $82D2;
  3209. GL_VIEW_CLASS_BPTC_FLOAT = $82D3;
  3210. GL_UNIFORM = $92E1;
  3211. GL_UNIFORM_BLOCK = $92E2;
  3212. GL_PROGRAM_INPUT = $92E3;
  3213. GL_PROGRAM_OUTPUT = $92E4;
  3214. GL_BUFFER_VARIABLE = $92E5;
  3215. GL_SHADER_STORAGE_BLOCK = $92E6;
  3216. GL_VERTEX_SUBROUTINE = $92E8;
  3217. GL_TESS_CONTROL_SUBROUTINE = $92E9;
  3218. GL_TESS_EVALUATION_SUBROUTINE = $92EA;
  3219. GL_GEOMETRY_SUBROUTINE = $92EB;
  3220. GL_FRAGMENT_SUBROUTINE = $92EC;
  3221. GL_COMPUTE_SUBROUTINE = $92ED;
  3222. GL_VERTEX_SUBROUTINE_UNIFORM = $92EE;
  3223. GL_TESS_CONTROL_SUBROUTINE_UNIFORM = $92EF;
  3224. GL_TESS_EVALUATION_SUBROUTINE_UNIFORM = $92F0;
  3225. GL_GEOMETRY_SUBROUTINE_UNIFORM = $92F1;
  3226. GL_FRAGMENT_SUBROUTINE_UNIFORM = $92F2;
  3227. GL_COMPUTE_SUBROUTINE_UNIFORM = $92F3;
  3228. GL_TRANSFORM_FEEDBACK_VARYING = $92F4;
  3229. GL_ACTIVE_RESOURCES = $92F5;
  3230. GL_MAX_NAME_LENGTH = $92F6;
  3231. GL_MAX_NUM_ACTIVE_VARIABLES = $92F7;
  3232. GL_MAX_NUM_COMPATIBLE_SUBROUTINES = $92F8;
  3233. GL_NAME_LENGTH = $92F9;
  3234. GL_TYPE = $92FA;
  3235. GL_ARRAY_SIZE = $92FB;
  3236. GL_OFFSET = $92FC;
  3237. GL_BLOCK_INDEX = $92FD;
  3238. GL_ARRAY_STRIDE = $92FE;
  3239. GL_MATRIX_STRIDE = $92FF;
  3240. GL_IS_ROW_MAJOR = $9300;
  3241. GL_ATOMIC_COUNTER_BUFFER_INDEX = $9301;
  3242. GL_BUFFER_BINDING = $9302;
  3243. GL_BUFFER_DATA_SIZE = $9303;
  3244. GL_NUM_ACTIVE_VARIABLES = $9304;
  3245. GL_ACTIVE_VARIABLES = $9305;
  3246. GL_REFERENCED_BY_VERTEX_SHADER = $9306;
  3247. GL_REFERENCED_BY_TESS_CONTROL_SHADER = $9307;
  3248. GL_REFERENCED_BY_TESS_EVALUATION_SHADER = $9308;
  3249. GL_REFERENCED_BY_GEOMETRY_SHADER = $9309;
  3250. GL_REFERENCED_BY_FRAGMENT_SHADER = $930A;
  3251. GL_REFERENCED_BY_COMPUTE_SHADER = $930B;
  3252. GL_TOP_LEVEL_ARRAY_SIZE = $930C;
  3253. GL_TOP_LEVEL_ARRAY_STRIDE = $930D;
  3254. GL_LOCATION = $930E;
  3255. GL_LOCATION_INDEX = $930F;
  3256. GL_IS_PER_PATCH = $92E7;
  3257. GL_SHADER_STORAGE_BUFFER = $90D2;
  3258. GL_SHADER_STORAGE_BUFFER_BINDING = $90D3;
  3259. GL_SHADER_STORAGE_BUFFER_START = $90D4;
  3260. GL_SHADER_STORAGE_BUFFER_SIZE = $90D5;
  3261. GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = $90D6;
  3262. GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = $90D7;
  3263. GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = $90D8;
  3264. GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = $90D9;
  3265. GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = $90DA;
  3266. GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = $90DB;
  3267. GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = $90DC;
  3268. GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = $90DD;
  3269. GL_MAX_SHADER_STORAGE_BLOCK_SIZE = $90DE;
  3270. GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = $90DF;
  3271. GL_SHADER_STORAGE_BARRIER_BIT = $2000;
  3272. GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS;
  3273. GL_DEPTH_STENCIL_TEXTURE_MODE = $90EA;
  3274. GL_TEXTURE_BUFFER_OFFSET = $919D;
  3275. GL_TEXTURE_BUFFER_SIZE = $919E;
  3276. GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = $919F;
  3277. GL_TEXTURE_VIEW_MIN_LEVEL = $82DB;
  3278. GL_TEXTURE_VIEW_NUM_LEVELS = $82DC;
  3279. GL_TEXTURE_VIEW_MIN_LAYER = $82DD;
  3280. GL_TEXTURE_VIEW_NUM_LAYERS = $82DE;
  3281. GL_TEXTURE_IMMUTABLE_LEVELS = $82DF;
  3282. GL_VERTEX_ATTRIB_BINDING = $82D4;
  3283. GL_VERTEX_ATTRIB_RELATIVE_OFFSET = $82D5;
  3284. GL_VERTEX_BINDING_DIVISOR = $82D6;
  3285. GL_VERTEX_BINDING_OFFSET = $82D7;
  3286. GL_VERTEX_BINDING_STRIDE = $82D8;
  3287. GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = $82D9;
  3288. GL_MAX_VERTEX_ATTRIB_BINDINGS = $82DA;
  3289. // GL 4.4
  3290. GL_MAX_VERTEX_ATTRIB_STRIDE = $82E5;
  3291. GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = $8221;
  3292. GL_TEXTURE_BUFFER_BINDING = $8C2A;
  3293. GL_MAP_PERSISTENT_BIT = $0040;
  3294. GL_MAP_COHERENT_BIT = $0080;
  3295. GL_DYNAMIC_STORAGE_BIT = $0100;
  3296. GL_CLIENT_STORAGE_BIT = $0200;
  3297. GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT = $00004000;
  3298. GL_BUFFER_IMMUTABLE_STORAGE = $821F;
  3299. GL_BUFFER_STORAGE_FLAGS = $8220;
  3300. GL_CLEAR_TEXTURE = $9365;
  3301. GL_LOCATION_COMPONENT = $934A;
  3302. GL_TRANSFORM_FEEDBACK_BUFFER_INDEX = $934B;
  3303. GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE = $934C;
  3304. GL_QUERY_BUFFER = $9192;
  3305. GL_QUERY_BUFFER_BARRIER_BIT = $00008000;
  3306. GL_QUERY_BUFFER_BINDING = $9193;
  3307. GL_QUERY_RESULT_NO_WAIT = $9194;
  3308. GL_MIRROR_CLAMP_TO_EDGE = $8743;
  3309. // GL 4.5
  3310. GL_CONTEXT_LOST = $0507;
  3311. GL_NEGATIVE_ONE_TO_ONE = $935E;
  3312. GL_ZERO_TO_ONE = $935F;
  3313. GL_CLIP_ORIGIN = $935C;
  3314. GL_CLIP_DEPTH_MODE = $935D;
  3315. GL_QUERY_WAIT_INVERTED = $8E17;
  3316. GL_QUERY_NO_WAIT_INVERTED = $8E18;
  3317. GL_QUERY_BY_REGION_WAIT_INVERTED = $8E19;
  3318. GL_QUERY_BY_REGION_NO_WAIT_INVERTED = $8E1A;
  3319. GL_MAX_CULL_DISTANCES = $82F9;
  3320. GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES = $82FA;
  3321. GL_TEXTURE_TARGET = $1006;
  3322. GL_QUERY_TARGET = $82EA;
  3323. GL_TEXTURE_BINDING = $82EB;
  3324. GL_GUILTY_CONTEXT_RESET = $8253;
  3325. GL_INNOCENT_CONTEXT_RESET = $8254;
  3326. GL_UNKNOWN_CONTEXT_RESET = $8255;
  3327. GL_RESET_NOTIFICATION_STRATEGY = $8256;
  3328. GL_LOSE_CONTEXT_ON_RESET = $8252;
  3329. GL_NO_RESET_NOTIFICATION = $8261;
  3330. GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT = $00000004;
  3331. GL_CONTEXT_RELEASE_BEHAVIOR = $82FB;
  3332. GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH = $82FC;
  3333. // 4.6
  3334. GL_SHADER_BINARY_FORMAT_SPIR_V = $9551;
  3335. GL_SPIR_V_BINARY = $9552;
  3336. GL_PARAMETER_BUFFER = $80EE;
  3337. GL_PARAMETER_BUFFER_BINDING = $80EF;
  3338. GL_CONTEXT_FLAG_NO_ERROR_BIT = $00000008;
  3339. GL_VERTICES_SUBMITTED = $82EE;
  3340. GL_PRIMITIVES_SUBMITTED = $82EF;
  3341. GL_VERTEX_SHADER_INVOCATIONS = $82F0;
  3342. GL_TESS_CONTROL_SHADER_PATCHES = $82F1;
  3343. GL_TESS_EVALUATION_SHADER_INVOCATIONS = $82F2;
  3344. GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED = $82F3;
  3345. GL_FRAGMENT_SHADER_INVOCATIONS = $82F4;
  3346. GL_COMPUTE_SHADER_INVOCATIONS = $82F5;
  3347. GL_CLIPPING_INPUT_PRIMITIVES = $82F6;
  3348. GL_CLIPPING_OUTPUT_PRIMITIVES = $82F7;
  3349. GL_POLYGON_OFFSET_CLAMP = $8E1B;
  3350. GL_SPIR_V_EXTENSIONS = $9553;
  3351. GL_NUM_SPIR_V_EXTENSIONS = $9554;
  3352. GL_TEXTURE_MAX_ANISOTROPY = $84FE;
  3353. GL_MAX_TEXTURE_MAX_ANISOTROPY = $84FF;
  3354. GL_TRANSFORM_FEEDBACK_OVERFLOW = $82EC;
  3355. GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW = $82ED;
  3356. // GL_ATI_draw_buffers
  3357. GL_MAX_DRAW_BUFFERS_ATI = $8824;
  3358. GL_DRAW_BUFFER0_ATI = $8825;
  3359. GL_DRAW_BUFFER1_ATI = $8826;
  3360. GL_DRAW_BUFFER2_ATI = $8827;
  3361. GL_DRAW_BUFFER3_ATI = $8828;
  3362. GL_DRAW_BUFFER4_ATI = $8829;
  3363. GL_DRAW_BUFFER5_ATI = $882A;
  3364. GL_DRAW_BUFFER6_ATI = $882B;
  3365. GL_DRAW_BUFFER7_ATI = $882C;
  3366. GL_DRAW_BUFFER8_ATI = $882D;
  3367. GL_DRAW_BUFFER9_ATI = $882E;
  3368. GL_DRAW_BUFFER10_ATI = $882F;
  3369. GL_DRAW_BUFFER11_ATI = $8830;
  3370. GL_DRAW_BUFFER12_ATI = $8831;
  3371. GL_DRAW_BUFFER13_ATI = $8832;
  3372. GL_DRAW_BUFFER14_ATI = $8833;
  3373. GL_DRAW_BUFFER15_ATI = $8834;
  3374. // GL_ATI_element_array
  3375. GL_ELEMENT_ARRAY_ATI = $8768;
  3376. GL_ELEMENT_ARRAY_TYPE_ATI = $8769;
  3377. GL_ELEMENT_ARRAY_POINTER_ATI = $876A;
  3378. // GL_ATI_envmap_bumpmap
  3379. GL_BUMP_ROT_MATRIX_ATI = $8775;
  3380. GL_BUMP_ROT_MATRIX_SIZE_ATI = $8776;
  3381. GL_BUMP_NUM_TEX_UNITS_ATI = $8777;
  3382. GL_BUMP_TEX_UNITS_ATI = $8778;
  3383. GL_DUDV_ATI = $8779;
  3384. GL_DU8DV8_ATI = $877A;
  3385. GL_BUMP_ENVMAP_ATI = $877B;
  3386. GL_BUMP_TARGET_ATI = $877C;
  3387. // GL_ATI_fragment_shader
  3388. GL_FRAGMENT_SHADER_ATI = $8920;
  3389. GL_REG_0_ATI = $8921;
  3390. GL_REG_1_ATI = $8922;
  3391. GL_REG_2_ATI = $8923;
  3392. GL_REG_3_ATI = $8924;
  3393. GL_REG_4_ATI = $8925;
  3394. GL_REG_5_ATI = $8926;
  3395. GL_REG_6_ATI = $8927;
  3396. GL_REG_7_ATI = $8928;
  3397. GL_REG_8_ATI = $8929;
  3398. GL_REG_9_ATI = $892A;
  3399. GL_REG_10_ATI = $892B;
  3400. GL_REG_11_ATI = $892C;
  3401. GL_REG_12_ATI = $892D;
  3402. GL_REG_13_ATI = $892E;
  3403. GL_REG_14_ATI = $892F;
  3404. GL_REG_15_ATI = $8930;
  3405. GL_REG_16_ATI = $8931;
  3406. GL_REG_17_ATI = $8932;
  3407. GL_REG_18_ATI = $8933;
  3408. GL_REG_19_ATI = $8934;
  3409. GL_REG_20_ATI = $8935;
  3410. GL_REG_21_ATI = $8936;
  3411. GL_REG_22_ATI = $8937;
  3412. GL_REG_23_ATI = $8938;
  3413. GL_REG_24_ATI = $8939;
  3414. GL_REG_25_ATI = $893A;
  3415. GL_REG_26_ATI = $893B;
  3416. GL_REG_27_ATI = $893C;
  3417. GL_REG_28_ATI = $893D;
  3418. GL_REG_29_ATI = $893E;
  3419. GL_REG_30_ATI = $893F;
  3420. GL_REG_31_ATI = $8940;
  3421. GL_CON_0_ATI = $8941;
  3422. GL_CON_1_ATI = $8942;
  3423. GL_CON_2_ATI = $8943;
  3424. GL_CON_3_ATI = $8944;
  3425. GL_CON_4_ATI = $8945;
  3426. GL_CON_5_ATI = $8946;
  3427. GL_CON_6_ATI = $8947;
  3428. GL_CON_7_ATI = $8948;
  3429. GL_CON_8_ATI = $8949;
  3430. GL_CON_9_ATI = $894A;
  3431. GL_CON_10_ATI = $894B;
  3432. GL_CON_11_ATI = $894C;
  3433. GL_CON_12_ATI = $894D;
  3434. GL_CON_13_ATI = $894E;
  3435. GL_CON_14_ATI = $894F;
  3436. GL_CON_15_ATI = $8950;
  3437. GL_CON_16_ATI = $8951;
  3438. GL_CON_17_ATI = $8952;
  3439. GL_CON_18_ATI = $8953;
  3440. GL_CON_19_ATI = $8954;
  3441. GL_CON_20_ATI = $8955;
  3442. GL_CON_21_ATI = $8956;
  3443. GL_CON_22_ATI = $8957;
  3444. GL_CON_23_ATI = $8958;
  3445. GL_CON_24_ATI = $8959;
  3446. GL_CON_25_ATI = $895A;
  3447. GL_CON_26_ATI = $895B;
  3448. GL_CON_27_ATI = $895C;
  3449. GL_CON_28_ATI = $895D;
  3450. GL_CON_29_ATI = $895E;
  3451. GL_CON_30_ATI = $895F;
  3452. GL_CON_31_ATI = $8960;
  3453. GL_MOV_ATI = $8961;
  3454. GL_ADD_ATI = $8963;
  3455. GL_MUL_ATI = $8964;
  3456. GL_SUB_ATI = $8965;
  3457. GL_DOT3_ATI = $8966;
  3458. GL_DOT4_ATI = $8967;
  3459. GL_MAD_ATI = $8968;
  3460. GL_LERP_ATI = $8969;
  3461. GL_CND_ATI = $896A;
  3462. GL_CND0_ATI = $896B;
  3463. GL_DOT2_ADD_ATI = $896C;
  3464. GL_SECONDARY_INTERPOLATOR_ATI = $896D;
  3465. GL_NUM_FRAGMENT_REGISTERS_ATI = $896E;
  3466. GL_NUM_FRAGMENT_CONSTANTS_ATI = $896F;
  3467. GL_NUM_PASSES_ATI = $8970;
  3468. GL_NUM_INSTRUCTIONS_PER_PASS_ATI = $8971;
  3469. GL_NUM_INSTRUCTIONS_TOTAL_ATI = $8972;
  3470. GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = $8973;
  3471. GL_NUM_LOOPBACK_COMPONENTS_ATI = $8974;
  3472. GL_COLOR_ALPHA_PAIRING_ATI = $8975;
  3473. GL_SWIZZLE_STR_ATI = $8976;
  3474. GL_SWIZZLE_STQ_ATI = $8977;
  3475. GL_SWIZZLE_STR_DR_ATI = $8978;
  3476. GL_SWIZZLE_STQ_DQ_ATI = $8979;
  3477. GL_SWIZZLE_STRQ_ATI = $897A;
  3478. GL_SWIZZLE_STRQ_DQ_ATI = $897B;
  3479. GL_RED_BIT_ATI = $00000001;
  3480. GL_GREEN_BIT_ATI = $00000002;
  3481. GL_BLUE_BIT_ATI = $00000004;
  3482. GL_2X_BIT_ATI = $00000001;
  3483. GL_4X_BIT_ATI = $00000002;
  3484. GL_8X_BIT_ATI = $00000004;
  3485. GL_HALF_BIT_ATI = $00000008;
  3486. GL_QUARTER_BIT_ATI = $00000010;
  3487. GL_EIGHTH_BIT_ATI = $00000020;
  3488. GL_SATURATE_BIT_ATI = $00000040;
  3489. GL_COMP_BIT_ATI = $00000002;
  3490. GL_NEGATE_BIT_ATI = $00000004;
  3491. GL_BIAS_BIT_ATI = $00000008;
  3492. // GL_ATI_pn_triangles
  3493. GL_PN_TRIANGLES_ATI = $87F0;
  3494. GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = $87F1;
  3495. GL_PN_TRIANGLES_POINT_MODE_ATI = $87F2;
  3496. GL_PN_TRIANGLES_NORMAL_MODE_ATI = $87F3;
  3497. GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI = $87F4;
  3498. GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI = $87F5;
  3499. GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI = $87F6;
  3500. GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = $87F7;
  3501. GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = $87F8;
  3502. // GL_ATI_separate_stencil
  3503. GL_STENCIL_BACK_FUNC_ATI = $8800;
  3504. GL_STENCIL_BACK_FAIL_ATI = $8801;
  3505. GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI = $8802;
  3506. GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI = $8803;
  3507. // GL_ATI_text_fragment_shader
  3508. GL_TEXT_FRAGMENT_SHADER_ATI = $8200;
  3509. // GL_ATI_texture_env_combine3
  3510. GL_MODULATE_ADD_ATI = $8744;
  3511. GL_MODULATE_SIGNED_ADD_ATI = $8745;
  3512. GL_MODULATE_SUBTRACT_ATI = $8746;
  3513. // GL_ATI_texture_float
  3514. GL_RGBA_FLOAT32_ATI = $8814;
  3515. GL_RGB_FLOAT32_ATI = $8815;
  3516. GL_ALPHA_FLOAT32_ATI = $8816;
  3517. GL_INTENSITY_FLOAT32_ATI = $8817;
  3518. GL_LUMINANCE_FLOAT32_ATI = $8818;
  3519. GL_LUMINANCE_ALPHA_FLOAT32_ATI = $8819;
  3520. GL_RGBA_FLOAT16_ATI = $881A;
  3521. GL_RGB_FLOAT16_ATI = $881B;
  3522. GL_ALPHA_FLOAT16_ATI = $881C;
  3523. GL_INTENSITY_FLOAT16_ATI = $881D;
  3524. GL_LUMINANCE_FLOAT16_ATI = $881E;
  3525. GL_LUMINANCE_ALPHA_FLOAT16_ATI = $881F;
  3526. // GL_ATI_texture_mirror_once
  3527. GL_MIRROR_CLAMP_ATI = $8742;
  3528. GL_MIRROR_CLAMP_TO_EDGE_ATI = $8743;
  3529. // GL_ATI_vertex_array_object
  3530. GL_STATIC_ATI = $8760;
  3531. GL_DYNAMIC_ATI = $8761;
  3532. GL_PRESERVE_ATI = $8762;
  3533. GL_DISCARD_ATI = $8763;
  3534. GL_OBJECT_BUFFER_SIZE_ATI = $8764;
  3535. GL_OBJECT_BUFFER_USAGE_ATI = $8765;
  3536. GL_ARRAY_OBJECT_BUFFER_ATI = $8766;
  3537. GL_ARRAY_OBJECT_OFFSET_ATI = $8767;
  3538. // GL_ATI_vertex_streams
  3539. GL_MAX_VERTEX_STREAMS_ATI = $876B;
  3540. GL_VERTEX_STREAM0_ATI = $876C;
  3541. GL_VERTEX_STREAM1_ATI = $876D;
  3542. GL_VERTEX_STREAM2_ATI = $876E;
  3543. GL_VERTEX_STREAM3_ATI = $876F;
  3544. GL_VERTEX_STREAM4_ATI = $8770;
  3545. GL_VERTEX_STREAM5_ATI = $8771;
  3546. GL_VERTEX_STREAM6_ATI = $8772;
  3547. GL_VERTEX_STREAM7_ATI = $8773;
  3548. GL_VERTEX_SOURCE_ATI = $8774;
  3549. // GL_ATI_meminfo
  3550. GL_VBO_FREE_MEMORY_ATI = $87FB;
  3551. GL_TEXTURE_FREE_MEMORY_ATI = $87FC;
  3552. GL_RENDERBUFFER_FREE_MEMORY_ATI = $87FD;
  3553. // GL_AMD_performance_monitor
  3554. GL_COUNTER_TYPE_AMD = $8BC0;
  3555. GL_COUNTER_RANGE_AMD = $8BC1;
  3556. GL_UNSIGNED_INT64_AMD = $8BC2;
  3557. GL_PERCENTAGE_AMD = $8BC3;
  3558. GL_PERFMON_RESULT_AVAILABLE_AMD = $8BC4;
  3559. GL_PERFMON_RESULT_SIZE_AMD = $8BC5;
  3560. GL_PERFMON_RESULT_AMD = $8BC6;
  3561. // GL_AMD_vertex_shader_tesselator
  3562. GL_SAMPLER_BUFFER_AMD = $9001;
  3563. GL_INT_SAMPLER_BUFFER_AMD = $9002;
  3564. GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD = $9003;
  3565. GL_TESSELLATION_MODE_AMD = $9004;
  3566. GL_TESSELLATION_FACTOR_AMD = $9005;
  3567. GL_DISCRETE_AMD = $9006;
  3568. GL_CONTINUOUS_AMD = $9007;
  3569. // GL_AMD_seamless_cubemap_per_texture
  3570. { reuse GL_TEXTURE_CUBE_MAP_SEAMLESS }
  3571. // GL_AMD_name_gen_delete
  3572. GL_DATA_BUFFER_AMD = $9151;
  3573. GL_PERFORMANCE_MONITOR_AMD = $9152;
  3574. GL_QUERY_OBJECT_AMD = $9153;
  3575. GL_VERTEX_ARRAY_OBJECT_AMD = $9154;
  3576. GL_SAMPLER_OBJECT_AMD = $9155;
  3577. // GL_AMD_debug_output
  3578. GL_MAX_DEBUG_LOGGED_MESSAGES_AMD = $9144;
  3579. GL_DEBUG_LOGGED_MESSAGES_AMD = $9145;
  3580. GL_DEBUG_SEVERITY_HIGH_AMD = $9146;
  3581. GL_DEBUG_SEVERITY_MEDIUM_AMD = $9147;
  3582. GL_DEBUG_SEVERITY_LOW_AMD = $9148;
  3583. GL_DEBUG_CATEGORY_API_ERROR_AMD = $9149;
  3584. GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD = $914A;
  3585. GL_DEBUG_CATEGORY_DEPRECATION_AMD = $914B;
  3586. GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD = $914C;
  3587. GL_DEBUG_CATEGORY_PERFORMANCE_AMD = $914D;
  3588. GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD = $914E;
  3589. GL_DEBUG_CATEGORY_APPLICATION_AMD = $914F;
  3590. GL_DEBUG_CATEGORY_OTHER_AMD = $9150;
  3591. // GL_AMD_depth_clamp_separate
  3592. GL_DEPTH_CLAMP_NEAR_AMD = $901E;
  3593. GL_DEPTH_CLAMP_FAR_AMD = $901F;
  3594. // GL_EXT_422_pixels
  3595. GL_422_EXT = $80CC;
  3596. GL_422_REV_EXT = $80CD;
  3597. GL_422_AVERAGE_EXT = $80CE;
  3598. GL_422_REV_AVERAGE_EXT = $80CF;
  3599. // GL_EXT_abgr
  3600. GL_ABGR_EXT = $8000;
  3601. // GL_EXT_bgra
  3602. GL_BGR_EXT = $80E0;
  3603. GL_BGRA_EXT = $80E1;
  3604. // GL_EXT_blend_color
  3605. GL_CONSTANT_COLOR_EXT = $8001;
  3606. GL_ONE_MINUS_CONSTANT_COLOR_EXT = $8002;
  3607. GL_CONSTANT_ALPHA_EXT = $8003;
  3608. GL_ONE_MINUS_CONSTANT_ALPHA_EXT = $8004;
  3609. GL_BLEND_COLOR_EXT = $8005;
  3610. // GL_EXT_blend_func_separate
  3611. GL_BLEND_DST_RGB_EXT = $80C8;
  3612. GL_BLEND_SRC_RGB_EXT = $80C9;
  3613. GL_BLEND_DST_ALPHA_EXT = $80CA;
  3614. GL_BLEND_SRC_ALPHA_EXT = $80CB;
  3615. // GL_EXT_blend_minmax
  3616. GL_FUNC_ADD_EXT = $8006;
  3617. GL_MIN_EXT = $8007;
  3618. GL_MAX_EXT = $8008;
  3619. GL_BLEND_EQUATION_EXT = $8009;
  3620. // GL_EXT_blend_subtract
  3621. GL_FUNC_SUBTRACT_EXT = $800A;
  3622. GL_FUNC_REVERSE_SUBTRACT_EXT = $800B;
  3623. // GL_EXT_clip_volume_hint
  3624. GL_CLIP_VOLUME_CLIPPING_HINT_EXT = $80F0;
  3625. // GL_EXT_cmyka
  3626. GL_CMYK_EXT = $800C;
  3627. GL_CMYKA_EXT = $800D;
  3628. GL_PACK_CMYK_HINT_EXT = $800E;
  3629. GL_UNPACK_CMYK_HINT_EXT = $800F;
  3630. // GL_EXT_compiled_vertex_array
  3631. GL_ARRAY_ELEMENT_LOCK_FIRST_EXT = $81A8;
  3632. GL_ARRAY_ELEMENT_LOCK_COUNT_EXT = $81A9;
  3633. // GL_EXT_convolution
  3634. GL_CONVOLUTION_1D_EXT = $8010;
  3635. GL_CONVOLUTION_2D_EXT = $8011;
  3636. GL_SEPARABLE_2D_EXT = $8012;
  3637. GL_CONVOLUTION_BORDER_MODE_EXT = $8013;
  3638. GL_CONVOLUTION_FILTER_SCALE_EXT = $8014;
  3639. GL_CONVOLUTION_FILTER_BIAS_EXT = $8015;
  3640. GL_REDUCE_EXT = $8016;
  3641. GL_CONVOLUTION_FORMAT_EXT = $8017;
  3642. GL_CONVOLUTION_WIDTH_EXT = $8018;
  3643. GL_CONVOLUTION_HEIGHT_EXT = $8019;
  3644. GL_MAX_CONVOLUTION_WIDTH_EXT = $801A;
  3645. GL_MAX_CONVOLUTION_HEIGHT_EXT = $801B;
  3646. GL_POST_CONVOLUTION_RED_SCALE_EXT = $801C;
  3647. GL_POST_CONVOLUTION_GREEN_SCALE_EXT = $801D;
  3648. GL_POST_CONVOLUTION_BLUE_SCALE_EXT = $801E;
  3649. GL_POST_CONVOLUTION_ALPHA_SCALE_EXT = $801F;
  3650. GL_POST_CONVOLUTION_RED_BIAS_EXT = $8020;
  3651. GL_POST_CONVOLUTION_GREEN_BIAS_EXT = $8021;
  3652. GL_POST_CONVOLUTION_BLUE_BIAS_EXT = $8022;
  3653. GL_POST_CONVOLUTION_ALPHA_BIAS_EXT = $8023;
  3654. // GL_EXT_coordinate_frame
  3655. GL_TANGENT_ARRAY_EXT = $8439;
  3656. GL_BINORMAL_ARRAY_EXT = $843A;
  3657. GL_CURRENT_TANGENT_EXT = $843B;
  3658. GL_CURRENT_BINORMAL_EXT = $843C;
  3659. GL_TANGENT_ARRAY_TYPE_EXT = $843E;
  3660. GL_TANGENT_ARRAY_STRIDE_EXT = $843F;
  3661. GL_BINORMAL_ARRAY_TYPE_EXT = $8440;
  3662. GL_BINORMAL_ARRAY_STRIDE_EXT = $8441;
  3663. GL_TANGENT_ARRAY_POINTER_EXT = $8442;
  3664. GL_BINORMAL_ARRAY_POINTER_EXT = $8443;
  3665. GL_MAP1_TANGENT_EXT = $8444;
  3666. GL_MAP2_TANGENT_EXT = $8445;
  3667. GL_MAP1_BINORMAL_EXT = $8446;
  3668. GL_MAP2_BINORMAL_EXT = $8447;
  3669. // GL_EXT_cull_vertex
  3670. GL_CULL_VERTEX_EXT = $81AA;
  3671. GL_CULL_VERTEX_EYE_POSITION_EXT = $81AB;
  3672. GL_CULL_VERTEX_OBJECT_POSITION_EXT = $81AC;
  3673. // GL_EXT_draw_range_elements
  3674. GL_MAX_ELEMENTS_VERTICES_EXT = $80E8;
  3675. GL_MAX_ELEMENTS_INDICES_EXT = $80E9;
  3676. // GL_EXT_fog_coord
  3677. GL_FOG_COORDINATE_SOURCE_EXT = $8450;
  3678. GL_FOG_COORDINATE_EXT = $8451;
  3679. GL_FRAGMENT_DEPTH_EXT = $8452;
  3680. GL_CURRENT_FOG_COORDINATE_EXT = $8453;
  3681. GL_FOG_COORDINATE_ARRAY_TYPE_EXT = $8454;
  3682. GL_FOG_COORDINATE_ARRAY_STRIDE_EXT = $8455;
  3683. GL_FOG_COORDINATE_ARRAY_POINTER_EXT = $8456;
  3684. GL_FOG_COORDINATE_ARRAY_EXT = $8457;
  3685. // GL_EXT_framebuffer_object
  3686. GL_FRAMEBUFFER_EXT = $8D40;
  3687. GL_RENDERBUFFER_EXT = $8D41;
  3688. GL_STENCIL_INDEX_EXT = $8D45;
  3689. GL_STENCIL_INDEX1_EXT = $8D46;
  3690. GL_STENCIL_INDEX4_EXT = $8D47;
  3691. GL_STENCIL_INDEX8_EXT = $8D48;
  3692. GL_STENCIL_INDEX16_EXT = $8D49;
  3693. GL_RENDERBUFFER_WIDTH_EXT = $8D42;
  3694. GL_RENDERBUFFER_HEIGHT_EXT = $8D43;
  3695. GL_RENDERBUFFER_INTERNAL_FORMAT_EXT = $8D44;
  3696. GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = $8CD0;
  3697. GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = $8CD1;
  3698. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = $8CD2;
  3699. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = $8CD3;
  3700. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = $8CD4;
  3701. GL_COLOR_ATTACHMENT0_EXT = $8CE0;
  3702. GL_COLOR_ATTACHMENT1_EXT = $8CE1;
  3703. GL_COLOR_ATTACHMENT2_EXT = $8CE2;
  3704. GL_COLOR_ATTACHMENT3_EXT = $8CE3;
  3705. GL_COLOR_ATTACHMENT4_EXT = $8CE4;
  3706. GL_COLOR_ATTACHMENT5_EXT = $8CE5;
  3707. GL_COLOR_ATTACHMENT6_EXT = $8CE6;
  3708. GL_COLOR_ATTACHMENT7_EXT = $8CE7;
  3709. GL_COLOR_ATTACHMENT8_EXT = $8CE8;
  3710. GL_COLOR_ATTACHMENT9_EXT = $8CE9;
  3711. GL_COLOR_ATTACHMENT10_EXT = $8CEA;
  3712. GL_COLOR_ATTACHMENT11_EXT = $8CEB;
  3713. GL_COLOR_ATTACHMENT12_EXT = $8CEC;
  3714. GL_COLOR_ATTACHMENT13_EXT = $8CED;
  3715. GL_COLOR_ATTACHMENT14_EXT = $8CEE;
  3716. GL_COLOR_ATTACHMENT15_EXT = $8CEF;
  3717. GL_DEPTH_ATTACHMENT_EXT = $8D00;
  3718. GL_STENCIL_ATTACHMENT_EXT = $8D20;
  3719. GL_FRAMEBUFFER_COMPLETE_EXT = $8CD5;
  3720. GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = $8CD6;
  3721. GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = $8CD7;
  3722. GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT = $8CD8;
  3723. GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = $8CD9;
  3724. GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = $8CDA;
  3725. GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = $8CDB;
  3726. GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = $8CDC;
  3727. GL_FRAMEBUFFER_UNSUPPORTED_EXT = $8CDD;
  3728. GL_FRAMEBUFFER_STATUS_ERROR_EXT = $8CDE;
  3729. GL_FRAMEBUFFER_BINDING_EXT = $8CA6;
  3730. GL_RENDERBUFFER_BINDING_EXT = $8CA7;
  3731. GL_MAX_COLOR_ATTACHMENTS_EXT = $8CDF;
  3732. GL_MAX_RENDERBUFFER_SIZE_EXT = $84E8;
  3733. GL_INVALID_FRAMEBUFFER_OPERATION_EXT = $0506;
  3734. // GL_EXT_histogram
  3735. GL_HISTOGRAM_EXT = $8024;
  3736. GL_PROXY_HISTOGRAM_EXT = $8025;
  3737. GL_HISTOGRAM_WIDTH_EXT = $8026;
  3738. GL_HISTOGRAM_FORMAT_EXT = $8027;
  3739. GL_HISTOGRAM_RED_SIZE_EXT = $8028;
  3740. GL_HISTOGRAM_GREEN_SIZE_EXT = $8029;
  3741. GL_HISTOGRAM_BLUE_SIZE_EXT = $802A;
  3742. GL_HISTOGRAM_ALPHA_SIZE_EXT = $802B;
  3743. GL_HISTOGRAM_LUMINANCE_SIZE_EXT = $802C;
  3744. GL_HISTOGRAM_SINK_EXT = $802D;
  3745. GL_MINMAX_EXT = $802E;
  3746. GL_MINMAX_FORMAT_EXT = $802F;
  3747. GL_MINMAX_SINK_EXT = $8030;
  3748. GL_TABLE_TOO_LARGE_EXT = $8031;
  3749. // GL_EXT_index_array_formats
  3750. GL_IUI_V2F_EXT = $81AD;
  3751. GL_IUI_V3F_EXT = $81AE;
  3752. GL_IUI_N3F_V2F_EXT = $81AF;
  3753. GL_IUI_N3F_V3F_EXT = $81B0;
  3754. GL_T2F_IUI_V2F_EXT = $81B1;
  3755. GL_T2F_IUI_V3F_EXT = $81B2;
  3756. GL_T2F_IUI_N3F_V2F_EXT = $81B3;
  3757. GL_T2F_IUI_N3F_V3F_EXT = $81B4;
  3758. // GL_EXT_index_func
  3759. GL_INDEX_TEST_EXT = $81B5;
  3760. GL_INDEX_TEST_FUNC_EXT = $81B6;
  3761. GL_INDEX_TEST_REF_EXT = $81B7;
  3762. // GL_EXT_index_material
  3763. GL_INDEX_MATERIAL_EXT = $81B8;
  3764. GL_INDEX_MATERIAL_PARAMETER_EXT = $81B9;
  3765. GL_INDEX_MATERIAL_FACE_EXT = $81BA;
  3766. // GL_EXT_light_texture
  3767. GL_FRAGMENT_MATERIAL_EXT = $8349;
  3768. GL_FRAGMENT_NORMAL_EXT = $834A;
  3769. GL_FRAGMENT_COLOR_EXT = $834C;
  3770. GL_ATTENUATION_EXT = $834D;
  3771. GL_SHADOW_ATTENUATION_EXT = $834E;
  3772. GL_TEXTURE_APPLICATION_MODE_EXT = $834F;
  3773. GL_TEXTURE_LIGHT_EXT = $8350;
  3774. GL_TEXTURE_MATERIAL_FACE_EXT = $8351;
  3775. GL_TEXTURE_MATERIAL_PARAMETER_EXT = $8352;
  3776. // GL_EXT_multisample
  3777. GL_MULTISAMPLE_EXT = $809D;
  3778. GL_SAMPLE_ALPHA_TO_MASK_EXT = $809E;
  3779. GL_SAMPLE_ALPHA_TO_ONE_EXT = $809F;
  3780. GL_SAMPLE_MASK_EXT = $80A0;
  3781. GL_1PASS_EXT = $80A1;
  3782. GL_2PASS_0_EXT = $80A2;
  3783. GL_2PASS_1_EXT = $80A3;
  3784. GL_4PASS_0_EXT = $80A4;
  3785. GL_4PASS_1_EXT = $80A5;
  3786. GL_4PASS_2_EXT = $80A6;
  3787. GL_4PASS_3_EXT = $80A7;
  3788. GL_SAMPLE_BUFFERS_EXT = $80A8;
  3789. GL_SAMPLES_EXT = $80A9;
  3790. GL_SAMPLE_MASK_VALUE_EXT = $80AA;
  3791. GL_SAMPLE_MASK_INVERT_EXT = $80AB;
  3792. GL_SAMPLE_PATTERN_EXT = $80AC;
  3793. GL_MULTISAMPLE_BIT_EXT = $20000000;
  3794. // GL_EXT_packed_pixels
  3795. GL_UNSIGNED_BYTE_3_3_2_EXT = $8032;
  3796. GL_UNSIGNED_SHORT_4_4_4_4_EXT = $8033;
  3797. GL_UNSIGNED_SHORT_5_5_5_1_EXT = $8034;
  3798. GL_UNSIGNED_INT_8_8_8_8_EXT = $8035;
  3799. GL_UNSIGNED_INT_10_10_10_2_EXT = $8036;
  3800. // GL_EXT_paletted_texture
  3801. GL_COLOR_INDEX1_EXT = $80E2;
  3802. GL_COLOR_INDEX2_EXT = $80E3;
  3803. GL_COLOR_INDEX4_EXT = $80E4;
  3804. GL_COLOR_INDEX8_EXT = $80E5;
  3805. GL_COLOR_INDEX12_EXT = $80E6;
  3806. GL_COLOR_INDEX16_EXT = $80E7;
  3807. GL_TEXTURE_INDEX_SIZE_EXT = $80ED;
  3808. // GL_EXT_pixel_transform
  3809. GL_PIXEL_TRANSFORM_2D_EXT = $8330;
  3810. GL_PIXEL_MAG_FILTER_EXT = $8331;
  3811. GL_PIXEL_MIN_FILTER_EXT = $8332;
  3812. GL_PIXEL_CUBIC_WEIGHT_EXT = $8333;
  3813. GL_CUBIC_EXT = $8334;
  3814. GL_AVERAGE_EXT = $8335;
  3815. GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = $8336;
  3816. GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = $8337;
  3817. GL_PIXEL_TRANSFORM_2D_MATRIX_EXT = $8338;
  3818. // GL_EXT_point_parameters
  3819. GL_POINT_SIZE_MIN_EXT = $8126;
  3820. GL_POINT_SIZE_MAX_EXT = $8127;
  3821. GL_POINT_FADE_THRESHOLD_SIZE_EXT = $8128;
  3822. GL_DISTANCE_ATTENUATION_EXT = $8129;
  3823. // GL_EXT_polygon_offset
  3824. GL_POLYGON_OFFSET_EXT = $8037;
  3825. GL_POLYGON_OFFSET_FACTOR_EXT = $8038;
  3826. GL_POLYGON_OFFSET_BIAS_EXT = $8039;
  3827. // GL_EXT_rescale_normal
  3828. GL_RESCALE_NORMAL_EXT = $803A;
  3829. // GL_EXT_secondary_color
  3830. GL_COLOR_SUM_EXT = $8458;
  3831. GL_CURRENT_SECONDARY_COLOR_EXT = $8459;
  3832. GL_SECONDARY_COLOR_ARRAY_SIZE_EXT = $845A;
  3833. GL_SECONDARY_COLOR_ARRAY_TYPE_EXT = $845B;
  3834. GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT = $845C;
  3835. GL_SECONDARY_COLOR_ARRAY_POINTER_EXT = $845D;
  3836. GL_SECONDARY_COLOR_ARRAY_EXT = $845E;
  3837. // GL_EXT_separate_specular_color
  3838. GL_LIGHT_MODEL_COLOR_CONTROL_EXT = $81F8;
  3839. GL_SINGLE_COLOR_EXT = $81F9;
  3840. GL_SEPARATE_SPECULAR_COLOR_EXT = $81FA;
  3841. // GL_EXT_shared_texture_palette
  3842. GL_SHARED_TEXTURE_PALETTE_EXT = $81FB;
  3843. // GL_EXT_stencil_two_side
  3844. GL_STENCIL_TEST_TWO_SIDE_EXT = $8910;
  3845. GL_ACTIVE_STENCIL_FACE_EXT = $8911;
  3846. // GL_EXT_stencil_wrap
  3847. GL_INCR_WRAP_EXT = $8507;
  3848. GL_DECR_WRAP_EXT = $8508;
  3849. // GL_EXT_texture
  3850. GL_ALPHA4_EXT = $803B;
  3851. GL_ALPHA8_EXT = $803C;
  3852. GL_ALPHA12_EXT = $803D;
  3853. GL_ALPHA16_EXT = $803E;
  3854. GL_LUMINANCE4_EXT = $803F;
  3855. GL_LUMINANCE8_EXT = $8040;
  3856. GL_LUMINANCE12_EXT = $8041;
  3857. GL_LUMINANCE16_EXT = $8042;
  3858. GL_LUMINANCE4_ALPHA4_EXT = $8043;
  3859. GL_LUMINANCE6_ALPHA2_EXT = $8044;
  3860. GL_LUMINANCE8_ALPHA8_EXT = $8045;
  3861. GL_LUMINANCE12_ALPHA4_EXT = $8046;
  3862. GL_LUMINANCE12_ALPHA12_EXT = $8047;
  3863. GL_LUMINANCE16_ALPHA16_EXT = $8048;
  3864. GL_INTENSITY_EXT = $8049;
  3865. GL_INTENSITY4_EXT = $804A;
  3866. GL_INTENSITY8_EXT = $804B;
  3867. GL_INTENSITY12_EXT = $804C;
  3868. GL_INTENSITY16_EXT = $804D;
  3869. GL_RGB2_EXT = $804E;
  3870. GL_RGB4_EXT = $804F;
  3871. GL_RGB5_EXT = $8050;
  3872. GL_RGB8_EXT = $8051;
  3873. GL_RGB10_EXT = $8052;
  3874. GL_RGB12_EXT = $8053;
  3875. GL_RGB16_EXT = $8054;
  3876. GL_RGBA2_EXT = $8055;
  3877. GL_RGBA4_EXT = $8056;
  3878. GL_RGB5_A1_EXT = $8057;
  3879. GL_RGBA8_EXT = $8058;
  3880. GL_RGB10_A2_EXT = $8059;
  3881. GL_RGBA12_EXT = $805A;
  3882. GL_RGBA16_EXT = $805B;
  3883. GL_TEXTURE_RED_SIZE_EXT = $805C;
  3884. GL_TEXTURE_GREEN_SIZE_EXT = $805D;
  3885. GL_TEXTURE_BLUE_SIZE_EXT = $805E;
  3886. GL_TEXTURE_ALPHA_SIZE_EXT = $805F;
  3887. GL_TEXTURE_LUMINANCE_SIZE_EXT = $8060;
  3888. GL_TEXTURE_INTENSITY_SIZE_EXT = $8061;
  3889. GL_REPLACE_EXT = $8062;
  3890. GL_PROXY_TEXTURE_1D_EXT = $8063;
  3891. GL_PROXY_TEXTURE_2D_EXT = $8064;
  3892. GL_TEXTURE_TOO_LARGE_EXT = $8065;
  3893. // GL_EXT_texture3D
  3894. GL_PACK_SKIP_IMAGES_EXT = $806B;
  3895. GL_PACK_IMAGE_HEIGHT_EXT = $806C;
  3896. GL_UNPACK_SKIP_IMAGES_EXT = $806D;
  3897. GL_UNPACK_IMAGE_HEIGHT_EXT = $806E;
  3898. GL_TEXTURE_3D_EXT = $806F;
  3899. GL_PROXY_TEXTURE_3D_EXT = $8070;
  3900. GL_TEXTURE_DEPTH_EXT = $8071;
  3901. GL_TEXTURE_WRAP_R_EXT = $8072;
  3902. GL_MAX_3D_TEXTURE_SIZE_EXT = $8073;
  3903. // GL_EXT_texture_compression_s3tc
  3904. GL_COMPRESSED_RGB_S3TC_DXT1_EXT = $83F0;
  3905. GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = $83F1;
  3906. GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = $83F2;
  3907. GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = $83F3;
  3908. // GL_EXT_texture_cube_map
  3909. GL_NORMAL_MAP_EXT = $8511;
  3910. GL_REFLECTION_MAP_EXT = $8512;
  3911. GL_TEXTURE_CUBE_MAP_EXT = $8513;
  3912. GL_TEXTURE_BINDING_CUBE_MAP_EXT = $8514;
  3913. GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT = $8515;
  3914. GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = $8516;
  3915. GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = $8517;
  3916. GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = $8518;
  3917. GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = $8519;
  3918. GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = $851A;
  3919. GL_PROXY_TEXTURE_CUBE_MAP_EXT = $851B;
  3920. GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT = $851C;
  3921. // GL_EXT_texture_edge_clamp
  3922. GL_CLAMP_TO_EDGE_EXT = $812F;
  3923. // GL_EXT_texture_env_combine
  3924. GL_COMBINE_EXT = $8570;
  3925. GL_COMBINE_RGB_EXT = $8571;
  3926. GL_COMBINE_ALPHA_EXT = $8572;
  3927. GL_RGB_SCALE_EXT = $8573;
  3928. GL_ADD_SIGNED_EXT = $8574;
  3929. GL_INTERPOLATE_EXT = $8575;
  3930. GL_CONSTANT_EXT = $8576;
  3931. GL_PRIMARY_COLOR_EXT = $8577;
  3932. GL_PREVIOUS_EXT = $8578;
  3933. GL_SOURCE0_RGB_EXT = $8580;
  3934. GL_SOURCE1_RGB_EXT = $8581;
  3935. GL_SOURCE2_RGB_EXT = $8582;
  3936. GL_SOURCE0_ALPHA_EXT = $8588;
  3937. GL_SOURCE1_ALPHA_EXT = $8589;
  3938. GL_SOURCE2_ALPHA_EXT = $858A;
  3939. GL_OPERAND0_RGB_EXT = $8590;
  3940. GL_OPERAND1_RGB_EXT = $8591;
  3941. GL_OPERAND2_RGB_EXT = $8592;
  3942. GL_OPERAND0_ALPHA_EXT = $8598;
  3943. GL_OPERAND1_ALPHA_EXT = $8599;
  3944. GL_OPERAND2_ALPHA_EXT = $859A;
  3945. // GL_EXT_texture_env_dot3
  3946. GL_DOT3_RGB_EXT = $8740;
  3947. GL_DOT3_RGBA_EXT = $8741;
  3948. // GL_EXT_texture_filter_anisotropic
  3949. GL_TEXTURE_MAX_ANISOTROPY_EXT = $84FE;
  3950. GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = $84FF;
  3951. // GL_EXT_texture_lod_bias
  3952. GL_MAX_TEXTURE_LOD_BIAS_EXT = $84FD;
  3953. GL_TEXTURE_FILTER_CONTROL_EXT = $8500;
  3954. GL_TEXTURE_LOD_BIAS_EXT = $8501;
  3955. // GL_EXT_texture_object
  3956. GL_TEXTURE_PRIORITY_EXT = $8066;
  3957. GL_TEXTURE_RESIDENT_EXT = $8067;
  3958. GL_TEXTURE_1D_BINDING_EXT = $8068;
  3959. GL_TEXTURE_2D_BINDING_EXT = $8069;
  3960. GL_TEXTURE_3D_BINDING_EXT = $806A;
  3961. // GL_EXT_texture_perturb_normal
  3962. GL_PERTURB_EXT = $85AE;
  3963. GL_TEXTURE_NORMAL_EXT = $85AF;
  3964. // GL_EXT_texture_rectangle
  3965. GL_TEXTURE_RECTANGLE_EXT = $84F5;
  3966. GL_TEXTURE_BINDING_RECTANGLE_EXT = $84F6;
  3967. GL_PROXY_TEXTURE_RECTANGLE_EXT = $84F7;
  3968. GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT = $84F8;
  3969. // GL_EXT_vertex_array
  3970. GL_VERTEX_ARRAY_EXT = $8074;
  3971. GL_NORMAL_ARRAY_EXT = $8075;
  3972. GL_COLOR_ARRAY_EXT = $8076;
  3973. GL_INDEX_ARRAY_EXT = $8077;
  3974. GL_TEXTURE_COORD_ARRAY_EXT = $8078;
  3975. GL_EDGE_FLAG_ARRAY_EXT = $8079;
  3976. GL_VERTEX_ARRAY_SIZE_EXT = $807A;
  3977. GL_VERTEX_ARRAY_TYPE_EXT = $807B;
  3978. GL_VERTEX_ARRAY_STRIDE_EXT = $807C;
  3979. GL_VERTEX_ARRAY_COUNT_EXT = $807D;
  3980. GL_NORMAL_ARRAY_TYPE_EXT = $807E;
  3981. GL_NORMAL_ARRAY_STRIDE_EXT = $807F;
  3982. GL_NORMAL_ARRAY_COUNT_EXT = $8080;
  3983. GL_COLOR_ARRAY_SIZE_EXT = $8081;
  3984. GL_COLOR_ARRAY_TYPE_EXT = $8082;
  3985. GL_COLOR_ARRAY_STRIDE_EXT = $8083;
  3986. GL_COLOR_ARRAY_COUNT_EXT = $8084;
  3987. GL_INDEX_ARRAY_TYPE_EXT = $8085;
  3988. GL_INDEX_ARRAY_STRIDE_EXT = $8086;
  3989. GL_INDEX_ARRAY_COUNT_EXT = $8087;
  3990. GL_TEXTURE_COORD_ARRAY_SIZE_EXT = $8088;
  3991. GL_TEXTURE_COORD_ARRAY_TYPE_EXT = $8089;
  3992. GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = $808A;
  3993. GL_TEXTURE_COORD_ARRAY_COUNT_EXT = $808B;
  3994. GL_EDGE_FLAG_ARRAY_STRIDE_EXT = $808C;
  3995. GL_EDGE_FLAG_ARRAY_COUNT_EXT = $808D;
  3996. GL_VERTEX_ARRAY_POINTER_EXT = $808E;
  3997. GL_NORMAL_ARRAY_POINTER_EXT = $808F;
  3998. GL_COLOR_ARRAY_POINTER_EXT = $8090;
  3999. GL_INDEX_ARRAY_POINTER_EXT = $8091;
  4000. GL_TEXTURE_COORD_ARRAY_POINTER_EXT = $8092;
  4001. GL_EDGE_FLAG_ARRAY_POINTER_EXT = $8093;
  4002. // GL_EXT_vertex_shader
  4003. GL_VERTEX_SHADER_EXT = $8780;
  4004. GL_VERTEX_SHADER_BINDING_EXT = $8781;
  4005. GL_OP_INDEX_EXT = $8782;
  4006. GL_OP_NEGATE_EXT = $8783;
  4007. GL_OP_DOT3_EXT = $8784;
  4008. GL_OP_DOT4_EXT = $8785;
  4009. GL_OP_MUL_EXT = $8786;
  4010. GL_OP_ADD_EXT = $8787;
  4011. GL_OP_MADD_EXT = $8788;
  4012. GL_OP_FRAC_EXT = $8789;
  4013. GL_OP_MAX_EXT = $878A;
  4014. GL_OP_MIN_EXT = $878B;
  4015. GL_OP_SET_GE_EXT = $878C;
  4016. GL_OP_SET_LT_EXT = $878D;
  4017. GL_OP_CLAMP_EXT = $878E;
  4018. GL_OP_FLOOR_EXT = $878F;
  4019. GL_OP_ROUND_EXT = $8790;
  4020. GL_OP_EXP_BASE_2_EXT = $8791;
  4021. GL_OP_LOG_BASE_2_EXT = $8792;
  4022. GL_OP_POWER_EXT = $8793;
  4023. GL_OP_RECIP_EXT = $8794;
  4024. GL_OP_RECIP_SQRT_EXT = $8795;
  4025. GL_OP_SUB_EXT = $8796;
  4026. GL_OP_CROSS_PRODUCT_EXT = $8797;
  4027. GL_OP_MULTIPLY_MATRIX_EXT = $8798;
  4028. GL_OP_MOV_EXT = $8799;
  4029. GL_OUTPUT_VERTEX_EXT = $879A;
  4030. GL_OUTPUT_COLOR0_EXT = $879B;
  4031. GL_OUTPUT_COLOR1_EXT = $879C;
  4032. GL_OUTPUT_TEXTURE_COORD0_EXT = $879D;
  4033. GL_OUTPUT_TEXTURE_COORD1_EXT = $879E;
  4034. GL_OUTPUT_TEXTURE_COORD2_EXT = $879F;
  4035. GL_OUTPUT_TEXTURE_COORD3_EXT = $87A0;
  4036. GL_OUTPUT_TEXTURE_COORD4_EXT = $87A1;
  4037. GL_OUTPUT_TEXTURE_COORD5_EXT = $87A2;
  4038. GL_OUTPUT_TEXTURE_COORD6_EXT = $87A3;
  4039. GL_OUTPUT_TEXTURE_COORD7_EXT = $87A4;
  4040. GL_OUTPUT_TEXTURE_COORD8_EXT = $87A5;
  4041. GL_OUTPUT_TEXTURE_COORD9_EXT = $87A6;
  4042. GL_OUTPUT_TEXTURE_COORD10_EXT = $87A7;
  4043. GL_OUTPUT_TEXTURE_COORD11_EXT = $87A8;
  4044. GL_OUTPUT_TEXTURE_COORD12_EXT = $87A9;
  4045. GL_OUTPUT_TEXTURE_COORD13_EXT = $87AA;
  4046. GL_OUTPUT_TEXTURE_COORD14_EXT = $87AB;
  4047. GL_OUTPUT_TEXTURE_COORD15_EXT = $87AC;
  4048. GL_OUTPUT_TEXTURE_COORD16_EXT = $87AD;
  4049. GL_OUTPUT_TEXTURE_COORD17_EXT = $87AE;
  4050. GL_OUTPUT_TEXTURE_COORD18_EXT = $87AF;
  4051. GL_OUTPUT_TEXTURE_COORD19_EXT = $87B0;
  4052. GL_OUTPUT_TEXTURE_COORD20_EXT = $87B1;
  4053. GL_OUTPUT_TEXTURE_COORD21_EXT = $87B2;
  4054. GL_OUTPUT_TEXTURE_COORD22_EXT = $87B3;
  4055. GL_OUTPUT_TEXTURE_COORD23_EXT = $87B4;
  4056. GL_OUTPUT_TEXTURE_COORD24_EXT = $87B5;
  4057. GL_OUTPUT_TEXTURE_COORD25_EXT = $87B6;
  4058. GL_OUTPUT_TEXTURE_COORD26_EXT = $87B7;
  4059. GL_OUTPUT_TEXTURE_COORD27_EXT = $87B8;
  4060. GL_OUTPUT_TEXTURE_COORD28_EXT = $87B9;
  4061. GL_OUTPUT_TEXTURE_COORD29_EXT = $87BA;
  4062. GL_OUTPUT_TEXTURE_COORD30_EXT = $87BB;
  4063. GL_OUTPUT_TEXTURE_COORD31_EXT = $87BC;
  4064. GL_OUTPUT_FOG_EXT = $87BD;
  4065. GL_SCALAR_EXT = $87BE;
  4066. GL_VECTOR_EXT = $87BF;
  4067. GL_MATRIX_EXT = $87C0;
  4068. GL_VARIANT_EXT = $87C1;
  4069. GL_INVARIANT_EXT = $87C2;
  4070. GL_LOCAL_CONSTANT_EXT = $87C3;
  4071. GL_LOCAL_EXT = $87C4;
  4072. GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = $87C5;
  4073. GL_MAX_VERTEX_SHADER_VARIANTS_EXT = $87C6;
  4074. GL_MAX_VERTEX_SHADER_INVARIANTS_EXT = $87C7;
  4075. GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = $87C8;
  4076. GL_MAX_VERTEX_SHADER_LOCALS_EXT = $87C9;
  4077. GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = $87CA;
  4078. GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = $87CB;
  4079. GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = $87CC;
  4080. GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = $87CD;
  4081. GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = $87CE;
  4082. GL_VERTEX_SHADER_INSTRUCTIONS_EXT = $87CF;
  4083. GL_VERTEX_SHADER_VARIANTS_EXT = $87D0;
  4084. GL_VERTEX_SHADER_INVARIANTS_EXT = $87D1;
  4085. GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = $87D2;
  4086. GL_VERTEX_SHADER_LOCALS_EXT = $87D3;
  4087. GL_VERTEX_SHADER_OPTIMIZED_EXT = $87D4;
  4088. GL_X_EXT = $87D5;
  4089. GL_Y_EXT = $87D6;
  4090. GL_Z_EXT = $87D7;
  4091. GL_W_EXT = $87D8;
  4092. GL_NEGATIVE_X_EXT = $87D9;
  4093. GL_NEGATIVE_Y_EXT = $87DA;
  4094. GL_NEGATIVE_Z_EXT = $87DB;
  4095. GL_NEGATIVE_W_EXT = $87DC;
  4096. GL_ZERO_EXT = $87DD;
  4097. GL_ONE_EXT = $87DE;
  4098. GL_NEGATIVE_ONE_EXT = $87DF;
  4099. GL_NORMALIZED_RANGE_EXT = $87E0;
  4100. GL_FULL_RANGE_EXT = $87E1;
  4101. GL_CURRENT_VERTEX_EXT = $87E2;
  4102. GL_MVP_MATRIX_EXT = $87E3;
  4103. GL_VARIANT_VALUE_EXT = $87E4;
  4104. GL_VARIANT_DATATYPE_EXT = $87E5;
  4105. GL_VARIANT_ARRAY_STRIDE_EXT = $87E6;
  4106. GL_VARIANT_ARRAY_TYPE_EXT = $87E7;
  4107. GL_VARIANT_ARRAY_EXT = $87E8;
  4108. GL_VARIANT_ARRAY_POINTER_EXT = $87E9;
  4109. GL_INVARIANT_VALUE_EXT = $87EA;
  4110. GL_INVARIANT_DATATYPE_EXT = $87EB;
  4111. GL_LOCAL_CONSTANT_VALUE_EXT = $87EC;
  4112. GL_LOCAL_CONSTANT_DATATYPE_EXT = $87ED;
  4113. // GL_EXT_vertex_weighting
  4114. GL_MODELVIEW0_STACK_DEPTH_EXT = $0BA3;
  4115. GL_MODELVIEW1_STACK_DEPTH_EXT = $8502;
  4116. GL_MODELVIEW0_MATRIX_EXT = $0BA6;
  4117. GL_MODELVIEW1_MATRIX_EXT = $8506;
  4118. GL_VERTEX_WEIGHTING_EXT = $8509;
  4119. GL_MODELVIEW0_EXT = $1700;
  4120. GL_MODELVIEW1_EXT = $850A;
  4121. GL_CURRENT_VERTEX_WEIGHT_EXT = $850B;
  4122. GL_VERTEX_WEIGHT_ARRAY_EXT = $850C;
  4123. GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT = $850D;
  4124. GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT = $850E;
  4125. GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT = $850F;
  4126. GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT = $8510;
  4127. // GL_EXT_depth_bounds_test
  4128. GL_DEPTH_BOUNDS_TEST_EXT = $8890;
  4129. GL_DEPTH_BOUNDS_EXT = $8891;
  4130. // GL_EXT_texture_mirror_clamp
  4131. GL_MIRROR_CLAMP_EXT = $8742;
  4132. GL_MIRROR_CLAMP_TO_EDGE_EXT = $8743;
  4133. GL_MIRROR_CLAMP_TO_BORDER_EXT = $8912;
  4134. // GL_EXT_blend_equation_separate
  4135. GL_BLEND_EQUATION_RGB_EXT = $8009;
  4136. GL_BLEND_EQUATION_ALPHA_EXT = $883D;
  4137. // GL_EXT_pixel_buffer_object
  4138. GL_PIXEL_PACK_BUFFER_EXT = $88EB;
  4139. GL_PIXEL_UNPACK_BUFFER_EXT = $88EC;
  4140. GL_PIXEL_PACK_BUFFER_BINDING_EXT = $88ED;
  4141. GL_PIXEL_UNPACK_BUFFER_BINDING_EXT = $88EF;
  4142. // GL_EXT_stencil_clear_tag
  4143. GL_STENCIL_TAG_BITS_EXT = $88F2;
  4144. GL_STENCIL_CLEAR_TAG_VALUE_EXT = $88F3;
  4145. // GL_EXT_packed_depth_stencil
  4146. GL_DEPTH_STENCIL_EXT = $84F9;
  4147. GL_UNSIGNED_INT_24_8_EXT = $84FA;
  4148. GL_DEPTH24_STENCIL8_EXT = $88F0;
  4149. GL_TEXTURE_STENCIL_SIZE_EXT = $88F1;
  4150. // GL_EXT_texture_sRGB
  4151. GL_SRGB_EXT = $8C40;
  4152. GL_SRGB8_EXT = $8C41;
  4153. GL_SRGB_ALPHA_EXT = $8C42;
  4154. GL_SRGB8_ALPHA8_EXT = $8C43;
  4155. GL_SLUMINANCE_ALPHA_EXT = $8C44;
  4156. GL_SLUMINANCE8_ALPHA8_EXT = $8C45;
  4157. GL_SLUMINANCE_EXT = $8C46;
  4158. GL_SLUMINANCE8_EXT = $8C47;
  4159. GL_COMPRESSED_SRGB_EXT = $8C48;
  4160. GL_COMPRESSED_SRGB_ALPHA_EXT = $8C49;
  4161. GL_COMPRESSED_SLUMINANCE_EXT = $8C4A;
  4162. GL_COMPRESSED_SLUMINANCE_ALPHA_EXT = $8C4B;
  4163. GL_COMPRESSED_SRGB_S3TC_DXT1_EXT = $8C4C;
  4164. GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = $8C4D;
  4165. GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = $8C4E;
  4166. GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = $8C4F;
  4167. // GL_EXT_framebuffer_blit
  4168. GL_READ_FRAMEBUFFER_EXT = $8CA8;
  4169. GL_DRAW_FRAMEBUFFER_EXT = $8CA9;
  4170. GL_READ_FRAMEBUFFER_BINDING_EXT = GL_FRAMEBUFFER_BINDING_EXT;
  4171. GL_DRAW_FRAMEBUFFER_BINDING_EXT = $8CAA;
  4172. // GL_EXT_framebuffer_multisample
  4173. GL_RENDERBUFFER_SAMPLES_EXT = $8CAB;
  4174. GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = $8D56;
  4175. GL_MAX_SAMPLES_EXT = $8D57;
  4176. // GL_EXT_timer_query
  4177. GL_TIME_ELAPSED_EXT = $88BF;
  4178. // GL_EXT_bindable_uniform
  4179. GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT = $8DE2;
  4180. GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = $8DE3;
  4181. GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = $8DE4;
  4182. GL_MAX_BINDABLE_UNIFORM_SIZE_EXT = $8DED;
  4183. GL_UNIFORM_BUFFER_EXT = $8DEE;
  4184. GL_UNIFORM_BUFFER_BINDING_EXT = $8DEF;
  4185. // GL_EXT_framebuffer_sRGB
  4186. GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT = $20B2;
  4187. WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT = $20A9;
  4188. GL_FRAMEBUFFER_SRGB_EXT = $8DB9;
  4189. GL_FRAMEBUFFER_SRGB_CAPABLE_EXT = $8DBA;
  4190. // GL_EXT_geometry_shader4
  4191. GL_GEOMETRY_SHADER_EXT = $8DD9;
  4192. GL_GEOMETRY_VERTICES_OUT_EXT = $8DDA;
  4193. GL_GEOMETRY_INPUT_TYPE_EXT = $8DDB;
  4194. GL_GEOMETRY_OUTPUT_TYPE_EXT = $8DDC;
  4195. GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = $8C29;
  4196. GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT = $8DDD;
  4197. GL_MAX_VERTEX_VARYING_COMPONENTS_EXT = $8DDE;
  4198. GL_MAX_VARYING_COMPONENTS_EXT = $8B4B;
  4199. GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = $8DDF;
  4200. GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = $8DE0;
  4201. GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = $8DE1;
  4202. GL_LINES_ADJACENCY_EXT = $A;
  4203. GL_LINE_STRIP_ADJACENCY_EXT = $B;
  4204. GL_TRIANGLES_ADJACENCY_EXT = $C;
  4205. GL_TRIANGLE_STRIP_ADJACENCY_EXT = $D;
  4206. GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = $8DA8;
  4207. GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = $8DA9;
  4208. GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = $8DA7;
  4209. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = $8CD4;
  4210. GL_PROGRAM_POINT_SIZE_EXT = $8642;
  4211. // GL_EXT_gpu_shader4
  4212. GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT = $88FD;
  4213. GL_SAMPLER_1D_ARRAY_EXT = $8DC0;
  4214. GL_SAMPLER_2D_ARRAY_EXT = $8DC1;
  4215. GL_SAMPLER_BUFFER_EXT = $8DC2;
  4216. GL_SAMPLER_1D_ARRAY_SHADOW_EXT = $8DC3;
  4217. GL_SAMPLER_2D_ARRAY_SHADOW_EXT = $8DC4;
  4218. GL_SAMPLER_CUBE_SHADOW_EXT = $8DC5;
  4219. GL_UNSIGNED_INT_VEC2_EXT = $8DC6;
  4220. GL_UNSIGNED_INT_VEC3_EXT = $8DC7;
  4221. GL_UNSIGNED_INT_VEC4_EXT = $8DC8;
  4222. GL_INT_SAMPLER_1D_EXT = $8DC9;
  4223. GL_INT_SAMPLER_2D_EXT = $8DCA;
  4224. GL_INT_SAMPLER_3D_EXT = $8DCB;
  4225. GL_INT_SAMPLER_CUBE_EXT = $8DCC;
  4226. GL_INT_SAMPLER_2D_RECT_EXT = $8DCD;
  4227. GL_INT_SAMPLER_1D_ARRAY_EXT = $8DCE;
  4228. GL_INT_SAMPLER_2D_ARRAY_EXT = $8DCF;
  4229. GL_INT_SAMPLER_BUFFER_EXT = $8DD0;
  4230. GL_UNSIGNED_INT_SAMPLER_1D_EXT = $8DD1;
  4231. GL_UNSIGNED_INT_SAMPLER_2D_EXT = $8DD2;
  4232. GL_UNSIGNED_INT_SAMPLER_3D_EXT = $8DD3;
  4233. GL_UNSIGNED_INT_SAMPLER_CUBE_EXT = $8DD4;
  4234. GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT = $8DD5;
  4235. GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = $8DD6;
  4236. GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = $8DD7;
  4237. GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = $8DD8;
  4238. GL_MIN_PROGRAM_TEXEL_OFFSET_EXT = $8904;
  4239. GL_MAX_PROGRAM_TEXEL_OFFSET_EXT = $8905;
  4240. // GL_EXT_packed_float
  4241. GL_R11F_G11F_B10F_EXT = $8C3A;
  4242. GL_UNSIGNED_INT_10F_11F_11F_REV_EXT = $8C3B;
  4243. RGBA_SIGNED_COMPONENTS_EXT = $8C3C;
  4244. WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT = $20A8;
  4245. GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT = $20B1;
  4246. GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT = $00000008;
  4247. // GL_EXT_texture_array
  4248. GL_TEXTURE_1D_ARRAY_EXT = $8C18;
  4249. GL_TEXTURE_2D_ARRAY_EXT = $8C1A;
  4250. GL_PROXY_TEXTURE_2D_ARRAY_EXT = $8C1B;
  4251. GL_PROXY_TEXTURE_1D_ARRAY_EXT = $8C19;
  4252. GL_TEXTURE_BINDING_1D_ARRAY_EXT = $8C1C;
  4253. GL_TEXTURE_BINDING_2D_ARRAY_EXT = $8C1D;
  4254. GL_MAX_ARRAY_TEXTURE_LAYERS_EXT = $88FF;
  4255. GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT = $884E;
  4256. // GL_EXT_texture_buffer_object
  4257. GL_TEXTURE_BUFFER_EXT = $8C2A;
  4258. GL_MAX_TEXTURE_BUFFER_SIZE_EXT = $8C2B;
  4259. GL_TEXTURE_BINDING_BUFFER_EXT = $8C2C;
  4260. GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = $8C2D;
  4261. GL_TEXTURE_BUFFER_FORMAT_EXT = $8C2E;
  4262. // GL_EXT_texture_compression_latc
  4263. GL_COMPRESSED_LUMINANCE_LATC1_EXT = $8C70;
  4264. GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = $8C71;
  4265. GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = $8C72;
  4266. GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = $8C73;
  4267. // GL_EXT_texture_compression_rgtc
  4268. GL_COMPRESSED_RED_RGTC1_EXT = $8DBB;
  4269. GL_COMPRESSED_SIGNED_RED_RGTC1_EXT = $8DBC;
  4270. GL_COMPRESSED_RED_GREEN_RGTC2_EXT = $8DBD;
  4271. GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = $8DBE;
  4272. // GL_EXT_texture_integer
  4273. GL_RGBA_INTEGER_MODE_EXT = $8D9E;
  4274. GL_RGBA32UI_EXT = $8D70;
  4275. GL_RGB32UI_EXT = $8D71;
  4276. GL_ALPHA32UI_EXT = $8D72;
  4277. GL_INTENSITY32UI_EXT = $8D73;
  4278. GL_LUMINANCE32UI_EXT = $8D74;
  4279. GL_LUMINANCE_ALPHA32UI_EXT = $8D75;
  4280. GL_RGBA16UI_EXT = $8D76;
  4281. GL_RGB16UI_EXT = $8D77;
  4282. GL_ALPHA16UI_EXT = $8D78;
  4283. GL_INTENSITY16UI_EXT = $8D79;
  4284. GL_LUMINANCE16UI_EXT = $8D7A;
  4285. GL_LUMINANCE_ALPHA16UI_EXT = $8D7B;
  4286. GL_RGBA8UI_EXT = $8D7C;
  4287. GL_RGB8UI_EXT = $8D7D;
  4288. GL_ALPHA8UI_EXT = $8D7E;
  4289. GL_INTENSITY8UI_EXT = $8D7F;
  4290. GL_LUMINANCE8UI_EXT = $8D80;
  4291. GL_LUMINANCE_ALPHA8UI_EXT = $8D81;
  4292. GL_RGBA32I_EXT = $8D82;
  4293. GL_RGB32I_EXT = $8D83;
  4294. GL_ALPHA32I_EXT = $8D84;
  4295. GL_INTENSITY32I_EXT = $8D85;
  4296. GL_LUMINANCE32I_EXT = $8D86;
  4297. GL_LUMINANCE_ALPHA32I_EXT = $8D87;
  4298. GL_RGBA16I_EXT = $8D88;
  4299. GL_RGB16I_EXT = $8D89;
  4300. GL_ALPHA16I_EXT = $8D8A;
  4301. GL_INTENSITY16I_EXT = $8D8B;
  4302. GL_LUMINANCE16I_EXT = $8D8C;
  4303. GL_LUMINANCE_ALPHA16I_EXT = $8D8D;
  4304. GL_RGBA8I_EXT = $8D8E;
  4305. GL_RGB8I_EXT = $8D8F;
  4306. GL_ALPHA8I_EXT = $8D90;
  4307. GL_INTENSITY8I_EXT = $8D91;
  4308. GL_LUMINANCE8I_EXT = $8D92;
  4309. GL_LUMINANCE_ALPHA8I_EXT = $8D93;
  4310. GL_RED_INTEGER_EXT = $8D94;
  4311. GL_GREEN_INTEGER_EXT = $8D95;
  4312. GL_BLUE_INTEGER_EXT = $8D96;
  4313. GL_ALPHA_INTEGER_EXT = $8D97;
  4314. GL_RGB_INTEGER_EXT = $8D98;
  4315. GL_RGBA_INTEGER_EXT = $8D99;
  4316. GL_BGR_INTEGER_EXT = $8D9A;
  4317. GL_BGRA_INTEGER_EXT = $8D9B;
  4318. GL_LUMINANCE_INTEGER_EXT = $8D9C;
  4319. GL_LUMINANCE_ALPHA_INTEGER_EXT = $8D9D;
  4320. // GL_EXT_texture_shared_exponent
  4321. GL_RGB9_E5_EXT = $8C3D;
  4322. GL_UNSIGNED_INT_5_9_9_9_REV_EXT = $8C3E;
  4323. GL_TEXTURE_SHARED_SIZE_EXT = $8C3F;
  4324. // GL_EXT_transform_feedback
  4325. GL_TRANSFORM_FEEDBACK_BUFFER_EXT = $8C8E;
  4326. GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT = $8C84;
  4327. GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT = $8C85;
  4328. GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT = $8C8F;
  4329. GL_INTERLEAVED_ATTRIBS_EXT = $8C8C;
  4330. GL_SEPARATE_ATTRIBS_EXT = $8C8D;
  4331. GL_PRIMITIVES_GENERATED_EXT = $8C87;
  4332. GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = $8C88;
  4333. GL_RASTERIZER_DISCARD_EXT = $8C89;
  4334. GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = $8C8A;
  4335. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT = $8C8B;
  4336. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = $8C80;
  4337. GL_TRANSFORM_FEEDBACK_VARYINGS_EXT = $8C83;
  4338. GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT = $8C7F;
  4339. GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT = $8C76;
  4340. // GL_EXT_direct_state_access
  4341. GL_PROGRAM_MATRIX_EXT = $8E2D;
  4342. GL_TRANSPOSE_PROGRAM_MATRIX_EXT = $8E2E;
  4343. GL_PROGRAM_MATRIX_STACK_DEPTH_EXT = $8E2F;
  4344. // GL_EXT_texture_swizzle
  4345. GL_TEXTURE_SWIZZLE_R_EXT = $8E42;
  4346. GL_TEXTURE_SWIZZLE_G_EXT = $8E43;
  4347. GL_TEXTURE_SWIZZLE_B_EXT = $8E44;
  4348. GL_TEXTURE_SWIZZLE_A_EXT = $8E45;
  4349. GL_TEXTURE_SWIZZLE_RGBA_EXT = $8E46;
  4350. // GL_EXT_provoking_vertex
  4351. GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT = $8E4C;
  4352. GL_FIRST_VERTEX_CONVENTION_EXT = $8E4D;
  4353. GL_LAST_VERTEX_CONVENTION_EXT = $8E4E;
  4354. GL_PROVOKING_VERTEX_EXT = $8E4F;
  4355. // GL_EXT_texture_snorm
  4356. GL_ALPHA_SNORM = $9010;
  4357. GL_LUMINANCE_SNORM = $9011;
  4358. GL_LUMINANCE_ALPHA_SNORM = $9012;
  4359. GL_INTENSITY_SNORM = $9013;
  4360. GL_ALPHA8_SNORM = $9014;
  4361. GL_LUMINANCE8_SNORM = $9015;
  4362. GL_LUMINANCE8_ALPHA8_SNORM = $9016;
  4363. GL_INTENSITY8_SNORM = $9017;
  4364. GL_ALPHA16_SNORM = $9018;
  4365. GL_LUMINANCE16_SNORM = $9019;
  4366. GL_LUMINANCE16_ALPHA16_SNORM = $901A;
  4367. GL_INTENSITY16_SNORM = $901B;
  4368. // GL_EXT_separate_shader_objects
  4369. GL_ACTIVE_PROGRAM_EXT = $8B8D;
  4370. // GL_EXT_shader_image_load_store
  4371. GL_MAX_IMAGE_UNITS_EXT = $8F38;
  4372. GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT = $8F39;
  4373. GL_IMAGE_BINDING_NAME_EXT = $8F3A;
  4374. GL_IMAGE_BINDING_LEVEL_EXT = $8F3B;
  4375. GL_IMAGE_BINDING_LAYERED_EXT = $8F3C;
  4376. GL_IMAGE_BINDING_LAYER_EXT = $8F3D;
  4377. GL_IMAGE_BINDING_ACCESS_EXT = $8F3E;
  4378. GL_IMAGE_1D_EXT = $904C;
  4379. GL_IMAGE_2D_EXT = $904D;
  4380. GL_IMAGE_3D_EXT = $904E;
  4381. GL_IMAGE_2D_RECT_EXT = $904F;
  4382. GL_IMAGE_CUBE_EXT = $9050;
  4383. GL_IMAGE_BUFFER_EXT = $9051;
  4384. GL_IMAGE_1D_ARRAY_EXT = $9052;
  4385. GL_IMAGE_2D_ARRAY_EXT = $9053;
  4386. GL_IMAGE_CUBE_MAP_ARRAY_EXT = $9054;
  4387. GL_IMAGE_2D_MULTISAMPLE_EXT = $9055;
  4388. GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = $9056;
  4389. GL_INT_IMAGE_1D_EXT = $9057;
  4390. GL_INT_IMAGE_2D_EXT = $9058;
  4391. GL_INT_IMAGE_3D_EXT = $9059;
  4392. GL_INT_IMAGE_2D_RECT_EXT = $905A;
  4393. GL_INT_IMAGE_CUBE_EXT = $905B;
  4394. GL_INT_IMAGE_BUFFER_EXT = $905C;
  4395. GL_INT_IMAGE_1D_ARRAY_EXT = $905D;
  4396. GL_INT_IMAGE_2D_ARRAY_EXT = $905E;
  4397. GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT = $905F;
  4398. GL_INT_IMAGE_2D_MULTISAMPLE_EXT = $9060;
  4399. GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = $9061;
  4400. GL_UNSIGNED_INT_IMAGE_1D_EXT = $9062;
  4401. GL_UNSIGNED_INT_IMAGE_2D_EXT = $9063;
  4402. GL_UNSIGNED_INT_IMAGE_3D_EXT = $9064;
  4403. GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT = $9065;
  4404. GL_UNSIGNED_INT_IMAGE_CUBE_EXT = $9066;
  4405. GL_UNSIGNED_INT_IMAGE_BUFFER_EXT = $9067;
  4406. GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT = $9068;
  4407. GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT = $9069;
  4408. GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = $906A;
  4409. GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT = $906B;
  4410. GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = $906C;
  4411. GL_MAX_IMAGE_SAMPLES_EXT = $906D;
  4412. GL_IMAGE_BINDING_FORMAT_EXT = $906E;
  4413. GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT = $00000001;
  4414. GL_ELEMENT_ARRAY_BARRIER_BIT_EXT = $00000002;
  4415. GL_UNIFORM_BARRIER_BIT_EXT = $00000004;
  4416. GL_TEXTURE_FETCH_BARRIER_BIT_EXT = $00000008;
  4417. GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT = $00000020;
  4418. GL_COMMAND_BARRIER_BIT_EXT = $00000040;
  4419. GL_PIXEL_BUFFER_BARRIER_BIT_EXT = $00000080;
  4420. GL_TEXTURE_UPDATE_BARRIER_BIT_EXT = $00000100;
  4421. GL_BUFFER_UPDATE_BARRIER_BIT_EXT = $00000200;
  4422. GL_FRAMEBUFFER_BARRIER_BIT_EXT = $00000400;
  4423. GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT = $00000800;
  4424. GL_ATOMIC_COUNTER_BARRIER_BIT_EXT = $00001000;
  4425. GL_ALL_BARRIER_BITS_EXT = $FFFFFFFF;
  4426. // GL_EXT_vertex_attrib_64bit
  4427. { reuse GL_DOUBLE }
  4428. GL_DOUBLE_VEC2_EXT = $8FFC;
  4429. GL_DOUBLE_VEC3_EXT = $8FFD;
  4430. GL_DOUBLE_VEC4_EXT = $8FFE;
  4431. GL_DOUBLE_MAT2_EXT = $8F46;
  4432. GL_DOUBLE_MAT3_EXT = $8F47;
  4433. GL_DOUBLE_MAT4_EXT = $8F48;
  4434. GL_DOUBLE_MAT2x3_EXT = $8F49;
  4435. GL_DOUBLE_MAT2x4_EXT = $8F4A;
  4436. GL_DOUBLE_MAT3x2_EXT = $8F4B;
  4437. GL_DOUBLE_MAT3x4_EXT = $8F4C;
  4438. GL_DOUBLE_MAT4x2_EXT = $8F4D;
  4439. GL_DOUBLE_MAT4x3_EXT = $8F4E;
  4440. // GL_EXT_texture_sRGB_decode
  4441. GL_TEXTURE_SRGB_DECODE_EXT = $8A48;
  4442. GL_DECODE_EXT = $8A49;
  4443. GL_SKIP_DECODE_EXT = $8A4A;
  4444. // GL_NV_texture_multisample
  4445. GL_TEXTURE_COVERAGE_SAMPLES_NV = $9045;
  4446. GL_TEXTURE_COLOR_SAMPLES_NV = $9046;
  4447. // GL_AMD_blend_minmax_factor
  4448. GL_FACTOR_MIN_AMD = $901C;
  4449. GL_FACTOR_MAX_AMD = $901D;
  4450. // GL_AMD_sample_positions
  4451. GL_SUBSAMPLE_DISTANCE_AMD = $883F;
  4452. // GL_EXT_x11_sync_object
  4453. GL_SYNC_X11_FENCE_EXT = $90E1;
  4454. // GL_EXT_framebuffer_multisample_blit_scaled
  4455. GL_SCALED_RESOLVE_FASTEST_EXT = $90BA;
  4456. GL_SCALED_RESOLVE_NICEST_EXT = $90BB;
  4457. // (4.3) GL_NV_path_rendering
  4458. GL_PATH_FORMAT_SVG_NV = $9070;
  4459. GL_PATH_FORMAT_PS_NV = $9071;
  4460. GL_STANDARD_FONT_NAME_NV = $9072;
  4461. GL_SYSTEM_FONT_NAME_NV = $9073;
  4462. GL_FILE_NAME_NV = $9074;
  4463. GL_PATH_STROKE_WIDTH_NV = $9075;
  4464. GL_PATH_END_CAPS_NV = $9076;
  4465. GL_PATH_INITIAL_END_CAP_NV = $9077;
  4466. GL_PATH_TERMINAL_END_CAP_NV = $9078;
  4467. GL_PATH_JOIN_STYLE_NV = $9079;
  4468. GL_PATH_MITER_LIMIT_NV = $907A;
  4469. GL_PATH_DASH_CAPS_NV = $907B;
  4470. GL_PATH_INITIAL_DASH_CAP_NV = $907C;
  4471. GL_PATH_TERMINAL_DASH_CAP_NV = $907D;
  4472. GL_PATH_DASH_OFFSET_NV = $907E;
  4473. GL_PATH_CLIENT_LENGTH_NV = $907F;
  4474. GL_PATH_FILL_MODE_NV = $9080;
  4475. GL_PATH_FILL_MASK_NV = $9081;
  4476. GL_PATH_FILL_COVER_MODE_NV = $9082;
  4477. GL_PATH_STROKE_COVER_MODE_NV = $9083;
  4478. GL_PATH_STROKE_MASK_NV = $9084;
  4479. GL_PATH_SAMPLE_QUALITY_NV = $9085;
  4480. GL_PATH_STROKE_BOUND_NV = $9086;
  4481. GL_PATH_STROKE_OVERSAMPLE_COUNT_NV= $9087;
  4482. GL_COUNT_UP_NV = $9088;
  4483. GL_COUNT_DOWN_NV = $9089;
  4484. GL_PATH_OBJECT_BOUNDING_BOX_NV = $908A;
  4485. GL_CONVEX_HULL_NV = $908B;
  4486. GL_MULTI_HULLS_NV = $908C;
  4487. GL_BOUNDING_BOX_NV = $908D;
  4488. GL_TRANSLATE_X_NV = $908E;
  4489. GL_TRANSLATE_Y_NV = $908F;
  4490. GL_TRANSLATE_2D_NV = $9090;
  4491. GL_TRANSLATE_3D_NV = $9091;
  4492. GL_AFFINE_2D_NV = $9092;
  4493. GL_PROJECTIVE_2D_NV = $9093;
  4494. GL_AFFINE_3D_NV = $9094;
  4495. GL_PROJECTIVE_3D_NV = $9095;
  4496. GL_TRANSPOSE_AFFINE_2D_NV = $9096;
  4497. GL_TRANSPOSE_PROJECTIVE_2D_NV = $9097;
  4498. GL_TRANSPOSE_AFFINE_3D_NV = $9098;
  4499. GL_TRANSPOSE_PROJECTIVE_3D_NV = $9099;
  4500. GL_UTF8_NV = $909A;
  4501. GL_UTF16_NV = $909B;
  4502. GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV= $909C;
  4503. GL_PATH_COMMAND_COUNT_NV = $909D;
  4504. GL_PATH_COORD_COUNT_NV = $909E;
  4505. GL_PATH_DASH_ARRAY_COUNT_NV = $909F;
  4506. GL_PATH_COMPUTED_LENGTH_NV = $90A0;
  4507. GL_PATH_FILL_BOUNDING_BOX_NV = $90A1;
  4508. GL_PATH_STROKE_BOUNDING_BOX_NV = $90A2;
  4509. GL_SQUARE_NV = $90A3;
  4510. GL_ROUND_NV = $90A4;
  4511. GL_TRIANGULAR_NV = $90A5;
  4512. GL_BEVEL_NV = $90A6;
  4513. GL_MITER_REVERT_NV = $90A7;
  4514. GL_MITER_TRUNCATE_NV = $90A8;
  4515. GL_SKIP_MISSING_GLYPH_NV = $90A9;
  4516. GL_USE_MISSING_GLYPH_NV = $90AA;
  4517. GL_PATH_ERROR_POSITION_NV = $90AB;
  4518. GL_PATH_FOG_GEN_MODE_NV = $90AC;
  4519. GL_ACCUM_ADJACENT_PAIRS_NV = $90AD;
  4520. GL_ADJACENT_PAIRS_NV = $90AE;
  4521. GL_FIRST_TO_REST_NV = $90AF;
  4522. GL_PATH_GEN_MODE_NV = $90B0;
  4523. GL_PATH_GEN_COEFF_NV = $90B1;
  4524. GL_PATH_GEN_COLOR_FORMAT_NV = $90B2;
  4525. GL_PATH_GEN_COMPONENTS_NV = $90B3;
  4526. GL_PATH_STENCIL_FUNC_NV = $90B7;
  4527. GL_PATH_STENCIL_REF_NV = $90B8;
  4528. GL_PATH_STENCIL_VALUE_MASK_NV = $90B9;
  4529. GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV= $90BD;
  4530. GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV= $90BE;
  4531. GL_PATH_COVER_DEPTH_FUNC_NV = $90BF;
  4532. GL_PATH_DASH_OFFSET_RESET_NV = $90B4;
  4533. GL_MOVE_TO_RESETS_NV = $90B5;
  4534. GL_MOVE_TO_CONTINUES_NV = $90B6;
  4535. GL_CLOSE_PATH_NV = $00;
  4536. GL_MOVE_TO_NV = $02;
  4537. GL_RELATIVE_MOVE_TO_NV = $03;
  4538. GL_LINE_TO_NV = $04;
  4539. GL_RELATIVE_LINE_TO_NV = $05;
  4540. GL_HORIZONTAL_LINE_TO_NV = $06;
  4541. GL_RELATIVE_HORIZONTAL_LINE_TO_NV= $07;
  4542. GL_VERTICAL_LINE_TO_NV = $08;
  4543. GL_RELATIVE_VERTICAL_LINE_TO_NV = $09;
  4544. GL_QUADRATIC_CURVE_TO_NV = $0A;
  4545. GL_RELATIVE_QUADRATIC_CURVE_TO_NV= $0B;
  4546. GL_CUBIC_CURVE_TO_NV = $0C;
  4547. GL_RELATIVE_CUBIC_CURVE_TO_NV = $0D;
  4548. GL_SMOOTH_QUADRATIC_CURVE_TO_NV = $0E;
  4549. GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV= $0F;
  4550. GL_SMOOTH_CUBIC_CURVE_TO_NV = $10;
  4551. GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV= $11;
  4552. GL_SMALL_CCW_ARC_TO_NV = $12;
  4553. GL_RELATIVE_SMALL_CCW_ARC_TO_NV = $13;
  4554. GL_SMALL_CW_ARC_TO_NV = $14;
  4555. GL_RELATIVE_SMALL_CW_ARC_TO_NV = $15;
  4556. GL_LARGE_CCW_ARC_TO_NV = $16;
  4557. GL_RELATIVE_LARGE_CCW_ARC_TO_NV = $17;
  4558. GL_LARGE_CW_ARC_TO_NV = $18;
  4559. GL_RELATIVE_LARGE_CW_ARC_TO_NV = $19;
  4560. GL_RESTART_PATH_NV = $F0;
  4561. GL_DUP_FIRST_CUBIC_CURVE_TO_NV = $F2;
  4562. GL_DUP_LAST_CUBIC_CURVE_TO_NV = $F4;
  4563. GL_RECT_NV = $F6;
  4564. GL_CIRCULAR_CCW_ARC_TO_NV = $F8;
  4565. GL_CIRCULAR_CW_ARC_TO_NV = $FA;
  4566. GL_CIRCULAR_TANGENT_ARC_TO_NV = $FC;
  4567. GL_ARC_TO_NV = $FE;
  4568. GL_RELATIVE_ARC_TO_NV = $FF;
  4569. GL_BOLD_BIT_NV = $01;
  4570. GL_ITALIC_BIT_NV = $02;
  4571. GL_GLYPH_WIDTH_BIT_NV = $01;
  4572. GL_GLYPH_HEIGHT_BIT_NV = $02;
  4573. GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV= $04;
  4574. GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV= $08;
  4575. GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV= $10;
  4576. GL_GLYPH_VERTICAL_BEARING_X_BIT_NV= $20;
  4577. GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV= $40;
  4578. GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV= $80;
  4579. GL_GLYPH_HAS_KERNING_NV = $100;
  4580. GL_FONT_X_MIN_BOUNDS_NV = $00010000;
  4581. GL_FONT_Y_MIN_BOUNDS_NV = $00020000;
  4582. GL_FONT_X_MAX_BOUNDS_NV = $00040000;
  4583. GL_FONT_Y_MAX_BOUNDS_NV = $00080000;
  4584. GL_FONT_UNITS_PER_EM_NV = $00100000;
  4585. GL_FONT_ASCENDER_NV = $00200000;
  4586. GL_FONT_DESCENDER_NV = $00400000;
  4587. GL_FONT_HEIGHT_NV = $00800000;
  4588. GL_FONT_MAX_ADVANCE_WIDTH_NV = $01000000;
  4589. GL_FONT_MAX_ADVANCE_HEIGHT_NV = $02000000;
  4590. GL_FONT_UNDERLINE_POSITION_NV = $04000000;
  4591. GL_FONT_UNDERLINE_THICKNESS_NV = $08000000;
  4592. GL_FONT_HAS_KERNING_NV = $10000000;
  4593. // (4.3) GL_AMD_pinned_memory
  4594. GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD= $9160;
  4595. // (4.3) GL_AMD_stencil_operation_extended
  4596. GL_SET_AMD = $874A;
  4597. GL_REPLACE_VALUE_AMD = $874B;
  4598. GL_STENCIL_OP_VALUE_AMD = $874C;
  4599. GL_STENCIL_BACK_OP_VALUE_AMD = $874D;
  4600. // (4.3) GL_AMD_vertex_shader_viewport_index
  4601. // (4.3) GL_AMD_vertex_shader_layer
  4602. // (4.3) GL_NV_bindless_texture
  4603. // (4.3) GL_NV_shader_atomic_float
  4604. // (4.3) GL_AMD_query_buffer_object
  4605. GL_QUERY_BUFFER_AMD = $9192;
  4606. GL_QUERY_BUFFER_BINDING_AMD = $9193;
  4607. GL_QUERY_RESULT_NO_WAIT_AMD = $9194;
  4608. // GL_FfdMaskSGIX
  4609. GL_TEXTURE_DEFORMATION_BIT_SGIX = $00000001;
  4610. GL_GEOMETRY_DEFORMATION_BIT_SGIX = $00000002;
  4611. // GL_HP_convolution_border_modes
  4612. GL_IGNORE_BORDER_HP = $8150;
  4613. GL_CONSTANT_BORDER_HP = $8151;
  4614. GL_REPLICATE_BORDER_HP = $8153;
  4615. GL_CONVOLUTION_BORDER_COLOR_HP = $8154;
  4616. // GL_HP_image_transform
  4617. GL_IMAGE_SCALE_X_HP = $8155;
  4618. GL_IMAGE_SCALE_Y_HP = $8156;
  4619. GL_IMAGE_TRANSLATE_X_HP = $8157;
  4620. GL_IMAGE_TRANSLATE_Y_HP = $8158;
  4621. GL_IMAGE_ROTATE_ANGLE_HP = $8159;
  4622. GL_IMAGE_ROTATE_ORIGIN_X_HP = $815A;
  4623. GL_IMAGE_ROTATE_ORIGIN_Y_HP = $815B;
  4624. GL_IMAGE_MAG_FILTER_HP = $815C;
  4625. GL_IMAGE_MIN_FILTER_HP = $815D;
  4626. GL_IMAGE_CUBIC_WEIGHT_HP = $815E;
  4627. GL_CUBIC_HP = $815F;
  4628. GL_AVERAGE_HP = $8160;
  4629. GL_IMAGE_TRANSFORM_2D_HP = $8161;
  4630. GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = $8162;
  4631. GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = $8163;
  4632. // GL_HP_occlusion_test
  4633. GL_OCCLUSION_TEST_HP = $8165;
  4634. GL_OCCLUSION_TEST_RESULT_HP = $8166;
  4635. // GL_HP_texture_lighting
  4636. GL_TEXTURE_LIGHTING_MODE_HP = $8167;
  4637. GL_TEXTURE_POST_SPECULAR_HP = $8168;
  4638. GL_TEXTURE_PRE_SPECULAR_HP = $8169;
  4639. // GL_IBM_cull_vertex
  4640. GL_CULL_VERTEX_IBM = 103050;
  4641. // GL_IBM_rasterpos_clip
  4642. GL_RASTER_POSITION_UNCLIPPED_IBM = $19262;
  4643. // GL_IBM_texture_mirrored_repeat
  4644. GL_MIRRORED_REPEAT_IBM = $8370;
  4645. // GL_IBM_vertex_array_lists
  4646. GL_VERTEX_ARRAY_LIST_IBM = 103070;
  4647. GL_NORMAL_ARRAY_LIST_IBM = 103071;
  4648. GL_COLOR_ARRAY_LIST_IBM = 103072;
  4649. GL_INDEX_ARRAY_LIST_IBM = 103073;
  4650. GL_TEXTURE_COORD_ARRAY_LIST_IBM = 103074;
  4651. GL_EDGE_FLAG_ARRAY_LIST_IBM = 103075;
  4652. GL_FOG_COORDINATE_ARRAY_LIST_IBM = 103076;
  4653. GL_SECONDARY_COLOR_ARRAY_LIST_IBM = 103077;
  4654. GL_VERTEX_ARRAY_LIST_STRIDE_IBM = 103080;
  4655. GL_NORMAL_ARRAY_LIST_STRIDE_IBM = 103081;
  4656. GL_COLOR_ARRAY_LIST_STRIDE_IBM = 103082;
  4657. GL_INDEX_ARRAY_LIST_STRIDE_IBM = 103083;
  4658. GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = 103084;
  4659. GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = 103085;
  4660. GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 103086;
  4661. GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = 103087;
  4662. // GL_INGR_color_clamp
  4663. GL_RED_MIN_CLAMP_INGR = $8560;
  4664. GL_GREEN_MIN_CLAMP_INGR = $8561;
  4665. GL_BLUE_MIN_CLAMP_INGR = $8562;
  4666. GL_ALPHA_MIN_CLAMP_INGR = $8563;
  4667. GL_RED_MAX_CLAMP_INGR = $8564;
  4668. GL_GREEN_MAX_CLAMP_INGR = $8565;
  4669. GL_BLUE_MAX_CLAMP_INGR = $8566;
  4670. GL_ALPHA_MAX_CLAMP_INGR = $8567;
  4671. // GL_INGR_interlace_read
  4672. GL_INTERLACE_READ_INGR = $8568;
  4673. // GL_INTEL_parallel_arrays
  4674. GL_PARALLEL_ARRAYS_INTEL = $83F4;
  4675. GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = $83F5;
  4676. GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = $83F6;
  4677. GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL = $83F7;
  4678. GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = $83F8;
  4679. // GL_NV_copy_depth_to_color
  4680. GL_DEPTH_STENCIL_TO_RGBA_NV = $886E;
  4681. GL_DEPTH_STENCIL_TO_BGRA_NV = $886F;
  4682. // GL_NV_depth_clamp
  4683. GL_DEPTH_CLAMP_NV = $864F;
  4684. // GL_NV_evaluators
  4685. GL_EVAL_2D_NV = $86C0;
  4686. GL_EVAL_TRIANGULAR_2D_NV = $86C1;
  4687. GL_MAP_TESSELLATION_NV = $86C2;
  4688. GL_MAP_ATTRIB_U_ORDER_NV = $86C3;
  4689. GL_MAP_ATTRIB_V_ORDER_NV = $86C4;
  4690. GL_EVAL_FRACTIONAL_TESSELLATION_NV = $86C5;
  4691. GL_EVAL_VERTEX_ATTRIB0_NV = $86C6;
  4692. GL_EVAL_VERTEX_ATTRIB1_NV = $86C7;
  4693. GL_EVAL_VERTEX_ATTRIB2_NV = $86C8;
  4694. GL_EVAL_VERTEX_ATTRIB3_NV = $86C9;
  4695. GL_EVAL_VERTEX_ATTRIB4_NV = $86CA;
  4696. GL_EVAL_VERTEX_ATTRIB5_NV = $86CB;
  4697. GL_EVAL_VERTEX_ATTRIB6_NV = $86CC;
  4698. GL_EVAL_VERTEX_ATTRIB7_NV = $86CD;
  4699. GL_EVAL_VERTEX_ATTRIB8_NV = $86CE;
  4700. GL_EVAL_VERTEX_ATTRIB9_NV = $86CF;
  4701. GL_EVAL_VERTEX_ATTRIB10_NV = $86D0;
  4702. GL_EVAL_VERTEX_ATTRIB11_NV = $86D1;
  4703. GL_EVAL_VERTEX_ATTRIB12_NV = $86D2;
  4704. GL_EVAL_VERTEX_ATTRIB13_NV = $86D3;
  4705. GL_EVAL_VERTEX_ATTRIB14_NV = $86D4;
  4706. GL_EVAL_VERTEX_ATTRIB15_NV = $86D5;
  4707. GL_MAX_MAP_TESSELLATION_NV = $86D6;
  4708. GL_MAX_RATIONAL_EVAL_ORDER_NV = $86D7;
  4709. // GL_NV_fence
  4710. GL_ALL_COMPLETED_NV = $84F2;
  4711. GL_FENCE_STATUS_NV = $84F3;
  4712. GL_FENCE_CONDITION_NV = $84F4;
  4713. // GL_NV_float_buffer
  4714. GL_FLOAT_R_NV = $8880;
  4715. GL_FLOAT_RG_NV = $8881;
  4716. GL_FLOAT_RGB_NV = $8882;
  4717. GL_FLOAT_RGBA_NV = $8883;
  4718. GL_FLOAT_R16_NV = $8884;
  4719. GL_FLOAT_R32_NV = $8885;
  4720. GL_FLOAT_RG16_NV = $8886;
  4721. GL_FLOAT_RG32_NV = $8887;
  4722. GL_FLOAT_RGB16_NV = $8888;
  4723. GL_FLOAT_RGB32_NV = $8889;
  4724. GL_FLOAT_RGBA16_NV = $888A;
  4725. GL_FLOAT_RGBA32_NV = $888B;
  4726. GL_TEXTURE_FLOAT_COMPONENTS_NV = $888C;
  4727. GL_FLOAT_CLEAR_COLOR_VALUE_NV = $888D;
  4728. GL_FLOAT_RGBA_MODE_NV = $888E;
  4729. // GL_NV_fog_distance
  4730. GL_FOG_DISTANCE_MODE_NV = $855A;
  4731. GL_EYE_RADIAL_NV = $855B;
  4732. GL_EYE_PLANE_ABSOLUTE_NV = $855C;
  4733. // GL_NV_fragment_program
  4734. GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = $8868;
  4735. GL_FRAGMENT_PROGRAM_NV = $8870;
  4736. GL_MAX_TEXTURE_COORDS_NV = $8871;
  4737. GL_MAX_TEXTURE_IMAGE_UNITS_NV = $8872;
  4738. GL_FRAGMENT_PROGRAM_BINDING_NV = $8873;
  4739. GL_PROGRAM_ERROR_STRING_NV = $8874;
  4740. // GL_NV_half_float
  4741. GL_HALF_FLOAT_NV = $140B;
  4742. // GL_NV_light_max_exponent
  4743. GL_MAX_SHININESS_NV = $8504;
  4744. GL_MAX_SPOT_EXPONENT_NV = $8505;
  4745. // GL_NV_multisample_filter_hint
  4746. GL_MULTISAMPLE_FILTER_HINT_NV = $8534;
  4747. // GL_NV_occlusion_query
  4748. GL_PIXEL_COUNTER_BITS_NV = $8864;
  4749. GL_CURRENT_OCCLUSION_QUERY_ID_NV = $8865;
  4750. GL_PIXEL_COUNT_NV = $8866;
  4751. GL_PIXEL_COUNT_AVAILABLE_NV = $8867;
  4752. // GL_NV_packed_depth_stencil
  4753. GL_DEPTH_STENCIL_NV = $84F9;
  4754. GL_UNSIGNED_INT_24_8_NV = $84FA;
  4755. // GL_NV_pixel_data_range
  4756. GL_WRITE_PIXEL_DATA_RANGE_NV = $8878;
  4757. GL_READ_PIXEL_DATA_RANGE_NV = $8879;
  4758. GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV = $887A;
  4759. GL_READ_PIXEL_DATA_RANGE_LENGTH_NV = $887B;
  4760. GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV = $887C;
  4761. GL_READ_PIXEL_DATA_RANGE_POINTER_NV = $887D;
  4762. // GL_NV_point_sprite
  4763. GL_POINT_SPRITE_NV = $8861;
  4764. GL_COORD_REPLACE_NV = $8862;
  4765. GL_POINT_SPRITE_R_MODE_NV = $8863;
  4766. // GL_NV_primitive_restart
  4767. GL_PRIMITIVE_RESTART_NV = $8558;
  4768. GL_PRIMITIVE_RESTART_INDEX_NV = $8559;
  4769. // GL_NV_register_combiners
  4770. GL_REGISTER_COMBINERS_NV = $8522;
  4771. GL_VARIABLE_A_NV = $8523;
  4772. GL_VARIABLE_B_NV = $8524;
  4773. GL_VARIABLE_C_NV = $8525;
  4774. GL_VARIABLE_D_NV = $8526;
  4775. GL_VARIABLE_E_NV = $8527;
  4776. GL_VARIABLE_F_NV = $8528;
  4777. GL_VARIABLE_G_NV = $8529;
  4778. GL_CONSTANT_COLOR0_NV = $852A;
  4779. GL_CONSTANT_COLOR1_NV = $852B;
  4780. GL_PRIMARY_COLOR_NV = $852C;
  4781. GL_SECONDARY_COLOR_NV = $852D;
  4782. GL_SPARE0_NV = $852E;
  4783. GL_SPARE1_NV = $852F;
  4784. GL_DISCARD_NV = $8530;
  4785. GL_E_TIMES_F_NV = $8531;
  4786. GL_SPARE0_PLUS_SECONDARY_COLOR_NV = $8532;
  4787. GL_UNSIGNED_IDENTITY_NV = $8536;
  4788. GL_UNSIGNED_INVERT_NV = $8537;
  4789. GL_EXPAND_NORMAL_NV = $8538;
  4790. GL_EXPAND_NEGATE_NV = $8539;
  4791. GL_HALF_BIAS_NORMAL_NV = $853A;
  4792. GL_HALF_BIAS_NEGATE_NV = $853B;
  4793. GL_SIGNED_IDENTITY_NV = $853C;
  4794. GL_SIGNED_NEGATE_NV = $853D;
  4795. GL_SCALE_BY_TWO_NV = $853E;
  4796. GL_SCALE_BY_FOUR_NV = $853F;
  4797. GL_SCALE_BY_ONE_HALF_NV = $8540;
  4798. GL_BIAS_BY_NEGATIVE_ONE_HALF_NV = $8541;
  4799. GL_COMBINER_INPUT_NV = $8542;
  4800. GL_COMBINER_MAPPING_NV = $8543;
  4801. GL_COMBINER_COMPONENT_USAGE_NV = $8544;
  4802. GL_COMBINER_AB_DOT_PRODUCT_NV = $8545;
  4803. GL_COMBINER_CD_DOT_PRODUCT_NV = $8546;
  4804. GL_COMBINER_MUX_SUM_NV = $8547;
  4805. GL_COMBINER_SCALE_NV = $8548;
  4806. GL_COMBINER_BIAS_NV = $8549;
  4807. GL_COMBINER_AB_OUTPUT_NV = $854A;
  4808. GL_COMBINER_CD_OUTPUT_NV = $854B;
  4809. GL_COMBINER_SUM_OUTPUT_NV = $854C;
  4810. GL_MAX_GENERAL_COMBINERS_NV = $854D;
  4811. GL_NUM_GENERAL_COMBINERS_NV = $854E;
  4812. GL_COLOR_SUM_CLAMP_NV = $854F;
  4813. GL_COMBINER0_NV = $8550;
  4814. GL_COMBINER1_NV = $8551;
  4815. GL_COMBINER2_NV = $8552;
  4816. GL_COMBINER3_NV = $8553;
  4817. GL_COMBINER4_NV = $8554;
  4818. GL_COMBINER5_NV = $8555;
  4819. GL_COMBINER6_NV = $8556;
  4820. GL_COMBINER7_NV = $8557;
  4821. // GL_NV_register_combiners2
  4822. GL_PER_STAGE_CONSTANTS_NV = $8535;
  4823. // GL_NV_texgen_emboss
  4824. GL_EMBOSS_LIGHT_NV = $855D;
  4825. GL_EMBOSS_CONSTANT_NV = $855E;
  4826. GL_EMBOSS_MAP_NV = $855F;
  4827. // GL_NV_texgen_reflection
  4828. GL_NORMAL_MAP_NV = $8511;
  4829. GL_REFLECTION_MAP_NV = $8512;
  4830. // GL_NV_texture_env_combine4
  4831. GL_COMBINE4_NV = $8503;
  4832. GL_SOURCE3_RGB_NV = $8583;
  4833. GL_SOURCE3_ALPHA_NV = $858B;
  4834. GL_OPERAND3_RGB_NV = $8593;
  4835. GL_OPERAND3_ALPHA_NV = $859B;
  4836. // GL_NV_texture_expand_normal
  4837. GL_TEXTURE_UNSIGNED_REMAP_MODE_NV = $888F;
  4838. // GL_NV_texture_rectangle
  4839. GL_TEXTURE_RECTANGLE_NV = $84F5;
  4840. GL_TEXTURE_BINDING_RECTANGLE_NV = $84F6;
  4841. GL_PROXY_TEXTURE_RECTANGLE_NV = $84F7;
  4842. GL_MAX_RECTANGLE_TEXTURE_SIZE_NV = $84F8;
  4843. // GL_NV_texture_shader
  4844. GL_OFFSET_TEXTURE_RECTANGLE_NV = $864C;
  4845. GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV = $864D;
  4846. GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV = $864E;
  4847. GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = $86D9;
  4848. GL_UNSIGNED_INT_S8_S8_8_8_NV = $86DA;
  4849. GL_UNSIGNED_INT_8_8_S8_S8_REV_NV = $86DB;
  4850. GL_DSDT_MAG_INTENSITY_NV = $86DC;
  4851. GL_SHADER_CONSISTENT_NV = $86DD;
  4852. GL_TEXTURE_SHADER_NV = $86DE;
  4853. GL_SHADER_OPERATION_NV = $86DF;
  4854. GL_CULL_MODES_NV = $86E0;
  4855. GL_OFFSET_TEXTURE_MATRIX_NV = $86E1;
  4856. GL_OFFSET_TEXTURE_SCALE_NV = $86E2;
  4857. GL_OFFSET_TEXTURE_BIAS_NV = $86E3;
  4858. GL_OFFSET_TEXTURE_2D_MATRIX_NV = GL_OFFSET_TEXTURE_MATRIX_NV;
  4859. GL_OFFSET_TEXTURE_2D_SCALE_NV = GL_OFFSET_TEXTURE_SCALE_NV;
  4860. GL_OFFSET_TEXTURE_2D_BIAS_NV = GL_OFFSET_TEXTURE_BIAS_NV;
  4861. GL_PREVIOUS_TEXTURE_INPUT_NV = $86E4;
  4862. GL_CONST_EYE_NV = $86E5;
  4863. GL_PASS_THROUGH_NV = $86E6;
  4864. GL_CULL_FRAGMENT_NV = $86E7;
  4865. GL_OFFSET_TEXTURE_2D_NV = $86E8;
  4866. GL_DEPENDENT_AR_TEXTURE_2D_NV = $86E9;
  4867. GL_DEPENDENT_GB_TEXTURE_2D_NV = $86EA;
  4868. GL_DOT_PRODUCT_NV = $86EC;
  4869. GL_DOT_PRODUCT_DEPTH_REPLACE_NV = $86ED;
  4870. GL_DOT_PRODUCT_TEXTURE_2D_NV = $86EE;
  4871. GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = $86F0;
  4872. GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = $86F1;
  4873. GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV = $86F2;
  4874. GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = $86F3;
  4875. GL_HILO_NV = $86F4;
  4876. GL_DSDT_NV = $86F5;
  4877. GL_DSDT_MAG_NV = $86F6;
  4878. GL_DSDT_MAG_VIB_NV = $86F7;
  4879. GL_HILO16_NV = $86F8;
  4880. GL_SIGNED_HILO_NV = $86F9;
  4881. GL_SIGNED_HILO16_NV = $86FA;
  4882. GL_SIGNED_RGBA_NV = $86FB;
  4883. GL_SIGNED_RGBA8_NV = $86FC;
  4884. GL_SIGNED_RGB_NV = $86FE;
  4885. GL_SIGNED_RGB8_NV = $86FF;
  4886. GL_SIGNED_LUMINANCE_NV = $8701;
  4887. GL_SIGNED_LUMINANCE8_NV = $8702;
  4888. GL_SIGNED_LUMINANCE_ALPHA_NV = $8703;
  4889. GL_SIGNED_LUMINANCE8_ALPHA8_NV = $8704;
  4890. GL_SIGNED_ALPHA_NV = $8705;
  4891. GL_SIGNED_ALPHA8_NV = $8706;
  4892. GL_SIGNED_INTENSITY_NV = $8707;
  4893. GL_SIGNED_INTENSITY8_NV = $8708;
  4894. GL_DSDT8_NV = $8709;
  4895. GL_DSDT8_MAG8_NV = $870A;
  4896. GL_DSDT8_MAG8_INTENSITY8_NV = $870B;
  4897. GL_SIGNED_RGB_UNSIGNED_ALPHA_NV = $870C;
  4898. GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV = $870D;
  4899. GL_HI_SCALE_NV = $870E;
  4900. GL_LO_SCALE_NV = $870F;
  4901. GL_DS_SCALE_NV = $8710;
  4902. GL_DT_SCALE_NV = $8711;
  4903. GL_MAGNITUDE_SCALE_NV = $8712;
  4904. GL_VIBRANCE_SCALE_NV = $8713;
  4905. GL_HI_BIAS_NV = $8714;
  4906. GL_LO_BIAS_NV = $8715;
  4907. GL_DS_BIAS_NV = $8716;
  4908. GL_DT_BIAS_NV = $8717;
  4909. GL_MAGNITUDE_BIAS_NV = $8718;
  4910. GL_VIBRANCE_BIAS_NV = $8719;
  4911. GL_TEXTURE_BORDER_VALUES_NV = $871A;
  4912. GL_TEXTURE_HI_SIZE_NV = $871B;
  4913. GL_TEXTURE_LO_SIZE_NV = $871C;
  4914. GL_TEXTURE_DS_SIZE_NV = $871D;
  4915. GL_TEXTURE_DT_SIZE_NV = $871E;
  4916. GL_TEXTURE_MAG_SIZE_NV = $871F;
  4917. // GL_NV_texture_shader2
  4918. GL_DOT_PRODUCT_TEXTURE_3D_NV = $86EF;
  4919. // GL_NV_texture_shader3
  4920. GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV = $8850;
  4921. GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = $8851;
  4922. GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = $8852;
  4923. GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = $8853;
  4924. GL_OFFSET_HILO_TEXTURE_2D_NV = $8854;
  4925. GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV = $8855;
  4926. GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = $8856;
  4927. GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = $8857;
  4928. GL_DEPENDENT_HILO_TEXTURE_2D_NV = $8858;
  4929. GL_DEPENDENT_RGB_TEXTURE_3D_NV = $8859;
  4930. GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = $885A;
  4931. GL_DOT_PRODUCT_PASS_THROUGH_NV = $885B;
  4932. GL_DOT_PRODUCT_TEXTURE_1D_NV = $885C;
  4933. GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = $885D;
  4934. GL_HILO8_NV = $885E;
  4935. GL_SIGNED_HILO8_NV = $885F;
  4936. GL_FORCE_BLUE_TO_ONE_NV = $8860;
  4937. // GL_NV_vertex_array_range
  4938. GL_VERTEX_ARRAY_RANGE_NV = $851D;
  4939. GL_VERTEX_ARRAY_RANGE_LENGTH_NV = $851E;
  4940. GL_VERTEX_ARRAY_RANGE_VALID_NV = $851F;
  4941. GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = $8520;
  4942. GL_VERTEX_ARRAY_RANGE_POINTER_NV = $8521;
  4943. // GL_NV_vertex_array_range2
  4944. GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = $8533;
  4945. // GL_NV_vertex_program
  4946. GL_VERTEX_PROGRAM_NV = $8620;
  4947. GL_VERTEX_STATE_PROGRAM_NV = $8621;
  4948. GL_ATTRIB_ARRAY_SIZE_NV = $8623;
  4949. GL_ATTRIB_ARRAY_STRIDE_NV = $8624;
  4950. GL_ATTRIB_ARRAY_TYPE_NV = $8625;
  4951. GL_CURRENT_ATTRIB_NV = $8626;
  4952. GL_PROGRAM_LENGTH_NV = $8627;
  4953. GL_PROGRAM_STRING_NV = $8628;
  4954. GL_MODELVIEW_PROJECTION_NV = $8629;
  4955. GL_IDENTITY_NV = $862A;
  4956. GL_INVERSE_NV = $862B;
  4957. GL_TRANSPOSE_NV = $862C;
  4958. GL_INVERSE_TRANSPOSE_NV = $862D;
  4959. GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV = $862E;
  4960. GL_MAX_TRACK_MATRICES_NV = $862F;
  4961. GL_MATRIX0_NV = $8630;
  4962. GL_MATRIX1_NV = $8631;
  4963. GL_MATRIX2_NV = $8632;
  4964. GL_MATRIX3_NV = $8633;
  4965. GL_MATRIX4_NV = $8634;
  4966. GL_MATRIX5_NV = $8635;
  4967. GL_MATRIX6_NV = $8636;
  4968. GL_MATRIX7_NV = $8637;
  4969. GL_CURRENT_MATRIX_STACK_DEPTH_NV = $8640;
  4970. GL_CURRENT_MATRIX_NV = $8641;
  4971. GL_VERTEX_PROGRAM_POINT_SIZE_NV = $8642;
  4972. GL_VERTEX_PROGRAM_TWO_SIDE_NV = $8643;
  4973. GL_PROGRAM_PARAMETER_NV = $8644;
  4974. GL_ATTRIB_ARRAY_POINTER_NV = $8645;
  4975. GL_PROGRAM_TARGET_NV = $8646;
  4976. GL_PROGRAM_RESIDENT_NV = $8647;
  4977. GL_TRACK_MATRIX_NV = $8648;
  4978. GL_TRACK_MATRIX_TRANSFORM_NV = $8649;
  4979. GL_VERTEX_PROGRAM_BINDING_NV = $864A;
  4980. GL_PROGRAM_ERROR_POSITION_NV = $864B;
  4981. GL_VERTEX_ATTRIB_ARRAY0_NV = $8650;
  4982. GL_VERTEX_ATTRIB_ARRAY1_NV = $8651;
  4983. GL_VERTEX_ATTRIB_ARRAY2_NV = $8652;
  4984. GL_VERTEX_ATTRIB_ARRAY3_NV = $8653;
  4985. GL_VERTEX_ATTRIB_ARRAY4_NV = $8654;
  4986. GL_VERTEX_ATTRIB_ARRAY5_NV = $8655;
  4987. GL_VERTEX_ATTRIB_ARRAY6_NV = $8656;
  4988. GL_VERTEX_ATTRIB_ARRAY7_NV = $8657;
  4989. GL_VERTEX_ATTRIB_ARRAY8_NV = $8658;
  4990. GL_VERTEX_ATTRIB_ARRAY9_NV = $8659;
  4991. GL_VERTEX_ATTRIB_ARRAY10_NV = $865A;
  4992. GL_VERTEX_ATTRIB_ARRAY11_NV = $865B;
  4993. GL_VERTEX_ATTRIB_ARRAY12_NV = $865C;
  4994. GL_VERTEX_ATTRIB_ARRAY13_NV = $865D;
  4995. GL_VERTEX_ATTRIB_ARRAY14_NV = $865E;
  4996. GL_VERTEX_ATTRIB_ARRAY15_NV = $865F;
  4997. GL_MAP1_VERTEX_ATTRIB0_4_NV = $8660;
  4998. GL_MAP1_VERTEX_ATTRIB1_4_NV = $8661;
  4999. GL_MAP1_VERTEX_ATTRIB2_4_NV = $8662;
  5000. GL_MAP1_VERTEX_ATTRIB3_4_NV = $8663;
  5001. GL_MAP1_VERTEX_ATTRIB4_4_NV = $8664;
  5002. GL_MAP1_VERTEX_ATTRIB5_4_NV = $8665;
  5003. GL_MAP1_VERTEX_ATTRIB6_4_NV = $8666;
  5004. GL_MAP1_VERTEX_ATTRIB7_4_NV = $8667;
  5005. GL_MAP1_VERTEX_ATTRIB8_4_NV = $8668;
  5006. GL_MAP1_VERTEX_ATTRIB9_4_NV = $8669;
  5007. GL_MAP1_VERTEX_ATTRIB10_4_NV = $866A;
  5008. GL_MAP1_VERTEX_ATTRIB11_4_NV = $866B;
  5009. GL_MAP1_VERTEX_ATTRIB12_4_NV = $866C;
  5010. GL_MAP1_VERTEX_ATTRIB13_4_NV = $866D;
  5011. GL_MAP1_VERTEX_ATTRIB14_4_NV = $866E;
  5012. GL_MAP1_VERTEX_ATTRIB15_4_NV = $866F;
  5013. GL_MAP2_VERTEX_ATTRIB0_4_NV = $8670;
  5014. GL_MAP2_VERTEX_ATTRIB1_4_NV = $8671;
  5015. GL_MAP2_VERTEX_ATTRIB2_4_NV = $8672;
  5016. GL_MAP2_VERTEX_ATTRIB3_4_NV = $8673;
  5017. GL_MAP2_VERTEX_ATTRIB4_4_NV = $8674;
  5018. GL_MAP2_VERTEX_ATTRIB5_4_NV = $8675;
  5019. GL_MAP2_VERTEX_ATTRIB6_4_NV = $8676;
  5020. GL_MAP2_VERTEX_ATTRIB7_4_NV = $8677;
  5021. GL_MAP2_VERTEX_ATTRIB8_4_NV = $8678;
  5022. GL_MAP2_VERTEX_ATTRIB9_4_NV = $8679;
  5023. GL_MAP2_VERTEX_ATTRIB10_4_NV = $867A;
  5024. GL_MAP2_VERTEX_ATTRIB11_4_NV = $867B;
  5025. GL_MAP2_VERTEX_ATTRIB12_4_NV = $867C;
  5026. GL_MAP2_VERTEX_ATTRIB13_4_NV = $867D;
  5027. GL_MAP2_VERTEX_ATTRIB14_4_NV = $867E;
  5028. GL_MAP2_VERTEX_ATTRIB15_4_NV = $867F;
  5029. // GL_NV_fragment_program2 and GL_NV_vertex_program2_option
  5030. GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = $88F4;
  5031. GL_MAX_PROGRAM_CALL_DEPTH_NV = $88F5;
  5032. // GL_NV_fragment_program2
  5033. GL_MAX_PROGRAM_IF_DEPTH_NV = $88F6;
  5034. GL_MAX_PROGRAM_LOOP_DEPTH_NV = $88F7;
  5035. GL_MAX_PROGRAM_LOOP_COUNT_NV = $88F8;
  5036. // GL_NV_vertex_program3
  5037. MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = $8B4C;
  5038. // GL_NV_depth_buffer_float
  5039. GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV = $8DAD;
  5040. GL_DEPTH_BUFFER_FLOAT_MODE_NV = $8DAF;
  5041. // GL_NV_framebuffer_multisample_coverage
  5042. GL_RENDERBUFFER_COVERAGE_SAMPLES_NV = $8CAB;
  5043. GL_RENDERBUFFER_COLOR_SAMPLES_NV = $8E10;
  5044. // GL_NV_geometry_program4
  5045. GL_GEOMETRY_PROGRAM_NV = $8C26;
  5046. GL_MAX_PROGRAM_OUTPUT_VERTICES_NV = $8C27;
  5047. GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = $8C28;
  5048. // GL_NV_gpu_program4
  5049. GL_PROGRAM_ATTRIB_COMPONENTS_NV = $8906;
  5050. GL_PROGRAM_RESULT_COMPONENTS_NV = $8907;
  5051. GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV = $8908;
  5052. GL_MAX_PROGRAM_RESULT_COMPONENTS_NV = $8909;
  5053. GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV = $8DA5;
  5054. GL_MAX_PROGRAM_GENERIC_RESULTS_NV = $8DA6;
  5055. // GL_NV_parameter_buffer_object
  5056. GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV = $8DA0;
  5057. GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV = $8DA1;
  5058. GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV = $8DA2;
  5059. GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV = $8DA3;
  5060. GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV = $8DA4;
  5061. // GL_NV_transform_feedback
  5062. GL_TRANSFORM_FEEDBACK_BUFFER_NV = $8C8E;
  5063. GL_TRANSFORM_FEEDBACK_BUFFER_START_NV = $8C84;
  5064. GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = $8C85;
  5065. GL_TRANSFORM_FEEDBACK_RECORD_NV = $8C86;
  5066. GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = $8C8F;
  5067. GL_INTERLEAVED_ATTRIBS_NV = $8C8C;
  5068. GL_SEPARATE_ATTRIBS_NV = $8C8D;
  5069. GL_PRIMITIVES_GENERATED_NV = $8C87;
  5070. GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = $8C88;
  5071. GL_RASTERIZER_DISCARD_NV = $8C89;
  5072. GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV = $8C8A;
  5073. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = $8C8B;
  5074. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = $8C80;
  5075. GL_TRANSFORM_FEEDBACK_ATTRIBS_NV = $8C7E;
  5076. GL_ACTIVE_VARYINGS_NV = $8C81;
  5077. GL_ACTIVE_VARYING_MAX_LENGTH_NV = $8C82;
  5078. GL_TRANSFORM_FEEDBACK_VARYINGS_NV = $8C83;
  5079. GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV = $8C7F;
  5080. GL_BACK_PRIMARY_COLOR_NV = $8C77;
  5081. GL_BACK_SECONDARY_COLOR_NV = $8C78;
  5082. GL_TEXTURE_COORD_NV = $8C79;
  5083. GL_CLIP_DISTANCE_NV = $8C7A;
  5084. GL_VERTEX_ID_NV = $8C7B;
  5085. GL_PRIMITIVE_ID_NV = $8C7C;
  5086. GL_GENERIC_ATTRIB_NV = $8C7D;
  5087. GL_LAYER_NV = $8DAA;
  5088. GL_NEXT_BUFFER_NV = -2;
  5089. GL_SKIP_COMPONENTS4_NV = -3;
  5090. GL_SKIP_COMPONENTS3_NV = -4;
  5091. GL_SKIP_COMPONENTS2_NV = -5;
  5092. GL_SKIP_COMPONENTS1_NV = -6;
  5093. // GL_NV_conditional_render
  5094. GL_QUERY_WAIT_NV = $8E13;
  5095. GL_QUERY_NO_WAIT_NV = $8E14;
  5096. GL_QUERY_BY_REGION_WAIT_NV = $8E15;
  5097. GL_QUERY_BY_REGION_NO_WAIT_NV = $8E16;
  5098. // GL_NV_conservative_raster
  5099. GL_CONSERVATIVE_RASTERIZATION_NV = $9346;
  5100. GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV = $9347;
  5101. GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV = $9348;
  5102. GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV = $9349;
  5103. // GL_NV_conservative_raster_dilate
  5104. GL_CONSERVATIVE_RASTER_DILATE_NV = $9379;
  5105. GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV = $937A;
  5106. GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV = $937B;
  5107. // GL_NV_present_video
  5108. GL_FRAME_NV = $8E26;
  5109. GL_FIELDS_NV = $8E27;
  5110. GL_CURRENT_TIME_NV = $8E28;
  5111. GL_NUM_FILL_STREAMS_NV = $8E29;
  5112. GL_PRESENT_TIME_NV = $8E2A;
  5113. GL_PRESENT_DURATION_NV = $8E2B;
  5114. // GL_NV_explicit_multisample
  5115. GL_SAMPLE_POSITION_NV = $8E50;
  5116. GL_SAMPLE_MASK_NV = $8E51;
  5117. GL_SAMPLE_MASK_VALUE_NV = $8E52;
  5118. GL_TEXTURE_BINDING_RENDERBUFFER_NV = $8E53;
  5119. GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV = $8E54;
  5120. GL_TEXTURE_RENDERBUFFER_NV = $8E55;
  5121. GL_SAMPLER_RENDERBUFFER_NV = $8E56;
  5122. GL_INT_SAMPLER_RENDERBUFFER_NV = $8E57;
  5123. GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV = $8E58;
  5124. GL_MAX_SAMPLE_MASK_WORDS_NV = $8E59;
  5125. // GL_NV_transform_feedback2
  5126. GL_TRANSFORM_FEEDBACK_NV = $8E22;
  5127. GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV = $8E23;
  5128. GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV = $8E24;
  5129. GL_TRANSFORM_FEEDBACK_BINDING_NV = $8E25;
  5130. // GL_NV_video_capture
  5131. GL_VIDEO_BUFFER_NV = $9020;
  5132. GL_VIDEO_BUFFER_BINDING_NV = $9021;
  5133. GL_FIELD_UPPER_NV = $9022;
  5134. GL_FIELD_LOWER_NV = $9023;
  5135. GL_NUM_VIDEO_CAPTURE_STREAMS_NV = $9024;
  5136. GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV = $9025;
  5137. GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV = $9026;
  5138. GL_LAST_VIDEO_CAPTURE_STATUS_NV = $9027;
  5139. GL_VIDEO_BUFFER_PITCH_NV = $9028;
  5140. GL_VIDEO_COLOR_CONVERSION_MATRIX_NV = $9029;
  5141. GL_VIDEO_COLOR_CONVERSION_MAX_NV = $902A;
  5142. GL_VIDEO_COLOR_CONVERSION_MIN_NV = $902B;
  5143. GL_VIDEO_COLOR_CONVERSION_OFFSET_NV = $902C;
  5144. GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV = $902D;
  5145. GL_PARTIAL_SUCCESS_NV = $902E;
  5146. GL_SUCCESS_NV = $902F;
  5147. GL_FAILURE_NV = $9030;
  5148. GL_YCBYCR8_422_NV = $9031;
  5149. GL_YCBAYCR8A_4224_NV = $9032;
  5150. GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV = $9033;
  5151. GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV = $9034;
  5152. GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV = $9035;
  5153. GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV = $9036;
  5154. GL_Z4Y12Z4CB12Z4CR12_444_NV = $9037;
  5155. GL_VIDEO_CAPTURE_FRAME_WIDTH_NV = $9038;
  5156. GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV = $9039;
  5157. GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV = $903A;
  5158. GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV = $903B;
  5159. GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV = $903C;
  5160. // GL_NV_shader_buffer_load
  5161. GL_BUFFER_GPU_ADDRESS_NV = $8F1D;
  5162. GL_GPU_ADDRESS_NV = $8F34;
  5163. GL_MAX_SHADER_BUFFER_ADDRESS_NV = $8F35;
  5164. // GL_NV_vertex_buffer_unified_memory
  5165. GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV = $8F1E;
  5166. GL_ELEMENT_ARRAY_UNIFIED_NV = $8F1F;
  5167. GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV = $8F20;
  5168. GL_VERTEX_ARRAY_ADDRESS_NV = $8F21;
  5169. GL_NORMAL_ARRAY_ADDRESS_NV = $8F22;
  5170. GL_COLOR_ARRAY_ADDRESS_NV = $8F23;
  5171. GL_INDEX_ARRAY_ADDRESS_NV = $8F24;
  5172. GL_TEXTURE_COORD_ARRAY_ADDRESS_NV = $8F25;
  5173. GL_EDGE_FLAG_ARRAY_ADDRESS_NV = $8F26;
  5174. GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV = $8F27;
  5175. GL_FOG_COORD_ARRAY_ADDRESS_NV = $8F28;
  5176. GL_ELEMENT_ARRAY_ADDRESS_NV = $8F29;
  5177. GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV = $8F2A;
  5178. GL_VERTEX_ARRAY_LENGTH_NV = $8F2B;
  5179. GL_NORMAL_ARRAY_LENGTH_NV = $8F2C;
  5180. GL_COLOR_ARRAY_LENGTH_NV = $8F2D;
  5181. GL_INDEX_ARRAY_LENGTH_NV = $8F2E;
  5182. GL_TEXTURE_COORD_ARRAY_LENGTH_NV = $8F2F;
  5183. GL_EDGE_FLAG_ARRAY_LENGTH_NV = $8F30;
  5184. GL_SECONDARY_COLOR_ARRAY_LENGTH_NV = $8F31;
  5185. GL_FOG_COORD_ARRAY_LENGTH_NV = $8F32;
  5186. GL_ELEMENT_ARRAY_LENGTH_NV = $8F33;
  5187. GL_DRAW_INDIRECT_UNIFIED_NV = $8F40;
  5188. GL_DRAW_INDIRECT_ADDRESS_NV = $8F41;
  5189. GL_DRAW_INDIRECT_LENGTH_NV = $8F42;
  5190. // GL_NV_gpu_program5
  5191. GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV = $8E5A;
  5192. GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV = $8E5B;
  5193. GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV = $8E5C;
  5194. GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV = $8E5D;
  5195. GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV = $8E5E;
  5196. GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV = $8E5F;
  5197. GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV = $8F44;
  5198. GL_MAX_PROGRAM_SUBROUTINE_NUM_NV = $8F45;
  5199. // GL_NV_gpu_shader5
  5200. GL_INT64_NV = $140E;
  5201. GL_UNSIGNED_INT64_NV = $140F;
  5202. GL_INT8_NV = $8FE0;
  5203. GL_INT8_VEC2_NV = $8FE1;
  5204. GL_INT8_VEC3_NV = $8FE2;
  5205. GL_INT8_VEC4_NV = $8FE3;
  5206. GL_INT16_NV = $8FE4;
  5207. GL_INT16_VEC2_NV = $8FE5;
  5208. GL_INT16_VEC3_NV = $8FE6;
  5209. GL_INT16_VEC4_NV = $8FE7;
  5210. GL_INT64_VEC2_NV = $8FE9;
  5211. GL_INT64_VEC3_NV = $8FEA;
  5212. GL_INT64_VEC4_NV = $8FEB;
  5213. GL_UNSIGNED_INT8_NV = $8FEC;
  5214. GL_UNSIGNED_INT8_VEC2_NV = $8FED;
  5215. GL_UNSIGNED_INT8_VEC3_NV = $8FEE;
  5216. GL_UNSIGNED_INT8_VEC4_NV = $8FEF;
  5217. GL_UNSIGNED_INT16_NV = $8FF0;
  5218. GL_UNSIGNED_INT16_VEC2_NV = $8FF1;
  5219. GL_UNSIGNED_INT16_VEC3_NV = $8FF2;
  5220. GL_UNSIGNED_INT16_VEC4_NV = $8FF3;
  5221. GL_UNSIGNED_INT64_VEC2_NV = $8FF5;
  5222. GL_UNSIGNED_INT64_VEC3_NV = $8FF6;
  5223. GL_UNSIGNED_INT64_VEC4_NV = $8FF7;
  5224. GL_FLOAT16_NV = $8FF8;
  5225. GL_FLOAT16_VEC2_NV = $8FF9;
  5226. GL_FLOAT16_VEC3_NV = $8FFA;
  5227. GL_FLOAT16_VEC4_NV = $8FFB;
  5228. { reuse GL_PATCHES }
  5229. // GL_NV_shader_buffer_store
  5230. GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV = $00000010;
  5231. { reuse GL_READ_WRITE }
  5232. { reuse GL_WRITE_ONLY }
  5233. // GL_NV_tessellation_program5
  5234. GL_MAX_PROGRAM_PATCH_ATTRIBS_NV = $86D8;
  5235. GL_TESS_CONTROL_PROGRAM_NV = $891E;
  5236. GL_TESS_EVALUATION_PROGRAM_NV = $891F;
  5237. GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV = $8C74;
  5238. GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV = $8C75;
  5239. // GL_NV_vertex_attrib_integer_64bit
  5240. { reuse GL_INT64_NV }
  5241. { reuse GL_UNSIGNED_INT64_NV }
  5242. // GL_NV_multisample_coverage
  5243. GL_COVERAGE_SAMPLES_NV = $80A9;
  5244. GL_COLOR_SAMPLES_NV = $8E20;
  5245. // GL_NV_vdpau_interop
  5246. GL_SURFACE_STATE_NV = $86EB;
  5247. GL_SURFACE_REGISTERED_NV = $86FD;
  5248. GL_SURFACE_MAPPED_NV = $8700;
  5249. GL_WRITE_DISCARD_NV = $88BE;
  5250. // GL_OML_interlace
  5251. GL_INTERLACE_OML = $8980;
  5252. GL_INTERLACE_READ_OML = $8981;
  5253. // GL_OML_resample
  5254. GL_PACK_RESAMPLE_OML = $8984;
  5255. GL_UNPACK_RESAMPLE_OML = $8985;
  5256. GL_RESAMPLE_REPLICATE_OML = $8986;
  5257. GL_RESAMPLE_ZERO_FILL_OML = $8987;
  5258. GL_RESAMPLE_AVERAGE_OML = $8988;
  5259. GL_RESAMPLE_DECIMATE_OML = $8989;
  5260. // GL_OML_subsample
  5261. GL_FORMAT_SUBSAMPLE_24_24_OML = $8982;
  5262. GL_FORMAT_SUBSAMPLE_244_244_OML = $8983;
  5263. // GL_OVR_multiview
  5264. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR = $9630;
  5265. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR = $9632;
  5266. GL_MAX_VIEWS_OVR = $9631;
  5267. GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR = $9633;
  5268. // GL_PGI_misc_hints
  5269. GL_PREFER_DOUBLEBUFFER_HINT_PGI = $1A1F8;
  5270. GL_CONSERVE_MEMORY_HINT_PGI = $1A1FD;
  5271. GL_RECLAIM_MEMORY_HINT_PGI = $1A1FE;
  5272. GL_NATIVE_GRAPHICS_HANDLE_PGI = $1A202;
  5273. GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI = $1A203;
  5274. GL_NATIVE_GRAPHICS_END_HINT_PGI = $1A204;
  5275. GL_ALWAYS_FAST_HINT_PGI = $1A20C;
  5276. GL_ALWAYS_SOFT_HINT_PGI = $1A20D;
  5277. GL_ALLOW_DRAW_OBJ_HINT_PGI = $1A20E;
  5278. GL_ALLOW_DRAW_WIN_HINT_PGI = $1A20F;
  5279. GL_ALLOW_DRAW_FRG_HINT_PGI = $1A210;
  5280. GL_ALLOW_DRAW_MEM_HINT_PGI = $1A211;
  5281. GL_STRICT_DEPTHFUNC_HINT_PGI = $1A216;
  5282. GL_STRICT_LIGHTING_HINT_PGI = $1A217;
  5283. GL_STRICT_SCISSOR_HINT_PGI = $1A218;
  5284. GL_FULL_STIPPLE_HINT_PGI = $1A219;
  5285. GL_CLIP_NEAR_HINT_PGI = $1A220;
  5286. GL_CLIP_FAR_HINT_PGI = $1A221;
  5287. GL_WIDE_LINE_HINT_PGI = $1A222;
  5288. GL_BACK_NORMALS_HINT_PGI = $1A223;
  5289. // GL_PGI_vertex_hints
  5290. GL_VERTEX_DATA_HINT_PGI = $1A22A;
  5291. GL_VERTEX_CONSISTENT_HINT_PGI = $1A22B;
  5292. GL_MATERIAL_SIDE_HINT_PGI = $1A22C;
  5293. GL_MAX_VERTEX_HINT_PGI = $1A22D;
  5294. GL_COLOR3_BIT_PGI = $00010000;
  5295. GL_COLOR4_BIT_PGI = $00020000;
  5296. GL_EDGEFLAG_BIT_PGI = $00040000;
  5297. GL_INDEX_BIT_PGI = $00080000;
  5298. GL_MAT_AMBIENT_BIT_PGI = $00100000;
  5299. GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = $00200000;
  5300. GL_MAT_DIFFUSE_BIT_PGI = $00400000;
  5301. GL_MAT_EMISSION_BIT_PGI = $00800000;
  5302. GL_MAT_COLOR_INDEXES_BIT_PGI = $01000000;
  5303. GL_MAT_SHININESS_BIT_PGI = $02000000;
  5304. GL_MAT_SPECULAR_BIT_PGI = $04000000;
  5305. GL_NORMAL_BIT_PGI = $08000000;
  5306. GL_TEXCOORD1_BIT_PGI = $10000000;
  5307. GL_TEXCOORD2_BIT_PGI = $20000000;
  5308. GL_TEXCOORD3_BIT_PGI = $40000000;
  5309. GL_TEXCOORD4_BIT_PGI = $80000000;
  5310. GL_VERTEX23_BIT_PGI = $00000004;
  5311. GL_VERTEX4_BIT_PGI = $00000008;
  5312. // GL_REND_screen_coordinates
  5313. GL_SCREEN_COORDINATES_REND = $8490;
  5314. GL_INVERTED_SCREEN_W_REND = $8491;
  5315. // GL_S3_s3tc
  5316. GL_RGB_S3TC = $83A0;
  5317. GL_RGB4_S3TC = $83A1;
  5318. GL_RGBA_S3TC = $83A2;
  5319. GL_RGBA4_S3TC = $83A3;
  5320. // GL_SGIS_detail_texture
  5321. GL_DETAIL_TEXTURE_2D_SGIS = $8095;
  5322. GL_DETAIL_TEXTURE_2D_BINDING_SGIS = $8096;
  5323. GL_LINEAR_DETAIL_SGIS = $8097;
  5324. GL_LINEAR_DETAIL_ALPHA_SGIS = $8098;
  5325. GL_LINEAR_DETAIL_COLOR_SGIS = $8099;
  5326. GL_DETAIL_TEXTURE_LEVEL_SGIS = $809A;
  5327. GL_DETAIL_TEXTURE_MODE_SGIS = $809B;
  5328. GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS = $809C;
  5329. // GL_SGIS_fog_function
  5330. GL_FOG_FUNC_SGIS = $812A;
  5331. GL_FOG_FUNC_POINTS_SGIS = $812B;
  5332. GL_MAX_FOG_FUNC_POINTS_SGIS = $812C;
  5333. // GL_SGIS_generate_mipmap
  5334. GL_GENERATE_MIPMAP_SGIS = $8191;
  5335. GL_GENERATE_MIPMAP_HINT_SGIS = $8192;
  5336. // GL_SGIS_multisample
  5337. GL_MULTISAMPLE_SGIS = $809D;
  5338. GL_SAMPLE_ALPHA_TO_MASK_SGIS = $809E;
  5339. GL_SAMPLE_ALPHA_TO_ONE_SGIS = $809F;
  5340. GL_SAMPLE_MASK_SGIS = $80A0;
  5341. GL_1PASS_SGIS = $80A1;
  5342. GL_2PASS_0_SGIS = $80A2;
  5343. GL_2PASS_1_SGIS = $80A3;
  5344. GL_4PASS_0_SGIS = $80A4;
  5345. GL_4PASS_1_SGIS = $80A5;
  5346. GL_4PASS_2_SGIS = $80A6;
  5347. GL_4PASS_3_SGIS = $80A7;
  5348. GL_SAMPLE_BUFFERS_SGIS = $80A8;
  5349. GL_SAMPLES_SGIS = $80A9;
  5350. GL_SAMPLE_MASK_VALUE_SGIS = $80AA;
  5351. GL_SAMPLE_MASK_INVERT_SGIS = $80AB;
  5352. GL_SAMPLE_PATTERN_SGIS = $80AC;
  5353. // GL_SGIS_pixel_texture
  5354. GL_PIXEL_TEXTURE_SGIS = $8353;
  5355. GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS = $8354;
  5356. GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = $8355;
  5357. GL_PIXEL_GROUP_COLOR_SGIS = $8356;
  5358. // GL_SGIS_point_line_texgen
  5359. GL_EYE_DISTANCE_TO_POINT_SGIS = $81F0;
  5360. GL_OBJECT_DISTANCE_TO_POINT_SGIS = $81F1;
  5361. GL_EYE_DISTANCE_TO_LINE_SGIS = $81F2;
  5362. GL_OBJECT_DISTANCE_TO_LINE_SGIS = $81F3;
  5363. GL_EYE_POINT_SGIS = $81F4;
  5364. GL_OBJECT_POINT_SGIS = $81F5;
  5365. GL_EYE_LINE_SGIS = $81F6;
  5366. GL_OBJECT_LINE_SGIS = $81F7;
  5367. // GL_SGIS_point_parameters
  5368. GL_POINT_SIZE_MIN_SGIS = $8126;
  5369. GL_POINT_SIZE_MAX_SGIS = $8127;
  5370. GL_POINT_FADE_THRESHOLD_SIZE_SGIS = $8128;
  5371. GL_DISTANCE_ATTENUATION_SGIS = $8129;
  5372. // GL_SGIS_sharpen_texture
  5373. GL_LINEAR_SHARPEN_SGIS = $80AD;
  5374. GL_LINEAR_SHARPEN_ALPHA_SGIS = $80AE;
  5375. GL_LINEAR_SHARPEN_COLOR_SGIS = $80AF;
  5376. GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS = $80B0;
  5377. // GL_SGIS_texture4D
  5378. GL_PACK_SKIP_VOLUMES_SGIS = $8130;
  5379. GL_PACK_IMAGE_DEPTH_SGIS = $8131;
  5380. GL_UNPACK_SKIP_VOLUMES_SGIS = $8132;
  5381. GL_UNPACK_IMAGE_DEPTH_SGIS = $8133;
  5382. GL_TEXTURE_4D_SGIS = $8134;
  5383. GL_PROXY_TEXTURE_4D_SGIS = $8135;
  5384. GL_TEXTURE_4DSIZE_SGIS = $8136;
  5385. GL_TEXTURE_WRAP_Q_SGIS = $8137;
  5386. GL_MAX_4D_TEXTURE_SIZE_SGIS = $8138;
  5387. GL_TEXTURE_4D_BINDING_SGIS = $814F;
  5388. // GL_SGIS_texture_color_mask
  5389. GL_TEXTURE_COLOR_WRITEMASK_SGIS = $81EF;
  5390. // GL_SGIS_texture_edge_clamp
  5391. GL_CLAMP_TO_EDGE_SGIS = $812F;
  5392. // GL_SGIS_texture_filter4
  5393. GL_FILTER4_SGIS = $8146;
  5394. GL_TEXTURE_FILTER4_SIZE_SGIS = $8147;
  5395. // GL_SGIS_texture_lod
  5396. GL_TEXTURE_MIN_LOD_SGIS = $813A;
  5397. GL_TEXTURE_MAX_LOD_SGIS = $813B;
  5398. GL_TEXTURE_BASE_LEVEL_SGIS = $813C;
  5399. GL_TEXTURE_MAX_LEVEL_SGIS = $813D;
  5400. // GL_SGIS_texture_select
  5401. GL_DUAL_ALPHA4_SGIS = $8110;
  5402. GL_DUAL_ALPHA8_SGIS = $8111;
  5403. GL_DUAL_ALPHA12_SGIS = $8112;
  5404. GL_DUAL_ALPHA16_SGIS = $8113;
  5405. GL_DUAL_LUMINANCE4_SGIS = $8114;
  5406. GL_DUAL_LUMINANCE8_SGIS = $8115;
  5407. GL_DUAL_LUMINANCE12_SGIS = $8116;
  5408. GL_DUAL_LUMINANCE16_SGIS = $8117;
  5409. GL_DUAL_INTENSITY4_SGIS = $8118;
  5410. GL_DUAL_INTENSITY8_SGIS = $8119;
  5411. GL_DUAL_INTENSITY12_SGIS = $811A;
  5412. GL_DUAL_INTENSITY16_SGIS = $811B;
  5413. GL_DUAL_LUMINANCE_ALPHA4_SGIS = $811C;
  5414. GL_DUAL_LUMINANCE_ALPHA8_SGIS = $811D;
  5415. GL_QUAD_ALPHA4_SGIS = $811E;
  5416. GL_QUAD_ALPHA8_SGIS = $811F;
  5417. GL_QUAD_LUMINANCE4_SGIS = $8120;
  5418. GL_QUAD_LUMINANCE8_SGIS = $8121;
  5419. GL_QUAD_INTENSITY4_SGIS = $8122;
  5420. GL_QUAD_INTENSITY8_SGIS = $8123;
  5421. GL_DUAL_TEXTURE_SELECT_SGIS = $8124;
  5422. GL_QUAD_TEXTURE_SELECT_SGIS = $8125;
  5423. // GL_SGIX_async
  5424. GL_ASYNC_MARKER_SGIX = $8329;
  5425. // GL_SGIX_async_histogram
  5426. GL_ASYNC_HISTOGRAM_SGIX = $832C;
  5427. GL_MAX_ASYNC_HISTOGRAM_SGIX = $832D;
  5428. // GL_SGIX_async_pixel
  5429. GL_ASYNC_TEX_IMAGE_SGIX = $835C;
  5430. GL_ASYNC_DRAW_PIXELS_SGIX = $835D;
  5431. GL_ASYNC_READ_PIXELS_SGIX = $835E;
  5432. GL_MAX_ASYNC_TEX_IMAGE_SGIX = $835F;
  5433. GL_MAX_ASYNC_DRAW_PIXELS_SGIX = $8360;
  5434. GL_MAX_ASYNC_READ_PIXELS_SGIX = $8361;
  5435. // GL_SGIX_blend_alpha_minmax
  5436. GL_ALPHA_MIN_SGIX = $8320;
  5437. GL_ALPHA_MAX_SGIX = $8321;
  5438. // GL_SGIX_calligraphic_fragment
  5439. GL_CALLIGRAPHIC_FRAGMENT_SGIX = $8183;
  5440. // GL_SGIX_clipmap
  5441. GL_LINEAR_CLIPMAP_LINEAR_SGIX = $8170;
  5442. GL_TEXTURE_CLIPMAP_CENTER_SGIX = $8171;
  5443. GL_TEXTURE_CLIPMAP_FRAME_SGIX = $8172;
  5444. GL_TEXTURE_CLIPMAP_OFFSET_SGIX = $8173;
  5445. GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = $8174;
  5446. GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = $8175;
  5447. GL_TEXTURE_CLIPMAP_DEPTH_SGIX = $8176;
  5448. GL_MAX_CLIPMAP_DEPTH_SGIX = $8177;
  5449. GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = $8178;
  5450. GL_NEAREST_CLIPMAP_NEAREST_SGIX = $844D;
  5451. GL_NEAREST_CLIPMAP_LINEAR_SGIX = $844E;
  5452. GL_LINEAR_CLIPMAP_NEAREST_SGIX = $844F;
  5453. // GL_SGIX_convolution_accuracy
  5454. GL_CONVOLUTION_HINT_SGIX = $8316;
  5455. // GL_SGIX_depth_texture
  5456. GL_DEPTH_COMPONENT16_SGIX = $81A5;
  5457. GL_DEPTH_COMPONENT24_SGIX = $81A6;
  5458. GL_DEPTH_COMPONENT32_SGIX = $81A7;
  5459. // GL_SGIX_fog_offset
  5460. GL_FOG_OFFSET_SGIX = $8198;
  5461. GL_FOG_OFFSET_VALUE_SGIX = $8199;
  5462. // GL_SGIX_fog_scale
  5463. GL_FOG_SCALE_SGIX = $81FC;
  5464. GL_FOG_SCALE_VALUE_SGIX = $81FD;
  5465. // GL_SGIX_fragment_lighting
  5466. GL_FRAGMENT_LIGHTING_SGIX = $8400;
  5467. GL_FRAGMENT_COLOR_MATERIAL_SGIX = $8401;
  5468. GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX = $8402;
  5469. GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = $8403;
  5470. GL_MAX_FRAGMENT_LIGHTS_SGIX = $8404;
  5471. GL_MAX_ACTIVE_LIGHTS_SGIX = $8405;
  5472. GL_CURRENT_RASTER_NORMAL_SGIX = $8406;
  5473. GL_LIGHT_ENV_MODE_SGIX = $8407;
  5474. GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = $8408;
  5475. GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = $8409;
  5476. GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = $840A;
  5477. GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = $840B;
  5478. GL_FRAGMENT_LIGHT0_SGIX = $840C;
  5479. GL_FRAGMENT_LIGHT1_SGIX = $840D;
  5480. GL_FRAGMENT_LIGHT2_SGIX = $840E;
  5481. GL_FRAGMENT_LIGHT3_SGIX = $840F;
  5482. GL_FRAGMENT_LIGHT4_SGIX = $8410;
  5483. GL_FRAGMENT_LIGHT5_SGIX = $8411;
  5484. GL_FRAGMENT_LIGHT6_SGIX = $8412;
  5485. GL_FRAGMENT_LIGHT7_SGIX = $8413;
  5486. // GL_SGIX_framezoom
  5487. GL_FRAMEZOOM_SGIX = $818B;
  5488. GL_FRAMEZOOM_FACTOR_SGIX = $818C;
  5489. GL_MAX_FRAMEZOOM_FACTOR_SGIX = $818D;
  5490. // GL_SGIX_impact_pixel_texture
  5491. GL_PIXEL_TEX_GEN_Q_CEILING_SGIX = $8184;
  5492. GL_PIXEL_TEX_GEN_Q_ROUND_SGIX = $8185;
  5493. GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX = $8186;
  5494. GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX = $8187;
  5495. GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX = $8188;
  5496. GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX = $8189;
  5497. GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX = $818A;
  5498. // GL_SGIX_instruments
  5499. GL_INSTRUMENT_BUFFER_POINTER_SGIX = $8180;
  5500. GL_INSTRUMENT_MEASUREMENTS_SGIX = $8181;
  5501. // GL_SGIX_interlace
  5502. GL_INTERLACE_SGIX = $8094;
  5503. // GL_SGIX_ir_instrument1
  5504. GL_IR_INSTRUMENT1_SGIX = $817F;
  5505. // GL_SGIX_list_priority
  5506. GL_LIST_PRIORITY_SGIX = $8182;
  5507. // GL_SGIX_pixel_texture
  5508. GL_PIXEL_TEX_GEN_SGIX = $8139;
  5509. GL_PIXEL_TEX_GEN_MODE_SGIX = $832B;
  5510. // GL_SGIX_pixel_tiles
  5511. GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX = $813E;
  5512. GL_PIXEL_TILE_CACHE_INCREMENT_SGIX = $813F;
  5513. GL_PIXEL_TILE_WIDTH_SGIX = $8140;
  5514. GL_PIXEL_TILE_HEIGHT_SGIX = $8141;
  5515. GL_PIXEL_TILE_GRID_WIDTH_SGIX = $8142;
  5516. GL_PIXEL_TILE_GRID_HEIGHT_SGIX = $8143;
  5517. GL_PIXEL_TILE_GRID_DEPTH_SGIX = $8144;
  5518. GL_PIXEL_TILE_CACHE_SIZE_SGIX = $8145;
  5519. // GL_SGIX_polynomial_ffd
  5520. GL_GEOMETRY_DEFORMATION_SGIX = $8194;
  5521. GL_TEXTURE_DEFORMATION_SGIX = $8195;
  5522. GL_DEFORMATIONS_MASK_SGIX = $8196;
  5523. GL_MAX_DEFORMATION_ORDER_SGIX = $8197;
  5524. // GL_SGIX_reference_plane
  5525. GL_REFERENCE_PLANE_SGIX = $817D;
  5526. GL_REFERENCE_PLANE_EQUATION_SGIX = $817E;
  5527. // GL_SGIX_resample
  5528. GL_PACK_RESAMPLE_SGIX = $842C;
  5529. GL_UNPACK_RESAMPLE_SGIX = $842D;
  5530. GL_RESAMPLE_REPLICATE_SGIX = $842E;
  5531. GL_RESAMPLE_ZERO_FILL_SGIX = $842F;
  5532. GL_RESAMPLE_DECIMATE_SGIX = $8430;
  5533. // GL_SGIX_scalebias_hint
  5534. GL_SCALEBIAS_HINT_SGIX = $8322;
  5535. // GL_SGIX_shadow
  5536. GL_TEXTURE_COMPARE_SGIX = $819A;
  5537. GL_TEXTURE_COMPARE_OPERATOR_SGIX = $819B;
  5538. GL_TEXTURE_LEQUAL_R_SGIX = $819C;
  5539. GL_TEXTURE_GEQUAL_R_SGIX = $819D;
  5540. // GL_SGIX_shadow_ambient
  5541. GL_SHADOW_AMBIENT_SGIX = $80BF;
  5542. // GL_SGIX_sprite
  5543. GL_SPRITE_SGIX = $8148;
  5544. GL_SPRITE_MODE_SGIX = $8149;
  5545. GL_SPRITE_AXIS_SGIX = $814A;
  5546. GL_SPRITE_TRANSLATION_SGIX = $814B;
  5547. GL_SPRITE_AXIAL_SGIX = $814C;
  5548. GL_SPRITE_OBJECT_ALIGNED_SGIX = $814D;
  5549. GL_SPRITE_EYE_ALIGNED_SGIX = $814E;
  5550. // GL_SGIX_subsample
  5551. GL_PACK_SUBSAMPLE_RATE_SGIX = $85A0;
  5552. GL_UNPACK_SUBSAMPLE_RATE_SGIX = $85A1;
  5553. GL_PIXEL_SUBSAMPLE_4444_SGIX = $85A2;
  5554. GL_PIXEL_SUBSAMPLE_2424_SGIX = $85A3;
  5555. GL_PIXEL_SUBSAMPLE_4242_SGIX = $85A4;
  5556. // GL_SGIX_texture_add_env
  5557. GL_TEXTURE_ENV_BIAS_SGIX = $80BE;
  5558. // GL_SGIX_texture_coordinate_clamp
  5559. GL_TEXTURE_MAX_CLAMP_S_SGIX = $8369;
  5560. GL_TEXTURE_MAX_CLAMP_T_SGIX = $836A;
  5561. GL_TEXTURE_MAX_CLAMP_R_SGIX = $836B;
  5562. // GL_SGIX_texture_lod_bias
  5563. GL_TEXTURE_LOD_BIAS_S_SGIX = $818E;
  5564. GL_TEXTURE_LOD_BIAS_T_SGIX = $818F;
  5565. GL_TEXTURE_LOD_BIAS_R_SGIX = $8190;
  5566. // GL_SGIX_texture_multi_buffer
  5567. GL_TEXTURE_MULTI_BUFFER_HINT_SGIX = $812E;
  5568. // GL_SGIX_texture_scale_bias
  5569. GL_POST_TEXTURE_FILTER_BIAS_SGIX = $8179;
  5570. GL_POST_TEXTURE_FILTER_SCALE_SGIX = $817A;
  5571. GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = $817B;
  5572. GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = $817C;
  5573. // GL_SGIX_vertex_preclip
  5574. GL_VERTEX_PRECLIP_SGIX = $83EE;
  5575. GL_VERTEX_PRECLIP_HINT_SGIX = $83EF;
  5576. // GL_SGIX_ycrcb
  5577. GL_YCRCB_422_SGIX = $81BB;
  5578. GL_YCRCB_444_SGIX = $81BC;
  5579. // GL_SGIX_ycrcba
  5580. GL_YCRCB_SGIX = $8318;
  5581. GL_YCRCBA_SGIX = $8319;
  5582. // GL_SGI_color_matrix
  5583. GL_COLOR_MATRIX_SGI = $80B1;
  5584. GL_COLOR_MATRIX_STACK_DEPTH_SGI = $80B2;
  5585. GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI = $80B3;
  5586. GL_POST_COLOR_MATRIX_RED_SCALE_SGI = $80B4;
  5587. GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI = $80B5;
  5588. GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI = $80B6;
  5589. GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI = $80B7;
  5590. GL_POST_COLOR_MATRIX_RED_BIAS_SGI = $80B8;
  5591. GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI = $80B9;
  5592. GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI = $80BA;
  5593. GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI = $80BB;
  5594. // GL_SGI_color_table
  5595. GL_COLOR_TABLE_SGI = $80D0;
  5596. GL_POST_CONVOLUTION_COLOR_TABLE_SGI = $80D1;
  5597. GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI = $80D2;
  5598. GL_PROXY_COLOR_TABLE_SGI = $80D3;
  5599. GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = $80D4;
  5600. GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = $80D5;
  5601. GL_COLOR_TABLE_SCALE_SGI = $80D6;
  5602. GL_COLOR_TABLE_BIAS_SGI = $80D7;
  5603. GL_COLOR_TABLE_FORMAT_SGI = $80D8;
  5604. GL_COLOR_TABLE_WIDTH_SGI = $80D9;
  5605. GL_COLOR_TABLE_RED_SIZE_SGI = $80DA;
  5606. GL_COLOR_TABLE_GREEN_SIZE_SGI = $80DB;
  5607. GL_COLOR_TABLE_BLUE_SIZE_SGI = $80DC;
  5608. GL_COLOR_TABLE_ALPHA_SIZE_SGI = $80DD;
  5609. GL_COLOR_TABLE_LUMINANCE_SIZE_SGI = $80DE;
  5610. GL_COLOR_TABLE_INTENSITY_SIZE_SGI = $80DF;
  5611. // GL_SGI_depth_pass_instrument
  5612. GL_DEPTH_PASS_INSTRUMENT_SGIX = $8310;
  5613. GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX = $8311;
  5614. GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX = $8312;
  5615. // GL_SGI_texture_color_table
  5616. GL_TEXTURE_COLOR_TABLE_SGI = $80BC;
  5617. GL_PROXY_TEXTURE_COLOR_TABLE_SGI = $80BD;
  5618. // GL_SUNX_constant_data
  5619. GL_UNPACK_CONSTANT_DATA_SUNX = $81D5;
  5620. GL_TEXTURE_CONSTANT_DATA_SUNX = $81D6;
  5621. // GL_SUN_convolution_border_modes
  5622. GL_WRAP_BORDER_SUN = $81D4;
  5623. // GL_SUN_global_alpha
  5624. GL_GLOBAL_ALPHA_SUN = $81D9;
  5625. GL_GLOBAL_ALPHA_FACTOR_SUN = $81DA;
  5626. // GL_SUN_mesh_array
  5627. GL_QUAD_MESH_SUN = $8614;
  5628. GL_TRIANGLE_MESH_SUN = $8615;
  5629. // GL_SUN_slice_accum
  5630. GL_SLICE_ACCUM_SUN = $85CC;
  5631. // GL_SUN_triangle_list
  5632. GL_RESTART_SUN = $0001;
  5633. GL_REPLACE_MIDDLE_SUN = $0002;
  5634. GL_REPLACE_OLDEST_SUN = $0003;
  5635. GL_TRIANGLE_LIST_SUN = $81D7;
  5636. GL_REPLACEMENT_CODE_SUN = $81D8;
  5637. GL_REPLACEMENT_CODE_ARRAY_SUN = $85C0;
  5638. GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN = $85C1;
  5639. GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN = $85C2;
  5640. GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN = $85C3;
  5641. GL_R1UI_V3F_SUN = $85C4;
  5642. GL_R1UI_C4UB_V3F_SUN = $85C5;
  5643. GL_R1UI_C3F_V3F_SUN = $85C6;
  5644. GL_R1UI_N3F_V3F_SUN = $85C7;
  5645. GL_R1UI_C4F_N3F_V3F_SUN = $85C8;
  5646. GL_R1UI_T2F_V3F_SUN = $85C9;
  5647. GL_R1UI_T2F_N3F_V3F_SUN = $85CA;
  5648. GL_R1UI_T2F_C4F_N3F_V3F_SUN = $85CB;
  5649. // GL_WIN_phong_shading
  5650. GL_PHONG_WIN = $80EA;
  5651. GL_PHONG_HINT_WIN = $80EB;
  5652. // GL_WIN_specular_fog
  5653. GL_FOG_SPECULAR_TEXTURE_WIN = $80EC;
  5654. // GL_ARB_vertex_shader
  5655. GL_VERTEX_SHADER_ARB = $8B31;
  5656. GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB = $8B4A;
  5657. GL_MAX_VARYING_FLOATS_ARB = $8B4B;
  5658. GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = $8B4C;
  5659. GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = $8B4D;
  5660. GL_OBJECT_ACTIVE_ATTRIBUTES_ARB = $8B89;
  5661. GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = $8B8A;
  5662. // GL_KHR_blend_equation_advanced
  5663. GL_MULTIPLY_KHR = $9294;
  5664. GL_SCREEN_KHR = $9295;
  5665. GL_OVERLAY_KHR = $9296;
  5666. GL_DARKEN_KHR = $9297;
  5667. GL_LIGHTEN_KHR = $9298;
  5668. GL_COLORDODGE_KHR = $9299;
  5669. GL_COLORBURN_KHR = $929A;
  5670. GL_HARDLIGHT_KHR = $929B;
  5671. GL_SOFTLIGHT_KHR = $929C;
  5672. GL_DIFFERENCE_KHR = $929E;
  5673. GL_EXCLUSION_KHR = $92A0;
  5674. GL_HSL_HUE_KHR = $92AD;
  5675. GL_HSL_SATURATION_KHR = $92AE;
  5676. GL_HSL_COLOR_KHR = $92AF;
  5677. GL_HSL_LUMINOSITY_KHR = $92B0;
  5678. // GL_KHR_blend_equation_advanced_coherent
  5679. GL_BLEND_ADVANCED_COHERENT_KHR = $9285;
  5680. // GL_KHR_robustness
  5681. GL_CONTEXT_ROBUST_ACCESS = $90F3;
  5682. // GL_KHR_no_error
  5683. GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR = $00000008;
  5684. // GL_ARB_fragment_shader
  5685. GL_FRAGMENT_SHADER_ARB = $8B30;
  5686. GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = $8B49; // 1.4
  5687. GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = $8B8B; // 1.4
  5688. // GL_ARB_occlusion_query
  5689. GL_SAMPLES_PASSED_ARB = $8914;
  5690. GL_QUERY_COUNTER_BITS_ARB = $8864;
  5691. GL_CURRENT_QUERY_ARB = $8865;
  5692. GL_QUERY_RESULT_ARB = $8866;
  5693. GL_QUERY_RESULT_AVAILABLE_ARB = $8867;
  5694. // GL_ARB_pipeline_statistics_query
  5695. GL_VERTICES_SUBMITTED_ARB = $82EE;
  5696. GL_PRIMITIVES_SUBMITTED_ARB = $82EF;
  5697. GL_VERTEX_SHADER_INVOCATIONS_ARB = $82F0;
  5698. GL_TESS_CONTROL_SHADER_PATCHES_ARB = $82F1;
  5699. GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB = $82F2;
  5700. GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB = $82F3;
  5701. GL_FRAGMENT_SHADER_INVOCATIONS_ARB = $82F4;
  5702. GL_COMPUTE_SHADER_INVOCATIONS_ARB = $82F5;
  5703. GL_CLIPPING_INPUT_PRIMITIVES_ARB = $82F6;
  5704. GL_CLIPPING_OUTPUT_PRIMITIVES_ARB = $82F7;
  5705. // GL_ARB_point_sprite
  5706. GL_POINT_SPRITE_ARB = $8861;
  5707. GL_COORD_REPLACE_ARB = $8862;
  5708. // GL_ARB_shading_language_100
  5709. GL_SHADING_LANGUAGE_VERSION_ARB = $8B8C; // 1.4
  5710. // GL_ARB_shader_objects
  5711. GL_PROGRAM_OBJECT_ARB = $8B40;
  5712. GL_OBJECT_TYPE_ARB = $8B4E;
  5713. GL_OBJECT_SUBTYPE_ARB = $8B4F;
  5714. GL_OBJECT_DELETE_STATUS_ARB = $8B80;
  5715. GL_OBJECT_COMPILE_STATUS_ARB = $8B81;
  5716. GL_OBJECT_LINK_STATUS_ARB = $8B82;
  5717. GL_OBJECT_VALIDATE_STATUS_ARB = $8B83;
  5718. GL_OBJECT_INFO_LOG_LENGTH_ARB = $8B84;
  5719. GL_OBJECT_ATTACHED_OBJECTS_ARB = $8B85;
  5720. GL_OBJECT_ACTIVE_UNIFORMS_ARB = $8B86;
  5721. GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = $8B87;
  5722. GL_OBJECT_SHADER_SOURCE_LENGTH_ARB = $8B88;
  5723. GL_SHADER_OBJECT_ARB = $8B48;
  5724. GL_FLOAT_VEC2_ARB = $8B50;
  5725. GL_FLOAT_VEC3_ARB = $8B51;
  5726. GL_FLOAT_VEC4_ARB = $8B52;
  5727. GL_INT_VEC2_ARB = $8B53;
  5728. GL_INT_VEC3_ARB = $8B54;
  5729. GL_INT_VEC4_ARB = $8B55;
  5730. GL_BOOL_ARB = $8B56;
  5731. GL_BOOL_VEC2_ARB = $8B57;
  5732. GL_BOOL_VEC3_ARB = $8B58;
  5733. GL_BOOL_VEC4_ARB = $8B59;
  5734. GL_FLOAT_MAT2_ARB = $8B5A;
  5735. GL_FLOAT_MAT3_ARB = $8B5B;
  5736. GL_FLOAT_MAT4_ARB = $8B5C;
  5737. GL_SAMPLER_1D_ARB = $8B5D;
  5738. GL_SAMPLER_2D_ARB = $8B5E;
  5739. GL_SAMPLER_3D_ARB = $8B5F;
  5740. GL_SAMPLER_CUBE_ARB = $8B60;
  5741. GL_SAMPLER_1D_SHADOW_ARB = $8B61;
  5742. GL_SAMPLER_2D_SHADOW_ARB = $8B62;
  5743. GL_SAMPLER_2D_RECT_ARB = $8B63;
  5744. GL_SAMPLER_2D_RECT_SHADOW_ARB = $8B64;
  5745. // WGL_3DFX_multisample
  5746. WGL_SAMPLE_BUFFERS_3DFX = $2060;
  5747. WGL_SAMPLES_3DFX = $2061;
  5748. // WGL_ARB_buffer_region
  5749. WGL_FRONT_COLOR_BUFFER_BIT_ARB = $00000001;
  5750. WGL_BACK_COLOR_BUFFER_BIT_ARB = $00000002;
  5751. WGL_DEPTH_BUFFER_BIT_ARB = $00000004;
  5752. WGL_STENCIL_BUFFER_BIT_ARB = $00000008;
  5753. // WGL_ARB_context_flush_control
  5754. WGL_CONTEXT_RELEASE_BEHAVIOR_ARB = $2097;
  5755. WGL_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB = 0;
  5756. WGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB = $2098;
  5757. // WGL_ARB_make_current_read
  5758. ERROR_INVALID_PIXEL_TYPE_ARB = $2043;
  5759. ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB = $2054;
  5760. // WGL_ARB_multisample
  5761. WGL_SAMPLE_BUFFERS_ARB = $2041;
  5762. WGL_SAMPLES_ARB = $2042;
  5763. // WGL_ARB_pbuffer
  5764. WGL_DRAW_TO_PBUFFER_ARB = $202D;
  5765. WGL_MAX_PBUFFER_PIXELS_ARB = $202E;
  5766. WGL_MAX_PBUFFER_WIDTH_ARB = $202F;
  5767. WGL_MAX_PBUFFER_HEIGHT_ARB = $2030;
  5768. WGL_PBUFFER_LARGEST_ARB = $2033;
  5769. WGL_PBUFFER_WIDTH_ARB = $2034;
  5770. WGL_PBUFFER_HEIGHT_ARB = $2035;
  5771. WGL_PBUFFER_LOST_ARB = $2036;
  5772. // WGL_ARB_pixel_format
  5773. WGL_NUMBER_PIXEL_FORMATS_ARB = $2000;
  5774. WGL_DRAW_TO_WINDOW_ARB = $2001;
  5775. WGL_DRAW_TO_BITMAP_ARB = $2002;
  5776. WGL_ACCELERATION_ARB = $2003;
  5777. WGL_NEED_PALETTE_ARB = $2004;
  5778. WGL_NEED_SYSTEM_PALETTE_ARB = $2005;
  5779. WGL_SWAP_LAYER_BUFFERS_ARB = $2006;
  5780. WGL_SWAP_METHOD_ARB = $2007;
  5781. WGL_NUMBER_OVERLAYS_ARB = $2008;
  5782. WGL_NUMBER_UNDERLAYS_ARB = $2009;
  5783. WGL_TRANSPARENT_ARB = $200A;
  5784. WGL_TRANSPARENT_RED_VALUE_ARB = $2037;
  5785. WGL_TRANSPARENT_GREEN_VALUE_ARB = $2038;
  5786. WGL_TRANSPARENT_BLUE_VALUE_ARB = $2039;
  5787. WGL_TRANSPARENT_ALPHA_VALUE_ARB = $203A;
  5788. WGL_TRANSPARENT_INDEX_VALUE_ARB = $203B;
  5789. WGL_SHARE_DEPTH_ARB = $200C;
  5790. WGL_SHARE_STENCIL_ARB = $200D;
  5791. WGL_SHARE_ACCUM_ARB = $200E;
  5792. WGL_SUPPORT_GDI_ARB = $200F;
  5793. WGL_SUPPORT_OPENGL_ARB = $2010;
  5794. WGL_DOUBLE_BUFFER_ARB = $2011;
  5795. WGL_STEREO_ARB = $2012;
  5796. WGL_PIXEL_TYPE_ARB = $2013;
  5797. WGL_COLOR_BITS_ARB = $2014;
  5798. WGL_RED_BITS_ARB = $2015;
  5799. WGL_RED_SHIFT_ARB = $2016;
  5800. WGL_GREEN_BITS_ARB = $2017;
  5801. WGL_GREEN_SHIFT_ARB = $2018;
  5802. WGL_BLUE_BITS_ARB = $2019;
  5803. WGL_BLUE_SHIFT_ARB = $201A;
  5804. WGL_ALPHA_BITS_ARB = $201B;
  5805. WGL_ALPHA_SHIFT_ARB = $201C;
  5806. WGL_ACCUM_BITS_ARB = $201D;
  5807. WGL_ACCUM_RED_BITS_ARB = $201E;
  5808. WGL_ACCUM_GREEN_BITS_ARB = $201F;
  5809. WGL_ACCUM_BLUE_BITS_ARB = $2020;
  5810. WGL_ACCUM_ALPHA_BITS_ARB = $2021;
  5811. WGL_DEPTH_BITS_ARB = $2022;
  5812. WGL_STENCIL_BITS_ARB = $2023;
  5813. WGL_AUX_BUFFERS_ARB = $2024;
  5814. WGL_NO_ACCELERATION_ARB = $2025;
  5815. WGL_GENERIC_ACCELERATION_ARB = $2026;
  5816. WGL_FULL_ACCELERATION_ARB = $2027;
  5817. WGL_SWAP_EXCHANGE_ARB = $2028;
  5818. WGL_SWAP_COPY_ARB = $2029;
  5819. WGL_SWAP_UNDEFINED_ARB = $202A;
  5820. WGL_TYPE_RGBA_ARB = $202B;
  5821. WGL_TYPE_COLORINDEX_ARB = $202C;
  5822. // WGL_ARB_pixel_format_float
  5823. WGL_RGBA_FLOAT_MODE_ARB = $8820;
  5824. WGL_CLAMP_VERTEX_COLOR_ARB = $891A;
  5825. WGL_CLAMP_FRAGMENT_COLOR_ARB = $891B;
  5826. WGL_CLAMP_READ_COLOR_ARB = $891C;
  5827. WGL_FIXED_ONLY_ARB = $891D;
  5828. // WGL_ARB_render_texture
  5829. WGL_BIND_TO_TEXTURE_RGB_ARB = $2070;
  5830. WGL_BIND_TO_TEXTURE_RGBA_ARB = $2071;
  5831. WGL_TEXTURE_FORMAT_ARB = $2072;
  5832. WGL_TEXTURE_TARGET_ARB = $2073;
  5833. WGL_MIPMAP_TEXTURE_ARB = $2074;
  5834. WGL_TEXTURE_RGB_ARB = $2075;
  5835. WGL_TEXTURE_RGBA_ARB = $2076;
  5836. WGL_NO_TEXTURE_ARB = $2077;
  5837. WGL_TEXTURE_CUBE_MAP_ARB = $2078;
  5838. WGL_TEXTURE_1D_ARB = $2079;
  5839. WGL_TEXTURE_2D_ARB = $207A;
  5840. WGL_MIPMAP_LEVEL_ARB = $207B;
  5841. WGL_CUBE_MAP_FACE_ARB = $207C;
  5842. WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = $207D;
  5843. WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = $207E;
  5844. WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = $207F;
  5845. WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = $2080;
  5846. WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = $2081;
  5847. WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = $2082;
  5848. WGL_FRONT_LEFT_ARB = $2083;
  5849. WGL_FRONT_RIGHT_ARB = $2084;
  5850. WGL_BACK_LEFT_ARB = $2085;
  5851. WGL_BACK_RIGHT_ARB = $2086;
  5852. WGL_AUX0_ARB = $2087;
  5853. WGL_AUX1_ARB = $2088;
  5854. WGL_AUX2_ARB = $2089;
  5855. WGL_AUX3_ARB = $208A;
  5856. WGL_AUX4_ARB = $208B;
  5857. WGL_AUX5_ARB = $208C;
  5858. WGL_AUX6_ARB = $208D;
  5859. WGL_AUX7_ARB = $208E;
  5860. WGL_AUX8_ARB = $208F;
  5861. WGL_AUX9_ARB = $2090;
  5862. // WGL_ARB_robustness_application_isolation
  5863. WGL_CONTEXT_RESET_ISOLATION_BIT_ARB = $00000008;
  5864. // WGL_ARB_create_context
  5865. WGL_CONTEXT_DEBUG_BIT_ARB = $00000001;
  5866. WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB = $00000002;
  5867. WGL_CONTEXT_MAJOR_VERSION_ARB = $2091;
  5868. WGL_CONTEXT_MINOR_VERSION_ARB = $2092;
  5869. WGL_CONTEXT_LAYER_PLANE_ARB = $2093;
  5870. WGL_CONTEXT_FLAGS_ARB = $2094;
  5871. ERROR_INVALID_VERSION_ARB = $2095;
  5872. // WGL_ARB_create_context_profile
  5873. WGL_CONTEXT_PROFILE_MASK_ARB = $9126;
  5874. WGL_CONTEXT_CORE_PROFILE_BIT_ARB = $00000001;
  5875. WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB = $00000002;
  5876. ERROR_INVALID_PROFILE_ARB = $2096;
  5877. // WGL_ARB_framebuffer_sRGB
  5878. WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB = $20A9;
  5879. // WGL_ARB_create_context_robustness
  5880. WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB = $00000004;
  5881. WGL_LOSE_CONTEXT_ON_RESET_ARB = $8252;
  5882. WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB = $8256;
  5883. WGL_NO_RESET_NOTIFICATION_ARB = $8261;
  5884. // WGL_ATI_pixel_format_float
  5885. WGL_TYPE_RGBA_FLOAT_ATI = $21A0;
  5886. GL_TYPE_RGBA_FLOAT_ATI = $8820;
  5887. GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI = $8835;
  5888. // WGL_AMD_gpu_association
  5889. WGL_GPU_VENDOR_AMD = $1F00;
  5890. WGL_GPU_RENDERER_STRING_AMD = $1F01;
  5891. WGL_GPU_OPENGL_VERSION_STRING_AMD = $1F02;
  5892. WGL_GPU_FASTEST_TARGET_GPUS_AMD = $21A2;
  5893. WGL_GPU_RAM_AMD = $21A3;
  5894. WGL_GPU_CLOCK_AMD = $21A4;
  5895. WGL_GPU_NUM_PIPES_AMD = $21A5;
  5896. WGL_GPU_NUM_SIMD_AMD = $21A6;
  5897. WGL_GPU_NUM_RB_AMD = $21A7;
  5898. WGL_GPU_NUM_SPI_AMD = $21A8;
  5899. // WGL_EXT_depth_float
  5900. WGL_DEPTH_FLOAT_EXT = $2040;
  5901. // WGL_EXT_make_current_read
  5902. ERROR_INVALID_PIXEL_TYPE_EXT = $2043;
  5903. // WGL_EXT_multisample
  5904. WGL_SAMPLE_BUFFERS_EXT = $2041;
  5905. WGL_SAMPLES_EXT = $2042;
  5906. // WGL_EXT_pbuffer
  5907. WGL_DRAW_TO_PBUFFER_EXT = $202D;
  5908. WGL_MAX_PBUFFER_PIXELS_EXT = $202E;
  5909. WGL_MAX_PBUFFER_WIDTH_EXT = $202F;
  5910. WGL_MAX_PBUFFER_HEIGHT_EXT = $2030;
  5911. WGL_OPTIMAL_PBUFFER_WIDTH_EXT = $2031;
  5912. WGL_OPTIMAL_PBUFFER_HEIGHT_EXT = $2032;
  5913. WGL_PBUFFER_LARGEST_EXT = $2033;
  5914. WGL_PBUFFER_WIDTH_EXT = $2034;
  5915. WGL_PBUFFER_HEIGHT_EXT = $2035;
  5916. // WGL_EXT_pixel_format
  5917. WGL_NUMBER_PIXEL_FORMATS_EXT = $2000;
  5918. WGL_DRAW_TO_WINDOW_EXT = $2001;
  5919. WGL_DRAW_TO_BITMAP_EXT = $2002;
  5920. WGL_ACCELERATION_EXT = $2003;
  5921. WGL_NEED_PALETTE_EXT = $2004;
  5922. WGL_NEED_SYSTEM_PALETTE_EXT = $2005;
  5923. WGL_SWAP_LAYER_BUFFERS_EXT = $2006;
  5924. WGL_SWAP_METHOD_EXT = $2007;
  5925. WGL_NUMBER_OVERLAYS_EXT = $2008;
  5926. WGL_NUMBER_UNDERLAYS_EXT = $2009;
  5927. WGL_TRANSPARENT_EXT = $200A;
  5928. WGL_TRANSPARENT_VALUE_EXT = $200B;
  5929. WGL_SHARE_DEPTH_EXT = $200C;
  5930. WGL_SHARE_STENCIL_EXT = $200D;
  5931. WGL_SHARE_ACCUM_EXT = $200E;
  5932. WGL_SUPPORT_GDI_EXT = $200F;
  5933. WGL_SUPPORT_OPENGL_EXT = $2010;
  5934. WGL_DOUBLE_BUFFER_EXT = $2011;
  5935. WGL_STEREO_EXT = $2012;
  5936. WGL_PIXEL_TYPE_EXT = $2013;
  5937. WGL_COLOR_BITS_EXT = $2014;
  5938. WGL_RED_BITS_EXT = $2015;
  5939. WGL_RED_SHIFT_EXT = $2016;
  5940. WGL_GREEN_BITS_EXT = $2017;
  5941. WGL_GREEN_SHIFT_EXT = $2018;
  5942. WGL_BLUE_BITS_EXT = $2019;
  5943. WGL_BLUE_SHIFT_EXT = $201A;
  5944. WGL_ALPHA_BITS_EXT = $201B;
  5945. WGL_ALPHA_SHIFT_EXT = $201C;
  5946. WGL_ACCUM_BITS_EXT = $201D;
  5947. WGL_ACCUM_RED_BITS_EXT = $201E;
  5948. WGL_ACCUM_GREEN_BITS_EXT = $201F;
  5949. WGL_ACCUM_BLUE_BITS_EXT = $2020;
  5950. WGL_ACCUM_ALPHA_BITS_EXT = $2021;
  5951. WGL_DEPTH_BITS_EXT = $2022;
  5952. WGL_STENCIL_BITS_EXT = $2023;
  5953. WGL_AUX_BUFFERS_EXT = $2024;
  5954. WGL_NO_ACCELERATION_EXT = $2025;
  5955. WGL_GENERIC_ACCELERATION_EXT = $2026;
  5956. WGL_FULL_ACCELERATION_EXT = $2027;
  5957. WGL_SWAP_EXCHANGE_EXT = $2028;
  5958. WGL_SWAP_COPY_EXT = $2029;
  5959. WGL_SWAP_UNDEFINED_EXT = $202A;
  5960. WGL_TYPE_RGBA_EXT = $202B;
  5961. WGL_TYPE_COLORINDEX_EXT = $202C;
  5962. // WGL_I3D_digital_video_control
  5963. WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D = $2050;
  5964. WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D = $2051;
  5965. WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D = $2052;
  5966. WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D = $2053;
  5967. // WGL_I3D_gamma
  5968. WGL_GAMMA_TABLE_SIZE_I3D = $204E;
  5969. WGL_GAMMA_EXCLUDE_DESKTOP_I3D = $204F;
  5970. // WGL_I3D_genlock
  5971. WGL_GENLOCK_SOURCE_MULTIVIEW_I3D = $2044;
  5972. WGL_GENLOCK_SOURCE_EXTENAL_SYNC_I3D = $2045;
  5973. WGL_GENLOCK_SOURCE_EXTENAL_FIELD_I3D = $2046;
  5974. WGL_GENLOCK_SOURCE_EXTENAL_TTL_I3D = $2047;
  5975. WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D = $2048;
  5976. WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D = $2049;
  5977. WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D = $204A;
  5978. WGL_GENLOCK_SOURCE_EDGE_RISING_I3D = $204B;
  5979. WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D = $204C;
  5980. // WGL_I3D_image_buffer
  5981. WGL_IMAGE_BUFFER_MIN_ACCESS_I3D = $00000001;
  5982. WGL_IMAGE_BUFFER_LOCK_I3D = $00000002;
  5983. // WGL_NV_float_buffer
  5984. WGL_FLOAT_COMPONENTS_NV = $20B0;
  5985. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV = $20B1;
  5986. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV = $20B2;
  5987. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV = $20B3;
  5988. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV = $20B4;
  5989. WGL_TEXTURE_FLOAT_R_NV = $20B5;
  5990. WGL_TEXTURE_FLOAT_RG_NV = $20B6;
  5991. WGL_TEXTURE_FLOAT_RGB_NV = $20B7;
  5992. WGL_TEXTURE_FLOAT_RGBA_NV = $20B8;
  5993. // WGL_NV_render_depth_texture
  5994. WGL_BIND_TO_TEXTURE_DEPTH_NV = $20A3;
  5995. WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV = $20A4;
  5996. WGL_DEPTH_TEXTURE_FORMAT_NV = $20A5;
  5997. WGL_TEXTURE_DEPTH_COMPONENT_NV = $20A6;
  5998. WGL_DEPTH_COMPONENT_NV = $20A7;
  5999. // WGL_NV_render_texture_rectangle
  6000. WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV = $20A0;
  6001. WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV = $20A1;
  6002. WGL_TEXTURE_RECTANGLE_NV = $20A2;
  6003. // WGL_NV_present_video
  6004. WGL_NUM_VIDEO_SLOTS_NV = $20F0;
  6005. // WGL_NV_video_output
  6006. WGL_BIND_TO_VIDEO_RGB_NV = $20C0;
  6007. WGL_BIND_TO_VIDEO_RGBA_NV = $20C1;
  6008. WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV = $20C2;
  6009. WGL_VIDEO_OUT_COLOR_NV = $20C3;
  6010. WGL_VIDEO_OUT_ALPHA_NV = $20C4;
  6011. WGL_VIDEO_OUT_DEPTH_NV = $20C5;
  6012. WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV = $20C6;
  6013. WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV = $20C7;
  6014. WGL_VIDEO_OUT_FRAME = $20C8;
  6015. WGL_VIDEO_OUT_FIELD_1 = $20C9;
  6016. WGL_VIDEO_OUT_FIELD_2 = $20CA;
  6017. WGL_VIDEO_OUT_STACKED_FIELDS_1_2 = $20CB;
  6018. WGL_VIDEO_OUT_STACKED_FIELDS_2_1 = $20CC;
  6019. // WGL_NV_gpu_affinity
  6020. WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV = $20D0;
  6021. WGL_ERROR_MISSING_AFFINITY_MASK_NV = $20D1;
  6022. // WGL_NV_video_capture
  6023. WGL_UNIQUE_ID_NV = $20CE;
  6024. WGL_NUM_VIDEO_CAPTURE_SLOTS_NV = $20CF;
  6025. // WGL_NV_multisample_coverage
  6026. WGL_COVERAGE_SAMPLES_NV = $2042;
  6027. WGL_COLOR_SAMPLES_NV = $20B9;
  6028. // WGL_EXT_create_context_es2_profile
  6029. WGL_CONTEXT_ES2_PROFILE_BIT_EXT = $00000004;
  6030. // WGL_NV_DX_interop
  6031. WGL_ACCESS_READ_ONLY_NV = $00000000;
  6032. WGL_ACCESS_READ_WRITE_NV = $00000001;
  6033. WGL_ACCESS_WRITE_DISCARD_NV = $00000002;
  6034. // WIN_draw_range_elements
  6035. GL_MAX_ELEMENTS_VERTICES_WIN = $80E8;
  6036. GL_MAX_ELEMENTS_INDICES_WIN = $80E9;
  6037. // GLX 1.1 and later:
  6038. GLX_VENDOR = 1;
  6039. GLX_VERSION = 2;
  6040. GLX_EXTENSIONS = 3;
  6041. GLX_USE_GL = 1;
  6042. GLX_BUFFER_SIZE = 2;
  6043. GLX_LEVEL = 3;
  6044. GLX_RGBA = 4;
  6045. GLX_DOUBLEBUFFER = 5;
  6046. GLX_STEREO = 6;
  6047. GLX_AUX_BUFFERS = 7;
  6048. GLX_RED_SIZE = 8;
  6049. GLX_GREEN_SIZE = 9;
  6050. GLX_BLUE_SIZE = 10;
  6051. GLX_ALPHA_SIZE = 11;
  6052. GLX_DEPTH_SIZE = 12;
  6053. GLX_STENCIL_SIZE = 13;
  6054. GLX_ACCUM_RED_SIZE = 14;
  6055. GLX_ACCUM_GREEN_SIZE = 15;
  6056. GLX_ACCUM_BLUE_SIZE = 16;
  6057. GLX_ACCUM_ALPHA_SIZE = 17;
  6058. // GLX_VERSION_1_3
  6059. GLX_WINDOW_BIT = $00000001;
  6060. GLX_PIXMAP_BIT = $00000002;
  6061. GLX_PBUFFER_BIT = $00000004;
  6062. GLX_RGBA_BIT = $00000001;
  6063. GLX_COLOR_INDEX_BIT = $00000002;
  6064. GLX_PBUFFER_CLOBBER_MASK = $08000000;
  6065. GLX_FRONT_LEFT_BUFFER_BIT = $00000001;
  6066. GLX_FRONT_RIGHT_BUFFER_BIT = $00000002;
  6067. GLX_BACK_LEFT_BUFFER_BIT = $00000004;
  6068. GLX_BACK_RIGHT_BUFFER_BIT = $00000008;
  6069. GLX_AUX_BUFFERS_BIT = $00000010;
  6070. GLX_DEPTH_BUFFER_BIT = $00000020;
  6071. GLX_STENCIL_BUFFER_BIT = $00000040;
  6072. GLX_ACCUM_BUFFER_BIT = $00000080;
  6073. GLX_CONFIG_CAVEAT = $20;
  6074. GLX_X_VISUAL_TYPE = $22;
  6075. GLX_TRANSPARENT_TYPE = $23;
  6076. GLX_TRANSPARENT_INDEX_VALUE = $24;
  6077. GLX_TRANSPARENT_RED_VALUE = $25;
  6078. GLX_TRANSPARENT_GREEN_VALUE = $26;
  6079. GLX_TRANSPARENT_BLUE_VALUE = $27;
  6080. GLX_TRANSPARENT_ALPHA_VALUE = $28;
  6081. GLX_DONT_CARE = $FFFFFFFF;
  6082. GLX_NONE = $8000;
  6083. GLX_SLOW_CONFIG = $8001;
  6084. GLX_TRUE_COLOR = $8002;
  6085. GLX_DIRECT_COLOR = $8003;
  6086. GLX_PSEUDO_COLOR = $8004;
  6087. GLX_STATIC_COLOR = $8005;
  6088. GLX_GRAY_SCALE = $8006;
  6089. GLX_STATIC_GRAY = $8007;
  6090. GLX_TRANSPARENT_RGB = $8008;
  6091. GLX_TRANSPARENT_INDEX = $8009;
  6092. GLX_VISUAL_ID = $800B;
  6093. GLX_SCREEN = $800C;
  6094. GLX_NON_CONFORMANT_CONFIG = $800D;
  6095. GLX_DRAWABLE_TYPE = $8010;
  6096. GLX_RENDER_TYPE = $8011;
  6097. GLX_X_RENDERABLE = $8012;
  6098. GLX_FBCONFIG_ID = $8013;
  6099. GLX_RGBA_TYPE = $8014;
  6100. GLX_COLOR_INDEX_TYPE = $8015;
  6101. GLX_MAX_PBUFFER_WIDTH = $8016;
  6102. GLX_MAX_PBUFFER_HEIGHT = $8017;
  6103. GLX_MAX_PBUFFER_PIXELS = $8018;
  6104. GLX_PRESERVED_CONTENTS = $801B;
  6105. GLX_LARGEST_PBUFFER = $801C;
  6106. GLX_WIDTH = $801D;
  6107. GLX_HEIGHT = $801E;
  6108. GLX_EVENT_MASK = $801F;
  6109. GLX_DAMAGED = $8020;
  6110. GLX_SAVED = $8021;
  6111. GLX_WINDOW = $8022;
  6112. GLX_PBUFFER = $8023;
  6113. GLX_PBUFFER_HEIGHT = $8040;
  6114. GLX_PBUFFER_WIDTH = $8041;
  6115. // GLX_VERSION_1_4
  6116. GLX_SAMPLE_BUFFERS = 100000;
  6117. GLX_SAMPLES = 100001;
  6118. // GLX_ARB_multisample
  6119. GLX_SAMPLE_BUFFERS_ARB = 100000;
  6120. GLX_SAMPLES_ARB = 100001;
  6121. // GLX_ARB_robustness_application_isolation
  6122. GLX_CONTEXT_RESET_ISOLATION_BIT_ARB = $00000008;
  6123. // GLX_ARB_fbconfig_float
  6124. GLX_RGBA_FLOAT_TYPE_ARB = $20B9;
  6125. GLX_RGBA_FLOAT_BIT_ARB = $00000004;
  6126. // GLX_ARB_context_flush_control
  6127. GLX_CONTEXT_RELEASE_BEHAVIOR_ARB = $2097;
  6128. GLX_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB = 0;
  6129. GLX_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB = $2098;
  6130. // GLX_ARB_create_context
  6131. GLX_CONTEXT_DEBUG_BIT_ARB = $00000001;
  6132. GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB = $00000002;
  6133. GLX_CONTEXT_MAJOR_VERSION_ARB = $2091;
  6134. GLX_CONTEXT_MINOR_VERSION_ARB = $2092;
  6135. GLX_CONTEXT_FLAGS_ARB = $2094;
  6136. // GLX_ARB_create_context_profile
  6137. GLX_CONTEXT_CORE_PROFILE_BIT_ARB = $00000001;
  6138. GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB = $00000002;
  6139. GLX_CONTEXT_PROFILE_MASK_ARB = $9126;
  6140. // GLX_ARB_vertex_buffer_object
  6141. GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB = $2095;
  6142. // GLX_ARB_framebuffer_sRGB
  6143. GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB = $20B2;
  6144. // GLX_ARB_create_context_robustness
  6145. GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB = $00000004;
  6146. GLX_LOSE_CONTEXT_ON_RESET_ARB = $8252;
  6147. GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB = $8256;
  6148. GLX_NO_RESET_NOTIFICATION_ARB = $8261;
  6149. // GLX_EXT_visual_info
  6150. GLX_X_VISUAL_TYPE_EXT = $22;
  6151. GLX_TRANSPARENT_TYPE_EXT = $23;
  6152. GLX_TRANSPARENT_INDEX_VALUE_EXT = $24;
  6153. GLX_TRANSPARENT_RED_VALUE_EXT = $25;
  6154. GLX_TRANSPARENT_GREEN_VALUE_EXT = $26;
  6155. GLX_TRANSPARENT_BLUE_VALUE_EXT = $27;
  6156. GLX_TRANSPARENT_ALPHA_VALUE_EXT = $28;
  6157. GLX_NONE_EXT = $8000;
  6158. GLX_TRUE_COLOR_EXT = $8002;
  6159. GLX_DIRECT_COLOR_EXT = $8003;
  6160. GLX_PSEUDO_COLOR_EXT = $8004;
  6161. GLX_STATIC_COLOR_EXT = $8005;
  6162. GLX_GRAY_SCALE_EXT = $8006;
  6163. GLX_STATIC_GRAY_EXT = $8007;
  6164. GLX_TRANSPARENT_RGB_EXT = $8008;
  6165. GLX_TRANSPARENT_INDEX_EXT = $8009;
  6166. // GLX_EXT_visual_rating
  6167. GLX_VISUAL_CAVEAT_EXT = $20;
  6168. GLX_SLOW_VISUAL_EXT = $8001;
  6169. GLX_NON_CONFORMANT_VISUAL_EXT = $800D;
  6170. (* reuse GLX_NONE_EXT *)
  6171. // GLX_EXT_import_context
  6172. GLX_SHARE_CONTEXT_EXT = $800A;
  6173. GLX_VISUAL_ID_EXT = $800B;
  6174. GLX_SCREEN_EXT = $800C;
  6175. // GLX_EXT_fbconfig_packed_float
  6176. // GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT = $20B1;
  6177. // GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT = $00000008;
  6178. // GLX_EXT_framebuffer_sRGB
  6179. // GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT = $20B2;
  6180. // GLX_EXT_texture_from_pixmap
  6181. GLX_TEXTURE_1D_BIT_EXT = $00000001;
  6182. GLX_TEXTURE_2D_BIT_EXT = $00000002;
  6183. GLX_TEXTURE_RECTANGLE_BIT_EXT = $00000004;
  6184. GLX_BIND_TO_TEXTURE_RGB_EXT = $20D0;
  6185. GLX_BIND_TO_TEXTURE_RGBA_EXT = $20D1;
  6186. GLX_BIND_TO_MIPMAP_TEXTURE_EXT = $20D2;
  6187. GLX_BIND_TO_TEXTURE_TARGETS_EXT = $20D3;
  6188. GLX_Y_INVERTED_EXT = $20D4;
  6189. GLX_TEXTURE_FORMAT_EXT = $20D5;
  6190. GLX_TEXTURE_TARGET_EXT = $20D6;
  6191. GLX_MIPMAP_TEXTURE_EXT = $20D7;
  6192. GLX_TEXTURE_FORMAT_NONE_EXT = $20D8;
  6193. GLX_TEXTURE_FORMAT_RGB_EXT = $20D9;
  6194. GLX_TEXTURE_FORMAT_RGBA_EXT = $20DA;
  6195. GLX_TEXTURE_1D_EXT = $20DB;
  6196. GLX_TEXTURE_2D_EXT = $20DC;
  6197. GLX_TEXTURE_RECTANGLE_EXT = $20DD;
  6198. GLX_FRONT_LEFT_EXT = $20DE;
  6199. GLX_FRONT_RIGHT_EXT = $20DF;
  6200. GLX_BACK_LEFT_EXT = $20E0;
  6201. GLX_BACK_RIGHT_EXT = $20E1;
  6202. GLX_FRONT_EXT = GLX_FRONT_LEFT_EXT;
  6203. GLX_BACK_EXT = GLX_BACK_LEFT_EXT;
  6204. GLX_AUX0_EXT = $20E2;
  6205. GLX_AUX1_EXT = $20E3;
  6206. GLX_AUX2_EXT = $20E4;
  6207. GLX_AUX3_EXT = $20E5;
  6208. GLX_AUX4_EXT = $20E6;
  6209. GLX_AUX5_EXT = $20E7;
  6210. GLX_AUX6_EXT = $20E8;
  6211. GLX_AUX7_EXT = $20E9;
  6212. GLX_AUX8_EXT = $20EA;
  6213. GLX_AUX9_EXT = $20EB;
  6214. // GLX_EXT_swap_control
  6215. GLX_SWAP_INTERVAL_EXT = $20F1;
  6216. GLX_MAX_SWAP_INTERVAL_EXT = $20F2;
  6217. // GLX_EXT_create_context_es2_profile
  6218. GLX_CONTEXT_ES2_PROFILE_BIT_EXT = $00000004;
  6219. // GL_EXT_Late_Swaps
  6220. GLX_LATE_SWAPS_TEAR_EXT = $20F3;
  6221. // GLU
  6222. GLU_INVALID_ENUM = 100900;
  6223. GLU_INVALID_VALUE = 100901;
  6224. GLU_OUT_OF_MEMORY = 100902;
  6225. GLU_INCOMPATIBLE_GL_VERSION = 100903;
  6226. GLU_VERSION = 100800;
  6227. GLU_EXTENSIONS = 100801;
  6228. GLU_TRUE = GL_TRUE;
  6229. GLU_FALSE = GL_FALSE;
  6230. GLU_SMOOTH = 100000;
  6231. GLU_FLAT = 100001;
  6232. GLU_NONE = 100002;
  6233. GLU_POINT = 100010;
  6234. GLU_LINE = 100011;
  6235. GLU_FILL = 100012;
  6236. GLU_SILHOUETTE = 100013;
  6237. GLU_OUTSIDE = 100020;
  6238. GLU_INSIDE = 100021;
  6239. GLU_TESS_MAX_COORD = 1.0E150;
  6240. GLU_TESS_WINDING_RULE = 100140;
  6241. GLU_TESS_BOUNDARY_ONLY = 100141;
  6242. GLU_TESS_TOLERANCE = 100142;
  6243. GLU_TESS_WINDING_ODD = 100130;
  6244. GLU_TESS_WINDING_NONZERO = 100131;
  6245. GLU_TESS_WINDING_POSITIVE = 100132;
  6246. GLU_TESS_WINDING_NEGATIVE = 100133;
  6247. GLU_TESS_WINDING_ABS_GEQ_TWO = 100134;
  6248. GLU_TESS_BEGIN = 100100;
  6249. GLU_TESS_VERTEX = 100101;
  6250. GLU_TESS_END = 100102;
  6251. GLU_TESS_ERROR = 100103;
  6252. GLU_TESS_EDGE_FLAG = 100104;
  6253. GLU_TESS_COMBINE = 100105;
  6254. GLU_TESS_BEGIN_DATA = 100106;
  6255. GLU_TESS_VERTEX_DATA = 100107;
  6256. GLU_TESS_END_DATA = 100108;
  6257. GLU_TESS_ERROR_DATA = 100109;
  6258. GLU_TESS_EDGE_FLAG_DATA = 100110;
  6259. GLU_TESS_COMBINE_DATA = 100111;
  6260. GLU_TESS_ERROR1 = 100151;
  6261. GLU_TESS_ERROR2 = 100152;
  6262. GLU_TESS_ERROR3 = 100153;
  6263. GLU_TESS_ERROR4 = 100154;
  6264. GLU_TESS_ERROR5 = 100155;
  6265. GLU_TESS_ERROR6 = 100156;
  6266. GLU_TESS_ERROR7 = 100157;
  6267. GLU_TESS_ERROR8 = 100158;
  6268. GLU_TESS_MISSING_BEGIN_POLYGON = GLU_TESS_ERROR1;
  6269. GLU_TESS_MISSING_BEGIN_CONTOUR = GLU_TESS_ERROR2;
  6270. GLU_TESS_MISSING_END_POLYGON = GLU_TESS_ERROR3;
  6271. GLU_TESS_MISSING_END_CONTOUR = GLU_TESS_ERROR4;
  6272. GLU_TESS_COORD_TOO_LARGE = GLU_TESS_ERROR5;
  6273. GLU_TESS_NEED_COMBINE_CALLBACK = GLU_TESS_ERROR6;
  6274. GLU_AUTO_LOAD_MATRIX = 100200;
  6275. GLU_CULLING = 100201;
  6276. GLU_SAMPLING_TOLERANCE = 100203;
  6277. GLU_DISPLAY_MODE = 100204;
  6278. GLU_PARAMETRIC_TOLERANCE = 100202;
  6279. GLU_SAMPLING_METHOD = 100205;
  6280. GLU_U_STEP = 100206;
  6281. GLU_V_STEP = 100207;
  6282. GLU_PATH_LENGTH = 100215;
  6283. GLU_PARAMETRIC_ERROR = 100216;
  6284. GLU_DOMAIN_DISTANCE = 100217;
  6285. GLU_MAP1_TRIM_2 = 100210;
  6286. GLU_MAP1_TRIM_3 = 100211;
  6287. GLU_OUTLINE_POLYGON = 100240;
  6288. GLU_OUTLINE_PATCH = 100241;
  6289. GLU_NURBS_ERROR1 = 100251;
  6290. GLU_NURBS_ERROR2 = 100252;
  6291. GLU_NURBS_ERROR3 = 100253;
  6292. GLU_NURBS_ERROR4 = 100254;
  6293. GLU_NURBS_ERROR5 = 100255;
  6294. GLU_NURBS_ERROR6 = 100256;
  6295. GLU_NURBS_ERROR7 = 100257;
  6296. GLU_NURBS_ERROR8 = 100258;
  6297. GLU_NURBS_ERROR9 = 100259;
  6298. GLU_NURBS_ERROR10 = 100260;
  6299. GLU_NURBS_ERROR11 = 100261;
  6300. GLU_NURBS_ERROR12 = 100262;
  6301. GLU_NURBS_ERROR13 = 100263;
  6302. GLU_NURBS_ERROR14 = 100264;
  6303. GLU_NURBS_ERROR15 = 100265;
  6304. GLU_NURBS_ERROR16 = 100266;
  6305. GLU_NURBS_ERROR17 = 100267;
  6306. GLU_NURBS_ERROR18 = 100268;
  6307. GLU_NURBS_ERROR19 = 100269;
  6308. GLU_NURBS_ERROR20 = 100270;
  6309. GLU_NURBS_ERROR21 = 100271;
  6310. GLU_NURBS_ERROR22 = 100272;
  6311. GLU_NURBS_ERROR23 = 100273;
  6312. GLU_NURBS_ERROR24 = 100274;
  6313. GLU_NURBS_ERROR25 = 100275;
  6314. GLU_NURBS_ERROR26 = 100276;
  6315. GLU_NURBS_ERROR27 = 100277;
  6316. GLU_NURBS_ERROR28 = 100278;
  6317. GLU_NURBS_ERROR29 = 100279;
  6318. GLU_NURBS_ERROR30 = 100280;
  6319. GLU_NURBS_ERROR31 = 100281;
  6320. GLU_NURBS_ERROR32 = 100282;
  6321. GLU_NURBS_ERROR33 = 100283;
  6322. GLU_NURBS_ERROR34 = 100284;
  6323. GLU_NURBS_ERROR35 = 100285;
  6324. GLU_NURBS_ERROR36 = 100286;
  6325. GLU_NURBS_ERROR37 = 100287;
  6326. GLU_CW = 100120;
  6327. GLU_CCW = 100121;
  6328. GLU_INTERIOR = 100122;
  6329. GLU_EXTERIOR = 100123;
  6330. GLU_UNKNOWN = 100124;
  6331. GLU_BEGIN = GLU_TESS_BEGIN;
  6332. GLU_VERTEX = GLU_TESS_VERTEX;
  6333. GLU_END = GLU_TESS_END;
  6334. GLU_ERROR = GLU_TESS_ERROR;
  6335. GLU_EDGE_FLAG = GLU_TESS_EDGE_FLAG;
  6336. // GL functions and procedures
  6337. procedure glAccum(op: TGLuint; value: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6338. procedure glAlphaFunc(func: Cardinal; ref: TGLclampf); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6339. function glAreTexturesResident(n: TGLsizei; Textures: PGLuint; residences: PGLboolean): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6340. procedure glArrayElement(i: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6341. procedure glBegin(mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6342. procedure glBindTexture(target: Cardinal; texture: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6343. procedure glBitmap(width: TGLsizei; height: TGLsizei; xorig, yorig: Single; xmove: Single; ymove: Single; bitmap: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6344. procedure glBlendFunc(sfactor: Cardinal; dfactor: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6345. procedure glCallList(list: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6346. procedure glCallLists(n: TGLsizei; atype: Cardinal; lists: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6347. procedure glClear(mask: TGLbitfield); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6348. procedure glClearAccum(red, green, blue, alpha: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6349. procedure glClearColor(red, green, blue, alpha: TGLclampf); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6350. procedure glClearDepth(depth: TGLclampd); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6351. procedure glClearIndex(c: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6352. procedure glClearStencil(s: TGLint ); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6353. procedure glClipPlane(plane: Cardinal; equation: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6354. procedure glColor3b(red, green, blue: TGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6355. procedure glColor3bv(v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6356. procedure glColor3d(red, green, blue: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6357. procedure glColor3dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6358. procedure glColor3f(red, green, blue: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6359. procedure glColor3fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6360. procedure glColor3i(red, green, blue: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6361. procedure glColor3iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6362. procedure glColor3s(red, green, blue: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6363. procedure glColor3sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6364. procedure glColor3ub(red, green, blue: TGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6365. procedure glColor3ubv(v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6366. procedure glColor3ui(red, green, blue: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6367. procedure glColor3uiv(v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6368. procedure glColor3us(red, green, blue: TGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6369. procedure glColor3usv(v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6370. procedure glColor4b(red, green, blue, alpha: TGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6371. procedure glColor4bv(v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6372. procedure glColor4d(red, green, blue, alpha: TGLdouble ); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6373. procedure glColor4dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6374. procedure glColor4f(red, green, blue, alpha: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6375. procedure glColor4fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6376. procedure glColor4i(red, green, blue, alpha: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6377. procedure glColor4iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6378. procedure glColor4s(red, green, blue, alpha: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6379. procedure glColor4sv(v: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6380. procedure glColor4ub(red, green, blue, alpha: TGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6381. procedure glColor4ubv(v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6382. procedure glColor4ui(red, green, blue, alpha: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6383. procedure glColor4uiv(v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6384. procedure glColor4us(red, green, blue, alpha: TGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6385. procedure glColor4usv(v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6386. procedure glColorMask(red, green, blue, alpha: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6387. procedure glColorMaterial(face: Cardinal; mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6388. procedure glColorPointer(size: TGLint; atype: Cardinal; stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6389. procedure glCopyPixels(x, y: TGLint; width, height: TGLsizei; atype: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6390. procedure glCopyTexImage1D(target: Cardinal; level: TGLint; internalFormat: Cardinal; x, y: TGLint; width: TGLsizei; border: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6391. procedure glCopyTexImage2D(target: Cardinal; level: TGLint; internalFormat: Cardinal; x, y: TGLint; width, height: TGLsizei; border: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6392. procedure glCopyTexSubImage1D(target: Cardinal; level, xoffset, x, y: TGLint; width: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6393. procedure glCopyTexSubImage2D(target: Cardinal; level, xoffset, yoffset, x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6394. procedure glCullFace(mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6395. procedure glDeleteLists(list: TGLuint; range: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6396. procedure glDeleteTextures(n: TGLsizei; textures: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6397. procedure glDepthFunc(func: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6398. procedure glDepthMask(flag: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6399. procedure glDepthRange(zNear, zFar: TGLclampd); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6400. procedure glDisable(cap: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6401. procedure glDisableClientState(aarray: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6402. procedure glDrawArrays(mode: Cardinal; first: TGLint; count: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6403. procedure glDrawBuffer(mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6404. procedure glDrawElements(mode: Cardinal; count: TGLsizei; atype: Cardinal; indices: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6405. procedure glDrawPixels(width, height: TGLsizei; format, atype: Cardinal; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6406. procedure glEdgeFlag(flag: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6407. procedure glEdgeFlagPointer(stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6408. procedure glEdgeFlagv(flag: PGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6409. procedure glEnable(cap: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6410. procedure glEnableClientState(aarray: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6411. procedure glEnd; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6412. procedure glEndList; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6413. procedure glEvalCoord1d(u: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6414. procedure glEvalCoord1dv(u: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6415. procedure glEvalCoord1f(u: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6416. procedure glEvalCoord1fv(u: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6417. procedure glEvalCoord2d(u: TGLdouble; v: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6418. procedure glEvalCoord2dv(u: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6419. procedure glEvalCoord2f(u, v: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6420. procedure glEvalCoord2fv(u: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6421. procedure glEvalMesh1(mode: Cardinal; i1, i2: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6422. procedure glEvalMesh2(mode: Cardinal; i1, i2, j1, j2: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6423. procedure glEvalPoint1(i: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6424. procedure glEvalPoint2(i, j: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6425. procedure glFeedbackBuffer(size: TGLsizei; atype: Cardinal; buffer: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6426. procedure glFinish; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6427. procedure glFlush; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6428. procedure glFogf(pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6429. procedure glFogfv(pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6430. procedure glFogi(pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6431. procedure glFogiv(pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6432. procedure glFrontFace(mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6433. procedure glFrustum(left, right, bottom, top, zNear, zFar: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6434. function glGenLists(range: TGLsizei): TGLuint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6435. procedure glGenTextures(n: TGLsizei; textures: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6436. procedure glGetBooleanv(pname: Cardinal; params: PGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6437. procedure glGetClipPlane(plane: Cardinal; equation: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6438. procedure glGetDoublev(pname: Cardinal; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6439. function glGetError: TGLuint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6440. procedure glGetFloatv(pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6441. procedure glGetIntegerv(pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6442. procedure glGetLightfv(light, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6443. procedure glGetLightiv(light, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6444. procedure glGetMapdv(target, query: Cardinal; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6445. procedure glGetMapfv(target, query: Cardinal; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6446. procedure glGetMapiv(target, query: Cardinal; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6447. procedure glGetMaterialfv(face, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6448. procedure glGetMaterialiv(face, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6449. procedure glGetPixelMapfv(map: Cardinal; values: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6450. procedure glGetPixelMapuiv(map: Cardinal; values: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6451. procedure glGetPixelMapusv(map: Cardinal; values: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6452. procedure glGetPointerv(pname: Cardinal; var params); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6453. procedure glGetPolygonStipple(mask: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6454. function glGetString(name: Cardinal): PChar; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6455. procedure glGetTexEnvfv(target, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6456. procedure glGetTexEnviv(target, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6457. procedure glGetTexGendv(coord, pname: Cardinal; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6458. procedure glGetTexGenfv(coord, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6459. procedure glGetTexGeniv(coord, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6460. procedure glGetTexImage(target: Cardinal; level: TGLint; format, atype: Cardinal; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6461. procedure glGetTexLevelParameterfv(target: Cardinal; level: TGLint; pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6462. procedure glGetTexLevelParameteriv(target: Cardinal; level: TGLint; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6463. procedure glGetTexParameterfv(target, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6464. procedure glGetTexParameteriv(target, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6465. procedure glHint(target, mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6466. procedure glIndexMask(mask: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6467. procedure glIndexPointer(atype: Cardinal; stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6468. procedure glIndexd(c: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6469. procedure glIndexdv(c: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6470. procedure glIndexf(c: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6471. procedure glIndexfv(c: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6472. procedure glIndexi(c: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6473. procedure glIndexiv(c: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6474. procedure glIndexs(c: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6475. procedure glIndexsv(c: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6476. procedure glIndexub(c: TGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6477. procedure glIndexubv(c: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6478. procedure glInitNames; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6479. procedure glInterleavedArrays(format: Cardinal; stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6480. function glIsEnabled(cap: Cardinal): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6481. function glIsList(list: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6482. function glIsTexture(texture: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6483. procedure glLightModelf(pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6484. procedure glLightModelfv(pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6485. procedure glLightModeli(pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6486. procedure glLightModeliv(pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6487. procedure glLightf(light, pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6488. procedure glLightfv(light, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6489. procedure glLighti(light, pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6490. procedure glLightiv(light, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6491. procedure glLineStipple(factor: TGLint; pattern: TGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6492. procedure glLineWidth(width: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6493. procedure glListBase(base: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6494. procedure glLoadIdentity; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6495. procedure glLoadMatrixd(m: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6496. procedure glLoadMatrixf(m: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6497. procedure glLoadName(name: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6498. procedure glLogicOp(opcode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6499. procedure glMap1d(target: Cardinal; u1, u2: TGLdouble; stride, order: TGLint; points: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6500. procedure glMap1f(target: Cardinal; u1, u2: Single; stride, order: TGLint; points: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6501. procedure glMap2d(target: Cardinal; u1, u2: TGLdouble; ustride, uorder: TGLint; v1, v2: TGLdouble; vstride, vorder: TGLint; points: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6502. procedure glMap2f(target: Cardinal; u1, u2: Single; ustride, uorder: TGLint; v1, v2: Single; vstride, vorder: TGLint; points: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6503. procedure glMapGrid1d(un: TGLint; u1, u2: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6504. procedure glMapGrid1f(un: TGLint; u1, u2: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6505. procedure glMapGrid2d(un: TGLint; u1, u2: TGLdouble; vn: TGLint; v1, v2: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6506. procedure glMapGrid2f(un: TGLint; u1, u2: Single; vn: TGLint; v1, v2: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6507. procedure glMaterialf(face, pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6508. procedure glMaterialfv(face, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6509. procedure glMateriali(face, pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6510. procedure glMaterialiv(face, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6511. procedure glMatrixMode(mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6512. procedure glMultMatrixd(m: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6513. procedure glMultMatrixf(m: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6514. procedure glNewList(list: TGLuint; mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6515. procedure glNormal3b(nx, ny, nz: TGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6516. procedure glNormal3bv(v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6517. procedure glNormal3d(nx, ny, nz: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6518. procedure glNormal3dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6519. procedure glNormal3f(nx, ny, nz: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6520. procedure glNormal3fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6521. procedure glNormal3i(nx, ny, nz: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6522. procedure glNormal3iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6523. procedure glNormal3s(nx, ny, nz: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6524. procedure glNormal3sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6525. procedure glNormalPointer(atype: Cardinal; stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6526. procedure glOrtho(left, right, bottom, top, zNear, zFar: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6527. procedure glPassThrough(token: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6528. procedure glPixelMapfv(map: Cardinal; mapsize: TGLsizei; values: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6529. procedure glPixelMapuiv(map: Cardinal; mapsize: TGLsizei; values: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6530. procedure glPixelMapusv(map: Cardinal; mapsize: TGLsizei; values: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6531. procedure glPixelStoref(pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6532. procedure glPixelStorei(pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6533. procedure glPixelTransferf(pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6534. procedure glPixelTransferi(pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6535. procedure glPixelZoom(xfactor, yfactor: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6536. procedure glPointSize(size: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6537. procedure glPolygonMode(face, mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6538. procedure glPolygonOffset(factor, units: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6539. procedure glPolygonStipple(mask: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6540. procedure glPopAttrib; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6541. procedure glPopClientAttrib; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6542. procedure glPopMatrix; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6543. procedure glPopName; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6544. procedure glPrioritizeTextures(n: TGLsizei; textures: PGLuint; priorities: PGLclampf); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6545. procedure glPushAttrib(mask: TGLbitfield); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6546. procedure glPushClientAttrib(mask: TGLbitfield); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6547. procedure glPushMatrix; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6548. procedure glPushName(name: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6549. procedure glRasterPos2d(x, y: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6550. procedure glRasterPos2dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6551. procedure glRasterPos2f(x, y: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6552. procedure glRasterPos2fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6553. procedure glRasterPos2i(x, y: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6554. procedure glRasterPos2iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6555. procedure glRasterPos2s(x, y: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6556. procedure glRasterPos2sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6557. procedure glRasterPos3d(x, y, z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6558. procedure glRasterPos3dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6559. procedure glRasterPos3f(x, y, z: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6560. procedure glRasterPos3fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6561. procedure glRasterPos3i(x, y, z: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6562. procedure glRasterPos3iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6563. procedure glRasterPos3s(x, y, z: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6564. procedure glRasterPos3sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6565. procedure glRasterPos4d(x, y, z, w: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6566. procedure glRasterPos4dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6567. procedure glRasterPos4f(x, y, z, w: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6568. procedure glRasterPos4fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6569. procedure glRasterPos4i(x, y, z, w: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6570. procedure glRasterPos4iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6571. procedure glRasterPos4s(x, y, z, w: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6572. procedure glRasterPos4sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6573. procedure glReadBuffer(mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6574. procedure glReadPixels(x, y: TGLint; width, height: TGLsizei; format, atype: Cardinal; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6575. procedure glRectd(x1, y1, x2, y2: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6576. procedure glRectdv(v1, v2: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6577. procedure glRectf(x1, y1, x2, y2: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6578. procedure glRectfv(v1, v2: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6579. procedure glRecti(x1, y1, x2, y2: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6580. procedure glRectiv(v1, v2: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6581. procedure glRects(x1, y1, x2, y2: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6582. procedure glRectsv(v1, v2: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6583. function glRenderMode(mode: Cardinal): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6584. procedure glRotated(angle, x, y, z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6585. procedure glRotatef(angle, x, y, z: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6586. procedure glScaled(x, y, z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6587. procedure glScalef(x, y, z: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6588. procedure glScissor(x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6589. procedure glSelectBuffer(size: TGLsizei; buffer: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6590. procedure glShadeModel(mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6591. procedure glStencilFunc(func: Cardinal; ref: TGLint; mask: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6592. procedure glStencilMask(mask: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6593. procedure glStencilOp(fail, zfail, zpass: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6594. procedure glTexCoord1d(s: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6595. procedure glTexCoord1dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6596. procedure glTexCoord1f(s: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6597. procedure glTexCoord1fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6598. procedure glTexCoord1i(s: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6599. procedure glTexCoord1iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6600. procedure glTexCoord1s(s: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6601. procedure glTexCoord1sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6602. procedure glTexCoord2d(s, t: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6603. procedure glTexCoord2dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6604. procedure glTexCoord2f(s, t: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6605. procedure glTexCoord2fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6606. procedure glTexCoord2i(s, t: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6607. procedure glTexCoord2iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6608. procedure glTexCoord2s(s, t: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6609. procedure glTexCoord2sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6610. procedure glTexCoord3d(s, t, r: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6611. procedure glTexCoord3dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6612. procedure glTexCoord3f(s, t, r: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6613. procedure glTexCoord3fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6614. procedure glTexCoord3i(s, t, r: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6615. procedure glTexCoord3iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6616. procedure glTexCoord3s(s, t, r: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6617. procedure glTexCoord3sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6618. procedure glTexCoord4d(s, t, r, q: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6619. procedure glTexCoord4dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6620. procedure glTexCoord4f(s, t, r, q: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6621. procedure glTexCoord4fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6622. procedure glTexCoord4i(s, t, r, q: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6623. procedure glTexCoord4iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6624. procedure glTexCoord4s(s, t, r, q: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6625. procedure glTexCoord4sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6626. procedure glTexCoordPointer(size: TGLint; atype: Cardinal; stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6627. procedure glTexEnvf(target, pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6628. procedure glTexEnvfv(target, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6629. procedure glTexEnvi(target, pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6630. procedure glTexEnviv(target, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6631. procedure glTexGend(coord, pname: Cardinal; param: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6632. procedure glTexGendv(coord, pname: Cardinal; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6633. procedure glTexGenf(coord, pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6634. procedure glTexGenfv(coord, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6635. procedure glTexGeni(coord, pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6636. procedure glTexGeniv(coord, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6637. procedure glTexImage1D(target: Cardinal; level, internalformat: TGLint; width: TGLsizei; border: TGLint; format, atype: Cardinal; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6638. procedure glTexImage2D(target: Cardinal; level, internalformat: TGLint; width, height: TGLsizei; border: TGLint; format, atype: Cardinal; Pixels:Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6639. procedure glTexParameterf(target, pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6640. procedure glTexParameterfv(target, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6641. procedure glTexParameteri(target, pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6642. procedure glTexParameteriv(target, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6643. procedure glTexSubImage1D(target: Cardinal; level, xoffset: TGLint; width: TGLsizei; format, atype: Cardinal; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6644. procedure glTexSubImage2D(target: Cardinal; level, xoffset, yoffset: TGLint; width, height: TGLsizei; format, atype: Cardinal; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6645. procedure glTranslated(x, y, z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6646. procedure glTranslatef(x, y, z: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6647. procedure glVertex2d(x, y: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6648. procedure glVertex2dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6649. procedure glVertex2f(x, y: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6650. procedure glVertex2fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6651. procedure glVertex2i(x, y: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6652. procedure glVertex2iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6653. procedure glVertex2s(x, y: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6654. procedure glVertex2sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6655. procedure glVertex3d(x, y, z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6656. procedure glVertex3dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6657. procedure glVertex3f(x, y, z: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6658. procedure glVertex3fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6659. procedure glVertex3i(x, y, z: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6660. procedure glVertex3iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6661. procedure glVertex3s(x, y, z: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6662. procedure glVertex3sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6663. procedure glVertex4d(x, y, z, w: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6664. procedure glVertex4dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6665. procedure glVertex4f(x, y, z, w: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6666. procedure glVertex4fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6667. procedure glVertex4i(x, y, z, w: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6668. procedure glVertex4iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6669. procedure glVertex4s(x, y, z, w: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6670. procedure glVertex4sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6671. procedure glVertexPointer(size: TGLint; atype: Cardinal; stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6672. procedure glViewport(x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6673. // GLU utility functions and procedures
  6674. function gluErrorString(errCode: Cardinal): PGLChar; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6675. function gluGetString(name: Cardinal): PGLChar; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6676. procedure gluBeginCurve(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6677. procedure gluBeginPolygon(tess: PGLUtesselator); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6678. procedure gluBeginSurface(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6679. 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;
  6680. 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;
  6681. function gluScaleImage(format: Cardinal; widthin, heightin: TGLint; typein: Cardinal; datain: Pointer; widthout, heightout: TGLint; typeout: Cardinal; dataout: Pointer): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6682. function gluBuild1DMipmaps(target: Cardinal; components, width: TGLint; format, atype: Cardinal; data: Pointer): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6683. function gluBuild2DMipmaps(target: Cardinal; components, width, height: TGLint; format, atype: Cardinal; data: Pointer): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6684. function gluNewQuadric: PGLUquadric; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6685. function gluNewNurbsRenderer: PGLUnurbs; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6686. function gluNewTess: PGLUtesselator; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6687. procedure gluBeginTrim(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6688. procedure gluCylinder(quadObject: PGLUquadric; baseRadius, topRadius, height: TGLdouble; slices, stacks: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6689. procedure gluDeleteNurbsRenderer(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6690. procedure gluDeleteQuadric(state: PGLUquadric); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6691. procedure gluDeleteTess(tess: PGLUtesselator); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6692. procedure gluDisk(quadObject: PGLUquadric; innerRadius, outerRadius: TGLdouble; slices, loops: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6693. procedure gluEndCurve(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6694. procedure gluEndPolygon(tess: PGLUtesselator); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6695. procedure gluEndSurface(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6696. procedure gluEndTrim(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6697. procedure gluGetNurbsProperty(nobj: PGLUnurbs; aproperty: Cardinal; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6698. procedure gluGetTessProperty(tess: PGLUtesselator; which: Cardinal; value: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6699. procedure gluLoadSamplingMatrices(nobj: PGLUnurbs; const modelMatrix: TMatrix4f; const projMatrix: TMatrix4f; const viewport: TVector4i); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6700. procedure gluLookAt(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6701. procedure gluNextContour(tess: PGLUtesselator; atype: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6702. procedure gluNurbsCallback(nobj: PGLUnurbs; which: Cardinal; fn: TGLUNurbsErrorProc); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6703. procedure gluNurbsCurve(nobj: PGLUnurbs; nknots: TGLint; knot: PGLfloat; stride: TGLint; ctlarray: PGLfloat; order: TGLint; atype: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6704. procedure gluNurbsProperty(nobj: PGLUnurbs; aproperty: Cardinal; value: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6705. 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: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6706. procedure gluOrtho2D(left, right, bottom, top: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6707. procedure gluPartialDisk(quadObject: PGLUquadric; innerRadius, outerRadius: TGLdouble; slices, loops: TGLint; startAngle, sweepAngle: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6708. procedure gluPerspective(fovy, aspect, zNear, zFar: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6709. procedure gluPickMatrix(x, y, width, height: TGLdouble; const viewport: TVector4i); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6710. procedure gluPwlCurve(nobj: PGLUnurbs; count: TGLint; points: PGLfloat; stride: TGLint; atype: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6711. procedure gluQuadricCallback(quadObject: PGLUquadric; which: Cardinal; fn: TGLUQuadricErrorProc); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6712. procedure gluQuadricDrawStyle(quadObject: PGLUquadric; drawStyle: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6713. procedure gluQuadricNormals(quadObject: PGLUquadric; normals: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6714. procedure gluQuadricOrientation(quadObject: PGLUquadric; orientation: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6715. procedure gluQuadricTexture(quadObject: PGLUquadric; textureCoords: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6716. procedure gluSphere(quadObject: PGLUquadric; radius: TGLdouble; slices, stacks: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6717. procedure gluTessBeginContour(tess: PGLUtesselator); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6718. procedure gluTessBeginPolygon(tess: PGLUtesselator; polygon_data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6719. procedure gluTessCallback(tess: PGLUtesselator; which: Cardinal; fn: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6720. procedure gluTessEndContour(tess: PGLUtesselator); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6721. procedure gluTessEndPolygon(tess: PGLUtesselator); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6722. procedure gluTessNormal(tess: PGLUtesselator; x, y, z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6723. procedure gluTessProperty(tess: PGLUtesselator; which: Cardinal; value: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6724. procedure gluTessVertex(tess: PGLUtesselator; const coords: TVector3d; data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6725. function wglCopyContext(p1: HGLRC; p2: HGLRC; p3: Cardinal): BOOL; stdcall; external opengl32;
  6726. function wglCreateContext(DC: HDC): HGLRC; stdcall; external opengl32;
  6727. function wglCreateLayerContext(p1: HDC; p2: Integer): HGLRC; stdcall; external opengl32;
  6728. function wglDeleteContext(p1: HGLRC): BOOL; stdcall; external opengl32;
  6729. function wglDescribeLayerPlane(p1: HDC; p2, p3: Integer; p4: Cardinal; var p5: TLayerPlaneDescriptor): BOOL; stdcall; external opengl32;
  6730. function wglGetCurrentContext: HGLRC; stdcall; external opengl32;
  6731. function wglGetCurrentDC: HDC; stdcall; external opengl32;
  6732. function wglGetLayerPaletteEntries(p1: HDC; p2, p3, p4: Integer; var pcr): Integer; stdcall; external opengl32;
  6733. function wglGetProcAddress(ProcName: PGLChar): Pointer; stdcall; external opengl32;
  6734. function wglMakeCurrent(DC: HDC; p2: HGLRC): BOOL; stdcall; external opengl32;
  6735. function wglRealizeLayerPalette(p1: HDC; p2: Integer; p3: BOOL): BOOL; stdcall; external opengl32;
  6736. function wglSetLayerPaletteEntries(p1: HDC; p2, p3, p4: Integer; var pcr): Integer; stdcall; external opengl32;
  6737. function wglShareLists(p1, p2: HGLRC): BOOL; stdcall; external opengl32;
  6738. function wglSwapLayerBuffers(p1: HDC; p2: Cardinal): BOOL; stdcall; external opengl32;
  6739. function wglSwapMultipleBuffers(p1: UINT; const p2: PWGLSwap): DWORD; stdcall; external opengl32;
  6740. function wglUseFontBitmapsA(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32;
  6741. function wglUseFontOutlinesA (p1: HDC; p2, p3, p4: DWORD; p5, p6: Single; p7: Integer; p8: PGlyphMetricsFloat): BOOL; stdcall; external opengl32;
  6742. function wglUseFontBitmapsW(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32;
  6743. function wglUseFontOutlinesW (p1: HDC; p2, p3, p4: DWORD; p5, p6: Single; p7: Integer; p8: PGlyphMetricsFloat): BOOL; stdcall; external opengl32;
  6744. function wglUseFontBitmaps(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32 name 'wglUseFontBitmapsA';
  6745. function wglUseFontOutlines(p1: HDC; p2, p3, p4: DWORD; p5, p6: Single; p7: Integer; p8: PGlyphMetricsFloat): BOOL; stdcall; external opengl32 name 'wglUseFontOutlinesA';
  6746. {$IFDEF USE_MULTITHREAD}
  6747. threadvar
  6748. {$ELSE}
  6749. var
  6750. {$ENDIF}
  6751. // ------------------- OpenGL extension function/procedure definitions ------------------
  6752. // ###########################################################
  6753. // function and procedure definitions for
  6754. // extensions integrated into OpenGL 1.2 Core
  6755. // ###########################################################
  6756. // promoted to core v1.2 from GL_EXT_blend_color (#2)
  6757. glBlendColor: procedure(red, green, blue, alpha: TGLclampf); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6758. // promoted to core v1.2 from GL_EXT_blend_minmax (#37)
  6759. glBlendEquation: procedure(mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6760. // promoted to core v1.2 from GL_EXT_draw_range_elements (#112)
  6761. glDrawRangeElements: procedure(mode: Cardinal; Astart, Aend: TGLuint; count: TGLsizei; Atype: Cardinal;
  6762. indices: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6763. // promoted to core v1.2 from GL_EXT_texture3D (#6)
  6764. glTexImage3D: procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; width, height, depth: TGLsizei;
  6765. border: TGLint; format: Cardinal; Atype: Cardinal; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6766. glTexSubImage3D: procedure(target: Cardinal; level, xoffset, yoffset, zoffset: TGLint; width, height, depth: TGLsizei;
  6767. format: Cardinal; Atype: Cardinal; pixels: Pointer);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6768. // promoted to core v1.2 from GL_EXT_copy_texture
  6769. glCopyTexSubImage3D: procedure(target: Cardinal; level, xoffset, yoffset, zoffset, x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6770. // OpenGL 1.2 deprecated
  6771. // promoted to core v1.2 from GL_SGI_color_table (#14)
  6772. glColorTable: procedure(target, internalformat: Cardinal; width: TGLsizei; format, Atype: Cardinal;
  6773. table: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6774. glColorTableParameterfv: procedure(target, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6775. glColorTableParameteriv: procedure(target, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6776. glCopyColorTable: procedure(target, internalformat: Cardinal; x, y: TGLint; width: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6777. glGetColorTable: procedure(target, format, Atype: Cardinal; table: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6778. glGetColorTableParameterfv: procedure(target, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6779. glGetColorTableParameteriv: procedure(target, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6780. // promoted to core v1.2 from GL_EXT_color_subtable (#74)
  6781. glColorSubTable: procedure(target: Cardinal; start, count: TGLsizei; format, Atype: Cardinal; data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6782. glCopyColorSubTable: procedure(target: Cardinal; start: TGLsizei; x, y: TGLint; width: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6783. // promoted to core v1.2 from GL_EXT_convolution (#12)
  6784. glConvolutionFilter1D: procedure(target, internalformat: Cardinal; width: TGLsizei; format, Atype: Cardinal;
  6785. image: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6786. glConvolutionFilter2D: procedure(target, internalformat: Cardinal; width, height: TGLsizei; format, Atype: Cardinal;
  6787. image: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6788. glConvolutionParameterf: procedure(target, pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6789. glConvolutionParameterfv: procedure(target, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6790. glConvolutionParameteri: procedure(target, pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6791. glConvolutionParameteriv: procedure(target, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6792. glCopyConvolutionFilter1D: procedure(target, internalformat: Cardinal; x, y: TGLint; width: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6793. glCopyConvolutionFilter2D: procedure(target, internalformat: Cardinal; x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6794. glGetConvolutionFilter: procedure(target, internalformat, Atype: Cardinal; image: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6795. glGetConvolutionParameterfv: procedure(target, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6796. glGetConvolutionParameteriv: procedure(target, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6797. glGetSeparableFilter: procedure(target, format, Atype: Cardinal; row, column, span: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6798. glSeparableFilter2D: procedure(target, internalformat: Cardinal; width, height: TGLsizei; format, Atype: Cardinal; row, column: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6799. // promoted to core v1.2 from GL_EXT_histogram (#11)
  6800. glGetHistogram: procedure(target: Cardinal; reset: TGLboolean; format, Atype: Cardinal; values: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6801. glGetHistogramParameterfv: procedure(target, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6802. glGetHistogramParameteriv: procedure(target, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6803. glGetMinmax: procedure(target: Cardinal; reset: TGLboolean; format, Atype: Cardinal; values: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6804. glGetMinmaxParameterfv: procedure(target, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6805. glGetMinmaxParameteriv: procedure(target, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6806. glHistogram: procedure(target: Cardinal; width: TGLsizei; internalformat: Cardinal; sink: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6807. glMinmax: procedure(target, internalformat: Cardinal; sink: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6808. glResetHistogram: procedure(target: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6809. glResetMinmax: procedure(target: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6810. // ###########################################################
  6811. // function and procedure definitions for
  6812. // extensions integrated into OpenGL 1.3 Core
  6813. // ###########################################################
  6814. // promoted to core v1.3 from GL_ARB_multitexture (#1)
  6815. glActiveTexture: procedure(texture: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6816. // promoted to core v1.3 from GL_ARB_multisample (#5)
  6817. glSampleCoverage: procedure(Value: TGLclampf; invert: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6818. // promoted to core v1.3 from GL_ARB_texture_compression (#12)
  6819. glCompressedTexImage3D: procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width, Height, depth: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6820. glCompressedTexImage2D: procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width, Height: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6821. glCompressedTexImage1D: procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6822. glCompressedTexSubImage3D: procedure(target: Cardinal; level: TGLint; xoffset, yoffset, zoffset: TGLint; width, height, depth: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6823. glCompressedTexSubImage2D: procedure(target: Cardinal; level: TGLint; xoffset, yoffset: TGLint; width, height: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6824. glCompressedTexSubImage1D: procedure(target: Cardinal; level: TGLint; xoffset: TGLint; width: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6825. glGetCompressedTexImage: procedure(target: Cardinal; level: TGLint; img: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6826. // promoted to core v1.3 from GL_ARB_multitexture (#1)
  6827. glClientActiveTexture: procedure(texture: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6828. glMultiTexCoord1d: procedure(target: Cardinal; s: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6829. glMultiTexCoord1dV: procedure(target: Cardinal; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6830. glMultiTexCoord1f: procedure(target: Cardinal; s: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6831. glMultiTexCoord1fV: procedure(target: Cardinal; v: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6832. glMultiTexCoord1i: procedure(target: Cardinal; s: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6833. glMultiTexCoord1iV: procedure(target: Cardinal; v: PGLInt); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6834. glMultiTexCoord1s: procedure(target: Cardinal; s: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6835. glMultiTexCoord1sV: procedure(target: Cardinal; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6836. glMultiTexCoord2d: procedure(target: Cardinal; s, t: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6837. glMultiTexCoord2dv: procedure(target: Cardinal; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6838. glMultiTexCoord2f: procedure(target: Cardinal; s, t: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6839. glMultiTexCoord2fv: procedure(target: Cardinal; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6840. glMultiTexCoord2i: procedure(target: Cardinal; s, t: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6841. glMultiTexCoord2iv: procedure(target: Cardinal; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6842. glMultiTexCoord2s: procedure(target: Cardinal; s, t: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6843. glMultiTexCoord2sv: procedure(target: Cardinal; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6844. glMultiTexCoord3d: procedure(target: Cardinal; s, t, r: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6845. glMultiTexCoord3dv: procedure(target: Cardinal; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6846. glMultiTexCoord3f: procedure(target: Cardinal; s, t, r: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6847. glMultiTexCoord3fv: procedure(target: Cardinal; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6848. glMultiTexCoord3i: procedure(target: Cardinal; s, t, r: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6849. glMultiTexCoord3iv: procedure(target: Cardinal; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6850. glMultiTexCoord3s: procedure(target: Cardinal; s, t, r: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6851. glMultiTexCoord3sv: procedure(target: Cardinal; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6852. glMultiTexCoord4d: procedure(target: Cardinal; s, t, r, q: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6853. glMultiTexCoord4dv: procedure(target: Cardinal; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6854. glMultiTexCoord4f: procedure(target: Cardinal; s, t, r, q: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6855. glMultiTexCoord4fv: procedure(target: Cardinal; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6856. glMultiTexCoord4i: procedure(target: Cardinal; s, t, r, q: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6857. glMultiTexCoord4iv: procedure(target: Cardinal; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6858. glMultiTexCoord4s: procedure(target: Cardinal; s, t, r, q: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6859. glMultiTexCoord4sv: procedure(target: Cardinal; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6860. // promoted to core v1.3 from GL_ARB_transpose_matrix
  6861. glLoadTransposeMatrixf: procedure(m: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6862. glLoadTransposeMatrixd: procedure(m: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6863. glMultTransposeMatrixf: procedure(m: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6864. glMultTransposeMatrixd: procedure(m: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6865. // ###########################################################
  6866. // function and procedure definitions for
  6867. // extensions integrated into OpenGL 1.4 Core
  6868. // ###########################################################
  6869. // promoted to core v1.4 from GL_EXT_blend_func_separate (#173)
  6870. glBlendFuncSeparate: procedure(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6871. // promoted to core v1.4 from GL_EXT_multi_draw_arrays (#148)
  6872. glMultiDrawArrays: procedure(mode: Cardinal; First: PGLint; Count: PGLsizei; primcount: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6873. glMultiDrawElements: procedure(mode: Cardinal; Count: PGLsizei; AType: Cardinal; var indices; primcount: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6874. // promoted to core v1.4 from GL_ARB_point_parameters (#14), GL_NV_point_sprite (#262)
  6875. glPointParameterf: procedure(pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6876. glPointParameterfv: procedure(pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6877. glPointParameteri: procedure(pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6878. glPointParameteriv: procedure(pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6879. // promoted to core v1.4 from GL_EXT_fog_coord (#149)
  6880. glFogCoordf: procedure(coord: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6881. glFogCoordfv: procedure(coord: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6882. glFogCoordd: procedure(coord: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6883. glFogCoorddv: procedure(coord: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6884. glFogCoordPointer: procedure(AType: Cardinal; stride: TGLsizei; p: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6885. // promoted to core v1.4 from GL_EXT_secondary_color (#145)
  6886. glSecondaryColor3b: procedure(red, green, blue: TGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6887. glSecondaryColor3bv: procedure(v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6888. glSecondaryColor3d: procedure(red, green, blue: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6889. glSecondaryColor3dv: procedure(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6890. glSecondaryColor3f: procedure(red, green, blue: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6891. glSecondaryColor3fv: procedure(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6892. glSecondaryColor3i: procedure(red, green, blue: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6893. glSecondaryColor3iv: procedure(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6894. glSecondaryColor3s: procedure(red, green, blue: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6895. glSecondaryColor3sv: procedure(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6896. glSecondaryColor3ub: procedure(red, green, blue: TGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6897. glSecondaryColor3ubv: procedure(v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6898. glSecondaryColor3ui: procedure(red, green, blue: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6899. glSecondaryColor3uiv: procedure(v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6900. glSecondaryColor3us: procedure(red, green, blue: TGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6901. glSecondaryColor3usv: procedure(v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6902. glSecondaryColorPointer: procedure(Size: TGLint; Atype: Cardinal; stride: TGLsizei; p: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6903. // promoted to core v1.4 from GL_ARB_window_pos (#25)
  6904. glWindowPos2d: procedure(x,y : TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6905. glWindowPos2dv: procedure(v : PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6906. glWindowPos2f: procedure(x,y : Single);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6907. glWindowPos2fv: procedure(v : PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6908. glWindowPos2i: procedure(x,y : TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6909. glWindowPos2iv: procedure(v : PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6910. glWindowPos2s: procedure(x,y : TGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6911. glWindowPos2sv: procedure(v : PGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6912. glWindowPos3d: procedure(x,y,z : TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6913. glWindowPos3dv: procedure(v : PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6914. glWindowPos3f: procedure(x,y,z : Single);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6915. glWindowPos3fv: procedure(v : PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6916. glWindowPos3i: procedure(x,y,z : TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6917. glWindowPos3iv: procedure(v : PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6918. glWindowPos3s: procedure(x,y,z : TGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6919. glWindowPos3sv: procedure(v : PGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6920. // ###########################################################
  6921. // function and procedure definitions for
  6922. // extensions integrated into OpenGL 1.5 Core
  6923. // ###########################################################
  6924. // promoted to core v1.5 from GL_ARB_occlusion_query (#29)
  6925. glGenQueries: procedure(n: TGLsizei; ids: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6926. glDeleteQueries: procedure(n: TGLsizei; const ids: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6927. glIsQuery: function(id: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6928. glBeginQuery: procedure(target: Cardinal; id: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6929. glEndQuery: procedure(target: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6930. glGetQueryiv: procedure(target: Cardinal; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6931. glGetQueryObjectiv: procedure(id: TGLuint; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6932. glGetQueryObjectuiv: procedure(id: TGLuint; pname: Cardinal; params: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6933. // promoted to core v1.5 from GL_ARB_vertex_buffer_object (#28)
  6934. glBindBuffer: procedure(target: GLenum; buffer: GLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6935. glDeleteBuffers: procedure(n: GLsizei; const buffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6936. glGenBuffers: procedure(n: GLsizei; buffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6937. glIsBuffer: function(buffer: GLuint): GLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6938. glBufferData: procedure(target: GLenum; size: GLsizei; const data: Pointer; usage: GLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6939. glBufferSubData: procedure(target: GLenum; offset: GLuint; size: GLsizei; const data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6940. glGetBufferSubData: procedure(target: GLenum; offset: GLuint; size: GLsizei; data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6941. glMapBuffer: function(target: GLenum; access: GLenum): Pointer; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6942. glUnmapBuffer: function(target: GLenum): GLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6943. glGetBufferParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6944. glGetBufferPointerv: procedure(target: GLenum; pname: GLenum; params: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6945. // promoted to core v1.5 from GL_EXT_shadow_funcs (#267)
  6946. // (no functions or procedures)
  6947. // ###########################################################
  6948. // function and procedure definitions for
  6949. // extensions integrated into OpenGL 2.0 Core
  6950. // ###########################################################
  6951. // promoted to core v2.0 from GL_EXT_blend_equation_separate (#299)
  6952. glBlendEquationSeparate: procedure(modeRGB: Cardinal; modeAlpha: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6953. // promoted to core v2.0 from GL_ARB_draw_buffers (#37)
  6954. glDrawBuffers: procedure(n: GLSizei; const bufs: PGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6955. // promoted to core v2.0 from GL_ARB_stencil_two_side (no # found)
  6956. glStencilOpSeparate: procedure(face, sfail, dpfail, dppass: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6957. glStencilFuncSeparate: procedure(face, func: Cardinal; ref: TGLint; mask: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6958. glStencilMaskSeparate: procedure(face: Cardinal; mask: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6959. // promoted to core v2.0 from GL_ARB_shader_objects (#30) / GL_ARB_vertex_shader (#31) / GL_ARB_fragment_shader (#32)
  6960. glAttachShader: procedure(_program: TGLuint; shader: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6961. glBindAttribLocation: procedure(_program: TGLuint; index: TGLuint; const name: PGLChar);
  6962. glCompileShader: procedure(shader: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6963. glCreateProgram: function(): TGLuint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6964. glCreateShader: function(_type: Cardinal): TGLuint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6965. glDeleteProgram: procedure(_program: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6966. glDeleteShader: procedure(shader: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6967. glDetachShader: procedure(_program: TGLuint; shader: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6968. glDisableVertexAttribArray: procedure(index: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6969. glEnableVertexAttribArray: procedure(index: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6970. glGetActiveAttrib: procedure(_program: TGLuint; index: TGLuint; bufSize: TGLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6971. glGetActiveUniform: procedure(_program: TGLuint; index: TGLuint; bufSize: TGLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6972. glGetAttachedShaders: procedure(_program: TGLuint; maxCount: TGLsizei; count: PGLSizei; obj: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6973. glGetAttribLocation: function(_program: TGLuint; const name: PGLChar): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6974. glGetProgramiv: procedure(_program: TGLuint; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6975. glGetProgramInfoLog: procedure(_program: TGLuint; bufSize: TGLsizei; length: PGLsizei; infoLog: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6976. glGetShaderiv: procedure(shader: TGLuint; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6977. glGetShaderInfoLog: procedure(shader: TGLuint; bufSize: TGLsizei; length: PGLsizei; infoLog: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6978. glGetShaderSource: procedure(shader:TGLuint; bufSize: TGLsizei; length: PGLsizei; source: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6979. glGetUniformLocation: function(_program: TGLuint; const name: PGLChar): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6980. glGetUniformfv: procedure(_program: TGLuint; location: TGLint; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6981. glGetUniformiv: procedure(_program: TGLuint; location: TGLint; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6982. glGetVertexAttribdv: procedure(index:TGLuint; pname: Cardinal; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6983. glGetVertexAttribfv: procedure(index: TGLuint; pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6984. glGetVertexAttribiv: procedure(index: TGLuint; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6985. glGetVertexAttribPointerv: procedure(index: TGLuint; pname: Cardinal; _pointer:pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6986. glIsProgram: function(_program: TGLuint):TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6987. glIsShader: function(shader: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6988. glLinkProgram: procedure(_program: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6989. glShaderSource: procedure(shader: TGLuint; count: TGLsizei; const _string: PGLPCharArray; const length: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6990. glUseProgram: procedure(_program: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6991. glUniform1f: procedure(location: GLint; v0: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6992. glUniform2f: procedure(location: GLint; v0: Single; v1: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6993. glUniform3f: procedure(location: GLint; v0: Single; v1: Single; v2: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6994. glUniform4f: procedure(location: GLint; v0: Single; v1: Single; v2: Single; v3: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6995. glUniform1i: procedure(location: GLint; v0: GLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6996. glUniform2i: procedure(location: GLint; v0: GLint; v1: GLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6997. glUniform3i: procedure(location: GLint; v0: GLint; v1: GLint; v2: GLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6998. glUniform4i: procedure(location: GLint; v0: GLint; v1: GLint; v2: GLint; v3: GLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6999. glUniform1fv: procedure(location: GLint; count: GLsizei; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7000. glUniform2fv: procedure(location: GLint; count: GLsizei; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7001. glUniform3fv: procedure(location: GLint; count: GLsizei; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7002. glUniform4fv: procedure(location: GLint; count: GLsizei; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7003. glUniform1iv: procedure(location: GLint; count: GLsizei; value: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7004. glUniform2iv: procedure(location: GLint; count: GLsizei; value: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7005. glUniform3iv: procedure(location: GLint; count: GLsizei; value: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7006. glUniform4iv: procedure(location: GLint; count: GLsizei; value: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7007. glUniformMatrix2fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7008. glUniformMatrix3fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7009. glUniformMatrix4fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7010. glValidateProgram: procedure(_program: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7011. glVertexAttrib1d: procedure(index:TGLuint; x: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7012. glVertexAttrib1dv: procedure(index:TGLuint; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7013. glVertexAttrib1f: procedure(index:TGLuint; x: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7014. glVertexAttrib1fv: procedure(index:TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7015. glVertexAttrib1s: procedure(index:TGLuint; x: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7016. glVertexAttrib1sv: procedure(index:TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7017. glVertexAttrib2d: procedure(index:TGLuint; x,y: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7018. glVertexAttrib2dv: procedure(index:TGLuint; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7019. glVertexAttrib2f: procedure(index:TGLuint; x,y: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7020. glVertexAttrib2fv: procedure(index:TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7021. glVertexAttrib2s: procedure(index:TGLuint; x,y: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7022. glVertexAttrib2sv: procedure(index:TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7023. glVertexAttrib3d: procedure(index:TGLuint; x,y,z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7024. glVertexAttrib3dv: procedure(index:TGLuint; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7025. glVertexAttrib3f: procedure(index:TGLuint; x,y,z: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7026. glVertexAttrib3fv: procedure(index:TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7027. glVertexAttrib3s: procedure(index:TGLuint; x,y,z: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7028. glVertexAttrib3sv: procedure(index:TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7029. glVertexAttrib4Nbv: procedure(index:TGLuint; v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7030. glVertexAttrib4Niv: procedure(index:TGLuint; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7031. glVertexAttrib4Nsv: procedure(index:TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7032. glVertexAttrib4Nub: procedure(index:TGLuint; x,y,z,w: TGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7033. glVertexAttrib4Nubv: procedure(index:TGLuint; v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7034. glVertexAttrib4Nuiv: procedure(index:TGLuint; v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7035. glVertexAttrib4Nusv: procedure(index:TGLuint; v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7036. glVertexAttrib4bv: procedure(index:TGLuint; v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7037. glVertexAttrib4d: procedure(index:TGLuint; x,y,z,w: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7038. glVertexAttrib4dv: procedure(index:TGLuint; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7039. glVertexAttrib4f: procedure(index:TGLuint; x,y,z,w: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7040. glVertexAttrib4fv: procedure(index:TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7041. glVertexAttrib4iv: procedure(index:TGLuint; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7042. glVertexAttrib4s: procedure(index:TGLuint; x,y,z,w: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7043. glVertexAttrib4sv: procedure(index:TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7044. glVertexAttrib4ubv: procedure(index:TGLuint; v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7045. glVertexAttrib4uiv: procedure(index:TGLuint; v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7046. glVertexAttrib4usv: procedure(index:TGLuint; v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7047. glVertexAttribPointer: procedure(index:TGLuint; size: TGLint; _type: Cardinal; normalized: TGLboolean; stride:TGLsizei; _pointer:pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7048. // ###########################################################
  7049. // function and procedure definitions for
  7050. // extensions integrated into OpenGL 2.1 Core
  7051. // ###########################################################
  7052. glUniformMatrix2x3fv: procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7053. glUniformMatrix3x2fv: procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7054. glUniformMatrix2x4fv: procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7055. glUniformMatrix4x2fv: procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7056. glUniformMatrix3x4fv: procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7057. glUniformMatrix4x3fv: procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7058. // ###########################################################
  7059. // function and procedure definitions for
  7060. // extensions integrated into OpenGL 3.0 Core
  7061. // ###########################################################
  7062. glVertexAttribI1i: procedure(index: TGLuint; x: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7063. glVertexAttribI2i: procedure(index: TGLuint; x: TGLint; y: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7064. glVertexAttribI3i: procedure(index: TGLuint; x: TGLint; y: TGLint; z: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7065. glVertexAttribI4i: procedure(index: TGLuint; x: TGLint; y: TGLint; z: TGLint; w: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7066. glVertexAttribI1ui: procedure(index: TGLuint; x: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7067. glVertexAttribI2ui: procedure(index: TGLuint; x: TGLuint; y: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7068. glVertexAttribI3ui: procedure(index: TGLuint; x: TGLuint; y: TGLuint; z: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7069. glVertexAttribI4ui: procedure(index: TGLuint; x: TGLuint; y: TGLuint; z: TGLuint; w: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7070. glVertexAttribI1iv: procedure(index: TGLuint; v:PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7071. glVertexAttribI2iv: procedure(index: TGLuint; v:PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7072. glVertexAttribI3iv: procedure(index: TGLuint; v:PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7073. glVertexAttribI4iv: procedure(index: TGLuint; v:PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7074. glVertexAttribI1uiv: procedure(index: TGLuint; v:PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7075. glVertexAttribI2uiv: procedure(index: TGLuint; v:PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7076. glVertexAttribI3uiv: procedure(index: TGLuint; v:PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7077. glVertexAttribI4uiv: procedure(index: TGLuint; v:PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7078. glVertexAttribI4bv: procedure(index: TGLuint; v:PGLbyte);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7079. glVertexAttribI4sv: procedure(index: TGLuint; v:PGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7080. glVertexAttribI4ubv: procedure(index: TGLuint; v: PGLUbyte);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7081. glVertexAttribI4usv: procedure(index: TGLuint; v: PGLushort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7082. glVertexAttribIPointer: procedure(index: TGLuint; size: TGLint; _type: Cardinal;
  7083. stride: TGLsizei; _pointer: pointer);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7084. glGetVertexAttribIiv: procedure(index: TGLuint; pname: Cardinal; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7085. glGetVertexAttribIuiv: procedure(index: TGLuint; pname: Cardinal; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7086. glUniform1ui: procedure(location: TGLInt; v0: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7087. glUniform2ui: procedure(location: TGLInt; v0: TGLuint; v1: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7088. glUniform3ui: procedure(location: TGLInt; v0: TGLuint; v1: TGLuint; v2: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7089. glUniform4ui: procedure(location: TGLInt; v0: TGLuint; v1: TGLuint; v2: TGLuint; v3: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7090. glUniform1uiv: procedure(location: TGLInt; count: TGLsizei; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7091. glUniform2uiv: procedure(location: TGLInt; count: TGLsizei; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7092. glUniform3uiv: procedure(location: TGLInt; count: TGLsizei; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7093. glUniform4uiv: procedure(location: TGLInt; count: TGLsizei; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7094. glGetUniformuiv: procedure(_program: TGLuint; location: TGLint; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7095. glBindFragDataLocation: procedure(_program: TGLuint; colorNumber: TGLuint; name: PGLChar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7096. glGetFragDataLocation: function(_program: TGLuint; name: PGLChar): TGLint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7097. glBeginConditionalRender: procedure(id: TGLuint; mode: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7098. glEndConditionalRender: procedure();{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7099. glClampColor: procedure (target: Cardinal; clamp: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7100. // promoted to core v3.0 from GL_EXT_texture_integer
  7101. //glClearColorIi: procedure(r: TGLint; g: TGLint; b: TGLint; a: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7102. //glClearColorIui: procedure(r: TGLuint; g: TGLuint; b: TGLuint; a: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7103. glTexParameterIiv: procedure(target: Cardinal; pname: Cardinal; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7104. glTexParameterIuiv: procedure(target: Cardinal; pname: Cardinal; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7105. glGetTexParameterIiv: procedure(target: Cardinal; pname: Cardinal; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7106. glGetTexParameterIuiv: procedure(target: Cardinal; pname: Cardinal; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7107. // promoted to core v3.0 from GL_EXT_draw_buffers2
  7108. glColorMaski: procedure(index: TGLuint; r: TGLboolean; g: TGLboolean;
  7109. b: TGLboolean; a: TGLboolean);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7110. glGetBooleani_v: procedure(target: Cardinal; index: TGLuint; data: PGLboolean);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7111. glGetIntegeri_v: procedure(target: Cardinal; index: TGLuint; data: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7112. glEnablei: procedure(target: Cardinal; index: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7113. glDisablei: procedure(target: Cardinal; index: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7114. glIsEnabledi: function(target: Cardinal; index: TGLuint): TGLboolean;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7115. //promoted to core v3.0 from GL_EXT_transform_feedback
  7116. glBindBufferRange: procedure(target: Cardinal; index: TGLuint; buffer: TGLuint;
  7117. offset: TGLintptr; size: TGLsizeiptr);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7118. glBindBufferBase: procedure(target: Cardinal; index: TGLuint; buffer: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7119. glBeginTransformFeedback: procedure(primitiveMode: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7120. glEndTransformFeedback: procedure();{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7121. glTransformFeedbackVaryings: procedure(_program: TGLuint; count: TGLsizei;
  7122. const varyings: PGLPCharArray; bufferMode: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7123. glGetTransformFeedbackVarying: procedure(_program: TGLuint; index: TGLuint;
  7124. bufSize: TGLsizei; length: PGLsizei; size: PGLsizei; _type: PGLenum; name: PGLChar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7125. // New commands in OpenGL 3.0
  7126. glClearBufferiv: procedure(buffer: Cardinal; drawbuffer: TGLint; value: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7127. glClearBufferuiv: procedure(buffer: Cardinal; drawbuffer: TGLint; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7128. glClearBufferfv: procedure(buffer: Cardinal; drawbuffer: TGLint; value: PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7129. glClearBufferfi: procedure(buffer: Cardinal; drawbuffer: TGLint; depth: Single; stencil: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7130. glGetStringi: function(name: Cardinal; index: TGLuint): PGLChar;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7131. // ###########################################################
  7132. // function and procedure definitions for
  7133. // extensions integrated into OpenGL 3.1 Core
  7134. // ###########################################################
  7135. glDrawArraysInstanced: procedure(mode: Cardinal; first: TGLint; count: TGLsizei; primcount: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7136. glDrawElementsInstanced: procedure(mode: Cardinal; count: TGLsizei; _type: Cardinal; indices: PGLvoid; primcount: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7137. glTexBuffer: procedure(target: Cardinal; internalformat: Cardinal; buffer: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7138. glPrimitiveRestartIndex: procedure(index: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7139. // ###########################################################
  7140. // function and procedure definitions for
  7141. // extensions integrated into OpenGL 3.2 Core
  7142. // ###########################################################
  7143. glGetInteger64i_v: procedure(target: Cardinal; index: TGLuint; data: PGLint64);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7144. glGetBufferParameteri64v: procedure(target: Cardinal; pname: Cardinal; params: PGLint64);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7145. glProgramParameteri: procedure(_program: TGLuint; pname: Cardinal; value: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7146. glFramebufferTexture: procedure(target: Cardinal; attachment: Cardinal; texture: TGLuint; level: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7147. // glFramebufferTextureFace: procedure(target: Cardinal; attachment: Cardinal; texture: TGLuint; level: TGLint; face: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7148. // OpenGL 3.2 also reuses entry points from these extensions:
  7149. // GL_ARB_draw_elements_base_vertex
  7150. // GL_ARB_provoking_vertex
  7151. // GL_ARB_sync
  7152. // GL_ARB_texture_multisample
  7153. // ###########################################################
  7154. // function and procedure definitions for
  7155. // extensions integrated into OpenGL 3.3 Core
  7156. // ###########################################################
  7157. // OpenGL 3.3 reuses entry points from these extensions:
  7158. // GL_ARB_blend_func_extended (ARB #78)
  7159. (* ARB_sampler_objects *)
  7160. // GL_ARB_explicit_attrib_location (ARB #79) (none)
  7161. // GL_ARB_occlusion_query2 (ARB #80)
  7162. // GL_ARB_sampler_objects (ARB #81)
  7163. // GL_ARB_shader_bit_encoding (ARB #82)
  7164. // GL_ARB_texture_rgb10_a2ui (ARB #83)
  7165. // GL_ARB_texture_swizzle (ARB #84)
  7166. // GL_ARB_timer_query (ARB #85)
  7167. // GL_ARB_vertex_type_2_10_10_10_rev (ARB #86)
  7168. // ###########################################################
  7169. // function and procedure definitions for
  7170. // extensions integrated into OpenGL 4.0 Core
  7171. // ###########################################################
  7172. // OpenGL 4.0 uses entry points from these extensions:
  7173. (* ARB_texture_query_lod (no entry points) *)
  7174. // GL_ARB_draw_indirect (ARB #87)
  7175. // GL_ARB_gpu_shader5 (ARB #88) (none)
  7176. // GL_ARB_gpu_shader_fp64 (ARB #89)
  7177. // GL_ARB_shader_subroutine (ARB #90)
  7178. // GL_ARB_tessellation_shader (ARB #91)
  7179. // GL_ARB_texture_buffer_object_rgb32 (ARB #92) (none)
  7180. // GL_ARB_transform_feedback2 (ARB #93)
  7181. // GL_ARB_transform_feedback3 (ARB #94)
  7182. // GL_VERSION_4_1
  7183. // ###########################################################
  7184. // function and procedure definitions for
  7185. // GLU extensions
  7186. // ###########################################################
  7187. // GLU extensions
  7188. gluNurbsCallbackDataEXT: procedure(nurb: PGLUnurbs; userData: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7189. gluNewNurbsTessellatorEXT: function: PGLUnurbs; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7190. gluDeleteNurbsTessellatorEXT: procedure(nurb: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7191. {$IFDEF SUPPORT_WGL}
  7192. // ###########################################################
  7193. // function and procedure definitions for
  7194. // ARB approved WGL extensions
  7195. // ###########################################################
  7196. // WGL_buffer_region (ARB #4)
  7197. wglCreateBufferRegionARB: function(DC: HDC; iLayerPlane: Integer; uType: Cardinal) : Integer; stdcall;
  7198. wglDeleteBufferRegionARB: procedure(hRegion: Integer); stdcall;
  7199. wglSaveBufferRegionARB: function(hRegion: Integer; x, y, width, height: Integer): BOOL; stdcall;
  7200. wglRestoreBufferRegionARB: function(hRegion: Integer; x, y, width, height: Integer;
  7201. xSrc, ySrc: Integer): BOOL; stdcall;
  7202. // WGL_ARB_extensions_string (ARB #8)
  7203. wglGetExtensionsStringARB: function(DC: HDC): PGLChar; stdcall;
  7204. // WGL_ARB_pixel_format (ARB #9)
  7205. wglGetPixelFormatAttribivARB: function(DC: HDC; iPixelFormat, iLayerPlane: Integer; nAttributes: Cardinal;
  7206. const piAttributes: PGLint; piValues : PGLint) : BOOL; stdcall;
  7207. wglGetPixelFormatAttribfvARB: function(DC: HDC; iPixelFormat, iLayerPlane: Integer; nAttributes: Cardinal;
  7208. const piAttributes: PGLint; piValues: PGLFloat) : BOOL; stdcall;
  7209. wglChoosePixelFormatARB: function(DC: HDC; const piAttribIList: PGLint; const pfAttribFList: PGLFloat;
  7210. nMaxFormats: GLuint; piFormats: PGLint; nNumFormats: PGLenum) : BOOL; stdcall;
  7211. // WGL_make_current_read (ARB #10)
  7212. wglMakeContextCurrentARB: function(hDrawDC: HDC; hReadDC: HDC; _hglrc: HGLRC): BOOL; stdcall;
  7213. wglGetCurrentReadDCARB: function(): HDC; stdcall;
  7214. // WGL_ARB_pbuffer (ARB #11)
  7215. wglCreatePbufferARB: function(DC: HDC; iPixelFormat: GLInt; iWidth, iHeight : GLInt;
  7216. const piAttribList: PGLint) : HPBUFFERARB; stdcall;
  7217. wglGetPbufferDCARB: function(hPbuffer: HPBUFFERARB) : HDC; stdcall;
  7218. wglReleasePbufferDCARB: function(hPbuffer: HPBUFFERARB; DC: HDC) : Integer; stdcall;
  7219. wglDestroyPbufferARB: function(hPbuffer: HPBUFFERARB): BOOL; stdcall;
  7220. wglQueryPbufferARB: function(hPbuffer: HPBUFFERARB; iAttribute : Integer;
  7221. piValue: PGLint) : BOOL; stdcall;
  7222. // WGL_ARB_render_texture (ARB #20)
  7223. wglBindTexImageARB: function(hPbuffer: HPBUFFERARB; iBuffer: Integer): BOOL; stdcall;
  7224. wglReleaseTexImageARB: function(hpBuffer: HPBUFFERARB; iBuffer: Integer): BOOL; stdcall;
  7225. wglSetPbufferAttribARB: function(hpBuffer: HPBUFFERARB; const piAttribList: PGLint): BOOL; stdcall;
  7226. // WGL_ARB_create_context (ARB #55)
  7227. wglCreateContextAttribsARB: function(DC: HDC; hShareContext: HGLRC;
  7228. attribList: PGLint):HGLRC; stdcall;
  7229. // WGL_NV_gpu_affinity
  7230. wglEnumGpusNV: function(iGpuIndex: Cardinal; var hGpu: HGPUNV): Boolean;
  7231. wglEnumGpuDevicesNV: function(hGpu: HGPUNV; iDeviceIndex: Cardinal; lpGpuDevice: PGPUDevice): Boolean;
  7232. wglCreateAffinityDCNV: function(hGpuList: PHGPUNV): HDC;
  7233. wglEnumGpusFromAffinityDCNV: function(hAffinityDC: HDC; iGpuIndex: Cardinal; var hGpu: HGPUNV): Boolean;
  7234. wglDeleteDCNV: function(hdc: HDC): Boolean;
  7235. {$ENDIF}
  7236. {$IFDEF SUPPORT_WGL}
  7237. // ###########################################################
  7238. // function and procedure definitions for
  7239. // Vendor/EXT WGL extensions
  7240. // ###########################################################
  7241. // WGL_EXT_swap_control (EXT #172)
  7242. wglSwapIntervalEXT: function(interval : Integer) : BOOL; stdcall;
  7243. wglGetSwapIntervalEXT: function : Integer; stdcall;
  7244. {$ENDIF}
  7245. {$IFDEF SUPPORT_GLX}
  7246. // ###########################################################
  7247. // function and procedure definitions for
  7248. // ARB approved GLX extensions
  7249. // ###########################################################
  7250. // GLX 1.3 and later
  7251. glXChooseFBConfig: function(dpy: PDisplay; screen: TGLInt; attribList: PGLInt; nitems: PGLInt): GLXFBConfig; cdecl;
  7252. glXGetFBConfigAttrib: function(dpy: PDisplay; config: GLXFBConfig; attribute: TGLInt; value: PGLInt): TGLInt; cdecl;
  7253. glXGetFBConfigs: function(dpy: PDisplay; screen: TGLInt; nelements: PGLInt): GLXFBConfig; cdecl;
  7254. glXGetVisualFromFBConfig: function(dpy: PDisplay; config: GLXFBConfig): PXVisualInfo; cdecl;
  7255. glXCreateWindow: function(dpy: PDisplay; config: GLXFBConfig; win: GLXWindow; const attribList: PGLInt): GLXWindow; cdecl;
  7256. glXDestroyWindow: procedure(dpy: PDisplay; window: GLXWindow); cdecl;
  7257. glXCreatePixmap: function(dpy: PDisplay; config: GLXFBConfig; pixmap: GLXPixmap; attribList: PGLInt): GLXPixmap; cdecl;
  7258. glXDestroyPixmap: procedure(dpy: PDisplay; pixmap: GLXPixmap); cdecl;
  7259. glXCreatePbuffer: function(dpy: PDisplay; config: GLXFBConfig; attribList: PGLInt): GLXPBuffer; cdecl;
  7260. glXDestroyPbuffer: procedure(dpy: PDisplay; pbuf: GLXPBuffer); cdecl;
  7261. glXQueryDrawable: procedure(dpy: PDisplay; draw: GLXDrawable; attribute: TGLInt; value: PGLuint); cdecl;
  7262. glXCreateNewContext: function(dpy: PDisplay; config: GLXFBConfig; renderType: TGLInt; shareList: GLXContext; direct: TGLboolean): GLXContext; cdecl;
  7263. glXMakeContextCurrent: function(dpy: PDisplay; draw: GLXDrawable; read: GLXDrawable; ctx: GLXContext): TGLboolean; cdecl;
  7264. glXGetCurrentReadDrawable: function: GLXDrawable; cdecl;
  7265. glXQueryContext: function(dpy: PDisplay; ctx: GLXContext; attribute: TGLInt; value: PGLInt): TGLInt; cdecl;
  7266. glXSelectEvent: procedure(dpy: PDisplay; drawable: GLXDrawable; mask: TGLsizei); cdecl;
  7267. glXGetSelectedEvent: procedure(dpy: PDisplay; drawable: GLXDrawable; mask: TGLsizei); cdecl;
  7268. glXBindTexImageARB: function(dpy: PDisplay; pbuffer: GLXPbuffer; buffer: TGLInt): TGLboolean; cdecl;
  7269. glXReleaseTexImageARB: function(dpy: PDisplay; pbuffer: GLXPbuffer; buffer: TGLint): TGLboolean; cdecl;
  7270. glxDrawableAttribARB: function(dpy: PDisplay; draw: GLXDrawable; const attribList:PGLInt): TGLboolean; cdecl;
  7271. //GLX 1.4
  7272. // GLX_ARB_create_context (EXT #56)
  7273. glXCreateContextAttribsARB: function(dpy: PDisplay; config: GLXFBConfig;
  7274. share_context: GLXContext; direct: TGLBoolean;
  7275. attrib_list: PGLint): GLXContext; cdecl;
  7276. glXGetProcAddress: function(const name: PAnsiChar): pointer; cdecl;
  7277. glXGetProcAddressARB: function (const name: PAnsiChar): pointer; cdecl;
  7278. {$ENDIF}
  7279. {$IFDEF SUPPORT_GLX}
  7280. // ###########################################################
  7281. // function and procedure definitions for
  7282. // Vendor/EXT GLX extensions
  7283. // ###########################################################
  7284. // GLX_SGI_swap_control (EXT #40)
  7285. glXSwapIntervalSGI: function(interval: TGLint): TGLint; cdecl;
  7286. glXGetVideoSyncSGI: function(count: PGLuint): TGLInt; cdecl;
  7287. glXWaitVideoSyncSGI: function(divisor: TGLInt; remainder: TGLInt; count: PGLuint): TGLInt; cdecl;
  7288. glXFreeContextEXT: procedure(dpy: PDisplay; context: GLXContext); cdecl;
  7289. glXGetContextIDEXT: function(const context: GLXContext): GLXContextID; cdecl;
  7290. glXGetCurrentDisplayEXT: function: PDisplay; cdecl;
  7291. glXImportContextEXT: function(dpy: PDisplay; contextID: GLXContextID): GLXContext; cdecl;
  7292. glXQueryContextInfoEXT: function(dpy: PDisplay; context: GLXContext; attribute: TGLInt; value: PGLInt): TGLInt; cdecl;
  7293. glXCopySubBufferMESA: procedure(dpy: PDisplay; drawable: GLXDrawable; x: TGLInt; y: TGLInt; width: TGLInt; height: TGLInt); cdecl;
  7294. glXCreateGLXPixmapMESA: function(dpy: PDisplay; visual: PXVisualInfo; pixmap: XPixmap; cmap: XColormap): GLXPixmap; cdecl;
  7295. glXReleaseBuffersMESA: function(dpy: PDisplay; d: GLXDrawable): TGLboolean; cdecl;
  7296. glXSet3DfxModeMESA: function(mode: TGLint): TGLboolean; cdecl;
  7297. glXBindTexImageEXT: procedure(dpy: PDisplay; drawable: GLXDrawable; buffer: GLint; const attrib_list: PGLint); cdecl;
  7298. glXReleaseTexImageEXT: procedure(dpy: PDisplay; drawable: GLXDrawable; buffer: GLint); cdecl;
  7299. //GLX 1.4
  7300. glXMakeCurrentReadSGI: function(dpy: PDisplay; draw: GLXDrawable; read: GLXDrawable; ctx: GLXContext): TGLboolean; cdecl;
  7301. glXGetCurrentReadDrawableSGI: function: GLXDrawable; cdecl;
  7302. glXGetFBConfigAttribSGIX: function(dpy: PDisplay; config: GLXFBConfigSGIX; attribute: TGLInt; value: PGLInt):TGLInt; cdecl;
  7303. glXChooseFBConfigSGIX: function(dpy: PDisplay; screen: TGLInt; attribList: PGLInt; nitems: PGLInt): GLXFBConfigSGIX; cdecl;
  7304. glXCreateGLXPixmapWithConfigSGIX: function(dpy: PDisplay; config:GLXFBConfigSGIX; pixmap: GLXPixmap): GLXPixmap; cdecl;
  7305. glXCreateContextWithConfigSGIX: function(dpy: PDisplay; config: GLXFBConfigSGIX; renderType: TGLInt; shareList: GLXContext; direct: TGLboolean): GLXContext; cdecl;
  7306. glXGetVisualFromFBConfigSGIX: function(dpy: PDisplay; config: GLXFBConfigSGIX): PXVisualInfo; cdecl;
  7307. glXGetFBConfigFromVisualSGIX: function(dpy: PDisplay; vis: PXVisualInfo): GLXFBConfigSGIX; cdecl;
  7308. glXCreateGLXPbufferSGIX: function(dpy: PDisplay; config: GLXFBConfigSGIX; width:PGLuint; height: PGLuint; attribList: PGLInt): GLXPBufferSGIX; cdecl;
  7309. glXDestroyGLXPbufferSGIX: procedure(dpy: PDisplay; pbuf: GLXFBConfigSGIX); cdecl;
  7310. glXQueryGLXPbufferSGIX: function(dpy: PDisplay; pbuf: GLXFBConfigSGIX; attribute: PGLInt; value: PGLuint): TGLInt; cdecl;
  7311. glXSelectEventSGIX: procedure(dpy: PDisplay; drawable: GLXDrawable; mask: PGLuint64); cdecl;
  7312. glXGetSelectedEventSGIX: procedure(dpy: PDisplay; drawable: GLXDrawable; mask: PGLuint64); cdecl;
  7313. glXCushionSGI: procedure(dpy: PDisplay; window: TWindow; cushion: Single); cdecl;
  7314. glXBindChannelToWindowSGIX: function(dpy: PDisplay; screen: TGLInt; channel: TGLInt; window: TWindow): TGLInt; cdecl;
  7315. glXChannelRectSGIX: function (dpy: PDisplay; screen: TGLInt; channel:TGLInt; x, y, w, h: TGLInt): TGLInt; cdecl;
  7316. glXQueryChannelRectSGIX: function (dpy: PDisplay; screen: TGLInt; channel:TGLInt; dx, dy, dw, dh: TGLInt): TGLInt; cdecl;
  7317. glXQueryChannelDeltasSGIX: function (dpy: PDisplay; screen: TGLInt; channel:TGLInt; x, y, w, h: TGLInt): TGLInt; cdecl;
  7318. glXChannelRectSyncSGIX: function (dpy: PDisplay; screen: TGLInt; channel: TGLInt; synctype: Cardinal): TGLInt; cdecl;
  7319. glXJoinSwapGroupSGIX: procedure (dpy: PDisplay; drawable: GLXDrawable; member: GLXDrawable); cdecl;
  7320. glXBindSwapBarrierSGIX: procedure (dpy: PDisplay; drawable: GLXDrawable; barrier: TGLInt); cdecl;
  7321. glXQueryMaxSwapBarriersSGIX: procedure (dpy: PDisplay; screen: TGLInt; max: TGLInt); cdecl;
  7322. glXQueryHyperpipeNetworkSGIX: function (dpy: PDisplay; npipes:PGLint): PGLXHyperpipeNetworkSGIX; cdecl;
  7323. glXHyperpipeConfigSGIX: function(dpy: PDisplay; networkId, npipes: PGLint; cfg: PGLXHyperpipeConfigSGIX; hpId: PGLInt): TGLint; cdecl;
  7324. glXQueryHyperpipeConfigSGIX: function(dpy: PDisplay; hpId: TGLInt; npipes: PGLInt): PGLXHyperpipeConfigSGIX; cdecl;
  7325. glXDestroyHyperpipeConfigSGIX: function(dpy: PDisplay; hpId:TGLint): PGLInt; cdecl;
  7326. glXBindHyperpipeSGIX: function(dpy: PDisplay; hpId: PGLint): PGLInt; cdecl;
  7327. glXQueryHyperpipeBestAttribSGIX: function(dpy: PDisplay; timeSlice: TGLint; attrib: TGLint; size: TGLint; attribList: TGLint; returnAttribList: TGLint): TGLint; cdecl;
  7328. glXHyperpipeAttribSGIX: function(dpy: PDisplay; timeSlice: TGLint; attrib: TGLint; size: TGLint; attribList: TGLint): TGLint; cdecl;
  7329. glXQueryHyperpipeAttribSGIX: function(dpy: PDisplay; timeSlice: TGLint; attrib: TGLint; size: TGLint; returnAttribList: TGLint): TGLint; cdecl;
  7330. glXGetAGPOffsetMESA: function(param: Pointer): PGLInt;cdecl;
  7331. glXEnumerateVideoDevicesNV: function(dpy: PDisplay; screen: TGLInt; nelements: PGLint): PGLuint; cdecl;
  7332. glXBindVideoDeviceNV: function(dpy: PDisplay; video_slot: TGLInt; video_device: TGLInt; attrib_list: PGLint): TGLint; cdecl;
  7333. GetVideoDeviceNV: function(dpy: PDisplay; screen: TGLInt; numVideoDevices: TGLInt; pVideoDevice: GLXVideoDeviceNV): TGLInt; cdecl;
  7334. glXAllocateMemoryNV: procedure( size: TGLsizei; readFrequency: Single; writeFrequency: Single; priority: Single ); cdecl;
  7335. glXFreeMemoryNV: procedure ( GLvoid: pointer ); cdecl;
  7336. glXReleaseVideoDeviceNV: function(dpy: PDisplay; screen: TGLInt; VideoDevice: GLXVideoDeviceNV): TGLuint; cdecl;
  7337. glXBindVideoImageNV: function(dpy: PDisplay; VideoDevice: GLXVideoDeviceNV; pbuf: GLXPbuffer; iVideoBuffer: TGLInt): TGLuint; cdecl;
  7338. glXReleaseVideoImageNV: function(dpy: PDisplay; pbuf: GLXPbuffer): TGLInt; cdecl;
  7339. glXSendPbufferToVideoNV: function(dpy: PDisplay; pbuf: GLXPbuffer; iBufferType: TGLInt; pulCounterPbuffer: TGLuint64; bBlock: TGLboolean): TGLInt; cdecl;
  7340. glXGetVideoInfoNV: function(dpy: PDisplay; screen: TGLInt; VideoDevice: GLXVideoDeviceNV; pulCounterOutputPbuffer: TGLuInt64; pulCounterOutputVideo: TGLuInt64): TGLInt; cdecl;
  7341. glXJoinSwapGroupNV: function(dpy: PDisplay; drawable: GLXDrawable; group: TGLuint): TGLBoolean; cdecl;
  7342. glXBindSwapBarrierNV: function(dpy: PDisplay; group: TGLuint; barrier: TGLuint): TGLboolean; cdecl;
  7343. glXQuerySwapGroupNV: function(dpy: PDisplay; drawable: GLXDrawable; group: PGLuint; barrier: PGLuint): TGLBoolean; cdecl;
  7344. glXQueryMaxSwapGroupsNV: function(dpy: PDisplay; screen: TGLInt; maxGroups: TGLuInt; maxBarriers: TGLuInt): TGLBoolean; cdecl;
  7345. glXQueryFrameCountNV: function(dpy: PDisplay; screen: TGLInt; count: TGLuint): TGLBoolean; cdecl;
  7346. glXResetFrameCountNV: function(dpy: PDisplay; screen: TGLInt): TGLBoolean; cdecl;
  7347. glXBindVideoCaptureDeviceNV: function(dpy: PDisplay; video_capture_slot: TGLuint; device: GLXVideoCaptureDeviceNV): TGLint; cdecl;
  7348. glXEnumerateVideoCaptureDevicesNV: function(dpy: PDisplay; screen: TGLInt; nelements: PGLint): GLXVideoCaptureDeviceNV; cdecl;
  7349. glxLockVideoCaptureDeviceNV: procedure (dpy: PDisplay; device: GLXVideoCaptureDeviceNV); cdecl;
  7350. glXQueryVideoCaptureDeviceNV: function(dpy: PDisplay; device: GLXVideoCaptureDeviceNV; attribute:TGLint; value: PGLint): TGLint; cdecl;
  7351. glXReleaseVideoCaptureDeviceNV: procedure(dpy: PDisplay; device: GLXVideoCaptureDeviceNV); cdecl;
  7352. glXSwapIntervalEXT: function(dpy: PDisplay; drawable: GLXDrawable; interval:TGLint): TGLint; cdecl;
  7353. glXCopyImageSubDataNV: procedure(dpy: PDisplay; srcCtx: GLXContext; srcName: TGLuint; srcTarget: Cardinal;
  7354. srcLevel: TGLuint; srcX: TGLuint;
  7355. srcY: TGLuint; srcZ: TGLuint;
  7356. dstCtx:GLXContext; dstName:TGLuint; dstTarget: Cardinal; dstLevel: TGLint;
  7357. dstX: TGLint; dstY: TGLint; dstZ: TGLint; width: GLsizei; height: GLsizei;
  7358. depth: GLsizei); cdecl;
  7359. {$ENDIF}
  7360. // ###########################################################
  7361. // function and procedure definitions for
  7362. // ARB approved extensions
  7363. // ###########################################################
  7364. // unknown ARB extension
  7365. glSamplePassARB: procedure(pass: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7366. // GL_ARB_multitexture (ARB #1)
  7367. glActiveTextureARB: procedure(target: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7368. glClientActiveTextureARB: procedure(target: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7369. glMultiTexCoord1dARB: procedure(target: Cardinal; s: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7370. glMultiTexCoord1dVARB: procedure(target: Cardinal; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7371. glMultiTexCoord1fARB: procedure(target: Cardinal; s: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7372. glMultiTexCoord1fVARB: procedure(target: Cardinal; v: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7373. glMultiTexCoord1iARB: procedure(target: Cardinal; s: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7374. glMultiTexCoord1iVARB: procedure(target: Cardinal; v: PGLInt); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7375. glMultiTexCoord1sARB: procedure(target: Cardinal; s: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7376. glMultiTexCoord1sVARB: procedure(target: Cardinal; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7377. glMultiTexCoord2dARB: procedure(target: Cardinal; s, t: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7378. glMultiTexCoord2dvARB: procedure(target: Cardinal; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7379. glMultiTexCoord2fARB: procedure(target: Cardinal; s, t: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7380. glMultiTexCoord2fvARB: procedure(target: Cardinal; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7381. glMultiTexCoord2iARB: procedure(target: Cardinal; s, t: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7382. glMultiTexCoord2ivARB: procedure(target: Cardinal; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7383. glMultiTexCoord2sARB: procedure(target: Cardinal; s, t: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7384. glMultiTexCoord2svARB: procedure(target: Cardinal; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7385. glMultiTexCoord3dARB: procedure(target: Cardinal; s, t, r: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7386. glMultiTexCoord3dvARB: procedure(target: Cardinal; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7387. glMultiTexCoord3fARB: procedure(target: Cardinal; s, t, r: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7388. glMultiTexCoord3fvARB: procedure(target: Cardinal; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7389. glMultiTexCoord3iARB: procedure(target: Cardinal; s, t, r: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7390. glMultiTexCoord3ivARB: procedure(target: Cardinal; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7391. glMultiTexCoord3sARB: procedure(target: Cardinal; s, t, r: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7392. glMultiTexCoord3svARB: procedure(target: Cardinal; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7393. glMultiTexCoord4dARB: procedure(target: Cardinal; s, t, r, q: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7394. glMultiTexCoord4dvARB: procedure(target: Cardinal; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7395. glMultiTexCoord4fARB: procedure(target: Cardinal; s, t, r, q: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7396. glMultiTexCoord4fvARB: procedure(target: Cardinal; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7397. glMultiTexCoord4iARB: procedure(target: Cardinal; s, t, r, q: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7398. glMultiTexCoord4ivARB: procedure(target: Cardinal; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7399. glMultiTexCoord4sARB: procedure(target: Cardinal; s, t, r, q: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7400. glMultiTexCoord4svARB: procedure(target: Cardinal; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7401. // GL_ARB_transpose_matrix (ARB #3)
  7402. glLoadTransposeMatrixfARB: procedure(m: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7403. glLoadTransposeMatrixdARB: procedure(m: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7404. glMultTransposeMatrixfARB: procedure(m: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7405. glMultTransposeMatrixdARB: procedure(m: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7406. // GL_ARB_multisample (ARB #5)
  7407. glSampleCoverageARB: procedure(Value: TGLclampf; invert: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7408. // GL_ARB_texture_compression (ARB #12)
  7409. glCompressedTexImage3DARB: procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width, Height, depth: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7410. glCompressedTexImage2DARB: procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width, Height: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7411. glCompressedTexImage1DARB: procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7412. glCompressedTexSubImage3DARB: procedure(target: Cardinal; level: TGLint; xoffset, yoffset, zoffset: TGLint; width, height, depth: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7413. glCompressedTexSubImage2DARB: procedure(target: Cardinal; level: TGLint; xoffset, yoffset: TGLint; width, height: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7414. glCompressedTexSubImage1DARB: procedure(target: Cardinal; level: TGLint; xoffset: TGLint; width: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7415. glGetCompressedTexImageARB: procedure(target: Cardinal; level: TGLint; img: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7416. // GL_ARB_point_parameter (ARB #14)
  7417. glPointParameterfARB: procedure(pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7418. glPointParameterfvARB: procedure(pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7419. // GL_ARB_vertex_blend (ARB #15) {deprecated?}
  7420. glWeightbvARB: procedure(size: TGLint; weights: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7421. glWeightsvARB: procedure(size: TGLint; weights: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7422. glWeightivARB: procedure(size: TGLint; weights: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7423. glWeightfvARB: procedure(size: TGLint; weights: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7424. glWeightdvARB: procedure(size: TGLint; weights: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7425. glWeightubvARB: procedure(size: TGLint; weights: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7426. glWeightusvARB: procedure(size: TGLint; weights: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7427. glWeightuivARB: procedure(size: TGLint; weights: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7428. glWeightPointerARB: procedure(size: TGLint; _type: Cardinal; stride:TGLsizei; _pointer:pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7429. glVertexBlendARB: procedure(count: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7430. // GL_ARB_matrix_palette (ARB #16) {deprecated?}
  7431. glCurrentPaletteMatrixARB: procedure(index: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7432. glMatrixIndexubvARB: procedure(size: TGLint; indices: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7433. glMatrixIndexusvARB: procedure(size: TGLint; indices: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7434. glMatrixIndexuivARB: procedure(size: TGLint; indices: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7435. glMatrixIndexPointerARB: procedure(size: TGLint; _type: Cardinal; stride: TGLsizei; _pointer:pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7436. // GL_ARB_window_pos (ARB #25)
  7437. glWindowPos2dARB: procedure(x,y : TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7438. glWindowPos2dvARB: procedure(v : PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7439. glWindowPos2fARB: procedure(x,y : Single);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7440. glWindowPos2fvARB: procedure(v : PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7441. glWindowPos2iARB: procedure(x,y : TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7442. glWindowPos2ivARB: procedure(v : PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7443. glWindowPos2sARB: procedure(x,y : TGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7444. glWindowPos2svARB: procedure(v : PGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7445. glWindowPos3dARB: procedure(x,y,z : TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7446. glWindowPos3dvARB: procedure(v : PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7447. glWindowPos3fARB: procedure(x,y,z : Single);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7448. glWindowPos3fvARB: procedure(v : PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7449. glWindowPos3iARB: procedure(x,y,z : TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7450. glWindowPos3ivARB: procedure(v : PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7451. glWindowPos3sARB: procedure(x,y,z : TGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7452. glWindowPos3svARB: procedure(v : PGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7453. // GL_ARB_vertex_program (ARB #26)
  7454. glVertexAttrib1dARB: procedure(index: GLuint; x: GLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7455. glVertexAttrib1dvARB: procedure(index: GLuint; const v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7456. glVertexAttrib1fARB: procedure(index: GLuint; x: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7457. glVertexAttrib1fvARB: procedure(index: GLuint; const v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7458. glVertexAttrib1sARB: procedure(index: GLuint; x: GLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7459. glVertexAttrib1svARB: procedure(index: GLuint; const v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7460. glVertexAttrib2dARB: procedure(index: GLuint; x: GLdouble; y: GLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7461. glVertexAttrib2dvARB: procedure(index: GLuint; const v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7462. glVertexAttrib2fARB: procedure(index: GLuint; x: Single; y: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7463. glVertexAttrib2fvARB: procedure(index: GLuint; const v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7464. glVertexAttrib2sARB: procedure(index: GLuint; x: GLshort; y: GLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7465. glVertexAttrib2svARB: procedure(index: GLuint; const v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7466. glVertexAttrib3dARB: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7467. glVertexAttrib3dvARB: procedure(index: GLuint; const v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7468. glVertexAttrib3fARB: procedure(index: GLuint; x: Single; y: Single; z: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7469. glVertexAttrib3fvARB: procedure(index: GLuint; const v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7470. glVertexAttrib3sARB: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7471. glVertexAttrib3svARB: procedure(index: GLuint; const v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7472. glVertexAttrib4NbvARB: procedure(index: GLuint; const v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7473. glVertexAttrib4NivARB: procedure(index: GLuint; const v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7474. glVertexAttrib4NsvARB: procedure(index: GLuint; const v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7475. glVertexAttrib4NubARB: procedure(index: GLuint; x: GLubyte; y: GLubyte; z: GLubyte; w: GLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7476. glVertexAttrib4NubvARB: procedure(index: GLuint; const v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7477. glVertexAttrib4NuivARB: procedure(index: GLuint; const v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7478. glVertexAttrib4NusvARB: procedure(index: GLuint; const v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7479. glVertexAttrib4bvARB: procedure(index: GLuint; const v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7480. glVertexAttrib4dARB: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7481. glVertexAttrib4dvARB: procedure(index: GLuint; const v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7482. glVertexAttrib4fARB: procedure(index: GLuint; x: Single; y: Single; z: Single; w: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7483. glVertexAttrib4fvARB: procedure(index: GLuint; const v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7484. glVertexAttrib4ivARB: procedure(index: GLuint; const v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7485. glVertexAttrib4sARB: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort; w: GLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7486. glVertexAttrib4svARB: procedure(index: GLuint; const v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7487. glVertexAttrib4ubvARB: procedure(index: GLuint; const v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7488. glVertexAttrib4uivARB: procedure(index: GLuint; const v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7489. glVertexAttrib4usvARB: procedure(index: GLuint; const v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7490. glVertexAttribPointerARB: procedure(index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei; const _pointer: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7491. glEnableVertexAttribArrayARB: procedure(index: GLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7492. glDisableVertexAttribArrayARB: procedure(index: GLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7493. glProgramStringARB: procedure(target: GLenum; format: GLenum; len: GLsizei; const _string: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7494. glBindProgramARB: procedure(target: GLenum; _program: GLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7495. glDeleteProgramsARB: procedure(n: GLsizei; const programs: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7496. glGenProgramsARB: procedure(n: GLsizei; programs: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7497. glProgramEnvParameter4dARB: procedure(target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7498. glProgramEnvParameter4dvARB: procedure(target: GLenum; index: GLuint; const params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7499. glProgramEnvParameter4fARB: procedure(target: GLenum; index: GLuint; x: Single; y: Single; z: Single; w: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7500. glProgramEnvParameter4fvARB: procedure(target: GLenum; index: GLuint; const params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7501. glProgramLocalParameter4dARB: procedure(target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7502. glProgramLocalParameter4dvARB: procedure(target: GLenum; index: GLuint; const params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7503. glProgramLocalParameter4fARB: procedure(target: GLenum; index: GLuint; x: Single; y: Single; z: Single; w: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7504. glProgramLocalParameter4fvARB: procedure(target: GLenum; index: GLuint; const params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7505. glGetProgramEnvParameterdvARB: procedure(target: GLenum; index: GLuint; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7506. glGetProgramEnvParameterfvARB: procedure(target: GLenum; index: GLuint; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7507. glGetProgramLocalParameterdvARB: procedure(target: GLenum; index: GLuint; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7508. glGetProgramLocalParameterfvARB: procedure(target: GLenum; index: GLuint; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7509. glGetProgramivARB: procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7510. glGetProgramStringARB: procedure(target: GLenum; pname: GLenum; _string: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7511. glGetVertexAttribdvARB: procedure(index: GLuint; pname: GLenum; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7512. glGetVertexAttribfvARB: procedure(index: GLuint; pname: GLenum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7513. glGetVertexAttribivARB: procedure(index: GLuint; pname: GLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7514. glGetVertexAttribPointervARB: procedure(index: GLuint; pname: GLenum; _pointer: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7515. glIsProgramARB: function(_program: GLuint): GLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7516. // GL_ARB_vertex_buffer_object (ARB #28)
  7517. glBindBufferARB: procedure(target: GLenum; buffer: GLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7518. glDeleteBuffersARB: procedure(n: GLsizei; const buffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7519. glGenBuffersARB: procedure(n: GLsizei; buffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7520. glIsBufferARB: function(buffer: GLuint): GLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7521. glBufferDataARB: procedure(target: GLenum; size: GLsizei; const data: Pointer; usage: GLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7522. glBufferSubDataARB: procedure(target: GLenum; offset: GLuint; size: GLsizei; const data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7523. glGetBufferSubDataARB: procedure(target: GLenum; offset: GLuint; size: GLsizei; data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7524. glMapBufferARB: function(target: GLenum; access: GLenum): Pointer; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7525. glUnmapBufferARB: function(target: GLenum): GLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7526. glGetBufferParameterivARB: procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7527. glGetBufferPointervARB: procedure(target: GLenum; pname: GLenum; params: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7528. // GL_ARB_occlusion_query (ARB #29)
  7529. glGenQueriesARB: procedure(n: TGLsizei; ids: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7530. glDeleteQueriesARB: procedure(n: TGLsizei; const ids: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7531. glIsQueryARB: function(id: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7532. glBeginQueryARB: procedure(target: Cardinal; id: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7533. glEndQueryARB: procedure(target: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7534. glGetQueryivARB: procedure(target: Cardinal; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7535. glGetQueryObjectivARB: procedure(id: TGLuint; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7536. glGetQueryObjectuivARB: procedure(id: TGLuint; pname: Cardinal; params: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7537. // GL_ARB_shader_objects (ARB #30)
  7538. glDeleteObjectARB: procedure(obj: GLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7539. glGetHandleARB: function(pname: GLenum): GLhandleARB; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7540. glDetachObjectARB: procedure(containerObj: GLhandleARB; attachedObj: GLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7541. glCreateShaderObjectARB: function(shaderType: GLenum): GLhandleARB; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7542. glShaderSourceARB: procedure(shaderObj: GLhandleARB; count: GLsizei; const _string: PGLPCharArray; const length: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7543. glCompileShaderARB: procedure(shaderObj: GLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7544. glCreateProgramObjectARB: function(): GLhandleARB; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7545. glAttachObjectARB: procedure(containerObj: GLhandleARB; obj: GLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7546. glLinkProgramARB: procedure(programObj: GLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7547. glUseProgramObjectARB: procedure(programObj: GLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7548. glValidateProgramARB: procedure(programObj: GLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7549. glUniform1fARB: procedure(location: GLint; v0: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7550. glUniform2fARB: procedure(location: GLint; v0: Single; v1: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7551. glUniform3fARB: procedure(location: GLint; v0: Single; v1: Single; v2: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7552. glUniform4fARB: procedure(location: GLint; v0: Single; v1: Single; v2: Single; v3: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7553. glUniform1iARB: procedure(location: GLint; v0: GLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7554. glUniform2iARB: procedure(location: GLint; v0: GLint; v1: GLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7555. glUniform3iARB: procedure(location: GLint; v0: GLint; v1: GLint; v2: GLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7556. glUniform4iARB: procedure(location: GLint; v0: GLint; v1: GLint; v2: GLint; v3: GLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7557. glUniform1fvARB: procedure(location: GLint; count: GLsizei; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7558. glUniform2fvARB: procedure(location: GLint; count: GLsizei; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7559. glUniform3fvARB: procedure(location: GLint; count: GLsizei; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7560. glUniform4fvARB: procedure(location: GLint; count: GLsizei; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7561. glUniform1ivARB: procedure(location: GLint; count: GLsizei; value: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7562. glUniform2ivARB: procedure(location: GLint; count: GLsizei; value: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7563. glUniform3ivARB: procedure(location: GLint; count: GLsizei; value: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7564. glUniform4ivARB: procedure(location: GLint; count: GLsizei; value: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7565. glUniformMatrix2fvARB: procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7566. glUniformMatrix3fvARB: procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7567. glUniformMatrix4fvARB: procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7568. glGetObjectParameterfvARB: procedure(obj: GLhandleARB; pname: GLenum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7569. glGetObjectParameterivARB: procedure(obj: GLhandleARB; pname: GLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7570. glGetInfoLogARB: procedure(obj: GLhandleARB; maxLength: GLsizei; length: PGLsizei; infoLog: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7571. glGetAttachedObjectsARB: procedure(containerObj: GLhandleARB; maxCount: GLsizei; count: PGLsizei; obj: PGLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7572. glGetUniformLocationARB: function(programObj: GLhandleARB; const name: PGLChar): GLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7573. glGetActiveUniformARB: procedure(programObj: GLhandleARB; index: GLuint; maxLength: GLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7574. glGetUniformfvARB: procedure(programObj: GLhandleARB; location: GLint; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7575. glGetUniformivARB: procedure(programObj: GLhandleARB; location: GLint; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7576. glGetShaderSourceARB: procedure(obj: GLhandleARB; maxLength: GLsizei; length: PGLsizei; source: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7577. // GL_ARB_vertex_shader (ARB #31)
  7578. glBindAttribLocationARB: procedure(programObj: GLhandleARB; index: GLuint; const name: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7579. glGetActiveAttribARB: procedure(programObj: GLhandleARB; index: GLuint; maxLength: GLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7580. glGetAttribLocationARB: function(programObj: GLhandleARB; const name: PGLChar): GLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7581. // GL_ARB_DrawBuffers (ARB #37)
  7582. glDrawBuffersARB: procedure (n: GLSizei; const bufs: PGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7583. // GL_ARB_color_buffer_float (ARB #39)
  7584. glClampColorARB: procedure (target: Cardinal; clamp: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7585. // GL_ARB_draw_instanced (ARB #44)
  7586. glDrawArraysInstancedARB: procedure(mode: Cardinal; first: TGLint; count: TGLsizei;
  7587. primcount: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7588. glDrawElementsInstancedARB: procedure(mode: Cardinal; count: TGLSizei; _type: Cardinal;
  7589. indices: PGLvoid; primcount: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7590. // GL_ARB_framebuffer_object (ARB #45)
  7591. glIsRenderbuffer: function(renderbuffer: TGLuint): TGLBoolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7592. glBindRenderbuffer: procedure(target: Cardinal; renderbuffer: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7593. glDeleteRenderbuffers: procedure(n: TGLsizei; renderbuffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7594. glGenRenderbuffers: procedure(n: TGLSizei; renderbuffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7595. glRenderbufferStorage: procedure(target: Cardinal; internalformat: Cardinal;
  7596. width: TGLsizei; height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7597. glRenderbufferStorageMultisample: procedure(target: Cardinal; samples: TGLsizei; internalformat: Cardinal;
  7598. width: TGLsizei; height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7599. glGetRenderbufferParameteriv: procedure(target: Cardinal; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7600. glIsFramebuffer: function(framebuffer: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7601. glBindFramebuffer: procedure(target: Cardinal; framebuffer: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7602. glDeleteFramebuffers: procedure(n: TGLsizei; framebuffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7603. glGenFramebuffers: procedure(n: TGLsizei; framebuffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7604. glCheckFramebufferStatus: function(target: Cardinal): Cardinal; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7605. glFramebufferTexture1D: procedure(target: Cardinal; attachment: Cardinal;
  7606. textarget: Cardinal; texture: TGLuint; level: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7607. glFramebufferTexture2D: procedure(target: Cardinal; attachment: Cardinal;
  7608. textarget: Cardinal; texture: TGLuint; level: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7609. glFramebufferTexture3D: procedure(target: Cardinal; attachment: Cardinal;
  7610. textarget: Cardinal; texture: TGLuint;
  7611. level: TGLint; layer: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7612. glFramebufferTextureLayer: procedure(target: Cardinal; attachment: Cardinal;
  7613. texture: TGLuint; level: TGLint; layer: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7614. glFramebufferRenderbuffer: procedure(target: Cardinal; attachment: Cardinal;
  7615. renderbuffertarget: Cardinal; renderbuffer: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7616. glGetFramebufferAttachmentParameteriv: procedure(target: Cardinal; attachment: Cardinal;
  7617. pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7618. glBlitFramebuffer: procedure(srcX0: TGLint; srcY0: TGLint; srcX1: TGLint; srcY1: TGLint;
  7619. dstX0: TGLint; dstY0: TGLint; dstX1: TGLint; dstY1: TGLint;
  7620. mask: TGLbitfield; filter: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7621. glGenerateMipmap: procedure(target: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7622. // GL_ARB_geometry_shader4 (ARB #47)
  7623. glProgramParameteriARB: procedure ( _program:TGLuint; pname:Cardinal; value: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7624. glFramebufferTextureARB: procedure ( target:Cardinal; attachment:Cardinal; texture:TGLuint; level:TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7625. glFramebufferTextureLayerARB: procedure ( target:Cardinal; attachment:Cardinal; texture:TGLuint; level:TGLint; layer:TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7626. glFramebufferTextureFaceARB: procedure ( target:Cardinal; attachment:Cardinal; texture:TGLuint; level:TGLint; face:Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7627. // GL_ARB_instanced_arrays (ARB #49)
  7628. glVertexAttribDivisorARB: procedure(index: TGLuint; divisor: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7629. // GL_ARB_map_buffer_range (ARB #50)
  7630. glMapBufferRange: function(target: Cardinal; offset: TGLint{ptr}; length: TGLsizei{ptr};
  7631. access: TGLbitfield ): Pointer;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7632. glFlushMappedBufferRange: procedure( target: Cardinal; offset: TGLint{ptr}; length: TGLsizei{ptr} );{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7633. // GL_ARB_texture_buffer_object (ARB #51)
  7634. glTexBufferARB: procedure(target: Cardinal; internalformat: Cardinal; buffer: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7635. // GL_ARB_vertex_array_object (ARB #54)
  7636. glBindVertexArray: procedure(_array: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7637. glDeleteVertexArrays: procedure(n: TGLsizei; arrays: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7638. glGenVertexArrays: procedure(n: TGLsizei; arrays: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7639. glIsVertexArray: function(_array: TGLuint): TGLboolean;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7640. // GL_ARB_uniform_buffer_object (ARB #57)
  7641. glGetUniformIndices: procedure(_program: TGLuint; uniformCount: TGLsizei; uniformNames: PGLPCharArray; uniformIndices: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7642. glGetActiveUniformsiv: procedure(_program: TGLuint; uniformCount: TGLsizei; uniformIndices: PGLuint; pname: Cardinal; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7643. glGetActiveUniformName: procedure(_program: TGLuint; uniformIndex: TGLuint; bufSize: TGLsizei; length: PGLsizei; uniformName: PGLchar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7644. glGetUniformBlockIndex: function(_program: TGLuint; uniformBlockName: PGLchar): TGLuint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7645. glGetActiveUniformBlockiv: procedure(_program: TGLuint; uniformBlockIndex: TGLuint; pname: Cardinal; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7646. glGetActiveUniformBlockName: procedure(_program: TGLuint; uniformBlockIndex: TGLuint; bufSize: TGLsizei; length: PGLsizei; uniformBlockName: PGLchar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7647. glUniformBlockBinding: procedure(_program: TGLuint; uniformBlockIndex: TGLuint; uniformBlockBinding: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7648. // GL_ARB_copy_buffer (ARB #59)
  7649. glCopyBufferSubData: procedure(readTarget: Cardinal; writeTarget: Cardinal;
  7650. readOffset: TGLintptr; writeOffset: TGLintptr; size: TGLsizeiptr);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7651. // GL_ARB_draw_elements_base_vertex (ARB #62)
  7652. glDrawElementsBaseVertex: procedure(mode: Cardinal; count: TGLsizei;
  7653. _type: Cardinal; indices: PGLvoid; basevertex: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7654. glDrawRangeElementsBaseVertex: procedure(mode: Cardinal; start: TGLuint; _end: TGLuint;
  7655. count: TGLsizei; _type: Cardinal; indices: PGLvoid; basevertex: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7656. glDrawElementsInstancedBaseVertex: procedure(mode: Cardinal; count: TGLsizei;
  7657. _type: Cardinal; indices: PGLvoid; primcount: TGLsizei; basevertex: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7658. glMultiDrawElementsBaseVertex: procedure(mode: Cardinal; count: PGLsizei;
  7659. _type: Cardinal; var indices; primcount: TGLsizei; basevertex: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7660. // GL_ARB_provoking_vertex (ARB #64)
  7661. glProvokingVertex: procedure(mode: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7662. // GL_ARB_sync (ARB #66)
  7663. glFenceSync: function(condition: Cardinal; flags: TGLbitfield): TGLsync;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7664. glIsSync: function(sync: TGLsync): TGLboolean;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7665. glDeleteSync: procedure(sync: TGLsync);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7666. glClientWaitSync: function(sync: TGLsync; flags: TGLbitfield; timeout: TGLuint64): Cardinal;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7667. glWaitSync: procedure(sync: TGLsync; flags: TGLbitfield; timeout: TGLuint64);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7668. glGetInteger64v: procedure(pname: Cardinal; params: PGLint64);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7669. glGetSynciv: procedure(sync: TGLsync; pname: Cardinal; bufSize: TGLsizei; length: PGLsizei; values: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7670. // GL_ARB_texture_multisample (ARB #67)
  7671. glTexImage2DMultisample: procedure(target: Cardinal; samples: TGLsizei; internalformat: TGLint;
  7672. width: TGLsizei; height: TGLsizei;
  7673. fixedsamplelocations: TGLboolean);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7674. glTexImage3DMultisample: procedure(target: Cardinal; samples: TGLsizei; internalformat: TGLint;
  7675. width: TGLsizei; height: TGLsizei; depth: TGLsizei;
  7676. fixedsamplelocations: TGLboolean);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7677. glGetMultisamplefv: procedure(pname: Cardinal; index: TGLuint; val: PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7678. glSampleMaski: procedure(index: TGLuint; mask: TGLbitfield);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7679. // GL_ARB_draw_buffers_blend (ARB #69)
  7680. glBlendEquationi: procedure(buf: TGLuint; mode: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7681. glBlendEquationSeparatei: procedure(buf: TGLuint; modeRGB: Cardinal; modeAlpha: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7682. glBlendFunci: procedure(buf: TGLuint; src: Cardinal; dst: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7683. glBlendFuncSeparatei: procedure(buf: TGLuint; srcRGB: Cardinal; dstRGB: Cardinal;
  7684. srcAlpha: Cardinal; dstAlpha: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7685. // GL_ARB_sample_shading (ARB #70)
  7686. glMinSampleShading: procedure(value: TGLclampf);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7687. // GL_ARB_blend_func_extended (ARB #78)
  7688. glBindFragDataLocationIndexed: procedure (_program: TGLuint; colorNumber: TGLuint; index: TGLuint; const name: PGLchar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7689. glGetFragDataIndex: function (_program: TGLuint; const name: PGLchar): TGLint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7690. // GL_ARB_sampler_objects (ARB #81)
  7691. glGenSamplers: procedure(count: TGLsizei; samplers: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7692. glDeleteSamplers: procedure(count: TGLsizei; const samplers: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7693. glIsSampler: function(sampler: TGLuint): TGLboolean;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7694. glBindSampler: procedure(_unit: TGLuint; sampler: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7695. glSamplerParameteri: procedure(sampler: TGLuint; pname: Cardinal; param: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7696. glSamplerParameteriv: procedure(sampler: TGLuint; pname: Cardinal; const params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7697. glSamplerParameterf: procedure(sampler: TGLuint; pname: Cardinal; param: Single);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7698. glSamplerParameterfv: procedure(sampler: TGLuint; pname: Cardinal; const params: PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7699. glSamplerParameterIiv: procedure(sampler: TGLuint; pname: Cardinal; const params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7700. glSamplerParameterIuiv: procedure(sampler: TGLuint; pname: Cardinal; const params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7701. glGetSamplerParameteriv: procedure(sampler: TGLuint; pname: Cardinal; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7702. glGetSamplerParameterIiv: procedure(sampler: TGLuint; pname: Cardinal; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7703. glGetSamplerParameterfv: procedure(sampler: TGLuint; pname: Cardinal; params: PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7704. glGetSamplerParameterIfv: procedure(sampler: TGLuint; pname: Cardinal; params: PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7705. // GL_ARB_timer_query (ARB #85)
  7706. glQueryCounter: procedure(id: TGLuint; target: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7707. glGetQueryObjecti64v: procedure(id: TGLuint; pname: Cardinal; params: PGLint64);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7708. glGetQueryObjectui64v: procedure(id: TGLuint; pname: Cardinal; params: PGLuint64);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7709. // GL_ARB_vertex_type_2_10_10_10_rev (ARB #86)
  7710. glVertexP2ui: procedure(_type: Cardinal; value: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7711. glVertexP2uiv: procedure(_type: Cardinal; const value: PGLuint );{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7712. glVertexP3ui: procedure(_type: Cardinal; value: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7713. glVertexP3uiv: procedure(_type: Cardinal; const value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7714. glVertexP4ui: procedure(_type: Cardinal; value: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7715. glVertexP4uiv: procedure(_type: Cardinal; const value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7716. glTexCoordP1ui: procedure(_type: Cardinal; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7717. glTexCoordP1uiv: procedure(_type: Cardinal; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7718. glTexCoordP2ui: procedure(_type: Cardinal; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7719. glTexCoordP2uiv: procedure(_type: Cardinal; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7720. glTexCoordP3ui: procedure(_type: Cardinal; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7721. glTexCoordP3uiv: procedure(_type: Cardinal; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7722. glTexCoordP4ui: procedure(_type: Cardinal; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7723. glTexCoordP4uiv: procedure(_type: Cardinal; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7724. glMultiTexCoordP1ui: procedure(texture: Cardinal; _type: GLenum; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7725. glMultiTexCoordP1uiv: procedure(texture: Cardinal; _type: GLenum; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7726. glMultiTexCoordP2ui: procedure(texture: Cardinal; _type: GLenum; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7727. glMultiTexCoordP2uiv: procedure(texture: Cardinal; _type: GLenum; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7728. glMultiTexCoordP3ui: procedure(texture: Cardinal; _type: GLenum; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7729. glMultiTexCoordP3uiv: procedure(texture: Cardinal; _type: GLenum; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7730. glMultiTexCoordP4ui: procedure(texture: Cardinal; _type: GLenum; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7731. glMultiTexCoordP4uiv: procedure(texture: Cardinal; _type: GLenum; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7732. glNormalP3ui: procedure(_type: Cardinal; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7733. glNormalP3uiv: procedure(_type: Cardinal; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7734. glColorP3ui: procedure(_type: Cardinal; color: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7735. glColorP3uiv: procedure(_type: Cardinal; const color: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7736. glColorP4ui: procedure(_type: Cardinal; color: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7737. glColorP4uiv: procedure(_type: Cardinal; const color: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7738. glSecondaryColorP3ui: procedure(_type: Cardinal; color: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7739. glSecondaryColorP3uiv: procedure(_type: Cardinal; const color: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7740. glVertexAttribP1ui: procedure(index: TGLuint; _type: Cardinal; normalized: TGLboolean; value: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7741. glVertexAttribP1uiv: procedure(index: TGLuint; _type: Cardinal; normalized: TGLboolean; const value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7742. glVertexAttribP2ui: procedure(index: TGLuint; _type: Cardinal; normalized: TGLboolean; value: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7743. glVertexAttribP2uiv: procedure(index: TGLuint; _type: Cardinal; normalized: TGLboolean; const value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7744. glVertexAttribP3ui: procedure(index: TGLuint; _type: Cardinal; normalized: TGLboolean; value: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7745. glVertexAttribP3uiv: procedure(index: TGLuint; _type: Cardinal; normalized: TGLboolean; const value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7746. glVertexAttribP4ui: procedure(index: TGLuint; _type: Cardinal; normalized: TGLboolean; value: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7747. glVertexAttribP4uiv: procedure(index: TGLuint; _type: Cardinal; normalized: TGLboolean; const value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7748. // GL_ARB_draw_indirect (ARB #87)
  7749. glDrawArraysIndirect: procedure(mode: Cardinal; const indirect: PGLvoid);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7750. glDrawElementsIndirect: procedure(mode: Cardinal; _type: Cardinal; const indirect: PGLvoid);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7751. // GL_ARB_gpu_shader_fp64 (ARB #89)
  7752. glUniform1d: procedure(location: TGLint; x: TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7753. glUniform2d: procedure(location: TGLint; x: TGLdouble; y: TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7754. glUniform3d: procedure(location: TGLint; x: TGLdouble; y: TGLdouble; z: TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7755. glUniform4d: procedure(location: TGLint; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7756. glUniform1dv: procedure(location: TGLint; count: TGLsizei; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7757. glUniform2dv: procedure(location: TGLint; count: TGLsizei; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7758. glUniform3dv: procedure(location: TGLint; count: TGLsizei; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7759. glUniform4dv: procedure(location: TGLint; count: TGLsizei; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7760. glUniformMatrix2dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7761. glUniformMatrix3dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7762. glUniformMatrix4dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7763. glUniformMatrix2x3dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7764. glUniformMatrix2x4dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7765. glUniformMatrix3x2dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7766. glUniformMatrix3x4dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7767. glUniformMatrix4x2dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7768. glUniformMatrix4x3dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7769. glGetUniformdv: procedure(_program: TGLuint; location: TGLint; params : PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7770. // glProgramUniformXXX only valid if EXT_direct_state_access is available
  7771. glProgramUniform1dEXT: procedure(_program: TGLuint; location: TGLint; x: TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7772. glProgramUniform2dEXT: procedure(_program: TGLuint; location: TGLint; x: TGLdouble; y: TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7773. glProgramUniform3dEXT: procedure(_program: TGLuint; location: TGLint; x: TGLdouble; y: TGLdouble; z: TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7774. glProgramUniform4dEXT: procedure(_program: TGLuint; location: TGLint; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7775. glProgramUniform1dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7776. glProgramUniform2dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7777. glProgramUniform3dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7778. glProgramUniform4dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7779. glProgramUniformMatrix2dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7780. glProgramUniformMatrix3dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7781. glProgramUniformMatrix4dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7782. glProgramUniformMatrix2x3dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7783. glProgramUniformMatrix2x4dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7784. glProgramUniformMatrix3x2dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7785. glProgramUniformMatrix3x4dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7786. glProgramUniformMatrix4x2dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7787. glProgramUniformMatrix4x3dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7788. // GL_ARB_shader_subroutine (ARB #90)
  7789. glGetSubroutineUniformLocation: function(_program: TGLuint; shadertype: Cardinal; const name: PGLchar): TGLint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7790. glGetSubroutineIndex: function(_program: TGLuint; shadertype: Cardinal; const name: PGLchar): TGLuint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7791. glGetActiveSubroutineUniformiv: procedure(_program: TGLuint; shadertype: Cardinal; index: TGLuint; pname: Cardinal; values: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7792. glGetActiveSubroutineUniformName: procedure(_program: TGLuint; shadertype: Cardinal; index: TGLuint; bufsize: TGLsizei; length: PGLsizei; name: PGLchar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7793. glGetActiveSubroutineName: procedure(_program: TGLuint; shadertype: Cardinal; index: TGLuint; bufsize: TGLsizei; length: PGLsizei; name: PGLchar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7794. glUniformSubroutinesuiv: procedure(shadertype: Cardinal; count: TGLsizei; const indices: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7795. glGetUniformSubroutineuiv: procedure(shadertype: Cardinal; location: TGLint; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7796. glGetProgramStageiv: procedure(_program: TGLuint; shadertype: Cardinal; pname: Cardinal; values: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7797. // GL_ARB_tessellation_shader (ARB #91)
  7798. glPatchParameteri: procedure(pname: Cardinal; value: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7799. glPatchParameterfv: procedure(pname: Cardinal; const values: PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7800. // GL_ARB_transform_feedback2 (ARB #93)
  7801. glBindTransformFeedback: procedure(target: Cardinal; id: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7802. glDeleteTransformFeedbacks: procedure(n: TGLsizei; const ids: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7803. glGenTransformFeedbacks: procedure(n: TGLsizei; ids: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7804. glIsTransformFeedback: function(id: TGLuint): TGLboolean;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7805. glPauseTransformFeedback: procedure();{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7806. glResumeTransformFeedback: procedure();{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7807. glDrawTransformFeedback: procedure(mode: Cardinal; id: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7808. // GL_ARB_transform_feedback3 (ARB #94)
  7809. glDrawTransformFeedbackStream: procedure(mode: Cardinal; id: TGLuint; stream: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7810. glBeginQueryIndexed: procedure(target: Cardinal; index: TGLuint; id: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7811. glEndQueryIndexed: procedure(target: Cardinal; index: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7812. glGetQueryIndexediv: procedure(target: Cardinal; index: TGLuint; pname: Cardinal; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7813. // ###########################################################
  7814. // function and procedure definitions for
  7815. // Vendor/EXT extensions
  7816. // ###########################################################
  7817. // Unknown Vendor/EXT functions
  7818. glArrayElementArrayEXT: procedure(mode: Cardinal; count: TGLsizei; pi: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7819. // GL_WIN_swap_hint (extension # not found)
  7820. glAddSwapHintRectWIN: procedure(x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7821. // GL_EXT_blend_color (EXT #2)
  7822. glBlendColorEXT: procedure(red, green, blue: TGLclampf; alpha: TGLclampf); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7823. // GL_EXT_polygon_offset (EXT #3)
  7824. glPolygonOffsetEXT: procedure(factor, bias: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7825. // GL_EXT_texture3D (EXT #6)
  7826. glTexImage3DEXT: procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; width, height, depth: TGLsizei; border: TGLint; Format, AType: Cardinal; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7827. // GL_EXT_subtexture (EXT #9)
  7828. glTexSubImage1DEXT: procedure(target: Cardinal; level, xoffset: TGLint; width: TGLsizei; format, Atype: Cardinal; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7829. glTexSubImage2DEXT: procedure(target: Cardinal; level, xoffset, yoffset: TGLint; width, height: TGLsizei; format, Atype: Cardinal; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7830. glTexSubImage3DEXT: procedure(target: Cardinal; level, xoffset, yoffset, zoffset: TGLint; width, height, depth: TGLsizei; format, Atype: Cardinal; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7831. // GL_EXT_copy_texture (EXT #10)
  7832. glCopyTexImage1DEXT: procedure(target: Cardinal; level: TGLint; internalFormat: Cardinal; x, y: TGLint; width: TGLsizei; border: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7833. glCopyTexImage2DEXT: procedure(target: Cardinal; level: TGLint; internalFormat: Cardinal; x, y: TGLint; width, height: TGLsizei; border: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7834. glCopyTexSubImage1DEXT: procedure(target: Cardinal; level, xoffset, x, y: TGLint; width: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7835. glCopyTexSubImage2DEXT: procedure(target: Cardinal; level, xoffset, yoffset, x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7836. glCopyTexSubImage3DEXT: procedure(target: Cardinal; level, xoffset, yoffset, zoffset, x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7837. // GL_EXT_texture_object (EXT #20)
  7838. glGenTexturesEXT: procedure(n: TGLsizei; textures: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7839. glDeleteTexturesEXT: procedure(n: TGLsizei; textures: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7840. glBindTextureEXT: procedure(target: Cardinal; texture: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7841. glPrioritizeTexturesEXT: procedure(n: TGLsizei; textures: PGLuint; priorities: PGLclampf); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7842. glAreTexturesResidentEXT: function(n: TGLsizei; textures: PGLuint; residences: PGLBoolean): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7843. glIsTextureEXT: function(texture: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7844. // GL_SGIS_multisample (EXT #25)
  7845. glSampleMaskSGIS: procedure(Value: TGLclampf; invert: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7846. glSamplePatternSGIS: procedure(pattern: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7847. // GL_EXT_blend_minmax (EXT #37)
  7848. glBlendEquationEXT: procedure(mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7849. // GL_EXT_paletted_texture (EXT #78)
  7850. glColorTableEXT: procedure(target, internalFormat: Cardinal; width: TGLsizei; format, atype: Cardinal; data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7851. glColorSubTableExt: procedure(target: Cardinal; start, count: TGLsizei; format, atype: Cardinal; data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7852. glGetColorTableEXT: procedure(target, format, atype: Cardinal; data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7853. glGetColorTableParameterfvEXT: procedure(target, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7854. glGetColorTableParameterivEXT: procedure(target, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7855. // glGetColorTableParameterfvEXT: procedure(target, pname: Cardinal; params: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7856. // glGetColorTableParameterivEXT: procedure(target, pname: Cardinal; params: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7857. // GL_EXT_index_material (EXT #94)
  7858. glIndexMaterialEXT: procedure(face: Cardinal; mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7859. // GL_EXT_index_func (EXT #95)
  7860. glIndexFuncEXT: procedure(func: Cardinal; ref: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7861. // GL_EXT_compiled_vertex_array (EXT #97)
  7862. glLockArraysEXT: procedure(first: TGLint; count: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7863. glUnlockArraysEXT: procedure; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7864. // GL_EXT_draw_range_elements (EXT #112)
  7865. glDrawRangeElementsEXT: procedure(mode: Cardinal; start, Aend: TGLuint; Count: TGLsizei; Atype: Cardinal; indices: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7866. // GL_EXT_scene_marker (EXT #120)
  7867. glBeginSceneEXT: procedure; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7868. glEndSceneEXT: procedure; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7869. // GL_EXT_secondary_color (EXT #145)
  7870. glSecondaryColor3bEXT: procedure(red, green, blue: TGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7871. glSecondaryColor3bvEXT: procedure(v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7872. glSecondaryColor3dEXT: procedure(red, green, blue: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7873. glSecondaryColor3dvEXT: procedure(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7874. glSecondaryColor3fEXT: procedure(red, green, blue: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7875. glSecondaryColor3fvEXT: procedure(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7876. glSecondaryColor3iEXT: procedure(red, green, blue: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7877. glSecondaryColor3ivEXT: procedure(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7878. glSecondaryColor3sEXT: procedure(red, green, blue: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7879. glSecondaryColor3svEXT: procedure(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7880. glSecondaryColor3ubEXT: procedure(red, green, blue: TGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7881. glSecondaryColor3ubvEXT: procedure(v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7882. glSecondaryColor3uiEXT: procedure(red, green, blue: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7883. glSecondaryColor3uivEXT: procedure(v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7884. glSecondaryColor3usEXT: procedure(red, green, blue: TGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7885. glSecondaryColor3usvEXT: procedure(v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7886. glSecondaryColorPointerEXT: procedure(Size: TGLint; Atype: Cardinal; stride: TGLsizei; p: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7887. // GL_EXT_multi_draw_arrays (EXT #148)
  7888. glMultiDrawArraysEXT: procedure(mode: Cardinal; First: PGLint; Count: PGLsizei; primcount: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7889. glMultiDrawElementsEXT: procedure(mode: Cardinal; Count: PGLsizei; AType: Cardinal; var indices; primcount: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7890. // GL_EXT_fog_coord (EXT #149)
  7891. glFogCoordfEXT: procedure(coord: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7892. glFogCoordfvEXT: procedure(coord: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7893. glFogCoorddEXT: procedure(coord: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7894. glFogCoorddvEXT: procedure(coord: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7895. glFogCoordPointerEXT: procedure(AType: Cardinal; stride: TGLsizei; p: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7896. // GL_EXT_blend_func_separate (EXT #173)
  7897. glBlendFuncSeparateEXT: procedure(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7898. // GL_NV_vertex_array_range (EXT #190)
  7899. glFlushVertexArrayRangeNV: procedure; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7900. glVertexArrayRangeNV: procedure(Size: TGLsizei; p: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7901. wglAllocateMemoryNV: function(size: TGLsizei; readFrequency, writeFrequency, priority: Single): Pointer; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7902. wglFreeMemoryNV: procedure(ptr: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7903. // GL_NV_register_combiners (EXT #191)
  7904. glCombinerParameterfvNV: procedure(pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7905. glCombinerParameterfNV: procedure(pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7906. glCombinerParameterivNV: procedure(pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7907. glCombinerParameteriNV: procedure(pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7908. glCombinerInputNV: procedure(stage, portion, variable, input, mapping, componentUsage: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7909. glCombinerOutputNV: procedure(stage, portion, abOutput, cdOutput, sumOutput, scale, bias: Cardinal; abDotProduct, cdDotProduct, muxSum: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7910. glFinalCombinerInputNV: procedure(variable, input, mapping, componentUsage: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7911. glGetCombinerInputParameterfvNV: procedure(stage, portion, variable, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7912. glGetCombinerInputParameterivNV: procedure(stage, portion, variable, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7913. glGetCombinerOutputParameterfvNV: procedure(stage, portion, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7914. glGetCombinerOutputParameterivNV: procedure(stage, portion, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7915. glGetFinalCombinerInputParameterfvNV: procedure(variable, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7916. glGetFinalCombinerInputParameterivNV: procedure(variable, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7917. // GL_MESA_resize_buffers (EXT #196)
  7918. glResizeBuffersMESA: procedure; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7919. // GL_3DFX_tbuffer (EXT #208)
  7920. glTbufferMask3DFX: procedure(mask: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7921. // GL_EXT_multisample (EXT #209)
  7922. glSampleMaskEXT: procedure(Value: TGLclampf; invert: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7923. glSamplePatternEXT: procedure(pattern: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7924. // GL_SGIS_texture_color_mask (EXT #214)
  7925. glTextureColorMaskSGIS: procedure(red, green, blue, alpha: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7926. // GL_NV_fence (EXT #222)
  7927. glGenFencesNV: procedure(n: TGLsizei; fences: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7928. glDeleteFencesNV: procedure(n: TGLsizei; fences: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7929. glSetFenceNV: procedure(fence: TGLuint; condition: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7930. glTestFenceNV: function(fence: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7931. glFinishFenceNV: procedure(fence: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7932. glIsFenceNV: function(fence: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7933. glGetFenceivNV: procedure(fence: TGLuint; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7934. // GL_NV_vertex_program (EXT #233)
  7935. glAreProgramsResidentNV: procedure(n: TGLSizei; programs: PGLuint; residences: PGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7936. glBindProgramNV: procedure(target: Cardinal; id: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7937. glDeleteProgramsNV: procedure(n: TGLSizei; programs: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7938. glExecuteProgramNV: procedure(target: Cardinal; id: TGLuint; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7939. glGenProgramsNV: procedure(n: TGLSizei; programs: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7940. glGetProgramParameterdvNV: procedure (target: Cardinal; index: TGLuint; pname: Cardinal; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7941. glGetProgramParameterfvNV: procedure (target: Cardinal; index: TGLuint; pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7942. glGetProgramivNV: procedure (id: TGLuint; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7943. glGetProgramStringNV: procedure (id: TGLuint; pname: Cardinal; programIdx: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7944. glGetTrackMatrixivNV: procedure (target: Cardinal; address: TGLuint; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7945. glGetVertexAttribdvNV: procedure (index: TGLuint; pname: Cardinal; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7946. glGetVertexAttribfvNV: procedure (index: TGLuint; pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7947. glGetVertexAttribivNV: procedure (index: TGLuint; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7948. glGetVertexAttribPointervNV: procedure (index: TGLuint; pname: Cardinal; pointer: PGLPointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7949. glIsProgramNV: function (id: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7950. glLoadProgramNV: procedure (target: Cardinal; id: TGLuint; len: TGLSizei; programIdx: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7951. glProgramParameter4dNV: procedure (target: Cardinal; index: TGLuint; x, y, z, w: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7952. glProgramParameter4dvNV: procedure (target: Cardinal; index: TGLuint; v: PGLdouble ); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7953. glProgramParameter4fNV: procedure (target: Cardinal; index: TGLuint; x, y, z, w: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7954. glProgramParameter4fvNV: procedure (target: Cardinal; index: TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7955. glProgramParameters4dvNV: procedure (target: Cardinal; index: TGLuint; count: TGLSizei; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7956. glProgramParameters4fvNV: procedure (target: Cardinal; index: TGLuint; count: TGLSizei; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7957. glRequestResidentProgramsNV: procedure (n: TGLSizei; programs: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7958. glTrackMatrixNV: procedure (target: Cardinal; address: TGLuint; matrix: Cardinal; transform: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7959. glVertexAttribPointerNV: procedure (index: TGLuint; fsize: TGLint; vertextype: Cardinal; stride: TGLSizei; pointer: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7960. glVertexAttrib1dNV: procedure (index: TGLuint; x: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7961. glVertexAttrib1dvNV: procedure (index: TGLuint; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7962. glVertexAttrib1fNV: procedure (index: TGLuint; x: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7963. glVertexAttrib1fvNV: procedure (index: TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7964. glVertexAttrib1sNV: procedure (index: TGLuint; x: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7965. glVertexAttrib1svNV: procedure (index: TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7966. glVertexAttrib2dNV: procedure (index: TGLuint; x: TGLdouble; y: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7967. glVertexAttrib2dvNV: procedure (index: TGLuint; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7968. glVertexAttrib2fNV: procedure (index: TGLuint; x: Single; y: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7969. glVertexAttrib2fvNV: procedure (index: TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7970. glVertexAttrib2sNV: procedure (index: TGLuint; x: TGLshort; y: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7971. glVertexAttrib2svNV: procedure (index: TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7972. glVertexAttrib3dNV: procedure (index: TGLuint; x: TGLdouble; y: TGLdouble; z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7973. glVertexAttrib3dvNV: procedure (index: TGLuint; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7974. glVertexAttrib3fNV: procedure (index: TGLuint; x: Single; y: Single; z: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7975. glVertexAttrib3fvNV: procedure (index: TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7976. glVertexAttrib3sNV: procedure (index: TGLuint; x: TGLshort; y: TGLshort; z: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7977. glVertexAttrib3svNV: procedure (index: TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7978. glVertexAttrib4dNV: procedure (index: TGLuint; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7979. glVertexAttrib4dvNV: procedure (index: TGLuint; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7980. glVertexAttrib4fNV: procedure(index: TGLuint; x: Single; y: Single; z: Single; w: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7981. glVertexAttrib4fvNV: procedure(index: TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7982. glVertexAttrib4sNV: procedure (index: TGLuint; x: TGLshort; y: TGLshort; z: TGLdouble; w: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7983. glVertexAttrib4svNV: procedure (index: TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7984. glVertexAttrib4ubvNV: procedure (index: TGLuint; v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7985. glVertexAttribs1dvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7986. glVertexAttribs1fvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7987. glVertexAttribs1svNV: procedure (index: TGLuint; count: TGLSizei; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7988. glVertexAttribs2dvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7989. glVertexAttribs2fvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7990. glVertexAttribs2svNV: procedure (index: TGLuint; count: TGLSizei; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7991. glVertexAttribs3dvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7992. glVertexAttribs3fvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7993. glVertexAttribs3svNV: procedure (index: TGLuint; count: TGLSizei; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7994. glVertexAttribs4dvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7995. glVertexAttribs4fvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7996. glVertexAttribs4svNV: procedure (index: TGLuint; count: TGLSizei; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7997. glVertexAttribs4ubvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7998. // GL_NV_occlusion_query (EXT #261)
  7999. glGenOcclusionQueriesNV: procedure(n: TGLsizei; ids: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8000. glDeleteOcclusionQueriesNV: procedure(n: TGLsizei; const ids: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8001. glIsOcclusionQueryNV: function(id: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8002. glBeginOcclusionQueryNV: procedure(id: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8003. glEndOcclusionQueryNV: procedure; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8004. glGetOcclusionQueryivNV: procedure(id: TGLuint; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8005. glGetOcclusionQueryuivNV: procedure(id: TGLuint; pname: Cardinal; params: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8006. // GL_NV_point_sprite (EXT #262)
  8007. glPointParameteriNV: procedure(pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8008. glPointParameterivNV: procedure(pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8009. // GL_EXT_stencil_two_side (EXT #268)
  8010. glActiveStencilFaceEXT: procedure(face: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8011. // GL_ATI_draw_buffers (EXT #277)
  8012. glDrawBuffersATI: procedure(n: GLsizei; const bufs: PGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8013. // GL_NV_primitive_restart (EXT #285)
  8014. glPrimitiveRestartNV: procedure();{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8015. glPrimitiveRestartIndexNV: procedure(index: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8016. // GL_EXT_depth_bounds_test (EXT #297)
  8017. glDepthBoundsEXT: procedure(zmin: TGLclampd; zmax: TGLclampd);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8018. // GL_EXT_blend_equation_separate (EXT #299)
  8019. glBlendEquationSeparateEXT: procedure(modeRGB: Cardinal; modeAlpha: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8020. // GL_EXT_framebuffer_object (EXT #310)
  8021. glIsRenderbufferEXT: function(renderbuffer: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8022. glBindRenderbufferEXT: procedure(target: Cardinal; renderbuffer: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8023. glDeleteRenderbuffersEXT: procedure(n: TGLsizei; renderbuffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8024. glGenRenderbuffersEXT: procedure(n: TGLsizei; renderbuffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8025. glRenderbufferStorageEXT: procedure(target: Cardinal; internalformat: Cardinal; width: TGLsizei; height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8026. glGetRenderbufferParameterivEXT: procedure(target: Cardinal; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8027. glIsFramebufferEXT: function(framebuffer: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8028. glBindFramebufferEXT: procedure(target: Cardinal; framebuffer: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8029. glDeleteFramebuffersEXT: procedure(n: TGLsizei; framebuffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8030. glGenFramebuffersEXT: procedure(n: TGLsizei; framebuffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8031. glCheckFramebufferStatusEXT: function(target: Cardinal): Cardinal; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8032. glFramebufferTexture1DEXT: procedure(target: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: TGLuint; level: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8033. glFramebufferTexture2DEXT: procedure(target: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: TGLuint; level: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8034. glFramebufferTexture3DEXT: procedure(target: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: TGLuint; level: TGLint; zoffset: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8035. glFramebufferRenderbufferEXT: procedure(target: Cardinal; attachment: Cardinal; renderbuffertarget: Cardinal; renderbuffer: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8036. glGetFramebufferAttachmentParameterivEXT: procedure(target: Cardinal; attachment: Cardinal; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8037. glGenerateMipmapEXT: procedure(target: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8038. // GL_EXT_stencil_clear_tag (EXT #314)
  8039. glStencilClearTagEXT: procedure(stencilTagBits: TGLsizei; stencilClearTag: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8040. // GL_EXT_framebuffer_blit (#316)
  8041. glBlitFramebufferEXT: procedure(srcX0: TGLint; srcY0: TGLint; srcX1: TGLint; srcY1: TGLint;
  8042. dstX0: TGLint; dstY0: TGLint; dstX1: TGLint; dstY1: TGLint;
  8043. mask: TGLbitfield; filter: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8044. // GL_EXT_framebuffer_multisample (#317)
  8045. glRenderbufferStorageMultisampleEXT: procedure(target: Cardinal; samples: TGLsizei;
  8046. internalformat: Cardinal; width: TGLsizei; height: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8047. // GL_EXT_timer_query (#319)
  8048. glGetQueryObjecti64vEXT: procedure(id: TGLuint; pname: Cardinal; params: PGLint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8049. glGetQueryObjectui64vEXT: procedure(id: TGLuint; pname: Cardinal; params: PGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8050. // GL_EXT_gpu_program_parameters (EXT #320)
  8051. glProgramEnvParameters4fvEXT: procedure(target:Cardinal; index:TGLuint; count:TGLsizei;
  8052. const params:PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8053. glProgramLocalParameters4fvEXT: procedure(target:Cardinal; index:TGLuint; count:TGLsizei;
  8054. const params:PGLFloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8055. // GL_NV_geometry_program4 (EXT #323)
  8056. glProgramVertexLimitNV: procedure (target: Cardinal; limit: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8057. // GL_EXT_geometry_shader4 (EXT #324)
  8058. glProgramParameteriEXT: procedure ( _program:TGLuint; pname:Cardinal; value: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8059. glFramebufferTextureEXT: procedure ( target:Cardinal; attachment:Cardinal; texture:TGLuint; level:TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8060. glFramebufferTextureLayerEXT: procedure ( target:Cardinal; attachment:Cardinal; texture:TGLuint; level:TGLint; layer:TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8061. glFramebufferTextureFaceEXT: procedure ( target:Cardinal; attachment:Cardinal; texture:TGLuint; level:TGLint; face:Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8062. // GL_EXT_gpu_shader4 (EXT #326)
  8063. glVertexAttribI1iEXT: procedure(index: TGLuint; x: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8064. glVertexAttribI2iEXT: procedure(index: TGLuint; x: TGLint; y: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8065. glVertexAttribI3iEXT: procedure(index: TGLuint; x: TGLint; y: TGLint; z: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8066. glVertexAttribI4iEXT: procedure(index: TGLuint; x: TGLint; y: TGLint; z: TGLint; w: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8067. glVertexAttribI1uiEXT: procedure(index: TGLuint; x: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8068. glVertexAttribI2uiEXT: procedure(index: TGLuint; x: TGLuint; y: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8069. glVertexAttribI3uiEXT: procedure(index: TGLuint; x: TGLuint; y: TGLuint; z: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8070. glVertexAttribI4uiEXT: procedure(index: TGLuint; x: TGLuint; y: TGLuint; z: TGLuint; w: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8071. glVertexAttribI1ivEXT: procedure(index: TGLuint; v:PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8072. glVertexAttribI2ivEXT: procedure(index: TGLuint; v:PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8073. glVertexAttribI3ivEXT: procedure(index: TGLuint; v:PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8074. glVertexAttribI4ivEXT: procedure(index: TGLuint; v:PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8075. glVertexAttribI1uivEXT: procedure(index: TGLuint; v:PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8076. glVertexAttribI2uivEXT: procedure(index: TGLuint; v:PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8077. glVertexAttribI3uivEXT: procedure(index: TGLuint; v:PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8078. glVertexAttribI4uivEXT: procedure(index: TGLuint; v:PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8079. glVertexAttribI4bvEXT: procedure(index: TGLuint; v:PGLbyte);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8080. glVertexAttribI4svEXT: procedure(index: TGLuint; v:PGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8081. glVertexAttribI4ubvEXT: procedure(index: TGLuint; v: PGLUbyte);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8082. glVertexAttribI4usvEXT: procedure(index: TGLuint; v: PGLushort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8083. glVertexAttribIPointerEXT: procedure(index: TGLuint; size: TGLint; _type: Cardinal;
  8084. stride: TGLsizei; _pointer: pointer);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8085. glGetVertexAttribIivEXT: procedure(index: TGLuint; pname: Cardinal; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8086. glGetVertexAttribIuivEXT: procedure(index: TGLuint; pname: Cardinal; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8087. glUniform1uiEXT: procedure(location: TGLInt; v0: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8088. glUniform2uiEXT: procedure(location: TGLInt; v0: TGLuint; v1: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8089. glUniform3uiEXT: procedure(location: TGLInt; v0: TGLuint; v1: TGLuint; v2: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8090. glUniform4uiEXT: procedure(location: TGLInt; v0: TGLuint; v1: TGLuint; v2: TGLuint; v3: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8091. glUniform1uivEXT: procedure(location: TGLInt; count: TGLsizei; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8092. glUniform2uivEXT: procedure(location: TGLInt; count: TGLsizei; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8093. glUniform3uivEXT: procedure(location: TGLInt; count: TGLsizei; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8094. glUniform4uivEXT: procedure(location: TGLInt; count: TGLsizei; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8095. glGetUniformuivEXT: procedure(_program: TGLuint; location: TGLint; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8096. glBindFragDataLocationEXT: procedure(_program: TGLuint; colorNumber: TGLuint; name: PGLChar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8097. glGetFragDataLocationEXT: function(_program: TGLuint; name: PGLChar): TGLint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8098. // GL_EXT_draw_instanced (#327)
  8099. glDrawArraysInstancedEXT: procedure(mode: Cardinal; first: TGLint; count: TGLsizei;
  8100. primcount: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8101. glDrawElementsInstancedEXT: procedure(mode: Cardinal; count: TGLSizei; _type: Cardinal;
  8102. indices: PGLvoid; primcount: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8103. // GL_EXT_packed_float (#328)
  8104. // WGL_EXT_pixel_format_packed_float
  8105. // GLX_EXT_fbconfig_packed_float
  8106. // GL_EXT_texture_array (#329)
  8107. //glFramebufferTextureLayerEXT: procedure(target: Cardinal; attachment: Cardinal;
  8108. // texture: TGLuint; level: TGLint; layer: TGLint);
  8109. // GL_EXT_texture_buffer_object (#330)
  8110. glTexBufferEXT: procedure(target: Cardinal; internalformat: Cardinal; buffer: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8111. // GL_EXT_draw_buffers2 (#340)
  8112. glColorMaskIndexedEXT: procedure(buf: TGLuint; r: TGLboolean; g: TGLboolean;
  8113. b: TGLboolean; a: TGLboolean);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8114. glGetBooleanIndexedvEXT: procedure(value: Cardinal; index: TGLuint; data: PGLboolean);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8115. glGetIntegerIndexedvEXT: procedure(value: Cardinal; index: TGLuint; data: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8116. glEnableIndexedEXT: procedure(target: Cardinal; index: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8117. glDisableIndexedEXT: procedure(target: Cardinal; index: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8118. glIsEnabledIndexedEXT: function(target: Cardinal; index: TGLuint): TGLboolean;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8119. // GL_NV_transform_feedback (#341)
  8120. glBindBufferRangeNV: procedure(target: Cardinal; index: TGLuint; buffer: TGLuint;
  8121. offset: TGLintptr; size: TGLsizeiptr);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8122. glBindBufferOffsetNV: procedure(target: Cardinal; index: TGLuint; buffer: TGLuint;
  8123. offset: TGLintptr);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8124. glBindBufferBaseNV: procedure(target: Cardinal; index: TGLuint; buffer: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8125. glTransformFeedbackAttribsNV: procedure(count: TGLsizei; attribs: PGLint;
  8126. bufferMode: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8127. glTransformFeedbackVaryingsNV: procedure(_program: TGLuint; count: TGLsizei;
  8128. locations: PGLint;
  8129. bufferMode: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8130. glBeginTransformFeedbackNV: procedure(primitiveMode: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8131. glEndTransformFeedbackNV: procedure();{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8132. glGetVaryingLocationNV: function(_program: TGLuint; name: PGLChar): TGLint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8133. glGetActiveVaryingNV: procedure(_program: TGLuint; index: TGLuint;
  8134. bufSize: TGLsizei; length: PGLsizei; size: PGLsizei;
  8135. _type: Cardinal; name: PGLChar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8136. glActiveVaryingNV: procedure(_program: TGLuint; name: PGLChar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8137. glGetTransformFeedbackVaryingNV: procedure(_program: TGLuint; index: TGLuint;
  8138. location: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8139. // GL_EXT_bindable_uniform (#342)
  8140. glUniformBufferEXT: procedure(_program: TGLUint; location: TGLint; buffer: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8141. glGetUniformBufferSizeEXT: function(_program: TGLuint; location: TGLint): TGLint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8142. glGetUniformOffsetEXT: function(_program: TGLuint; location: TGLint): PGLint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8143. // GL_EXT_texture_integer (#343)
  8144. glClearColorIiEXT: procedure(r: TGLint; g: TGLint; b: TGLint; a: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8145. glClearColorIuiEXT: procedure(r: TGLuint; g: TGLuint; b: TGLuint; a: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8146. glTexParameterIivEXT: procedure(target: Cardinal; pname: Cardinal; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8147. glTexParameterIuivEXT: procedure(target: Cardinal; pname: Cardinal; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8148. glGetTexParameterIivEXT: procedure(target: Cardinal; pname: Cardinal; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8149. glGetTexParameterIuivEXT: procedure(target: Cardinal; pname: Cardinal; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8150. // GL_NV_conditional_render (#346)
  8151. glBeginConditionalRenderNV: procedure(id: TGLuint; mode: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8152. glEndConditionalRenderNV: procedure();{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8153. // GL_EXT_transform_feedback (#352)
  8154. glBindBufferRangeEXT: procedure(target: Cardinal; index: TGLuint; buffer: TGLuint;
  8155. offset:TGLintptr; size: TGLsizeiptr);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8156. glBindBufferOffsetEXT: procedure(target: Cardinal; index: TGLuint; buffer: TGLuint;
  8157. offset:TGLintptr);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8158. glBindBufferBaseEXT: procedure(target: Cardinal; index: TGLuint; buffer: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8159. glBeginTransformFeedbackEXT: procedure(primitiveMode: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8160. glEndTransformFeedbackEXT: procedure();{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8161. glTransformFeedbackVaryingsEXT: procedure(_program: TGLuint; count: TGLsizei;
  8162. const varyings: PGLPCharArray; bufferMode: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8163. glGetTransformFeedbackVaryingEXT: procedure(_program: TGLuint; index: TGLuint;
  8164. bufSize: TGLsizei; length: PGLsizei;
  8165. size: PGLsizei; _type: PGLenum; name: PGLChar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8166. // GL_AMD_vertex_shader_tessellator (#363)
  8167. glTessellationFactorAMD: procedure(factor: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8168. glTessellationModeAMD: procedure(mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8169. // GL_NV_copy_image (#376)
  8170. glCopyImageSubDataNV: procedure(
  8171. srcName: GLuint; srcTarget: GLenum; srcLevel: GLint;
  8172. srcX: GLint; srcY: GLint; srcZ: GLint;
  8173. dstName: GLuint; dstTarget: GLenum; dstLevel: GLint;
  8174. dstX: GLint; dstY: GLint; dstZ: GLint;
  8175. width: GLsizei; height: GLsizei; depth: GLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8176. // GL_NV_shader_buffer_load (#379)
  8177. glMakeBufferResidentNV: procedure(target: Cardinal; access: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8178. glMakeBufferNonResidentNV: procedure(target: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8179. glIsBufferResidentNV: function(target: Cardinal): TGLboolean;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8180. glMakeNamedBufferResidentNV: procedure(buffer: TGLuint; access: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8181. glMakeNamedBufferNonResidentNV: procedure(buffer: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8182. glIsNamedBufferResidentNV: function (buffer: TGLuint): TGLboolean;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8183. glGetBufferParameterui64vNV: procedure(target: Cardinal; pname: Cardinal; params: PGLuint64EXT );{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8184. glGetNamedBufferParameterui64vNV: procedure(buffer: TGLuint; pname: Cardinal; params: PGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8185. glGetIntegerui64vNV: procedure(value: Cardinal; result: PGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8186. glUniformui64NV: procedure(location: TGLint; value: TGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8187. glUniformui64vNV: procedure(location: GLint; count: TGLsizei; const value: PGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8188. glGetUniformui64vNV: procedure(_program: TGLuint; location: TGLint; params: PGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8189. glProgramUniformui64NV: procedure(_program: TGLuint; location: TGLint; value: TGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8190. glProgramUniformui64vNV: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; const value: PGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8191. // GL_NV_vertex_buffer_unified_memory (#380)
  8192. glBufferAddressRangeNV: procedure(pname: Cardinal; index: TGLuint; address: TGLuint64EXT; length: TGLsizeiptr);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8193. glVertexFormatNV: procedure(size: TGLint; _type: Cardinal; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8194. glNormalFormatNV: procedure(_type: Cardinal; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8195. glColorFormatNV: procedure(size: TGLint; _type: Cardinal; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8196. glIndexFormatNV: procedure(_type: Cardinal; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8197. glTexCoordFormatNV: procedure(size: TGLint; _type: Cardinal; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8198. glEdgeFlagFormatNV: procedure(stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8199. glSecondaryColorFormatNV: procedure(size: TGLint; _type: Cardinal; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8200. glFogCoordFormatNV: procedure(_type: Cardinal; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8201. glVertexAttribFormatNV: procedure(index: TGLuint; size: TGLint; _type: Cardinal; normalized: TGLboolean; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8202. glVertexAttribIFormatNV: procedure(index: TGLuint; size: TGLint; _type: Cardinal; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8203. glGetIntegerui64i_vNV: procedure(value: Cardinal; index: TGLuint; result: PGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8204. // Special Gremedy debugger extension
  8205. glFrameTerminatorGREMEDY: procedure(); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8206. glStringMarkerGREMEDY: procedure(len: GLsizei; str: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8207. //------------------------------------------------------------------------------
  8208. function GLGetProcAddress(ProcName: PGLChar): Pointer;
  8209. procedure ReadExtensions;
  8210. procedure ReadImplementationProperties;
  8211. {$IFDEF SUPPORT_WGL}
  8212. procedure ReadWGLExtensions;
  8213. procedure ReadWGLImplementationProperties;
  8214. {$ENDIF}
  8215. {$IFDEF SUPPORT_GLX}
  8216. procedure ReadGLXExtensions;
  8217. procedure ReadGLXImplementationProperties;
  8218. {$ENDIF}
  8219. procedure CloseOpenGL;
  8220. function InitOpenGL : Boolean;
  8221. function InitOpenGLFromLibrary(const GLName, GLUName : String) : Boolean;
  8222. function IsOpenGLInitialized: Boolean;
  8223. // compatibility routines
  8224. procedure UnloadOpenGL;
  8225. function LoadOpenGL : Boolean;
  8226. function LoadOpenGLFromLibrary(const GLName, GLUName: String): Boolean;
  8227. function IsOpenGLLoaded : Boolean;
  8228. function IsMesaGL : Boolean;
  8229. procedure TrimAndSplitVersionString(Buffer: String; out Max, Min: Integer);
  8230. function IsVersionMet(MajorVersion,MinorVersion, actualMajorVersion, actualMinorVersion:Integer): boolean;
  8231. function IsOpenGLVersionMet(MajorVersion,MinorVersion: Integer): boolean;
  8232. type
  8233. EOpenGLError = class(Exception);
  8234. procedure CheckOpenGLError; //Gets the oldest error and tries to clear the error queue
  8235. procedure ClearGLError; //Clears all pending OpenGL errors
  8236. procedure RaiseOpenGLError(const msg : String); //Raises an EOpenGLError with 'msg' error string
  8237. var
  8238. vIgnoreOpenGLErrors : Boolean = false;
  8239. // ------------------------------------------------------------------
  8240. implementation
  8241. // ------------------------------------------------------------------
  8242. // ************** Windows specific ********************
  8243. {$IFDEF MSWINDOWS}
  8244. const
  8245. INVALID_MODULEHANDLE = 0;
  8246. var
  8247. GLHandle: HINST;
  8248. GLUHandle: HINST;
  8249. function GLGetProcAddress(ProcName: PGLChar):Pointer;
  8250. begin
  8251. result := wglGetProcAddress(ProcName);
  8252. end;
  8253. {$ENDIF}
  8254. // ************** UNIX specific ********************
  8255. {$IFDEF Unix}
  8256. const
  8257. INVALID_MODULEHANDLE = 0;//nil;
  8258. var
  8259. GLHandle: TLibHandle = 0;//Pointer;
  8260. GLUHandle: TLibHandle = 0;//Pointer;
  8261. function GLGetProcAddress(ProcName: PGLChar):Pointer;
  8262. begin
  8263. {$IFDEF SUPPORT_GLX}
  8264. if @glXGetProcAddress<>nil then
  8265. result := glXGetProcAddress(ProcName);
  8266. if result <> nil then exit;
  8267. if @glXGetProcAddressARB<>nil then
  8268. result := glXGetProcAddressARB(ProcName);
  8269. if result <> nil then exit;
  8270. {$ENDIF}
  8271. result := GetProcAddress(GLHandle, ProcName);
  8272. end;
  8273. {$ENDIF}
  8274. procedure CheckOpenGLError;
  8275. var
  8276. GLError : LongWord;
  8277. Count : Word;
  8278. begin
  8279. GLError:=glGetError;
  8280. if GLError <> GL_NO_ERROR then begin
  8281. Count:=0;
  8282. // Because under some circumstances reading the error code creates a new error
  8283. // and thus hanging up the thread, we limit the loop to 6 reads.
  8284. try
  8285. while (glGetError <> GL_NO_ERROR) and (Count < 6) do Inc(Count);
  8286. except
  8287. // Egg : ignore exceptions here, will perhaps avoid problem expressed before
  8288. end;
  8289. if not vIgnoreOpenGLErrors then
  8290. raise EOpenGLError.Create(String(gluErrorString(GLError)));
  8291. end;
  8292. end;
  8293. procedure ClearGLError;
  8294. var
  8295. n : Integer;
  8296. begin
  8297. n:=0;
  8298. while (glGetError<>GL_NO_ERROR) and (n<6) do Inc(n);
  8299. end;
  8300. procedure RaiseOpenGLError(const msg : String);
  8301. begin
  8302. raise EOpenGLError.Create(msg);
  8303. end;
  8304. // ************** Extensions ********************
  8305. procedure ReadExtensions;
  8306. begin
  8307. glBlendColor := GLGetProcAddress('glBlendColor');
  8308. glBlendEquation := GLGetProcAddress('glBlendEquation');
  8309. glDrawRangeElements := GLGetProcAddress('glDrawRangeElements');
  8310. glColorTable := GLGetProcAddress('glColorTable');
  8311. glColorTableParameterfv := GLGetProcAddress('glColorTableParameterfv');
  8312. glColorTableParameteriv := GLGetProcAddress('glColorTableParameteriv');
  8313. glCopyColorTable := GLGetProcAddress('glCopyColorTable');
  8314. glGetColorTable := GLGetProcAddress('glGetColorTable');
  8315. glGetColorTableParameterfv := GLGetProcAddress('glGetColorTableParameterfv');
  8316. glGetColorTableParameteriv := GLGetProcAddress('glGetColorTableParameteriv');
  8317. glColorSubTable := GLGetProcAddress('glColorSubTable');
  8318. glCopyColorSubTable := GLGetProcAddress('glCopyColorSubTable');
  8319. glConvolutionFilter1D := GLGetProcAddress('glConvolutionFilter1D');
  8320. glConvolutionFilter2D := GLGetProcAddress('glConvolutionFilter2D');
  8321. glConvolutionParameterf := GLGetProcAddress('glConvolutionParameterf');
  8322. glConvolutionParameterfv := GLGetProcAddress('glConvolutionParameterfv');
  8323. glConvolutionParameteri := GLGetProcAddress('glConvolutionParameteri');
  8324. glConvolutionParameteriv := GLGetProcAddress('glConvolutionParameteriv');
  8325. glCopyConvolutionFilter1D := GLGetProcAddress('glCopyConvolutionFilter1D');
  8326. glCopyConvolutionFilter2D := GLGetProcAddress('glCopyConvolutionFilter2D');
  8327. glGetConvolutionFilter := GLGetProcAddress('glGetConvolutionFilter');
  8328. glGetConvolutionParameterfv := GLGetProcAddress('glGetConvolutionParameterfv');
  8329. glGetConvolutionParameteriv := GLGetProcAddress('glGetConvolutionParameteriv');
  8330. glGetSeparableFilter := GLGetProcAddress('glGetSeparableFilter');
  8331. glSeparableFilter2D := GLGetProcAddress('glSeparableFilter2D');
  8332. glGetHistogram := GLGetProcAddress('glGetHistogram');
  8333. glGetHistogramParameterfv := GLGetProcAddress('glGetHistogramParameterfv');
  8334. glGetHistogramParameteriv := GLGetProcAddress('glGetHistogramParameteriv');
  8335. glGetMinmax := GLGetProcAddress('glGetMinmax');
  8336. glGetMinmaxParameterfv := GLGetProcAddress('glGetMinmaxParameterfv');
  8337. glGetMinmaxParameteriv := GLGetProcAddress('glGetMinmaxParameteriv');
  8338. glHistogram := GLGetProcAddress('glHistogram');
  8339. glMinmax := GLGetProcAddress('glMinmax');
  8340. glResetHistogram := GLGetProcAddress('glResetHistogram');
  8341. glResetMinmax := GLGetProcAddress('glResetMinmax');
  8342. glTexImage3D := GLGetProcAddress('glTexImage3D');
  8343. glTexSubImage3D := GLGetProcAddress('glTexSubImage3D');
  8344. glCopyTexSubImage3D := GLGetProcAddress('glCopyTexSubImage3D');
  8345. glActiveTexture := GLGetProcAddress('glActiveTexture');
  8346. glClientActiveTexture := GLGetProcAddress('glClientActiveTexture');
  8347. glMultiTexCoord1d := GLGetProcAddress('glMultiTexCoord1d');
  8348. glMultiTexCoord1dV := GLGetProcAddress('glMultiTexCoord1dV');
  8349. glMultiTexCoord1f := GLGetProcAddress('glMultiTexCoord1f');
  8350. glMultiTexCoord1fV := GLGetProcAddress('glMultiTexCoord1fV');
  8351. glMultiTexCoord1i := GLGetProcAddress('glMultiTexCoord1i');
  8352. glMultiTexCoord1iV := GLGetProcAddress('glMultiTexCoord1iV');
  8353. glMultiTexCoord1s := GLGetProcAddress('glMultiTexCoord1s');
  8354. glMultiTexCoord1sV := GLGetProcAddress('glMultiTexCoord1sV');
  8355. glMultiTexCoord2d := GLGetProcAddress('glMultiTexCoord2d');
  8356. glMultiTexCoord2dv := GLGetProcAddress('glMultiTexCoord2dv');
  8357. glMultiTexCoord2f := GLGetProcAddress('glMultiTexCoord2f');
  8358. glMultiTexCoord2fv := GLGetProcAddress('glMultiTexCoord2fv');
  8359. glMultiTexCoord2i := GLGetProcAddress('glMultiTexCoord2i');
  8360. glMultiTexCoord2iv := GLGetProcAddress('glMultiTexCoord2iv');
  8361. glMultiTexCoord2s := GLGetProcAddress('glMultiTexCoord2s');
  8362. glMultiTexCoord2sv := GLGetProcAddress('glMultiTexCoord2sv');
  8363. glMultiTexCoord3d := GLGetProcAddress('glMultiTexCoord3d');
  8364. glMultiTexCoord3dv := GLGetProcAddress('glMultiTexCoord3dv');
  8365. glMultiTexCoord3f := GLGetProcAddress('glMultiTexCoord3f');
  8366. glMultiTexCoord3fv := GLGetProcAddress('glMultiTexCoord3fv');
  8367. glMultiTexCoord3i := GLGetProcAddress('glMultiTexCoord3i');
  8368. glMultiTexCoord3iv := GLGetProcAddress('glMultiTexCoord3iv');
  8369. glMultiTexCoord3s := GLGetProcAddress('glMultiTexCoord3s');
  8370. glMultiTexCoord3sv := GLGetProcAddress('glMultiTexCoord3sv');
  8371. glMultiTexCoord4d := GLGetProcAddress('glMultiTexCoord4d');
  8372. glMultiTexCoord4dv := GLGetProcAddress('glMultiTexCoord4dv');
  8373. glMultiTexCoord4f := GLGetProcAddress('glMultiTexCoord4f');
  8374. glMultiTexCoord4fv := GLGetProcAddress('glMultiTexCoord4fv');
  8375. glMultiTexCoord4i := GLGetProcAddress('glMultiTexCoord4i');
  8376. glMultiTexCoord4iv := GLGetProcAddress('glMultiTexCoord4iv');
  8377. glMultiTexCoord4s := GLGetProcAddress('glMultiTexCoord4s');
  8378. glMultiTexCoord4sv := GLGetProcAddress('glMultiTexCoord4sv');
  8379. glLoadTransposeMatrixf := GLGetProcAddress('glLoadTransposeMatrixf');
  8380. glLoadTransposeMatrixd := GLGetProcAddress('glLoadTransposeMatrixd');
  8381. glMultTransposeMatrixf := GLGetProcAddress('glMultTransposeMatrixf');
  8382. glMultTransposeMatrixd := GLGetProcAddress('glMultTransposeMatrixd');
  8383. glSampleCoverage := GLGetProcAddress('glSampleCoverage');
  8384. glCompressedTexImage3D := GLGetProcAddress('glCompressedTexImage3D');
  8385. glCompressedTexImage2D := GLGetProcAddress('glCompressedTexImage2D');
  8386. glCompressedTexImage1D := GLGetProcAddress('glCompressedTexImage1D');
  8387. glCompressedTexSubImage3D := GLGetProcAddress('glCompressedTexSubImage3D');
  8388. glCompressedTexSubImage2D := GLGetProcAddress('glCompressedTexSubImage2D');
  8389. glCompressedTexSubImage1D := GLGetProcAddress('glCompressedTexSubImage1D');
  8390. glGetCompressedTexImage := GLGetProcAddress('glGetCompressedTexImage');
  8391. glBlendFuncSeparate := GLGetProcAddress('glBlendFuncSeparate');
  8392. glFogCoordf := GLGetProcAddress('glFogCoordf');
  8393. glFogCoordfv := GLGetProcAddress('glFogCoordfv');
  8394. glFogCoordd := GLGetProcAddress('glFogCoordd');
  8395. glFogCoorddv := GLGetProcAddress('glFogCoorddv');
  8396. glFogCoordPointer := GLGetProcAddress('glFogCoordPointer');
  8397. glMultiDrawArrays := GLGetProcAddress('glMultiDrawArrays');
  8398. glMultiDrawElements := GLGetProcAddress('glMultiDrawElements');
  8399. glPointParameterf := GLGetProcAddress('glPointParameterf');
  8400. glPointParameterfv := GLGetProcAddress('glPointParameterfv');
  8401. glPointParameteri := GLGetProcAddress('glPointParameteri');
  8402. glPointParameteriv := GLGetProcAddress('glPointParameteriv');
  8403. glSecondaryColor3b := GLGetProcAddress('glSecondaryColor3b');
  8404. glSecondaryColor3bv := GLGetProcAddress('glSecondaryColor3bv');
  8405. glSecondaryColor3d := GLGetProcAddress('glSecondaryColor3d');
  8406. glSecondaryColor3dv := GLGetProcAddress('glSecondaryColor3dv');
  8407. glSecondaryColor3f := GLGetProcAddress('glSecondaryColor3f');
  8408. glSecondaryColor3fv := GLGetProcAddress('glSecondaryColor3fv');
  8409. glSecondaryColor3i := GLGetProcAddress('glSecondaryColor3i');
  8410. glSecondaryColor3iv := GLGetProcAddress('glSecondaryColor3iv');
  8411. glSecondaryColor3s := GLGetProcAddress('glSecondaryColor3s');
  8412. glSecondaryColor3sv := GLGetProcAddress('glSecondaryColor3sv');
  8413. glSecondaryColor3ub := GLGetProcAddress('glSecondaryColor3ub');
  8414. glSecondaryColor3ubv := GLGetProcAddress('glSecondaryColor3ubv');
  8415. glSecondaryColor3ui := GLGetProcAddress('glSecondaryColor3ui');
  8416. glSecondaryColor3uiv := GLGetProcAddress('glSecondaryColor3uiv');
  8417. glSecondaryColor3us := GLGetProcAddress('glSecondaryColor3us');
  8418. glSecondaryColor3usv := GLGetProcAddress('glSecondaryColor3usv');
  8419. glSecondaryColorPointer := GLGetProcAddress('glSecondaryColorPointer');
  8420. glWindowPos2d := GLGetProcAddress('glWindowPos2d');
  8421. glWindowPos2dv := GLGetProcAddress('glWindowPos2dv');
  8422. glWindowPos2f := GLGetProcAddress('glWindowPos2f');
  8423. glWindowPos2fv := GLGetProcAddress('glWindowPos2fv');
  8424. glWindowPos2i := GLGetProcAddress('glWindowPos2i');
  8425. glWindowPos2iv := GLGetProcAddress('glWindowPos2iv');
  8426. glWindowPos2s := GLGetProcAddress('glWindowPos2s');
  8427. glWindowPos2sv := GLGetProcAddress('glWindowPos2sv');
  8428. glWindowPos3d := GLGetProcAddress('glWindowPos3d');
  8429. glWindowPos3dv := GLGetProcAddress('glWindowPos3dv');
  8430. glWindowPos3f := GLGetProcAddress('glWindowPos3f');
  8431. glWindowPos3fv := GLGetProcAddress('glWindowPos3fv');
  8432. glWindowPos3i := GLGetProcAddress('glWindowPos3i');
  8433. glWindowPos3iv := GLGetProcAddress('glWindowPos3iv');
  8434. glWindowPos3s := GLGetProcAddress('glWindowPos3s');
  8435. glWindowPos3sv := GLGetProcAddress('glWindowPos3sv');
  8436. glGenQueries := GLGetProcAddress('glGenQueries');
  8437. glDeleteQueries := GLGetProcAddress('glDeleteQueries');
  8438. glIsQuery := GLGetProcAddress('glIsQuery');
  8439. glBeginQuery := GLGetProcAddress('glBeginQuery');
  8440. glEndQuery := GLGetProcAddress('glEndQuery');
  8441. glGetQueryiv := GLGetProcAddress('glGetQueryiv');
  8442. glGetQueryObjectiv := GLGetProcAddress('glGetQueryObjectiv');
  8443. glGetQueryObjectuiv := GLGetProcAddress('glGetQueryObjectuiv');
  8444. glBindBuffer := GLGetProcAddress('glBindBuffer');
  8445. glDeleteBuffers := GLGetProcAddress('glDeleteBuffers');
  8446. glGenBuffers := GLGetProcAddress('glGenBuffers');
  8447. glIsBuffer := GLGetProcAddress('glIsBuffer');
  8448. glBufferData := GLGetProcAddress('glBufferData');
  8449. glBufferSubData := GLGetProcAddress('glBufferSubData');
  8450. glGetBufferSubData := GLGetProcAddress('glGetBufferSubData');
  8451. glMapBuffer := GLGetProcAddress('glMapBuffer');
  8452. glUnmapBuffer := GLGetProcAddress('glUnmapBuffer');
  8453. glGetBufferParameteriv := GLGetProcAddress('glGetBufferParameteriv');
  8454. glGetBufferPointerv := GLGetProcAddress('glGetBufferPointerv');
  8455. glBlendEquationSeparate := GLGetProcAddress('glBlendEquationSeparate');
  8456. glDrawBuffers := GLGetProcAddress('glDrawBuffers');
  8457. glStencilOpSeparate := GLGetProcAddress('glStencilOpSeparate');
  8458. glStencilFuncSeparate := GLGetProcAddress('glStencilFuncSeparate');
  8459. glStencilMaskSeparate := GLGetProcAddress('glStencilMaskSeparate');
  8460. glAttachShader := GLGetProcAddress('glAttachShader');
  8461. glBindAttribLocation := GLGetProcAddress('glBindAttribLocation');
  8462. glCompileShader := GLGetProcAddress('glCompileShader');
  8463. glCreateProgram := GLGetProcAddress('glCreateProgram');
  8464. glCreateShader := GLGetProcAddress('glCreateShader');
  8465. glDeleteProgram := GLGetProcAddress('glDeleteProgram');
  8466. glDeleteShader := GLGetProcAddress('glDeleteShader');
  8467. glDetachShader := GLGetProcAddress('glDetachShader');
  8468. glDisableVertexAttribArray := GLGetProcAddress('glDisableVertexAttribArray');
  8469. glEnableVertexAttribArray := GLGetProcAddress('glEnableVertexAttribArray');
  8470. glGetActiveAttrib := GLGetProcAddress('glGetActiveAttrib');
  8471. glGetActiveUniform := GLGetProcAddress('glGetActiveUniform');
  8472. glGetAttachedShaders := GLGetProcAddress('glGetAttachedShaders');
  8473. glGetAttribLocation := GLGetProcAddress('glGetAttribLocation');
  8474. glGetProgramiv := GLGetProcAddress('glGetProgramiv');
  8475. glGetProgramInfoLog := GLGetProcAddress('glGetProgramInfoLog');
  8476. glGetShaderiv := GLGetProcAddress('glGetShaderiv');
  8477. glGetShaderInfoLog := GLGetProcAddress('glGetShaderInfoLog');
  8478. glGetShaderSource := GLGetProcAddress('glGetShaderSource');
  8479. glGetUniformLocation := GLGetProcAddress('glGetUniformLocation');
  8480. glGetUniformfv := GLGetProcAddress('glGetUniformfv');
  8481. glGetUniformiv := GLGetProcAddress('glGetUniformiv');
  8482. glGetVertexAttribdv := GLGetProcAddress('glGetVertexAttribdv');
  8483. glGetVertexAttribfv := GLGetProcAddress('glGetVertexAttribfv');
  8484. glGetVertexAttribiv := GLGetProcAddress('glGetVertexAttribiv');
  8485. glGetVertexAttribPointerv := GLGetProcAddress('glGetVertexAttribPointerv');
  8486. glIsProgram := GLGetProcAddress('glIsProgram');
  8487. glIsShader := GLGetProcAddress('glIsShader');
  8488. glLinkProgram := GLGetProcAddress('glLinkProgram');
  8489. glShaderSource := GLGetProcAddress('glShaderSource');
  8490. glUseProgram := GLGetProcAddress('glUseProgram');
  8491. glUniform1f := GLGetProcAddress('glUniform1f');
  8492. glUniform2f := GLGetProcAddress('glUniform2f');
  8493. glUniform3f := GLGetProcAddress('glUniform3f');
  8494. glUniform4f := GLGetProcAddress('glUniform4f');
  8495. glUniform1i := GLGetProcAddress('glUniform1i');
  8496. glUniform2i := GLGetProcAddress('glUniform2i');
  8497. glUniform3i := GLGetProcAddress('glUniform3i');
  8498. glUniform4i := GLGetProcAddress('glUniform4i');
  8499. glUniform1fv := GLGetProcAddress('glUniform1fv');
  8500. glUniform2fv := GLGetProcAddress('glUniform2fv');
  8501. glUniform3fv := GLGetProcAddress('glUniform3fv');
  8502. glUniform4fv := GLGetProcAddress('glUniform4fv');
  8503. glUniform1iv := GLGetProcAddress('glUniform1iv');
  8504. glUniform2iv := GLGetProcAddress('glUniform2iv');
  8505. glUniform3iv := GLGetProcAddress('glUniform3iv');
  8506. glUniform4iv := GLGetProcAddress('glUniform4iv');
  8507. glUniformMatrix2fv := GLGetProcAddress('glUniformMatrix2fv');
  8508. glUniformMatrix3fv := GLGetProcAddress('glUniformMatrix3fv');
  8509. glUniformMatrix4fv := GLGetProcAddress('glUniformMatrix4fv');
  8510. glValidateProgram := GLGetProcAddress('glValidateProgram');
  8511. glVertexAttrib1d := GLGetProcAddress('glVertexAttrib1d');
  8512. glVertexAttrib1dv := GLGetProcAddress('glVertexAttrib1dv');
  8513. glVertexAttrib1f := GLGetProcAddress('glVertexAttrib1f');
  8514. glVertexAttrib1fv := GLGetProcAddress('glVertexAttrib1fv');
  8515. glVertexAttrib1s := GLGetProcAddress('glVertexAttrib1s');
  8516. glVertexAttrib1sv := GLGetProcAddress('glVertexAttrib1sv');
  8517. glVertexAttrib2d := GLGetProcAddress('glVertexAttrib2d');
  8518. glVertexAttrib2dv := GLGetProcAddress('glVertexAttrib2dv');
  8519. glVertexAttrib2f := GLGetProcAddress('glVertexAttrib2f');
  8520. glVertexAttrib2fv := GLGetProcAddress('glVertexAttrib2fv');
  8521. glVertexAttrib2s := GLGetProcAddress('glVertexAttrib2s');
  8522. glVertexAttrib2sv := GLGetProcAddress('glVertexAttrib2sv');
  8523. glVertexAttrib3d := GLGetProcAddress('glVertexAttrib3d');
  8524. glVertexAttrib3dv := GLGetProcAddress('glVertexAttrib3dv');
  8525. glVertexAttrib3f := GLGetProcAddress('glVertexAttrib3f');
  8526. glVertexAttrib3fv := GLGetProcAddress('glVertexAttrib3fv');
  8527. glVertexAttrib3s := GLGetProcAddress('glVertexAttrib3s');
  8528. glVertexAttrib3sv := GLGetProcAddress('glVertexAttrib3sv');
  8529. glVertexAttrib4Nbv := GLGetProcAddress('glVertexAttrib4Nbv');
  8530. glVertexAttrib4Niv := GLGetProcAddress('glVertexAttrib4Niv');
  8531. glVertexAttrib4Nsv := GLGetProcAddress('glVertexAttrib4Nsv');
  8532. glVertexAttrib4Nub := GLGetProcAddress('glVertexAttrib4Nub');
  8533. glVertexAttrib4Nubv := GLGetProcAddress('glVertexAttrib4Nubv');
  8534. glVertexAttrib4Nuiv := GLGetProcAddress('glVertexAttrib4Nuiv');
  8535. glVertexAttrib4Nusv := GLGetProcAddress('glVertexAttrib4Nusv');
  8536. glVertexAttrib4bv := GLGetProcAddress('glVertexAttrib4bv');
  8537. glVertexAttrib4d := GLGetProcAddress('glVertexAttrib4d');
  8538. glVertexAttrib4dv := GLGetProcAddress('glVertexAttrib4dv');
  8539. glVertexAttrib4f := GLGetProcAddress('glVertexAttrib4f');
  8540. glVertexAttrib4fv := GLGetProcAddress('glVertexAttrib4fv');
  8541. glVertexAttrib4iv := GLGetProcAddress('glVertexAttrib4iv');
  8542. glVertexAttrib4s := GLGetProcAddress('glVertexAttrib4s');
  8543. glVertexAttrib4sv := GLGetProcAddress('glVertexAttrib4sv');
  8544. glVertexAttrib4ubv := GLGetProcAddress('glVertexAttrib4ubv');
  8545. glVertexAttrib4uiv := GLGetProcAddress('glVertexAttrib4uiv');
  8546. glVertexAttrib4usv := GLGetProcAddress('glVertexAttrib4usv');
  8547. glVertexAttribPointer := GLGetProcAddress('glVertexAttribPointer');
  8548. glUniformMatrix2x3fv := GLGetProcAddress('glUniformMatrix2x3fv');
  8549. glUniformMatrix3x2fv := GLGetProcAddress('glUniformMatrix3x2fv');
  8550. glUniformMatrix2x4fv := GLGetProcAddress('glUniformMatrix2x4fv');
  8551. glUniformMatrix4x2fv := GLGetProcAddress('glUniformMatrix4x2fv');
  8552. glUniformMatrix3x4fv := GLGetProcAddress('glUniformMatrix3x4fv');
  8553. glUniformMatrix4x3fv := GLGetProcAddress('glUniformMatrix4x3fv');
  8554. glVertexAttribI1i := GLGetProcAddress('glVertexAttribI1i');
  8555. glVertexAttribI2i := GLGetProcAddress('glVertexAttribI2i');
  8556. glVertexAttribI3i := GLGetProcAddress('glVertexAttribI3i');
  8557. glVertexAttribI4i := GLGetProcAddress('glVertexAttribI4i');
  8558. glVertexAttribI1ui := GLGetProcAddress('glVertexAttribI1ui');
  8559. glVertexAttribI2ui := GLGetProcAddress('glVertexAttribI2ui');
  8560. glVertexAttribI3ui := GLGetProcAddress('glVertexAttribI3ui');
  8561. glVertexAttribI4ui := GLGetProcAddress('glVertexAttribI4ui');
  8562. glVertexAttribI1iv := GLGetProcAddress('glVertexAttribI1iv');
  8563. glVertexAttribI2iv := GLGetProcAddress('glVertexAttribI2iv');
  8564. glVertexAttribI3iv := GLGetProcAddress('glVertexAttribI3iv');
  8565. glVertexAttribI4iv := GLGetProcAddress('glVertexAttribI4iv');
  8566. glVertexAttribI1uiv := GLGetProcAddress('glVertexAttribI1uiv');
  8567. glVertexAttribI2uiv := GLGetProcAddress('glVertexAttribI2uiv');
  8568. glVertexAttribI3uiv := GLGetProcAddress('glVertexAttribI3uiv');
  8569. glVertexAttribI4uiv := GLGetProcAddress('glVertexAttribI4uiv');
  8570. glVertexAttribI4bv := GLGetProcAddress('glVertexAttribI4bv');
  8571. glVertexAttribI4sv := GLGetProcAddress('glVertexAttribI4sv');
  8572. glVertexAttribI4ubv := GLGetProcAddress('glVertexAttribI4ubv');
  8573. glVertexAttribI4usv := GLGetProcAddress('glVertexAttribI4usv');
  8574. glVertexAttribIPointer := GLGetProcAddress('glVertexAttribIPointer');
  8575. glGetVertexAttribIiv := GLGetProcAddress('glGetVertexAttribIiv');
  8576. glGetVertexAttribIuiv := GLGetProcAddress('glGetVertexAttribIuiv');
  8577. glUniform1ui := GLGetProcAddress('glUniform1ui');
  8578. glUniform2ui := GLGetProcAddress('glUniform2ui');
  8579. glUniform3ui := GLGetProcAddress('glUniform3ui');
  8580. glUniform4ui := GLGetProcAddress('glUniform4ui');
  8581. glUniform1uiv := GLGetProcAddress('glUniform1uiv');
  8582. glUniform2uiv := GLGetProcAddress('glUniform2uiv');
  8583. glUniform3uiv := GLGetProcAddress('glUniform3uiv');
  8584. glUniform4uiv := GLGetProcAddress('glUniform4uiv');
  8585. glGetUniformuiv := GLGetProcAddress('glGetUniformuiv');
  8586. glBindFragDataLocation := GLGetProcAddress('glBindFragDataLocation');
  8587. glGetFragDataLocation := GLGetProcAddress('glGetFragDataLocation');
  8588. glBeginConditionalRender := GLGetProcAddress('glBeginConditionalRender');
  8589. glEndConditionalRender := GLGetProcAddress('glEndConditionalRender');
  8590. glClampColor := GLGetProcAddress('glClampColor');
  8591. //glClearColorIi := GLGetProcAddress('glClearColorIi');
  8592. //glClearColorIui := GLGetProcAddress('glClearColorIui');
  8593. glTexParameterIiv := GLGetProcAddress('glTexParameterIiv');
  8594. glTexParameterIuiv := GLGetProcAddress('glTexParameterIuiv');
  8595. glGetTexParameterIiv := GLGetProcAddress('glGetTexParameterIiv');
  8596. glGetTexParameterIuiv := GLGetProcAddress('glGetTexParameterIuiv');
  8597. glColorMaski := GLGetProcAddress('glColorMaski');
  8598. glGetBooleani_v := GLGetProcAddress('glGetBooleani_v');
  8599. glGetIntegeri_v := GLGetProcAddress('glGetIntegeri_v');
  8600. glEnablei := GLGetProcAddress('glEnablei');
  8601. glDisablei := GLGetProcAddress('glDisablei');
  8602. glIsEnabledi := GLGetProcAddress('glIsEnabledi');
  8603. glBindBufferRange := GLGetProcAddress('glBindBufferRange');
  8604. glBindBufferBase := GLGetProcAddress('glBindBufferBase');
  8605. glBeginTransformFeedback := GLGetProcAddress('glBeginTransformFeedback');
  8606. glEndTransformFeedback := GLGetProcAddress('glEndTransformFeedback');
  8607. glTransformFeedbackVaryings := GLGetProcAddress('glTransformFeedbackVaryings');
  8608. glGetTransformFeedbackVarying := GLGetProcAddress('glGetTransformFeedbackVarying');
  8609. glClearBufferiv := GLGetProcAddress('glClearBufferiv');
  8610. glClearBufferuiv := GLGetProcAddress('glClearBufferuiv');
  8611. glClearBufferfv := GLGetProcAddress('glClearBufferfv');
  8612. glClearBufferfi := GLGetProcAddress('glClearBufferfi');
  8613. glGetStringi := GLGetProcAddress('glGetStringi');
  8614. glDrawArraysInstanced := GLGetProcAddress('glDrawArraysInstanced');
  8615. glDrawElementsInstanced := GLGetProcAddress('glDrawElementsInstanced');
  8616. glTexBuffer := GLGetProcAddress('glTexBuffer');
  8617. glPrimitiveRestartIndex := GLGetProcAddress('glPrimitiveRestartIndex');
  8618. glGetInteger64i_v := GLGetProcAddress('glGetInteger64i_v');
  8619. glGetBufferParameteri64v := GLGetProcAddress('glGetBufferParameteri64v');
  8620. glProgramParameteri := GLGetProcAddress('glProgramParameteri');
  8621. glFramebufferTexture := GLGetProcAddress('glFramebufferTexture');
  8622. glVertexAttribDivisorARB := GLGetProcAddress('glVertexAttribDivisor');
  8623. glBlendEquationi := GLGetProcAddress('glBlendEquationi');
  8624. glBlendEquationSeparatei := GLGetProcAddress('glBlendEquationSeparatei');
  8625. glBlendFunci := GLGetProcAddress('glBlendFunci');
  8626. glBlendFuncSeparatei := GLGetProcAddress('glBlendFuncSeparatei');
  8627. glMinSampleShading := GLGetProcAddress('glMinSampleShading');
  8628. gluNurbsCallbackDataEXT := GLGetProcAddress('gluNurbsCallbackDataEXT');
  8629. gluNewNurbsTessellatorEXT := GLGetProcAddress('gluNewNurbsTessellatorEXT');
  8630. gluDeleteNurbsTessellatorEXT := GLGetProcAddress('gluDeleteNurbsTessellatorEXT');
  8631. glActiveTextureARB := GLGetProcAddress('glActiveTextureARB');
  8632. glClientActiveTextureARB := GLGetProcAddress('glClientActiveTextureARB');
  8633. glMultiTexCoord1dARB := GLGetProcAddress('glMultiTexCoord1dARB');
  8634. glMultiTexCoord1dVARB := GLGetProcAddress('glMultiTexCoord1dVARB');
  8635. glMultiTexCoord1fARB := GLGetProcAddress('glMultiTexCoord1fARB');
  8636. glMultiTexCoord1fVARB := GLGetProcAddress('glMultiTexCoord1fVARB');
  8637. glMultiTexCoord1iARB := GLGetProcAddress('glMultiTexCoord1iARB');
  8638. glMultiTexCoord1iVARB := GLGetProcAddress('glMultiTexCoord1iVARB');
  8639. glMultiTexCoord1sARB := GLGetProcAddress('glMultiTexCoord1sARB');
  8640. glMultiTexCoord1sVARB := GLGetProcAddress('glMultiTexCoord1sVARB');
  8641. glMultiTexCoord2dARB := GLGetProcAddress('glMultiTexCoord2dARB');
  8642. glMultiTexCoord2dvARB := GLGetProcAddress('glMultiTexCoord2dvARB');
  8643. glMultiTexCoord2fARB := GLGetProcAddress('glMultiTexCoord2fARB');
  8644. glMultiTexCoord2fvARB := GLGetProcAddress('glMultiTexCoord2fvARB');
  8645. glMultiTexCoord2iARB := GLGetProcAddress('glMultiTexCoord2iARB');
  8646. glMultiTexCoord2ivARB := GLGetProcAddress('glMultiTexCoord2ivARB');
  8647. glMultiTexCoord2sARB := GLGetProcAddress('glMultiTexCoord2sARB');
  8648. glMultiTexCoord2svARB := GLGetProcAddress('glMultiTexCoord2svARB');
  8649. glMultiTexCoord3dARB := GLGetProcAddress('glMultiTexCoord3dARB');
  8650. glMultiTexCoord3dvARB := GLGetProcAddress('glMultiTexCoord3dvARB');
  8651. glMultiTexCoord3fARB := GLGetProcAddress('glMultiTexCoord3fARB');
  8652. glMultiTexCoord3fvARB := GLGetProcAddress('glMultiTexCoord3fvARB');
  8653. glMultiTexCoord3iARB := GLGetProcAddress('glMultiTexCoord3iARB');
  8654. glMultiTexCoord3ivARB := GLGetProcAddress('glMultiTexCoord3ivARB');
  8655. glMultiTexCoord3sARB := GLGetProcAddress('glMultiTexCoord3sARB');
  8656. glMultiTexCoord3svARB := GLGetProcAddress('glMultiTexCoord3svARB');
  8657. glMultiTexCoord4dARB := GLGetProcAddress('glMultiTexCoord4dARB');
  8658. glMultiTexCoord4dvARB := GLGetProcAddress('glMultiTexCoord4dvARB');
  8659. glMultiTexCoord4fARB := GLGetProcAddress('glMultiTexCoord4fARB');
  8660. glMultiTexCoord4fvARB := GLGetProcAddress('glMultiTexCoord4fvARB');
  8661. glMultiTexCoord4iARB := GLGetProcAddress('glMultiTexCoord4iARB');
  8662. glMultiTexCoord4ivARB := GLGetProcAddress('glMultiTexCoord4ivARB');
  8663. glMultiTexCoord4sARB := GLGetProcAddress('glMultiTexCoord4sARB');
  8664. glMultiTexCoord4svARB := GLGetProcAddress('glMultiTexCoord4svARB');
  8665. glLoadTransposeMatrixfARB := GLGetProcAddress('glLoadTransposeMatrixfARB');
  8666. glLoadTransposeMatrixdARB := GLGetProcAddress('glLoadTransposeMatrixdARB');
  8667. glMultTransposeMatrixfARB := GLGetProcAddress('glMultTransposeMatrixfARB');
  8668. glMultTransposeMatrixdARB := GLGetProcAddress('glMultTransposeMatrixdARB');
  8669. glSampleCoverageARB := GLGetProcAddress('glSampleCoverageARB');
  8670. glCompressedTexImage3DARB := GLGetProcAddress('glCompressedTexImage3DARB');
  8671. glCompressedTexImage2DARB := GLGetProcAddress('glCompressedTexImage2DARB');
  8672. glCompressedTexImage1DARB := GLGetProcAddress('glCompressedTexImage1DARB');
  8673. glCompressedTexSubImage3DARB := GLGetProcAddress('glCompressedTexSubImage3DARB');
  8674. glCompressedTexSubImage2DARB := GLGetProcAddress('glCompressedTexSubImage2DARB');
  8675. glCompressedTexSubImage1DARB := GLGetProcAddress('glCompressedTexSubImage1DARB');
  8676. glGetCompressedTexImageARB := GLGetProcAddress('glGetCompressedTexImageARB');
  8677. glPointParameterfARB := GLGetProcAddress('glPointParameterfARB');
  8678. glPointParameterfvARB := GLGetProcAddress('glPointParameterfvARB');
  8679. glWeightbvARB := GLGetProcAddress('glWeightbvARB');
  8680. glWeightsvARB := GLGetProcAddress('glWeightsvARB');
  8681. glWeightivARB := GLGetProcAddress('glWeightivARB');
  8682. glWeightfvARB := GLGetProcAddress('glWeightfvARB');
  8683. glWeightdvARB := GLGetProcAddress('glWeightdvARB');
  8684. glWeightubvARB := GLGetProcAddress('glWeightubvARB');
  8685. glWeightusvARB := GLGetProcAddress('glWeightusvARB');
  8686. glWeightuivARB := GLGetProcAddress('glWeightuivARB');
  8687. glWeightPointerARB := GLGetProcAddress('glWeightPointerARB');
  8688. glVertexBlendARB := GLGetProcAddress('glVertexBlendARB');
  8689. glCurrentPaletteMatrixARB := GLGetProcAddress('glCurrentPaletteMatrixARB');
  8690. glMatrixIndexubvARB := GLGetProcAddress('glMatrixIndexubvARB');
  8691. glMatrixIndexusvARB := GLGetProcAddress('glMatrixIndexusvARB');
  8692. glMatrixIndexuivARB := GLGetProcAddress('glMatrixIndexuivARB');
  8693. glMatrixIndexPointerARB := GLGetProcAddress('glMatrixIndexPointerARB');
  8694. glWindowPos2dARB := GLGetProcAddress('glWindowPos2dARB');
  8695. glWindowPos2dvARB := GLGetProcAddress('glWindowPos2dvARB');
  8696. glWindowPos2fARB := GLGetProcAddress('glWindowPos2fARB');
  8697. glWindowPos2fvARB := GLGetProcAddress('glWindowPos2fvARB');
  8698. glWindowPos2iARB := GLGetProcAddress('glWindowPos2iARB');
  8699. glWindowPos2ivARB := GLGetProcAddress('glWindowPos2ivARB');
  8700. glWindowPos2sARB := GLGetProcAddress('glWindowPos2sARB');
  8701. glWindowPos2svARB := GLGetProcAddress('glWindowPos2svARB');
  8702. glWindowPos3dARB := GLGetProcAddress('glWindowPos3dARB');
  8703. glWindowPos3dvARB := GLGetProcAddress('glWindowPos3dvARB');
  8704. glWindowPos3fARB := GLGetProcAddress('glWindowPos3fARB');
  8705. glWindowPos3fvARB := GLGetProcAddress('glWindowPos3fvARB');
  8706. glWindowPos3iARB := GLGetProcAddress('glWindowPos3iARB');
  8707. glWindowPos3ivARB := GLGetProcAddress('glWindowPos3ivARB');
  8708. glWindowPos3sARB := GLGetProcAddress('glWindowPos3sARB');
  8709. glWindowPos3svARB := GLGetProcAddress('glWindowPos3svARB');
  8710. glVertexAttrib1dARB := GLGetProcAddress('glVertexAttrib1dARB');
  8711. glVertexAttrib1dvARB := GLGetProcAddress('glVertexAttrib1dvARB');
  8712. glVertexAttrib1fARB := GLGetProcAddress('glVertexAttrib1fARB');
  8713. glVertexAttrib1fvARB := GLGetProcAddress('glVertexAttrib1fvARB');
  8714. glVertexAttrib1sARB := GLGetProcAddress('glVertexAttrib1sARB');
  8715. glVertexAttrib1svARB := GLGetProcAddress('glVertexAttrib1svARB');
  8716. glVertexAttrib2dARB := GLGetProcAddress('glVertexAttrib2dARB');
  8717. glVertexAttrib2dvARB := GLGetProcAddress('glVertexAttrib2dvARB');
  8718. glVertexAttrib2fARB := GLGetProcAddress('glVertexAttrib2fARB');
  8719. glVertexAttrib2fvARB := GLGetProcAddress('glVertexAttrib2fvARB');
  8720. glVertexAttrib2sARB := GLGetProcAddress('glVertexAttrib2sARB');
  8721. glVertexAttrib2svARB := GLGetProcAddress('glVertexAttrib2svARB');
  8722. glVertexAttrib3dARB := GLGetProcAddress('glVertexAttrib3dARB');
  8723. glVertexAttrib3dvARB := GLGetProcAddress('glVertexAttrib3dvARB');
  8724. glVertexAttrib3fARB := GLGetProcAddress('glVertexAttrib3fARB');
  8725. glVertexAttrib3fvARB := GLGetProcAddress('glVertexAttrib3fvARB');
  8726. glVertexAttrib3sARB := GLGetProcAddress('glVertexAttrib3sARB');
  8727. glVertexAttrib3svARB := GLGetProcAddress('glVertexAttrib3svARB');
  8728. glVertexAttrib4NbvARB := GLGetProcAddress('glVertexAttrib4NbvARB');
  8729. glVertexAttrib4NivARB := GLGetProcAddress('glVertexAttrib4NivARB');
  8730. glVertexAttrib4NsvARB := GLGetProcAddress('glVertexAttrib4NsvARB');
  8731. glVertexAttrib4NubARB := GLGetProcAddress('glVertexAttrib4NubARB');
  8732. glVertexAttrib4NubvARB := GLGetProcAddress('glVertexAttrib4NubvARB');
  8733. glVertexAttrib4NuivARB := GLGetProcAddress('glVertexAttrib4NuivARB');
  8734. glVertexAttrib4NusvARB := GLGetProcAddress('glVertexAttrib4NusvARB');
  8735. glVertexAttrib4bvARB := GLGetProcAddress('glVertexAttrib4bvARB');
  8736. glVertexAttrib4dARB := GLGetProcAddress('glVertexAttrib4dARB');
  8737. glVertexAttrib4dvARB := GLGetProcAddress('glVertexAttrib4dvARB');
  8738. glVertexAttrib4fARB := GLGetProcAddress('glVertexAttrib4fARB');
  8739. glVertexAttrib4fvARB := GLGetProcAddress('glVertexAttrib4fvARB');
  8740. glVertexAttrib4ivARB := GLGetProcAddress('glVertexAttrib4ivARB');
  8741. glVertexAttrib4sARB := GLGetProcAddress('glVertexAttrib4sARB');
  8742. glVertexAttrib4svARB := GLGetProcAddress('glVertexAttrib4svARB');
  8743. glVertexAttrib4ubvARB := GLGetProcAddress('glVertexAttrib4ubvARB');
  8744. glVertexAttrib4uivARB := GLGetProcAddress('glVertexAttrib4uivARB');
  8745. glVertexAttrib4usvARB := GLGetProcAddress('glVertexAttrib4usvARB');
  8746. glVertexAttribPointerARB := GLGetProcAddress('glVertexAttribPointerARB');
  8747. glEnableVertexAttribArrayARB := GLGetProcAddress('glEnableVertexAttribArrayARB');
  8748. glDisableVertexAttribArrayARB := GLGetProcAddress('glDisableVertexAttribArrayARB');
  8749. glProgramStringARB := GLGetProcAddress('glProgramStringARB');
  8750. glBindProgramARB := GLGetProcAddress('glBindProgramARB');
  8751. glDeleteProgramsARB := GLGetProcAddress('glDeleteProgramsARB');
  8752. glGenProgramsARB := GLGetProcAddress('glGenProgramsARB');
  8753. glProgramEnvParameter4dARB := GLGetProcAddress('glProgramEnvParameter4dARB');
  8754. glProgramEnvParameter4dvARB := GLGetProcAddress('glProgramEnvParameter4dvARB');
  8755. glProgramEnvParameter4fARB := GLGetProcAddress('glProgramEnvParameter4fARB');
  8756. glProgramEnvParameter4fvARB := GLGetProcAddress('glProgramEnvParameter4fvARB');
  8757. glProgramLocalParameter4dARB := GLGetProcAddress('glProgramLocalParameter4dARB');
  8758. glProgramLocalParameter4dvARB := GLGetProcAddress('glProgramLocalParameter4dvARB');
  8759. glProgramLocalParameter4fARB := GLGetProcAddress('glProgramLocalParameter4fARB');
  8760. glProgramLocalParameter4fvARB := GLGetProcAddress('glProgramLocalParameter4fvARB');
  8761. glGetProgramEnvParameterdvARB := GLGetProcAddress('glGetProgramEnvParameterdvARB');
  8762. glGetProgramEnvParameterfvARB := GLGetProcAddress('glGetProgramEnvParameterfvARB');
  8763. glGetProgramLocalParameterdvARB := GLGetProcAddress('glGetProgramLocalParameterdvARB');
  8764. glGetProgramLocalParameterfvARB := GLGetProcAddress('glGetProgramLocalParameterfvARB');
  8765. glGetProgramivARB := GLGetProcAddress('glGetProgramivARB');
  8766. glGetProgramStringARB := GLGetProcAddress('glGetProgramStringARB');
  8767. glGetVertexAttribdvARB := GLGetProcAddress('glGetVertexAttribdvARB');
  8768. glGetVertexAttribfvARB := GLGetProcAddress('glGetVertexAttribfvARB');
  8769. glGetVertexAttribivARB := GLGetProcAddress('glGetVertexAttribivARB');
  8770. glGetVertexAttribPointervARB := GLGetProcAddress('glGetVertexAttribPointervARB');
  8771. glIsProgramARB := GLGetProcAddress('glIsProgramARB');
  8772. glBindBufferARB := GLGetProcAddress('glBindBufferARB');
  8773. glDeleteBuffersARB := GLGetProcAddress('glDeleteBuffersARB');
  8774. glGenBuffersARB := GLGetProcAddress('glGenBuffersARB');
  8775. glIsBufferARB := GLGetProcAddress('glIsBufferARB');
  8776. glBufferDataARB := GLGetProcAddress('glBufferDataARB');
  8777. glBufferSubDataARB := GLGetProcAddress('glBufferSubDataARB');
  8778. glGetBufferSubDataARB := GLGetProcAddress('glGetBufferSubDataARB');
  8779. glMapBufferARB := GLGetProcAddress('glMapBufferARB');
  8780. glUnmapBufferARB := GLGetProcAddress('glUnmapBufferARB');
  8781. glGetBufferParameterivARB := GLGetProcAddress('glGetBufferParameterivARB');
  8782. glGetBufferPointervARB := GLGetProcAddress('glGetBufferPointervARB');
  8783. glGenQueriesARB := GLGetProcAddress('glGenQueriesARB');
  8784. glDeleteQueriesARB := GLGetProcAddress('glDeleteQueriesARB');
  8785. glIsQueryARB := GLGetProcAddress('glIsQueryARB');
  8786. glBeginQueryARB := GLGetProcAddress('glBeginQueryARB');
  8787. glEndQueryARB := GLGetProcAddress('glEndQueryARB');
  8788. glGetQueryivARB := GLGetProcAddress('glGetQueryivARB');
  8789. glGetQueryObjectivARB := GLGetProcAddress('glGetQueryObjectivARB');
  8790. glGetQueryObjectuivARB := GLGetProcAddress('glGetQueryObjectuivARB');
  8791. glDeleteObjectARB := GLGetProcAddress('glDeleteObjectARB');
  8792. glGetHandleARB := GLGetProcAddress('glGetHandleARB');
  8793. glDetachObjectARB := GLGetProcAddress('glDetachObjectARB');
  8794. glCreateShaderObjectARB := GLGetProcAddress('glCreateShaderObjectARB');
  8795. glShaderSourceARB := GLGetProcAddress('glShaderSourceARB');
  8796. glCompileShaderARB := GLGetProcAddress('glCompileShaderARB');
  8797. glCreateProgramObjectARB := GLGetProcAddress('glCreateProgramObjectARB');
  8798. glAttachObjectARB := GLGetProcAddress('glAttachObjectARB');
  8799. glLinkProgramARB := GLGetProcAddress('glLinkProgramARB');
  8800. glUseProgramObjectARB := GLGetProcAddress('glUseProgramObjectARB');
  8801. glValidateProgramARB := GLGetProcAddress('glValidateProgramARB');
  8802. glUniform1fARB := GLGetProcAddress('glUniform1fARB');
  8803. glUniform2fARB := GLGetProcAddress('glUniform2fARB');
  8804. glUniform3fARB := GLGetProcAddress('glUniform3fARB');
  8805. glUniform4fARB := GLGetProcAddress('glUniform4fARB');
  8806. glUniform1iARB := GLGetProcAddress('glUniform1iARB');
  8807. glUniform2iARB := GLGetProcAddress('glUniform2iARB');
  8808. glUniform3iARB := GLGetProcAddress('glUniform3iARB');
  8809. glUniform4iARB := GLGetProcAddress('glUniform4iARB');
  8810. glUniform1fvARB := GLGetProcAddress('glUniform1fvARB');
  8811. glUniform2fvARB := GLGetProcAddress('glUniform2fvARB');
  8812. glUniform3fvARB := GLGetProcAddress('glUniform3fvARB');
  8813. glUniform4fvARB := GLGetProcAddress('glUniform4fvARB');
  8814. glUniform1ivARB := GLGetProcAddress('glUniform1ivARB');
  8815. glUniform2ivARB := GLGetProcAddress('glUniform2ivARB');
  8816. glUniform3ivARB := GLGetProcAddress('glUniform3ivARB');
  8817. glUniform4ivARB := GLGetProcAddress('glUniform4ivARB');
  8818. glUniformMatrix2fvARB := GLGetProcAddress('glUniformMatrix2fvARB');
  8819. glUniformMatrix3fvARB := GLGetProcAddress('glUniformMatrix3fvARB');
  8820. glUniformMatrix4fvARB := GLGetProcAddress('glUniformMatrix4fvARB');
  8821. glGetObjectParameterfvARB := GLGetProcAddress('glGetObjectParameterfvARB');
  8822. glGetObjectParameterivARB := GLGetProcAddress('glGetObjectParameterivARB');
  8823. glGetInfoLogARB := GLGetProcAddress('glGetInfoLogARB');
  8824. glGetAttachedObjectsARB := GLGetProcAddress('glGetAttachedObjectsARB');
  8825. glGetUniformLocationARB := GLGetProcAddress('glGetUniformLocationARB');
  8826. glGetActiveUniformARB := GLGetProcAddress('glGetActiveUniformARB');
  8827. glGetUniformfvARB := GLGetProcAddress('glGetUniformfvARB');
  8828. glGetUniformivARB := GLGetProcAddress('glGetUniformivARB');
  8829. glGetShaderSourceARB := GLGetProcAddress('glGetShaderSourceARB');
  8830. glBindAttribLocationARB := GLGetProcAddress('glBindAttribLocationARB');
  8831. glGetActiveAttribARB := GLGetProcAddress('glGetActiveAttribARB');
  8832. glGetAttribLocationARB := GLGetProcAddress('glGetAttribLocationARB');
  8833. glDrawBuffersARB := GLGetProcAddress('glDrawBuffersARB');
  8834. glClampColorARB := GLGetProcAddress('glClampColorARB');
  8835. glDrawArraysInstancedARB := GLGetProcAddress('glDrawArraysInstancedARB');
  8836. glDrawElementsInstancedARB := GLGetProcAddress('glDrawElementsInstancedARB');
  8837. glIsRenderbuffer := GLGetProcAddress('glIsRenderbuffer');
  8838. glBindRenderbuffer := GLGetProcAddress('glBindRenderbuffer');
  8839. glDeleteRenderbuffers := GLGetProcAddress('glDeleteRenderbuffers');
  8840. glGenRenderbuffers := GLGetProcAddress('glGenRenderbuffers');
  8841. glRenderbufferStorage := GLGetProcAddress('glRenderbufferStorage');
  8842. glRenderbufferStorageMultisample := GLGetProcAddress('glRenderbufferStorageMultisample');
  8843. glGetRenderbufferParameteriv := GLGetProcAddress('glGetRenderbufferParameteriv');
  8844. glIsFramebuffer := GLGetProcAddress('glIsFramebuffer');
  8845. glBindFramebuffer := GLGetProcAddress('glBindFramebuffer');
  8846. glDeleteFramebuffers := GLGetProcAddress('glDeleteFramebuffers');
  8847. glGenFramebuffers := GLGetProcAddress('glGenFramebuffers');
  8848. glCheckFramebufferStatus := GLGetProcAddress('glCheckFramebufferStatus');
  8849. glFramebufferTexture1D := GLGetProcAddress('glFramebufferTexture1D');
  8850. glFramebufferTexture2D := GLGetProcAddress('glFramebufferTexture2D');
  8851. glFramebufferTexture3D := GLGetProcAddress('glFramebufferTexture3D');
  8852. glFramebufferTextureLayer := GLGetProcAddress('glFramebufferTextureLayer');
  8853. glFramebufferRenderbuffer := GLGetProcAddress('glFramebufferRenderbuffer');
  8854. glGetFramebufferAttachmentParameteriv := GLGetProcAddress('glGetFramebufferAttachmentParameteriv');
  8855. glBlitFramebuffer := GLGetProcAddress('glBlitFramebuffer');
  8856. glGenerateMipmap := GLGetProcAddress('glGenerateMipmap');
  8857. glProgramParameteriARB := GLGetProcAddress('glProgramParameteriARB');
  8858. glFramebufferTextureARB := GLGetProcAddress('glFramebufferTextureARB');
  8859. glFramebufferTextureLayerARB := GLGetProcAddress('glFramebufferTextureLayerARB');
  8860. glFramebufferTextureFaceARB := GLGetProcAddress('glFramebufferTextureFaceARB');
  8861. glVertexAttribDivisorARB := GLGetProcAddress('glVertexAttribDivisorARB');
  8862. glMapBufferRange := GLGetProcAddress('glMapBufferRange');
  8863. glFlushMappedBufferRange := GLGetProcAddress('glFlushMappedBufferRange');
  8864. glTexBufferARB := GLGetProcAddress('glTexBufferARB');
  8865. glBindVertexArray := GLGetProcAddress('glBindVertexArray');
  8866. glDeleteVertexArrays := GLGetProcAddress('glDeleteVertexArrays');
  8867. glGenVertexArrays := GLGetProcAddress('glGenVertexArrays');
  8868. glIsVertexArray := GLGetProcAddress('glIsVertexArray');
  8869. glGetUniformIndices := GLGetProcAddress('glGetUniformIndices');
  8870. glGetActiveUniformsiv := GLGetProcAddress('glGetActiveUniformsiv');
  8871. glGetActiveUniformName := GLGetProcAddress('glGetActiveUniformName');
  8872. glGetUniformBlockIndex := GLGetProcAddress('glGetUniformBlockIndex');
  8873. glGetActiveUniformBlockiv := GLGetProcAddress('glGetActiveUniformBlockiv');
  8874. glGetActiveUniformBlockName := GLGetProcAddress('glGetActiveUniformBlockName');
  8875. glUniformBlockBinding := GLGetProcAddress('glUniformBlockBinding');
  8876. glCopyBufferSubData := GLGetProcAddress('glCopyBufferSubData');
  8877. glDrawElementsBaseVertex := GLGetProcAddress('glDrawElementsBaseVertex');
  8878. glDrawRangeElementsBaseVertex := GLGetProcAddress('glDrawRangeElementsBaseVertex');
  8879. glDrawElementsInstancedBaseVertex := GLGetProcAddress('glDrawElementsInstancedBaseVertex');
  8880. glMultiDrawElementsBaseVertex := GLGetProcAddress('glMultiDrawElementsBaseVertex');
  8881. glProvokingVertex := GLGetProcAddress('glProvokingVertex');
  8882. glFenceSync := GLGetProcAddress('glFenceSync');
  8883. glIsSync := GLGetProcAddress('glIsSync');
  8884. glDeleteSync := GLGetProcAddress('glDeleteSync');
  8885. glClientWaitSync := GLGetProcAddress('glClientWaitSync');
  8886. glWaitSync := GLGetProcAddress('glWaitSync');
  8887. glGetInteger64v := GLGetProcAddress('glGetInteger64v');
  8888. glGetSynciv := GLGetProcAddress('glGetSynciv');
  8889. glTexImage2DMultisample := GLGetProcAddress('glTexImage2DMultisample');
  8890. glTexImage3DMultisample := GLGetProcAddress('glTexImage3DMultisample');
  8891. glGetMultisamplefv := GLGetProcAddress('glGetMultisamplefv');
  8892. glSampleMaski := GLGetProcAddress('glSampleMaski');
  8893. glBlendEquation := GLGetProcAddress('glBlendEquationiARB');
  8894. glBlendEquationSeparatei := GLGetProcAddress('glBlendEquationSeparateiARB');
  8895. glBlendFunci := GLGetProcAddress('glBlendFunciARB');
  8896. glBlendFuncSeparatei := GLGetProcAddress('glBlendFuncSeparateiARB');
  8897. glMinSampleShading := GLGetProcAddress('glMinSampleShadingARB');
  8898. glBindFragDataLocationIndexed := GLGetProcAddress('glBindFragDataLocationIndexed');
  8899. glGetFragDataIndex := GLGetProcAddress('glGetFragDataIndex');
  8900. glGenSamplers := GLGetProcAddress('glGenSamplers');
  8901. glDeleteSamplers := GLGetProcAddress('glDeleteSamplers');
  8902. glIsSampler := GLGetProcAddress('glIsSampler');
  8903. glBindSampler := GLGetProcAddress('glBindSampler');
  8904. glSamplerParameteri := GLGetProcAddress('glSamplerParameteri');
  8905. glSamplerParameteriv := GLGetProcAddress('glSamplerParameteriv');
  8906. glSamplerParameterf := GLGetProcAddress('glSamplerParameterf');
  8907. glSamplerParameterfv := GLGetProcAddress('glSamplerParameterfv');
  8908. glSamplerParameterIiv := GLGetProcAddress('glSamplerParameterIiv');
  8909. glSamplerParameterIuiv := GLGetProcAddress('glSamplerParameterIuiv');
  8910. glGetSamplerParameteriv := GLGetProcAddress('glGetSamplerParameteriv');
  8911. glGetSamplerParameterIiv := GLGetProcAddress('glGetSamplerParameterIiv');
  8912. glGetSamplerParameterfv := GLGetProcAddress('glGetSamplerParameterfv');
  8913. glGetSamplerParameterIfv := GLGetProcAddress('glGetSamplerParameterIfv');
  8914. glQueryCounter := GLGetProcAddress('glQueryCounter');
  8915. glGetQueryObjecti64v := GLGetProcAddress('glGetQueryObjecti64v');
  8916. glGetQueryObjectui64v := GLGetProcAddress('glGetQueryObjectui64v');
  8917. glVertexP2ui := GLGetProcAddress('glVertexP2ui');
  8918. glVertexP2uiv := GLGetProcAddress('glVertexP2uiv');
  8919. glVertexP3ui := GLGetProcAddress('glVertexP3ui');
  8920. glVertexP3uiv := GLGetProcAddress('glVertexP3uiv');
  8921. glVertexP4ui := GLGetProcAddress('glVertexP4ui');
  8922. glVertexP4uiv := GLGetProcAddress('glVertexP4uiv');
  8923. glTexCoordP1ui := GLGetProcAddress('glTexCoordP1ui');
  8924. glTexCoordP1uiv := GLGetProcAddress('glTexCoordP1uiv');
  8925. glTexCoordP2ui := GLGetProcAddress('glTexCoordP2ui');
  8926. glTexCoordP2uiv := GLGetProcAddress('glTexCoordP2uiv');
  8927. glTexCoordP3ui := GLGetProcAddress('glTexCoordP3ui');
  8928. glTexCoordP3uiv := GLGetProcAddress('glTexCoordP3uiv');
  8929. glTexCoordP4ui := GLGetProcAddress('glTexCoordP4ui');
  8930. glTexCoordP4uiv := GLGetProcAddress('glTexCoordP4uiv');
  8931. glMultiTexCoordP1ui := GLGetProcAddress('glMultiTexCoordP1ui');
  8932. glMultiTexCoordP1uiv := GLGetProcAddress('glMultiTexCoordP1uiv');
  8933. glMultiTexCoordP2ui := GLGetProcAddress('glMultiTexCoordP2ui');
  8934. glMultiTexCoordP2uiv := GLGetProcAddress('glMultiTexCoordP2uiv');
  8935. glMultiTexCoordP3ui := GLGetProcAddress('glMultiTexCoordP3ui');
  8936. glMultiTexCoordP3uiv := GLGetProcAddress('glMultiTexCoordP3uiv');
  8937. glMultiTexCoordP4ui := GLGetProcAddress('glMultiTexCoordP4ui');
  8938. glMultiTexCoordP4uiv := GLGetProcAddress('glMultiTexCoordP4uiv');
  8939. glNormalP3ui := GLGetProcAddress('glNormalP3ui');
  8940. glNormalP3uiv := GLGetProcAddress('glNormalP3uiv');
  8941. glColorP3ui := GLGetProcAddress('glColorP3ui');
  8942. glColorP3uiv := GLGetProcAddress('glColorP3uiv');
  8943. glColorP4ui := GLGetProcAddress('glColorP4ui');
  8944. glColorP4uiv := GLGetProcAddress('glColorP4uiv');
  8945. glSecondaryColorP3ui := GLGetProcAddress('glSecondaryColorP3ui');
  8946. glSecondaryColorP3uiv := GLGetProcAddress('glSecondaryColorP3uiv');
  8947. glVertexAttribP1ui := GLGetProcAddress('glVertexAttribP1ui');
  8948. glVertexAttribP1uiv := GLGetProcAddress('glVertexAttribP1uiv');
  8949. glVertexAttribP2ui := GLGetProcAddress('glVertexAttribP2ui');
  8950. glVertexAttribP2uiv := GLGetProcAddress('glVertexAttribP2uiv');
  8951. glVertexAttribP3ui := GLGetProcAddress('glVertexAttribP3ui');
  8952. glVertexAttribP3uiv := GLGetProcAddress('glVertexAttribP3uiv');
  8953. glVertexAttribP4ui := GLGetProcAddress('glVertexAttribP4ui');
  8954. glVertexAttribP4uiv := GLGetProcAddress('glVertexAttribP4uiv');
  8955. glDrawArraysIndirect := GLGetProcAddress('glDrawArraysIndirect');
  8956. glDrawElementsIndirect := GLGetProcAddress('glDrawElementsIndirect');
  8957. glUniform1d := GLGetProcAddress('glUniform1d');
  8958. glUniform2d := GLGetProcAddress('glUniform2d');
  8959. glUniform3d := GLGetProcAddress('glUniform3d');
  8960. glUniform4d := GLGetProcAddress('glUniform4d');
  8961. glUniform1dv := GLGetProcAddress('glUniform1dv');
  8962. glUniform2dv := GLGetProcAddress('glUniform2dv');
  8963. glUniform3dv := GLGetProcAddress('glUniform3dv');
  8964. glUniform4dv := GLGetProcAddress('glUniform4dv');
  8965. glUniformMatrix2dv := GLGetProcAddress('glUniformMatrix2dv');
  8966. glUniformMatrix3dv := GLGetProcAddress('glUniformMatrix3dv');
  8967. glUniformMatrix4dv := GLGetProcAddress('glUniformMatrix4dv');
  8968. glUniformMatrix2x3dv := GLGetProcAddress('glUniformMatrix2x3dv');
  8969. glUniformMatrix2x4dv := GLGetProcAddress('glUniformMatrix2x4dv');
  8970. glUniformMatrix3x2dv := GLGetProcAddress('glUniformMatrix3x2dv');
  8971. glUniformMatrix3x4dv := GLGetProcAddress('glUniformMatrix3x4dv');
  8972. glUniformMatrix4x2dv := GLGetProcAddress('glUniformMatrix4x2dv');
  8973. glUniformMatrix4x3dv := GLGetProcAddress('glUniformMatrix4x3dv');
  8974. glGetUniformdv := GLGetProcAddress('glGetUniformdv');
  8975. glProgramUniform1dEXT := GLGetProcAddress('glProgramUniform1dEXT');
  8976. glProgramUniform2dEXT := GLGetProcAddress('glProgramUniform2dEXT');
  8977. glProgramUniform3dEXT := GLGetProcAddress('glProgramUniform3dEXT');
  8978. glProgramUniform4dEXT := GLGetProcAddress('glProgramUniform4dEXT');
  8979. glProgramUniform1dvEXT := GLGetProcAddress('glProgramUniform1dvEXT');
  8980. glProgramUniform2dvEXT := GLGetProcAddress('glProgramUniform2dvEXT');
  8981. glProgramUniform3dvEXT := GLGetProcAddress('glProgramUniform3dvEXT');
  8982. glProgramUniform4dvEXT := GLGetProcAddress('glProgramUniform4dvEXT');
  8983. glProgramUniformMatrix2dvEXT := GLGetProcAddress('glProgramUniformMatrix2dvEXT');
  8984. glProgramUniformMatrix3dvEXT := GLGetProcAddress('glProgramUniformMatrix3dvEXT');
  8985. glProgramUniformMatrix4dvEXT := GLGetProcAddress('glProgramUniformMatrix4dvEXT');
  8986. glProgramUniformMatrix2x3dvEXT := GLGetProcAddress('glProgramUniformMatrix2x3dvEXT');
  8987. glProgramUniformMatrix2x4dvEXT := GLGetProcAddress('glProgramUniformMatrix2x4dvEXT');
  8988. glProgramUniformMatrix3x2dvEXT := GLGetProcAddress('glProgramUniformMatrix3x2dvEXT');
  8989. glProgramUniformMatrix3x4dvEXT := GLGetProcAddress('glProgramUniformMatrix3x4dvEXT');
  8990. glProgramUniformMatrix4x2dvEXT := GLGetProcAddress('glProgramUniformMatrix4x2dvEXT');
  8991. glProgramUniformMatrix4x3dvEXT := GLGetProcAddress('glProgramUniformMatrix4x3dvEXT');
  8992. glGetSubroutineUniformLocation := GLGetProcAddress('glGetSubroutineUniformLocation');
  8993. glGetSubroutineIndex := GLGetProcAddress('glGetSubroutineIndex');
  8994. glGetActiveSubroutineUniformiv := GLGetProcAddress('glGetActiveSubroutineUniformiv');
  8995. glGetActiveSubroutineUniformName := GLGetProcAddress('glGetActiveSubroutineUniformName');
  8996. glGetActiveSubroutineName := GLGetProcAddress('glGetActiveSubroutineName');
  8997. glUniformSubroutinesuiv := GLGetProcAddress('glUniformSubroutinesuiv');
  8998. glGetUniformSubroutineuiv := GLGetProcAddress('glGetUniformSubroutineuiv');
  8999. glGetProgramStageiv := GLGetProcAddress('glGetProgramStageiv');
  9000. glPatchParameteri := GLGetProcAddress('glPatchParameteri');
  9001. glPatchParameterfv := GLGetProcAddress('glPatchParameterfv');
  9002. glBindTransformFeedback := GLGetProcAddress('glBindTransformFeedback');
  9003. glDeleteTransformFeedbacks := GLGetProcAddress('glDeleteTransformFeedbacks');
  9004. glGenTransformFeedbacks := GLGetProcAddress('glGenTransformFeedbacks');
  9005. glIsTransformFeedback := GLGetProcAddress('glIsTransformFeedback');
  9006. glPauseTransformFeedback := GLGetProcAddress('glPauseTransformFeedback');
  9007. glResumeTransformFeedback := GLGetProcAddress('glResumeTransformFeedback');
  9008. glDrawTransformFeedback := GLGetProcAddress('glDrawTransformFeedback');
  9009. glDrawTransformFeedbackStream := GLGetProcAddress('glDrawTransformFeedbackStream');
  9010. glBeginQueryIndexed := GLGetProcAddress('glBeginQueryIndexed');
  9011. glEndQueryIndexed := GLGetProcAddress('glEndQueryIndexed');
  9012. glGetQueryIndexediv := GLGetProcAddress('glGetQueryIndexediv');
  9013. {
  9014. glReleaseShaderCompiler := GLGetProcAddress('glReleaseShaderCompiler');
  9015. glShaderBinary := GLGetProcAddress('glShaderBinary');
  9016. glGetShaderPrecisionFormat := GLGetProcAddress('glGetShaderPrecisionFormat');
  9017. glDepthRangef := GLGetProcAddress('glDepthRangef');
  9018. glClearDepthf := GLGetProcAddress('glClearDepthf');
  9019. glGetProgramBinary := GLGetProcAddress('glGetProgramBinary');
  9020. glProgramBinary := GLGetProcAddress('glProgramBinary');
  9021. glProgramParameteri := GLGetProcAddress('glProgramParameteri');
  9022. glUseProgramStages := GLGetProcAddress('glUseProgramStages');
  9023. glActiveShaderProgram := GLGetProcAddress('glActiveShaderProgram');
  9024. glCreateShaderProgramv := GLGetProcAddress('glCreateShaderProgramv');
  9025. glBindProgramPipeline := GLGetProcAddress('glBindProgramPipeline');
  9026. glDeleteProgramPipelines := GLGetProcAddress('glDeleteProgramPipelines');
  9027. glGenProgramPipelines := GLGetProcAddress('glGenProgramPipelines');
  9028. glIsProgramPipeline := GLGetProcAddress('glIsProgramPipeline');
  9029. glGetProgramPipelineiv := GLGetProcAddress('glGetProgramPipelineiv');
  9030. glProgramUniform1i := GLGetProcAddress('glProgramUniform1i');
  9031. glProgramUniform1iv := GLGetProcAddress('glProgramUniform1iv');
  9032. glProgramUniform1f := GLGetProcAddress('glProgramUniform1f');
  9033. glProgramUniform1fv := GLGetProcAddress('glProgramUniform1fv');
  9034. glProgramUniform1d := GLGetProcAddress('glProgramUniform1d');
  9035. glProgramUniform1dv := GLGetProcAddress('glProgramUniform1dv');
  9036. glProgramUniform1ui := GLGetProcAddress('glProgramUniform1ui');
  9037. glProgramUniform1uiv := GLGetProcAddress('glProgramUniform1uiv');
  9038. glProgramUniform2i := GLGetProcAddress('glProgramUniform2i');
  9039. glProgramUniform2iv := GLGetProcAddress('glProgramUniform2iv');
  9040. glProgramUniform2f := GLGetProcAddress('glProgramUniform2f');
  9041. glProgramUniform2fv := GLGetProcAddress('glProgramUniform2fv');
  9042. glProgramUniform2d := GLGetProcAddress('glProgramUniform2d');
  9043. glProgramUniform2dv := GLGetProcAddress('glProgramUniform2dv');
  9044. glProgramUniform2ui := GLGetProcAddress('glProgramUniform2ui');
  9045. glProgramUniform2uiv := GLGetProcAddress('glProgramUniform2uiv');
  9046. glProgramUniform3i := GLGetProcAddress('glProgramUniform3i');
  9047. glProgramUniform3iv := GLGetProcAddress('glProgramUniform3iv');
  9048. glProgramUniform3f := GLGetProcAddress('glProgramUniform3f');
  9049. glProgramUniform3fv := GLGetProcAddress('glProgramUniform3fv');
  9050. glProgramUniform3d := GLGetProcAddress('glProgramUniform3d');
  9051. glProgramUniform3dv := GLGetProcAddress('glProgramUniform3dv');
  9052. glProgramUniform3ui := GLGetProcAddress('glProgramUniform3ui');
  9053. glProgramUniform3uiv := GLGetProcAddress('glProgramUniform3uiv');
  9054. glProgramUniform4i := GLGetProcAddress('glProgramUniform4i');
  9055. glProgramUniform4iv := GLGetProcAddress('glProgramUniform4iv');
  9056. glProgramUniform4f := GLGetProcAddress('glProgramUniform4f');
  9057. glProgramUniform4fv := GLGetProcAddress('glProgramUniform4fv');
  9058. glProgramUniform4d := GLGetProcAddress('glProgramUniform4d');
  9059. glProgramUniform4dv := GLGetProcAddress('glProgramUniform4dv');
  9060. glProgramUniform4ui := GLGetProcAddress('glProgramUniform4ui');
  9061. glProgramUniform4uiv := GLGetProcAddress('glProgramUniform4uiv');
  9062. glProgramUniformMatrix2fv := GLGetProcAddress('glProgramUniformMatrix2fv');
  9063. glProgramUniformMatrix3fv := GLGetProcAddress('glProgramUniformMatrix3fv');
  9064. glProgramUniformMatrix4fv := GLGetProcAddress('glProgramUniformMatrix4fv');
  9065. glProgramUniformMatrix2dv := GLGetProcAddress('glProgramUniformMatrix2dv');
  9066. glProgramUniformMatrix3dv := GLGetProcAddress('glProgramUniformMatrix3dv');
  9067. glProgramUniformMatrix4dv := GLGetProcAddress('glProgramUniformMatrix4dv');
  9068. glProgramUniformMatrix2x3fv := GLGetProcAddress('glProgramUniformMatrix2x3fv');
  9069. glProgramUniformMatrix3x2fv := GLGetProcAddress('glProgramUniformMatrix3x2fv');
  9070. glProgramUniformMatrix2x4fv := GLGetProcAddress('glProgramUniformMatrix2x4fv');
  9071. glProgramUniformMatrix4x2fv := GLGetProcAddress('glProgramUniformMatrix4x2fv');
  9072. glProgramUniformMatrix3x4fv := GLGetProcAddress('glProgramUniformMatrix3x4fv');
  9073. glProgramUniformMatrix4x3fv := GLGetProcAddress('glProgramUniformMatrix4x3fv');
  9074. glProgramUniformMatrix2x3dv := GLGetProcAddress('glProgramUniformMatrix2x3dv');
  9075. glProgramUniformMatrix3x2dv := GLGetProcAddress('glProgramUniformMatrix3x2dv');
  9076. glProgramUniformMatrix2x4dv := GLGetProcAddress('glProgramUniformMatrix2x4dv');
  9077. glProgramUniformMatrix4x2dv := GLGetProcAddress('glProgramUniformMatrix4x2dv');
  9078. glProgramUniformMatrix3x4dv := GLGetProcAddress('glProgramUniformMatrix3x4dv');
  9079. glProgramUniformMatrix4x3dv := GLGetProcAddress('glProgramUniformMatrix4x3dv');
  9080. glValidateProgramPipeline := GLGetProcAddress('glValidateProgramPipeline');
  9081. glGetProgramPipelineInfoLog := GLGetProcAddress('glGetProgramPipelineInfoLog');
  9082. glVertexAttribL1d := GLGetProcAddress('glVertexAttribL1d');
  9083. glVertexAttribL2d := GLGetProcAddress('glVertexAttribL2d');
  9084. glVertexAttribL3d := GLGetProcAddress('glVertexAttribL3d');
  9085. glVertexAttribL4d := GLGetProcAddress('glVertexAttribL4d');
  9086. glVertexAttribL1dv := GLGetProcAddress('glVertexAttribL1dv');
  9087. glVertexAttribL2dv := GLGetProcAddress('glVertexAttribL2dv');
  9088. glVertexAttribL3dv := GLGetProcAddress('glVertexAttribL3dv');
  9089. glVertexAttribL4dv := GLGetProcAddress('glVertexAttribL4dv');
  9090. glVertexAttribLPointer := GLGetProcAddress('glVertexAttribLPointer');
  9091. glGetVertexAttribLdv := GLGetProcAddress('glGetVertexAttribLdv');
  9092. glVertexArrayVertexAttribLOffsetEXT := GLGetProcAddress('glVertexArrayVertexAttribLOffsetEXT');
  9093. glViewportArrayv := GLGetProcAddress('glViewportArrayv');
  9094. glViewportIndexedf := GLGetProcAddress('glViewportIndexedf');
  9095. glViewportIndexedfv := GLGetProcAddress('glViewportIndexedfv');
  9096. glScissorArrayv := GLGetProcAddress('glScissorArrayv');
  9097. glScissorIndexed := GLGetProcAddress('glScissorIndexed');
  9098. glScissorIndexedv := GLGetProcAddress('glScissorIndexedv');
  9099. glDepthRangeArrayv := GLGetProcAddress('glDepthRangeArrayv');
  9100. glDepthRangeIndexed := GLGetProcAddress('glDepthRangeIndexed');
  9101. glGetFloati_v := GLGetProcAddress('glGetFloati_v');
  9102. glGetDoublei_v := GLGetProcAddress('glGetDoublei_v');
  9103. glDebugMessageControlARB := GLGetProcAddress('glDebugMessageControlARB');
  9104. glDebugMessageInsertARB := GLGetProcAddress('glDebugMessageInsertARB');
  9105. glDebugMessageCallbackARB := GLGetProcAddress('glDebugMessageCallbackARB');
  9106. glGetDebugMessageLogARB := GLGetProcAddress('glGetDebugMessageLogARB');
  9107. glGetGraphicsResetStatusARB := GLGetProcAddress('glGetGraphicsResetStatusARB');
  9108. glGetnMapdvARB := GLGetProcAddress('glGetnMapdvARB');
  9109. glGetnMapfvARB := GLGetProcAddress('glGetnMapfvARB');
  9110. glGetnMapivARB := GLGetProcAddress('glGetnMapivARB');
  9111. glGetnPixelMapfvARB := GLGetProcAddress('glGetnPixelMapfvARB');
  9112. glGetnPixelMapuivARB := GLGetProcAddress('glGetnPixelMapuivARB');
  9113. glGetnPixelMapusvARB := GLGetProcAddress('glGetnPixelMapusvARB');
  9114. glGetnPolygonStippleARB := GLGetProcAddress('glGetnPolygonStippleARB');
  9115. glGetnColorTableARB := GLGetProcAddress('glGetnColorTableARB');
  9116. glGetnConvolutionFilterARB := GLGetProcAddress('glGetnConvolutionFilterARB');
  9117. glGetnSeparableFilterARB := GLGetProcAddress('glGetnSeparableFilterARB');
  9118. glGetnHistogramARB := GLGetProcAddress('glGetnHistogramARB');
  9119. glGetnMinmaxARB := GLGetProcAddress('glGetnMinmaxARB');
  9120. glGetnTexImageARB := GLGetProcAddress('glGetnTexImageARB');
  9121. glReadnPixelsARB := GLGetProcAddress('glReadnPixelsARB');
  9122. glGetnCompressedTexImageARB := GLGetProcAddress('glGetnCompressedTexImageARB');
  9123. glGetnUniformfvARB := GLGetProcAddress('glGetnUniformfvARB');
  9124. glGetnUniformivARB := GLGetProcAddress('glGetnUniformivARB');
  9125. glGetnUniformuivARB := GLGetProcAddress('glGetnUniformuivARB');
  9126. glGetnUniformdvARB := GLGetProcAddress('glGetnUniformdvARB');
  9127. }
  9128. glSamplePassARB := GLGetProcAddress('glSamplePassARB');
  9129. glArrayElementArrayEXT := GLGetProcAddress('glArrayElementArrayEXT');
  9130. glAddSwapHintRectWIN := GLGetProcAddress('glAddSwapHintRectWIN');
  9131. glBlendColorEXT := GLGetProcAddress('glBlendColorEXT');
  9132. glPolygonOffsetEXT := GLGetProcAddress('glPolygonOffsetEXT');
  9133. glTexImage3DEXT := GLGetProcAddress('glTexImage3DEXT');
  9134. glTexSubImage1dEXT := GLGetProcAddress('glTexSubImage1DEXT');
  9135. glTexSubImage2dEXT := GLGetProcAddress('glTexSubImage2DEXT');
  9136. glTexSubImage3dEXT := GLGetProcAddress('glTexSubImage3DEXT');
  9137. glCopyTexImage1DEXT := GLGetProcAddress('glCopyTexImage1DEXT');
  9138. glCopyTexImage2DEXT := GLGetProcAddress('glCopyTexImage2DEXT');
  9139. glCopyTexSubImage1DEXT := GLGetProcAddress('glCopyTexSubImage1DEXT');
  9140. glCopyTexSubImage2DEXT := GLGetProcAddress('glCopyTexSubImage2DEXT');
  9141. glCopyTexSubImage3DEXT := GLGetProcAddress('glCopyTexSubImage3DEXT');
  9142. glGenTexturesEXT := GLGetProcAddress('glGenTexturesEXT');
  9143. glDeleteTexturesEXT := GLGetProcAddress('glDeleteTexturesEXT');
  9144. glBindTextureEXT := GLGetProcAddress('glBindTextureEXT');
  9145. glPrioritizeTexturesEXT := GLGetProcAddress('glPrioritizeTexturesEXT');
  9146. glAreTexturesResidentEXT := GLGetProcAddress('glAreTexturesResidentEXT');
  9147. glIsTextureEXT := GLGetProcAddress('glIsTextureEXT');
  9148. glSampleMaskSGIS := GLGetProcAddress('glSampleMaskSGIS');
  9149. glSamplePatternSGIS := GLGetProcAddress('glSamplePatternSGIS');
  9150. glBlendEquationEXT := GLGetProcAddress('glBlendEquationEXT');
  9151. glColorTableEXT := GLGetProcAddress('glColorTableEXT');
  9152. glColorSubTableEXT := GLGetProcAddress('glColorSubTableEXT');
  9153. glGetColorTableEXT := GLGetProcAddress('glGetColorTableEXT');
  9154. glGetColorTableParameterivEXT := GLGetProcAddress('glGetColorTableParameterivEXT');
  9155. glGetColorTableParameterfvEXT := GLGetProcAddress('glGetColorTableParameterfvEXT');
  9156. glIndexMaterialEXT := GLGetProcAddress('glIndexMaterialEXT');
  9157. glIndexFuncEXT := GLGetProcAddress('glIndexFuncEXT');
  9158. glLockArraysEXT := GLGetProcAddress('glLockArraysEXT');
  9159. glUnlockArraysEXT := GLGetProcAddress('glUnlockArraysEXT');
  9160. glDrawRangeElementsEXT := GLGetProcAddress('glDrawRangeElementsEXT');
  9161. glSecondaryColor3bEXT := GLGetProcAddress('glSecondaryColor3bEXT');
  9162. glSecondaryColor3bvEXT := GLGetProcAddress('glSecondaryColor3bvEXT');
  9163. glSecondaryColor3dEXT := GLGetProcAddress('glSecondaryColor3dEXT');
  9164. glSecondaryColor3dvEXT := GLGetProcAddress('glSecondaryColor3dvEXT');
  9165. glSecondaryColor3fEXT := GLGetProcAddress('glSecondaryColor3fEXT');
  9166. glSecondaryColor3fvEXT := GLGetProcAddress('glSecondaryColor3fvEXT');
  9167. glSecondaryColor3iEXT := GLGetProcAddress('glSecondaryColor3iEXT');
  9168. glSecondaryColor3ivEXT := GLGetProcAddress('glSecondaryColor3ivEXT');
  9169. glSecondaryColor3sEXT := GLGetProcAddress('glSecondaryColor3sEXT');
  9170. glSecondaryColor3svEXT := GLGetProcAddress('glSecondaryColor3svEXT');
  9171. glSecondaryColor3ubEXT := GLGetProcAddress('glSecondaryColor3ubEXT');
  9172. glSecondaryColor3ubvEXT := GLGetProcAddress('glSecondaryColor3ubvEXT');
  9173. glSecondaryColor3uiEXT := GLGetProcAddress('glSecondaryColor3uiEXT');
  9174. glSecondaryColor3uivEXT := GLGetProcAddress('glSecondaryColor3uivEXT');
  9175. glSecondaryColor3usEXT := GLGetProcAddress('glSecondaryColor3usEXT');
  9176. glSecondaryColor3usvEXT := GLGetProcAddress('glSecondaryColor3usvEXT');
  9177. glSecondaryColorPointerEXT := GLGetProcAddress('glSecondaryColorPointerEXT');
  9178. glMultiDrawArraysEXT := GLGetProcAddress('glMultiDrawArraysEXT');
  9179. glMultiDrawElementsEXT := GLGetProcAddress('glMultiDrawElementsEXT');
  9180. glFogCoordfEXT := GLGetProcAddress('glFogCoordfEXT');
  9181. glFogCoordfvEXT := GLGetProcAddress('glFogCoordfvEXT');
  9182. glFogCoorddEXT := GLGetProcAddress('glFogCoorddEXT');
  9183. glFogCoorddvEXT := GLGetProcAddress('glFogCoorddvEXT');
  9184. glFogCoordPointerEXT := GLGetProcAddress('glFogCoordPointerEXT');
  9185. glBlendFuncSeparateEXT := GLGetProcAddress('glBlendFuncSeparateEXT');
  9186. glFlushVertexArrayRangeNV := GLGetProcAddress('glFlushVertexArrayRangeNV');
  9187. glVertexArrayRangeNV := GLGetProcAddress('glVertexArrayRangeNV');
  9188. wglAllocateMemoryNV := GLGetProcAddress('wglAllocateMemoryNV');
  9189. wglFreeMemoryNV := GLGetProcAddress('wglFreeMemoryNV');
  9190. glCombinerParameterfvNV := GLGetProcAddress('glCombinerParameterfvNV');
  9191. glCombinerParameterfNV := GLGetProcAddress('glCombinerParameterfNV');
  9192. glCombinerParameterivNV := GLGetProcAddress('glCombinerParameterivNV');
  9193. glCombinerParameteriNV := GLGetProcAddress('glCombinerParameteriNV');
  9194. glCombinerInputNV := GLGetProcAddress('glCombinerInputNV');
  9195. glCombinerOutputNV := GLGetProcAddress('glCombinerOutputNV');
  9196. glFinalCombinerInputNV := GLGetProcAddress('glFinalCombinerInputNV');
  9197. glGetCombinerInputParameterfvNV := GLGetProcAddress('glGetCombinerInputParameterfvNV');
  9198. glGetCombinerInputParameterivNV := GLGetProcAddress('glGetCombinerInputParameterivNV');
  9199. glGetCombinerOutputParameterfvNV := GLGetProcAddress('glGetCombinerOutputParameterfvNV');
  9200. glGetCombinerOutputParameterivNV := GLGetProcAddress('glGetCombinerOutputParameterivNV');
  9201. glGetFinalCombinerInputParameterfvNV := GLGetProcAddress('glGetFinalCombinerInputParameterfvNV');
  9202. glGetFinalCombinerInputParameterivNV := GLGetProcAddress('glGetFinalCombinerInputParameterivNV');
  9203. glResizeBuffersMESA := GLGetProcAddress('glResizeBuffersMESA');
  9204. glTbufferMask3DFX := GLGetProcAddress('glTbufferMask3DFX');
  9205. glSampleMaskEXT := GLGetProcAddress('glSampleMaskEXT');
  9206. glSamplePatternEXT := GLGetProcAddress('glSamplePatternEXT');
  9207. glTextureColorMaskSGIS := GLGetProcAddress('glTextureColorMaskSGIS');
  9208. glGenFencesNV := GLGetProcAddress('glGenFencesNV');
  9209. glDeleteFencesNV := GLGetProcAddress('glDeleteFencesNV');
  9210. glSetFenceNV := GLGetProcAddress('glSetFenceNV');
  9211. glTestFenceNV := GLGetProcAddress('glTestFenceNV');
  9212. glFinishFenceNV := GLGetProcAddress('glFinishFenceNV');
  9213. glIsFenceNV := GLGetProcAddress('glIsFenceNV');
  9214. glGetFenceivNV := GLGetProcAddress('glGetFenceivNV');
  9215. glAreProgramsResidentNV := GLGetProcAddress('glAreProgramsResidentNV');
  9216. glBindProgramNV := GLGetProcAddress('glBindProgramNV');
  9217. glDeleteProgramsNV := GLGetProcAddress('glDeleteProgramsNV');
  9218. glExecuteProgramNV := GLGetProcAddress('glExecuteProgramNV');
  9219. glGenProgramsNV := GLGetProcAddress('glGenProgramsNV');
  9220. glGetProgramParameterdvNV := GLGetProcAddress('glGetProgramParameterdvNV');
  9221. glGetProgramParameterfvNV := GLGetProcAddress('glGetProgramParameterfvNV');
  9222. glGetProgramivNV := GLGetProcAddress('glGetProgramivNV');
  9223. glGetProgramStringNV := GLGetProcAddress('glGetProgramStringNV');
  9224. glGetTrackMatrixivNV := GLGetProcAddress('glGetTrackMatrixivNV');
  9225. glGetVertexAttribdvNV:= GLGetProcAddress('glGetVertexAttribdvNV');
  9226. glGetVertexAttribfvNV:= GLGetProcAddress('glGetVertexAttribfvNV');
  9227. glGetVertexAttribivNV:= GLGetProcAddress('glGetVertexAttribivNV');
  9228. glGetVertexAttribPointervNV := GLGetProcAddress ('glGetVertexAttribPointervNV');
  9229. glIsProgramNV := GLGetProcAddress('glIsProgramNV');
  9230. glLoadProgramNV := GLGetProcAddress('glLoadProgramNV');
  9231. glProgramParameter4dNV := GLGetProcAddress('glProgramParameter4dNV');
  9232. glProgramParameter4dvNV := GLGetProcAddress('glProgramParameter4dvNV');
  9233. glProgramParameter4fNV := GLGetProcAddress('glProgramParameter4fNV');
  9234. glProgramParameter4fvNV := GLGetProcAddress('glProgramParameter4fvNV');
  9235. glProgramParameters4dvNV := GLGetProcAddress ('glProgramParameters4dvNV');
  9236. glProgramParameters4fvNV := GLGetProcAddress ('glProgramParameters4fvNV');
  9237. glRequestResidentProgramsNV := GLGetProcAddress ('glRequestResidentProgramsNV');
  9238. glTrackMatrixNV := GLGetProcAddress('glTrackMatrixNV');
  9239. glVertexAttribPointerNV := GLGetProcAddress('glVertexAttribPointerNV');
  9240. glVertexAttrib1dNV := GLGetProcAddress('glVertexAttrib1dNV');
  9241. glVertexAttrib1dvNV := GLGetProcAddress('glVertexAttrib1dvNV');
  9242. glVertexAttrib1fNV := GLGetProcAddress('glVertexAttrib1fNV');
  9243. glVertexAttrib1fvNV := GLGetProcAddress('glVertexAttrib1fvNV');
  9244. glVertexAttrib1sNV := GLGetProcAddress('glVertexAttrib1sNV');
  9245. glVertexAttrib1svNV := GLGetProcAddress('glVertexAttrib1svNV');
  9246. glVertexAttrib2dNV := GLGetProcAddress('glVertexAttrib2dNV');
  9247. glVertexAttrib2dvNV := GLGetProcAddress('glVertexAttrib2dvNV');
  9248. glVertexAttrib2fNV := GLGetProcAddress('glVertexAttrib2fNV');
  9249. glVertexAttrib2fvNV := GLGetProcAddress('glVertexAttrib2fvNV');
  9250. glVertexAttrib2sNV := GLGetProcAddress('glVertexAttrib2sNV');
  9251. glVertexAttrib2svNV := GLGetProcAddress('glVertexAttrib2svNV');
  9252. glVertexAttrib3dNV := GLGetProcAddress('glVertexAttrib3dNV');
  9253. glVertexAttrib3dvNV := GLGetProcAddress('glVertexAttrib3dvNV');
  9254. glVertexAttrib3fNV := GLGetProcAddress('glVertexAttrib3fNV');
  9255. glVertexAttrib3fvNV := GLGetProcAddress('glVertexAttrib3fvNV');
  9256. glVertexAttrib3sNV := GLGetProcAddress('glVertexAttrib3sNV');
  9257. glVertexAttrib3svNV := GLGetProcAddress('glVertexAttrib3svNV');
  9258. glVertexAttrib4dNV := GLGetProcAddress('glVertexAttrib4dNV');
  9259. glVertexAttrib4dvNV := GLGetProcAddress('glVertexAttrib4dvNV');
  9260. glVertexAttrib4fNV := GLGetProcAddress('glVertexAttrib4fNV');
  9261. glVertexAttrib4fvNV := GLGetProcAddress('glVertexAttrib4fvNV');
  9262. glVertexAttrib4sNV := GLGetProcAddress('glVertexAttrib4sNV');
  9263. glVertexAttrib4svNV := GLGetProcAddress('glVertexAttrib4svNV');
  9264. glVertexAttrib4ubvNV := GLGetProcAddress('glVertexAttrib4ubvNV');
  9265. glVertexAttribs1dvNV := GLGetProcAddress('glVertexAttribs1dvNV');
  9266. glVertexAttribs1fvNV := GLGetProcAddress('glVertexAttribs1fvNV');
  9267. glVertexAttribs1svNV := GLGetProcAddress('glVertexAttribs1svNV');
  9268. glVertexAttribs2dvNV := GLGetProcAddress('glVertexAttribs2dvNV');
  9269. glVertexAttribs2fvNV := GLGetProcAddress('glVertexAttribs2fvNV');
  9270. glVertexAttribs2svNV := GLGetProcAddress('glVertexAttribs2svNV');
  9271. glVertexAttribs3dvNV := GLGetProcAddress('glVertexAttribs3dvNV');
  9272. glVertexAttribs3fvNV := GLGetProcAddress('glVertexAttribs3fvNV');
  9273. glVertexAttribs3svNV := GLGetProcAddress('glVertexAttribs3svNV');
  9274. glVertexAttribs4dvNV := GLGetProcAddress('glVertexAttribs4dvNV');
  9275. glVertexAttribs4fvNV := GLGetProcAddress('glVertexAttribs4fvNV');
  9276. glVertexAttribs4svNV := GLGetProcAddress('glVertexAttribs4svNV');
  9277. glVertexAttribs4ubvNV := GLGetProcAddress('glVertexAttribs4ubvN');
  9278. glGenOcclusionQueriesNV := GLGetProcAddress('glGenOcclusionQueriesNV');
  9279. glDeleteOcclusionQueriesNV := GLGetProcAddress('glDeleteOcclusionQueriesNV');
  9280. glIsOcclusionQueryNV := GLGetProcAddress('glIsOcclusionQueryNV');
  9281. glBeginOcclusionQueryNV := GLGetProcAddress('glBeginOcclusionQueryNV');
  9282. glEndOcclusionQueryNV := GLGetProcAddress('glEndOcclusionQueryNV');
  9283. glGetOcclusionQueryivNV := GLGetProcAddress('glGetOcclusionQueryivNV');
  9284. glGetOcclusionQueryuivNV := GLGetProcAddress('glGetOcclusionQueryuivNV');
  9285. glPointParameteriNV := GLGetProcAddress('glPointParameteriNV');
  9286. glPointParameterivNV := GLGetProcAddress('glPointParameterivNV');
  9287. glActiveStencilFaceEXT := GLGetProcAddress('glActiveStencilFaceEXT');
  9288. glDrawBuffersATI := GLGetProcAddress('glDrawBuffersATI');
  9289. glPrimitiveRestartNV := GLGetProcAddress('glPrimitiveRestartNV');
  9290. glPrimitiveRestartIndexNV := GLGetProcAddress('glPrimitiveRestartIndexNV');
  9291. glPrimitiveRestartIndex := GLGetProcAddress('glPrimitiveRestartIndex');
  9292. if Addr(glPrimitiveRestartIndex) = nil then
  9293. glPrimitiveRestartIndex := glPrimitiveRestartIndexNV;
  9294. glDepthBoundsEXT := GLGetProcAddress('glDepthBoundsEXT');
  9295. glBlendEquationSeparateEXT := GLGetProcAddress('glBlendEquationSeparateEXT');
  9296. glIsRenderbufferEXT := GLGetProcAddress('glIsRenderbufferEXT');
  9297. glBindRenderbufferEXT := GLGetProcAddress('glBindRenderbufferEXT');
  9298. glDeleteRenderbuffersEXT := GLGetProcAddress('glDeleteRenderbuffersEXT');
  9299. glGenRenderbuffersEXT := GLGetProcAddress('glGenRenderbuffersEXT');
  9300. glRenderbufferStorageEXT := GLGetProcAddress('glRenderbufferStorageEXT');
  9301. glGetRenderbufferParameterivEXT := GLGetProcAddress('glGetRenderbufferParameterivEXT');
  9302. glIsFramebufferEXT := GLGetProcAddress('glIsFramebufferEXT');
  9303. glBindFramebufferEXT := GLGetProcAddress('glBindFramebufferEXT');
  9304. glDeleteFramebuffersEXT := GLGetProcAddress('glDeleteFramebuffersEXT');
  9305. glGenFramebuffersEXT := GLGetProcAddress('glGenFramebuffersEXT');
  9306. glCheckFramebufferStatusEXT := GLGetProcAddress('glCheckFramebufferStatusEXT');
  9307. glFramebufferTexture1DEXT := GLGetProcAddress('glFramebufferTexture1DEXT');
  9308. glFramebufferTexture2DEXT := GLGetProcAddress('glFramebufferTexture2DEXT');
  9309. glFramebufferTexture3DEXT := GLGetProcAddress('glFramebufferTexture3DEXT');
  9310. glFramebufferRenderbufferEXT := GLGetProcAddress('glFramebufferRenderbufferEXT');
  9311. glGetFramebufferAttachmentParameterivEXT := GLGetProcAddress('glGetFramebufferAttachmentParameterivEXT');
  9312. glGenerateMipmapEXT := GLGetProcAddress('glGenerateMipmapEXT');
  9313. glStringMarkerGREMEDY := GLGetProcAddress('glStringMarkerGREMEDY');
  9314. glStencilClearTagEXT := GLGetProcAddress('glStencilClearTagEXT');
  9315. glBlitFramebufferEXT := GLGetProcAddress('glBlitFramebufferEXT');
  9316. glRenderbufferStorageMultisampleEXT := GLGetProcAddress('glRenderbufferStorageMultisampleEXT');
  9317. glGetQueryObjecti64vEXT := GLGetProcAddress('glGetQueryObjecti64vEXT');
  9318. glGetQueryObjectui64vEXT := GLGetProcAddress('glGetQueryObjectui64vEXT');
  9319. glProgramEnvParameters4fvEXT := GLGetProcAddress('glProgramEnvParameters4fvEXT');
  9320. glProgramLocalParameters4fvEXT := GLGetProcAddress('glProgramLocalParameters4fvEXT');
  9321. glProgramVertexLimitNV := GLGetProcAddress('glProgramVertexLimitNV');
  9322. glProgramParameteriEXT := GLGetProcAddress('glProgramParameteriEXT');
  9323. glFramebufferTextureEXT := GLGetProcAddress('glFramebufferTextureEXT');
  9324. glFramebufferTextureLayerEXT := GLGetProcAddress('glFramebufferTextureLayerEXT');
  9325. glFramebufferTextureFaceEXT := GLGetProcAddress('glFramebufferTextureFaceEXT');
  9326. glVertexAttribI1iEXT := GLGetProcAddress('glVertexAttribI1iEXT');
  9327. glVertexAttribI2iEXT := GLGetProcAddress('glVertexAttribI2iEXT');
  9328. glVertexAttribI3iEXT := GLGetProcAddress('glVertexAttribI3iEXT');
  9329. glVertexAttribI4iEXT := GLGetProcAddress('glVertexAttribI4iEXT');
  9330. glVertexAttribI1uiEXT := GLGetProcAddress('glVertexAttribI1uiEXT');
  9331. glVertexAttribI2uiEXT := GLGetProcAddress('glVertexAttribI2uiEXT');
  9332. glVertexAttribI3uiEXT := GLGetProcAddress('glVertexAttribI3uiEXT');
  9333. glVertexAttribI4uiEXT := GLGetProcAddress('glVertexAttribI4uiEXT');
  9334. glVertexAttribI1ivEXT := GLGetProcAddress('glVertexAttribI1ivEXT');
  9335. glVertexAttribI2ivEXT := GLGetProcAddress('glVertexAttribI2ivEXT');
  9336. glVertexAttribI3ivEXT := GLGetProcAddress('glVertexAttribI3ivEXT');
  9337. glVertexAttribI4ivEXT := GLGetProcAddress('glVertexAttribI4ivEXT');
  9338. glVertexAttribI1uivEXT := GLGetProcAddress('glVertexAttribI1uivEXT');
  9339. glVertexAttribI2uivEXT := GLGetProcAddress('glVertexAttribI2uivEXT');
  9340. glVertexAttribI3uivEXT := GLGetProcAddress('glVertexAttribI3uivEXT');
  9341. glVertexAttribI4uivEXT := GLGetProcAddress('glVertexAttribI4uivEXT');
  9342. glVertexAttribI4bvEXT := GLGetProcAddress('glVertexAttribI4bvEXT');
  9343. glVertexAttribI4svEXT := GLGetProcAddress('glVertexAttribI4svEXT');
  9344. glVertexAttribI4ubvEXT := GLGetProcAddress('glVertexAttribI4ubvEXT');
  9345. glVertexAttribI4usvEXT := GLGetProcAddress('glVertexAttribI4usvEXT');
  9346. glVertexAttribIPointerEXT := GLGetProcAddress('glVertexAttribIPointerEXT');
  9347. glGetVertexAttribIivEXT := GLGetProcAddress('glGetVertexAttribIivEXT');
  9348. glGetVertexAttribIuivEXT := GLGetProcAddress('glGetVertexAttribIuivEXT');
  9349. glUniform1uiEXT := GLGetProcAddress('glUniform1uiEXT');
  9350. glUniform2uiEXT := GLGetProcAddress('glUniform2uiEXT');
  9351. glUniform3uiEXT := GLGetProcAddress('glUniform3uiEXT');
  9352. glUniform4uiEXT := GLGetProcAddress('glUniform4uiEXT');
  9353. glUniform1uivEXT := GLGetProcAddress('glUniform1uivEXT');
  9354. glUniform2uivEXT := GLGetProcAddress('glUniform2uivEXT');
  9355. glUniform3uivEXT := GLGetProcAddress('glUniform3uivEXT');
  9356. glUniform4uivEXT := GLGetProcAddress('glUniform4uivEXT');
  9357. glGetUniformuivEXT := GLGetProcAddress('glGetUniformuivEXT');
  9358. glBindFragDataLocationEXT := GLGetProcAddress('glBindFragDataLocationEXT');
  9359. glGetFragDataLocationEXT := GLGetProcAddress('glGetFragDataLocationEXT');
  9360. glDrawArraysInstancedEXT := GLGetProcAddress('glDrawArraysInstancedEXT');
  9361. glDrawElementsInstancedEXT := GLGetProcAddress('glDrawElementsInstancedEXT');
  9362. // glFramebufferTextureLayerEXT:= GLGetProcAddress('glFramebufferTextureLayerEXT');
  9363. glTexBufferEXT := GLGetProcAddress('glTexBufferEXT');
  9364. glColorMaskIndexedEXT := GLGetProcAddress('glColorMaskIndexedEXT');
  9365. glGetBooleanIndexedvEXT := GLGetProcAddress('glGetBooleanIndexedvEXT');
  9366. glGetIntegerIndexedvEXT:= GLGetProcAddress('glGetIntegerIndexedvEXT');
  9367. glEnableIndexedEXT:= GLGetProcAddress('glEnableIndexedEXT');
  9368. glDisableIndexedEXT:= GLGetProcAddress('glDisableIndexedEXT');
  9369. glIsEnabledIndexedEXT:= GLGetProcAddress('glIsEnabledIndexedEXT');
  9370. glBindBufferRangeNV := GLGetProcAddress('glBindBufferRangeNV');
  9371. glBindBufferOffsetNV := GLGetProcAddress('glBindBufferOffsetNV');
  9372. glBindBufferBaseNV := GLGetProcAddress('glBindBufferBaseNV');
  9373. glTransformFeedbackAttribsNV := GLGetProcAddress('glTransformFeedbackAttribsNV');
  9374. glTransformFeedbackVaryingsNV := GLGetProcAddress('glTransformFeedbackVaryingsNV');
  9375. glBeginTransformFeedbackNV := GLGetProcAddress('glBeginTransformFeedbackNV');
  9376. glEndTransformFeedbackNV := GLGetProcAddress('glEndTransformFeedbackNV');
  9377. glGetVaryingLocationNV := GLGetProcAddress('glGetVaryingLocationNV');
  9378. glGetActiveVaryingNV := GLGetProcAddress('glGetActiveVaryingNV');
  9379. glActiveVaryingNV := GLGetProcAddress('glActiveVaryingNV');
  9380. glGetTransformFeedbackVaryingNV := GLGetProcAddress('glGetTransformFeedbackVaryingNV');
  9381. glUniformBufferEXT := GLGetProcAddress('glUniformBufferEXT');
  9382. glGetUniformBufferSizeEXT := GLGetProcAddress('glGetUniformBufferSizeEXT');
  9383. glGetUniformOffsetEXT := GLGetProcAddress('glGetUniformOffsetEXT');
  9384. glClearColorIiEXT := GLGetProcAddress('glClearColorIiEXT');
  9385. glClearColorIuiEXT := GLGetProcAddress('glClearColorIuiEXT');
  9386. glTexParameterIivEXT := GLGetProcAddress('glTexParameterIivEXT');
  9387. glTexParameterIuivEXT := GLGetProcAddress('glTexParameterIuivEXT');
  9388. glGetTexParameterIivEXT := GLGetProcAddress('glGetTexParameterIivEXT');
  9389. glGetTexParameterIuivEXT := GLGetProcAddress('glGetTexParameterIuivEXT');
  9390. glFrameTerminatorGREMEDY := GLGetProcAddress('glFrameTerminatorGREMEDY');
  9391. glBeginConditionalRenderNV := GLGetProcAddress('glBeginConditionalRenderNV');
  9392. glEndConditionalRenderNV := GLGetProcAddress('glEndConditionalRenderNV');
  9393. glBindBufferRangeEXT := GLGetProcAddress('glBindBufferRangeEXT');
  9394. glBindBufferOffsetEXT := GLGetProcAddress('glBindBufferOffsetEXT');
  9395. glBindBufferBaseEXT := GLGetProcAddress('glBindBufferBaseEXT');
  9396. glBeginTransformFeedbackEXT := GLGetProcAddress('glBeginTransformFeedbackEXT');
  9397. glEndTransformFeedbackEXT := GLGetProcAddress('glEndTransformFeedbackEXT');
  9398. glTransformFeedbackVaryingsEXT := GLGetProcAddress('glTransformFeedbackVaryingsEXT');
  9399. glGetTransformFeedbackVaryingEXT:= GLGetProcAddress('glGetTransformFeedbackVaryingEXT');
  9400. glTessellationFactorAMD := GLGetProcAddress('glTessellationFactorAMD');
  9401. glTessellationModeAMD := GLGetProcAddress('glTessellationModeAMD');
  9402. glCopyImageSubDataNV := GLGetProcAddress('glCopyImageSubDataNV');
  9403. glMakeBufferResidentNV := GLGetProcAddress('glMakeBufferResidentNV');
  9404. glMakeBufferNonResidentNV := GLGetProcAddress('glMakeBufferNonResidentNV');
  9405. glIsBufferResidentNV := GLGetProcAddress('glIsBufferResidentNV');
  9406. glMakeNamedBufferResidentNV := GLGetProcAddress('glMakeNamedBufferResidentNV');
  9407. glMakeNamedBufferNonResidentNV := GLGetProcAddress('glMakeNamedBufferNonResidentNV');
  9408. glIsNamedBufferResidentNV := GLGetProcAddress('glIsNamedBufferResidentNV');
  9409. glGetBufferParameterui64vNV := GLGetProcAddress('glGetBufferParameterui64vNV');
  9410. glGetNamedBufferParameterui64vNV := GLGetProcAddress('glGetNamedBufferParameterui64vNV');
  9411. glGetIntegerui64vNV := GLGetProcAddress('glGetIntegerui64vNV');
  9412. glUniformui64NV := GLGetProcAddress('glUniformui64NV');
  9413. glUniformui64vNV := GLGetProcAddress('glUniformui64vNV');
  9414. glGetUniformui64vNV := GLGetProcAddress('glGetUniformui64vNV');
  9415. glProgramUniformui64NV := GLGetProcAddress('glProgramUniformui64NV');
  9416. glProgramUniformui64vNV := GLGetProcAddress('glProgramUniformui64vNV');
  9417. glBufferAddressRangeNV := GLGetProcAddress('glBufferAddressRangeNV');
  9418. glVertexFormatNV := GLGetProcAddress('glVertexFormatNV');
  9419. glNormalFormatNV := GLGetProcAddress('glNormalFormatNV');
  9420. glColorFormatNV := GLGetProcAddress('glColorFormatNV');
  9421. glIndexFormatNV := GLGetProcAddress('glIndexFormatNV');
  9422. glTexCoordFormatNV := GLGetProcAddress('glTexCoordFormatNV');
  9423. glEdgeFlagFormatNV := GLGetProcAddress('glEdgeFlagFormatNV');
  9424. glSecondaryColorFormatNV := GLGetProcAddress('glSecondaryColorFormatNV');
  9425. glFogCoordFormatNV := GLGetProcAddress('glFogCoordFormatNV');
  9426. glVertexAttribFormatNV := GLGetProcAddress('glVertexAttribFormatNV');
  9427. glVertexAttribIFormatNV := GLGetProcAddress('glVertexAttribIFormatNV');
  9428. glGetIntegerui64i_vNV := GLGetProcAddress('glGetIntegerui64i_vNV');
  9429. //------ locate functions/procedures for Windows OpenGL (WGL) extensions -------
  9430. {$IFDEF SUPPORT_WGL}
  9431. ReadWGLExtensions;
  9432. {$ENDIF}
  9433. //------------------- locate functions/procedures for GLX extensions -----------
  9434. {$IFDEF SUPPORT_GLX}
  9435. ReadGLXExtensions;
  9436. {$ENDIF}
  9437. end;
  9438. {$IFDEF SUPPORT_WGL}
  9439. // ReadWGLExtensions
  9440. //
  9441. procedure ReadWGLExtensions;
  9442. begin
  9443. wglCreateBufferRegionARB := GLGetProcAddress('wglCreateBufferRegionARB');
  9444. wglDeleteBufferRegionARB := GLGetProcAddress('wglDeleteBufferRegionARB');
  9445. wglSaveBufferRegionARB := GLGetProcAddress('wglSaveBufferRegionARB');
  9446. wglRestoreBufferRegionARB := GLGetProcAddress('wglRestoreBufferRegionARB');
  9447. wglGetExtensionsStringARB := GLGetProcAddress('wglGetExtensionsStringARB');
  9448. wglGetPixelFormatAttribivARB := GLGetProcAddress('wglGetPixelFormatAttribivARB');
  9449. wglGetPixelFormatAttribfvARB := GLGetProcAddress('wglGetPixelFormatAttribfvARB');
  9450. wglChoosePixelFormatARB := GLGetProcAddress('wglChoosePixelFormatARB');
  9451. wglMakeContextCurrentARB := GLGetProcAddress('wglMakeContextCurrentARB');
  9452. wglGetCurrentReadDCARB := GLGetProcAddress('wglGetCurrentReadDCARB');
  9453. wglCreatePbufferARB := GLGetProcAddress('wglCreatePbufferARB');
  9454. wglGetPbufferDCARB := GLGetProcAddress('wglGetPbufferDCARB');
  9455. wglReleasePbufferDCARB := GLGetProcAddress('wglReleasePbufferDCARB');
  9456. wglDestroyPbufferARB := GLGetProcAddress('wglDestroyPbufferARB');
  9457. wglQueryPbufferARB := GLGetProcAddress('wglQueryPbufferARB');
  9458. wglBindTexImageARB := GLGetProcAddress('wglBindTexImageARB');
  9459. wglReleaseTexImageARB := GLGetProcAddress('wglReleaseTexImageARB');
  9460. wglSetPbufferAttribARB := GLGetProcAddress('wglSetPbufferAttribARB');
  9461. wglCreateContextAttribsARB := GLGetProcAddress('wglCreateContextAttribsARB');
  9462. wglSwapIntervalEXT := GLGetProcAddress('wglSwapIntervalEXT');
  9463. wglGetSwapIntervalEXT := GLGetProcAddress('wglGetSwapIntervalEXT');
  9464. wglAllocateMemoryNV := GLGetProcAddress('wglAllocateMemoryNV');
  9465. wglFreeMemoryNV := GLGetProcAddress('wglFreeMemoryNV');
  9466. wglEnumGpusNV := GLGetProcAddress('wglEnumGpusNV');
  9467. wglEnumGpuDevicesNV := GLGetProcAddress('wglEnumGpuDevicesNV');
  9468. wglCreateAffinityDCNV := GLGetProcAddress('wglCreateAffinityDCNV');
  9469. wglEnumGpusFromAffinityDCNV := GLGetProcAddress('wglEnumGpusFromAffinityDCNV');
  9470. wglDeleteDCNV := GLGetProcAddress('wglDeleteDCNV');
  9471. end;
  9472. {$ENDIF}
  9473. {$IFDEF SUPPORT_GLX}
  9474. procedure ReadGLXExtensions;
  9475. begin
  9476. glXGetProcAddress := GLLibGetProcAddress('glXGetProcAddress');
  9477. glXGetProcAddressARB := GLLibGetProcAddress('glXGetProcAddressARB');
  9478. glXChooseFBConfig := GLGetProcAddress('glXChooseFBConfig');
  9479. glXGetFBConfigAttrib := GLGetProcAddress('glXGetFBConfigAttrib');
  9480. glXGetFBConfigs := GLGetProcAddress('glXGetFBConfigs');
  9481. glXGetVisualFromFBConfig := GLGetProcAddress('glXGetVisualFromFBConfig');
  9482. glXCreateWindow := GLGetProcAddress('glXCreateWindow');
  9483. glXDestroyWindow := GLGetProcAddress('glXDestroyWindow');
  9484. glXCreatePixmap := GLGetProcAddress('glXCreatePixmap');
  9485. glXDestroyPixmap := GLGetProcAddress('glXDestroyPixmap');
  9486. glXCreatePbuffer := GLGetProcAddress('glXCreatePbuffer');
  9487. glXDestroyPbuffer := GLGetProcAddress('glXDestroyPbuffer');
  9488. glXQueryDrawable := GLGetProcAddress('glXQueryDrawable');
  9489. glXCreateNewContext := GLGetProcAddress('glXCreateNewContext');
  9490. glXMakeContextCurrent := GLGetProcAddress('glXMakeContextCurrent');
  9491. glXGetCurrentReadDrawable := GLGetProcAddress('glXGetCurrentReadDrawable');
  9492. glXQueryContext := GLGetProcAddress('glXQueryContext');
  9493. glXSelectEvent := GLGetProcAddress('glXSelectEvent');
  9494. glXGetSelectedEvent := GLGetProcAddress('glXGetSelectedEvent');
  9495. glXBindTexImageARB := GLGetProcAddress('glXBindTexImageARB');
  9496. glXReleaseTexImageARB := GLGetProcAddress('glXReleaseTexImageARB');
  9497. glxDrawableAttribARB := GLGetProcAddress('glxDrawableAttribARB');
  9498. glXCreateContextAttribsARB := GLGetProcAddress('glXCreateContextAttribsARB');
  9499. glXSwapIntervalSGI := GLGetProcAddress('glXSwapIntervalSGI');
  9500. glXGetVideoSyncSGI := GLGetProcAddress('glXGetVideoSyncSGI');
  9501. glXWaitVideoSyncSGI := GLGetProcAddress('glXWaitVideoSyncSGI');
  9502. glXFreeContextEXT := GLGetProcAddress('glXFreeContextEXT');
  9503. glXGetContextIDEXT := GLGetProcAddress('glXGetContextIDEXT');
  9504. glXGetCurrentDisplayEXT := GLGetProcAddress('glXGetCurrentDisplayEXT');
  9505. glXImportContextEXT := GLGetProcAddress('glXImportContextEXT');
  9506. glXQueryContextInfoEXT := GLGetProcAddress('glXQueryContextInfoEXT');
  9507. glXCopySubBufferMESA := GLGetProcAddress('glXCopySubBufferMESA');
  9508. glXCreateGLXPixmapMESA := GLGetProcAddress('glXCreateGLXPixmapMESA');
  9509. glXReleaseBuffersMESA := GLGetProcAddress('glXReleaseBuffersMESA');
  9510. glXSet3DfxModeMESA := GLGetProcAddress('glXSet3DfxModeMESA');
  9511. glXBindTexImageEXT := GLGetProcAddress('glXBindTexImageEXT');
  9512. glXReleaseTexImageEXT := GLGetProcAddress('glXReleaseTexImageEXT');
  9513. glXMakeCurrentReadSGI := GLGetProcAddress('glXMakeCurrentReadSGI');
  9514. glXGetCurrentReadDrawableSGI := GLGetProcAddress('glXGetCurrentReadDrawableSGI');
  9515. glXGetFBConfigAttribSGIX := GLGetProcAddress('glXGetFBConfigAttribSGIX');
  9516. glXChooseFBConfigSGIX := GLGetProcAddress('glXChooseFBConfigSGIX');
  9517. glXCreateGLXPixmapWithConfigSGIX := GLGetProcAddress('glXCreateGLXPixmapWithConfigSGIX');
  9518. glXCreateContextWithConfigSGIX := GLGetProcAddress('glXCreateContextWithConfigSGIX');
  9519. glXGetVisualFromFBConfigSGIX := GLGetProcAddress('glXGetVisualFromFBConfigSGIX');
  9520. glXGetFBConfigFromVisualSGIX := GLGetProcAddress('glXGetFBConfigFromVisualSGIX');
  9521. glXCreateGLXPbufferSGIX := GLGetProcAddress('glXCreateGLXPbufferSGIX');
  9522. glXDestroyGLXPbufferSGIX := GLGetProcAddress('glXDestroyGLXPbufferSGIX');
  9523. glXQueryGLXPbufferSGIX := GLGetProcAddress('glXQueryGLXPbufferSGIX');
  9524. glXSelectEventSGIX := GLGetProcAddress('glXSelectEventSGIX');
  9525. glXGetSelectedEventSGIX := GLGetProcAddress('glXGetSelectedEventSGIX');
  9526. glXCushionSGI := GLGetProcAddress('glXCushionSGI');
  9527. glXBindChannelToWindowSGIX := GLGetProcAddress('glXBindChannelToWindowSGIX');
  9528. glXChannelRectSGIX := GLGetProcAddress('glXChannelRectSGIX');
  9529. glXQueryChannelRectSGIX := GLGetProcAddress('glXQueryChannelRectSGIX');
  9530. glXQueryChannelDeltasSGIX := GLGetProcAddress('glXQueryChannelDeltasSGIX');
  9531. glXChannelRectSyncSGIX := GLGetProcAddress('glXChannelRectSyncSGIX');
  9532. glXJoinSwapGroupSGIX := GLGetProcAddress('glXJoinSwapGroupSGIX');
  9533. glXBindSwapBarrierSGIX := GLGetProcAddress('glXBindSwapBarrierSGIX');
  9534. glXQueryMaxSwapBarriersSGIX := GLGetProcAddress('glXQueryMaxSwapBarriersSGIX');
  9535. glXQueryHyperpipeNetworkSGIX := GLGetProcAddress('glXQueryHyperpipeNetworkSGIX');
  9536. glXHyperpipeConfigSGIX := GLGetProcAddress('glXHyperpipeConfigSGIX');
  9537. glXQueryHyperpipeConfigSGIX := GLGetProcAddress('glXQueryHyperpipeConfigSGIX');
  9538. glXDestroyHyperpipeConfigSGIX := GLGetProcAddress('glXDestroyHyperpipeConfigSGIX');
  9539. glXBindHyperpipeSGIX := GLGetProcAddress('glXBindHyperpipeSGIX');
  9540. glXQueryHyperpipeBestAttribSGIX := GLGetProcAddress('glXQueryHyperpipeBestAttribSGIX');
  9541. glXHyperpipeAttribSGIX := GLGetProcAddress('glXHyperpipeAttribSGIX');
  9542. glXQueryHyperpipeAttribSGIX := GLGetProcAddress('glXQueryHyperpipeAttribSGIX');
  9543. glXGetAGPOffsetMESA := GLGetProcAddress('glXGetAGPOffsetMESA');
  9544. glXEnumerateVideoDevicesNV := GLGetProcAddress('glXEnumerateVideoDevicesNV');
  9545. glXBindVideoDeviceNV := GLGetProcAddress('glXBindVideoDeviceNV');
  9546. glxGetVideoDeviceNV := GLGetProcAddress('glxGetVideoDeviceNV');
  9547. glXCopySubBufferMESA := GLGetProcAddress('glXCopySubBufferMESA');
  9548. glXReleaseBuffersMESA := GLGetProcAddress('glXReleaseBuffersMESA');
  9549. glXCreateGLXPixmapMESA := GLGetProcAddress('glXCreateGLXPixmapMESA');
  9550. glXSet3DfxModeMESA := GLGetProcAddress('glXSet3DfxModeMESA');
  9551. glXAllocateMemoryNV := GLGetProcAddress('glXAllocateMemoryNV');
  9552. glXFreeMemoryNV := GLGetProcAddress('glXFreeMemoryNV');
  9553. glXReleaseVideoDeviceNV := GLGetProcAddress('glXReleaseVideoDeviceNV');
  9554. glXBindVideoImageNV := GLGetProcAddress('glXBindVideoImageNV');
  9555. glXReleaseVideoImageNV := GLGetProcAddress('glXReleaseVideoImageNV');
  9556. glXSendPbufferToVideoNV := GLGetProcAddress('glXSendPbufferToVideoNV');
  9557. glXGetVideoInfoNV := GLGetProcAddress('glXGetVideoInfoNV');
  9558. glXJoinSwapGroupNV := GLGetProcAddress('glXJoinSwapGroupNV');
  9559. glXBindSwapBarrierNV := GLGetProcAddress('glXBindSwapBarrierNV');
  9560. glXQuerySwapGroupNV := GLGetProcAddress('glXQuerySwapGroupNV');
  9561. glXQueryMaxSwapGroupsNV := GLGetProcAddress('glXQueryMaxSwapGroupsNV');
  9562. glXQueryFrameCountNV := GLGetProcAddress('glXQueryFrameCountNV');
  9563. glXResetFrameCountNV := GLGetProcAddress('glXResetFrameCountNV');
  9564. glXBindVideoCaptureDeviceNV := GLGetProcAddress('glXBindVideoCaptureDeviceNV');
  9565. glXEnumerateVideoCaptureDevicesNV := GLGetProcAddress('glXEnumerateVideoCaptureDevicesNV');
  9566. glxLockVideoCaptureDeviceNV := GLGetProcAddress('glxLockVideoCaptureDeviceNV');
  9567. glXQueryVideoCaptureDeviceNV := GLGetProcAddress('glXQueryVideoCaptureDeviceNV');
  9568. glXReleaseVideoCaptureDeviceNV := GLGetProcAddress('glXReleaseVideoCaptureDeviceNV');
  9569. glXSwapIntervalEXT := GLGetProcAddress('glXSwapIntervalEXT');
  9570. glXCopyImageSubDataNV := GLGetProcAddress('glXCopyImageSubDataNV');
  9571. end;
  9572. {$ENDIF}
  9573. procedure TrimAndSplitVersionString(Buffer: String; out Max, Min: Integer);
  9574. // Peels out the X.Y form from the given Buffer which must contain a version string like "text Minor.Major.Build text"
  9575. // at least however "Major.Minor".
  9576. var
  9577. Separator: Integer;
  9578. begin
  9579. try
  9580. // There must be at least one dot to separate major and minor version number.
  9581. Separator := Pos('.', Buffer);
  9582. // At least one number must be before and one after the dot.
  9583. if (Separator > 1) and (Separator < Length(Buffer)) and
  9584. (AnsiChar(Buffer[Separator - 1]) in ['0'..'9']) and
  9585. (AnsiChar(Buffer[Separator + 1]) in ['0'..'9']) then
  9586. begin
  9587. // OK, it's a valid version string. Now remove unnecessary parts.
  9588. Dec(Separator);
  9589. // Find last non-numeric character before version number.
  9590. while (Separator > 0) and (AnsiChar(Buffer[Separator]) in ['0'..'9']) do
  9591. Dec(Separator);
  9592. // Delete leading characters which do not belong to the version string.
  9593. Delete(Buffer, 1, Separator);
  9594. Separator := Pos('.', Buffer) + 1;
  9595. // Find first non-numeric character after version number
  9596. while (Separator <= Length(Buffer)) and
  9597. (AnsiChar(Buffer[Separator]) in ['0'..'9']) do
  9598. Inc(Separator);
  9599. // delete trailing characters not belonging to the version string
  9600. Delete(Buffer, Separator, 255);
  9601. // Now translate the numbers.
  9602. Separator := Pos('.', Buffer); // This is necessary because the buffer length might have changed.
  9603. Max := StrToInt(Copy(Buffer, 1, Separator - 1));
  9604. Min := StrToInt(Copy(Buffer, Separator + 1, 255));
  9605. end
  9606. else
  9607. Abort;
  9608. except
  9609. Min := 0;
  9610. Max := 0;
  9611. end;
  9612. end;
  9613. function IsVersionMet(MajorVersion, MinorVersion, actualMajorVersion,
  9614. actualMinorVersion: Integer): Boolean;
  9615. begin
  9616. Result := (actualMajorVersion > MajorVersion) or
  9617. ((actualMajorVersion = MajorVersion) and
  9618. (actualMinorVersion >= MinorVersion));
  9619. end;
  9620. procedure ReadImplementationProperties;
  9621. var
  9622. Buffer : String;
  9623. MajorVersion, MinorVersion: Integer;
  9624. // Checks if the given Extension string is in Buffer.
  9625. function CheckExtension(const Extension: string): Boolean; //PALOFF
  9626. var
  9627. ExtPos: Integer;
  9628. begin
  9629. // First find the position of the extension string as substring in Buffer.
  9630. ExtPos := Pos(Extension, Buffer);
  9631. Result := ExtPos > 0;
  9632. // Now check that it isn't only a substring of another extension.
  9633. if Result then
  9634. Result := ((ExtPos + Length(Extension) - 1)= Length(Buffer))
  9635. or (Buffer[ExtPos + Length(Extension)]=' ');
  9636. end;
  9637. begin
  9638. // determine OpenGL versions supported
  9639. Buffer := string(glGetString(GL_VERSION));
  9640. TrimAndSplitVersionString(Buffer, MajorVersion, MinorVersion);
  9641. GL_VERSION_1_0 := True;
  9642. GL_VERSION_1_1 := IsVersionMet(1, 1, MajorVersion, MinorVersion);
  9643. GL_VERSION_1_2 := IsVersionMet(1, 2, MajorVersion, MinorVersion);
  9644. GL_VERSION_1_3 := IsVersionMet(1, 3, MajorVersion, MinorVersion);
  9645. GL_VERSION_1_4 := IsVersionMet(1, 4, MajorVersion, MinorVersion);
  9646. GL_VERSION_1_5 := IsVersionMet(1, 5, MajorVersion, MinorVersion);
  9647. GL_VERSION_2_0 := IsVersionMet(2, 0, MajorVersion, MinorVersion);
  9648. GL_VERSION_2_1 := IsVersionMet(2, 1, MajorVersion, MinorVersion);
  9649. GL_VERSION_3_0 := IsVersionMet(3, 0, MajorVersion, MinorVersion);
  9650. GL_VERSION_3_1 := IsVersionMet(3, 1, MajorVersion, MinorVersion);
  9651. GL_VERSION_3_2 := IsVersionMet(3, 2, MajorVersion, MinorVersion);
  9652. GL_VERSION_3_3 := IsVersionMet(3, 3, MajorVersion, MinorVersion);
  9653. GL_VERSION_4_0 := IsVersionMet(4, 0, MajorVersion, MinorVersion);
  9654. GL_VERSION_4_1 := IsVersionMet(4, 1, MajorVersion, MinorVersion);
  9655. GL_VERSION_4_2 := IsVersionMet(4, 2, MajorVersion, MinorVersion);
  9656. GL_VERSION_4_3 := IsVersionMet(4, 3, MajorVersion, MinorVersion);
  9657. GL_VERSION_4_4 := IsVersionMet(4, 4, MajorVersion, MinorVersion);
  9658. GL_VERSION_4_5 := IsVersionMet(4, 5, MajorVersion, MinorVersion);
  9659. // determine GLU versions met
  9660. buffer:=String(gluGetString(GLU_VERSION));
  9661. TrimAndSplitVersionString(buffer, majorversion, minorVersion);
  9662. GLU_VERSION_1_1:=True; // won't load without at least GLU 1.1
  9663. GLU_VERSION_1_2:=IsVersionMet(1,2,majorVersion,minorVersion);
  9664. GLU_VERSION_1_3:=IsVersionMet(1,3,majorVersion,minorVersion);
  9665. // check supported OpenGL extensions
  9666. Buffer := String(glGetString(GL_EXTENSIONS));
  9667. GL_ARB_blend_func_extended := CheckExtension('GL_ARB_blend_func_extended');
  9668. GL_ARB_color_buffer_float := CheckExtension('GL_ARB_color_buffer_float');
  9669. GL_ARB_compatibility := CheckExtension('GL_ARB_compatibility');
  9670. GL_ARB_copy_buffer := CheckExtension('GL_ARB_copy_buffer');
  9671. GL_ARB_debug_output := CheckExtension('GL_ARB_debug_output');
  9672. GL_ARB_depth_buffer_float := CheckExtension('GL_ARB_depth_buffer_float');
  9673. GL_ARB_depth_clamp := CheckExtension('GL_ARB_depth_clamp');
  9674. GL_ARB_depth_texture := CheckExtension('GL_ARB_depth_texture');
  9675. GL_ARB_draw_buffers := CheckExtension('GL_ARB_draw_buffers');
  9676. GL_ARB_draw_buffers_blend := CheckExtension('GL_ARB_draw_buffers_blend');
  9677. GL_ARB_draw_elements_base_vertex := CheckExtension('GL_ARB_draw_elements_base_vertex');
  9678. GL_ARB_draw_indirect := CheckExtension('GL_ARB_draw_indirect');
  9679. GL_ARB_draw_instanced := CheckExtension('GL_ARB_draw_instanced');
  9680. GL_ARB_ES2_compatibility := CheckExtension('GL_ARB_ES2_compatibility');
  9681. GL_ARB_explicit_attrib_location := CheckExtension('GL_ARB_explicit_attrib_location');
  9682. GL_ARB_fragment_coord_conventions := CheckExtension('GL_ARB_fragment_coord_conventions');
  9683. GL_ARB_fragment_program := CheckExtension('GL_ARB_fragment_program');
  9684. GL_ARB_fragment_program_shadow := CheckExtension('GL_ARB_fragment_program_shadow');
  9685. GL_ARB_fragment_shader := CheckExtension('GL_ARB_fragment_shader');
  9686. GL_ARB_framebuffer_object := CheckExtension('GL_ARB_framebuffer_object');
  9687. GL_ARB_framebuffer_sRGB := CheckExtension('GL_ARB_framebuffer_sRGB');
  9688. GL_ARB_geometry_shader4 := CheckExtension('GL_ARB_geometry_shader4');
  9689. GL_ARB_get_program_binary := CheckExtension('GL_ARB_get_program_binary');
  9690. GL_ARB_gpu_shader_fp64 := CheckExtension('GL_ARB_gpu_shader_fp64');
  9691. GL_ARB_gpu_shader5 := CheckExtension('GL_ARB_gpu_shader5');
  9692. GL_ARB_half_float_pixel := CheckExtension('GL_ARB_half_float_pixel');
  9693. GL_ARB_half_float_vertex := CheckExtension('GL_ARB_half_float_vertex');
  9694. GL_ARB_imaging := CheckExtension('GL_ARB_imaging');
  9695. GL_ARB_instanced_arrays := CheckExtension('GL_ARB_instanced_arrays');
  9696. GL_ARB_map_buffer_range := CheckExtension('GL_ARB_map_buffer_range');
  9697. GL_ARB_matrix_palette := CheckExtension('GL_ARB_matrix_palette');
  9698. GL_ARB_multisample := CheckExtension(' GL_ARB_multisample'); // ' ' to avoid collision with WGL variant
  9699. GL_ARB_multitexture := CheckExtension('GL_ARB_multitexture');
  9700. GL_ARB_occlusion_query := CheckExtension('GL_ARB_occlusion_query');
  9701. GL_ARB_occlusion_query2 := CheckExtension('GL_ARB_occlusion_query2');
  9702. GL_ARB_pixel_buffer_object := CheckExtension('GL_ARB_pixel_buffer_object');
  9703. GL_ARB_point_parameters := CheckExtension('GL_ARB_point_parameters');
  9704. GL_ARB_point_sprite := CheckExtension('GL_ARB_point_sprite');
  9705. GL_ARB_provoking_vertex := CheckExtension('GL_ARB_provoking_vertex');
  9706. GL_ARB_robustness := CheckExtension('GL_ARB_robustness');
  9707. GL_ARB_sample_shading := CheckExtension('GL_ARB_sample_shading');
  9708. GL_ARB_sampler_objects := CheckExtension('GL_ARB_sampler_objects');
  9709. GL_ARB_seamless_cube_map := CheckExtension('GL_ARB_seamless_cube_map');
  9710. GL_ARB_separate_shader_objects := CheckExtension('GL_ARB_separate_shader_objects');
  9711. GL_ARB_shader_bit_encoding := CheckExtension('GL_ARB_shader_bit_encoding');
  9712. GL_ARB_shader_precision := CheckExtension('GL_ARB_shader_precision');
  9713. GL_ARB_shader_objects := CheckExtension('GL_ARB_shader_objects');
  9714. GL_ARB_shader_stencil_export := CheckExtension('GL_ARB_shader_stencil_export');
  9715. GL_ARB_shader_subroutine := CheckExtension('GL_ARB_shader_subroutine');
  9716. GL_ARB_shader_texture_lod := CheckExtension('GL_ARB_shader_texture_lod');
  9717. GL_ARB_shading_language_100 := CheckExtension('GL_ARB_shading_language_100');
  9718. GL_ARB_shadow := CheckExtension('GL_ARB_shadow');
  9719. GL_ARB_shadow_ambient := CheckExtension('GL_ARB_shadow_ambient');
  9720. GL_ARB_sync := CheckExtension('GL_ARB_sync');
  9721. GL_ARB_tessellation_shader := CheckExtension('GL_ARB_tessellation_shader');
  9722. GL_ARB_texture_border_clamp := CheckExtension('GL_ARB_texture_border_clamp');
  9723. GL_ARB_texture_buffer_object := CheckExtension('GL_ARB_texture_buffer_object');
  9724. GL_ARB_texture_buffer_object_rgb32 := CheckExtension('GL_ARB_texture_buffer_object_rgb32');
  9725. GL_ARB_texture_compression := CheckExtension('GL_ARB_texture_compression');
  9726. GL_ARB_texture_compression_rgtc := CheckExtension('GL_ARB_texture_compression_rgtc');
  9727. GL_ARB_texture_cube_map := CheckExtension('GL_ARB_texture_cube_map');
  9728. GL_ARB_texture_cube_map_array := CheckExtension('GL_ARB_texture_cube_map_array');
  9729. GL_ARB_texture_env_add := CheckExtension('GL_ARB_texture_env_add');
  9730. GL_ARB_texture_env_combine := CheckExtension('GL_ARB_texture_env_combine');
  9731. GL_ARB_texture_env_crossbar := CheckExtension('GL_ARB_texture_env_crossbar');
  9732. GL_ARB_texture_env_dot3 := CheckExtension('GL_ARB_texture_env_dot3');
  9733. GL_ARB_texture_float := CheckExtension('GL_ARB_texture_float');
  9734. GL_ARB_texture_gather := CheckExtension('GL_ARB_texture_gather');
  9735. GL_ARB_texture_mirrored_repeat := CheckExtension('GL_ARB_texture_mirrored_repeat');
  9736. GL_ARB_texture_multisample := CheckExtension('GL_ARB_texture_multisample');
  9737. GL_ARB_texture_non_power_of_two := CheckExtension('GL_ARB_texture_non_power_of_two');
  9738. GL_ARB_texture_query_lod := CheckExtension('GL_ARB_texture_query_lod');
  9739. GL_ARB_texture_rectangle := CheckExtension('GL_ARB_texture_rectangle');
  9740. GL_ARB_texture_rg := CheckExtension('GL_ARB_texture_rg');
  9741. GL_ARB_texture_rgb10_a2ui := CheckExtension('GL_ARB_texture_rgb10_a2ui');
  9742. GL_ARB_texture_swizzle := CheckExtension('GL_ARB_texture_swizzle');
  9743. GL_ARB_timer_query := CheckExtension('GL_ARB_timer_query');
  9744. GL_ARB_transform_feedback2 := CheckExtension('GL_ARB_transform_feedback2');
  9745. GL_ARB_transform_feedback3 := CheckExtension('GL_ARB_transform_feedback3');
  9746. GL_ARB_transpose_matrix := CheckExtension('GL_ARB_transpose_matrix');
  9747. GL_ARB_uniform_buffer_object := CheckExtension('GL_ARB_uniform_buffer_object');
  9748. GL_ARB_vertex_array_bgra := CheckExtension('GL_ARB_vertex_array_bgra');
  9749. GL_ARB_vertex_array_object := CheckExtension('GL_ARB_vertex_array_object');
  9750. GL_ARB_vertex_attrib_64bit := CheckExtension('GL_ARB_vertex_attrib_64bit');
  9751. GL_ARB_vertex_blend := CheckExtension('GL_ARB_vertex_blend');
  9752. GL_ARB_vertex_buffer_object := CheckExtension('GL_ARB_vertex_buffer_object');
  9753. GL_ARB_vertex_program := CheckExtension('GL_ARB_vertex_program');
  9754. GL_ARB_vertex_shader := CheckExtension('GL_ARB_vertex_shader');
  9755. GL_ARB_vertex_type_2_10_10_10_rev := CheckExtension('GL_ARB_vertex_type_2_10_10_10_rev');
  9756. GL_ARB_viewport_array := CheckExtension('GL_ARB_viewport_array');
  9757. GL_ARB_window_pos := CheckExtension('GL_ARB_window_pos');
  9758. GL_ARB_texture_compression_bptc := CheckExtension('GL_ARB_texture_compression_bptc');
  9759. GL_3DFX_multisample := CheckExtension('GL_3DFX_multisample');
  9760. GL_3DFX_tbuffer := CheckExtension('GL_3DFX_tbuffer');
  9761. GL_3DFX_texture_compression_FXT1 := CheckExtension('GL_3DFX_texture_compression_FXT1');
  9762. GL_ATI_draw_buffers := CheckExtension('GL_ATI_draw_buffers');
  9763. // GL_ATI_texture_compression_3dc := CheckExtension('GL_ATI_texture_compression_3dc');
  9764. GL_ATI_texture_float := CheckExtension('GL_ATI_texture_float');
  9765. GL_ATI_texture_mirror_once := CheckExtension('GL_ATI_texture_mirror_once');
  9766. GL_S3_s3tc := CheckExtension('GL_S3_s3tc');
  9767. GL_EXT_abgr := CheckExtension('GL_EXT_abgr');
  9768. GL_EXT_bgra := CheckExtension('GL_EXT_bgra');
  9769. GL_EXT_bindable_uniform := CheckExtension('GL_EXT_bindable_uniform');
  9770. GL_EXT_blend_color := CheckExtension('GL_EXT_blend_color');
  9771. GL_EXT_blend_equation_separate := CheckExtension('GL_EXT_blend_equation_separate');
  9772. GL_EXT_blend_func_separate := CheckExtension('GL_EXT_blend_func_separate');
  9773. GL_EXT_blend_logic_op := CheckExtension('GL_EXT_blend_logic_op');
  9774. GL_EXT_blend_minmax := CheckExtension('GL_EXT_blend_minmax');
  9775. GL_EXT_blend_subtract := CheckExtension('GL_EXT_blend_subtract');
  9776. /// GL_EXT_Cg_shader := CheckExtension('GL_EXT_Cg_shader');
  9777. GL_EXT_clip_volume_hint := CheckExtension('GL_EXT_clip_volume_hint');
  9778. GL_EXT_compiled_vertex_array := CheckExtension('GL_EXT_compiled_vertex_array');
  9779. GL_EXT_copy_texture := CheckExtension('GL_EXT_copy_texture');
  9780. GL_EXT_depth_bounds_test := CheckExtension('GL_EXT_depth_bounds_test');
  9781. GL_EXT_draw_buffers2 := CheckExtension('GL_EXT_draw_buffers2');
  9782. GL_EXT_draw_instanced := CheckExtension('GL_EXT_draw_instanced');
  9783. GL_EXT_draw_range_elements := CheckExtension('GL_EXT_draw_range_elements');
  9784. GL_EXT_fog_coord := CheckExtension('GL_EXT_fog_coord');
  9785. GL_EXT_framebuffer_blit := CheckExtension('GL_EXT_framebuffer_blit');
  9786. GL_EXT_framebuffer_multisample := CheckExtension('GL_EXT_framebuffer_multisample');
  9787. GL_EXT_framebuffer_object := CheckExtension('GL_EXT_framebuffer_object');
  9788. GL_EXT_framebuffer_sRGB := CheckExtension('GL_EXT_framebuffer_sRGB');
  9789. GL_EXT_geometry_shader4 := CheckExtension('GL_EXT_geometry_shader4');
  9790. GL_EXT_gpu_program_parameters := CheckExtension('GL_EXT_gpu_program_parameters');
  9791. GL_EXT_gpu_shader4 := CheckExtension('GL_EXT_gpu_shader4');
  9792. GL_EXT_multi_draw_arrays := CheckExtension('GL_EXT_multi_draw_arrays');
  9793. GL_EXT_multisample := CheckExtension('GL_EXT_multisample');
  9794. GL_EXT_packed_depth_stencil := CheckExtension('GL_EXT_packed_depth_stencil');
  9795. GL_EXT_packed_float := CheckExtension('GL_EXT_packed_float');
  9796. GL_EXT_packed_pixels := CheckExtension('GL_EXT_packed_pixels');
  9797. GL_EXT_paletted_texture := CheckExtension('GL_EXT_paletted_texture');
  9798. GL_EXT_pixel_buffer_object := CheckExtension('GL_EXT_pixel_buffer_object');
  9799. GL_EXT_polygon_offset := CheckExtension('GL_EXT_polygon_offset');
  9800. GL_EXT_rescale_normal := CheckExtension('GL_EXT_rescale_normal');
  9801. GL_EXT_secondary_color := CheckExtension('GL_EXT_secondary_color');
  9802. GL_EXT_separate_specular_color := CheckExtension('GL_EXT_separate_specular_color');
  9803. GL_EXT_shadow_funcs := CheckExtension('GL_EXT_shadow_funcs');
  9804. GL_EXT_shared_texture_palette := CheckExtension('GL_EXT_shared_texture_palette');
  9805. GL_EXT_stencil_clear_tag := CheckExtension('GL_EXT_stencil_clear_tag');
  9806. GL_EXT_stencil_two_side := CheckExtension('GL_EXT_stencil_two_side');
  9807. GL_EXT_stencil_wrap := CheckExtension('GL_EXT_stencil_wrap');
  9808. GL_EXT_texture3D := CheckExtension('GL_EXT_texture3D');
  9809. GL_EXT_texture_array := CheckExtension('GL_EXT_texture_array');
  9810. GL_EXT_texture_buffer_object := CheckExtension('GL_EXT_texture_buffer_object');
  9811. GL_EXT_texture_compression_latc := CheckExtension('GL_EXT_texture_compression_latc');
  9812. GL_EXT_texture_compression_rgtc := CheckExtension('GL_EXT_texture_compression_rgtc');
  9813. GL_EXT_texture_compression_s3tc := CheckExtension('GL_EXT_texture_compression_s3tc');
  9814. GL_EXT_texture_cube_map := CheckExtension('GL_EXT_texture_cube_map');
  9815. GL_EXT_texture_edge_clamp := CheckExtension('GL_EXT_texture_edge_clamp');
  9816. GL_EXT_texture_env_add := CheckExtension('GL_EXT_texture_env_add');
  9817. GL_EXT_texture_env_combine := CheckExtension('GL_EXT_texture_env_combine');
  9818. GL_EXT_texture_env_dot3 := CheckExtension('GL_EXT_texture_env_dot3');
  9819. GL_EXT_texture_filter_anisotropic := CheckExtension('GL_EXT_texture_filter_anisotropic');
  9820. GL_EXT_texture_integer := CheckExtension('GL_EXT_texture_integer');
  9821. /// GL_EXT_texture_lod := CheckExtension('GL_EXT_texture_lod');
  9822. GL_EXT_texture_lod_bias := CheckExtension('GL_EXT_texture_lod_bias');
  9823. GL_EXT_texture_mirror_clamp := CheckExtension('GL_EXT_texture_mirror_clamp');
  9824. GL_EXT_texture_object := CheckExtension('GL_EXT_texture_object');
  9825. GL_EXT_texture_rectangle := CheckExtension('GL_EXT_texture_rectangle');
  9826. GL_EXT_texture_sRGB := CheckExtension('GL_EXT_texture_sRGB');
  9827. GL_EXT_texture_shared_exponent := CheckExtension('GL_EXT_texture_shared_exponent');
  9828. GL_EXT_timer_query := CheckExtension('GL_EXT_timer_query');
  9829. GL_EXT_transform_feedback := CheckExtension('GL_EXT_transform_feedback');
  9830. GL_EXT_vertex_array := CheckExtension('GL_EXT_vertex_array');
  9831. GL_HP_occlusion_test := CheckExtension('GL_HP_occlusion_test');
  9832. GL_IBM_rasterpos_clip := CheckExtension('GL_IBM_rasterpos_clip');
  9833. /// GL_KTX_buffer_region := CheckExtension('GL_KTX_buffer_region');
  9834. GL_MESA_resize_buffers := CheckExtension('GL_MESA_resize_buffers');
  9835. GL_NV_blend_square := CheckExtension('GL_NV_blend_square');
  9836. GL_NV_conditional_render := CheckExtension('GL_NV_conditional_render');
  9837. GL_NV_copy_image := CheckExtension('GL_NV_copy_image');
  9838. GL_NV_depth_buffer_float := CheckExtension('GL_NV_depth_buffer_float');
  9839. GL_NV_fence := CheckExtension('GL_NV_fence');
  9840. GL_NV_float_buffer := CheckExtension('GL_NV_float_buffer');
  9841. GL_NV_fog_distance := CheckExtension('GL_NV_fog_distance');
  9842. GL_NV_geometry_program4 := CheckExtension('GL_NV_geometry_program4');
  9843. GL_NV_light_max_exponent := CheckExtension('GL_NV_light_max_exponent');
  9844. GL_NV_multisample_filter_hint := CheckExtension('GL_NV_multisample_filter_hint');
  9845. GL_NV_occlusion_query := CheckExtension('GL_NV_occlusion_query');
  9846. GL_NV_point_sprite := CheckExtension('GL_NV_point_sprite');
  9847. GL_NV_primitive_restart := CheckExtension('GL_NV_primitive_restart');
  9848. GL_NV_register_combiners := CheckExtension('GL_NV_register_combiners');
  9849. GL_NV_shader_buffer_load := CheckExtension('GL_NV_shader_buffer_load');
  9850. GL_NV_texgen_reflection := CheckExtension('GL_NV_texgen_reflection');
  9851. GL_NV_texture_compression_vtc := CheckExtension('GL_NV_texture_compression_vtc');
  9852. GL_NV_texture_env_combine4 := CheckExtension('GL_NV_texture_env_combine4');
  9853. GL_NV_texture_rectangle := CheckExtension('GL_NV_texture_rectangle');
  9854. GL_NV_texture_shader := CheckExtension('GL_NV_texture_shader');
  9855. GL_NV_texture_shader2 := CheckExtension('GL_NV_texture_shader2');
  9856. GL_NV_texture_shader3 := CheckExtension('GL_NV_texture_shader3');
  9857. GL_NV_transform_feedback := CheckExtension('GL_NV_transform_feedback');
  9858. GL_NV_vertex_array_range := CheckExtension('GL_NV_vertex_array_range');
  9859. GL_NV_vertex_array_range2 := CheckExtension('GL_NV_vertex_array_range2');
  9860. GL_NV_vertex_buffer_unified_memory := CheckExtension('GL_NV_vertex_buffer_unified_memory');
  9861. GL_NV_vertex_program := CheckExtension('GL_NV_vertex_program');
  9862. GL_SGI_color_matrix := CheckExtension('GL_SGI_color_matrix');
  9863. GL_SGIS_generate_mipmap := CheckExtension('GL_SGIS_generate_mipmap');
  9864. GL_SGIS_multisample := CheckExtension('GL_SGIS_multisample');
  9865. GL_SGIS_texture_border_clamp := CheckExtension('GL_SGIS_texture_border_clamp');
  9866. GL_SGIS_texture_color_mask := CheckExtension('GL_SGIS_texture_color_mask');
  9867. GL_SGIS_texture_edge_clamp := CheckExtension('GL_SGIS_texture_edge_clamp');
  9868. GL_SGIS_texture_lod := CheckExtension('GL_SGIS_texture_lod');
  9869. GL_SGIX_depth_texture := CheckExtension('GL_SGIX_depth_texture');
  9870. GL_SGIX_shadow := CheckExtension('GL_SGIX_shadow');
  9871. GL_SGIX_shadow_ambient := CheckExtension('GL_SGIX_shadow_ambient');
  9872. /// GL_AMD_vertex_shader_tessellator := CheckExtension('GL_AMD_vertex_shader_tessellator');
  9873. /// GL_WIN_swap_hint := CheckExtension('GL_WIN_swap_hint');
  9874. /// GL_GREMEDY_frame_terminator := CheckExtension('GL_GREMEDY_frame_terminator');
  9875. /// GL_GREMEDY_string_marker := CheckExtension('GL_GREMEDY_string_marker');
  9876. // check supported GLU extensions
  9877. Buffer := String(gluGetString(GLU_EXTENSIONS));
  9878. /// GLU_EXT_nurbs_tessellator := CheckExtension('GLU_EXT_nurbs_tessellator');
  9879. /// GLU_EXT_object_space_tess := CheckExtension('GLU_EXT_object_space_tess');
  9880. /// GLU_EXT_TEXTURE := CheckExtension('GLU_EXT_TEXTURE');
  9881. {$IFDEF SUPPORT_WGL}
  9882. //check supported WGL extensions
  9883. ReadWGLImplementationProperties;
  9884. {$ENDIF}
  9885. {$IFDEF SUPPORT_GLX}
  9886. //check supported GLX extensions
  9887. ReadGLXImplementationProperties;
  9888. {$ENDIF}
  9889. end;
  9890. {$IFDEF SUPPORT_WGL}
  9891. procedure ReadWGLImplementationProperties;
  9892. var
  9893. Buffer: string;
  9894. // Checks if the given Extension string is in Buffer.
  9895. function CheckExtension(const Extension: string): Boolean; //PALOFF
  9896. var
  9897. ExtPos: Integer;
  9898. begin
  9899. // First find the position of the extension string as substring in Buffer.
  9900. ExtPos := Pos(Extension, Buffer);
  9901. Result := ExtPos > 0;
  9902. // Now check that it isn't only a substring of another extension.
  9903. if Result then
  9904. Result := ((ExtPos + Length(Extension) - 1)= Length(Buffer))
  9905. or (Buffer[ExtPos + Length(Extension)]=' ');
  9906. end;
  9907. begin
  9908. // ARB wgl extensions
  9909. if Assigned(wglGetExtensionsStringARB) then
  9910. Buffer:=String(wglGetExtensionsStringARB(wglGetCurrentDC))
  9911. else Buffer:='';
  9912. WGL_ARB_buffer_region:=CheckExtension('WGL_ARB_buffer_region');
  9913. WGL_ARB_create_context := CheckExtension('WGL_ARB_create_context');
  9914. WGL_ARB_create_context_profile := CheckExtension('WGL_ARB_create_context_profile');
  9915. WGL_ARB_extensions_string:=CheckExtension('WGL_ARB_extensions_string');
  9916. WGL_ARB_framebuffer_sRGB := CheckExtension('WGL_ARB_framebuffer_sRGB');
  9917. WGL_ARB_make_current_read:=CheckExtension('WGL_ARB_make_current_read');
  9918. WGL_ARB_multisample:=CheckExtension('WGL_ARB_multisample');
  9919. WGL_ARB_pbuffer:=CheckExtension('WGL_ARB_pbuffer');
  9920. WGL_ARB_pixel_format:=CheckExtension('WGL_ARB_pixel_format');
  9921. WGL_ARB_pixel_format_float:=CheckExtension('WGL_ARB_pixel_format_float');
  9922. WGL_ARB_render_texture:=CheckExtension('WGL_ARB_render_texture');
  9923. // Vendor/EXT wgl extensions
  9924. WGL_ATI_pixel_format_float := CheckExtension('WGL_ATI_pixel_format_float');
  9925. WGL_EXT_pbuffer := CheckExtension('WGL_EXT_pbuffer');
  9926. WGL_EXT_pixel_format := CheckExtension('WGL_EXT_pixel_format');
  9927. WGL_EXT_swap_control := CheckExtension('WGL_EXT_swap_control');
  9928. WGL_NV_gpu_affinity := CheckExtension('WGL_NV_gpu_affinity');
  9929. end;
  9930. {$ENDIF}
  9931. {$IFDEF SUPPORT_GLX}
  9932. procedure ReadGLXImplementationProperties;
  9933. var
  9934. Buffer: string;
  9935. MajorVersion, MinorVersion: Integer;
  9936. Dpy: PDisplay;
  9937. // Checks if the given Extension string is in Buffer.
  9938. function CheckExtension(const Extension: string): Boolean;
  9939. var
  9940. ExtPos: Integer;
  9941. begin
  9942. // First find the position of the extension string as substring in Buffer.
  9943. ExtPos := Pos(Extension, Buffer);
  9944. Result := ExtPos > 0;
  9945. // Now check that it isn't only a substring of another extension.
  9946. if Result then
  9947. Result := ((ExtPos + Length(Extension) - 1)= Length(Buffer))
  9948. or (Buffer[ExtPos + Length(Extension)]=' ');
  9949. end;
  9950. begin
  9951. Dpy:=glXGetCurrentDisplay();
  9952. buffer:=String(glXQueryServerString(Dpy, XDefaultScreen(Dpy), GLX_VERSION));
  9953. TrimAndSplitVersionString(buffer, majorversion, minorVersion);
  9954. GLX_VERSION_1_1:=IsVersionMet(1,1,majorVersion,minorVersion);
  9955. GLX_VERSION_1_2:=IsVersionMet(1,2,majorVersion,minorVersion);
  9956. GLX_VERSION_1_3:=IsVersionMet(1,3,majorVersion,minorVersion);
  9957. GLX_VERSION_1_4:=IsVersionMet(1,4,majorVersion,minorVersion);
  9958. // This procedure will probably need changing, as totally untested
  9959. // This might only work if GLX functions/procedures are loaded dynamically
  9960. if Assigned(glXQueryExtensionsString) then
  9961. Buffer := glXQueryExtensionsString(Dpy, 0) //guess at a valid screen
  9962. else
  9963. Buffer:='';
  9964. GLX_ARB_create_context := CheckExtension('GLX_ARB_create_context');
  9965. GLX_ARB_create_context_profile := CheckExtension('GLX_ARB_create_context_profile');
  9966. GLX_ARB_framebuffer_sRGB := CheckExtension('GLX_ARB_framebuffer_sRGB');
  9967. GLX_EXT_framebuffer_sRGB := CheckExtension('GLX_EXT_framebuffer_sRGB');
  9968. GLX_EXT_fbconfig_packed_float := CheckExtension('GLX_EXT_fbconfig_packed_float');
  9969. GLX_SGI_swap_control := CheckExtension('GLX_SGI_swap_control');
  9970. GLX_ARB_multisample := CheckExtension('GLX_ARB_multisample');
  9971. GLX_SGIS_multisample := CheckExtension('GLX_SGIS_multisample');
  9972. GLX_EXT_visual_info := CheckExtension('GLX_EXT_visual_info');
  9973. GLX_SGI_video_sync := CheckExtension('GLX_SGI_video_sync');
  9974. GLX_SGI_make_current_read := CheckExtension('GLX_SGI_make_current_read');
  9975. GLX_SGIX_video_source := CheckExtension('GLX_SGIX_video_source');
  9976. GLX_EXT_visual_rating := CheckExtension('GLX_EXT_visual_rating');
  9977. GLX_EXT_import_context := CheckExtension('GLX_EXT_import_context');
  9978. GLX_SGIX_fbconfig := CheckExtension('GLX_SGIX_fbconfig');
  9979. GLX_SGIX_pbuffer := CheckExtension('GLX_SGIX_pbuffer');
  9980. GLX_SGI_cushion := CheckExtension('GLX_SGI_cushion');
  9981. GLX_SGIX_video_resize := CheckExtension('GLX_SGIX_video_resize');
  9982. GLX_SGIX_dmbuffer := CheckExtension('GLX_SGIX_dmbuffer');
  9983. GLX_SGIX_swap_group := CheckExtension('GLX_SGIX_swap_group');
  9984. GLX_SGIX_swap_barrier := CheckExtension('GLX_SGIX_swap_barrier');
  9985. GLX_SGIS_blended_overlay := CheckExtension('GLX_SGIS_blended_overlay');
  9986. GLX_SGIS_shared_multisample := CheckExtension('GLX_SGIS_shared_multisample');
  9987. GLX_SUN_get_transparent_index := CheckExtension('GLX_SUN_get_transparent_index');
  9988. GLX_3DFX_multisample := CheckExtension('GLX_3DFX_multisample');
  9989. GLX_MESA_copy_sub_buffer := CheckExtension('GLX_MESA_copy_sub_buffer');
  9990. GLX_MESA_pixmap_colormap := CheckExtension('GLX_MESA_pixmap_colormap');
  9991. GLX_MESA_release_buffers := CheckExtension('GLX_MESA_release_buffers');
  9992. GLX_MESA_set_3dfx_mode := CheckExtension('GLX_MESA_set_3dfx_mode');
  9993. GLX_SGIX_visual_select_group := CheckExtension('GLX_SGIX_visual_select_group');
  9994. GLX_SGIX_hyperpipe := CheckExtension('GLX_SGIX_hyperpipe');
  9995. end;
  9996. {$ENDIF}
  9997. function InitOpenGL : Boolean;
  9998. begin
  9999. if (GLHandle=INVALID_MODULEHANDLE) or (GLUHandle=INVALID_MODULEHANDLE) then
  10000. Result:=InitOpenGLFromLibrary(opengl32, glu32)
  10001. else Result:=True;
  10002. end;
  10003. function InitOpenGLFromLibrary(const GLName, GLUName : String) : Boolean;
  10004. begin
  10005. Result := False;
  10006. CloseOpenGL;
  10007. GLHandle := LoadLibrary(PChar(GLName));
  10008. GLUHandle := LoadLibrary(PChar(GLUName));
  10009. if (GLHandle<>INVALID_MODULEHANDLE) and (GLUHandle<>INVALID_MODULEHANDLE) then
  10010. Result:=True
  10011. else begin
  10012. if GLHandle<>INVALID_MODULEHANDLE then
  10013. FreeLibrary(Cardinal(GLHandle));
  10014. if GLUHandle<>INVALID_MODULEHANDLE then
  10015. FreeLibrary(Cardinal(GLUHandle));
  10016. end;
  10017. end;
  10018. function IsOpenGLInitialized: Boolean;
  10019. begin
  10020. Result:=(GLHandle<>INVALID_MODULEHANDLE);
  10021. end;
  10022. procedure CloseOpenGL;
  10023. begin
  10024. if GLHandle<>INVALID_MODULEHANDLE then begin
  10025. FreeLibrary(Cardinal(GLHandle));
  10026. GLHandle:=INVALID_MODULEHANDLE;
  10027. end;
  10028. if GLUHandle<>INVALID_MODULEHANDLE then begin
  10029. FreeLibrary(Cardinal(GLUHandle));
  10030. GLUHandle:=INVALID_MODULEHANDLE;
  10031. end;
  10032. end;
  10033. // compatibility routines
  10034. procedure UnloadOpenGL;
  10035. begin
  10036. CloseOpenGL;
  10037. end;
  10038. function LoadOpenGL: Boolean;
  10039. begin
  10040. Result := InitOpenGL;
  10041. end;
  10042. function LoadOpenGLFromLibrary(const GLName, GLUName: String): Boolean;
  10043. begin
  10044. Result := InitOpenGLFromLibrary(GLName, GLUName);
  10045. end;
  10046. function IsOpenGLLoaded: Boolean;
  10047. begin
  10048. Result := IsOpenGLInitialized();
  10049. end;
  10050. function IsMesaGL : Boolean;
  10051. begin
  10052. Result := GLGetProcAddress('glResizeBuffersMESA') <> nil;
  10053. end;
  10054. function IsOpenGLVersionMet(MajorVersion, MinorVersion: Integer): Boolean;
  10055. var
  10056. Buffer : String;
  10057. GLMajorVersion, GLMinorVersion: Integer;
  10058. begin
  10059. buffer:=String(glGetString(GL_VERSION));
  10060. TrimAndSplitVersionString(buffer, GLMajorVersion, GLMinorVersion);
  10061. Result:=IsVersionMet(MajorVersion,MinorVersion,GLMajorVersion,GLMinorVersion);
  10062. end;
  10063. //----------------------------------------------------
  10064. initialization
  10065. //----------------------------------------------------
  10066. Set8087CW($133F);
  10067. //----------------------------------------------------
  10068. finalization
  10069. //----------------------------------------------------
  10070. CloseOpenGL;
  10071. end.