Stage.OpenGL4.pas 540 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737
  1. //
  2. // The graphics engine GXScene https://github.com/glscene
  3. //
  4. unit Stage.OpenGL4;
  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 Stage.Defines.inc}
  21. uses
  22. System.SysUtils,
  23. System.Math,
  24. {$IFDEF MSWINDOWS}
  25. Winapi.Windows,
  26. {$ELSE} X, XLib, XUtil, {$ENDIF}
  27. Stage.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_4_0,
  198. GL_VERSION_4_1,
  199. GL_VERSION_4_2,
  200. GL_VERSION_4_3,
  201. GL_VERSION_4_4,
  202. GL_VERSION_4_5,
  203. GL_VERSION_4_6,
  204. GLU_VERSION_1_3,
  205. GL_3DFX_multisample,
  206. GL_3DFX_tbuffer,
  207. GL_3DFX_texture_compression_FXT1,
  208. GL_APPLE_client_storage,
  209. GL_APPLE_element_array,
  210. GL_APPLE_fence,
  211. GL_APPLE_specular_vector,
  212. GL_APPLE_transform_hint,
  213. GL_APPLE_vertex_array_object,
  214. GL_APPLE_vertex_array_range,
  215. GL_APPLE_ycbcr_422,
  216. GL_APPLE_texture_range,
  217. GL_APPLE_float_pixels,
  218. GL_APPLE_vertex_program_evaluators,
  219. GL_APPLE_aux_depth_stencil,
  220. GL_APPLE_object_purgeable,
  221. GL_APPLE_row_bytes,
  222. GL_APPLE_rgb_422,
  223. GL_ARB_depth_texture,
  224. GL_ARB_fragment_program,
  225. GL_ARB_imaging,
  226. GL_ARB_matrix_palette,
  227. GL_ARB_multisample,
  228. GL_ARB_multitexture,
  229. GL_ARB_point_parameters,
  230. GL_ARB_shadow,
  231. GL_ARB_shadow_ambient,
  232. GL_ARB_texture_border_clamp,
  233. GL_ARB_texture_compression,
  234. GL_ARB_texture_cube_map,
  235. GL_ARB_texture_env_add,
  236. GL_ARB_texture_env_combine,
  237. GL_ARB_texture_env_crossbar,
  238. GL_ARB_texture_env_dot3,
  239. GL_ARB_texture_filter_minmax,
  240. GL_ARB_texture_mirrored_repeat,
  241. GL_ARB_transpose_matrix,
  242. GL_ARB_vertex_blend,
  243. GL_ARB_vertex_buffer_object,
  244. GL_ARB_vertex_program,
  245. GL_ARB_window_pos,
  246. GL_ARB_shader_objects,
  247. GL_ARB_vertex_shader,
  248. GL_ARB_fragment_shader,
  249. GL_ARB_fragment_shader_interlock,
  250. GL_ARB_shading_language_100,
  251. GL_ARB_occlusion_query,
  252. GL_ARB_texture_non_power_of_two,
  253. GL_ARB_point_sprite,
  254. GL_ARB_fragment_program_shadow,
  255. GL_ARB_draw_buffers,
  256. GL_ARB_texture_rectangle,
  257. GL_ARB_color_buffer_float,
  258. GL_ARB_half_float_pixel,
  259. GL_ARB_texture_float,
  260. GL_ARB_pixel_buffer_object,
  261. GL_ARB_depth_buffer_float,
  262. GL_ARB_draw_instanced,
  263. GL_ARB_framebuffer_object,
  264. GL_ARB_framebuffer_sRGB,
  265. GL_ARB_geometry_shader4,
  266. GL_ARB_half_float_vertex,
  267. GL_ARB_instanced_arrays,
  268. GL_ARB_map_buffer_range,
  269. GL_ARB_texture_buffer_object,
  270. GL_ARB_texture_compression_rgtc,
  271. GL_ARB_texture_rg,
  272. GL_ARB_vertex_array_object,
  273. GL_ARB_uniform_buffer_object,
  274. GL_ARB_compatibility,
  275. GL_ARB_copy_buffer,
  276. GL_ARB_shader_texture_lod,
  277. GL_ARB_shader_viewport_layer_array,
  278. GL_ARB_depth_clamp,
  279. GL_ARB_draw_elements_base_vertex,
  280. GL_ARB_fragment_coord_conventions,
  281. GL_ARB_provoking_vertex,
  282. GL_ARB_seamless_cube_map,
  283. GL_ARB_sync,
  284. GL_ARB_texture_multisample,
  285. GL_ARB_vertex_array_bgra,
  286. GL_ARB_draw_buffers_blend,
  287. GL_ARB_sample_shading,
  288. GL_ARB_sample_locations,
  289. GL_ARB_sparse_texture2,
  290. GL_ARB_sparse_texture_clamp,
  291. GL_ARB_texture_cube_map_array,
  292. GL_ARB_texture_gather,
  293. GL_ARB_texture_query_lod,
  294. GL_ARB_shading_language_include,
  295. GL_ARB_texture_compression_bptc,
  296. GL_ARB_blend_func_extended,
  297. GL_ARB_explicit_attrib_location,
  298. GL_ARB_occlusion_query2,
  299. GL_ARB_parallel_shader_compile,
  300. GL_ARB_post_depth_coverage,
  301. GL_ARB_sampler_objects,
  302. GL_ARB_shader_bit_encoding,
  303. GL_ARB_shader_clock,
  304. GL_ARB_texture_rgb10_a2ui,
  305. GL_ARB_texture_swizzle,
  306. GL_ARB_timer_query,
  307. GL_ARB_vertex_type_2_10_10_10_rev,
  308. GL_ARB_draw_indirect,
  309. GL_ARB_gpu_shader5,
  310. GL_ARB_gpu_shader_fp64,
  311. GL_ARB_gpu_shader_int64,
  312. GL_ARB_shader_subroutine,
  313. GL_ARB_tessellation_shader,
  314. GL_ARB_texture_buffer_object_rgb32,
  315. GL_ARB_transform_feedback2,
  316. GL_ARB_transform_feedback3,
  317. GL_ARB_ES2_compatibility,
  318. GL_ARB_ES3_2_compatibility,
  319. GL_ARB_get_program_binary,
  320. GL_ARB_separate_shader_objects,
  321. GL_ARB_shader_precision,
  322. GL_ARB_shader_ballot,
  323. GL_ARB_vertex_attrib_64bit,
  324. GL_ARB_viewport_array,
  325. // GL 4.2
  326. GL_ARB_base_instance,
  327. GL_ARB_shading_language_420pack,
  328. GL_ARB_transform_feedback_instanced,
  329. GL_ARB_compressed_texture_pixel_storage,
  330. GL_ARB_conservative_depth,
  331. GL_ARB_internalformat_query,
  332. GL_ARB_map_buffer_alignment,
  333. GL_ARB_shader_atomic_counters,
  334. GL_ARB_shader_image_load_store,
  335. GL_ARB_shading_language_packing,
  336. GL_ARB_texture_storage,
  337. // GL 4.3
  338. GL_ARB_arrays_of_arrays,
  339. GL_ARB_fragment_layer_viewport,
  340. GL_ARB_shader_image_size,
  341. GL_ARB_ES3_compatibility,
  342. GL_ARB_clear_buffer_object,
  343. GL_ARB_compute_shader,
  344. GL_ARB_copy_image,
  345. GL_KHR_debug,
  346. GL_ARB_explicit_uniform_location,
  347. GL_ARB_framebuffer_no_attachments,
  348. GL_ARB_internalformat_query2,
  349. GL_ARB_invalidate_subdata,
  350. GL_ARB_multi_draw_indirect,
  351. GL_ARB_program_interface_query,
  352. GL_ARB_robust_buffer_access_behavior,
  353. GL_ARB_shader_storage_buffer_object,
  354. GL_ARB_stencil_texturing,
  355. GL_ARB_texture_buffer_range,
  356. GL_ARB_texture_query_levels,
  357. GL_ARB_texture_storage_multisample,
  358. GL_ARB_texture_view,
  359. GL_ARB_vertex_attrib_binding,
  360. GL_NV_path_rendering,
  361. GL_AMD_pinned_memory,
  362. GL_AMD_stencil_operation_extended,
  363. GL_AMD_vertex_shader_viewport_index,
  364. GL_AMD_vertex_shader_layer,
  365. GL_NV_bindless_texture,
  366. GL_NV_shader_atomic_float,
  367. GL_AMD_query_buffer_object,
  368. // GL 4.4
  369. GL_ARB_buffer_storage,
  370. GL_ARB_clear_texture,
  371. GL_ARB_enhanced_layouts,
  372. GL_ARB_multi_bind,
  373. GL_ARB_query_buffer_object,
  374. GL_ARB_texture_mirror_clamp_to_edge,
  375. GL_ARB_texture_stencil8,
  376. GL_ARB_vertex_type_10f_11f_11f_rev,
  377. GL_ARB_bindless_texture,
  378. GL_ARB_sparse_texture,
  379. // GL 4.5
  380. GL_ARB_clip_control,
  381. GL_ARB_cull_distance,
  382. GL_ARB_ES3_1_compatibility,
  383. GL_ARB_conditional_render_inverted,
  384. GL_KHR_context_flush_control,
  385. GL_ARB_derivative_control,
  386. GL_ARB_direct_state_access,
  387. GL_ARB_get_texture_sub_image,
  388. GL_KHR_robustness,
  389. GL_KHR_blend_equation_advanced,
  390. GL_KHR_blend_equation_advanced_coherent,
  391. GL_KHR_robust_buffer_access_behavior,
  392. GL_ARB_shader_texture_image_samples,
  393. GL_ARB_texture_barrier,
  394. // GL 4.6
  395. GL_ARB_indirect_parameters,
  396. GL_ARB_pipeline_statistics_query,
  397. GL_ARB_polygon_offset_clamp,
  398. GL_KHR_no_error,
  399. GL_ARB_shader_atomic_counter_ops,
  400. GL_ARB_shader_draw_parameters,
  401. GL_ARB_shader_group_vote,
  402. GL_ARB_gl_spirv,
  403. GL_ARB_spirv_extensions,
  404. GL_ARB_texture_filter_anisotropic,
  405. GL_ARB_transform_feedback_overflow_query,
  406. GL_ARB_cl_event,
  407. GL_ARB_compute_variable_group_size,
  408. GL_ARB_debug_output,
  409. GL_ARB_robustness,
  410. GL_ARB_shader_stencil_export,
  411. GL_ATI_draw_buffers,
  412. GL_ATI_element_array,
  413. GL_ATI_envmap_bumpmap,
  414. GL_ATI_fragment_shader,
  415. GL_ATI_map_object_buffer,
  416. GL_ATI_pn_triangles,
  417. GL_ATI_separate_stencil,
  418. GL_ATI_text_fragment_shader,
  419. GL_ATI_texture_env_combine3,
  420. GL_ATI_texture_float,
  421. GL_ATI_texture_mirror_once,
  422. GL_ATI_vertex_array_object,
  423. GL_ATI_vertex_attrib_array_object,
  424. GL_ATI_vertex_streams,
  425. GL_ATI_meminfo,
  426. GL_AMD_performance_monitor,
  427. GL_AMD_texture_texture4,
  428. GL_AMD_vertex_shader_tesselator,
  429. GL_AMD_draw_buffers_blend,
  430. GL_AMD_shader_stencil_export,
  431. GL_AMD_seamless_cubemap_per_texture,
  432. GL_AMD_conservative_depth,
  433. GL_AMD_name_gen_delete,
  434. GL_AMD_debug_output,
  435. GL_AMD_transform_feedback3_lines_triangles,
  436. GL_AMD_depth_clamp_separate,
  437. GL_EXT_422_pixels,
  438. GL_EXT_abgr,
  439. GL_EXT_bgra,
  440. GL_EXT_blend_color,
  441. GL_EXT_blend_func_separate,
  442. GL_EXT_blend_logic_op,
  443. GL_EXT_blend_minmax,
  444. GL_EXT_blend_subtract,
  445. GL_EXT_clip_volume_hint,
  446. GL_EXT_cmyka,
  447. GL_EXT_color_matrix,
  448. GL_EXT_color_subtable,
  449. GL_EXT_compiled_vertex_array,
  450. GL_EXT_convolution,
  451. GL_EXT_coordinate_frame,
  452. GL_EXT_copy_texture,
  453. GL_EXT_cull_vertex,
  454. GL_EXT_draw_range_elements,
  455. GL_EXT_fog_coord,
  456. GL_EXT_framebuffer_object,
  457. GL_EXT_histogram,
  458. GL_EXT_index_array_formats,
  459. GL_EXT_index_func,
  460. GL_EXT_index_material,
  461. GL_EXT_index_texture,
  462. GL_EXT_light_texture,
  463. GL_EXT_misc_attribute,
  464. GL_EXT_multi_draw_arrays,
  465. GL_EXT_multisample,
  466. GL_EXT_packed_pixels,
  467. GL_EXT_paletted_texture,
  468. GL_EXT_pixel_transform,
  469. GL_EXT_pixel_transform_color_table,
  470. GL_EXT_point_parameters,
  471. GL_EXT_polygon_offset,
  472. GL_EXT_rescale_normal,
  473. GL_EXT_secondary_color,
  474. GL_EXT_separate_specular_color,
  475. GL_EXT_shadow_funcs,
  476. GL_EXT_shared_texture_palette,
  477. GL_EXT_stencil_two_side,
  478. GL_EXT_stencil_wrap,
  479. GL_EXT_subtexture,
  480. GL_EXT_texture,
  481. GL_EXT_texture3D,
  482. GL_EXT_texture_compression_s3tc,
  483. GL_EXT_texture_cube_map,
  484. GL_EXT_texture_edge_clamp,
  485. GL_EXT_texture_env_add,
  486. GL_EXT_texture_env_combine,
  487. GL_EXT_texture_env_dot3,
  488. GL_EXT_texture_filter_anisotropic,
  489. GL_EXT_texture_lod_bias,
  490. GL_EXT_texture_object,
  491. GL_EXT_texture_perturb_normal,
  492. GL_EXT_texture_rectangle,
  493. GL_EXT_vertex_array,
  494. GL_EXT_vertex_shader,
  495. GL_EXT_vertex_weighting,
  496. GL_EXT_depth_bounds_test,
  497. GL_EXT_texture_mirror_clamp,
  498. GL_EXT_blend_equation_separate,
  499. GL_EXT_pixel_buffer_object,
  500. GL_EXT_texture_compression_dxt1,
  501. GL_EXT_stencil_clear_tag,
  502. GL_EXT_packed_depth_stencil,
  503. GL_EXT_texture_sRGB,
  504. GL_EXT_framebuffer_blit,
  505. GL_EXT_framebuffer_multisample,
  506. GL_EXT_timer_query,
  507. GL_EXT_gpu_program_parameters,
  508. GL_EXT_bindable_uniform,
  509. GL_EXT_draw_buffers2,
  510. GL_EXT_draw_instanced,
  511. GL_EXT_framebuffer_sRGB,
  512. GL_EXT_geometry_shader4,
  513. GL_EXT_gpu_shader4,
  514. GL_EXT_packed_float,
  515. GL_EXT_texture_array,
  516. GL_EXT_texture_buffer_object,
  517. GL_EXT_texture_compression_latc,
  518. GL_EXT_texture_compression_rgtc,
  519. GL_EXT_texture_integer,
  520. GL_EXT_texture_shared_exponent,
  521. GL_EXT_transform_feedback,
  522. GL_EXT_direct_state_access,
  523. GL_EXT_vertex_array_bgra,
  524. GL_EXT_texture_swizzle,
  525. GL_EXT_provoking_vertex,
  526. GL_EXT_texture_snorm,
  527. GL_EXT_separate_shader_objects,
  528. GL_EXT_shader_image_load_store,
  529. GL_EXT_vertex_attrib_64bit,
  530. GL_EXT_texture_sRGB_decode,
  531. GL_FfdMaskSGIX,
  532. GL_HP_convolution_border_modes,
  533. GL_HP_image_transform,
  534. GL_HP_occlusion_test,
  535. GL_HP_texture_lighting,
  536. GL_IBM_cull_vertex,
  537. GL_IBM_multimode_draw_arrays,
  538. GL_IBM_rasterpos_clip,
  539. GL_IBM_texture_mirrored_repeat,
  540. GL_IBM_vertex_array_lists,
  541. GL_INGR_blend_func_separate,
  542. GL_INGR_color_clamp,
  543. GL_INGR_interlace_read,
  544. GL_INGR_palette_buffer,
  545. GL_INTEL_framebuffer_CMAA,
  546. GL_INTEL_parallel_arrays,
  547. GL_INTEL_texture_scissor,
  548. GL_MESA_resize_buffers,
  549. GL_MESA_window_pos,
  550. GL_NV_blend_square,
  551. GL_NV_copy_depth_to_color,
  552. GL_NV_depth_clamp,
  553. GL_NV_evaluators,
  554. GL_NV_fence,
  555. GL_NV_float_buffer,
  556. GL_NV_fog_distance,
  557. GL_NV_fragment_program,
  558. GL_NV_half_float,
  559. GL_NV_light_max_exponent,
  560. GL_NV_multisample_filter_hint,
  561. GL_NV_occlusion_query,
  562. GL_NV_packed_depth_stencil,
  563. GL_NV_pixel_data_range,
  564. GL_NV_point_sprite,
  565. GL_NV_primitive_restart,
  566. GL_NV_register_combiners,
  567. GL_NV_register_combiners2,
  568. GL_NV_texgen_emboss,
  569. GL_NV_texgen_reflection,
  570. GL_NV_texture_compression_vtc,
  571. GL_NV_texture_env_combine4,
  572. GL_NV_texture_expand_normal,
  573. GL_NV_texture_rectangle,
  574. GL_NV_texture_shader,
  575. GL_NV_texture_shader2,
  576. GL_NV_texture_shader3,
  577. GL_NV_vertex_array_range,
  578. GL_NV_vertex_array_range2,
  579. GL_NV_vertex_program,
  580. GL_NV_vertex_program1_1,
  581. GL_NV_vertex_program2,
  582. GL_NV_fragment_program_option,
  583. GL_NV_fragment_program2,
  584. GL_NV_vertex_program2_option,
  585. GL_NV_vertex_program3,
  586. GL_NV_depth_buffer_float,
  587. GL_NV_fragment_program4,
  588. GL_NV_framebuffer_multisample_coverage,
  589. GL_NV_geometry_program4,
  590. GL_NV_gpu_program4,
  591. GL_NV_parameter_buffer_object,
  592. GL_NV_transform_feedback,
  593. GL_NV_vertex_program4,
  594. GL_NV_conditional_render,
  595. GL_NV_conservative_raster,
  596. GL_NV_conservative_raster_dilate,
  597. GL_NV_present_video,
  598. GL_NV_explicit_multisample,
  599. GL_NV_transform_feedback2,
  600. GL_NV_video_capture,
  601. GL_NV_copy_image,
  602. GL_NV_parameter_buffer_object2,
  603. GL_NV_shader_buffer_load,
  604. GL_NV_vertex_buffer_unified_memory,
  605. GL_NV_gpu_program5,
  606. GL_NV_gpu_shader5,
  607. GL_NV_shader_buffer_store,
  608. GL_NV_tessellation_program5,
  609. GL_NV_vertex_attrib_integer_64bit,
  610. GL_NV_multisample_coverage,
  611. GL_NV_vdpau_interop,
  612. GL_NV_texture_barrier,
  613. GL_OML_interlace,
  614. GL_OML_resample,
  615. GL_OML_subsample,
  616. GL_OVR_multiview,
  617. GL_OVR_multiview2,
  618. GL_PGI_misc_hints,
  619. GL_PGI_vertex_hints,
  620. GL_REND_screen_coordinates,
  621. GL_S3_s3tc,
  622. GL_SGIS_detail_texture,
  623. GL_SGIS_fog_function,
  624. GL_SGIS_generate_mipmap,
  625. GL_SGIS_multisample,
  626. GL_SGIS_pixel_texture,
  627. GL_SGIS_point_line_texgen,
  628. GL_SGIS_point_parameters,
  629. GL_SGIS_sharpen_texture,
  630. GL_SGIS_texture4D,
  631. GL_SGIS_texture_border_clamp,
  632. GL_SGIS_texture_color_mask,
  633. GL_SGIS_texture_edge_clamp,
  634. GL_SGIS_texture_filter4,
  635. GL_SGIS_texture_lod,
  636. GL_SGIS_texture_select,
  637. GL_SGIX_async,
  638. GL_SGIX_async_histogram,
  639. GL_SGIX_async_pixel,
  640. GL_SGIX_blend_alpha_minmax,
  641. GL_SGIX_calligraphic_fragment,
  642. GL_SGIX_clipmap,
  643. GL_SGIX_convolution_accuracy,
  644. GL_SGIX_depth_pass_instrument,
  645. GL_SGIX_depth_texture,
  646. GL_SGIX_flush_raster,
  647. GL_SGIX_fog_offset,
  648. GL_SGIX_fog_scale,
  649. GL_SGIX_fragment_lighting,
  650. GL_SGIX_framezoom,
  651. GL_SGIX_igloo_interface,
  652. GL_SGIX_impact_pixel_texture,
  653. GL_SGIX_instruments,
  654. GL_SGIX_interlace,
  655. GL_SGIX_ir_instrument1,
  656. GL_SGIX_list_priority,
  657. GL_SGIX_pixel_texture,
  658. GL_SGIX_pixel_tiles,
  659. GL_SGIX_polynomial_ffd,
  660. GL_SGIX_reference_plane,
  661. GL_SGIX_resample,
  662. GL_SGIX_scalebias_hint,
  663. GL_SGIX_shadow,
  664. GL_SGIX_shadow_ambient,
  665. GL_SGIX_sprite,
  666. GL_SGIX_subsample,
  667. GL_SGIX_tag_sample_buffer,
  668. GL_SGIX_texture_add_env,
  669. GL_SGIX_texture_coordinate_clamp,
  670. GL_SGIX_texture_lod_bias,
  671. GL_SGIX_texture_multi_buffer,
  672. GL_SGIX_texture_scale_bias,
  673. GL_SGIX_texture_select,
  674. GL_SGIX_vertex_preclip,
  675. GL_SGIX_ycrcb,
  676. GL_SGIX_ycrcb_subsample,
  677. GL_SGIX_ycrcba,
  678. GL_SGI_color_matrix,
  679. GL_SGI_color_table,
  680. GL_SGI_depth_pass_instrument,
  681. GL_SGI_texture_color_table,
  682. GL_SUNX_constant_data,
  683. GL_SUN_convolution_border_modes,
  684. GL_SUN_global_alpha,
  685. GL_SUN_mesh_array,
  686. GL_SUN_slice_accum,
  687. GL_SUN_triangle_list,
  688. GL_SUN_vertex,
  689. // WGL
  690. GL_WIN_phong_shading,
  691. GL_WIN_specular_fog,
  692. WGL_3DFX_multisample,
  693. WGL_ARB_buffer_region,
  694. WGL_ARB_extensions_string,
  695. WGL_ARB_make_current_read,
  696. WGL_ARB_multisample,
  697. WGL_ARB_pbuffer,
  698. WGL_ARB_pixel_format,
  699. WGL_ARB_pixel_format_float,
  700. WGL_ARB_render_texture,
  701. WGL_ARB_create_context,
  702. WGL_ARB_create_context_profile,
  703. WGL_ARB_framebuffer_sRGB,
  704. WGL_ARB_create_context_robustness,
  705. WGL_ATI_pixel_format_float,
  706. WGL_AMD_gpu_association,
  707. WGL_EXT_depth_float,
  708. WGL_EXT_display_color_table,
  709. WGL_EXT_extensions_string,
  710. WGL_EXT_make_current_read,
  711. WGL_EXT_multisample,
  712. WGL_EXT_pbuffer,
  713. WGL_EXT_pixel_format,
  714. WGL_EXT_swap_control,
  715. WGL_EXT_create_context_es2_profile,
  716. WGL_I3D_digital_video_control,
  717. WGL_I3D_gamma,
  718. WGL_I3D_genlock,
  719. WGL_I3D_image_buffer,
  720. WGL_I3D_swap_frame_lock,
  721. WGL_I3D_swap_frame_usage,
  722. WGL_NV_float_buffer,
  723. WGL_NV_render_depth_texture,
  724. WGL_NV_render_texture_rectangle,
  725. WGL_NV_vertex_array_range,
  726. WGL_NV_present_video,
  727. WGL_NV_video_output,
  728. WGL_NV_swap_group,
  729. WGL_NV_gpu_affinity,
  730. WGL_NV_video_capture,
  731. WGL_NV_copy_image,
  732. WGL_NV_multisample_coverage,
  733. WGL_NV_DX_interop,
  734. WGL_OML_sync_control,
  735. WGL_3DL_stereo_control,
  736. WGL_ARB_context_flush_control,
  737. WIN_draw_range_elements,
  738. WIN_swap_hint,
  739. // GLX
  740. GLX_VERSION_1_4,
  741. GLX_ARB_multisample,
  742. GLX_ARB_fbconfig_float,
  743. GLX_ARB_get_proc_address,
  744. GLX_ARB_create_context,
  745. GLX_ARB_create_context_profile,
  746. GLX_ARB_vertex_buffer_object,
  747. GLX_ARB_framebuffer_sRGB,
  748. GLX_ARB_create_context_robustness,
  749. GLX_EXT_visual_info,
  750. GLX_EXT_visual_rating,
  751. GLX_EXT_import_context,
  752. GLX_EXT_fbconfig_packed_float,
  753. GLX_EXT_framebuffer_sRGB,
  754. GLX_EXT_texture_from_pixmap,
  755. GLX_EXT_swap_control,
  756. GLX_ARB_context_flush_control,
  757. GLX_EXT_create_context_es2_profile : Boolean;
  758. const
  759. // GL_VERSION_1_1
  760. { AttribMask }
  761. GL_DEPTH_BUFFER_BIT = $00000100;
  762. GL_STENCIL_BUFFER_BIT = $00000400;
  763. GL_COLOR_BUFFER_BIT = $00004000;
  764. GL_TRUE = 1;
  765. GL_FALSE = 0;
  766. // BeginMode
  767. GL_POINTS = $0000;
  768. GL_LINES = $0001;
  769. GL_LINE_LOOP = $0002;
  770. GL_LINE_STRIP = $0003;
  771. GL_TRIANGLES = $0004;
  772. GL_TRIANGLE_STRIP = $0005;
  773. GL_TRIANGLE_FAN = $0006;
  774. { AlphaFunction }
  775. GL_NEVER = $0200;
  776. GL_LESS = $0201;
  777. GL_EQUAL = $0202;
  778. GL_LEQUAL = $0203;
  779. GL_GREATER = $0204;
  780. GL_NOTEQUAL = $0205;
  781. GL_GEQUAL = $0206;
  782. GL_ALWAYS = $0207;
  783. // BlendingFactorDest
  784. GL_ZERO = 0;
  785. GL_ONE = 1;
  786. GL_SRC_COLOR = $0300;
  787. GL_ONE_MINUS_SRC_COLOR = $0301;
  788. GL_SRC_ALPHA = $0302;
  789. GL_ONE_MINUS_SRC_ALPHA = $0303;
  790. GL_DST_ALPHA = $0304;
  791. GL_ONE_MINUS_DST_ALPHA = $0305;
  792. // BlendingFactorSrc
  793. GL_DST_COLOR = $0306;
  794. GL_ONE_MINUS_DST_COLOR = $0307;
  795. GL_SRC_ALPHA_SATURATE = $0308;
  796. // DrawBufferMode
  797. GL_NONE = 0;
  798. GL_FRONT_LEFT = $0400;
  799. GL_FRONT_RIGHT = $0401;
  800. GL_BACK_LEFT = $0402;
  801. GL_BACK_RIGHT = $0403;
  802. GL_FRONT = $0404;
  803. GL_BACK = $0405;
  804. GL_LEFT = $0406;
  805. GL_RIGHT = $0407;
  806. GL_FRONT_AND_BACK = $0408;
  807. // ErrorCode
  808. GL_NO_ERROR = 0;
  809. GL_INVALID_ENUM = $0500;
  810. GL_INVALID_VALUE = $0501;
  811. GL_INVALID_OPERATION = $0502;
  812. GL_OUT_OF_MEMORY = $0505;
  813. // FrontFaceDirection
  814. GL_CW = $0900;
  815. GL_CCW = $0901;
  816. // GetPName
  817. GL_POINT_SIZE = $0B11;
  818. GL_POINT_SIZE_RANGE = $0B12;
  819. GL_POINT_SIZE_GRANULARITY = $0B13;
  820. GL_LINE_SMOOTH = $0B20;
  821. GL_LINE_WIDTH = $0B21;
  822. GL_LINE_WIDTH_RANGE = $0B22;
  823. GL_LINE_WIDTH_GRANULARITY = $0B23;
  824. GL_POLYGON_SMOOTH = $0B41;
  825. GL_CULL_FACE = $0B44;
  826. GL_CULL_FACE_MODE = $0B45;
  827. GL_FRONT_FACE = $0B46;
  828. GL_DEPTH_RANGE = $0B70;
  829. GL_DEPTH_TEST = $0B71;
  830. GL_DEPTH_WRITEMASK = $0B72;
  831. GL_DEPTH_CLEAR_VALUE = $0B73;
  832. GL_DEPTH_FUNC = $0B74;
  833. GL_STENCIL_TEST = $0B90;
  834. GL_STENCIL_CLEAR_VALUE = $0B91;
  835. GL_STENCIL_FUNC = $0B92;
  836. GL_STENCIL_VALUE_MASK = $0B93;
  837. GL_STENCIL_FAIL = $0B94;
  838. GL_STENCIL_PASS_DEPTH_FAIL = $0B95;
  839. GL_STENCIL_PASS_DEPTH_PASS = $0B96;
  840. GL_STENCIL_REF = $0B97;
  841. GL_STENCIL_WRITEMASK = $0B98;
  842. GL_VIEWPORT = $0BA2;
  843. GL_DITHER = $0BD0;
  844. GL_BLEND_DST = $0BE0;
  845. GL_BLEND_SRC = $0BE1;
  846. GL_BLEND = $0BE2;
  847. GL_LOGIC_OP_MODE = $0BF0;
  848. GL_COLOR_LOGIC_OP = $0BF2;
  849. GL_DRAW_BUFFER = $0C01;
  850. GL_READ_BUFFER = $0C02;
  851. GL_SCISSOR_BOX = $0C10;
  852. GL_SCISSOR_TEST = $0C11;
  853. GL_COLOR_CLEAR_VALUE = $0C22;
  854. GL_COLOR_WRITEMASK = $0C23;
  855. GL_DOUBLEBUFFER = $0C32;
  856. GL_STEREO = $0C33;
  857. GL_LINE_SMOOTH_HINT = $0C52;
  858. GL_POLYGON_SMOOTH_HINT = $0C53;
  859. GL_UNPACK_SWAP_BYTES = $0CF0;
  860. GL_UNPACK_LSB_FIRST = $0CF1;
  861. GL_UNPACK_ROW_LENGTH = $0CF2;
  862. GL_UNPACK_SKIP_ROWS = $0CF3;
  863. GL_UNPACK_SKIP_PIXELS = $0CF4;
  864. GL_UNPACK_ALIGNMENT = $0CF5;
  865. GL_PACK_SWAP_BYTES = $0D00;
  866. GL_PACK_LSB_FIRST = $0D01;
  867. GL_PACK_ROW_LENGTH = $0D02;
  868. GL_PACK_SKIP_ROWS = $0D03;
  869. GL_PACK_SKIP_PIXELS = $0D04;
  870. GL_PACK_ALIGNMENT = $0D05;
  871. GL_MAX_TEXTURE_SIZE = $0D33;
  872. GL_MAX_VIEWPORT_DIMS = $0D3A;
  873. GL_SUBPIXEL_BITS = $0D50;
  874. GL_TEXTURE_1D = $0DE0;
  875. GL_TEXTURE_2D = $0DE1;
  876. GL_POLYGON_OFFSET_UNITS = $2A00;
  877. GL_POLYGON_OFFSET_POINT = $2A01;
  878. GL_POLYGON_OFFSET_LINE = $2A02;
  879. GL_POLYGON_OFFSET_FILL = $8037;
  880. GL_POLYGON_OFFSET_FACTOR = $8038;
  881. GL_TEXTURE_BINDING_1D = $8068;
  882. GL_TEXTURE_BINDING_2D = $8069;
  883. { GetTextureParameter }
  884. GL_TEXTURE_WIDTH = $1000;
  885. GL_TEXTURE_HEIGHT = $1001;
  886. GL_TEXTURE_INTERNAL_FORMAT = $1003;
  887. GL_TEXTURE_BORDER_COLOR = $1004;
  888. GL_TEXTURE_BORDER = $1005;
  889. GL_TEXTURE_RED_SIZE = $805C;
  890. GL_TEXTURE_GREEN_SIZE = $805D;
  891. GL_TEXTURE_BLUE_SIZE = $805E;
  892. GL_TEXTURE_ALPHA_SIZE = $805F;
  893. // HintMode
  894. GL_DONT_CARE = $1100;
  895. GL_FASTEST = $1101;
  896. GL_NICEST = $1102;
  897. // DataType
  898. GL_BYTE = $1400;
  899. GL_UNSIGNED_BYTE = $1401;
  900. GL_SHORT = $1402;
  901. GL_UNSIGNED_SHORT = $1403;
  902. GL_INT = $1404;
  903. GL_UNSIGNED_INT = $1405;
  904. GL_FLOAT = $1406;
  905. GL_DOUBLE = $140A;
  906. // LogicOp
  907. GL_CLEAR = $1500;
  908. GL_AND = $1501;
  909. GL_AND_REVERSE = $1502;
  910. GL_COPY = $1503;
  911. GL_AND_INVERTED = $1504;
  912. GL_NOOP = $1505;
  913. GL_XOR = $1506;
  914. GL_OR = $1507;
  915. GL_NOR = $1508;
  916. GL_EQUIV = $1509;
  917. GL_INVERT = $150A;
  918. GL_OR_REVERSE = $150B;
  919. GL_COPY_INVERTED = $150C;
  920. GL_OR_INVERTED = $150D;
  921. GL_NAND = $150E;
  922. GL_SET = $150F;
  923. // MatrixMode (for gl3.h, FBO attachment type)
  924. GL_TEXTURE = $1702;
  925. // PixelCopyType
  926. GL_COLOR = $1800;
  927. GL_DEPTH = $1801;
  928. GL_STENCIL = $1802;
  929. // PixelFormat
  930. GL_STENCIL_INDEX = $1901;
  931. GL_DEPTH_COMPONENT = $1902;
  932. GL_RED = $1903;
  933. GL_GREEN = $1904;
  934. GL_BLUE = $1905;
  935. GL_ALPHA = $1906;
  936. GL_RGB = $1907;
  937. GL_RGBA = $1908;
  938. // PolygonMode
  939. GL_POINT = $1B00;
  940. GL_LINE = $1B01;
  941. GL_FILL = $1B02;
  942. // StencilOp
  943. GL_KEEP = $1E00;
  944. GL_REPLACE = $1E01;
  945. GL_INCR = $1E02;
  946. GL_DECR = $1E03;
  947. // StringName
  948. GL_VENDOR = $1F00;
  949. GL_RENDERER = $1F01;
  950. GL_VERSION = $1F02;
  951. GL_EXTENSIONS = $1F03;
  952. // TextureMagFilter
  953. GL_NEAREST = $2600;
  954. GL_LINEAR = $2601;
  955. // TextureMinFilter
  956. GL_NEAREST_MIPMAP_NEAREST = $2700;
  957. GL_LINEAR_MIPMAP_NEAREST = $2701;
  958. GL_NEAREST_MIPMAP_LINEAR = $2702;
  959. GL_LINEAR_MIPMAP_LINEAR = $2703;
  960. // TextureParameterName
  961. GL_TEXTURE_MAG_FILTER = $2800;
  962. GL_TEXTURE_MIN_FILTER = $2801;
  963. GL_TEXTURE_WRAP_S = $2802;
  964. GL_TEXTURE_WRAP_T = $2803;
  965. // TextureTarget
  966. GL_PROXY_TEXTURE_1D = $8063;
  967. GL_PROXY_TEXTURE_2D = $8064;
  968. // TextureWrapMode
  969. GL_REPEAT = $2901;
  970. // PixelInternalFormat
  971. GL_R3_G3_B2 = $2A10;
  972. GL_RGB4 = $804F;
  973. GL_RGB5 = $8050;
  974. GL_RGB8 = $8051;
  975. GL_RGB10 = $8052;
  976. GL_RGB12 = $8053;
  977. GL_RGB16 = $8054;
  978. GL_RGBA2 = $8055;
  979. GL_RGBA4 = $8056;
  980. GL_RGB5_A1 = $8057;
  981. GL_RGBA8 = $8058;
  982. GL_RGB10_A2 = $8059;
  983. GL_RGBA12 = $805A;
  984. GL_RGBA16 = $805B;
  985. {$IFDEF USE_DEPRECATED}
  986. GL_ACCUM = $0100;
  987. GL_LOAD = $0101;
  988. GL_RETURN = $0102;
  989. GL_MULT = $0103;
  990. GL_ADD = $0104;
  991. GL_CURRENT_BIT = $00000001;
  992. GL_POINT_BIT = $00000002;
  993. GL_LINE_BIT = $00000004;
  994. GL_POLYGON_BIT = $00000008;
  995. GL_POLYGON_STIPPLE_BIT = $00000010;
  996. GL_PIXEL_MODE_BIT = $00000020;
  997. GL_LIGHTING_BIT = $00000040;
  998. GL_FOG_BIT = $00000080;
  999. GL_ACCUM_BUFFER_BIT = $00000200;
  1000. GL_VIEWPORT_BIT = $00000800;
  1001. GL_TRANSFORM_BIT = $00001000;
  1002. GL_ENABLE_BIT = $00002000;
  1003. GL_HINT_BIT = $00008000;
  1004. GL_EVAL_BIT = $00010000;
  1005. GL_LIST_BIT = $00020000;
  1006. GL_TEXTURE_BIT = $00040000;
  1007. GL_SCISSOR_BIT = $00080000;
  1008. GL_ALL_ATTRIB_BITS = $000FFFFF;
  1009. GL_QUADS = $0007;
  1010. GL_QUAD_STRIP = $0008;
  1011. GL_POLYGON = $0009;
  1012. GL_CLIP_PLANE0 = $3000;
  1013. GL_CLIP_PLANE1 = $3001;
  1014. GL_CLIP_PLANE2 = $3002;
  1015. GL_CLIP_PLANE3 = $3003;
  1016. GL_CLIP_PLANE4 = $3004;
  1017. GL_CLIP_PLANE5 = $3005;
  1018. GL_2_BYTES = $1407;
  1019. GL_3_BYTES = $1408;
  1020. GL_4_BYTES = $1409;
  1021. GL_AUX0 = $0409;
  1022. GL_AUX1 = $040A;
  1023. GL_AUX2 = $040B;
  1024. GL_AUX3 = $040C;
  1025. GL_STACK_OVERFLOW = $0503;
  1026. GL_STACK_UNDERFLOW = $0504;
  1027. GL_2D = $0600;
  1028. GL_3D = $0601;
  1029. GL_3D_COLOR = $0602;
  1030. GL_3D_COLOR_TEXTURE = $0603;
  1031. GL_4D_COLOR_TEXTURE = $0604;
  1032. GL_PASS_THROUGH_TOKEN = $0700;
  1033. GL_POINT_TOKEN = $0701;
  1034. GL_LINE_TOKEN = $0702;
  1035. GL_POLYGON_TOKEN = $0703;
  1036. GL_BITMAP_TOKEN = $0704;
  1037. GL_DRAW_PIXEL_TOKEN = $0705;
  1038. GL_COPY_PIXEL_TOKEN = $0706;
  1039. GL_LINE_RESET_TOKEN = $0707;
  1040. GL_EXP = $0800;
  1041. GL_EXP2 = $0801;
  1042. GL_COEFF = $0A00;
  1043. GL_ORDER = $0A01;
  1044. GL_DOMAIN = $0A02;
  1045. GL_CURRENT_COLOR = $0B00;
  1046. GL_CURRENT_INDEX = $0B01;
  1047. GL_CURRENT_NORMAL = $0B02;
  1048. GL_CURRENT_TEXTURE_COORDS = $0B03;
  1049. GL_CURRENT_RASTER_COLOR = $0B04;
  1050. GL_CURRENT_RASTER_INDEX = $0B05;
  1051. GL_CURRENT_RASTER_TEXTURE_COORDS = $0B06;
  1052. GL_CURRENT_RASTER_POSITION = $0B07;
  1053. GL_CURRENT_RASTER_POSITION_VALID = $0B08;
  1054. GL_CURRENT_RASTER_DISTANCE = $0B09;
  1055. GL_POINT_SMOOTH = $0B10;
  1056. GL_LINE_STIPPLE = $0B24;
  1057. GL_LINE_STIPPLE_PATTERN = $0B25;
  1058. GL_LINE_STIPPLE_REPEAT = $0B26;
  1059. GL_LIST_MODE = $0B30;
  1060. GL_MAX_LIST_NESTING = $0B31;
  1061. GL_LIST_BASE = $0B32;
  1062. GL_LIST_INDEX = $0B33;
  1063. GL_POLYGON_MODE = $0B40;
  1064. GL_POLYGON_STIPPLE = $0B42;
  1065. GL_EDGE_FLAG = $0B43;
  1066. GL_LIGHTING = $0B50;
  1067. GL_LIGHT_MODEL_LOCAL_VIEWER = $0B51;
  1068. GL_LIGHT_MODEL_TWO_SIDE = $0B52;
  1069. GL_LIGHT_MODEL_AMBIENT = $0B53;
  1070. GL_SHADE_MODEL = $0B54;
  1071. GL_COLOR_MATERIAL_FACE = $0B55;
  1072. GL_COLOR_MATERIAL_PARAMETER = $0B56;
  1073. GL_COLOR_MATERIAL = $0B57;
  1074. GL_FOG = $0B60;
  1075. GL_FOG_INDEX = $0B61;
  1076. GL_FOG_DENSITY = $0B62;
  1077. GL_FOG_START = $0B63;
  1078. GL_FOG_END = $0B64;
  1079. GL_FOG_MODE = $0B65;
  1080. GL_FOG_COLOR = $0B66;
  1081. GL_ACCUM_CLEAR_VALUE = $0B80;
  1082. GL_MATRIX_MODE = $0BA0;
  1083. GL_NORMALIZE = $0BA1;
  1084. GL_MODELVIEW_STACK_DEPTH = $0BA3;
  1085. GL_PROJECTION_STACK_DEPTH = $0BA4;
  1086. GL_TEXTURE_STACK_DEPTH = $0BA5;
  1087. GL_MODELVIEW_MATRIX = $0BA6;
  1088. GL_PROJECTION_MATRIX = $0BA7;
  1089. GL_TEXTURE_MATRIX = $0BA8;
  1090. GL_ATTRIB_STACK_DEPTH = $0BB0;
  1091. GL_CLIENT_ATTRIB_STACK_DEPTH = $0BB1;
  1092. GL_ALPHA_TEST = $0BC0;
  1093. GL_ALPHA_TEST_FUNC = $0BC1;
  1094. GL_ALPHA_TEST_REF = $0BC2;
  1095. GL_INDEX_LOGIC_OP = $0BF1;
  1096. GL_AUX_BUFFERS = $0C00;
  1097. GL_INDEX_CLEAR_VALUE = $0C20;
  1098. GL_INDEX_WRITEMASK = $0C21;
  1099. GL_INDEX_MODE = $0C30;
  1100. GL_RGBA_MODE = $0C31;
  1101. GL_RENDER_MODE = $0C40;
  1102. GL_PERSPECTIVE_CORRECTION_HINT = $0C50;
  1103. GL_POINT_SMOOTH_HINT = $0C51;
  1104. GL_FOG_HINT = $0C54;
  1105. GL_TEXTURE_GEN_S = $0C60;
  1106. GL_TEXTURE_GEN_T = $0C61;
  1107. GL_TEXTURE_GEN_R = $0C62;
  1108. GL_TEXTURE_GEN_Q = $0C63;
  1109. GL_PIXEL_MAP_I_TO_I = $0C70;
  1110. GL_PIXEL_MAP_S_TO_S = $0C71;
  1111. GL_PIXEL_MAP_I_TO_R = $0C72;
  1112. GL_PIXEL_MAP_I_TO_G = $0C73;
  1113. GL_PIXEL_MAP_I_TO_B = $0C74;
  1114. GL_PIXEL_MAP_I_TO_A = $0C75;
  1115. GL_PIXEL_MAP_R_TO_R = $0C76;
  1116. GL_PIXEL_MAP_G_TO_G = $0C77;
  1117. GL_PIXEL_MAP_B_TO_B = $0C78;
  1118. GL_PIXEL_MAP_A_TO_A = $0C79;
  1119. GL_PIXEL_MAP_I_TO_I_SIZE = $0CB0;
  1120. GL_PIXEL_MAP_S_TO_S_SIZE = $0CB1;
  1121. GL_PIXEL_MAP_I_TO_R_SIZE = $0CB2;
  1122. GL_PIXEL_MAP_I_TO_G_SIZE = $0CB3;
  1123. GL_PIXEL_MAP_I_TO_B_SIZE = $0CB4;
  1124. GL_PIXEL_MAP_I_TO_A_SIZE = $0CB5;
  1125. GL_PIXEL_MAP_R_TO_R_SIZE = $0CB6;
  1126. GL_PIXEL_MAP_G_TO_G_SIZE = $0CB7;
  1127. GL_PIXEL_MAP_B_TO_B_SIZE = $0CB8;
  1128. GL_PIXEL_MAP_A_TO_A_SIZE = $0CB9;
  1129. GL_MAP_COLOR = $0D10;
  1130. GL_MAP_STENCIL = $0D11;
  1131. GL_INDEX_SHIFT = $0D12;
  1132. GL_INDEX_OFFSET = $0D13;
  1133. GL_RED_SCALE = $0D14;
  1134. GL_RED_BIAS = $0D15;
  1135. GL_ZOOM_X = $0D16;
  1136. GL_ZOOM_Y = $0D17;
  1137. GL_GREEN_SCALE = $0D18;
  1138. GL_GREEN_BIAS = $0D19;
  1139. GL_BLUE_SCALE = $0D1A;
  1140. GL_BLUE_BIAS = $0D1B;
  1141. GL_ALPHA_SCALE = $0D1C;
  1142. GL_ALPHA_BIAS = $0D1D;
  1143. GL_DEPTH_SCALE = $0D1E;
  1144. GL_DEPTH_BIAS = $0D1F;
  1145. GL_MAX_EVAL_ORDER = $0D30;
  1146. GL_MAX_LIGHTS = $0D31;
  1147. GL_MAX_CLIP_PLANES = $0D32;
  1148. GL_MAX_PIXEL_MAP_TABLE = $0D34;
  1149. GL_MAX_ATTRIB_STACK_DEPTH = $0D35;
  1150. GL_MAX_MODELVIEW_STACK_DEPTH = $0D36;
  1151. GL_MAX_NAME_STACK_DEPTH = $0D37;
  1152. GL_MAX_PROJECTION_STACK_DEPTH = $0D38;
  1153. GL_MAX_TEXTURE_STACK_DEPTH = $0D39;
  1154. GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = $0D3B;
  1155. GL_INDEX_BITS = $0D51;
  1156. GL_RED_BITS = $0D52;
  1157. GL_GREEN_BITS = $0D53;
  1158. GL_BLUE_BITS = $0D54;
  1159. GL_ALPHA_BITS = $0D55;
  1160. GL_DEPTH_BITS = $0D56;
  1161. GL_STENCIL_BITS = $0D57;
  1162. GL_ACCUM_RED_BITS = $0D58;
  1163. GL_ACCUM_GREEN_BITS = $0D59;
  1164. GL_ACCUM_BLUE_BITS = $0D5A;
  1165. GL_ACCUM_ALPHA_BITS = $0D5B;
  1166. GL_NAME_STACK_DEPTH = $0D70;
  1167. GL_AUTO_NORMAL = $0D80;
  1168. GL_MAP1_COLOR_4 = $0D90;
  1169. GL_MAP1_INDEX = $0D91;
  1170. GL_MAP1_NORMAL = $0D92;
  1171. GL_MAP1_TEXTURE_COORD_1 = $0D93;
  1172. GL_MAP1_TEXTURE_COORD_2 = $0D94;
  1173. GL_MAP1_TEXTURE_COORD_3 = $0D95;
  1174. GL_MAP1_TEXTURE_COORD_4 = $0D96;
  1175. GL_MAP1_VERTEX_3 = $0D97;
  1176. GL_MAP1_VERTEX_4 = $0D98;
  1177. GL_MAP2_COLOR_4 = $0DB0;
  1178. GL_MAP2_INDEX = $0DB1;
  1179. GL_MAP2_NORMAL = $0DB2;
  1180. GL_MAP2_TEXTURE_COORD_1 = $0DB3;
  1181. GL_MAP2_TEXTURE_COORD_2 = $0DB4;
  1182. GL_MAP2_TEXTURE_COORD_3 = $0DB5;
  1183. GL_MAP2_TEXTURE_COORD_4 = $0DB6;
  1184. GL_MAP2_VERTEX_3 = $0DB7;
  1185. GL_MAP2_VERTEX_4 = $0DB8;
  1186. GL_MAP1_GRID_DOMAIN = $0DD0;
  1187. GL_MAP1_GRID_SEGMENTS = $0DD1;
  1188. GL_MAP2_GRID_DOMAIN = $0DD2;
  1189. GL_MAP2_GRID_SEGMENTS = $0DD3;
  1190. GL_FEEDBACK_BUFFER_POINTER = $0DF0;
  1191. GL_FEEDBACK_BUFFER_SIZE = $0DF1;
  1192. GL_FEEDBACK_BUFFER_TYPE = $0DF2;
  1193. GL_SELECTION_BUFFER_POINTER = $0DF3;
  1194. GL_SELECTION_BUFFER_SIZE = $0DF4;
  1195. GL_LIGHT0 = $4000;
  1196. GL_LIGHT1 = $4001;
  1197. GL_LIGHT2 = $4002;
  1198. GL_LIGHT3 = $4003;
  1199. GL_LIGHT4 = $4004;
  1200. GL_LIGHT5 = $4005;
  1201. GL_LIGHT6 = $4006;
  1202. GL_LIGHT7 = $4007;
  1203. GL_AMBIENT = $1200;
  1204. GL_DIFFUSE = $1201;
  1205. GL_SPECULAR = $1202;
  1206. GL_POSITION = $1203;
  1207. GL_SPOT_DIRECTION = $1204;
  1208. GL_SPOT_EXPONENT = $1205;
  1209. GL_SPOT_CUTOFF = $1206;
  1210. GL_CONSTANT_ATTENUATION = $1207;
  1211. GL_LINEAR_ATTENUATION = $1208;
  1212. GL_QUADRATIC_ATTENUATION = $1209;
  1213. GL_COMPILE = $1300;
  1214. GL_COMPILE_AND_EXECUTE = $1301;
  1215. GL_EMISSION = $1600;
  1216. GL_SHININESS = $1601;
  1217. GL_AMBIENT_AND_DIFFUSE = $1602;
  1218. GL_COLOR_INDEXES = $1603;
  1219. GL_MODELVIEW = $1700;
  1220. GL_PROJECTION = $1701;
  1221. GL_COLOR_INDEX = $1900;
  1222. GL_LUMINANCE = $1909;
  1223. GL_LUMINANCE_ALPHA = $190A;
  1224. GL_BITMAP = $1A00;
  1225. GL_RENDER = $1C00;
  1226. GL_FEEDBACK = $1C01;
  1227. GL_SELECT = $1C02;
  1228. GL_FLAT = $1D00;
  1229. GL_SMOOTH = $1D01;
  1230. GL_S = $2000;
  1231. GL_T = $2001;
  1232. GL_R = $2002;
  1233. GL_Q = $2003;
  1234. GL_MODULATE = $2100;
  1235. GL_DECAL = $2101;
  1236. GL_TEXTURE_ENV_MODE = $2200;
  1237. GL_TEXTURE_ENV_COLOR = $2201;
  1238. GL_TEXTURE_ENV = $2300;
  1239. GL_EYE_LINEAR = $2400;
  1240. GL_OBJECT_LINEAR = $2401;
  1241. GL_SPHERE_MAP = $2402;
  1242. GL_TEXTURE_GEN_MODE = $2500;
  1243. GL_OBJECT_PLANE = $2501;
  1244. GL_EYE_PLANE = $2502;
  1245. GL_CLAMP = $2900;
  1246. GL_CLIENT_PIXEL_STORE_BIT = $00000001;
  1247. GL_CLIENT_VERTEX_ARRAY_BIT = $00000002;
  1248. GL_CLIENT_ALL_ATTRIB_BITS = $FFFFFFFF;
  1249. GL_ALPHA4 = $803B;
  1250. GL_ALPHA8 = $803C;
  1251. GL_ALPHA12 = $803D;
  1252. GL_ALPHA16 = $803E;
  1253. GL_LUMINANCE4 = $803F;
  1254. GL_LUMINANCE8 = $8040;
  1255. GL_LUMINANCE12 = $8041;
  1256. GL_LUMINANCE16 = $8042;
  1257. GL_LUMINANCE4_ALPHA4 = $8043;
  1258. GL_LUMINANCE6_ALPHA2 = $8044;
  1259. GL_LUMINANCE8_ALPHA8 = $8045;
  1260. GL_LUMINANCE12_ALPHA4 = $8046;
  1261. GL_LUMINANCE12_ALPHA12 = $8047;
  1262. GL_LUMINANCE16_ALPHA16 = $8048;
  1263. GL_INTENSITY = $8049;
  1264. GL_INTENSITY4 = $804A;
  1265. GL_INTENSITY8 = $804B;
  1266. GL_INTENSITY12 = $804C;
  1267. GL_INTENSITY16 = $804D;
  1268. GL_TEXTURE_LUMINANCE_SIZE = $8060;
  1269. GL_TEXTURE_INTENSITY_SIZE = $8061;
  1270. GL_TEXTURE_PRIORITY = $8066;
  1271. GL_TEXTURE_RESIDENT = $8067;
  1272. GL_VERTEX_ARRAY = $8074;
  1273. GL_NORMAL_ARRAY = $8075;
  1274. GL_COLOR_ARRAY = $8076;
  1275. GL_INDEX_ARRAY = $8077;
  1276. GL_TEXTURE_COORD_ARRAY = $8078;
  1277. GL_EDGE_FLAG_ARRAY = $8079;
  1278. GL_VERTEX_ARRAY_SIZE = $807A;
  1279. GL_VERTEX_ARRAY_TYPE = $807B;
  1280. GL_VERTEX_ARRAY_STRIDE = $807C;
  1281. GL_NORMAL_ARRAY_TYPE = $807E;
  1282. GL_NORMAL_ARRAY_STRIDE = $807F;
  1283. GL_COLOR_ARRAY_SIZE = $8081;
  1284. GL_COLOR_ARRAY_TYPE = $8082;
  1285. GL_COLOR_ARRAY_STRIDE = $8083;
  1286. GL_INDEX_ARRAY_TYPE = $8085;
  1287. GL_INDEX_ARRAY_STRIDE = $8086;
  1288. GL_TEXTURE_COORD_ARRAY_SIZE = $8088;
  1289. GL_TEXTURE_COORD_ARRAY_TYPE = $8089;
  1290. GL_TEXTURE_COORD_ARRAY_STRIDE = $808A;
  1291. GL_EDGE_FLAG_ARRAY_STRIDE = $808C;
  1292. GL_VERTEX_ARRAY_POINTER = $808E;
  1293. GL_NORMAL_ARRAY_POINTER = $808F;
  1294. GL_COLOR_ARRAY_POINTER = $8090;
  1295. GL_INDEX_ARRAY_POINTER = $8091;
  1296. GL_TEXTURE_COORD_ARRAY_POINTER = $8092;
  1297. GL_EDGE_FLAG_ARRAY_POINTER = $8093;
  1298. GL_V2F = $2A20;
  1299. GL_V3F = $2A21;
  1300. GL_C4UB_V2F = $2A22;
  1301. GL_C4UB_V3F = $2A23;
  1302. GL_C3F_V3F = $2A24;
  1303. GL_N3F_V3F = $2A25;
  1304. GL_C4F_N3F_V3F = $2A26;
  1305. GL_T2F_V3F = $2A27;
  1306. GL_T4F_V4F = $2A28;
  1307. GL_T2F_C4UB_V3F = $2A29;
  1308. GL_T2F_C3F_V3F = $2A2A;
  1309. GL_T2F_N3F_V3F = $2A2B;
  1310. GL_T2F_C4F_N3F_V3F = $2A2C;
  1311. GL_T4F_C4F_N3F_V4F = $2A2D;
  1312. GL_COLOR_TABLE_FORMAT_EXT = $80D8;
  1313. GL_COLOR_TABLE_WIDTH_EXT = $80D9;
  1314. GL_COLOR_TABLE_RED_SIZE_EXT = $80DA;
  1315. GL_COLOR_TABLE_GREEN_SIZE_EXT = $80DB;
  1316. GL_COLOR_TABLE_BLUE_SIZE_EXT = $80DC;
  1317. GL_COLOR_TABLE_ALPHA_SIZE_EXT = $80DD;
  1318. GL_COLOR_TABLE_LUMINANCE_SIZE_EXT = $80DE;
  1319. GL_COLOR_TABLE_INTENSITY_SIZE_EXT = $80DF;
  1320. GL_LOGIC_OP = GL_INDEX_LOGIC_OP;
  1321. GL_TEXTURE_COMPONENTS = GL_TEXTURE_INTERNAL_FORMAT;
  1322. {$ENDIF}
  1323. // GL_VERSION_1_2
  1324. GL_UNSIGNED_BYTE_3_3_2 = $8032;
  1325. GL_UNSIGNED_SHORT_4_4_4_4 = $8033;
  1326. GL_UNSIGNED_SHORT_5_5_5_1 = $8034;
  1327. GL_UNSIGNED_INT_8_8_8_8 = $8035;
  1328. GL_UNSIGNED_INT_10_10_10_2 = $8036;
  1329. GL_TEXTURE_BINDING_3D = $806A;
  1330. GL_PACK_SKIP_IMAGES = $806B;
  1331. GL_PACK_IMAGE_HEIGHT = $806C;
  1332. GL_UNPACK_SKIP_IMAGES = $806D;
  1333. GL_UNPACK_IMAGE_HEIGHT = $806E;
  1334. GL_TEXTURE_3D = $806F;
  1335. GL_PROXY_TEXTURE_3D = $8070;
  1336. GL_TEXTURE_DEPTH = $8071;
  1337. GL_TEXTURE_WRAP_R = $8072;
  1338. GL_MAX_3D_TEXTURE_SIZE = $8073;
  1339. GL_UNSIGNED_BYTE_2_3_3_REV = $8362;
  1340. GL_UNSIGNED_SHORT_5_6_5 = $8363;
  1341. GL_UNSIGNED_SHORT_5_6_5_REV = $8364;
  1342. GL_UNSIGNED_SHORT_4_4_4_4_REV = $8365;
  1343. GL_UNSIGNED_SHORT_1_5_5_5_REV = $8366;
  1344. GL_UNSIGNED_INT_8_8_8_8_REV = $8367;
  1345. GL_UNSIGNED_INT_2_10_10_10_REV = $8368;
  1346. GL_BGR = $80E0;
  1347. GL_BGRA = $80E1;
  1348. GL_MAX_ELEMENTS_VERTICES = $80E8;
  1349. GL_MAX_ELEMENTS_INDICES = $80E9;
  1350. GL_CLAMP_TO_EDGE = $812F;
  1351. GL_TEXTURE_MIN_LOD = $813A;
  1352. GL_TEXTURE_MAX_LOD = $813B;
  1353. GL_TEXTURE_BASE_LEVEL = $813C;
  1354. GL_TEXTURE_MAX_LEVEL = $813D;
  1355. GL_SMOOTH_POINT_SIZE_RANGE = $0B12;
  1356. GL_SMOOTH_POINT_SIZE_GRANULARITY = $0B13;
  1357. GL_SMOOTH_LINE_WIDTH_RANGE = $0B22;
  1358. GL_SMOOTH_LINE_WIDTH_GRANULARITY = $0B23;
  1359. GL_ALIASED_LINE_WIDTH_RANGE = $846E;
  1360. {$IFDEF USE_DEPRECATED}
  1361. GL_RESCALE_NORMAL = $803A;
  1362. GL_LIGHT_MODEL_COLOR_CONTROL = $81F8;
  1363. GL_SINGLE_COLOR = $81F9;
  1364. GL_SEPARATE_SPECULAR_COLOR = $81FA;
  1365. GL_ALIASED_POINT_SIZE_RANGE = $846D;
  1366. {$ENDIF}
  1367. // GL_VERSION_1_3
  1368. GL_TEXTURE0 = $84C0;
  1369. GL_TEXTURE1 = $84C1;
  1370. GL_TEXTURE2 = $84C2;
  1371. GL_TEXTURE3 = $84C3;
  1372. GL_TEXTURE4 = $84C4;
  1373. GL_TEXTURE5 = $84C5;
  1374. GL_TEXTURE6 = $84C6;
  1375. GL_TEXTURE7 = $84C7;
  1376. GL_TEXTURE8 = $84C8;
  1377. GL_TEXTURE9 = $84C9;
  1378. GL_TEXTURE10 = $84CA;
  1379. GL_TEXTURE11 = $84CB;
  1380. GL_TEXTURE12 = $84CC;
  1381. GL_TEXTURE13 = $84CD;
  1382. GL_TEXTURE14 = $84CE;
  1383. GL_TEXTURE15 = $84CF;
  1384. GL_TEXTURE16 = $84D0;
  1385. GL_TEXTURE17 = $84D1;
  1386. GL_TEXTURE18 = $84D2;
  1387. GL_TEXTURE19 = $84D3;
  1388. GL_TEXTURE20 = $84D4;
  1389. GL_TEXTURE21 = $84D5;
  1390. GL_TEXTURE22 = $84D6;
  1391. GL_TEXTURE23 = $84D7;
  1392. GL_TEXTURE24 = $84D8;
  1393. GL_TEXTURE25 = $84D9;
  1394. GL_TEXTURE26 = $84DA;
  1395. GL_TEXTURE27 = $84DB;
  1396. GL_TEXTURE28 = $84DC;
  1397. GL_TEXTURE29 = $84DD;
  1398. GL_TEXTURE30 = $84DE;
  1399. GL_TEXTURE31 = $84DF;
  1400. GL_ACTIVE_TEXTURE = $84E0;
  1401. GL_MULTISAMPLE = $809D;
  1402. GL_SAMPLE_ALPHA_TO_COVERAGE = $809E;
  1403. GL_SAMPLE_ALPHA_TO_ONE = $809F;
  1404. GL_SAMPLE_COVERAGE = $80A0;
  1405. GL_SAMPLE_BUFFERS = $80A8;
  1406. GL_SAMPLES = $80A9;
  1407. GL_SAMPLE_COVERAGE_VALUE = $80AA;
  1408. GL_SAMPLE_COVERAGE_INVERT = $80AB;
  1409. GL_TEXTURE_CUBE_MAP = $8513;
  1410. GL_TEXTURE_BINDING_CUBE_MAP = $8514;
  1411. GL_TEXTURE_CUBE_MAP_POSITIVE_X = $8515;
  1412. GL_TEXTURE_CUBE_MAP_NEGATIVE_X = $8516;
  1413. GL_TEXTURE_CUBE_MAP_POSITIVE_Y = $8517;
  1414. GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = $8518;
  1415. GL_TEXTURE_CUBE_MAP_POSITIVE_Z = $8519;
  1416. GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = $851A;
  1417. GL_PROXY_TEXTURE_CUBE_MAP = $851B;
  1418. GL_MAX_CUBE_MAP_TEXTURE_SIZE = $851C;
  1419. GL_COMPRESSED_RGB = $84ED;
  1420. GL_COMPRESSED_RGBA = $84EE;
  1421. GL_TEXTURE_COMPRESSION_HINT = $84EF;
  1422. GL_TEXTURE_COMPRESSED_IMAGE_SIZE = $86A0;
  1423. GL_TEXTURE_COMPRESSED = $86A1;
  1424. GL_NUM_COMPRESSED_TEXTURE_FORMATS = $86A2;
  1425. GL_COMPRESSED_TEXTURE_FORMATS = $86A3;
  1426. GL_CLAMP_TO_BORDER = $812D;
  1427. {$IFDEF USE_DEPRECATED}
  1428. GL_CLIENT_ACTIVE_TEXTURE = $84E1;
  1429. GL_MAX_TEXTURE_UNITS = $84E2;
  1430. GL_TRANSPOSE_MODELVIEW_MATRIX = $84E3;
  1431. GL_TRANSPOSE_PROJECTION_MATRIX = $84E4;
  1432. GL_TRANSPOSE_TEXTURE_MATRIX = $84E5;
  1433. GL_TRANSPOSE_COLOR_MATRIX = $84E6;
  1434. GL_MULTISAMPLE_BIT = $20000000;
  1435. GL_NORMAL_MAP = $8511;
  1436. GL_REFLECTION_MAP = $8512;
  1437. GL_COMPRESSED_ALPHA = $84E9;
  1438. GL_COMPRESSED_LUMINANCE = $84EA;
  1439. GL_COMPRESSED_LUMINANCE_ALPHA = $84EB;
  1440. GL_COMPRESSED_INTENSITY = $84EC;
  1441. GL_COMBINE = $8570;
  1442. GL_COMBINE_RGB = $8571;
  1443. GL_COMBINE_ALPHA = $8572;
  1444. GL_SOURCE0_RGB = $8580;
  1445. GL_SOURCE1_RGB = $8581;
  1446. GL_SOURCE2_RGB = $8582;
  1447. GL_SOURCE0_ALPHA = $8588;
  1448. GL_SOURCE1_ALPHA = $8589;
  1449. GL_SOURCE2_ALPHA = $858A;
  1450. GL_OPERAND0_RGB = $8590;
  1451. GL_OPERAND1_RGB = $8591;
  1452. GL_OPERAND2_RGB = $8592;
  1453. GL_OPERAND0_ALPHA = $8598;
  1454. GL_OPERAND1_ALPHA = $8599;
  1455. GL_OPERAND2_ALPHA = $859A;
  1456. GL_RGB_SCALE = $8573;
  1457. GL_ADD_SIGNED = $8574;
  1458. GL_INTERPOLATE = $8575;
  1459. GL_SUBTRACT = $84E7;
  1460. GL_CONSTANT = $8576;
  1461. GL_PRIMARY_COLOR = $8577;
  1462. GL_PREVIOUS = $8578;
  1463. GL_DOT3_RGB = $86AE;
  1464. GL_DOT3_RGBA = $86AF;
  1465. {$ENDIF}
  1466. // GL_VERSION_1_4
  1467. GL_BLEND_DST_RGB = $80C8;
  1468. GL_BLEND_SRC_RGB = $80C9;
  1469. GL_BLEND_DST_ALPHA = $80CA;
  1470. GL_BLEND_SRC_ALPHA = $80CB;
  1471. GL_POINT_FADE_THRESHOLD_SIZE = $8128;
  1472. GL_DEPTH_COMPONENT16 = $81A5;
  1473. GL_DEPTH_COMPONENT24 = $81A6;
  1474. GL_DEPTH_COMPONENT32 = $81A7;
  1475. GL_MIRRORED_REPEAT = $8370;
  1476. GL_MAX_TEXTURE_LOD_BIAS = $84FD;
  1477. GL_TEXTURE_LOD_BIAS = $8501;
  1478. GL_INCR_WRAP = $8507;
  1479. GL_DECR_WRAP = $8508;
  1480. GL_TEXTURE_DEPTH_SIZE = $884A;
  1481. GL_TEXTURE_COMPARE_MODE = $884C;
  1482. GL_TEXTURE_COMPARE_FUNC = $884D;
  1483. {$IFDEF USE_DEPRECATED}
  1484. GL_POINT_SIZE_MIN = $8126;
  1485. GL_POINT_SIZE_MAX = $8127;
  1486. GL_POINT_DISTANCE_ATTENUATION = $8129;
  1487. GL_GENERATE_MIPMAP = $8191;
  1488. GL_GENERATE_MIPMAP_HINT = $8192;
  1489. GL_FOG_COORDINATE_SOURCE = $8450;
  1490. GL_FOG_COORDINATE = $8451;
  1491. GL_FRAGMENT_DEPTH = $8452;
  1492. GL_CURRENT_FOG_COORDINATE = $8453;
  1493. GL_FOG_COORDINATE_ARRAY_TYPE = $8454;
  1494. GL_FOG_COORDINATE_ARRAY_STRIDE = $8455;
  1495. GL_FOG_COORDINATE_ARRAY_POINTER = $8456;
  1496. GL_FOG_COORDINATE_ARRAY = $8457;
  1497. GL_COLOR_SUM = $8458;
  1498. GL_CURRENT_SECONDARY_COLOR = $8459;
  1499. GL_SECONDARY_COLOR_ARRAY_SIZE = $845A;
  1500. GL_SECONDARY_COLOR_ARRAY_TYPE = $845B;
  1501. GL_SECONDARY_COLOR_ARRAY_STRIDE = $845C;
  1502. GL_SECONDARY_COLOR_ARRAY_POINTER = $845D;
  1503. GL_SECONDARY_COLOR_ARRAY = $845E;
  1504. GL_TEXTURE_FILTER_CONTROL = $8500;
  1505. GL_DEPTH_TEXTURE_MODE = $884B;
  1506. GL_COMPARE_R_TO_TEXTURE = $884E;
  1507. {$ENDIF}
  1508. // GL_VERSION_1_5
  1509. GL_BUFFER_SIZE = $8764;
  1510. GL_BUFFER_USAGE = $8765;
  1511. GL_QUERY_COUNTER_BITS = $8864;
  1512. GL_CURRENT_QUERY = $8865;
  1513. GL_QUERY_RESULT = $8866;
  1514. GL_QUERY_RESULT_AVAILABLE = $8867;
  1515. GL_ARRAY_BUFFER = $8892;
  1516. GL_ELEMENT_ARRAY_BUFFER = $8893;
  1517. GL_ARRAY_BUFFER_BINDING = $8894;
  1518. GL_ELEMENT_ARRAY_BUFFER_BINDING = $8895;
  1519. GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = $889F;
  1520. GL_READ_ONLY = $88B8;
  1521. GL_WRITE_ONLY = $88B9;
  1522. GL_READ_WRITE = $88BA;
  1523. GL_BUFFER_ACCESS = $88BB;
  1524. GL_BUFFER_MAPPED = $88BC;
  1525. GL_BUFFER_MAP_POINTER = $88BD;
  1526. GL_STREAM_DRAW = $88E0;
  1527. GL_STREAM_READ = $88E1;
  1528. GL_STREAM_COPY = $88E2;
  1529. GL_STATIC_DRAW = $88E4;
  1530. GL_STATIC_READ = $88E5;
  1531. GL_STATIC_COPY = $88E6;
  1532. GL_DYNAMIC_DRAW = $88E8;
  1533. GL_DYNAMIC_READ = $88E9;
  1534. GL_DYNAMIC_COPY = $88EA;
  1535. GL_SAMPLES_PASSED = $8914;
  1536. {$IFDEF USE_DEPRECATED}
  1537. GL_VERTEX_ARRAY_BUFFER_BINDING = $8896;
  1538. GL_NORMAL_ARRAY_BUFFER_BINDING = $8897;
  1539. GL_COLOR_ARRAY_BUFFER_BINDING = $8898;
  1540. GL_INDEX_ARRAY_BUFFER_BINDING = $8899;
  1541. GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = $889A;
  1542. GL_EDGE_FLAG_ARRAY_BUFFER_BINDING = $889B;
  1543. GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING = $889C;
  1544. GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING = $889D;
  1545. GL_WEIGHT_ARRAY_BUFFER_BINDING = $889E;
  1546. GL_FOG_COORD_SRC = $8450;
  1547. GL_FOG_COORD = $8451;
  1548. GL_CURRENT_FOG_COORD = $8453;
  1549. GL_FOG_COORD_ARRAY_TYPE = $8454;
  1550. GL_FOG_COORD_ARRAY_STRIDE = $8455;
  1551. GL_FOG_COORD_ARRAY_POINTER = $8456;
  1552. GL_FOG_COORD_ARRAY = $8457;
  1553. GL_FOG_COORD_ARRAY_BUFFER_BINDING = $889D;
  1554. GL_SRC0_RGB = $8580;
  1555. GL_SRC1_RGB = $8581;
  1556. GL_SRC2_RGB = $8582;
  1557. GL_SRC0_ALPHA = $8588;
  1558. GL_SRC1_ALPHA = $8589;
  1559. GL_SRC2_ALPHA = $858A;
  1560. {$ENDIF}
  1561. // GL_VERSION_2_0
  1562. GL_BLEND_EQUATION_RGB = $8009;
  1563. GL_VERTEX_ATTRIB_ARRAY_ENABLED = $8622;
  1564. GL_VERTEX_ATTRIB_ARRAY_SIZE = $8623;
  1565. GL_VERTEX_ATTRIB_ARRAY_STRIDE = $8624;
  1566. GL_VERTEX_ATTRIB_ARRAY_TYPE = $8625;
  1567. GL_CURRENT_VERTEX_ATTRIB = $8626;
  1568. GL_VERTEX_PROGRAM_POINT_SIZE = $8642;
  1569. GL_VERTEX_ATTRIB_ARRAY_POINTER = $8645;
  1570. GL_STENCIL_BACK_FUNC = $8800;
  1571. GL_STENCIL_BACK_FAIL = $8801;
  1572. GL_STENCIL_BACK_PASS_DEPTH_FAIL = $8802;
  1573. GL_STENCIL_BACK_PASS_DEPTH_PASS = $8803;
  1574. GL_MAX_DRAW_BUFFERS = $8824;
  1575. GL_DRAW_BUFFER0 = $8825;
  1576. GL_DRAW_BUFFER1 = $8826;
  1577. GL_DRAW_BUFFER2 = $8827;
  1578. GL_DRAW_BUFFER3 = $8828;
  1579. GL_DRAW_BUFFER4 = $8829;
  1580. GL_DRAW_BUFFER5 = $882A;
  1581. GL_DRAW_BUFFER6 = $882B;
  1582. GL_DRAW_BUFFER7 = $882C;
  1583. GL_DRAW_BUFFER8 = $882D;
  1584. GL_DRAW_BUFFER9 = $882E;
  1585. GL_DRAW_BUFFER10 = $882F;
  1586. GL_DRAW_BUFFER11 = $8830;
  1587. GL_DRAW_BUFFER12 = $8831;
  1588. GL_DRAW_BUFFER13 = $8832;
  1589. GL_DRAW_BUFFER14 = $8833;
  1590. GL_DRAW_BUFFER15 = $8834;
  1591. GL_BLEND_EQUATION_ALPHA = $883D;
  1592. GL_MAX_VERTEX_ATTRIBS = $8869;
  1593. GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = $886A;
  1594. GL_MAX_TEXTURE_IMAGE_UNITS = $8872;
  1595. GL_FRAGMENT_SHADER = $8B30;
  1596. GL_VERTEX_SHADER = $8B31;
  1597. GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = $8B49;
  1598. GL_MAX_VERTEX_UNIFORM_COMPONENTS = $8B4A;
  1599. GL_MAX_VARYING_FLOATS = $8B4B;
  1600. GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = $8B4C;
  1601. GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = $8B4D;
  1602. GL_SHADER_TYPE = $8B4F;
  1603. GL_FLOAT_VEC2 = $8B50;
  1604. GL_FLOAT_VEC3 = $8B51;
  1605. GL_FLOAT_VEC4 = $8B52;
  1606. GL_INT_VEC2 = $8B53;
  1607. GL_INT_VEC3 = $8B54;
  1608. GL_INT_VEC4 = $8B55;
  1609. GL_BOOL = $8B56;
  1610. GL_BOOL_VEC2 = $8B57;
  1611. GL_BOOL_VEC3 = $8B58;
  1612. GL_BOOL_VEC4 = $8B59;
  1613. GL_FLOAT_MAT2 = $8B5A;
  1614. GL_FLOAT_MAT3 = $8B5B;
  1615. GL_FLOAT_MAT4 = $8B5C;
  1616. GL_SAMPLER_1D = $8B5D;
  1617. GL_SAMPLER_2D = $8B5E;
  1618. GL_SAMPLER_3D = $8B5F;
  1619. GL_SAMPLER_CUBE = $8B60;
  1620. GL_SAMPLER_1D_SHADOW = $8B61;
  1621. GL_SAMPLER_2D_SHADOW = $8B62;
  1622. GL_DELETE_STATUS = $8B80;
  1623. GL_COMPILE_STATUS = $8B81;
  1624. GL_LINK_STATUS = $8B82;
  1625. GL_VALIDATE_STATUS = $8B83;
  1626. GL_INFO_LOG_LENGTH = $8B84;
  1627. GL_ATTACHED_SHADERS = $8B85;
  1628. GL_ACTIVE_UNIFORMS = $8B86;
  1629. GL_ACTIVE_UNIFORM_MAX_LENGTH = $8B87;
  1630. GL_SHADER_SOURCE_LENGTH = $8B88;
  1631. GL_ACTIVE_ATTRIBUTES = $8B89;
  1632. GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = $8B8A;
  1633. GL_FRAGMENT_SHADER_DERIVATIVE_HINT = $8B8B;
  1634. GL_SHADING_LANGUAGE_VERSION = $8B8C;
  1635. GL_CURRENT_PROGRAM = $8B8D;
  1636. GL_POINT_SPRITE_COORD_ORIGIN = $8CA0;
  1637. GL_LOWER_LEFT = $8CA1;
  1638. GL_UPPER_LEFT = $8CA2;
  1639. GL_STENCIL_BACK_REF = $8CA3;
  1640. GL_STENCIL_BACK_VALUE_MASK = $8CA4;
  1641. GL_STENCIL_BACK_WRITEMASK = $8CA5;
  1642. {$IFDEF USE_DEPRECATED}
  1643. GL_VERTEX_PROGRAM_TWO_SIDE = $8643;
  1644. GL_POINT_SPRITE = $8861;
  1645. GL_COORD_REPLACE = $8862;
  1646. GL_MAX_TEXTURE_COORDS = $8871;
  1647. {$ENDIF}
  1648. // GL_VERSION_2_1
  1649. GL_PIXEL_PACK_BUFFER = $88EB;
  1650. GL_PIXEL_UNPACK_BUFFER = $88EC;
  1651. GL_PIXEL_PACK_BUFFER_BINDING = $88ED;
  1652. GL_PIXEL_UNPACK_BUFFER_BINDING = $88EF;
  1653. GL_FLOAT_MAT2x3 = $8B65;
  1654. GL_FLOAT_MAT2x4 = $8B66;
  1655. GL_FLOAT_MAT3x2 = $8B67;
  1656. GL_FLOAT_MAT3x4 = $8B68;
  1657. GL_FLOAT_MAT4x2 = $8B69;
  1658. GL_FLOAT_MAT4x3 = $8B6A;
  1659. GL_SRGB = $8C40;
  1660. GL_SRGB8 = $8C41;
  1661. GL_SRGB_ALPHA = $8C42;
  1662. GL_SRGB8_ALPHA8 = $8C43;
  1663. GL_COMPRESSED_SRGB = $8C48;
  1664. GL_COMPRESSED_SRGB_ALPHA = $8C49;
  1665. {$IFDEF USE_DEPRECATED}
  1666. GL_CURRENT_RASTER_SECONDARY_COLOR = $845F;
  1667. GL_SLUMINANCE_ALPHA = $8C44;
  1668. GL_SLUMINANCE8_ALPHA8 = $8C45;
  1669. GL_SLUMINANCE = $8C46;
  1670. GL_SLUMINANCE8 = $8C47;
  1671. GL_COMPRESSED_SLUMINANCE = $8C4A;
  1672. GL_COMPRESSED_SLUMINANCE_ALPHA = $8C4B;
  1673. {$ENDIF}
  1674. // GL_VERSION_3_0
  1675. GL_COMPARE_REF_TO_TEXTURE = $884E;
  1676. GL_CLIP_DISTANCE0 = $3000;
  1677. GL_CLIP_DISTANCE1 = $3001;
  1678. GL_CLIP_DISTANCE2 = $3002;
  1679. GL_CLIP_DISTANCE3 = $3003;
  1680. GL_CLIP_DISTANCE4 = $3004;
  1681. GL_CLIP_DISTANCE5 = $3005;
  1682. GL_CLIP_DISTANCE6 = $3006;
  1683. GL_CLIP_DISTANCE7 = $3007;
  1684. GL_MAX_CLIP_DISTANCES = $0D32;
  1685. GL_MAJOR_VERSION = $821B;
  1686. GL_MINOR_VERSION = $821C;
  1687. GL_NUM_EXTENSIONS = $821D;
  1688. GL_CONTEXT_FLAGS = $821E;
  1689. GL_DEPTH_BUFFER = $8223;
  1690. GL_STENCIL_BUFFER = $8224;
  1691. GL_COMPRESSED_RED = $8225;
  1692. GL_COMPRESSED_RG = $8226;
  1693. GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = $0001;
  1694. GL_RGBA32F = $8814;
  1695. GL_RGB32F = $8815;
  1696. GL_RGBA16F = $881A;
  1697. GL_RGB16F = $881B;
  1698. GL_VERTEX_ATTRIB_ARRAY_INTEGER = $88FD;
  1699. GL_MAX_ARRAY_TEXTURE_LAYERS = $88FF;
  1700. GL_MIN_PROGRAM_TEXEL_OFFSET = $8904;
  1701. GL_MAX_PROGRAM_TEXEL_OFFSET = $8905;
  1702. GL_CLAMP_READ_COLOR = $891C;
  1703. GL_FIXED_ONLY = $891D;
  1704. GL_MAX_VARYING_COMPONENTS = $8B4B;
  1705. GL_TEXTURE_1D_ARRAY = $8C18;
  1706. GL_PROXY_TEXTURE_1D_ARRAY = $8C19;
  1707. GL_TEXTURE_2D_ARRAY = $8C1A;
  1708. GL_PROXY_TEXTURE_2D_ARRAY = $8C1B;
  1709. GL_TEXTURE_BINDING_1D_ARRAY = $8C1C;
  1710. GL_TEXTURE_BINDING_2D_ARRAY = $8C1D;
  1711. GL_R11F_G11F_B10F = $8C3A;
  1712. GL_UNSIGNED_INT_10F_11F_11F_REV = $8C3B;
  1713. GL_RGB9_E5 = $8C3D;
  1714. GL_UNSIGNED_INT_5_9_9_9_REV = $8C3E;
  1715. GL_TEXTURE_SHARED_SIZE = $8C3F;
  1716. GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = $8C76;
  1717. GL_TRANSFORM_FEEDBACK_BUFFER_MODE = $8C7F;
  1718. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = $8C80;
  1719. GL_TRANSFORM_FEEDBACK_VARYINGS = $8C83;
  1720. GL_TRANSFORM_FEEDBACK_BUFFER_START = $8C84;
  1721. GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = $8C85;
  1722. GL_PRIMITIVES_GENERATED = $8C87;
  1723. GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = $8C88;
  1724. GL_RASTERIZER_DISCARD = $8C89;
  1725. GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = $8C8A;
  1726. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = $8C8B;
  1727. GL_INTERLEAVED_ATTRIBS = $8C8C;
  1728. GL_SEPARATE_ATTRIBS = $8C8D;
  1729. GL_TRANSFORM_FEEDBACK_BUFFER = $8C8E;
  1730. GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = $8C8F;
  1731. GL_RGBA32UI = $8D70;
  1732. GL_RGB32UI = $8D71;
  1733. GL_RGBA16UI = $8D76;
  1734. GL_RGB16UI = $8D77;
  1735. GL_RGBA8UI = $8D7C;
  1736. GL_RGB8UI = $8D7D;
  1737. GL_RGBA32I = $8D82;
  1738. GL_RGB32I = $8D83;
  1739. GL_RGBA16I = $8D88;
  1740. GL_RGB16I = $8D89;
  1741. GL_RGBA8I = $8D8E;
  1742. GL_RGB8I = $8D8F;
  1743. GL_RED_INTEGER = $8D94;
  1744. GL_GREEN_INTEGER = $8D95;
  1745. GL_BLUE_INTEGER = $8D96;
  1746. GL_RGB_INTEGER = $8D98;
  1747. GL_RGBA_INTEGER = $8D99;
  1748. GL_BGR_INTEGER = $8D9A;
  1749. GL_BGRA_INTEGER = $8D9B;
  1750. GL_SAMPLER_1D_ARRAY = $8DC0;
  1751. GL_SAMPLER_2D_ARRAY = $8DC1;
  1752. GL_SAMPLER_1D_ARRAY_SHADOW = $8DC3;
  1753. GL_SAMPLER_2D_ARRAY_SHADOW = $8DC4;
  1754. GL_SAMPLER_CUBE_SHADOW = $8DC5;
  1755. GL_UNSIGNED_INT_VEC2 = $8DC6;
  1756. GL_UNSIGNED_INT_VEC3 = $8DC7;
  1757. GL_UNSIGNED_INT_VEC4 = $8DC8;
  1758. GL_INT_SAMPLER_1D = $8DC9;
  1759. GL_INT_SAMPLER_2D = $8DCA;
  1760. GL_INT_SAMPLER_3D = $8DCB;
  1761. GL_INT_SAMPLER_CUBE = $8DCC;
  1762. GL_INT_SAMPLER_1D_ARRAY = $8DCE;
  1763. GL_INT_SAMPLER_2D_ARRAY = $8DCF;
  1764. GL_UNSIGNED_INT_SAMPLER_1D = $8DD1;
  1765. GL_UNSIGNED_INT_SAMPLER_2D = $8DD2;
  1766. GL_UNSIGNED_INT_SAMPLER_3D = $8DD3;
  1767. GL_UNSIGNED_INT_SAMPLER_CUBE = $8DD4;
  1768. GL_UNSIGNED_INT_SAMPLER_1D_ARRAY = $8DD6;
  1769. GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = $8DD7;
  1770. GL_QUERY_WAIT = $8E13;
  1771. GL_QUERY_NO_WAIT = $8E14;
  1772. GL_QUERY_BY_REGION_WAIT = $8E15;
  1773. GL_QUERY_BY_REGION_NO_WAIT = $8E16;
  1774. GL_BUFFER_ACCESS_FLAGS = $911F;
  1775. GL_BUFFER_MAP_LENGTH = $9120;
  1776. GL_BUFFER_MAP_OFFSET = $9121;
  1777. {$IFDEF USE_DEPRECATED}
  1778. GL_CLAMP_VERTEX_COLOR = $891A;
  1779. GL_CLAMP_FRAGMENT_COLOR = $891B;
  1780. GL_ALPHA_INTEGER = $8D97;
  1781. {$ENDIF}
  1782. // GL_VERSION_3_1
  1783. GL_SAMPLER_2D_RECT = $8B63;
  1784. GL_SAMPLER_2D_RECT_SHADOW = $8B64;
  1785. GL_SAMPLER_BUFFER = $8DC2;
  1786. GL_INT_SAMPLER_2D_RECT = $8DCD;
  1787. GL_INT_SAMPLER_BUFFER = $8DD0;
  1788. GL_UNSIGNED_INT_SAMPLER_2D_RECT = $8DD5;
  1789. GL_UNSIGNED_INT_SAMPLER_BUFFER = $8DD8;
  1790. GL_TEXTURE_BUFFER = $8C2A;
  1791. GL_MAX_TEXTURE_BUFFER_SIZE = $8C2B;
  1792. GL_TEXTURE_BINDING_BUFFER = $8C2C;
  1793. GL_TEXTURE_BUFFER_DATA_STORE_BINDING = $8C2D;
  1794. GL_TEXTURE_BUFFER_FORMAT = $8C2E;
  1795. GL_TEXTURE_RECTANGLE = $84F5;
  1796. GL_TEXTURE_BINDING_RECTANGLE = $84F6;
  1797. GL_PROXY_TEXTURE_RECTANGLE = $84F7;
  1798. GL_MAX_RECTANGLE_TEXTURE_SIZE = $84F8;
  1799. GL_RED_SNORM = $8F90;
  1800. GL_RG_SNORM = $8F91;
  1801. GL_RGB_SNORM = $8F92;
  1802. GL_RGBA_SNORM = $8F93;
  1803. GL_R8_SNORM = $8F94;
  1804. GL_RG8_SNORM = $8F95;
  1805. GL_RGB8_SNORM = $8F96;
  1806. GL_RGBA8_SNORM = $8F97;
  1807. GL_R16_SNORM = $8F98;
  1808. GL_RG16_SNORM = $8F99;
  1809. GL_RGB16_SNORM = $8F9A;
  1810. GL_RGBA16_SNORM = $8F9B;
  1811. GL_SIGNED_NORMALIZED = $8F9C;
  1812. GL_PRIMITIVE_RESTART = $8F9D;
  1813. GL_PRIMITIVE_RESTART_INDEX = $8F9E;
  1814. // GL_VERSION_3_2
  1815. GL_CONTEXT_CORE_PROFILE_BIT = $00000001;
  1816. GL_CONTEXT_COMPATIBILITY_PROFILE_BIT = $00000002;
  1817. GL_LINES_ADJACENCY = $000A;
  1818. GL_LINE_STRIP_ADJACENCY = $000B;
  1819. GL_TRIANGLES_ADJACENCY = $000C;
  1820. GL_TRIANGLE_STRIP_ADJACENCY = $000D;
  1821. GL_PROGRAM_POINT_SIZE = $8642;
  1822. GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = $8C29;
  1823. GL_FRAMEBUFFER_ATTACHMENT_LAYERED = $8DA7;
  1824. GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = $8DA8;
  1825. GL_GEOMETRY_SHADER = $8DD9;
  1826. GL_GEOMETRY_VERTICES_OUT = $8916;
  1827. GL_GEOMETRY_INPUT_TYPE = $8917;
  1828. GL_GEOMETRY_OUTPUT_TYPE = $8918;
  1829. GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = $8DDF;
  1830. GL_MAX_GEOMETRY_OUTPUT_VERTICES = $8DE0;
  1831. GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = $8DE1;
  1832. GL_MAX_VERTEX_OUTPUT_COMPONENTS = $9122;
  1833. GL_MAX_GEOMETRY_INPUT_COMPONENTS = $9123;
  1834. GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = $9124;
  1835. GL_MAX_FRAGMENT_INPUT_COMPONENTS = $9125;
  1836. GL_CONTEXT_PROFILE_MASK = $9126;
  1837. // GL_VERSION_3_3
  1838. GL_VERTEX_ATTRIB_ARRAY_DIVISOR = $88FE;
  1839. // GL_VERSION_4_0
  1840. GL_SAMPLE_SHADING = $8C36;
  1841. GL_MIN_SAMPLE_SHADING_VALUE = $8C37;
  1842. GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = $8E5E;
  1843. GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = $8E5F;
  1844. GL_TEXTURE_CUBE_MAP_ARRAY = $9009;
  1845. GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = $900A;
  1846. GL_PROXY_TEXTURE_CUBE_MAP_ARRAY = $900B;
  1847. GL_SAMPLER_CUBE_MAP_ARRAY = $900C;
  1848. GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW = $900D;
  1849. GL_INT_SAMPLER_CUBE_MAP_ARRAY = $900E;
  1850. GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = $900F;
  1851. // GL_VERSION_4_1
  1852. // GL_VERSION_4_2
  1853. // GL_VERSION_4_3
  1854. GL_NUM_SHADING_LANGUAGE_VERSIONS = $82E9;
  1855. GL_VERTEX_ATTRIB_ARRAY_LONG = $874E;
  1856. // GL_3DFX_multisample
  1857. GL_MULTISAMPLE_3DFX = $86B2;
  1858. GL_SAMPLE_BUFFERS_3DFX = $86B3;
  1859. GL_SAMPLES_3DFX = $86B4;
  1860. GL_MULTISAMPLE_BIT_3DFX = $20000000;
  1861. // GL_3DFX_texture_compression_FXT1
  1862. GL_COMPRESSED_RGB_FXT1_3DFX = $86B0;
  1863. GL_COMPRESSED_RGBA_FXT1_3DFX = $86B1;
  1864. // GL_APPLE_client_storage
  1865. GL_UNPACK_CLIENT_STORAGE_APPLE = $85B2;
  1866. // GL_APPLE_element_array
  1867. GL_ELEMENT_ARRAY_APPLE = $8A0C;
  1868. GL_ELEMENT_ARRAY_TYPE_APPLE = $8A0D;
  1869. GL_ELEMENT_ARRAY_POINTER_APPLE = $8A0E;
  1870. // GL_APPLE_fence
  1871. GL_DRAW_PIXELS_APPLE = $8A0A;
  1872. GL_FENCE_APPLE = $8A0B;
  1873. // GL_APPLE_specular_vector
  1874. GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE = $85B0;
  1875. // GL_APPLE_transform_hint
  1876. GL_TRANSFORM_HINT_APPLE = $85B1;
  1877. // GL_APPLE_vertex_array_object
  1878. GL_VERTEX_ARRAY_BINDING_APPLE = $85B5;
  1879. // GL_APPLE_vertex_array_range
  1880. GL_VERTEX_ARRAY_RANGE_APPLE = $851D;
  1881. GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE = $851E;
  1882. GL_VERTEX_ARRAY_STORAGE_HINT_APPLE = $851F;
  1883. GL_VERTEX_ARRAY_RANGE_POINTER_APPLE = $8521;
  1884. GL_STORAGE_CLIENT_APPLE = $85B4;
  1885. GL_STORAGE_CACHED_APPLE = $85BE;
  1886. GL_STORAGE_SHARED_APPLE = $85BF;
  1887. // GL_APPLE_ycbcr_422
  1888. GL_YCBCR_422_APPLE = $85B9;
  1889. GL_UNSIGNED_SHORT_8_8_APPLE = $85BA;
  1890. GL_UNSIGNED_SHORT_8_8_REV_APPLE = $85BB;
  1891. GL_RGB_RAW_422_APPLE = $8A51;
  1892. // GL_APPLE_texture_range
  1893. GL_TEXTURE_RANGE_LENGTH_APPLE = $85B7;
  1894. GL_TEXTURE_RANGE_POINTER_APPLE = $85B8;
  1895. GL_TEXTURE_STORAGE_HINT_APPLE = $85BC;
  1896. GL_STORAGE_PRIVATE_APPLE = $85BD;
  1897. { reuse GL_STORAGE_CACHED_APPLE }
  1898. { reuse GL_STORAGE_SHARED_APPLE }
  1899. // GL_APPLE_float_pixels
  1900. GL_HALF_APPLE = $140B;
  1901. GL_RGBA_FLOAT32_APPLE = $8814;
  1902. GL_RGB_FLOAT32_APPLE = $8815;
  1903. GL_ALPHA_FLOAT32_APPLE = $8816;
  1904. GL_INTENSITY_FLOAT32_APPLE = $8817;
  1905. GL_LUMINANCE_FLOAT32_APPLE = $8818;
  1906. GL_LUMINANCE_ALPHA_FLOAT32_APPLE = $8819;
  1907. GL_RGBA_FLOAT16_APPLE = $881A;
  1908. GL_RGB_FLOAT16_APPLE = $881B;
  1909. GL_ALPHA_FLOAT16_APPLE = $881C;
  1910. GL_INTENSITY_FLOAT16_APPLE = $881D;
  1911. GL_LUMINANCE_FLOAT16_APPLE = $881E;
  1912. GL_LUMINANCE_ALPHA_FLOAT16_APPLE = $881F;
  1913. GL_COLOR_FLOAT_APPLE = $8A0F;
  1914. // GL_APPLE_vertex_program_evaluators
  1915. GL_VERTEX_ATTRIB_MAP1_APPLE = $8A00;
  1916. GL_VERTEX_ATTRIB_MAP2_APPLE = $8A01;
  1917. GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE = $8A02;
  1918. GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE = $8A03;
  1919. GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE = $8A04;
  1920. GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE = $8A05;
  1921. GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE = $8A06;
  1922. GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE = $8A07;
  1923. GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE = $8A08;
  1924. GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE = $8A09;
  1925. // GL_APPLE_aux_depth_stencil
  1926. GL_AUX_DEPTH_STENCIL_APPLE = $8A14;
  1927. // GL_APPLE_object_purgeable
  1928. GL_BUFFER_OBJECT_APPLE = $85B3;
  1929. GL_RELEASED_APPLE = $8A19;
  1930. GL_VOLATILE_APPLE = $8A1A;
  1931. GL_RETAINED_APPLE = $8A1B;
  1932. GL_UNDEFINED_APPLE = $8A1C;
  1933. GL_PURGEABLE_APPLE = $8A1D;
  1934. // GL_APPLE_row_bytes
  1935. GL_PACK_ROW_BYTES_APPLE = $8A15;
  1936. GL_UNPACK_ROW_BYTES_APPLE = $8A16;
  1937. // GL_APPLE_rgb_422
  1938. { reuse GL_UNSIGNED_SHORT_8_8_APPLE }
  1939. { reuse GL_UNSIGNED_SHORT_8_8_REV_APPLE }
  1940. // GL_ARB_depth_texture
  1941. GL_DEPTH_COMPONENT16_ARB = $81A5;
  1942. GL_DEPTH_COMPONENT24_ARB = $81A6;
  1943. GL_DEPTH_COMPONENT32_ARB = $81A7;
  1944. GL_TEXTURE_DEPTH_SIZE_ARB = $884A;
  1945. GL_DEPTH_TEXTURE_MODE_ARB = $884B;
  1946. // GL_ARB_fragment_program
  1947. GL_FRAGMENT_PROGRAM_ARB = $8804;
  1948. GL_PROGRAM_ALU_INSTRUCTIONS_ARB = $8805;
  1949. GL_PROGRAM_TEX_INSTRUCTIONS_ARB = $8806;
  1950. GL_PROGRAM_TEX_INDIRECTIONS_ARB = $8807;
  1951. GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = $8808;
  1952. GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = $8809;
  1953. GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = $880A;
  1954. GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = $880B;
  1955. GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = $880C;
  1956. GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = $880D;
  1957. GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = $880E;
  1958. GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = $880F;
  1959. GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = $8810;
  1960. GL_MAX_TEXTURE_COORDS_ARB = $8871;
  1961. GL_MAX_TEXTURE_IMAGE_UNITS_ARB = $8872;
  1962. // GL_ARB_imaging
  1963. GL_CONSTANT_COLOR_ARB = $8001;
  1964. GL_ONE_MINUS_CONSTANT_COLOR = $8002;
  1965. GL_CONSTANT_ALPHA = $8003;
  1966. GL_ONE_MINUS_CONSTANT_ALPHA = $8004;
  1967. GL_BLEND_COLOR = $8005;
  1968. GL_FUNC_ADD = $8006;
  1969. GL_MIN = $8007;
  1970. GL_MAX = $8008;
  1971. GL_BLEND_EQUATION = $8009;
  1972. GL_FUNC_SUBTRACT = $800A;
  1973. GL_FUNC_REVERSE_SUBTRACT = $800B;
  1974. {$IFDEF USE_DEPRECATED}
  1975. GL_CONVOLUTION_1D = $8010;
  1976. GL_CONVOLUTION_2D = $8011;
  1977. GL_SEPARABLE_2D = $8012;
  1978. GL_CONVOLUTION_BORDER_MODE = $8013;
  1979. GL_CONVOLUTION_FILTER_SCALE = $8014;
  1980. GL_CONVOLUTION_FILTER_BIAS = $8015;
  1981. GL_REDUCE = $8016;
  1982. GL_CONVOLUTION_FORMAT = $8017;
  1983. GL_CONVOLUTION_WIDTH = $8018;
  1984. GL_CONVOLUTION_HEIGHT = $8019;
  1985. GL_MAX_CONVOLUTION_WIDTH = $801A;
  1986. GL_MAX_CONVOLUTION_HEIGHT = $801B;
  1987. GL_POST_CONVOLUTION_RED_SCALE = $801C;
  1988. GL_POST_CONVOLUTION_GREEN_SCALE = $801D;
  1989. GL_POST_CONVOLUTION_BLUE_SCALE = $801E;
  1990. GL_POST_CONVOLUTION_ALPHA_SCALE = $801F;
  1991. GL_POST_CONVOLUTION_RED_BIAS = $8020;
  1992. GL_POST_CONVOLUTION_GREEN_BIAS = $8021;
  1993. GL_POST_CONVOLUTION_BLUE_BIAS = $8022;
  1994. GL_POST_CONVOLUTION_ALPHA_BIAS = $8023;
  1995. GL_HISTOGRAM = $8024;
  1996. GL_PROXY_HISTOGRAM = $8025;
  1997. GL_HISTOGRAM_WIDTH = $8026;
  1998. GL_HISTOGRAM_FORMAT = $8027;
  1999. GL_HISTOGRAM_RED_SIZE = $8028;
  2000. GL_HISTOGRAM_GREEN_SIZE = $8029;
  2001. GL_HISTOGRAM_BLUE_SIZE = $802A;
  2002. GL_HISTOGRAM_ALPHA_SIZE = $802B;
  2003. GL_HISTOGRAM_LUMINANCE_SIZE = $802C;
  2004. GL_HISTOGRAM_SINK = $802D;
  2005. GL_MINMAX = $802E;
  2006. GL_MINMAX_FORMAT = $802F;
  2007. GL_MINMAX_SINK = $8030;
  2008. GL_TABLE_TOO_LARGE = $8031;
  2009. GL_COLOR_MATRIX = $80B1;
  2010. GL_COLOR_MATRIX_STACK_DEPTH = $80B2;
  2011. GL_MAX_COLOR_MATRIX_STACK_DEPTH = $80B3;
  2012. GL_POST_COLOR_MATRIX_RED_SCALE = $80B4;
  2013. GL_POST_COLOR_MATRIX_GREEN_SCALE = $80B5;
  2014. GL_POST_COLOR_MATRIX_BLUE_SCALE = $80B6;
  2015. GL_POST_COLOR_MATRIX_ALPHA_SCALE = $80B7;
  2016. GL_POST_COLOR_MATRIX_RED_BIAS = $80B8;
  2017. GL_POST_COLOR_MATRIX_GREEN_BIAS = $80B9;
  2018. GL_POST_COLOR_MATRIX_BLUE_BIAS = $80BA;
  2019. GL_POST_COLOR_MATRIX_ALPHA_BIAS = $80BB;
  2020. GL_COLOR_TABLE = $80D0;
  2021. GL_POST_CONVOLUTION_COLOR_TABLE = $80D1;
  2022. GL_POST_COLOR_MATRIX_COLOR_TABLE = $80D2;
  2023. GL_PROXY_COLOR_TABLE = $80D3;
  2024. GL_PROXY_POST_CONVOLUTION_COLOR_TABLE = $80D4;
  2025. GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = $80D5;
  2026. GL_COLOR_TABLE_SCALE = $80D6;
  2027. GL_COLOR_TABLE_BIAS = $80D7;
  2028. GL_COLOR_TABLE_FORMAT = $80D8;
  2029. GL_COLOR_TABLE_WIDTH = $80D9;
  2030. GL_COLOR_TABLE_RED_SIZE = $80DA;
  2031. GL_COLOR_TABLE_GREEN_SIZE = $80DB;
  2032. GL_COLOR_TABLE_BLUE_SIZE = $80DC;
  2033. GL_COLOR_TABLE_ALPHA_SIZE = $80DD;
  2034. GL_COLOR_TABLE_LUMINANCE_SIZE = $80DE;
  2035. GL_COLOR_TABLE_INTENSITY_SIZE = $80DF;
  2036. GL_CONSTANT_BORDER = $8151;
  2037. GL_REPLICATE_BORDER = $8153;
  2038. GL_CONVOLUTION_BORDER_COLOR = $8154;
  2039. {$ENDIF}
  2040. // GL_ARB_matrix_palette
  2041. GL_MATRIX_PALETTE_ARB = $8840;
  2042. GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = $8841;
  2043. GL_MAX_PALETTE_MATRICES_ARB = $8842;
  2044. GL_CURRENT_PALETTE_MATRIX_ARB = $8843;
  2045. GL_MATRIX_INDEX_ARRAY_ARB = $8844;
  2046. GL_CURRENT_MATRIX_INDEX_ARB = $8845;
  2047. GL_MATRIX_INDEX_ARRAY_SIZE_ARB = $8846;
  2048. GL_MATRIX_INDEX_ARRAY_TYPE_ARB = $8847;
  2049. GL_MATRIX_INDEX_ARRAY_STRIDE_ARB = $8848;
  2050. GL_MATRIX_INDEX_ARRAY_POINTER_ARB = $8849;
  2051. // GL_ARB_multisample
  2052. GL_MULTISAMPLE_ARB = $809D;
  2053. GL_SAMPLE_ALPHA_TO_COVERAGE_ARB = $809E;
  2054. GL_SAMPLE_ALPHA_TO_ONE_ARB = $809F;
  2055. GL_SAMPLE_COVERAGE_ARB = $80A0;
  2056. GL_SAMPLE_BUFFERS_ARB = $80A8;
  2057. GL_SAMPLES_ARB = $80A9;
  2058. GL_SAMPLE_COVERAGE_VALUE_ARB = $80AA;
  2059. GL_SAMPLE_COVERAGE_INVERT_ARB = $80AB;
  2060. GL_MULTISAMPLE_BIT_ARB = $20000000;
  2061. // GL_ARB_multitexture
  2062. GL_TEXTURE0_ARB = $84C0;
  2063. GL_TEXTURE1_ARB = $84C1;
  2064. GL_TEXTURE2_ARB = $84C2;
  2065. GL_TEXTURE3_ARB = $84C3;
  2066. GL_TEXTURE4_ARB = $84C4;
  2067. GL_TEXTURE5_ARB = $84C5;
  2068. GL_TEXTURE6_ARB = $84C6;
  2069. GL_TEXTURE7_ARB = $84C7;
  2070. GL_TEXTURE8_ARB = $84C8;
  2071. GL_TEXTURE9_ARB = $84C9;
  2072. GL_TEXTURE10_ARB = $84CA;
  2073. GL_TEXTURE11_ARB = $84CB;
  2074. GL_TEXTURE12_ARB = $84CC;
  2075. GL_TEXTURE13_ARB = $84CD;
  2076. GL_TEXTURE14_ARB = $84CE;
  2077. GL_TEXTURE15_ARB = $84CF;
  2078. GL_TEXTURE16_ARB = $84D0;
  2079. GL_TEXTURE17_ARB = $84D1;
  2080. GL_TEXTURE18_ARB = $84D2;
  2081. GL_TEXTURE19_ARB = $84D3;
  2082. GL_TEXTURE20_ARB = $84D4;
  2083. GL_TEXTURE21_ARB = $84D5;
  2084. GL_TEXTURE22_ARB = $84D6;
  2085. GL_TEXTURE23_ARB = $84D7;
  2086. GL_TEXTURE24_ARB = $84D8;
  2087. GL_TEXTURE25_ARB = $84D9;
  2088. GL_TEXTURE26_ARB = $84DA;
  2089. GL_TEXTURE27_ARB = $84DB;
  2090. GL_TEXTURE28_ARB = $84DC;
  2091. GL_TEXTURE29_ARB = $84DD;
  2092. GL_TEXTURE30_ARB = $84DE;
  2093. GL_TEXTURE31_ARB = $84DF;
  2094. GL_ACTIVE_TEXTURE_ARB = $84E0;
  2095. GL_CLIENT_ACTIVE_TEXTURE_ARB = $84E1;
  2096. GL_MAX_TEXTURE_UNITS_ARB = $84E2;
  2097. // GL_ARB_point_parameters
  2098. GL_POINT_SIZE_MIN_ARB = $8126;
  2099. GL_POINT_SIZE_MAX_ARB = $8127;
  2100. GL_POINT_FADE_THRESHOLD_SIZE_ARB = $8128;
  2101. GL_POINT_DISTANCE_ATTENUATION_ARB = $8129;
  2102. // GL_ARB_shadow
  2103. GL_TEXTURE_COMPARE_MODE_ARB = $884C;
  2104. GL_TEXTURE_COMPARE_FUNC_ARB = $884D;
  2105. GL_COMPARE_R_TO_TEXTURE_ARB = $884E;
  2106. // GL_ARB_shadow_ambient
  2107. GL_TEXTURE_COMPARE_FAIL_VALUE_ARB = $80BF;
  2108. // GL_ARB_sparse_buffer
  2109. GL_SPARSE_STORAGE_BIT_ARB = $0400;
  2110. GL_SPARSE_BUFFER_PAGE_SIZE_ARB = $82F8;
  2111. // GL_ARB_texture_border_clamp
  2112. GL_CLAMP_TO_BORDER_ARB = $812D;
  2113. // GL_ARB_texture_compression
  2114. GL_COMPRESSED_ALPHA_ARB = $84E9;
  2115. GL_COMPRESSED_LUMINANCE_ARB = $84EA;
  2116. GL_COMPRESSED_LUMINANCE_ALPHA_ARB = $84EB;
  2117. GL_COMPRESSED_INTENSITY_ARB = $84EC;
  2118. GL_COMPRESSED_RGB_ARB = $84ED;
  2119. GL_COMPRESSED_RGBA_ARB = $84EE;
  2120. GL_TEXTURE_COMPRESSION_HINT_ARB = $84EF;
  2121. GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = $86A0;
  2122. GL_TEXTURE_COMPRESSED_ARB = $86A1;
  2123. GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = $86A2;
  2124. GL_COMPRESSED_TEXTURE_FORMATS_ARB = $86A3;
  2125. // GL_ARB_texture_cube_map
  2126. GL_NORMAL_MAP_ARB = $8511;
  2127. GL_REFLECTION_MAP_ARB = $8512;
  2128. GL_TEXTURE_CUBE_MAP_ARB = $8513;
  2129. GL_TEXTURE_BINDING_CUBE_MAP_ARB = $8514;
  2130. GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = $8515;
  2131. GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = $8516;
  2132. GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = $8517;
  2133. GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = $8518;
  2134. GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = $8519;
  2135. GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = $851A;
  2136. GL_PROXY_TEXTURE_CUBE_MAP_ARB = $851B;
  2137. GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = $851C;
  2138. // GL_ARB_texture_env_combine
  2139. GL_COMBINE_ARB = $8570;
  2140. GL_COMBINE_RGB_ARB = $8571;
  2141. GL_COMBINE_ALPHA_ARB = $8572;
  2142. GL_SOURCE0_RGB_ARB = $8580;
  2143. GL_SOURCE1_RGB_ARB = $8581;
  2144. GL_SOURCE2_RGB_ARB = $8582;
  2145. GL_SOURCE0_ALPHA_ARB = $8588;
  2146. GL_SOURCE1_ALPHA_ARB = $8589;
  2147. GL_SOURCE2_ALPHA_ARB = $858A;
  2148. GL_OPERAND0_RGB_ARB = $8590;
  2149. GL_OPERAND1_RGB_ARB = $8591;
  2150. GL_OPERAND2_RGB_ARB = $8592;
  2151. GL_OPERAND0_ALPHA_ARB = $8598;
  2152. GL_OPERAND1_ALPHA_ARB = $8599;
  2153. GL_OPERAND2_ALPHA_ARB = $859A;
  2154. GL_RGB_SCALE_ARB = $8573;
  2155. GL_ADD_SIGNED_ARB = $8574;
  2156. GL_INTERPOLATE_ARB = $8575;
  2157. GL_SUBTRACT_ARB = $84E7;
  2158. GL_CONSTANT_ARB = $8576;
  2159. GL_PRIMARY_COLOR_ARB = $8577;
  2160. GL_PREVIOUS_ARB = $8578;
  2161. // GL_ARB_texture_env_dot3
  2162. GL_DOT3_RGB_ARB = $86AE;
  2163. GL_DOT3_RGBA_ARB = $86AF;
  2164. // GL_ARB_texture_filter_minmax
  2165. GL_TEXTURE_REDUCTION_MODE_ARB = $9366;
  2166. GL_WEIGHTED_AVERAGE_ARB = $9367;
  2167. // GL_ARB_texture_mirrored_repeat
  2168. GL_MIRRORED_REPEAT_ARB = $8370;
  2169. // GL_ARB_transpose_matrix
  2170. GL_TRANSPOSE_MODELVIEW_MATRIX_ARB = $84E3;
  2171. GL_TRANSPOSE_PROJECTION_MATRIX_ARB = $84E4;
  2172. GL_TRANSPOSE_TEXTURE_MATRIX_ARB = $84E5;
  2173. GL_TRANSPOSE_COLOR_MATRIX_ARB = $84E6;
  2174. // GL_ARB_vertex_blend
  2175. GL_MAX_VERTEX_UNITS_ARB = $86A4;
  2176. GL_ACTIVE_VERTEX_UNITS_ARB = $86A5;
  2177. GL_WEIGHT_SUM_UNITY_ARB = $86A6;
  2178. GL_VERTEX_BLEND_ARB = $86A7;
  2179. GL_CURRENT_WEIGHT_ARB = $86A8;
  2180. GL_WEIGHT_ARRAY_TYPE_ARB = $86A9;
  2181. GL_WEIGHT_ARRAY_STRIDE_ARB = $86AA;
  2182. GL_WEIGHT_ARRAY_SIZE_ARB = $86AB;
  2183. GL_WEIGHT_ARRAY_POINTER_ARB = $86AC;
  2184. GL_WEIGHT_ARRAY_ARB = $86AD;
  2185. GL_MODELVIEW0_ARB = $1700;
  2186. GL_MODELVIEW1_ARB = $850A;
  2187. GL_MODELVIEW2_ARB = $8722;
  2188. GL_MODELVIEW3_ARB = $8723;
  2189. GL_MODELVIEW4_ARB = $8724;
  2190. GL_MODELVIEW5_ARB = $8725;
  2191. GL_MODELVIEW6_ARB = $8726;
  2192. GL_MODELVIEW7_ARB = $8727;
  2193. GL_MODELVIEW8_ARB = $8728;
  2194. GL_MODELVIEW9_ARB = $8729;
  2195. GL_MODELVIEW10_ARB = $872A;
  2196. GL_MODELVIEW11_ARB = $872B;
  2197. GL_MODELVIEW12_ARB = $872C;
  2198. GL_MODELVIEW13_ARB = $872D;
  2199. GL_MODELVIEW14_ARB = $872E;
  2200. GL_MODELVIEW15_ARB = $872F;
  2201. GL_MODELVIEW16_ARB = $8730;
  2202. GL_MODELVIEW17_ARB = $8731;
  2203. GL_MODELVIEW18_ARB = $8732;
  2204. GL_MODELVIEW19_ARB = $8733;
  2205. GL_MODELVIEW20_ARB = $8734;
  2206. GL_MODELVIEW21_ARB = $8735;
  2207. GL_MODELVIEW22_ARB = $8736;
  2208. GL_MODELVIEW23_ARB = $8737;
  2209. GL_MODELVIEW24_ARB = $8738;
  2210. GL_MODELVIEW25_ARB = $8739;
  2211. GL_MODELVIEW26_ARB = $873A;
  2212. GL_MODELVIEW27_ARB = $873B;
  2213. GL_MODELVIEW28_ARB = $873C;
  2214. GL_MODELVIEW29_ARB = $873D;
  2215. GL_MODELVIEW30_ARB = $873E;
  2216. GL_MODELVIEW31_ARB = $873F;
  2217. // GL_ARB_vertex_buffer_object
  2218. GL_BUFFER_SIZE_ARB = $8764;
  2219. GL_BUFFER_USAGE_ARB = $8765;
  2220. GL_ARRAY_BUFFER_ARB = $8892;
  2221. GL_ELEMENT_ARRAY_BUFFER_ARB = $8893;
  2222. GL_ARRAY_BUFFER_BINDING_ARB = $8894;
  2223. GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB = $8895;
  2224. GL_VERTEX_ARRAY_BUFFER_BINDING_ARB = $8896;
  2225. GL_NORMAL_ARRAY_BUFFER_BINDING_ARB = $8897;
  2226. GL_COLOR_ARRAY_BUFFER_BINDING_ARB = $8898;
  2227. GL_INDEX_ARRAY_BUFFER_BINDING_ARB = $8899;
  2228. GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = $889A;
  2229. GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = $889B;
  2230. GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = $889C;
  2231. GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = $889D;
  2232. GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB = $889E;
  2233. GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = $889F;
  2234. GL_READ_ONLY_ARB = $88B8;
  2235. GL_WRITE_ONLY_ARB = $88B9;
  2236. GL_READ_WRITE_ARB = $88BA;
  2237. GL_BUFFER_ACCESS_ARB = $88BB;
  2238. GL_BUFFER_MAPPED_ARB = $88BC;
  2239. GL_BUFFER_MAP_POINTER_ARB = $88BD;
  2240. GL_STREAM_DRAW_ARB = $88E0;
  2241. GL_STREAM_READ_ARB = $88E1;
  2242. GL_STREAM_COPY_ARB = $88E2;
  2243. GL_STATIC_DRAW_ARB = $88E4;
  2244. GL_STATIC_READ_ARB = $88E5;
  2245. GL_STATIC_COPY_ARB = $88E6;
  2246. GL_DYNAMIC_DRAW_ARB = $88E8;
  2247. GL_DYNAMIC_READ_ARB = $88E9;
  2248. GL_DYNAMIC_COPY_ARB = $88EA;
  2249. // GL_ARB_vertex_program
  2250. GL_COLOR_SUM_ARB = $8458;
  2251. GL_VERTEX_PROGRAM_ARB = $8620;
  2252. GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB = $8622;
  2253. GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB = $8623;
  2254. GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB = $8624;
  2255. GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB = $8625;
  2256. GL_CURRENT_VERTEX_ATTRIB_ARB = $8626;
  2257. GL_PROGRAM_LENGTH_ARB = $8627;
  2258. GL_PROGRAM_STRING_ARB = $8628;
  2259. GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = $862E;
  2260. GL_MAX_PROGRAM_MATRICES_ARB = $862F;
  2261. GL_CURRENT_MATRIX_STACK_DEPTH_ARB = $8640;
  2262. GL_CURRENT_MATRIX_ARB = $8641;
  2263. GL_VERTEX_PROGRAM_POINT_SIZE_ARB = $8642;
  2264. GL_VERTEX_PROGRAM_TWO_SIDE_ARB = $8643;
  2265. GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB = $8645;
  2266. GL_PROGRAM_ERROR_POSITION_ARB = $864B;
  2267. GL_PROGRAM_BINDING_ARB = $8677;
  2268. GL_MAX_VERTEX_ATTRIBS_ARB = $8869;
  2269. GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = $886A;
  2270. GL_PROGRAM_ERROR_STRING_ARB = $8874;
  2271. GL_PROGRAM_FORMAT_ASCII_ARB = $8875;
  2272. GL_PROGRAM_FORMAT_ARB = $8876;
  2273. GL_PROGRAM_INSTRUCTIONS_ARB = $88A0;
  2274. GL_MAX_PROGRAM_INSTRUCTIONS_ARB = $88A1;
  2275. GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = $88A2;
  2276. GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = $88A3;
  2277. GL_PROGRAM_TEMPORARIES_ARB = $88A4;
  2278. GL_MAX_PROGRAM_TEMPORARIES_ARB = $88A5;
  2279. GL_PROGRAM_NATIVE_TEMPORARIES_ARB = $88A6;
  2280. GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = $88A7;
  2281. GL_PROGRAM_PARAMETERS_ARB = $88A8;
  2282. GL_MAX_PROGRAM_PARAMETERS_ARB = $88A9;
  2283. GL_PROGRAM_NATIVE_PARAMETERS_ARB = $88AA;
  2284. GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = $88AB;
  2285. GL_PROGRAM_ATTRIBS_ARB = $88AC;
  2286. GL_MAX_PROGRAM_ATTRIBS_ARB = $88AD;
  2287. GL_PROGRAM_NATIVE_ATTRIBS_ARB = $88AE;
  2288. GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = $88AF;
  2289. GL_PROGRAM_ADDRESS_REGISTERS_ARB = $88B0;
  2290. GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = $88B1;
  2291. GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = $88B2;
  2292. GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = $88B3;
  2293. GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = $88B4;
  2294. GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = $88B5;
  2295. GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB = $88B6;
  2296. GL_TRANSPOSE_CURRENT_MATRIX_ARB = $88B7;
  2297. GL_MATRIX0_ARB = $88C0;
  2298. GL_MATRIX1_ARB = $88C1;
  2299. GL_MATRIX2_ARB = $88C2;
  2300. GL_MATRIX3_ARB = $88C3;
  2301. GL_MATRIX4_ARB = $88C4;
  2302. GL_MATRIX5_ARB = $88C5;
  2303. GL_MATRIX6_ARB = $88C6;
  2304. GL_MATRIX7_ARB = $88C7;
  2305. GL_MATRIX8_ARB = $88C8;
  2306. GL_MATRIX9_ARB = $88C9;
  2307. GL_MATRIX10_ARB = $88CA;
  2308. GL_MATRIX11_ARB = $88CB;
  2309. GL_MATRIX12_ARB = $88CC;
  2310. GL_MATRIX13_ARB = $88CD;
  2311. GL_MATRIX14_ARB = $88CE;
  2312. GL_MATRIX15_ARB = $88CF;
  2313. GL_MATRIX16_ARB = $88D0;
  2314. GL_MATRIX17_ARB = $88D1;
  2315. GL_MATRIX18_ARB = $88D2;
  2316. GL_MATRIX19_ARB = $88D3;
  2317. GL_MATRIX20_ARB = $88D4;
  2318. GL_MATRIX21_ARB = $88D5;
  2319. GL_MATRIX22_ARB = $88D6;
  2320. GL_MATRIX23_ARB = $88D7;
  2321. GL_MATRIX24_ARB = $88D8;
  2322. GL_MATRIX25_ARB = $88D9;
  2323. GL_MATRIX26_ARB = $88DA;
  2324. GL_MATRIX27_ARB = $88DB;
  2325. GL_MATRIX28_ARB = $88DC;
  2326. GL_MATRIX29_ARB = $88DD;
  2327. GL_MATRIX30_ARB = $88DE;
  2328. GL_MATRIX31_ARB = $88DF;
  2329. // GL_ARB_draw_buffers
  2330. GL_MAX_DRAW_BUFFERS_ARB = $8824;
  2331. GL_DRAW_BUFFER0_ARB = $8825;
  2332. GL_DRAW_BUFFER1_ARB = $8826;
  2333. GL_DRAW_BUFFER2_ARB = $8827;
  2334. GL_DRAW_BUFFER3_ARB = $8828;
  2335. GL_DRAW_BUFFER4_ARB = $8829;
  2336. GL_DRAW_BUFFER5_ARB = $882A;
  2337. GL_DRAW_BUFFER6_ARB = $882B;
  2338. GL_DRAW_BUFFER7_ARB = $882C;
  2339. GL_DRAW_BUFFER8_ARB = $882D;
  2340. GL_DRAW_BUFFER9_ARB = $882E;
  2341. GL_DRAW_BUFFER10_ARB = $882F;
  2342. GL_DRAW_BUFFER11_ARB = $8830;
  2343. GL_DRAW_BUFFER12_ARB = $8831;
  2344. GL_DRAW_BUFFER13_ARB = $8832;
  2345. GL_DRAW_BUFFER14_ARB = $8833;
  2346. GL_DRAW_BUFFER15_ARB = $8834;
  2347. // GL_ARB_texture_rectangle
  2348. GL_TEXTURE_RECTANGLE_ARB = $84F5;
  2349. GL_TEXTURE_BINDING_RECTANGLE_ARB = $84F6;
  2350. GL_PROXY_TEXTURE_RECTANGLE_ARB = $84F7;
  2351. GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB = $84F8;
  2352. // GL_ARB_color_buffer_float
  2353. GL_RGBA_FLOAT_MODE_ARB = $8820;
  2354. GL_CLAMP_VERTEX_COLOR_ARB = $891A;
  2355. GL_CLAMP_FRAGMENT_COLOR_ARB = $891B;
  2356. GL_CLAMP_READ_COLOR_ARB = $891C;
  2357. GL_FIXED_ONLY_ARB = $891D;
  2358. WGL_TYPE_RGBA_FLOAT_ARB = $21A0;
  2359. GLX_RGBA_FLOAT_TYPE = $20B9;
  2360. GLX_RGBA_FLOAT_BIT = $00000004;
  2361. // GL_ARB_compute_variable_group_size
  2362. GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB = $9344;
  2363. GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB = $90EB;
  2364. GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB = $9345;
  2365. GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB = $91BF;
  2366. // GL_ARB_half_float_pixel
  2367. GL_HALF_FLOAT_ARB = $140B;
  2368. // GL_ARB_texture_float
  2369. GL_TEXTURE_RED_TYPE_ARB = $8C10;
  2370. GL_TEXTURE_GREEN_TYPE_ARB = $8C11;
  2371. GL_TEXTURE_BLUE_TYPE_ARB = $8C12;
  2372. GL_TEXTURE_ALPHA_TYPE_ARB = $8C13;
  2373. GL_TEXTURE_LUMINANCE_TYPE_ARB = $8C14;
  2374. GL_TEXTURE_INTENSITY_TYPE_ARB = $8C15;
  2375. GL_TEXTURE_DEPTH_TYPE_ARB = $8C16;
  2376. GL_UNSIGNED_NORMALIZED_ARB = $8C17;
  2377. GL_RGBA32F_ARB = $8814;
  2378. GL_RGB32F_ARB = $8815;
  2379. GL_ALPHA32F_ARB = $8816;
  2380. GL_INTENSITY32F_ARB = $8817;
  2381. GL_LUMINANCE32F_ARB = $8818;
  2382. GL_LUMINANCE_ALPHA32F_ARB = $8819;
  2383. GL_RGBA16F_ARB = $881A;
  2384. GL_RGB16F_ARB = $881B;
  2385. GL_ALPHA16F_ARB = $881C;
  2386. GL_INTENSITY16F_ARB = $881D;
  2387. GL_LUMINANCE16F_ARB = $881E;
  2388. GL_LUMINANCE_ALPHA16F_ARB = $881F;
  2389. // GL_ARB_pixel_buffer_object
  2390. GL_PIXEL_PACK_BUFFER_ARB = $88EB;
  2391. GL_PIXEL_UNPACK_BUFFER_ARB = $88EC;
  2392. GL_PIXEL_PACK_BUFFER_BINDING_ARB = $88ED;
  2393. GL_PIXEL_UNPACK_BUFFER_BINDING_ARB = $88EF;
  2394. // GL_ARB_depth_buffer_float
  2395. GL_DEPTH_COMPONENT32F = $8CAC;
  2396. GL_DEPTH32F_STENCIL8 = $8CAD;
  2397. GL_FLOAT_32_UNSIGNED_INT_24_8_REV = $8DAD;
  2398. // GL_ARB_framebuffer_object
  2399. GL_INVALID_FRAMEBUFFER_OPERATION = $0506;
  2400. GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = $8210;
  2401. GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = $8211;
  2402. GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = $8212;
  2403. GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = $8213;
  2404. GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = $8214;
  2405. GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = $8215;
  2406. GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = $8216;
  2407. GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = $8217;
  2408. GL_FRAMEBUFFER_DEFAULT = $8218;
  2409. GL_FRAMEBUFFER_UNDEFINED = $8219;
  2410. GL_DEPTH_STENCIL_ATTACHMENT = $821A;
  2411. GL_MAX_RENDERBUFFER_SIZE = $84E8;
  2412. GL_DEPTH_STENCIL = $84F9;
  2413. GL_UNSIGNED_INT_24_8 = $84FA;
  2414. GL_DEPTH24_STENCIL8 = $88F0;
  2415. GL_TEXTURE_STENCIL_SIZE = $88F1;
  2416. GL_TEXTURE_RED_TYPE = $8C10;
  2417. GL_TEXTURE_GREEN_TYPE = $8C11;
  2418. GL_TEXTURE_BLUE_TYPE = $8C12;
  2419. GL_TEXTURE_ALPHA_TYPE = $8C13;
  2420. GL_TEXTURE_DEPTH_TYPE = $8C16;
  2421. GL_UNSIGNED_NORMALIZED = $8C17;
  2422. GL_FRAMEBUFFER_BINDING = $8CA6;
  2423. GL_DRAW_FRAMEBUFFER_BINDING = GL_FRAMEBUFFER_BINDING;
  2424. GL_RENDERBUFFER_BINDING = $8CA7;
  2425. GL_READ_FRAMEBUFFER = $8CA8;
  2426. GL_DRAW_FRAMEBUFFER = $8CA9;
  2427. GL_READ_FRAMEBUFFER_BINDING = $8CAA;
  2428. GL_RENDERBUFFER_SAMPLES = $8CAB;
  2429. GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = $8CD0;
  2430. GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = $8CD1;
  2431. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = $8CD2;
  2432. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = $8CD3;
  2433. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = $8CD4;
  2434. GL_FRAMEBUFFER_COMPLETE = $8CD5;
  2435. GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = $8CD6;
  2436. GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = $8CD7;
  2437. GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = $8CDB;
  2438. GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER = $8CDC;
  2439. GL_FRAMEBUFFER_UNSUPPORTED = $8CDD;
  2440. GL_MAX_COLOR_ATTACHMENTS = $8CDF;
  2441. GL_COLOR_ATTACHMENT0 = $8CE0;
  2442. GL_COLOR_ATTACHMENT1 = $8CE1;
  2443. GL_COLOR_ATTACHMENT2 = $8CE2;
  2444. GL_COLOR_ATTACHMENT3 = $8CE3;
  2445. GL_COLOR_ATTACHMENT4 = $8CE4;
  2446. GL_COLOR_ATTACHMENT5 = $8CE5;
  2447. GL_COLOR_ATTACHMENT6 = $8CE6;
  2448. GL_COLOR_ATTACHMENT7 = $8CE7;
  2449. GL_COLOR_ATTACHMENT8 = $8CE8;
  2450. GL_COLOR_ATTACHMENT9 = $8CE9;
  2451. GL_COLOR_ATTACHMENT10 = $8CEA;
  2452. GL_COLOR_ATTACHMENT11 = $8CEB;
  2453. GL_COLOR_ATTACHMENT12 = $8CEC;
  2454. GL_COLOR_ATTACHMENT13 = $8CED;
  2455. GL_COLOR_ATTACHMENT14 = $8CEE;
  2456. GL_COLOR_ATTACHMENT15 = $8CEF;
  2457. GL_DEPTH_ATTACHMENT = $8D00;
  2458. GL_STENCIL_ATTACHMENT = $8D20;
  2459. GL_FRAMEBUFFER = $8D40;
  2460. GL_RENDERBUFFER = $8D41;
  2461. GL_RENDERBUFFER_WIDTH = $8D42;
  2462. GL_RENDERBUFFER_HEIGHT = $8D43;
  2463. GL_RENDERBUFFER_INTERNAL_FORMAT = $8D44;
  2464. GL_STENCIL_INDEX1 = $8D46;
  2465. GL_STENCIL_INDEX4 = $8D47;
  2466. GL_STENCIL_INDEX8 = $8D48;
  2467. GL_STENCIL_INDEX16 = $8D49;
  2468. GL_RENDERBUFFER_RED_SIZE = $8D50;
  2469. GL_RENDERBUFFER_GREEN_SIZE = $8D51;
  2470. GL_RENDERBUFFER_BLUE_SIZE = $8D52;
  2471. GL_RENDERBUFFER_ALPHA_SIZE = $8D53;
  2472. GL_RENDERBUFFER_DEPTH_SIZE = $8D54;
  2473. GL_RENDERBUFFER_STENCIL_SIZE = $8D55;
  2474. GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = $8D56;
  2475. GL_MAX_SAMPLES = $8D57;
  2476. {$IFDEF USE_DEPRECATED}
  2477. GL_INDEX = $8222;
  2478. GL_TEXTURE_LUMINANCE_TYPE = $8C14;
  2479. GL_TEXTURE_INTENSITY_TYPE = $8C15;
  2480. {$ENDIF}
  2481. // GL_ARB_framebuffer_sRGB
  2482. GL_FRAMEBUFFER_SRGB = $8DB9;
  2483. // GL_ARB_geometry_shader4
  2484. GL_LINES_ADJACENCY_ARB = $000A;
  2485. GL_LINE_STRIP_ADJACENCY_ARB = $000B;
  2486. GL_TRIANGLES_ADJACENCY_ARB = $000C;
  2487. GL_TRIANGLE_STRIP_ADJACENCY_ARB = $000D;
  2488. GL_PROGRAM_POINT_SIZE_ARB = $8642;
  2489. GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB = $8C29;
  2490. GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB = $8DA7;
  2491. GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = $8DA8;
  2492. GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = $8DA9;
  2493. GL_GEOMETRY_SHADER_ARB = $8DD9;
  2494. GL_GEOMETRY_VERTICES_OUT_ARB = $8DDA;
  2495. GL_GEOMETRY_INPUT_TYPE_ARB = $8DDB;
  2496. GL_GEOMETRY_OUTPUT_TYPE_ARB = $8DDC;
  2497. GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB = $8DDD;
  2498. GL_MAX_VERTEX_VARYING_COMPONENTS_ARB = $8DDE;
  2499. GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = $8DDF;
  2500. GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB = $8DE0;
  2501. GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = $8DE1;
  2502. // GL_ARB_gl_spirv
  2503. GL_SHADER_BINARY_FORMAT_SPIR_V_ARB = $9551;
  2504. GL_SPIR_V_BINARY_ARB = $9552;
  2505. // GL_ARB_half_float_vertex
  2506. GL_HALF_FLOAT = $140B;
  2507. // GL_ARB_instanced_arrays
  2508. GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB = $88FE;
  2509. // GL_ARB_map_buffer_range
  2510. GL_MAP_READ_BIT = $0001;
  2511. GL_MAP_WRITE_BIT = $0002;
  2512. GL_MAP_INVALIDATE_RANGE_BIT = $0004;
  2513. GL_MAP_INVALIDATE_BUFFER_BIT = $0008;
  2514. GL_MAP_FLUSH_EXPLICIT_BIT = $0010;
  2515. GL_MAP_UNSYNCHRONIZED_BIT = $0020;
  2516. // GL_ARB_texture_buffer_object
  2517. GL_TEXTURE_BUFFER_ARB = $8C2A;
  2518. GL_MAX_TEXTURE_BUFFER_SIZE_ARB = $8C2B;
  2519. GL_TEXTURE_BINDING_BUFFER_ARB = $8C2C;
  2520. GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB = $8C2D;
  2521. GL_TEXTURE_BUFFER_FORMAT_ARB = $8C2E;
  2522. // GL_ARB_texture_compression_rgtc
  2523. GL_COMPRESSED_RED_RGTC1 = $8DBB;
  2524. GL_COMPRESSED_SIGNED_RED_RGTC1 = $8DBC;
  2525. GL_COMPRESSED_RG_RGTC2 = $8DBD;
  2526. GL_COMPRESSED_SIGNED_RG_RGTC2 = $8DBE;
  2527. // GL_ARB_texture_rg
  2528. GL_RG = $8227;
  2529. GL_RG_INTEGER = $8228;
  2530. GL_R8 = $8229;
  2531. GL_R16 = $822A;
  2532. GL_RG8 = $822B;
  2533. GL_RG16 = $822C;
  2534. GL_R16F = $822D;
  2535. GL_R32F = $822E;
  2536. GL_RG16F = $822F;
  2537. GL_RG32F = $8230;
  2538. GL_R8I = $8231;
  2539. GL_R8UI = $8232;
  2540. GL_R16I = $8233;
  2541. GL_R16UI = $8234;
  2542. GL_R32I = $8235;
  2543. GL_R32UI = $8236;
  2544. GL_RG8I = $8237;
  2545. GL_RG8UI = $8238;
  2546. GL_RG16I = $8239;
  2547. GL_RG16UI = $823A;
  2548. GL_RG32I = $823B;
  2549. GL_RG32UI = $823C;
  2550. // GL_ARB_vertex_array_object
  2551. GL_VERTEX_ARRAY_BINDING = $85B5;
  2552. // GL_ARB_uniform_buffer_object
  2553. GL_UNIFORM_BUFFER = $8A11;
  2554. GL_UNIFORM_BUFFER_BINDING = $8A28;
  2555. GL_UNIFORM_BUFFER_START = $8A29;
  2556. GL_UNIFORM_BUFFER_SIZE = $8A2A;
  2557. GL_MAX_VERTEX_UNIFORM_BLOCKS = $8A2B;
  2558. GL_MAX_GEOMETRY_UNIFORM_BLOCKS = $8A2C;
  2559. GL_MAX_FRAGMENT_UNIFORM_BLOCKS = $8A2D;
  2560. GL_MAX_COMBINED_UNIFORM_BLOCKS = $8A2E;
  2561. GL_MAX_UNIFORM_BUFFER_BINDINGS = $8A2F;
  2562. GL_MAX_UNIFORM_BLOCK_SIZE = $8A30;
  2563. GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = $8A31;
  2564. GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = $8A32;
  2565. GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = $8A33;
  2566. GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = $8A34;
  2567. GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = $8A35;
  2568. GL_ACTIVE_UNIFORM_BLOCKS = $8A36;
  2569. GL_UNIFORM_TYPE = $8A37;
  2570. GL_UNIFORM_SIZE = $8A38;
  2571. GL_UNIFORM_NAME_LENGTH = $8A39;
  2572. GL_UNIFORM_BLOCK_INDEX = $8A3A;
  2573. GL_UNIFORM_OFFSET = $8A3B;
  2574. GL_UNIFORM_ARRAY_STRIDE = $8A3C;
  2575. GL_UNIFORM_MATRIX_STRIDE = $8A3D;
  2576. GL_UNIFORM_IS_ROW_MAJOR = $8A3E;
  2577. GL_UNIFORM_BLOCK_BINDING = $8A3F;
  2578. GL_UNIFORM_BLOCK_DATA_SIZE = $8A40;
  2579. GL_UNIFORM_BLOCK_NAME_LENGTH = $8A41;
  2580. GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS = $8A42;
  2581. GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = $8A43;
  2582. GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = $8A44;
  2583. GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = $8A45;
  2584. GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = $8A46;
  2585. GL_INVALID_INDEX = $FFFFFFFF;
  2586. // GL_ARB_compatibility
  2587. { ARB_compatibility just defines tokens from core 3.0 }
  2588. // GL_ARB_copy_buffer
  2589. GL_COPY_READ_BUFFER_BINDING = $8F36;
  2590. GL_COPY_READ_BUFFER = GL_COPY_READ_BUFFER_BINDING;
  2591. GL_COPY_WRITE_BUFFER_BINDING = $8F37;
  2592. GL_COPY_WRITE_BUFFER = GL_COPY_WRITE_BUFFER_BINDING;
  2593. // GL_ARB_depth_clamp
  2594. GL_DEPTH_CLAMP = $864F;
  2595. // GL_ARB_provoking_vertex
  2596. GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = $8E4C;
  2597. GL_FIRST_VERTEX_CONVENTION = $8E4D;
  2598. GL_LAST_VERTEX_CONVENTION = $8E4E;
  2599. GL_PROVOKING_VERTEX = $8E4F;
  2600. // GL_ARB_seamless_cube_map
  2601. GL_TEXTURE_CUBE_MAP_SEAMLESS = $884F;
  2602. // GL_ARB_sync
  2603. GL_MAX_SERVER_WAIT_TIMEOUT = $9111;
  2604. GL_OBJECT_TYPE = $9112;
  2605. GL_SYNC_CONDITION = $9113;
  2606. GL_SYNC_STATUS = $9114;
  2607. GL_SYNC_FLAGS = $9115;
  2608. GL_SYNC_FENCE = $9116;
  2609. GL_SYNC_GPU_COMMANDS_COMPLETE = $9117;
  2610. GL_UNSIGNALED = $9118;
  2611. GL_SIGNALED = $9119;
  2612. GL_ALREADY_SIGNALED = $911A;
  2613. GL_TIMEOUT_EXPIRED = $911B;
  2614. GL_CONDITION_SATISFIED = $911C;
  2615. GL_WAIT_FAILED = $911D;
  2616. GL_SYNC_FLUSH_COMMANDS_BIT = $00000001;
  2617. GL_TIMEOUT_IGNORED = $FFFFFFFFFFFFFFFF;
  2618. // GL_ARB_texture_multisample
  2619. GL_SAMPLE_POSITION = $8E50;
  2620. GL_SAMPLE_MASK = $8E51;
  2621. GL_SAMPLE_MASK_VALUE = $8E52;
  2622. GL_MAX_SAMPLE_MASK_WORDS = $8E59;
  2623. GL_TEXTURE_2D_MULTISAMPLE = $9100;
  2624. GL_PROXY_TEXTURE_2D_MULTISAMPLE = $9101;
  2625. GL_TEXTURE_2D_MULTISAMPLE_ARRAY = $9102;
  2626. GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = $9103;
  2627. GL_TEXTURE_BINDING_2D_MULTISAMPLE = $9104;
  2628. GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = $9105;
  2629. GL_TEXTURE_SAMPLES = $9106;
  2630. GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = $9107;
  2631. GL_SAMPLER_2D_MULTISAMPLE = $9108;
  2632. GL_INT_SAMPLER_2D_MULTISAMPLE = $9109;
  2633. GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = $910A;
  2634. GL_SAMPLER_2D_MULTISAMPLE_ARRAY = $910B;
  2635. GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = $910C;
  2636. GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = $910D;
  2637. GL_MAX_COLOR_TEXTURE_SAMPLES = $910E;
  2638. GL_MAX_DEPTH_TEXTURE_SAMPLES = $910F;
  2639. GL_MAX_INTEGER_SAMPLES = $9110;
  2640. // GL_ARB_vertex_array_bgra
  2641. { reuse GL_BGRA }
  2642. // GL_ARB_sample_shading
  2643. GL_SAMPLE_SHADING_ARB = $8C36;
  2644. GL_MIN_SAMPLE_SHADING_VALUE_ARB = $8C37;
  2645. // GL_ARB_sample_locations
  2646. GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB = $933D;
  2647. GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB = $933E;
  2648. GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB = $933F;
  2649. GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB = $9340;
  2650. GL_SAMPLE_LOCATION_ARB = $8E50;
  2651. GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB = $9341;
  2652. GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB = $9342;
  2653. GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB = $9343;
  2654. // GL_ARB_texture_cube_map_array
  2655. GL_TEXTURE_CUBE_MAP_ARRAY_ARB = $9009;
  2656. GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = $900A;
  2657. GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB = $900B;
  2658. GL_SAMPLER_CUBE_MAP_ARRAY_ARB = $900C;
  2659. GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB = $900D;
  2660. GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = $900E;
  2661. GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = $900F;
  2662. // GL_ARB_texture_gather
  2663. GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = $8E5E;
  2664. GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = $8E5F;
  2665. // GL_ARB_shading_language_include
  2666. GL_SHADER_INCLUDE_ARB = $8DAE;
  2667. GL_NAMED_STRING_LENGTH_ARB = $8DE9;
  2668. GL_NAMED_STRING_TYPE_ARB = $8DEA;
  2669. // GL_ARB_texture_compression_bptc
  2670. GL_COMPRESSED_RGBA_BPTC_UNORM_ARB = $8E8C;
  2671. GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB = $8E8D;
  2672. GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB = $8E8E;
  2673. GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB = $8E8F;
  2674. // GL_ARB_blend_func_extended
  2675. GL_SRC1_COLOR = $88F9;
  2676. GL_ONE_MINUS_SRC1_COLOR = $88FA;
  2677. GL_ONE_MINUS_SRC1_ALPHA = $88FB;
  2678. GL_MAX_DUAL_SOURCE_DRAW_BUFFERS = $88FC;
  2679. // GL_ARB_occlusion_query2
  2680. GL_ANY_SAMPLES_PASSED = $8C2F;
  2681. // GL_ARB_parallel_shader_compile
  2682. GL_MAX_SHADER_COMPILER_THREADS_ARB = $91B0;
  2683. GL_COMPLETION_STATUS_ARB = $91B1;
  2684. // GL_ARB_sampler_objects
  2685. GL_SAMPLER_BINDING = $8919;
  2686. // GL_ARB_texture_rgb10_a2ui
  2687. GL_RGB10_A2UI = $906F;
  2688. // GL_ARB_texture_swizzle
  2689. GL_TEXTURE_SWIZZLE_R = $8E42;
  2690. GL_TEXTURE_SWIZZLE_G = $8E43;
  2691. GL_TEXTURE_SWIZZLE_B = $8E44;
  2692. GL_TEXTURE_SWIZZLE_A = $8E45;
  2693. GL_TEXTURE_SWIZZLE_RGBA = $8E46;
  2694. // GL_ARB_SPARSE_TEXTURE
  2695. GL_TEXTURE_SPARSE_ARB = $91A6;
  2696. GL_VIRTUAL_PAGE_SIZE_INDEX_ARB = $91A7;
  2697. GL_NUM_VIRTUAL_PAGE_SIZES_ARB = $91A8;
  2698. GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB = $91A9;
  2699. GL_NUM_SPARSE_LEVELS_ARB = $91AA;
  2700. GL_VIRTUAL_PAGE_SIZE_X_ARB = $9195;
  2701. GL_VIRTUAL_PAGE_SIZE_Y_ARB = $9196;
  2702. GL_VIRTUAL_PAGE_SIZE_Z_ARB = $9197;
  2703. GL_MAX_SPARSE_TEXTURE_SIZE_ARB = $9198;
  2704. GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB = $9199;
  2705. GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB = $919A;
  2706. GL_MIN_SPARSE_LEVEL_ARB = $919B;
  2707. // GL_ARB_timer_query
  2708. GL_TIME_ELAPSED = $88BF;
  2709. GL_TIMESTAMP = $8E28;
  2710. // GL_ARB_vertex_type_2_10_10_10_rev
  2711. (* reuse GL_UNSIGNED_INT_2_10_10_10_REV *)
  2712. GL_INT_2_10_10_10_REV = $8D9F;
  2713. // GL_ARB_draw_indirect
  2714. GL_DRAW_INDIRECT_BUFFER = $8F3F;
  2715. GL_DRAW_INDIRECT_BUFFER_BINDING = $8F43;
  2716. // GL_ARB_gpu_shader5
  2717. GL_GEOMETRY_SHADER_INVOCATIONS = $887F;
  2718. GL_MAX_GEOMETRY_SHADER_INVOCATIONS = $8E5A;
  2719. GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = $8E5B;
  2720. GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = $8E5C;
  2721. GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = $8E5D;
  2722. // GL_ARB_gpu_shader_fp64
  2723. GL_DOUBLE_VEC2 = $8FFC;
  2724. GL_DOUBLE_VEC3 = $8FFD;
  2725. GL_DOUBLE_VEC4 = $8FFE;
  2726. GL_DOUBLE_MAT2 = $8F46;
  2727. GL_DOUBLE_MAT3 = $8F47;
  2728. GL_DOUBLE_MAT4 = $8F48;
  2729. GL_DOUBLE_MAT2x3 = $8F49;
  2730. GL_DOUBLE_MAT2x4 = $8F4A;
  2731. GL_DOUBLE_MAT3x2 = $8F4B;
  2732. GL_DOUBLE_MAT3x4 = $8F4C;
  2733. GL_DOUBLE_MAT4x2 = $8F4D;
  2734. GL_DOUBLE_MAT4x3 = $8F4E;
  2735. // GL_ARB_gpu_shader_int64
  2736. GL_INT64_ARB = $140E;
  2737. GL_INT64_VEC2_ARB = $8FE9;
  2738. GL_INT64_VEC3_ARB = $8FEA;
  2739. GL_INT64_VEC4_ARB = $8FEB;
  2740. GL_UNSIGNED_INT64_VEC2_ARB = $8FF5;
  2741. GL_UNSIGNED_INT64_VEC3_ARB = $8FF6;
  2742. GL_UNSIGNED_INT64_VEC4_ARB = $8FF7;
  2743. // GL_ARB_shader_subroutine
  2744. GL_ACTIVE_SUBROUTINES = $8DE5;
  2745. GL_ACTIVE_SUBROUTINE_UNIFORMS = $8DE6;
  2746. GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = $8E47;
  2747. GL_ACTIVE_SUBROUTINE_MAX_LENGTH = $8E48;
  2748. GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = $8E49;
  2749. GL_MAX_SUBROUTINES = $8DE7;
  2750. GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS = $8DE8;
  2751. GL_NUM_COMPATIBLE_SUBROUTINES = $8E4A;
  2752. GL_COMPATIBLE_SUBROUTINES = $8E4B;
  2753. // GL_ARB_tessellation_shader
  2754. GL_PATCHES = $000E;
  2755. GL_PATCH_VERTICES = $8E72;
  2756. GL_PATCH_DEFAULT_INNER_LEVEL = $8E73;
  2757. GL_PATCH_DEFAULT_OUTER_LEVEL = $8E74;
  2758. GL_TESS_CONTROL_OUTPUT_VERTICES = $8E75;
  2759. GL_TESS_GEN_MODE = $8E76;
  2760. GL_TESS_GEN_SPACING = $8E77;
  2761. GL_TESS_GEN_VERTEX_ORDER = $8E78;
  2762. GL_TESS_GEN_POINT_MODE = $8E79;
  2763. GL_ISOLINES = $8E7A;
  2764. GL_FRACTIONAL_ODD = $8E7B;
  2765. GL_FRACTIONAL_EVEN = $8E7C;
  2766. GL_MAX_PATCH_VERTICES = $8E7D;
  2767. GL_MAX_TESS_GEN_LEVEL = $8E7E;
  2768. GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = $8E7F;
  2769. GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = $8E80;
  2770. GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = $8E81;
  2771. GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = $8E82;
  2772. GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = $8E83;
  2773. GL_MAX_TESS_PATCH_COMPONENTS = $8E84;
  2774. GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = $8E85;
  2775. GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = $8E86;
  2776. GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = $8E89;
  2777. GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = $8E8A;
  2778. GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = $886C;
  2779. GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = $886D;
  2780. GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = $8E1E;
  2781. GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = $8E1F;
  2782. GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = $84F0;
  2783. GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = $84F1;
  2784. GL_TESS_EVALUATION_SHADER = $8E87;
  2785. GL_TESS_CONTROL_SHADER = $8E88;
  2786. // GL_ARB_texture_buffer_object_rgb32
  2787. // GL_ARB_transform_feedback2
  2788. GL_TRANSFORM_FEEDBACK = $8E22;
  2789. GL_TRANSFORM_FEEDBACK_PAUSED = $8E23;
  2790. GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED = GL_TRANSFORM_FEEDBACK_PAUSED;
  2791. GL_TRANSFORM_FEEDBACK_ACTIVE = $8E24;
  2792. GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE = GL_TRANSFORM_FEEDBACK_ACTIVE;
  2793. GL_TRANSFORM_FEEDBACK_BINDING = $8E25;
  2794. // GL_ARB_transform_feedback_overflow_query
  2795. GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB = $82EC;
  2796. GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB = $82ED;
  2797. // GL_ARB_transform_feedback3
  2798. GL_MAX_TRANSFORM_FEEDBACK_BUFFERS = $8E70;
  2799. GL_MAX_VERTEX_STREAMS = $8E71;
  2800. // GL_ARB_ES2_compatibility
  2801. GL_FIXED = $140C;
  2802. GL_IMPLEMENTATION_COLOR_READ_TYPE = $8B9A;
  2803. GL_IMPLEMENTATION_COLOR_READ_FORMAT = $8B9B;
  2804. GL_LOW_FLOAT = $8DF0;
  2805. GL_MEDIUM_FLOAT = $8DF1;
  2806. GL_HIGH_FLOAT = $8DF2;
  2807. GL_LOW_INT = $8DF3;
  2808. GL_MEDIUM_INT = $8DF4;
  2809. GL_HIGH_INT = $8DF5;
  2810. GL_SHADER_COMPILER = $8DFA;
  2811. GL_NUM_SHADER_BINARY_FORMATS = $8DF9;
  2812. GL_MAX_VERTEX_UNIFORM_VECTORS = $8DFB;
  2813. GL_MAX_VARYING_VECTORS = $8DFC;
  2814. GL_MAX_FRAGMENT_UNIFORM_VECTORS = $8DFD;
  2815. GL_RGB565 = $8D62;
  2816. // GL_ARB_ES3_2_compatibility
  2817. GL_PRIMITIVE_BOUNDING_BOX_ARB = $092BE;
  2818. GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB = $09381;
  2819. GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB = $09382;
  2820. // GL_ARB_get_program_binary
  2821. GL_PROGRAM_BINARY_RETRIEVABLE_HINT = $8257;
  2822. GL_PROGRAM_BINARY_LENGTH = $8741;
  2823. GL_NUM_PROGRAM_BINARY_FORMATS = $87FE;
  2824. GL_PROGRAM_BINARY_FORMATS = $87FF;
  2825. // GL_ARB_separate_shader_objects
  2826. GL_VERTEX_SHADER_BIT = $00000001;
  2827. GL_FRAGMENT_SHADER_BIT = $00000002;
  2828. GL_GEOMETRY_SHADER_BIT = $00000004;
  2829. GL_TESS_CONTROL_SHADER_BIT = $00000008;
  2830. GL_TESS_EVALUATION_SHADER_BIT = $00000010;
  2831. GL_ALL_SHADER_BITS = $FFFFFFFF;
  2832. GL_PROGRAM_SEPARABLE = $8258;
  2833. GL_ACTIVE_PROGRAM = $8259;
  2834. GL_PROGRAM_PIPELINE_BINDING = $825A;
  2835. // GL_ARB_vertex_attrib_64bit
  2836. GL_MAX_VIEWPORTS = $825B;
  2837. GL_VIEWPORT_SUBPIXEL_BITS = $825C;
  2838. GL_VIEWPORT_BOUNDS_RANGE = $825D;
  2839. GL_LAYER_PROVOKING_VERTEX = $825E;
  2840. GL_VIEWPORT_INDEX_PROVOKING_VERTEX = $825F;
  2841. GL_UNDEFINED_VERTEX = $8260;
  2842. // GL_ARB_cl_event
  2843. GL_SYNC_CL_EVENT_ARB = $8240;
  2844. GL_SYNC_CL_EVENT_COMPLETE_ARB = $8241;
  2845. // GL_ARB_debug_output
  2846. GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB = $8242;
  2847. GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB = $8243;
  2848. GL_DEBUG_CALLBACK_FUNCTION_ARB = $8244;
  2849. GL_DEBUG_CALLBACK_USER_PARAM_ARB = $8245;
  2850. GL_DEBUG_SOURCE_API_ARB = $8246;
  2851. GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB = $8247;
  2852. GL_DEBUG_SOURCE_SHADER_COMPILER_ARB = $8248;
  2853. GL_DEBUG_SOURCE_THIRD_PARTY_ARB = $8249;
  2854. GL_DEBUG_SOURCE_APPLICATION_ARB = $824A;
  2855. GL_DEBUG_SOURCE_OTHER_ARB = $824B;
  2856. GL_DEBUG_TYPE_ERROR_ARB = $824C;
  2857. GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB = $824D;
  2858. GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB = $824E;
  2859. GL_DEBUG_TYPE_PORTABILITY_ARB = $824F;
  2860. GL_DEBUG_TYPE_PERFORMANCE_ARB = $8250;
  2861. GL_DEBUG_TYPE_OTHER_ARB = $8251;
  2862. GL_MAX_DEBUG_MESSAGE_LENGTH_ARB = $9143;
  2863. GL_MAX_DEBUG_LOGGED_MESSAGES_ARB = $9144;
  2864. GL_DEBUG_LOGGED_MESSAGES_ARB = $9145;
  2865. GL_DEBUG_SEVERITY_HIGH_ARB = $9146;
  2866. GL_DEBUG_SEVERITY_MEDIUM_ARB = $9147;
  2867. GL_DEBUG_SEVERITY_LOW_ARB = $9148;
  2868. // GL_ARB_robustness
  2869. GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB = $00000004;
  2870. GL_LOSE_CONTEXT_ON_RESET_ARB = $8252;
  2871. GL_GUILTY_CONTEXT_RESET_ARB = $8253;
  2872. GL_INNOCENT_CONTEXT_RESET_ARB = $8254;
  2873. GL_UNKNOWN_CONTEXT_RESET_ARB = $8255;
  2874. GL_RESET_NOTIFICATION_STRATEGY_ARB = $8256;
  2875. GL_NO_RESET_NOTIFICATION_ARB = $8261;
  2876. // GL_ARB_compressed_texture_pixel_storage
  2877. GL_UNPACK_COMPRESSED_BLOCK_WIDTH = $09127;
  2878. GL_UNPACK_COMPRESSED_BLOCK_HEIGHT = $09128;
  2879. GL_UNPACK_COMPRESSED_BLOCK_DEPTH = $09129;
  2880. GL_UNPACK_COMPRESSED_BLOCK_SIZE = $0912A;
  2881. GL_PACK_COMPRESSED_BLOCK_WIDTH = $0912B;
  2882. GL_PACK_COMPRESSED_BLOCK_HEIGHT = $0912C;
  2883. GL_PACK_COMPRESSED_BLOCK_DEPTH = $0912D;
  2884. GL_PACK_COMPRESSED_BLOCK_SIZE = $0912E;
  2885. // GL_ARB_internalformat_query
  2886. GL_NUM_SAMPLE_COUNTS = $09380;
  2887. // GL_ARB_map_buffer_alignment
  2888. GL_MIN_MAP_BUFFER_ALIGNMENT = $090BC;
  2889. // GL_ARB_shader_atomic_counters
  2890. GL_ATOMIC_COUNTER_BUFFER = $92C0;
  2891. GL_ATOMIC_COUNTER_BUFFER_BINDING = $92C1;
  2892. GL_ATOMIC_COUNTER_BUFFER_START = $92C2;
  2893. GL_ATOMIC_COUNTER_BUFFER_SIZE = $92C3;
  2894. GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE = $92C4;
  2895. GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = $92C5;
  2896. GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = $92C6;
  2897. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = $92C7;
  2898. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = $92C8;
  2899. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = $92C9;
  2900. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = $92CA;
  2901. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = $92CB;
  2902. GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = $92CC;
  2903. GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = $92CD;
  2904. GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = $92CE;
  2905. GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = $92CF;
  2906. GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = $92D0;
  2907. GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = $92D1;
  2908. GL_MAX_VERTEX_ATOMIC_COUNTERS = $92D2;
  2909. GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = $92D3;
  2910. GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = $92D4;
  2911. GL_MAX_GEOMETRY_ATOMIC_COUNTERS = $92D5;
  2912. GL_MAX_FRAGMENT_ATOMIC_COUNTERS = $92D6;
  2913. GL_MAX_COMBINED_ATOMIC_COUNTERS = $92D7;
  2914. GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = $92D8;
  2915. GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = $92DC;
  2916. GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = $92D9;
  2917. GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = $92DA;
  2918. GL_UNSIGNED_INT_ATOMIC_COUNTER = $92DB;
  2919. // GL_ARB_shader_image_load_store
  2920. GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = $00000001;
  2921. GL_ELEMENT_ARRAY_BARRIER_BIT = $00000002;
  2922. GL_UNIFORM_BARRIER_BIT = $00000004;
  2923. GL_TEXTURE_FETCH_BARRIER_BIT = $00000008;
  2924. GL_SHADER_IMAGE_ACCESS_BARRIER_BIT = $00000020;
  2925. GL_COMMAND_BARRIER_BIT = $00000040;
  2926. GL_PIXEL_BUFFER_BARRIER_BIT = $00000080;
  2927. GL_TEXTURE_UPDATE_BARRIER_BIT = $00000100;
  2928. GL_BUFFER_UPDATE_BARRIER_BIT = $00000200;
  2929. GL_FRAMEBUFFER_BARRIER_BIT = $00000400;
  2930. GL_TRANSFORM_FEEDBACK_BARRIER_BIT = $00000800;
  2931. GL_ATOMIC_COUNTER_BARRIER_BIT = $00001000;
  2932. GL_ALL_BARRIER_BITS = $FFFFFFFF;
  2933. GL_MAX_IMAGE_UNITS = $8F38;
  2934. GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = $8F39;
  2935. GL_IMAGE_BINDING_NAME = $8F3A;
  2936. GL_IMAGE_BINDING_LEVEL = $8F3B;
  2937. GL_IMAGE_BINDING_LAYERED = $8F3C;
  2938. GL_IMAGE_BINDING_LAYER = $8F3D;
  2939. GL_IMAGE_BINDING_ACCESS = $8F3E;
  2940. GL_IMAGE_1D = $904C;
  2941. GL_IMAGE_2D = $904D;
  2942. GL_IMAGE_3D = $904E;
  2943. GL_IMAGE_2D_RECT = $904F;
  2944. GL_IMAGE_CUBE = $9050;
  2945. GL_IMAGE_BUFFER = $9051;
  2946. GL_IMAGE_1D_ARRAY = $9052;
  2947. GL_IMAGE_2D_ARRAY = $9053;
  2948. GL_IMAGE_CUBE_MAP_ARRAY = $9054;
  2949. GL_IMAGE_2D_MULTISAMPLE = $9055;
  2950. GL_IMAGE_2D_MULTISAMPLE_ARRAY = $9056;
  2951. GL_INT_IMAGE_1D = $9057;
  2952. GL_INT_IMAGE_2D = $9058;
  2953. GL_INT_IMAGE_3D = $9059;
  2954. GL_INT_IMAGE_2D_RECT = $905A;
  2955. GL_INT_IMAGE_CUBE = $905B;
  2956. GL_INT_IMAGE_BUFFER = $905C;
  2957. GL_INT_IMAGE_1D_ARRAY = $905D;
  2958. GL_INT_IMAGE_2D_ARRAY = $905E;
  2959. GL_INT_IMAGE_CUBE_MAP_ARRAY = $905F;
  2960. GL_INT_IMAGE_2D_MULTISAMPLE = $9060;
  2961. GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY = $9061;
  2962. GL_UNSIGNED_INT_IMAGE_1D = $9062;
  2963. GL_UNSIGNED_INT_IMAGE_2D = $9063;
  2964. GL_UNSIGNED_INT_IMAGE_3D = $9064;
  2965. GL_UNSIGNED_INT_IMAGE_2D_RECT = $9065;
  2966. GL_UNSIGNED_INT_IMAGE_CUBE = $9066;
  2967. GL_UNSIGNED_INT_IMAGE_BUFFER = $9067;
  2968. GL_UNSIGNED_INT_IMAGE_1D_ARRAY = $9068;
  2969. GL_UNSIGNED_INT_IMAGE_2D_ARRAY = $9069;
  2970. GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = $906A;
  2971. GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = $906B;
  2972. GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = $906C;
  2973. GL_MAX_IMAGE_SAMPLES = $906D;
  2974. GL_IMAGE_BINDING_FORMAT = $906E;
  2975. GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = $90C7;
  2976. GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = $90C8;
  2977. GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = $90C9;
  2978. GL_MAX_VERTEX_IMAGE_UNIFORMS = $90CA;
  2979. GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = $90CB;
  2980. GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = $90CC;
  2981. GL_MAX_GEOMETRY_IMAGE_UNIFORMS = $90CD;
  2982. GL_MAX_FRAGMENT_IMAGE_UNIFORMS = $90CE;
  2983. GL_MAX_COMBINED_IMAGE_UNIFORMS = $90CF;
  2984. // GL_ARB_texture_storage
  2985. GL_TEXTURE_IMMUTABLE_FORMAT = $912F;
  2986. // 4.3
  2987. // GL_KHR_texture_compression_astc_hdr
  2988. GL_COMPRESSED_RGBA_ASTC_4x4_KHR = $93B0;
  2989. GL_COMPRESSED_RGBA_ASTC_5x4_KHR = $93B1;
  2990. GL_COMPRESSED_RGBA_ASTC_5x5_KHR = $93B2;
  2991. GL_COMPRESSED_RGBA_ASTC_6x5_KHR = $93B3;
  2992. GL_COMPRESSED_RGBA_ASTC_6x6_KHR = $93B4;
  2993. GL_COMPRESSED_RGBA_ASTC_8x5_KHR = $93B5;
  2994. GL_COMPRESSED_RGBA_ASTC_8x6_KHR = $93B6;
  2995. GL_COMPRESSED_RGBA_ASTC_8x8_KHR = $93B7;
  2996. GL_COMPRESSED_RGBA_ASTC_105_KHR = $93B8;
  2997. GL_COMPRESSED_RGBA_ASTC_106_KHR = $93B9;
  2998. GL_COMPRESSED_RGBA_ASTC_108_KHR = $93BA;
  2999. GL_COMPRESSED_RGBA_ASTC_110_KHR = $93BB;
  3000. GL_COMPRESSED_RGBA_ASTC_12x10_KHR = $93BC;
  3001. GL_COMPRESSED_RGBA_ASTC_12x12_KHR = $93BD;
  3002. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = $93D0;
  3003. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = $93D1;
  3004. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = $93D2;
  3005. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = $93D3;
  3006. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = $93D4;
  3007. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = $93D5;
  3008. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = $93D6;
  3009. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = $93D7;
  3010. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = $93D8;
  3011. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = $93D9;
  3012. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = $93DA;
  3013. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = $93DB;
  3014. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = $93DC;
  3015. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = $93DD;
  3016. // (4.3) GL_KHR_debug
  3017. GL_DEBUG_OUTPUT_SYNCHRONOUS = $8242;
  3018. GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = $8243;
  3019. GL_DEBUG_CALLBACK_FUNCTION = $8244;
  3020. GL_DEBUG_CALLBACK_USER_PARAM = $8245;
  3021. GL_DEBUG_SOURCE_API = $8246;
  3022. GL_DEBUG_SOURCE_WINDOW_SYSTEM = $8247;
  3023. GL_DEBUG_SOURCE_SHADER_COMPILER = $8248;
  3024. GL_DEBUG_SOURCE_THIRD_PARTY = $8249;
  3025. GL_DEBUG_SOURCE_APPLICATION = $824A;
  3026. GL_DEBUG_SOURCE_OTHER = $824B;
  3027. GL_DEBUG_TYPE_ERROR = $824C;
  3028. GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = $824D;
  3029. GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = $824E;
  3030. GL_DEBUG_TYPE_PORTABILITY = $824F;
  3031. GL_DEBUG_TYPE_PERFORMANCE = $8250;
  3032. GL_DEBUG_TYPE_OTHER = $8251;
  3033. GL_DEBUG_TYPE_MARKER = $8268;
  3034. GL_DEBUG_TYPE_PUSH_GROUP = $8269;
  3035. GL_DEBUG_TYPE_POP_GROUP = $826A;
  3036. GL_DEBUG_SEVERITY_NOTIFICATION = $826B;
  3037. GL_MAX_DEBUG_GROUP_STACK_DEPTH = $826C;
  3038. GL_DEBUG_GROUP_STACK_DEPTH = $826D;
  3039. GL_BUFFER = $82E0;
  3040. GL_SHADER = $82E1;
  3041. GL_PROGRAM = $82E2;
  3042. GL_QUERY = $82E3;
  3043. GL_PROGRAM_PIPELINE = $82E4;
  3044. GL_SAMPLER = $82E6;
  3045. GL_DISPLAY_LIST = $82E7;
  3046. GL_MAX_LABEL_LENGTH = $82E8;
  3047. GL_MAX_DEBUG_MESSAGE_LENGTH = $9143;
  3048. GL_MAX_DEBUG_LOGGED_MESSAGES = $9144;
  3049. GL_DEBUG_LOGGED_MESSAGES = $9145;
  3050. GL_DEBUG_SEVERITY_HIGH = $9146;
  3051. GL_DEBUG_SEVERITY_MEDIUM = $9147;
  3052. GL_DEBUG_SEVERITY_LOW = $9148;
  3053. GL_DEBUG_OUTPUT = $92E0;
  3054. GL_CONTEXT_FLAG_DEBUG_BIT = $00000002;
  3055. GL_COMPUTE_SHADER = $91B9;
  3056. GL_MAX_COMPUTE_UNIFORM_BLOCKS = $91BB;
  3057. GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = $91BC;
  3058. GL_MAX_COMPUTE_IMAGE_UNIFORMS = $91BD;
  3059. GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = $8262;
  3060. GL_MAX_COMPUTE_UNIFORM_COMPONENTS = $8263;
  3061. GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = $8264;
  3062. GL_MAX_COMPUTE_ATOMIC_COUNTERS = $8265;
  3063. GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = $8266;
  3064. GL_MAX_COMPUTE_LOCAL_INVOCATIONS = $90EB;
  3065. GL_MAX_COMPUTE_WORK_GROUP_COUNT = $91BE;
  3066. GL_MAX_COMPUTE_WORK_GROUP_SIZE = $91BF;
  3067. GL_COMPUTE_LOCAL_WORK_SIZE = $8267;
  3068. GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = $90EC;
  3069. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = $90ED;
  3070. GL_DISPATCH_INDIRECT_BUFFER = $90EE;
  3071. GL_DISPATCH_INDIRECT_BUFFER_BINDING = $90EF;
  3072. GL_COMPUTE_SHADER_BIT = $00000020;
  3073. GL_COMPRESSED_RGB8_ETC2 = $9274;
  3074. GL_COMPRESSED_SRGB8_ETC2 = $9275;
  3075. GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = $9276;
  3076. GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = $9277;
  3077. GL_COMPRESSED_RGBA8_ETC2_EAC = $9278;
  3078. GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = $9279;
  3079. GL_COMPRESSED_R11_EAC = $9270;
  3080. GL_COMPRESSED_SIGNED_R11_EAC = $9271;
  3081. GL_COMPRESSED_RG11_EAC = $9272;
  3082. GL_COMPRESSED_SIGNED_RG11_EAC = $9273;
  3083. GL_PRIMITIVE_RESTART_FIXED_INDEX = $8D69;
  3084. GL_ANY_SAMPLES_PASSED_CONSERVATIVE = $8D6A;
  3085. GL_MAX_ELEMENT_INDEX = $8D6B;
  3086. GL_MAX_UNIFORM_LOCATIONS = $826E;
  3087. GL_FRAMEBUFFER_DEFAULT_WIDTH = $9310;
  3088. GL_FRAMEBUFFER_DEFAULT_HEIGHT = $9311;
  3089. GL_FRAMEBUFFER_DEFAULT_LAYERS = $9312;
  3090. GL_FRAMEBUFFER_DEFAULT_SAMPLES = $9313;
  3091. GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = $9314;
  3092. GL_MAX_FRAMEBUFFER_WIDTH = $9315;
  3093. GL_MAX_FRAMEBUFFER_HEIGHT = $9316;
  3094. GL_MAX_FRAMEBUFFER_LAYERS = $9317;
  3095. GL_MAX_FRAMEBUFFER_SAMPLES = $9318;
  3096. GL_INTERNALFORMAT_SUPPORTED = $826F;
  3097. GL_INTERNALFORMAT_PREFERRED = $8270;
  3098. GL_INTERNALFORMAT_RED_SIZE = $8271;
  3099. GL_INTERNALFORMAT_GREEN_SIZE = $8272;
  3100. GL_INTERNALFORMAT_BLUE_SIZE = $8273;
  3101. GL_INTERNALFORMAT_ALPHA_SIZE = $8274;
  3102. GL_INTERNALFORMAT_DEPTH_SIZE = $8275;
  3103. GL_INTERNALFORMAT_STENCIL_SIZE = $8276;
  3104. GL_INTERNALFORMAT_SHARED_SIZE = $8277;
  3105. GL_INTERNALFORMAT_RED_TYPE = $8278;
  3106. GL_INTERNALFORMAT_GREEN_TYPE = $8279;
  3107. GL_INTERNALFORMAT_BLUE_TYPE = $827A;
  3108. GL_INTERNALFORMAT_ALPHA_TYPE = $827B;
  3109. GL_INTERNALFORMAT_DEPTH_TYPE = $827C;
  3110. GL_INTERNALFORMAT_STENCIL_TYPE = $827D;
  3111. GL_MAX_WIDTH = $827E;
  3112. GL_MAX_HEIGHT = $827F;
  3113. GL_MAX_DEPTH = $8280;
  3114. GL_MAX_LAYERS = $8281;
  3115. GL_MAX_COMBINED_DIMENSIONS = $8282;
  3116. GL_COLOR_COMPONENTS = $8283;
  3117. GL_DEPTH_COMPONENTS = $8284;
  3118. GL_STENCIL_COMPONENTS = $8285;
  3119. GL_COLOR_RENDERABLE = $8286;
  3120. GL_DEPTH_RENDERABLE = $8287;
  3121. GL_STENCIL_RENDERABLE = $8288;
  3122. GL_FRAMEBUFFER_RENDERABLE = $8289;
  3123. GL_FRAMEBUFFER_RENDERABLE_LAYERED = $828A;
  3124. GL_FRAMEBUFFER_BLEND = $828B;
  3125. GL_READ_PIXELS = $828C;
  3126. GL_READ_PIXELS_FORMAT = $828D;
  3127. GL_READ_PIXELS_TYPE = $828E;
  3128. GL_TEXTURE_IMAGE_FORMAT = $828F;
  3129. GL_TEXTURE_IMAGE_TYPE = $8290;
  3130. GL_GET_TEXTURE_IMAGE_FORMAT = $8291;
  3131. GL_GET_TEXTURE_IMAGE_TYPE = $8292;
  3132. GL_MIPMAP = $8293;
  3133. GL_MANUAL_GENERATE_MIPMAP = $8294;
  3134. GL_AUTO_GENERATE_MIPMAP = $8295;
  3135. GL_COLOR_ENCODING = $8296;
  3136. GL_SRGB_READ = $8297;
  3137. GL_SRGB_WRITE = $8298;
  3138. GL_SRGB_DECODE_ARB = $8299;
  3139. GL_FILTER = $829A;
  3140. GL_VERTEX_TEXTURE = $829B;
  3141. GL_TESS_CONTROL_TEXTURE = $829C;
  3142. GL_TESS_EVALUATION_TEXTURE = $829D;
  3143. GL_GEOMETRY_TEXTURE = $829E;
  3144. GL_FRAGMENT_TEXTURE = $829F;
  3145. GL_COMPUTE_TEXTURE = $82A0;
  3146. GL_TEXTURE_SHADOW = $82A1;
  3147. GL_TEXTURE_GATHER = $82A2;
  3148. GL_TEXTURE_GATHER_SHADOW = $82A3;
  3149. GL_SHADER_IMAGE_LOAD = $82A4;
  3150. GL_SHADER_IMAGE_STORE = $82A5;
  3151. GL_SHADER_IMAGE_ATOMIC = $82A6;
  3152. GL_IMAGE_TEXEL_SIZE = $82A7;
  3153. GL_IMAGE_COMPATIBILITY_CLASS = $82A8;
  3154. GL_IMAGE_PIXEL_FORMAT = $82A9;
  3155. GL_IMAGE_PIXEL_TYPE = $82AA;
  3156. GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = $82AC;
  3157. GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = $82AD;
  3158. GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = $82AE;
  3159. GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = $82AF;
  3160. GL_TEXTURE_COMPRESSED_BLOCK_WIDTH = $82B1;
  3161. GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT = $82B2;
  3162. GL_TEXTURE_COMPRESSED_BLOCK_SIZE = $82B3;
  3163. GL_CLEAR_BUFFER = $82B4;
  3164. GL_TEXTURE_VIEW = $82B5;
  3165. GL_VIEW_COMPATIBILITY_CLASS = $82B6;
  3166. GL_FULL_SUPPORT = $82B7;
  3167. GL_CAVEAT_SUPPORT = $82B8;
  3168. GL_IMAGE_CLASS_4_X_32 = $82B9;
  3169. GL_IMAGE_CLASS_2_X_32 = $82BA;
  3170. GL_IMAGE_CLASS_1_X_32 = $82BB;
  3171. GL_IMAGE_CLASS_4_X_16 = $82BC;
  3172. GL_IMAGE_CLASS_2_X_16 = $82BD;
  3173. GL_IMAGE_CLASS_1_X_16 = $82BE;
  3174. GL_IMAGE_CLASS_4_X_8 = $82BF;
  3175. GL_IMAGE_CLASS_2_X_8 = $82C0;
  3176. GL_IMAGE_CLASS_1_X_8 = $82C1;
  3177. GL_IMAGE_CLASS_11_11_10 = $82C2;
  3178. GL_IMAGE_CLASS_10_10_10_2 = $82C3;
  3179. GL_VIEW_CLASS_128_BITS = $82C4;
  3180. GL_VIEW_CLASS_96_BITS = $82C5;
  3181. GL_VIEW_CLASS_64_BITS = $82C6;
  3182. GL_VIEW_CLASS_48_BITS = $82C7;
  3183. GL_VIEW_CLASS_32_BITS = $82C8;
  3184. GL_VIEW_CLASS_24_BITS = $82C9;
  3185. GL_VIEW_CLASS_16_BITS = $82CA;
  3186. GL_VIEW_CLASS_8_BITS = $82CB;
  3187. GL_VIEW_CLASS_S3TC_DXT1_RGB = $82CC;
  3188. GL_VIEW_CLASS_S3TC_DXT1_RGBA = $82CD;
  3189. GL_VIEW_CLASS_S3TC_DXT3_RGBA = $82CE;
  3190. GL_VIEW_CLASS_S3TC_DXT5_RGBA = $82CF;
  3191. GL_VIEW_CLASS_RGTC1_RED = $82D0;
  3192. GL_VIEW_CLASS_RGTC2_RG = $82D1;
  3193. GL_VIEW_CLASS_BPTC_UNORM = $82D2;
  3194. GL_VIEW_CLASS_BPTC_FLOAT = $82D3;
  3195. GL_UNIFORM = $92E1;
  3196. GL_UNIFORM_BLOCK = $92E2;
  3197. GL_PROGRAM_INPUT = $92E3;
  3198. GL_PROGRAM_OUTPUT = $92E4;
  3199. GL_BUFFER_VARIABLE = $92E5;
  3200. GL_SHADER_STORAGE_BLOCK = $92E6;
  3201. GL_VERTEX_SUBROUTINE = $92E8;
  3202. GL_TESS_CONTROL_SUBROUTINE = $92E9;
  3203. GL_TESS_EVALUATION_SUBROUTINE = $92EA;
  3204. GL_GEOMETRY_SUBROUTINE = $92EB;
  3205. GL_FRAGMENT_SUBROUTINE = $92EC;
  3206. GL_COMPUTE_SUBROUTINE = $92ED;
  3207. GL_VERTEX_SUBROUTINE_UNIFORM = $92EE;
  3208. GL_TESS_CONTROL_SUBROUTINE_UNIFORM = $92EF;
  3209. GL_TESS_EVALUATION_SUBROUTINE_UNIFORM = $92F0;
  3210. GL_GEOMETRY_SUBROUTINE_UNIFORM = $92F1;
  3211. GL_FRAGMENT_SUBROUTINE_UNIFORM = $92F2;
  3212. GL_COMPUTE_SUBROUTINE_UNIFORM = $92F3;
  3213. GL_TRANSFORM_FEEDBACK_VARYING = $92F4;
  3214. GL_ACTIVE_RESOURCES = $92F5;
  3215. GL_MAX_NAME_LENGTH = $92F6;
  3216. GL_MAX_NUM_ACTIVE_VARIABLES = $92F7;
  3217. GL_MAX_NUM_COMPATIBLE_SUBROUTINES = $92F8;
  3218. GL_NAME_LENGTH = $92F9;
  3219. GL_TYPE = $92FA;
  3220. GL_ARRAY_SIZE = $92FB;
  3221. GL_OFFSET = $92FC;
  3222. GL_BLOCK_INDEX = $92FD;
  3223. GL_ARRAY_STRIDE = $92FE;
  3224. GL_MATRIX_STRIDE = $92FF;
  3225. GL_IS_ROW_MAJOR = $9300;
  3226. GL_ATOMIC_COUNTER_BUFFER_INDEX = $9301;
  3227. GL_BUFFER_BINDING = $9302;
  3228. GL_BUFFER_DATA_SIZE = $9303;
  3229. GL_NUM_ACTIVE_VARIABLES = $9304;
  3230. GL_ACTIVE_VARIABLES = $9305;
  3231. GL_REFERENCED_BY_VERTEX_SHADER = $9306;
  3232. GL_REFERENCED_BY_TESS_CONTROL_SHADER = $9307;
  3233. GL_REFERENCED_BY_TESS_EVALUATION_SHADER = $9308;
  3234. GL_REFERENCED_BY_GEOMETRY_SHADER = $9309;
  3235. GL_REFERENCED_BY_FRAGMENT_SHADER = $930A;
  3236. GL_REFERENCED_BY_COMPUTE_SHADER = $930B;
  3237. GL_TOP_LEVEL_ARRAY_SIZE = $930C;
  3238. GL_TOP_LEVEL_ARRAY_STRIDE = $930D;
  3239. GL_LOCATION = $930E;
  3240. GL_LOCATION_INDEX = $930F;
  3241. GL_IS_PER_PATCH = $92E7;
  3242. GL_SHADER_STORAGE_BUFFER = $90D2;
  3243. GL_SHADER_STORAGE_BUFFER_BINDING = $90D3;
  3244. GL_SHADER_STORAGE_BUFFER_START = $90D4;
  3245. GL_SHADER_STORAGE_BUFFER_SIZE = $90D5;
  3246. GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = $90D6;
  3247. GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = $90D7;
  3248. GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = $90D8;
  3249. GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = $90D9;
  3250. GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = $90DA;
  3251. GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = $90DB;
  3252. GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = $90DC;
  3253. GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = $90DD;
  3254. GL_MAX_SHADER_STORAGE_BLOCK_SIZE = $90DE;
  3255. GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = $90DF;
  3256. GL_SHADER_STORAGE_BARRIER_BIT = $2000;
  3257. GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS;
  3258. GL_DEPTH_STENCIL_TEXTURE_MODE = $90EA;
  3259. GL_TEXTURE_BUFFER_OFFSET = $919D;
  3260. GL_TEXTURE_BUFFER_SIZE = $919E;
  3261. GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = $919F;
  3262. GL_TEXTURE_VIEW_MIN_LEVEL = $82DB;
  3263. GL_TEXTURE_VIEW_NUM_LEVELS = $82DC;
  3264. GL_TEXTURE_VIEW_MIN_LAYER = $82DD;
  3265. GL_TEXTURE_VIEW_NUM_LAYERS = $82DE;
  3266. GL_TEXTURE_IMMUTABLE_LEVELS = $82DF;
  3267. GL_VERTEX_ATTRIB_BINDING = $82D4;
  3268. GL_VERTEX_ATTRIB_RELATIVE_OFFSET = $82D5;
  3269. GL_VERTEX_BINDING_DIVISOR = $82D6;
  3270. GL_VERTEX_BINDING_OFFSET = $82D7;
  3271. GL_VERTEX_BINDING_STRIDE = $82D8;
  3272. GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = $82D9;
  3273. GL_MAX_VERTEX_ATTRIB_BINDINGS = $82DA;
  3274. // GL 4.4
  3275. GL_MAX_VERTEX_ATTRIB_STRIDE = $82E5;
  3276. GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = $8221;
  3277. GL_TEXTURE_BUFFER_BINDING = $8C2A;
  3278. GL_MAP_PERSISTENT_BIT = $0040;
  3279. GL_MAP_COHERENT_BIT = $0080;
  3280. GL_DYNAMIC_STORAGE_BIT = $0100;
  3281. GL_CLIENT_STORAGE_BIT = $0200;
  3282. GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT = $00004000;
  3283. GL_BUFFER_IMMUTABLE_STORAGE = $821F;
  3284. GL_BUFFER_STORAGE_FLAGS = $8220;
  3285. GL_CLEAR_TEXTURE = $9365;
  3286. GL_LOCATION_COMPONENT = $934A;
  3287. GL_TRANSFORM_FEEDBACK_BUFFER_INDEX = $934B;
  3288. GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE = $934C;
  3289. GL_QUERY_BUFFER = $9192;
  3290. GL_QUERY_BUFFER_BARRIER_BIT = $00008000;
  3291. GL_QUERY_BUFFER_BINDING = $9193;
  3292. GL_QUERY_RESULT_NO_WAIT = $9194;
  3293. GL_MIRROR_CLAMP_TO_EDGE = $8743;
  3294. // GL 4.5
  3295. GL_CONTEXT_LOST = $0507;
  3296. GL_NEGATIVE_ONE_TO_ONE = $935E;
  3297. GL_ZERO_TO_ONE = $935F;
  3298. GL_CLIP_ORIGIN = $935C;
  3299. GL_CLIP_DEPTH_MODE = $935D;
  3300. GL_QUERY_WAIT_INVERTED = $8E17;
  3301. GL_QUERY_NO_WAIT_INVERTED = $8E18;
  3302. GL_QUERY_BY_REGION_WAIT_INVERTED = $8E19;
  3303. GL_QUERY_BY_REGION_NO_WAIT_INVERTED = $8E1A;
  3304. GL_MAX_CULL_DISTANCES = $82F9;
  3305. GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES = $82FA;
  3306. GL_TEXTURE_TARGET = $1006;
  3307. GL_QUERY_TARGET = $82EA;
  3308. GL_TEXTURE_BINDING = $82EB;
  3309. GL_GUILTY_CONTEXT_RESET = $8253;
  3310. GL_INNOCENT_CONTEXT_RESET = $8254;
  3311. GL_UNKNOWN_CONTEXT_RESET = $8255;
  3312. GL_RESET_NOTIFICATION_STRATEGY = $8256;
  3313. GL_LOSE_CONTEXT_ON_RESET = $8252;
  3314. GL_NO_RESET_NOTIFICATION = $8261;
  3315. GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT = $00000004;
  3316. GL_CONTEXT_RELEASE_BEHAVIOR = $82FB;
  3317. GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH = $82FC;
  3318. // 4.6
  3319. GL_SHADER_BINARY_FORMAT_SPIR_V = $9551;
  3320. GL_SPIR_V_BINARY = $9552;
  3321. GL_PARAMETER_BUFFER = $80EE;
  3322. GL_PARAMETER_BUFFER_BINDING = $80EF;
  3323. GL_CONTEXT_FLAG_NO_ERROR_BIT = $00000008;
  3324. GL_VERTICES_SUBMITTED = $82EE;
  3325. GL_PRIMITIVES_SUBMITTED = $82EF;
  3326. GL_VERTEX_SHADER_INVOCATIONS = $82F0;
  3327. GL_TESS_CONTROL_SHADER_PATCHES = $82F1;
  3328. GL_TESS_EVALUATION_SHADER_INVOCATIONS = $82F2;
  3329. GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED = $82F3;
  3330. GL_FRAGMENT_SHADER_INVOCATIONS = $82F4;
  3331. GL_COMPUTE_SHADER_INVOCATIONS = $82F5;
  3332. GL_CLIPPING_INPUT_PRIMITIVES = $82F6;
  3333. GL_CLIPPING_OUTPUT_PRIMITIVES = $82F7;
  3334. GL_POLYGON_OFFSET_CLAMP = $8E1B;
  3335. GL_SPIR_V_EXTENSIONS = $9553;
  3336. GL_NUM_SPIR_V_EXTENSIONS = $9554;
  3337. GL_TEXTURE_MAX_ANISOTROPY = $84FE;
  3338. GL_MAX_TEXTURE_MAX_ANISOTROPY = $84FF;
  3339. GL_TRANSFORM_FEEDBACK_OVERFLOW = $82EC;
  3340. GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW = $82ED;
  3341. // GL_ATI_draw_buffers
  3342. GL_MAX_DRAW_BUFFERS_ATI = $8824;
  3343. GL_DRAW_BUFFER0_ATI = $8825;
  3344. GL_DRAW_BUFFER1_ATI = $8826;
  3345. GL_DRAW_BUFFER2_ATI = $8827;
  3346. GL_DRAW_BUFFER3_ATI = $8828;
  3347. GL_DRAW_BUFFER4_ATI = $8829;
  3348. GL_DRAW_BUFFER5_ATI = $882A;
  3349. GL_DRAW_BUFFER6_ATI = $882B;
  3350. GL_DRAW_BUFFER7_ATI = $882C;
  3351. GL_DRAW_BUFFER8_ATI = $882D;
  3352. GL_DRAW_BUFFER9_ATI = $882E;
  3353. GL_DRAW_BUFFER10_ATI = $882F;
  3354. GL_DRAW_BUFFER11_ATI = $8830;
  3355. GL_DRAW_BUFFER12_ATI = $8831;
  3356. GL_DRAW_BUFFER13_ATI = $8832;
  3357. GL_DRAW_BUFFER14_ATI = $8833;
  3358. GL_DRAW_BUFFER15_ATI = $8834;
  3359. // GL_ATI_element_array
  3360. GL_ELEMENT_ARRAY_ATI = $8768;
  3361. GL_ELEMENT_ARRAY_TYPE_ATI = $8769;
  3362. GL_ELEMENT_ARRAY_POINTER_ATI = $876A;
  3363. // GL_ATI_envmap_bumpmap
  3364. GL_BUMP_ROT_MATRIX_ATI = $8775;
  3365. GL_BUMP_ROT_MATRIX_SIZE_ATI = $8776;
  3366. GL_BUMP_NUM_TEX_UNITS_ATI = $8777;
  3367. GL_BUMP_TEX_UNITS_ATI = $8778;
  3368. GL_DUDV_ATI = $8779;
  3369. GL_DU8DV8_ATI = $877A;
  3370. GL_BUMP_ENVMAP_ATI = $877B;
  3371. GL_BUMP_TARGET_ATI = $877C;
  3372. // GL_ATI_fragment_shader
  3373. GL_FRAGMENT_SHADER_ATI = $8920;
  3374. GL_REG_0_ATI = $8921;
  3375. GL_REG_1_ATI = $8922;
  3376. GL_REG_2_ATI = $8923;
  3377. GL_REG_3_ATI = $8924;
  3378. GL_REG_4_ATI = $8925;
  3379. GL_REG_5_ATI = $8926;
  3380. GL_REG_6_ATI = $8927;
  3381. GL_REG_7_ATI = $8928;
  3382. GL_REG_8_ATI = $8929;
  3383. GL_REG_9_ATI = $892A;
  3384. GL_REG_10_ATI = $892B;
  3385. GL_REG_11_ATI = $892C;
  3386. GL_REG_12_ATI = $892D;
  3387. GL_REG_13_ATI = $892E;
  3388. GL_REG_14_ATI = $892F;
  3389. GL_REG_15_ATI = $8930;
  3390. GL_REG_16_ATI = $8931;
  3391. GL_REG_17_ATI = $8932;
  3392. GL_REG_18_ATI = $8933;
  3393. GL_REG_19_ATI = $8934;
  3394. GL_REG_20_ATI = $8935;
  3395. GL_REG_21_ATI = $8936;
  3396. GL_REG_22_ATI = $8937;
  3397. GL_REG_23_ATI = $8938;
  3398. GL_REG_24_ATI = $8939;
  3399. GL_REG_25_ATI = $893A;
  3400. GL_REG_26_ATI = $893B;
  3401. GL_REG_27_ATI = $893C;
  3402. GL_REG_28_ATI = $893D;
  3403. GL_REG_29_ATI = $893E;
  3404. GL_REG_30_ATI = $893F;
  3405. GL_REG_31_ATI = $8940;
  3406. GL_CON_0_ATI = $8941;
  3407. GL_CON_1_ATI = $8942;
  3408. GL_CON_2_ATI = $8943;
  3409. GL_CON_3_ATI = $8944;
  3410. GL_CON_4_ATI = $8945;
  3411. GL_CON_5_ATI = $8946;
  3412. GL_CON_6_ATI = $8947;
  3413. GL_CON_7_ATI = $8948;
  3414. GL_CON_8_ATI = $8949;
  3415. GL_CON_9_ATI = $894A;
  3416. GL_CON_10_ATI = $894B;
  3417. GL_CON_11_ATI = $894C;
  3418. GL_CON_12_ATI = $894D;
  3419. GL_CON_13_ATI = $894E;
  3420. GL_CON_14_ATI = $894F;
  3421. GL_CON_15_ATI = $8950;
  3422. GL_CON_16_ATI = $8951;
  3423. GL_CON_17_ATI = $8952;
  3424. GL_CON_18_ATI = $8953;
  3425. GL_CON_19_ATI = $8954;
  3426. GL_CON_20_ATI = $8955;
  3427. GL_CON_21_ATI = $8956;
  3428. GL_CON_22_ATI = $8957;
  3429. GL_CON_23_ATI = $8958;
  3430. GL_CON_24_ATI = $8959;
  3431. GL_CON_25_ATI = $895A;
  3432. GL_CON_26_ATI = $895B;
  3433. GL_CON_27_ATI = $895C;
  3434. GL_CON_28_ATI = $895D;
  3435. GL_CON_29_ATI = $895E;
  3436. GL_CON_30_ATI = $895F;
  3437. GL_CON_31_ATI = $8960;
  3438. GL_MOV_ATI = $8961;
  3439. GL_ADD_ATI = $8963;
  3440. GL_MUL_ATI = $8964;
  3441. GL_SUB_ATI = $8965;
  3442. GL_DOT3_ATI = $8966;
  3443. GL_DOT4_ATI = $8967;
  3444. GL_MAD_ATI = $8968;
  3445. GL_LERP_ATI = $8969;
  3446. GL_CND_ATI = $896A;
  3447. GL_CND0_ATI = $896B;
  3448. GL_DOT2_ADD_ATI = $896C;
  3449. GL_SECONDARY_INTERPOLATOR_ATI = $896D;
  3450. GL_NUM_FRAGMENT_REGISTERS_ATI = $896E;
  3451. GL_NUM_FRAGMENT_CONSTANTS_ATI = $896F;
  3452. GL_NUM_PASSES_ATI = $8970;
  3453. GL_NUM_INSTRUCTIONS_PER_PASS_ATI = $8971;
  3454. GL_NUM_INSTRUCTIONS_TOTAL_ATI = $8972;
  3455. GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = $8973;
  3456. GL_NUM_LOOPBACK_COMPONENTS_ATI = $8974;
  3457. GL_COLOR_ALPHA_PAIRING_ATI = $8975;
  3458. GL_SWIZZLE_STR_ATI = $8976;
  3459. GL_SWIZZLE_STQ_ATI = $8977;
  3460. GL_SWIZZLE_STR_DR_ATI = $8978;
  3461. GL_SWIZZLE_STQ_DQ_ATI = $8979;
  3462. GL_SWIZZLE_STRQ_ATI = $897A;
  3463. GL_SWIZZLE_STRQ_DQ_ATI = $897B;
  3464. GL_RED_BIT_ATI = $00000001;
  3465. GL_GREEN_BIT_ATI = $00000002;
  3466. GL_BLUE_BIT_ATI = $00000004;
  3467. GL_2X_BIT_ATI = $00000001;
  3468. GL_4X_BIT_ATI = $00000002;
  3469. GL_8X_BIT_ATI = $00000004;
  3470. GL_HALF_BIT_ATI = $00000008;
  3471. GL_QUARTER_BIT_ATI = $00000010;
  3472. GL_EIGHTH_BIT_ATI = $00000020;
  3473. GL_SATURATE_BIT_ATI = $00000040;
  3474. GL_COMP_BIT_ATI = $00000002;
  3475. GL_NEGATE_BIT_ATI = $00000004;
  3476. GL_BIAS_BIT_ATI = $00000008;
  3477. // GL_ATI_pn_triangles
  3478. GL_PN_TRIANGLES_ATI = $87F0;
  3479. GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = $87F1;
  3480. GL_PN_TRIANGLES_POINT_MODE_ATI = $87F2;
  3481. GL_PN_TRIANGLES_NORMAL_MODE_ATI = $87F3;
  3482. GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI = $87F4;
  3483. GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI = $87F5;
  3484. GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI = $87F6;
  3485. GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = $87F7;
  3486. GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = $87F8;
  3487. // GL_ATI_separate_stencil
  3488. GL_STENCIL_BACK_FUNC_ATI = $8800;
  3489. GL_STENCIL_BACK_FAIL_ATI = $8801;
  3490. GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI = $8802;
  3491. GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI = $8803;
  3492. // GL_ATI_text_fragment_shader
  3493. GL_TEXT_FRAGMENT_SHADER_ATI = $8200;
  3494. // GL_ATI_texture_env_combine3
  3495. GL_MODULATE_ADD_ATI = $8744;
  3496. GL_MODULATE_SIGNED_ADD_ATI = $8745;
  3497. GL_MODULATE_SUBTRACT_ATI = $8746;
  3498. // GL_ATI_texture_float
  3499. GL_RGBA_FLOAT32_ATI = $8814;
  3500. GL_RGB_FLOAT32_ATI = $8815;
  3501. GL_ALPHA_FLOAT32_ATI = $8816;
  3502. GL_INTENSITY_FLOAT32_ATI = $8817;
  3503. GL_LUMINANCE_FLOAT32_ATI = $8818;
  3504. GL_LUMINANCE_ALPHA_FLOAT32_ATI = $8819;
  3505. GL_RGBA_FLOAT16_ATI = $881A;
  3506. GL_RGB_FLOAT16_ATI = $881B;
  3507. GL_ALPHA_FLOAT16_ATI = $881C;
  3508. GL_INTENSITY_FLOAT16_ATI = $881D;
  3509. GL_LUMINANCE_FLOAT16_ATI = $881E;
  3510. GL_LUMINANCE_ALPHA_FLOAT16_ATI = $881F;
  3511. // GL_ATI_texture_mirror_once
  3512. GL_MIRROR_CLAMP_ATI = $8742;
  3513. GL_MIRROR_CLAMP_TO_EDGE_ATI = $8743;
  3514. // GL_ATI_vertex_array_object
  3515. GL_STATIC_ATI = $8760;
  3516. GL_DYNAMIC_ATI = $8761;
  3517. GL_PRESERVE_ATI = $8762;
  3518. GL_DISCARD_ATI = $8763;
  3519. GL_OBJECT_BUFFER_SIZE_ATI = $8764;
  3520. GL_OBJECT_BUFFER_USAGE_ATI = $8765;
  3521. GL_ARRAY_OBJECT_BUFFER_ATI = $8766;
  3522. GL_ARRAY_OBJECT_OFFSET_ATI = $8767;
  3523. // GL_ATI_vertex_streams
  3524. GL_MAX_VERTEX_STREAMS_ATI = $876B;
  3525. GL_VERTEX_STREAM0_ATI = $876C;
  3526. GL_VERTEX_STREAM1_ATI = $876D;
  3527. GL_VERTEX_STREAM2_ATI = $876E;
  3528. GL_VERTEX_STREAM3_ATI = $876F;
  3529. GL_VERTEX_STREAM4_ATI = $8770;
  3530. GL_VERTEX_STREAM5_ATI = $8771;
  3531. GL_VERTEX_STREAM6_ATI = $8772;
  3532. GL_VERTEX_STREAM7_ATI = $8773;
  3533. GL_VERTEX_SOURCE_ATI = $8774;
  3534. // GL_ATI_meminfo
  3535. GL_VBO_FREE_MEMORY_ATI = $87FB;
  3536. GL_TEXTURE_FREE_MEMORY_ATI = $87FC;
  3537. GL_RENDERBUFFER_FREE_MEMORY_ATI = $87FD;
  3538. // GL_AMD_performance_monitor
  3539. GL_COUNTER_TYPE_AMD = $8BC0;
  3540. GL_COUNTER_RANGE_AMD = $8BC1;
  3541. GL_UNSIGNED_INT64_AMD = $8BC2;
  3542. GL_PERCENTAGE_AMD = $8BC3;
  3543. GL_PERFMON_RESULT_AVAILABLE_AMD = $8BC4;
  3544. GL_PERFMON_RESULT_SIZE_AMD = $8BC5;
  3545. GL_PERFMON_RESULT_AMD = $8BC6;
  3546. // GL_AMD_vertex_shader_tesselator
  3547. GL_SAMPLER_BUFFER_AMD = $9001;
  3548. GL_INT_SAMPLER_BUFFER_AMD = $9002;
  3549. GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD = $9003;
  3550. GL_TESSELLATION_MODE_AMD = $9004;
  3551. GL_TESSELLATION_FACTOR_AMD = $9005;
  3552. GL_DISCRETE_AMD = $9006;
  3553. GL_CONTINUOUS_AMD = $9007;
  3554. // GL_AMD_seamless_cubemap_per_texture
  3555. { reuse GL_TEXTURE_CUBE_MAP_SEAMLESS }
  3556. // GL_AMD_name_gen_delete
  3557. GL_DATA_BUFFER_AMD = $9151;
  3558. GL_PERFORMANCE_MONITOR_AMD = $9152;
  3559. GL_QUERY_OBJECT_AMD = $9153;
  3560. GL_VERTEX_ARRAY_OBJECT_AMD = $9154;
  3561. GL_SAMPLER_OBJECT_AMD = $9155;
  3562. // GL_AMD_debug_output
  3563. GL_MAX_DEBUG_LOGGED_MESSAGES_AMD = $9144;
  3564. GL_DEBUG_LOGGED_MESSAGES_AMD = $9145;
  3565. GL_DEBUG_SEVERITY_HIGH_AMD = $9146;
  3566. GL_DEBUG_SEVERITY_MEDIUM_AMD = $9147;
  3567. GL_DEBUG_SEVERITY_LOW_AMD = $9148;
  3568. GL_DEBUG_CATEGORY_API_ERROR_AMD = $9149;
  3569. GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD = $914A;
  3570. GL_DEBUG_CATEGORY_DEPRECATION_AMD = $914B;
  3571. GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD = $914C;
  3572. GL_DEBUG_CATEGORY_PERFORMANCE_AMD = $914D;
  3573. GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD = $914E;
  3574. GL_DEBUG_CATEGORY_APPLICATION_AMD = $914F;
  3575. GL_DEBUG_CATEGORY_OTHER_AMD = $9150;
  3576. // GL_AMD_depth_clamp_separate
  3577. GL_DEPTH_CLAMP_NEAR_AMD = $901E;
  3578. GL_DEPTH_CLAMP_FAR_AMD = $901F;
  3579. // GL_EXT_422_pixels
  3580. GL_422_EXT = $80CC;
  3581. GL_422_REV_EXT = $80CD;
  3582. GL_422_AVERAGE_EXT = $80CE;
  3583. GL_422_REV_AVERAGE_EXT = $80CF;
  3584. // GL_EXT_abgr
  3585. GL_ABGR_EXT = $8000;
  3586. // GL_EXT_bgra
  3587. GL_BGR_EXT = $80E0;
  3588. GL_BGRA_EXT = $80E1;
  3589. // GL_EXT_blend_color
  3590. GL_CONSTANT_COLOR_EXT = $8001;
  3591. GL_ONE_MINUS_CONSTANT_COLOR_EXT = $8002;
  3592. GL_CONSTANT_ALPHA_EXT = $8003;
  3593. GL_ONE_MINUS_CONSTANT_ALPHA_EXT = $8004;
  3594. GL_BLEND_COLOR_EXT = $8005;
  3595. // GL_EXT_blend_func_separate
  3596. GL_BLEND_DST_RGB_EXT = $80C8;
  3597. GL_BLEND_SRC_RGB_EXT = $80C9;
  3598. GL_BLEND_DST_ALPHA_EXT = $80CA;
  3599. GL_BLEND_SRC_ALPHA_EXT = $80CB;
  3600. // GL_EXT_blend_minmax
  3601. GL_FUNC_ADD_EXT = $8006;
  3602. GL_MIN_EXT = $8007;
  3603. GL_MAX_EXT = $8008;
  3604. GL_BLEND_EQUATION_EXT = $8009;
  3605. // GL_EXT_blend_subtract
  3606. GL_FUNC_SUBTRACT_EXT = $800A;
  3607. GL_FUNC_REVERSE_SUBTRACT_EXT = $800B;
  3608. // GL_EXT_clip_volume_hint
  3609. GL_CLIP_VOLUME_CLIPPING_HINT_EXT = $80F0;
  3610. // GL_EXT_cmyka
  3611. GL_CMYK_EXT = $800C;
  3612. GL_CMYKA_EXT = $800D;
  3613. GL_PACK_CMYK_HINT_EXT = $800E;
  3614. GL_UNPACK_CMYK_HINT_EXT = $800F;
  3615. // GL_EXT_compiled_vertex_array
  3616. GL_ARRAY_ELEMENT_LOCK_FIRST_EXT = $81A8;
  3617. GL_ARRAY_ELEMENT_LOCK_COUNT_EXT = $81A9;
  3618. // GL_EXT_convolution
  3619. GL_CONVOLUTION_1D_EXT = $8010;
  3620. GL_CONVOLUTION_2D_EXT = $8011;
  3621. GL_SEPARABLE_2D_EXT = $8012;
  3622. GL_CONVOLUTION_BORDER_MODE_EXT = $8013;
  3623. GL_CONVOLUTION_FILTER_SCALE_EXT = $8014;
  3624. GL_CONVOLUTION_FILTER_BIAS_EXT = $8015;
  3625. GL_REDUCE_EXT = $8016;
  3626. GL_CONVOLUTION_FORMAT_EXT = $8017;
  3627. GL_CONVOLUTION_WIDTH_EXT = $8018;
  3628. GL_CONVOLUTION_HEIGHT_EXT = $8019;
  3629. GL_MAX_CONVOLUTION_WIDTH_EXT = $801A;
  3630. GL_MAX_CONVOLUTION_HEIGHT_EXT = $801B;
  3631. GL_POST_CONVOLUTION_RED_SCALE_EXT = $801C;
  3632. GL_POST_CONVOLUTION_GREEN_SCALE_EXT = $801D;
  3633. GL_POST_CONVOLUTION_BLUE_SCALE_EXT = $801E;
  3634. GL_POST_CONVOLUTION_ALPHA_SCALE_EXT = $801F;
  3635. GL_POST_CONVOLUTION_RED_BIAS_EXT = $8020;
  3636. GL_POST_CONVOLUTION_GREEN_BIAS_EXT = $8021;
  3637. GL_POST_CONVOLUTION_BLUE_BIAS_EXT = $8022;
  3638. GL_POST_CONVOLUTION_ALPHA_BIAS_EXT = $8023;
  3639. // GL_EXT_coordinate_frame
  3640. GL_TANGENT_ARRAY_EXT = $8439;
  3641. GL_BINORMAL_ARRAY_EXT = $843A;
  3642. GL_CURRENT_TANGENT_EXT = $843B;
  3643. GL_CURRENT_BINORMAL_EXT = $843C;
  3644. GL_TANGENT_ARRAY_TYPE_EXT = $843E;
  3645. GL_TANGENT_ARRAY_STRIDE_EXT = $843F;
  3646. GL_BINORMAL_ARRAY_TYPE_EXT = $8440;
  3647. GL_BINORMAL_ARRAY_STRIDE_EXT = $8441;
  3648. GL_TANGENT_ARRAY_POINTER_EXT = $8442;
  3649. GL_BINORMAL_ARRAY_POINTER_EXT = $8443;
  3650. GL_MAP1_TANGENT_EXT = $8444;
  3651. GL_MAP2_TANGENT_EXT = $8445;
  3652. GL_MAP1_BINORMAL_EXT = $8446;
  3653. GL_MAP2_BINORMAL_EXT = $8447;
  3654. // GL_EXT_cull_vertex
  3655. GL_CULL_VERTEX_EXT = $81AA;
  3656. GL_CULL_VERTEX_EYE_POSITION_EXT = $81AB;
  3657. GL_CULL_VERTEX_OBJECT_POSITION_EXT = $81AC;
  3658. // GL_EXT_draw_range_elements
  3659. GL_MAX_ELEMENTS_VERTICES_EXT = $80E8;
  3660. GL_MAX_ELEMENTS_INDICES_EXT = $80E9;
  3661. // GL_EXT_fog_coord
  3662. GL_FOG_COORDINATE_SOURCE_EXT = $8450;
  3663. GL_FOG_COORDINATE_EXT = $8451;
  3664. GL_FRAGMENT_DEPTH_EXT = $8452;
  3665. GL_CURRENT_FOG_COORDINATE_EXT = $8453;
  3666. GL_FOG_COORDINATE_ARRAY_TYPE_EXT = $8454;
  3667. GL_FOG_COORDINATE_ARRAY_STRIDE_EXT = $8455;
  3668. GL_FOG_COORDINATE_ARRAY_POINTER_EXT = $8456;
  3669. GL_FOG_COORDINATE_ARRAY_EXT = $8457;
  3670. // GL_EXT_framebuffer_object
  3671. GL_FRAMEBUFFER_EXT = $8D40;
  3672. GL_RENDERBUFFER_EXT = $8D41;
  3673. GL_STENCIL_INDEX_EXT = $8D45;
  3674. GL_STENCIL_INDEX1_EXT = $8D46;
  3675. GL_STENCIL_INDEX4_EXT = $8D47;
  3676. GL_STENCIL_INDEX8_EXT = $8D48;
  3677. GL_STENCIL_INDEX16_EXT = $8D49;
  3678. GL_RENDERBUFFER_WIDTH_EXT = $8D42;
  3679. GL_RENDERBUFFER_HEIGHT_EXT = $8D43;
  3680. GL_RENDERBUFFER_INTERNAL_FORMAT_EXT = $8D44;
  3681. GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = $8CD0;
  3682. GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = $8CD1;
  3683. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = $8CD2;
  3684. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = $8CD3;
  3685. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = $8CD4;
  3686. GL_COLOR_ATTACHMENT0_EXT = $8CE0;
  3687. GL_COLOR_ATTACHMENT1_EXT = $8CE1;
  3688. GL_COLOR_ATTACHMENT2_EXT = $8CE2;
  3689. GL_COLOR_ATTACHMENT3_EXT = $8CE3;
  3690. GL_COLOR_ATTACHMENT4_EXT = $8CE4;
  3691. GL_COLOR_ATTACHMENT5_EXT = $8CE5;
  3692. GL_COLOR_ATTACHMENT6_EXT = $8CE6;
  3693. GL_COLOR_ATTACHMENT7_EXT = $8CE7;
  3694. GL_COLOR_ATTACHMENT8_EXT = $8CE8;
  3695. GL_COLOR_ATTACHMENT9_EXT = $8CE9;
  3696. GL_COLOR_ATTACHMENT10_EXT = $8CEA;
  3697. GL_COLOR_ATTACHMENT11_EXT = $8CEB;
  3698. GL_COLOR_ATTACHMENT12_EXT = $8CEC;
  3699. GL_COLOR_ATTACHMENT13_EXT = $8CED;
  3700. GL_COLOR_ATTACHMENT14_EXT = $8CEE;
  3701. GL_COLOR_ATTACHMENT15_EXT = $8CEF;
  3702. GL_DEPTH_ATTACHMENT_EXT = $8D00;
  3703. GL_STENCIL_ATTACHMENT_EXT = $8D20;
  3704. GL_FRAMEBUFFER_COMPLETE_EXT = $8CD5;
  3705. GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = $8CD6;
  3706. GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = $8CD7;
  3707. GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT = $8CD8;
  3708. GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = $8CD9;
  3709. GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = $8CDA;
  3710. GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = $8CDB;
  3711. GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = $8CDC;
  3712. GL_FRAMEBUFFER_UNSUPPORTED_EXT = $8CDD;
  3713. GL_FRAMEBUFFER_STATUS_ERROR_EXT = $8CDE;
  3714. GL_FRAMEBUFFER_BINDING_EXT = $8CA6;
  3715. GL_RENDERBUFFER_BINDING_EXT = $8CA7;
  3716. GL_MAX_COLOR_ATTACHMENTS_EXT = $8CDF;
  3717. GL_MAX_RENDERBUFFER_SIZE_EXT = $84E8;
  3718. GL_INVALID_FRAMEBUFFER_OPERATION_EXT = $0506;
  3719. // GL_EXT_histogram
  3720. GL_HISTOGRAM_EXT = $8024;
  3721. GL_PROXY_HISTOGRAM_EXT = $8025;
  3722. GL_HISTOGRAM_WIDTH_EXT = $8026;
  3723. GL_HISTOGRAM_FORMAT_EXT = $8027;
  3724. GL_HISTOGRAM_RED_SIZE_EXT = $8028;
  3725. GL_HISTOGRAM_GREEN_SIZE_EXT = $8029;
  3726. GL_HISTOGRAM_BLUE_SIZE_EXT = $802A;
  3727. GL_HISTOGRAM_ALPHA_SIZE_EXT = $802B;
  3728. GL_HISTOGRAM_LUMINANCE_SIZE_EXT = $802C;
  3729. GL_HISTOGRAM_SINK_EXT = $802D;
  3730. GL_MINMAX_EXT = $802E;
  3731. GL_MINMAX_FORMAT_EXT = $802F;
  3732. GL_MINMAX_SINK_EXT = $8030;
  3733. GL_TABLE_TOO_LARGE_EXT = $8031;
  3734. // GL_EXT_index_array_formats
  3735. GL_IUI_V2F_EXT = $81AD;
  3736. GL_IUI_V3F_EXT = $81AE;
  3737. GL_IUI_N3F_V2F_EXT = $81AF;
  3738. GL_IUI_N3F_V3F_EXT = $81B0;
  3739. GL_T2F_IUI_V2F_EXT = $81B1;
  3740. GL_T2F_IUI_V3F_EXT = $81B2;
  3741. GL_T2F_IUI_N3F_V2F_EXT = $81B3;
  3742. GL_T2F_IUI_N3F_V3F_EXT = $81B4;
  3743. // GL_EXT_index_func
  3744. GL_INDEX_TEST_EXT = $81B5;
  3745. GL_INDEX_TEST_FUNC_EXT = $81B6;
  3746. GL_INDEX_TEST_REF_EXT = $81B7;
  3747. // GL_EXT_index_material
  3748. GL_INDEX_MATERIAL_EXT = $81B8;
  3749. GL_INDEX_MATERIAL_PARAMETER_EXT = $81B9;
  3750. GL_INDEX_MATERIAL_FACE_EXT = $81BA;
  3751. // GL_EXT_light_texture
  3752. GL_FRAGMENT_MATERIAL_EXT = $8349;
  3753. GL_FRAGMENT_NORMAL_EXT = $834A;
  3754. GL_FRAGMENT_COLOR_EXT = $834C;
  3755. GL_ATTENUATION_EXT = $834D;
  3756. GL_SHADOW_ATTENUATION_EXT = $834E;
  3757. GL_TEXTURE_APPLICATION_MODE_EXT = $834F;
  3758. GL_TEXTURE_LIGHT_EXT = $8350;
  3759. GL_TEXTURE_MATERIAL_FACE_EXT = $8351;
  3760. GL_TEXTURE_MATERIAL_PARAMETER_EXT = $8352;
  3761. // GL_EXT_multisample
  3762. GL_MULTISAMPLE_EXT = $809D;
  3763. GL_SAMPLE_ALPHA_TO_MASK_EXT = $809E;
  3764. GL_SAMPLE_ALPHA_TO_ONE_EXT = $809F;
  3765. GL_SAMPLE_MASK_EXT = $80A0;
  3766. GL_1PASS_EXT = $80A1;
  3767. GL_2PASS_0_EXT = $80A2;
  3768. GL_2PASS_1_EXT = $80A3;
  3769. GL_4PASS_0_EXT = $80A4;
  3770. GL_4PASS_1_EXT = $80A5;
  3771. GL_4PASS_2_EXT = $80A6;
  3772. GL_4PASS_3_EXT = $80A7;
  3773. GL_SAMPLE_BUFFERS_EXT = $80A8;
  3774. GL_SAMPLES_EXT = $80A9;
  3775. GL_SAMPLE_MASK_VALUE_EXT = $80AA;
  3776. GL_SAMPLE_MASK_INVERT_EXT = $80AB;
  3777. GL_SAMPLE_PATTERN_EXT = $80AC;
  3778. GL_MULTISAMPLE_BIT_EXT = $20000000;
  3779. // GL_EXT_packed_pixels
  3780. GL_UNSIGNED_BYTE_3_3_2_EXT = $8032;
  3781. GL_UNSIGNED_SHORT_4_4_4_4_EXT = $8033;
  3782. GL_UNSIGNED_SHORT_5_5_5_1_EXT = $8034;
  3783. GL_UNSIGNED_INT_8_8_8_8_EXT = $8035;
  3784. GL_UNSIGNED_INT_10_10_10_2_EXT = $8036;
  3785. // GL_EXT_paletted_texture
  3786. GL_COLOR_INDEX1_EXT = $80E2;
  3787. GL_COLOR_INDEX2_EXT = $80E3;
  3788. GL_COLOR_INDEX4_EXT = $80E4;
  3789. GL_COLOR_INDEX8_EXT = $80E5;
  3790. GL_COLOR_INDEX12_EXT = $80E6;
  3791. GL_COLOR_INDEX16_EXT = $80E7;
  3792. GL_TEXTURE_INDEX_SIZE_EXT = $80ED;
  3793. // GL_EXT_pixel_transform
  3794. GL_PIXEL_TRANSFORM_2D_EXT = $8330;
  3795. GL_PIXEL_MAG_FILTER_EXT = $8331;
  3796. GL_PIXEL_MIN_FILTER_EXT = $8332;
  3797. GL_PIXEL_CUBIC_WEIGHT_EXT = $8333;
  3798. GL_CUBIC_EXT = $8334;
  3799. GL_AVERAGE_EXT = $8335;
  3800. GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = $8336;
  3801. GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = $8337;
  3802. GL_PIXEL_TRANSFORM_2D_MATRIX_EXT = $8338;
  3803. // GL_EXT_point_parameters
  3804. GL_POINT_SIZE_MIN_EXT = $8126;
  3805. GL_POINT_SIZE_MAX_EXT = $8127;
  3806. GL_POINT_FADE_THRESHOLD_SIZE_EXT = $8128;
  3807. GL_DISTANCE_ATTENUATION_EXT = $8129;
  3808. // GL_EXT_polygon_offset
  3809. GL_POLYGON_OFFSET_EXT = $8037;
  3810. GL_POLYGON_OFFSET_FACTOR_EXT = $8038;
  3811. GL_POLYGON_OFFSET_BIAS_EXT = $8039;
  3812. // GL_EXT_rescale_normal
  3813. GL_RESCALE_NORMAL_EXT = $803A;
  3814. // GL_EXT_secondary_color
  3815. GL_COLOR_SUM_EXT = $8458;
  3816. GL_CURRENT_SECONDARY_COLOR_EXT = $8459;
  3817. GL_SECONDARY_COLOR_ARRAY_SIZE_EXT = $845A;
  3818. GL_SECONDARY_COLOR_ARRAY_TYPE_EXT = $845B;
  3819. GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT = $845C;
  3820. GL_SECONDARY_COLOR_ARRAY_POINTER_EXT = $845D;
  3821. GL_SECONDARY_COLOR_ARRAY_EXT = $845E;
  3822. // GL_EXT_separate_specular_color
  3823. GL_LIGHT_MODEL_COLOR_CONTROL_EXT = $81F8;
  3824. GL_SINGLE_COLOR_EXT = $81F9;
  3825. GL_SEPARATE_SPECULAR_COLOR_EXT = $81FA;
  3826. // GL_EXT_shared_texture_palette
  3827. GL_SHARED_TEXTURE_PALETTE_EXT = $81FB;
  3828. // GL_EXT_stencil_two_side
  3829. GL_STENCIL_TEST_TWO_SIDE_EXT = $8910;
  3830. GL_ACTIVE_STENCIL_FACE_EXT = $8911;
  3831. // GL_EXT_stencil_wrap
  3832. GL_INCR_WRAP_EXT = $8507;
  3833. GL_DECR_WRAP_EXT = $8508;
  3834. // GL_EXT_texture
  3835. GL_ALPHA4_EXT = $803B;
  3836. GL_ALPHA8_EXT = $803C;
  3837. GL_ALPHA12_EXT = $803D;
  3838. GL_ALPHA16_EXT = $803E;
  3839. GL_LUMINANCE4_EXT = $803F;
  3840. GL_LUMINANCE8_EXT = $8040;
  3841. GL_LUMINANCE12_EXT = $8041;
  3842. GL_LUMINANCE16_EXT = $8042;
  3843. GL_LUMINANCE4_ALPHA4_EXT = $8043;
  3844. GL_LUMINANCE6_ALPHA2_EXT = $8044;
  3845. GL_LUMINANCE8_ALPHA8_EXT = $8045;
  3846. GL_LUMINANCE12_ALPHA4_EXT = $8046;
  3847. GL_LUMINANCE12_ALPHA12_EXT = $8047;
  3848. GL_LUMINANCE16_ALPHA16_EXT = $8048;
  3849. GL_INTENSITY_EXT = $8049;
  3850. GL_INTENSITY4_EXT = $804A;
  3851. GL_INTENSITY8_EXT = $804B;
  3852. GL_INTENSITY12_EXT = $804C;
  3853. GL_INTENSITY16_EXT = $804D;
  3854. GL_RGB2_EXT = $804E;
  3855. GL_RGB4_EXT = $804F;
  3856. GL_RGB5_EXT = $8050;
  3857. GL_RGB8_EXT = $8051;
  3858. GL_RGB10_EXT = $8052;
  3859. GL_RGB12_EXT = $8053;
  3860. GL_RGB16_EXT = $8054;
  3861. GL_RGBA2_EXT = $8055;
  3862. GL_RGBA4_EXT = $8056;
  3863. GL_RGB5_A1_EXT = $8057;
  3864. GL_RGBA8_EXT = $8058;
  3865. GL_RGB10_A2_EXT = $8059;
  3866. GL_RGBA12_EXT = $805A;
  3867. GL_RGBA16_EXT = $805B;
  3868. GL_TEXTURE_RED_SIZE_EXT = $805C;
  3869. GL_TEXTURE_GREEN_SIZE_EXT = $805D;
  3870. GL_TEXTURE_BLUE_SIZE_EXT = $805E;
  3871. GL_TEXTURE_ALPHA_SIZE_EXT = $805F;
  3872. GL_TEXTURE_LUMINANCE_SIZE_EXT = $8060;
  3873. GL_TEXTURE_INTENSITY_SIZE_EXT = $8061;
  3874. GL_REPLACE_EXT = $8062;
  3875. GL_PROXY_TEXTURE_1D_EXT = $8063;
  3876. GL_PROXY_TEXTURE_2D_EXT = $8064;
  3877. GL_TEXTURE_TOO_LARGE_EXT = $8065;
  3878. // GL_EXT_texture3D
  3879. GL_PACK_SKIP_IMAGES_EXT = $806B;
  3880. GL_PACK_IMAGE_HEIGHT_EXT = $806C;
  3881. GL_UNPACK_SKIP_IMAGES_EXT = $806D;
  3882. GL_UNPACK_IMAGE_HEIGHT_EXT = $806E;
  3883. GL_TEXTURE_3D_EXT = $806F;
  3884. GL_PROXY_TEXTURE_3D_EXT = $8070;
  3885. GL_TEXTURE_DEPTH_EXT = $8071;
  3886. GL_TEXTURE_WRAP_R_EXT = $8072;
  3887. GL_MAX_3D_TEXTURE_SIZE_EXT = $8073;
  3888. // GL_EXT_texture_compression_s3tc
  3889. GL_COMPRESSED_RGB_S3TC_DXT1_EXT = $83F0;
  3890. GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = $83F1;
  3891. GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = $83F2;
  3892. GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = $83F3;
  3893. // GL_EXT_texture_cube_map
  3894. GL_NORMAL_MAP_EXT = $8511;
  3895. GL_REFLECTION_MAP_EXT = $8512;
  3896. GL_TEXTURE_CUBE_MAP_EXT = $8513;
  3897. GL_TEXTURE_BINDING_CUBE_MAP_EXT = $8514;
  3898. GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT = $8515;
  3899. GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = $8516;
  3900. GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = $8517;
  3901. GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = $8518;
  3902. GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = $8519;
  3903. GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = $851A;
  3904. GL_PROXY_TEXTURE_CUBE_MAP_EXT = $851B;
  3905. GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT = $851C;
  3906. // GL_EXT_texture_edge_clamp
  3907. GL_CLAMP_TO_EDGE_EXT = $812F;
  3908. // GL_EXT_texture_env_combine
  3909. GL_COMBINE_EXT = $8570;
  3910. GL_COMBINE_RGB_EXT = $8571;
  3911. GL_COMBINE_ALPHA_EXT = $8572;
  3912. GL_RGB_SCALE_EXT = $8573;
  3913. GL_ADD_SIGNED_EXT = $8574;
  3914. GL_INTERPOLATE_EXT = $8575;
  3915. GL_CONSTANT_EXT = $8576;
  3916. GL_PRIMARY_COLOR_EXT = $8577;
  3917. GL_PREVIOUS_EXT = $8578;
  3918. GL_SOURCE0_RGB_EXT = $8580;
  3919. GL_SOURCE1_RGB_EXT = $8581;
  3920. GL_SOURCE2_RGB_EXT = $8582;
  3921. GL_SOURCE0_ALPHA_EXT = $8588;
  3922. GL_SOURCE1_ALPHA_EXT = $8589;
  3923. GL_SOURCE2_ALPHA_EXT = $858A;
  3924. GL_OPERAND0_RGB_EXT = $8590;
  3925. GL_OPERAND1_RGB_EXT = $8591;
  3926. GL_OPERAND2_RGB_EXT = $8592;
  3927. GL_OPERAND0_ALPHA_EXT = $8598;
  3928. GL_OPERAND1_ALPHA_EXT = $8599;
  3929. GL_OPERAND2_ALPHA_EXT = $859A;
  3930. // GL_EXT_texture_env_dot3
  3931. GL_DOT3_RGB_EXT = $8740;
  3932. GL_DOT3_RGBA_EXT = $8741;
  3933. // GL_EXT_texture_filter_anisotropic
  3934. GL_TEXTURE_MAX_ANISOTROPY_EXT = $84FE;
  3935. GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = $84FF;
  3936. // GL_EXT_texture_lod_bias
  3937. GL_MAX_TEXTURE_LOD_BIAS_EXT = $84FD;
  3938. GL_TEXTURE_FILTER_CONTROL_EXT = $8500;
  3939. GL_TEXTURE_LOD_BIAS_EXT = $8501;
  3940. // GL_EXT_texture_object
  3941. GL_TEXTURE_PRIORITY_EXT = $8066;
  3942. GL_TEXTURE_RESIDENT_EXT = $8067;
  3943. GL_TEXTURE_1D_BINDING_EXT = $8068;
  3944. GL_TEXTURE_2D_BINDING_EXT = $8069;
  3945. GL_TEXTURE_3D_BINDING_EXT = $806A;
  3946. // GL_EXT_texture_perturb_normal
  3947. GL_PERTURB_EXT = $85AE;
  3948. GL_TEXTURE_NORMAL_EXT = $85AF;
  3949. // GL_EXT_texture_rectangle
  3950. GL_TEXTURE_RECTANGLE_EXT = $84F5;
  3951. GL_TEXTURE_BINDING_RECTANGLE_EXT = $84F6;
  3952. GL_PROXY_TEXTURE_RECTANGLE_EXT = $84F7;
  3953. GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT = $84F8;
  3954. // GL_EXT_vertex_array
  3955. GL_VERTEX_ARRAY_EXT = $8074;
  3956. GL_NORMAL_ARRAY_EXT = $8075;
  3957. GL_COLOR_ARRAY_EXT = $8076;
  3958. GL_INDEX_ARRAY_EXT = $8077;
  3959. GL_TEXTURE_COORD_ARRAY_EXT = $8078;
  3960. GL_EDGE_FLAG_ARRAY_EXT = $8079;
  3961. GL_VERTEX_ARRAY_SIZE_EXT = $807A;
  3962. GL_VERTEX_ARRAY_TYPE_EXT = $807B;
  3963. GL_VERTEX_ARRAY_STRIDE_EXT = $807C;
  3964. GL_VERTEX_ARRAY_COUNT_EXT = $807D;
  3965. GL_NORMAL_ARRAY_TYPE_EXT = $807E;
  3966. GL_NORMAL_ARRAY_STRIDE_EXT = $807F;
  3967. GL_NORMAL_ARRAY_COUNT_EXT = $8080;
  3968. GL_COLOR_ARRAY_SIZE_EXT = $8081;
  3969. GL_COLOR_ARRAY_TYPE_EXT = $8082;
  3970. GL_COLOR_ARRAY_STRIDE_EXT = $8083;
  3971. GL_COLOR_ARRAY_COUNT_EXT = $8084;
  3972. GL_INDEX_ARRAY_TYPE_EXT = $8085;
  3973. GL_INDEX_ARRAY_STRIDE_EXT = $8086;
  3974. GL_INDEX_ARRAY_COUNT_EXT = $8087;
  3975. GL_TEXTURE_COORD_ARRAY_SIZE_EXT = $8088;
  3976. GL_TEXTURE_COORD_ARRAY_TYPE_EXT = $8089;
  3977. GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = $808A;
  3978. GL_TEXTURE_COORD_ARRAY_COUNT_EXT = $808B;
  3979. GL_EDGE_FLAG_ARRAY_STRIDE_EXT = $808C;
  3980. GL_EDGE_FLAG_ARRAY_COUNT_EXT = $808D;
  3981. GL_VERTEX_ARRAY_POINTER_EXT = $808E;
  3982. GL_NORMAL_ARRAY_POINTER_EXT = $808F;
  3983. GL_COLOR_ARRAY_POINTER_EXT = $8090;
  3984. GL_INDEX_ARRAY_POINTER_EXT = $8091;
  3985. GL_TEXTURE_COORD_ARRAY_POINTER_EXT = $8092;
  3986. GL_EDGE_FLAG_ARRAY_POINTER_EXT = $8093;
  3987. // GL_EXT_vertex_shader
  3988. GL_VERTEX_SHADER_EXT = $8780;
  3989. GL_VERTEX_SHADER_BINDING_EXT = $8781;
  3990. GL_OP_INDEX_EXT = $8782;
  3991. GL_OP_NEGATE_EXT = $8783;
  3992. GL_OP_DOT3_EXT = $8784;
  3993. GL_OP_DOT4_EXT = $8785;
  3994. GL_OP_MUL_EXT = $8786;
  3995. GL_OP_ADD_EXT = $8787;
  3996. GL_OP_MADD_EXT = $8788;
  3997. GL_OP_FRAC_EXT = $8789;
  3998. GL_OP_MAX_EXT = $878A;
  3999. GL_OP_MIN_EXT = $878B;
  4000. GL_OP_SET_GE_EXT = $878C;
  4001. GL_OP_SET_LT_EXT = $878D;
  4002. GL_OP_CLAMP_EXT = $878E;
  4003. GL_OP_FLOOR_EXT = $878F;
  4004. GL_OP_ROUND_EXT = $8790;
  4005. GL_OP_EXP_BASE_2_EXT = $8791;
  4006. GL_OP_LOG_BASE_2_EXT = $8792;
  4007. GL_OP_POWER_EXT = $8793;
  4008. GL_OP_RECIP_EXT = $8794;
  4009. GL_OP_RECIP_SQRT_EXT = $8795;
  4010. GL_OP_SUB_EXT = $8796;
  4011. GL_OP_CROSS_PRODUCT_EXT = $8797;
  4012. GL_OP_MULTIPLY_MATRIX_EXT = $8798;
  4013. GL_OP_MOV_EXT = $8799;
  4014. GL_OUTPUT_VERTEX_EXT = $879A;
  4015. GL_OUTPUT_COLOR0_EXT = $879B;
  4016. GL_OUTPUT_COLOR1_EXT = $879C;
  4017. GL_OUTPUT_TEXTURE_COORD0_EXT = $879D;
  4018. GL_OUTPUT_TEXTURE_COORD1_EXT = $879E;
  4019. GL_OUTPUT_TEXTURE_COORD2_EXT = $879F;
  4020. GL_OUTPUT_TEXTURE_COORD3_EXT = $87A0;
  4021. GL_OUTPUT_TEXTURE_COORD4_EXT = $87A1;
  4022. GL_OUTPUT_TEXTURE_COORD5_EXT = $87A2;
  4023. GL_OUTPUT_TEXTURE_COORD6_EXT = $87A3;
  4024. GL_OUTPUT_TEXTURE_COORD7_EXT = $87A4;
  4025. GL_OUTPUT_TEXTURE_COORD8_EXT = $87A5;
  4026. GL_OUTPUT_TEXTURE_COORD9_EXT = $87A6;
  4027. GL_OUTPUT_TEXTURE_COORD10_EXT = $87A7;
  4028. GL_OUTPUT_TEXTURE_COORD11_EXT = $87A8;
  4029. GL_OUTPUT_TEXTURE_COORD12_EXT = $87A9;
  4030. GL_OUTPUT_TEXTURE_COORD13_EXT = $87AA;
  4031. GL_OUTPUT_TEXTURE_COORD14_EXT = $87AB;
  4032. GL_OUTPUT_TEXTURE_COORD15_EXT = $87AC;
  4033. GL_OUTPUT_TEXTURE_COORD16_EXT = $87AD;
  4034. GL_OUTPUT_TEXTURE_COORD17_EXT = $87AE;
  4035. GL_OUTPUT_TEXTURE_COORD18_EXT = $87AF;
  4036. GL_OUTPUT_TEXTURE_COORD19_EXT = $87B0;
  4037. GL_OUTPUT_TEXTURE_COORD20_EXT = $87B1;
  4038. GL_OUTPUT_TEXTURE_COORD21_EXT = $87B2;
  4039. GL_OUTPUT_TEXTURE_COORD22_EXT = $87B3;
  4040. GL_OUTPUT_TEXTURE_COORD23_EXT = $87B4;
  4041. GL_OUTPUT_TEXTURE_COORD24_EXT = $87B5;
  4042. GL_OUTPUT_TEXTURE_COORD25_EXT = $87B6;
  4043. GL_OUTPUT_TEXTURE_COORD26_EXT = $87B7;
  4044. GL_OUTPUT_TEXTURE_COORD27_EXT = $87B8;
  4045. GL_OUTPUT_TEXTURE_COORD28_EXT = $87B9;
  4046. GL_OUTPUT_TEXTURE_COORD29_EXT = $87BA;
  4047. GL_OUTPUT_TEXTURE_COORD30_EXT = $87BB;
  4048. GL_OUTPUT_TEXTURE_COORD31_EXT = $87BC;
  4049. GL_OUTPUT_FOG_EXT = $87BD;
  4050. GL_SCALAR_EXT = $87BE;
  4051. GL_VECTOR_EXT = $87BF;
  4052. GL_MATRIX_EXT = $87C0;
  4053. GL_VARIANT_EXT = $87C1;
  4054. GL_INVARIANT_EXT = $87C2;
  4055. GL_LOCAL_CONSTANT_EXT = $87C3;
  4056. GL_LOCAL_EXT = $87C4;
  4057. GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = $87C5;
  4058. GL_MAX_VERTEX_SHADER_VARIANTS_EXT = $87C6;
  4059. GL_MAX_VERTEX_SHADER_INVARIANTS_EXT = $87C7;
  4060. GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = $87C8;
  4061. GL_MAX_VERTEX_SHADER_LOCALS_EXT = $87C9;
  4062. GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = $87CA;
  4063. GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = $87CB;
  4064. GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = $87CC;
  4065. GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = $87CD;
  4066. GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = $87CE;
  4067. GL_VERTEX_SHADER_INSTRUCTIONS_EXT = $87CF;
  4068. GL_VERTEX_SHADER_VARIANTS_EXT = $87D0;
  4069. GL_VERTEX_SHADER_INVARIANTS_EXT = $87D1;
  4070. GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = $87D2;
  4071. GL_VERTEX_SHADER_LOCALS_EXT = $87D3;
  4072. GL_VERTEX_SHADER_OPTIMIZED_EXT = $87D4;
  4073. GL_X_EXT = $87D5;
  4074. GL_Y_EXT = $87D6;
  4075. GL_Z_EXT = $87D7;
  4076. GL_W_EXT = $87D8;
  4077. GL_NEGATIVE_X_EXT = $87D9;
  4078. GL_NEGATIVE_Y_EXT = $87DA;
  4079. GL_NEGATIVE_Z_EXT = $87DB;
  4080. GL_NEGATIVE_W_EXT = $87DC;
  4081. GL_ZERO_EXT = $87DD;
  4082. GL_ONE_EXT = $87DE;
  4083. GL_NEGATIVE_ONE_EXT = $87DF;
  4084. GL_NORMALIZED_RANGE_EXT = $87E0;
  4085. GL_FULL_RANGE_EXT = $87E1;
  4086. GL_CURRENT_VERTEX_EXT = $87E2;
  4087. GL_MVP_MATRIX_EXT = $87E3;
  4088. GL_VARIANT_VALUE_EXT = $87E4;
  4089. GL_VARIANT_DATATYPE_EXT = $87E5;
  4090. GL_VARIANT_ARRAY_STRIDE_EXT = $87E6;
  4091. GL_VARIANT_ARRAY_TYPE_EXT = $87E7;
  4092. GL_VARIANT_ARRAY_EXT = $87E8;
  4093. GL_VARIANT_ARRAY_POINTER_EXT = $87E9;
  4094. GL_INVARIANT_VALUE_EXT = $87EA;
  4095. GL_INVARIANT_DATATYPE_EXT = $87EB;
  4096. GL_LOCAL_CONSTANT_VALUE_EXT = $87EC;
  4097. GL_LOCAL_CONSTANT_DATATYPE_EXT = $87ED;
  4098. // GL_EXT_vertex_weighting
  4099. GL_MODELVIEW0_STACK_DEPTH_EXT = $0BA3;
  4100. GL_MODELVIEW1_STACK_DEPTH_EXT = $8502;
  4101. GL_MODELVIEW0_MATRIX_EXT = $0BA6;
  4102. GL_MODELVIEW1_MATRIX_EXT = $8506;
  4103. GL_VERTEX_WEIGHTING_EXT = $8509;
  4104. GL_MODELVIEW0_EXT = $1700;
  4105. GL_MODELVIEW1_EXT = $850A;
  4106. GL_CURRENT_VERTEX_WEIGHT_EXT = $850B;
  4107. GL_VERTEX_WEIGHT_ARRAY_EXT = $850C;
  4108. GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT = $850D;
  4109. GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT = $850E;
  4110. GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT = $850F;
  4111. GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT = $8510;
  4112. // GL_EXT_depth_bounds_test
  4113. GL_DEPTH_BOUNDS_TEST_EXT = $8890;
  4114. GL_DEPTH_BOUNDS_EXT = $8891;
  4115. // GL_EXT_texture_mirror_clamp
  4116. GL_MIRROR_CLAMP_EXT = $8742;
  4117. GL_MIRROR_CLAMP_TO_EDGE_EXT = $8743;
  4118. GL_MIRROR_CLAMP_TO_BORDER_EXT = $8912;
  4119. // GL_EXT_blend_equation_separate
  4120. GL_BLEND_EQUATION_RGB_EXT = $8009;
  4121. GL_BLEND_EQUATION_ALPHA_EXT = $883D;
  4122. // GL_EXT_pixel_buffer_object
  4123. GL_PIXEL_PACK_BUFFER_EXT = $88EB;
  4124. GL_PIXEL_UNPACK_BUFFER_EXT = $88EC;
  4125. GL_PIXEL_PACK_BUFFER_BINDING_EXT = $88ED;
  4126. GL_PIXEL_UNPACK_BUFFER_BINDING_EXT = $88EF;
  4127. // GL_EXT_stencil_clear_tag
  4128. GL_STENCIL_TAG_BITS_EXT = $88F2;
  4129. GL_STENCIL_CLEAR_TAG_VALUE_EXT = $88F3;
  4130. // GL_EXT_packed_depth_stencil
  4131. GL_DEPTH_STENCIL_EXT = $84F9;
  4132. GL_UNSIGNED_INT_24_8_EXT = $84FA;
  4133. GL_DEPTH24_STENCIL8_EXT = $88F0;
  4134. GL_TEXTURE_STENCIL_SIZE_EXT = $88F1;
  4135. // GL_EXT_texture_sRGB
  4136. GL_SRGB_EXT = $8C40;
  4137. GL_SRGB8_EXT = $8C41;
  4138. GL_SRGB_ALPHA_EXT = $8C42;
  4139. GL_SRGB8_ALPHA8_EXT = $8C43;
  4140. GL_SLUMINANCE_ALPHA_EXT = $8C44;
  4141. GL_SLUMINANCE8_ALPHA8_EXT = $8C45;
  4142. GL_SLUMINANCE_EXT = $8C46;
  4143. GL_SLUMINANCE8_EXT = $8C47;
  4144. GL_COMPRESSED_SRGB_EXT = $8C48;
  4145. GL_COMPRESSED_SRGB_ALPHA_EXT = $8C49;
  4146. GL_COMPRESSED_SLUMINANCE_EXT = $8C4A;
  4147. GL_COMPRESSED_SLUMINANCE_ALPHA_EXT = $8C4B;
  4148. GL_COMPRESSED_SRGB_S3TC_DXT1_EXT = $8C4C;
  4149. GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = $8C4D;
  4150. GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = $8C4E;
  4151. GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = $8C4F;
  4152. // GL_EXT_framebuffer_blit
  4153. GL_READ_FRAMEBUFFER_EXT = $8CA8;
  4154. GL_DRAW_FRAMEBUFFER_EXT = $8CA9;
  4155. GL_READ_FRAMEBUFFER_BINDING_EXT = GL_FRAMEBUFFER_BINDING_EXT;
  4156. GL_DRAW_FRAMEBUFFER_BINDING_EXT = $8CAA;
  4157. // GL_EXT_framebuffer_multisample
  4158. GL_RENDERBUFFER_SAMPLES_EXT = $8CAB;
  4159. GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = $8D56;
  4160. GL_MAX_SAMPLES_EXT = $8D57;
  4161. // GL_EXT_timer_query
  4162. GL_TIME_ELAPSED_EXT = $88BF;
  4163. // GL_EXT_bindable_uniform
  4164. GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT = $8DE2;
  4165. GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = $8DE3;
  4166. GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = $8DE4;
  4167. GL_MAX_BINDABLE_UNIFORM_SIZE_EXT = $8DED;
  4168. GL_UNIFORM_BUFFER_EXT = $8DEE;
  4169. GL_UNIFORM_BUFFER_BINDING_EXT = $8DEF;
  4170. // GL_EXT_framebuffer_sRGB
  4171. GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT = $20B2;
  4172. WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT = $20A9;
  4173. GL_FRAMEBUFFER_SRGB_EXT = $8DB9;
  4174. GL_FRAMEBUFFER_SRGB_CAPABLE_EXT = $8DBA;
  4175. // GL_EXT_geometry_shader4
  4176. GL_GEOMETRY_SHADER_EXT = $8DD9;
  4177. GL_GEOMETRY_VERTICES_OUT_EXT = $8DDA;
  4178. GL_GEOMETRY_INPUT_TYPE_EXT = $8DDB;
  4179. GL_GEOMETRY_OUTPUT_TYPE_EXT = $8DDC;
  4180. GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = $8C29;
  4181. GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT = $8DDD;
  4182. GL_MAX_VERTEX_VARYING_COMPONENTS_EXT = $8DDE;
  4183. GL_MAX_VARYING_COMPONENTS_EXT = $8B4B;
  4184. GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = $8DDF;
  4185. GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = $8DE0;
  4186. GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = $8DE1;
  4187. GL_LINES_ADJACENCY_EXT = $A;
  4188. GL_LINE_STRIP_ADJACENCY_EXT = $B;
  4189. GL_TRIANGLES_ADJACENCY_EXT = $C;
  4190. GL_TRIANGLE_STRIP_ADJACENCY_EXT = $D;
  4191. GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = $8DA8;
  4192. GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = $8DA9;
  4193. GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = $8DA7;
  4194. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = $8CD4;
  4195. GL_PROGRAM_POINT_SIZE_EXT = $8642;
  4196. // GL_EXT_gpu_shader4
  4197. GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT = $88FD;
  4198. GL_SAMPLER_1D_ARRAY_EXT = $8DC0;
  4199. GL_SAMPLER_2D_ARRAY_EXT = $8DC1;
  4200. GL_SAMPLER_BUFFER_EXT = $8DC2;
  4201. GL_SAMPLER_1D_ARRAY_SHADOW_EXT = $8DC3;
  4202. GL_SAMPLER_2D_ARRAY_SHADOW_EXT = $8DC4;
  4203. GL_SAMPLER_CUBE_SHADOW_EXT = $8DC5;
  4204. GL_UNSIGNED_INT_VEC2_EXT = $8DC6;
  4205. GL_UNSIGNED_INT_VEC3_EXT = $8DC7;
  4206. GL_UNSIGNED_INT_VEC4_EXT = $8DC8;
  4207. GL_INT_SAMPLER_1D_EXT = $8DC9;
  4208. GL_INT_SAMPLER_2D_EXT = $8DCA;
  4209. GL_INT_SAMPLER_3D_EXT = $8DCB;
  4210. GL_INT_SAMPLER_CUBE_EXT = $8DCC;
  4211. GL_INT_SAMPLER_2D_RECT_EXT = $8DCD;
  4212. GL_INT_SAMPLER_1D_ARRAY_EXT = $8DCE;
  4213. GL_INT_SAMPLER_2D_ARRAY_EXT = $8DCF;
  4214. GL_INT_SAMPLER_BUFFER_EXT = $8DD0;
  4215. GL_UNSIGNED_INT_SAMPLER_1D_EXT = $8DD1;
  4216. GL_UNSIGNED_INT_SAMPLER_2D_EXT = $8DD2;
  4217. GL_UNSIGNED_INT_SAMPLER_3D_EXT = $8DD3;
  4218. GL_UNSIGNED_INT_SAMPLER_CUBE_EXT = $8DD4;
  4219. GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT = $8DD5;
  4220. GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = $8DD6;
  4221. GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = $8DD7;
  4222. GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = $8DD8;
  4223. GL_MIN_PROGRAM_TEXEL_OFFSET_EXT = $8904;
  4224. GL_MAX_PROGRAM_TEXEL_OFFSET_EXT = $8905;
  4225. // GL_EXT_packed_float
  4226. GL_R11F_G11F_B10F_EXT = $8C3A;
  4227. GL_UNSIGNED_INT_10F_11F_11F_REV_EXT = $8C3B;
  4228. RGBA_SIGNED_COMPONENTS_EXT = $8C3C;
  4229. WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT = $20A8;
  4230. GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT = $20B1;
  4231. GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT = $00000008;
  4232. // GL_EXT_texture_array
  4233. GL_TEXTURE_1D_ARRAY_EXT = $8C18;
  4234. GL_TEXTURE_2D_ARRAY_EXT = $8C1A;
  4235. GL_PROXY_TEXTURE_2D_ARRAY_EXT = $8C1B;
  4236. GL_PROXY_TEXTURE_1D_ARRAY_EXT = $8C19;
  4237. GL_TEXTURE_BINDING_1D_ARRAY_EXT = $8C1C;
  4238. GL_TEXTURE_BINDING_2D_ARRAY_EXT = $8C1D;
  4239. GL_MAX_ARRAY_TEXTURE_LAYERS_EXT = $88FF;
  4240. GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT = $884E;
  4241. // GL_EXT_texture_buffer_object
  4242. GL_TEXTURE_BUFFER_EXT = $8C2A;
  4243. GL_MAX_TEXTURE_BUFFER_SIZE_EXT = $8C2B;
  4244. GL_TEXTURE_BINDING_BUFFER_EXT = $8C2C;
  4245. GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = $8C2D;
  4246. GL_TEXTURE_BUFFER_FORMAT_EXT = $8C2E;
  4247. // GL_EXT_texture_compression_latc
  4248. GL_COMPRESSED_LUMINANCE_LATC1_EXT = $8C70;
  4249. GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = $8C71;
  4250. GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = $8C72;
  4251. GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = $8C73;
  4252. // GL_EXT_texture_compression_rgtc
  4253. GL_COMPRESSED_RED_RGTC1_EXT = $8DBB;
  4254. GL_COMPRESSED_SIGNED_RED_RGTC1_EXT = $8DBC;
  4255. GL_COMPRESSED_RED_GREEN_RGTC2_EXT = $8DBD;
  4256. GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = $8DBE;
  4257. // GL_EXT_texture_integer
  4258. GL_RGBA_INTEGER_MODE_EXT = $8D9E;
  4259. GL_RGBA32UI_EXT = $8D70;
  4260. GL_RGB32UI_EXT = $8D71;
  4261. GL_ALPHA32UI_EXT = $8D72;
  4262. GL_INTENSITY32UI_EXT = $8D73;
  4263. GL_LUMINANCE32UI_EXT = $8D74;
  4264. GL_LUMINANCE_ALPHA32UI_EXT = $8D75;
  4265. GL_RGBA16UI_EXT = $8D76;
  4266. GL_RGB16UI_EXT = $8D77;
  4267. GL_ALPHA16UI_EXT = $8D78;
  4268. GL_INTENSITY16UI_EXT = $8D79;
  4269. GL_LUMINANCE16UI_EXT = $8D7A;
  4270. GL_LUMINANCE_ALPHA16UI_EXT = $8D7B;
  4271. GL_RGBA8UI_EXT = $8D7C;
  4272. GL_RGB8UI_EXT = $8D7D;
  4273. GL_ALPHA8UI_EXT = $8D7E;
  4274. GL_INTENSITY8UI_EXT = $8D7F;
  4275. GL_LUMINANCE8UI_EXT = $8D80;
  4276. GL_LUMINANCE_ALPHA8UI_EXT = $8D81;
  4277. GL_RGBA32I_EXT = $8D82;
  4278. GL_RGB32I_EXT = $8D83;
  4279. GL_ALPHA32I_EXT = $8D84;
  4280. GL_INTENSITY32I_EXT = $8D85;
  4281. GL_LUMINANCE32I_EXT = $8D86;
  4282. GL_LUMINANCE_ALPHA32I_EXT = $8D87;
  4283. GL_RGBA16I_EXT = $8D88;
  4284. GL_RGB16I_EXT = $8D89;
  4285. GL_ALPHA16I_EXT = $8D8A;
  4286. GL_INTENSITY16I_EXT = $8D8B;
  4287. GL_LUMINANCE16I_EXT = $8D8C;
  4288. GL_LUMINANCE_ALPHA16I_EXT = $8D8D;
  4289. GL_RGBA8I_EXT = $8D8E;
  4290. GL_RGB8I_EXT = $8D8F;
  4291. GL_ALPHA8I_EXT = $8D90;
  4292. GL_INTENSITY8I_EXT = $8D91;
  4293. GL_LUMINANCE8I_EXT = $8D92;
  4294. GL_LUMINANCE_ALPHA8I_EXT = $8D93;
  4295. GL_RED_INTEGER_EXT = $8D94;
  4296. GL_GREEN_INTEGER_EXT = $8D95;
  4297. GL_BLUE_INTEGER_EXT = $8D96;
  4298. GL_ALPHA_INTEGER_EXT = $8D97;
  4299. GL_RGB_INTEGER_EXT = $8D98;
  4300. GL_RGBA_INTEGER_EXT = $8D99;
  4301. GL_BGR_INTEGER_EXT = $8D9A;
  4302. GL_BGRA_INTEGER_EXT = $8D9B;
  4303. GL_LUMINANCE_INTEGER_EXT = $8D9C;
  4304. GL_LUMINANCE_ALPHA_INTEGER_EXT = $8D9D;
  4305. // GL_EXT_texture_shared_exponent
  4306. GL_RGB9_E5_EXT = $8C3D;
  4307. GL_UNSIGNED_INT_5_9_9_9_REV_EXT = $8C3E;
  4308. GL_TEXTURE_SHARED_SIZE_EXT = $8C3F;
  4309. // GL_EXT_transform_feedback
  4310. GL_TRANSFORM_FEEDBACK_BUFFER_EXT = $8C8E;
  4311. GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT = $8C84;
  4312. GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT = $8C85;
  4313. GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT = $8C8F;
  4314. GL_INTERLEAVED_ATTRIBS_EXT = $8C8C;
  4315. GL_SEPARATE_ATTRIBS_EXT = $8C8D;
  4316. GL_PRIMITIVES_GENERATED_EXT = $8C87;
  4317. GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = $8C88;
  4318. GL_RASTERIZER_DISCARD_EXT = $8C89;
  4319. GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = $8C8A;
  4320. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT = $8C8B;
  4321. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = $8C80;
  4322. GL_TRANSFORM_FEEDBACK_VARYINGS_EXT = $8C83;
  4323. GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT = $8C7F;
  4324. GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT = $8C76;
  4325. // GL_EXT_direct_state_access
  4326. GL_PROGRAM_MATRIX_EXT = $8E2D;
  4327. GL_TRANSPOSE_PROGRAM_MATRIX_EXT = $8E2E;
  4328. GL_PROGRAM_MATRIX_STACK_DEPTH_EXT = $8E2F;
  4329. // GL_EXT_texture_swizzle
  4330. GL_TEXTURE_SWIZZLE_R_EXT = $8E42;
  4331. GL_TEXTURE_SWIZZLE_G_EXT = $8E43;
  4332. GL_TEXTURE_SWIZZLE_B_EXT = $8E44;
  4333. GL_TEXTURE_SWIZZLE_A_EXT = $8E45;
  4334. GL_TEXTURE_SWIZZLE_RGBA_EXT = $8E46;
  4335. // GL_EXT_provoking_vertex
  4336. GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT = $8E4C;
  4337. GL_FIRST_VERTEX_CONVENTION_EXT = $8E4D;
  4338. GL_LAST_VERTEX_CONVENTION_EXT = $8E4E;
  4339. GL_PROVOKING_VERTEX_EXT = $8E4F;
  4340. // GL_EXT_texture_snorm
  4341. GL_ALPHA_SNORM = $9010;
  4342. GL_LUMINANCE_SNORM = $9011;
  4343. GL_LUMINANCE_ALPHA_SNORM = $9012;
  4344. GL_INTENSITY_SNORM = $9013;
  4345. GL_ALPHA8_SNORM = $9014;
  4346. GL_LUMINANCE8_SNORM = $9015;
  4347. GL_LUMINANCE8_ALPHA8_SNORM = $9016;
  4348. GL_INTENSITY8_SNORM = $9017;
  4349. GL_ALPHA16_SNORM = $9018;
  4350. GL_LUMINANCE16_SNORM = $9019;
  4351. GL_LUMINANCE16_ALPHA16_SNORM = $901A;
  4352. GL_INTENSITY16_SNORM = $901B;
  4353. // GL_EXT_separate_shader_objects
  4354. GL_ACTIVE_PROGRAM_EXT = $8B8D;
  4355. // GL_EXT_shader_image_load_store
  4356. GL_MAX_IMAGE_UNITS_EXT = $8F38;
  4357. GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT = $8F39;
  4358. GL_IMAGE_BINDING_NAME_EXT = $8F3A;
  4359. GL_IMAGE_BINDING_LEVEL_EXT = $8F3B;
  4360. GL_IMAGE_BINDING_LAYERED_EXT = $8F3C;
  4361. GL_IMAGE_BINDING_LAYER_EXT = $8F3D;
  4362. GL_IMAGE_BINDING_ACCESS_EXT = $8F3E;
  4363. GL_IMAGE_1D_EXT = $904C;
  4364. GL_IMAGE_2D_EXT = $904D;
  4365. GL_IMAGE_3D_EXT = $904E;
  4366. GL_IMAGE_2D_RECT_EXT = $904F;
  4367. GL_IMAGE_CUBE_EXT = $9050;
  4368. GL_IMAGE_BUFFER_EXT = $9051;
  4369. GL_IMAGE_1D_ARRAY_EXT = $9052;
  4370. GL_IMAGE_2D_ARRAY_EXT = $9053;
  4371. GL_IMAGE_CUBE_MAP_ARRAY_EXT = $9054;
  4372. GL_IMAGE_2D_MULTISAMPLE_EXT = $9055;
  4373. GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = $9056;
  4374. GL_INT_IMAGE_1D_EXT = $9057;
  4375. GL_INT_IMAGE_2D_EXT = $9058;
  4376. GL_INT_IMAGE_3D_EXT = $9059;
  4377. GL_INT_IMAGE_2D_RECT_EXT = $905A;
  4378. GL_INT_IMAGE_CUBE_EXT = $905B;
  4379. GL_INT_IMAGE_BUFFER_EXT = $905C;
  4380. GL_INT_IMAGE_1D_ARRAY_EXT = $905D;
  4381. GL_INT_IMAGE_2D_ARRAY_EXT = $905E;
  4382. GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT = $905F;
  4383. GL_INT_IMAGE_2D_MULTISAMPLE_EXT = $9060;
  4384. GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = $9061;
  4385. GL_UNSIGNED_INT_IMAGE_1D_EXT = $9062;
  4386. GL_UNSIGNED_INT_IMAGE_2D_EXT = $9063;
  4387. GL_UNSIGNED_INT_IMAGE_3D_EXT = $9064;
  4388. GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT = $9065;
  4389. GL_UNSIGNED_INT_IMAGE_CUBE_EXT = $9066;
  4390. GL_UNSIGNED_INT_IMAGE_BUFFER_EXT = $9067;
  4391. GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT = $9068;
  4392. GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT = $9069;
  4393. GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = $906A;
  4394. GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT = $906B;
  4395. GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = $906C;
  4396. GL_MAX_IMAGE_SAMPLES_EXT = $906D;
  4397. GL_IMAGE_BINDING_FORMAT_EXT = $906E;
  4398. GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT = $00000001;
  4399. GL_ELEMENT_ARRAY_BARRIER_BIT_EXT = $00000002;
  4400. GL_UNIFORM_BARRIER_BIT_EXT = $00000004;
  4401. GL_TEXTURE_FETCH_BARRIER_BIT_EXT = $00000008;
  4402. GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT = $00000020;
  4403. GL_COMMAND_BARRIER_BIT_EXT = $00000040;
  4404. GL_PIXEL_BUFFER_BARRIER_BIT_EXT = $00000080;
  4405. GL_TEXTURE_UPDATE_BARRIER_BIT_EXT = $00000100;
  4406. GL_BUFFER_UPDATE_BARRIER_BIT_EXT = $00000200;
  4407. GL_FRAMEBUFFER_BARRIER_BIT_EXT = $00000400;
  4408. GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT = $00000800;
  4409. GL_ATOMIC_COUNTER_BARRIER_BIT_EXT = $00001000;
  4410. GL_ALL_BARRIER_BITS_EXT = $FFFFFFFF;
  4411. // GL_EXT_vertex_attrib_64bit
  4412. { reuse GL_DOUBLE }
  4413. GL_DOUBLE_VEC2_EXT = $8FFC;
  4414. GL_DOUBLE_VEC3_EXT = $8FFD;
  4415. GL_DOUBLE_VEC4_EXT = $8FFE;
  4416. GL_DOUBLE_MAT2_EXT = $8F46;
  4417. GL_DOUBLE_MAT3_EXT = $8F47;
  4418. GL_DOUBLE_MAT4_EXT = $8F48;
  4419. GL_DOUBLE_MAT2x3_EXT = $8F49;
  4420. GL_DOUBLE_MAT2x4_EXT = $8F4A;
  4421. GL_DOUBLE_MAT3x2_EXT = $8F4B;
  4422. GL_DOUBLE_MAT3x4_EXT = $8F4C;
  4423. GL_DOUBLE_MAT4x2_EXT = $8F4D;
  4424. GL_DOUBLE_MAT4x3_EXT = $8F4E;
  4425. // GL_EXT_texture_sRGB_decode
  4426. GL_TEXTURE_SRGB_DECODE_EXT = $8A48;
  4427. GL_DECODE_EXT = $8A49;
  4428. GL_SKIP_DECODE_EXT = $8A4A;
  4429. // GL_NV_texture_multisample
  4430. GL_TEXTURE_COVERAGE_SAMPLES_NV = $9045;
  4431. GL_TEXTURE_COLOR_SAMPLES_NV = $9046;
  4432. // GL_AMD_blend_minmax_factor
  4433. GL_FACTOR_MIN_AMD = $901C;
  4434. GL_FACTOR_MAX_AMD = $901D;
  4435. // GL_AMD_sample_positions
  4436. GL_SUBSAMPLE_DISTANCE_AMD = $883F;
  4437. // GL_EXT_x11_sync_object
  4438. GL_SYNC_X11_FENCE_EXT = $90E1;
  4439. // GL_EXT_framebuffer_multisample_blit_scaled
  4440. GL_SCALED_RESOLVE_FASTEST_EXT = $90BA;
  4441. GL_SCALED_RESOLVE_NICEST_EXT = $90BB;
  4442. // (4.3) GL_NV_path_rendering
  4443. GL_PATH_FORMAT_SVG_NV = $9070;
  4444. GL_PATH_FORMAT_PS_NV = $9071;
  4445. GL_STANDARD_FONT_NAME_NV = $9072;
  4446. GL_SYSTEM_FONT_NAME_NV = $9073;
  4447. GL_FILE_NAME_NV = $9074;
  4448. GL_PATH_STROKE_WIDTH_NV = $9075;
  4449. GL_PATH_END_CAPS_NV = $9076;
  4450. GL_PATH_INITIAL_END_CAP_NV = $9077;
  4451. GL_PATH_TERMINAL_END_CAP_NV = $9078;
  4452. GL_PATH_JOIN_STYLE_NV = $9079;
  4453. GL_PATH_MITER_LIMIT_NV = $907A;
  4454. GL_PATH_DASH_CAPS_NV = $907B;
  4455. GL_PATH_INITIAL_DASH_CAP_NV = $907C;
  4456. GL_PATH_TERMINAL_DASH_CAP_NV = $907D;
  4457. GL_PATH_DASH_OFFSET_NV = $907E;
  4458. GL_PATH_CLIENT_LENGTH_NV = $907F;
  4459. GL_PATH_FILL_MODE_NV = $9080;
  4460. GL_PATH_FILL_MASK_NV = $9081;
  4461. GL_PATH_FILL_COVER_MODE_NV = $9082;
  4462. GL_PATH_STROKE_COVER_MODE_NV = $9083;
  4463. GL_PATH_STROKE_MASK_NV = $9084;
  4464. GL_PATH_SAMPLE_QUALITY_NV = $9085;
  4465. GL_PATH_STROKE_BOUND_NV = $9086;
  4466. GL_PATH_STROKE_OVERSAMPLE_COUNT_NV= $9087;
  4467. GL_COUNT_UP_NV = $9088;
  4468. GL_COUNT_DOWN_NV = $9089;
  4469. GL_PATH_OBJECT_BOUNDING_BOX_NV = $908A;
  4470. GL_CONVEX_HULL_NV = $908B;
  4471. GL_MULTI_HULLS_NV = $908C;
  4472. GL_BOUNDING_BOX_NV = $908D;
  4473. GL_TRANSLATE_X_NV = $908E;
  4474. GL_TRANSLATE_Y_NV = $908F;
  4475. GL_TRANSLATE_2D_NV = $9090;
  4476. GL_TRANSLATE_3D_NV = $9091;
  4477. GL_AFFINE_2D_NV = $9092;
  4478. GL_PROJECTIVE_2D_NV = $9093;
  4479. GL_AFFINE_3D_NV = $9094;
  4480. GL_PROJECTIVE_3D_NV = $9095;
  4481. GL_TRANSPOSE_AFFINE_2D_NV = $9096;
  4482. GL_TRANSPOSE_PROJECTIVE_2D_NV = $9097;
  4483. GL_TRANSPOSE_AFFINE_3D_NV = $9098;
  4484. GL_TRANSPOSE_PROJECTIVE_3D_NV = $9099;
  4485. GL_UTF8_NV = $909A;
  4486. GL_UTF16_NV = $909B;
  4487. GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV= $909C;
  4488. GL_PATH_COMMAND_COUNT_NV = $909D;
  4489. GL_PATH_COORD_COUNT_NV = $909E;
  4490. GL_PATH_DASH_ARRAY_COUNT_NV = $909F;
  4491. GL_PATH_COMPUTED_LENGTH_NV = $90A0;
  4492. GL_PATH_FILL_BOUNDING_BOX_NV = $90A1;
  4493. GL_PATH_STROKE_BOUNDING_BOX_NV = $90A2;
  4494. GL_SQUARE_NV = $90A3;
  4495. GL_ROUND_NV = $90A4;
  4496. GL_TRIANGULAR_NV = $90A5;
  4497. GL_BEVEL_NV = $90A6;
  4498. GL_MITER_REVERT_NV = $90A7;
  4499. GL_MITER_TRUNCATE_NV = $90A8;
  4500. GL_SKIP_MISSING_GLYPH_NV = $90A9;
  4501. GL_USE_MISSING_GLYPH_NV = $90AA;
  4502. GL_PATH_ERROR_POSITION_NV = $90AB;
  4503. GL_PATH_FOG_GEN_MODE_NV = $90AC;
  4504. GL_ACCUM_ADJACENT_PAIRS_NV = $90AD;
  4505. GL_ADJACENT_PAIRS_NV = $90AE;
  4506. GL_FIRST_TO_REST_NV = $90AF;
  4507. GL_PATH_GEN_MODE_NV = $90B0;
  4508. GL_PATH_GEN_COEFF_NV = $90B1;
  4509. GL_PATH_GEN_COLOR_FORMAT_NV = $90B2;
  4510. GL_PATH_GEN_COMPONENTS_NV = $90B3;
  4511. GL_PATH_STENCIL_FUNC_NV = $90B7;
  4512. GL_PATH_STENCIL_REF_NV = $90B8;
  4513. GL_PATH_STENCIL_VALUE_MASK_NV = $90B9;
  4514. GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV= $90BD;
  4515. GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV= $90BE;
  4516. GL_PATH_COVER_DEPTH_FUNC_NV = $90BF;
  4517. GL_PATH_DASH_OFFSET_RESET_NV = $90B4;
  4518. GL_MOVE_TO_RESETS_NV = $90B5;
  4519. GL_MOVE_TO_CONTINUES_NV = $90B6;
  4520. GL_CLOSE_PATH_NV = $00;
  4521. GL_MOVE_TO_NV = $02;
  4522. GL_RELATIVE_MOVE_TO_NV = $03;
  4523. GL_LINE_TO_NV = $04;
  4524. GL_RELATIVE_LINE_TO_NV = $05;
  4525. GL_HORIZONTAL_LINE_TO_NV = $06;
  4526. GL_RELATIVE_HORIZONTAL_LINE_TO_NV= $07;
  4527. GL_VERTICAL_LINE_TO_NV = $08;
  4528. GL_RELATIVE_VERTICAL_LINE_TO_NV = $09;
  4529. GL_QUADRATIC_CURVE_TO_NV = $0A;
  4530. GL_RELATIVE_QUADRATIC_CURVE_TO_NV= $0B;
  4531. GL_CUBIC_CURVE_TO_NV = $0C;
  4532. GL_RELATIVE_CUBIC_CURVE_TO_NV = $0D;
  4533. GL_SMOOTH_QUADRATIC_CURVE_TO_NV = $0E;
  4534. GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV= $0F;
  4535. GL_SMOOTH_CUBIC_CURVE_TO_NV = $10;
  4536. GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV= $11;
  4537. GL_SMALL_CCW_ARC_TO_NV = $12;
  4538. GL_RELATIVE_SMALL_CCW_ARC_TO_NV = $13;
  4539. GL_SMALL_CW_ARC_TO_NV = $14;
  4540. GL_RELATIVE_SMALL_CW_ARC_TO_NV = $15;
  4541. GL_LARGE_CCW_ARC_TO_NV = $16;
  4542. GL_RELATIVE_LARGE_CCW_ARC_TO_NV = $17;
  4543. GL_LARGE_CW_ARC_TO_NV = $18;
  4544. GL_RELATIVE_LARGE_CW_ARC_TO_NV = $19;
  4545. GL_RESTART_PATH_NV = $F0;
  4546. GL_DUP_FIRST_CUBIC_CURVE_TO_NV = $F2;
  4547. GL_DUP_LAST_CUBIC_CURVE_TO_NV = $F4;
  4548. GL_RECT_NV = $F6;
  4549. GL_CIRCULAR_CCW_ARC_TO_NV = $F8;
  4550. GL_CIRCULAR_CW_ARC_TO_NV = $FA;
  4551. GL_CIRCULAR_TANGENT_ARC_TO_NV = $FC;
  4552. GL_ARC_TO_NV = $FE;
  4553. GL_RELATIVE_ARC_TO_NV = $FF;
  4554. GL_BOLD_BIT_NV = $01;
  4555. GL_ITALIC_BIT_NV = $02;
  4556. GL_GLYPH_WIDTH_BIT_NV = $01;
  4557. GL_GLYPH_HEIGHT_BIT_NV = $02;
  4558. GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV= $04;
  4559. GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV= $08;
  4560. GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV= $10;
  4561. GL_GLYPH_VERTICAL_BEARING_X_BIT_NV= $20;
  4562. GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV= $40;
  4563. GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV= $80;
  4564. GL_GLYPH_HAS_KERNING_NV = $100;
  4565. GL_FONT_X_MIN_BOUNDS_NV = $00010000;
  4566. GL_FONT_Y_MIN_BOUNDS_NV = $00020000;
  4567. GL_FONT_X_MAX_BOUNDS_NV = $00040000;
  4568. GL_FONT_Y_MAX_BOUNDS_NV = $00080000;
  4569. GL_FONT_UNITS_PER_EM_NV = $00100000;
  4570. GL_FONT_ASCENDER_NV = $00200000;
  4571. GL_FONT_DESCENDER_NV = $00400000;
  4572. GL_FONT_HEIGHT_NV = $00800000;
  4573. GL_FONT_MAX_ADVANCE_WIDTH_NV = $01000000;
  4574. GL_FONT_MAX_ADVANCE_HEIGHT_NV = $02000000;
  4575. GL_FONT_UNDERLINE_POSITION_NV = $04000000;
  4576. GL_FONT_UNDERLINE_THICKNESS_NV = $08000000;
  4577. GL_FONT_HAS_KERNING_NV = $10000000;
  4578. // (4.3) GL_AMD_pinned_memory
  4579. GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD= $9160;
  4580. // (4.3) GL_AMD_stencil_operation_extended
  4581. GL_SET_AMD = $874A;
  4582. GL_REPLACE_VALUE_AMD = $874B;
  4583. GL_STENCIL_OP_VALUE_AMD = $874C;
  4584. GL_STENCIL_BACK_OP_VALUE_AMD = $874D;
  4585. // (4.3) GL_AMD_vertex_shader_viewport_index
  4586. // (4.3) GL_AMD_vertex_shader_layer
  4587. // (4.3) GL_NV_bindless_texture
  4588. // (4.3) GL_NV_shader_atomic_float
  4589. // (4.3) GL_AMD_query_buffer_object
  4590. GL_QUERY_BUFFER_AMD = $9192;
  4591. GL_QUERY_BUFFER_BINDING_AMD = $9193;
  4592. GL_QUERY_RESULT_NO_WAIT_AMD = $9194;
  4593. // GL_FfdMaskSGIX
  4594. GL_TEXTURE_DEFORMATION_BIT_SGIX = $00000001;
  4595. GL_GEOMETRY_DEFORMATION_BIT_SGIX = $00000002;
  4596. // GL_HP_convolution_border_modes
  4597. GL_IGNORE_BORDER_HP = $8150;
  4598. GL_CONSTANT_BORDER_HP = $8151;
  4599. GL_REPLICATE_BORDER_HP = $8153;
  4600. GL_CONVOLUTION_BORDER_COLOR_HP = $8154;
  4601. // GL_HP_image_transform
  4602. GL_IMAGE_SCALE_X_HP = $8155;
  4603. GL_IMAGE_SCALE_Y_HP = $8156;
  4604. GL_IMAGE_TRANSLATE_X_HP = $8157;
  4605. GL_IMAGE_TRANSLATE_Y_HP = $8158;
  4606. GL_IMAGE_ROTATE_ANGLE_HP = $8159;
  4607. GL_IMAGE_ROTATE_ORIGIN_X_HP = $815A;
  4608. GL_IMAGE_ROTATE_ORIGIN_Y_HP = $815B;
  4609. GL_IMAGE_MAG_FILTER_HP = $815C;
  4610. GL_IMAGE_MIN_FILTER_HP = $815D;
  4611. GL_IMAGE_CUBIC_WEIGHT_HP = $815E;
  4612. GL_CUBIC_HP = $815F;
  4613. GL_AVERAGE_HP = $8160;
  4614. GL_IMAGE_TRANSFORM_2D_HP = $8161;
  4615. GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = $8162;
  4616. GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = $8163;
  4617. // GL_HP_occlusion_test
  4618. GL_OCCLUSION_TEST_HP = $8165;
  4619. GL_OCCLUSION_TEST_RESULT_HP = $8166;
  4620. // GL_HP_texture_lighting
  4621. GL_TEXTURE_LIGHTING_MODE_HP = $8167;
  4622. GL_TEXTURE_POST_SPECULAR_HP = $8168;
  4623. GL_TEXTURE_PRE_SPECULAR_HP = $8169;
  4624. // GL_IBM_cull_vertex
  4625. GL_CULL_VERTEX_IBM = 103050;
  4626. // GL_IBM_rasterpos_clip
  4627. GL_RASTER_POSITION_UNCLIPPED_IBM = $19262;
  4628. // GL_IBM_texture_mirrored_repeat
  4629. GL_MIRRORED_REPEAT_IBM = $8370;
  4630. // GL_IBM_vertex_array_lists
  4631. GL_VERTEX_ARRAY_LIST_IBM = 103070;
  4632. GL_NORMAL_ARRAY_LIST_IBM = 103071;
  4633. GL_COLOR_ARRAY_LIST_IBM = 103072;
  4634. GL_INDEX_ARRAY_LIST_IBM = 103073;
  4635. GL_TEXTURE_COORD_ARRAY_LIST_IBM = 103074;
  4636. GL_EDGE_FLAG_ARRAY_LIST_IBM = 103075;
  4637. GL_FOG_COORDINATE_ARRAY_LIST_IBM = 103076;
  4638. GL_SECONDARY_COLOR_ARRAY_LIST_IBM = 103077;
  4639. GL_VERTEX_ARRAY_LIST_STRIDE_IBM = 103080;
  4640. GL_NORMAL_ARRAY_LIST_STRIDE_IBM = 103081;
  4641. GL_COLOR_ARRAY_LIST_STRIDE_IBM = 103082;
  4642. GL_INDEX_ARRAY_LIST_STRIDE_IBM = 103083;
  4643. GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = 103084;
  4644. GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = 103085;
  4645. GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 103086;
  4646. GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = 103087;
  4647. // GL_INGR_color_clamp
  4648. GL_RED_MIN_CLAMP_INGR = $8560;
  4649. GL_GREEN_MIN_CLAMP_INGR = $8561;
  4650. GL_BLUE_MIN_CLAMP_INGR = $8562;
  4651. GL_ALPHA_MIN_CLAMP_INGR = $8563;
  4652. GL_RED_MAX_CLAMP_INGR = $8564;
  4653. GL_GREEN_MAX_CLAMP_INGR = $8565;
  4654. GL_BLUE_MAX_CLAMP_INGR = $8566;
  4655. GL_ALPHA_MAX_CLAMP_INGR = $8567;
  4656. // GL_INGR_interlace_read
  4657. GL_INTERLACE_READ_INGR = $8568;
  4658. // GL_INTEL_parallel_arrays
  4659. GL_PARALLEL_ARRAYS_INTEL = $83F4;
  4660. GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = $83F5;
  4661. GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = $83F6;
  4662. GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL = $83F7;
  4663. GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = $83F8;
  4664. // GL_NV_copy_depth_to_color
  4665. GL_DEPTH_STENCIL_TO_RGBA_NV = $886E;
  4666. GL_DEPTH_STENCIL_TO_BGRA_NV = $886F;
  4667. // GL_NV_depth_clamp
  4668. GL_DEPTH_CLAMP_NV = $864F;
  4669. // GL_NV_evaluators
  4670. GL_EVAL_2D_NV = $86C0;
  4671. GL_EVAL_TRIANGULAR_2D_NV = $86C1;
  4672. GL_MAP_TESSELLATION_NV = $86C2;
  4673. GL_MAP_ATTRIB_U_ORDER_NV = $86C3;
  4674. GL_MAP_ATTRIB_V_ORDER_NV = $86C4;
  4675. GL_EVAL_FRACTIONAL_TESSELLATION_NV = $86C5;
  4676. GL_EVAL_VERTEX_ATTRIB0_NV = $86C6;
  4677. GL_EVAL_VERTEX_ATTRIB1_NV = $86C7;
  4678. GL_EVAL_VERTEX_ATTRIB2_NV = $86C8;
  4679. GL_EVAL_VERTEX_ATTRIB3_NV = $86C9;
  4680. GL_EVAL_VERTEX_ATTRIB4_NV = $86CA;
  4681. GL_EVAL_VERTEX_ATTRIB5_NV = $86CB;
  4682. GL_EVAL_VERTEX_ATTRIB6_NV = $86CC;
  4683. GL_EVAL_VERTEX_ATTRIB7_NV = $86CD;
  4684. GL_EVAL_VERTEX_ATTRIB8_NV = $86CE;
  4685. GL_EVAL_VERTEX_ATTRIB9_NV = $86CF;
  4686. GL_EVAL_VERTEX_ATTRIB10_NV = $86D0;
  4687. GL_EVAL_VERTEX_ATTRIB11_NV = $86D1;
  4688. GL_EVAL_VERTEX_ATTRIB12_NV = $86D2;
  4689. GL_EVAL_VERTEX_ATTRIB13_NV = $86D3;
  4690. GL_EVAL_VERTEX_ATTRIB14_NV = $86D4;
  4691. GL_EVAL_VERTEX_ATTRIB15_NV = $86D5;
  4692. GL_MAX_MAP_TESSELLATION_NV = $86D6;
  4693. GL_MAX_RATIONAL_EVAL_ORDER_NV = $86D7;
  4694. // GL_NV_fence
  4695. GL_ALL_COMPLETED_NV = $84F2;
  4696. GL_FENCE_STATUS_NV = $84F3;
  4697. GL_FENCE_CONDITION_NV = $84F4;
  4698. // GL_NV_float_buffer
  4699. GL_FLOAT_R_NV = $8880;
  4700. GL_FLOAT_RG_NV = $8881;
  4701. GL_FLOAT_RGB_NV = $8882;
  4702. GL_FLOAT_RGBA_NV = $8883;
  4703. GL_FLOAT_R16_NV = $8884;
  4704. GL_FLOAT_R32_NV = $8885;
  4705. GL_FLOAT_RG16_NV = $8886;
  4706. GL_FLOAT_RG32_NV = $8887;
  4707. GL_FLOAT_RGB16_NV = $8888;
  4708. GL_FLOAT_RGB32_NV = $8889;
  4709. GL_FLOAT_RGBA16_NV = $888A;
  4710. GL_FLOAT_RGBA32_NV = $888B;
  4711. GL_TEXTURE_FLOAT_COMPONENTS_NV = $888C;
  4712. GL_FLOAT_CLEAR_COLOR_VALUE_NV = $888D;
  4713. GL_FLOAT_RGBA_MODE_NV = $888E;
  4714. // GL_NV_fog_distance
  4715. GL_FOG_DISTANCE_MODE_NV = $855A;
  4716. GL_EYE_RADIAL_NV = $855B;
  4717. GL_EYE_PLANE_ABSOLUTE_NV = $855C;
  4718. // GL_NV_fragment_program
  4719. GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = $8868;
  4720. GL_FRAGMENT_PROGRAM_NV = $8870;
  4721. GL_MAX_TEXTURE_COORDS_NV = $8871;
  4722. GL_MAX_TEXTURE_IMAGE_UNITS_NV = $8872;
  4723. GL_FRAGMENT_PROGRAM_BINDING_NV = $8873;
  4724. GL_PROGRAM_ERROR_STRING_NV = $8874;
  4725. // GL_NV_half_float
  4726. GL_HALF_FLOAT_NV = $140B;
  4727. // GL_NV_light_max_exponent
  4728. GL_MAX_SHININESS_NV = $8504;
  4729. GL_MAX_SPOT_EXPONENT_NV = $8505;
  4730. // GL_NV_multisample_filter_hint
  4731. GL_MULTISAMPLE_FILTER_HINT_NV = $8534;
  4732. // GL_NV_occlusion_query
  4733. GL_PIXEL_COUNTER_BITS_NV = $8864;
  4734. GL_CURRENT_OCCLUSION_QUERY_ID_NV = $8865;
  4735. GL_PIXEL_COUNT_NV = $8866;
  4736. GL_PIXEL_COUNT_AVAILABLE_NV = $8867;
  4737. // GL_NV_packed_depth_stencil
  4738. GL_DEPTH_STENCIL_NV = $84F9;
  4739. GL_UNSIGNED_INT_24_8_NV = $84FA;
  4740. // GL_NV_pixel_data_range
  4741. GL_WRITE_PIXEL_DATA_RANGE_NV = $8878;
  4742. GL_READ_PIXEL_DATA_RANGE_NV = $8879;
  4743. GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV = $887A;
  4744. GL_READ_PIXEL_DATA_RANGE_LENGTH_NV = $887B;
  4745. GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV = $887C;
  4746. GL_READ_PIXEL_DATA_RANGE_POINTER_NV = $887D;
  4747. // GL_NV_point_sprite
  4748. GL_POINT_SPRITE_NV = $8861;
  4749. GL_COORD_REPLACE_NV = $8862;
  4750. GL_POINT_SPRITE_R_MODE_NV = $8863;
  4751. // GL_NV_primitive_restart
  4752. GL_PRIMITIVE_RESTART_NV = $8558;
  4753. GL_PRIMITIVE_RESTART_INDEX_NV = $8559;
  4754. // GL_NV_register_combiners
  4755. GL_REGISTER_COMBINERS_NV = $8522;
  4756. GL_VARIABLE_A_NV = $8523;
  4757. GL_VARIABLE_B_NV = $8524;
  4758. GL_VARIABLE_C_NV = $8525;
  4759. GL_VARIABLE_D_NV = $8526;
  4760. GL_VARIABLE_E_NV = $8527;
  4761. GL_VARIABLE_F_NV = $8528;
  4762. GL_VARIABLE_G_NV = $8529;
  4763. GL_CONSTANT_COLOR0_NV = $852A;
  4764. GL_CONSTANT_COLOR1_NV = $852B;
  4765. GL_PRIMARY_COLOR_NV = $852C;
  4766. GL_SECONDARY_COLOR_NV = $852D;
  4767. GL_SPARE0_NV = $852E;
  4768. GL_SPARE1_NV = $852F;
  4769. GL_DISCARD_NV = $8530;
  4770. GL_E_TIMES_F_NV = $8531;
  4771. GL_SPARE0_PLUS_SECONDARY_COLOR_NV = $8532;
  4772. GL_UNSIGNED_IDENTITY_NV = $8536;
  4773. GL_UNSIGNED_INVERT_NV = $8537;
  4774. GL_EXPAND_NORMAL_NV = $8538;
  4775. GL_EXPAND_NEGATE_NV = $8539;
  4776. GL_HALF_BIAS_NORMAL_NV = $853A;
  4777. GL_HALF_BIAS_NEGATE_NV = $853B;
  4778. GL_SIGNED_IDENTITY_NV = $853C;
  4779. GL_SIGNED_NEGATE_NV = $853D;
  4780. GL_SCALE_BY_TWO_NV = $853E;
  4781. GL_SCALE_BY_FOUR_NV = $853F;
  4782. GL_SCALE_BY_ONE_HALF_NV = $8540;
  4783. GL_BIAS_BY_NEGATIVE_ONE_HALF_NV = $8541;
  4784. GL_COMBINER_INPUT_NV = $8542;
  4785. GL_COMBINER_MAPPING_NV = $8543;
  4786. GL_COMBINER_COMPONENT_USAGE_NV = $8544;
  4787. GL_COMBINER_AB_DOT_PRODUCT_NV = $8545;
  4788. GL_COMBINER_CD_DOT_PRODUCT_NV = $8546;
  4789. GL_COMBINER_MUX_SUM_NV = $8547;
  4790. GL_COMBINER_SCALE_NV = $8548;
  4791. GL_COMBINER_BIAS_NV = $8549;
  4792. GL_COMBINER_AB_OUTPUT_NV = $854A;
  4793. GL_COMBINER_CD_OUTPUT_NV = $854B;
  4794. GL_COMBINER_SUM_OUTPUT_NV = $854C;
  4795. GL_MAX_GENERAL_COMBINERS_NV = $854D;
  4796. GL_NUM_GENERAL_COMBINERS_NV = $854E;
  4797. GL_COLOR_SUM_CLAMP_NV = $854F;
  4798. GL_COMBINER0_NV = $8550;
  4799. GL_COMBINER1_NV = $8551;
  4800. GL_COMBINER2_NV = $8552;
  4801. GL_COMBINER3_NV = $8553;
  4802. GL_COMBINER4_NV = $8554;
  4803. GL_COMBINER5_NV = $8555;
  4804. GL_COMBINER6_NV = $8556;
  4805. GL_COMBINER7_NV = $8557;
  4806. // GL_NV_register_combiners2
  4807. GL_PER_STAGE_CONSTANTS_NV = $8535;
  4808. // GL_NV_texgen_emboss
  4809. GL_EMBOSS_LIGHT_NV = $855D;
  4810. GL_EMBOSS_CONSTANT_NV = $855E;
  4811. GL_EMBOSS_MAP_NV = $855F;
  4812. // GL_NV_texgen_reflection
  4813. GL_NORMAL_MAP_NV = $8511;
  4814. GL_REFLECTION_MAP_NV = $8512;
  4815. // GL_NV_texture_env_combine4
  4816. GL_COMBINE4_NV = $8503;
  4817. GL_SOURCE3_RGB_NV = $8583;
  4818. GL_SOURCE3_ALPHA_NV = $858B;
  4819. GL_OPERAND3_RGB_NV = $8593;
  4820. GL_OPERAND3_ALPHA_NV = $859B;
  4821. // GL_NV_texture_expand_normal
  4822. GL_TEXTURE_UNSIGNED_REMAP_MODE_NV = $888F;
  4823. // GL_NV_texture_rectangle
  4824. GL_TEXTURE_RECTANGLE_NV = $84F5;
  4825. GL_TEXTURE_BINDING_RECTANGLE_NV = $84F6;
  4826. GL_PROXY_TEXTURE_RECTANGLE_NV = $84F7;
  4827. GL_MAX_RECTANGLE_TEXTURE_SIZE_NV = $84F8;
  4828. // GL_NV_texture_shader
  4829. GL_OFFSET_TEXTURE_RECTANGLE_NV = $864C;
  4830. GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV = $864D;
  4831. GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV = $864E;
  4832. GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = $86D9;
  4833. GL_UNSIGNED_INT_S8_S8_8_8_NV = $86DA;
  4834. GL_UNSIGNED_INT_8_8_S8_S8_REV_NV = $86DB;
  4835. GL_DSDT_MAG_INTENSITY_NV = $86DC;
  4836. GL_SHADER_CONSISTENT_NV = $86DD;
  4837. GL_TEXTURE_SHADER_NV = $86DE;
  4838. GL_SHADER_OPERATION_NV = $86DF;
  4839. GL_CULL_MODES_NV = $86E0;
  4840. GL_OFFSET_TEXTURE_MATRIX_NV = $86E1;
  4841. GL_OFFSET_TEXTURE_SCALE_NV = $86E2;
  4842. GL_OFFSET_TEXTURE_BIAS_NV = $86E3;
  4843. GL_OFFSET_TEXTURE_2D_MATRIX_NV = GL_OFFSET_TEXTURE_MATRIX_NV;
  4844. GL_OFFSET_TEXTURE_2D_SCALE_NV = GL_OFFSET_TEXTURE_SCALE_NV;
  4845. GL_OFFSET_TEXTURE_2D_BIAS_NV = GL_OFFSET_TEXTURE_BIAS_NV;
  4846. GL_PREVIOUS_TEXTURE_INPUT_NV = $86E4;
  4847. GL_CONST_EYE_NV = $86E5;
  4848. GL_PASS_THROUGH_NV = $86E6;
  4849. GL_CULL_FRAGMENT_NV = $86E7;
  4850. GL_OFFSET_TEXTURE_2D_NV = $86E8;
  4851. GL_DEPENDENT_AR_TEXTURE_2D_NV = $86E9;
  4852. GL_DEPENDENT_GB_TEXTURE_2D_NV = $86EA;
  4853. GL_DOT_PRODUCT_NV = $86EC;
  4854. GL_DOT_PRODUCT_DEPTH_REPLACE_NV = $86ED;
  4855. GL_DOT_PRODUCT_TEXTURE_2D_NV = $86EE;
  4856. GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = $86F0;
  4857. GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = $86F1;
  4858. GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV = $86F2;
  4859. GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = $86F3;
  4860. GL_HILO_NV = $86F4;
  4861. GL_DSDT_NV = $86F5;
  4862. GL_DSDT_MAG_NV = $86F6;
  4863. GL_DSDT_MAG_VIB_NV = $86F7;
  4864. GL_HILO16_NV = $86F8;
  4865. GL_SIGNED_HILO_NV = $86F9;
  4866. GL_SIGNED_HILO16_NV = $86FA;
  4867. GL_SIGNED_RGBA_NV = $86FB;
  4868. GL_SIGNED_RGBA8_NV = $86FC;
  4869. GL_SIGNED_RGB_NV = $86FE;
  4870. GL_SIGNED_RGB8_NV = $86FF;
  4871. GL_SIGNED_LUMINANCE_NV = $8701;
  4872. GL_SIGNED_LUMINANCE8_NV = $8702;
  4873. GL_SIGNED_LUMINANCE_ALPHA_NV = $8703;
  4874. GL_SIGNED_LUMINANCE8_ALPHA8_NV = $8704;
  4875. GL_SIGNED_ALPHA_NV = $8705;
  4876. GL_SIGNED_ALPHA8_NV = $8706;
  4877. GL_SIGNED_INTENSITY_NV = $8707;
  4878. GL_SIGNED_INTENSITY8_NV = $8708;
  4879. GL_DSDT8_NV = $8709;
  4880. GL_DSDT8_MAG8_NV = $870A;
  4881. GL_DSDT8_MAG8_INTENSITY8_NV = $870B;
  4882. GL_SIGNED_RGB_UNSIGNED_ALPHA_NV = $870C;
  4883. GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV = $870D;
  4884. GL_HI_SCALE_NV = $870E;
  4885. GL_LO_SCALE_NV = $870F;
  4886. GL_DS_SCALE_NV = $8710;
  4887. GL_DT_SCALE_NV = $8711;
  4888. GL_MAGNITUDE_SCALE_NV = $8712;
  4889. GL_VIBRANCE_SCALE_NV = $8713;
  4890. GL_HI_BIAS_NV = $8714;
  4891. GL_LO_BIAS_NV = $8715;
  4892. GL_DS_BIAS_NV = $8716;
  4893. GL_DT_BIAS_NV = $8717;
  4894. GL_MAGNITUDE_BIAS_NV = $8718;
  4895. GL_VIBRANCE_BIAS_NV = $8719;
  4896. GL_TEXTURE_BORDER_VALUES_NV = $871A;
  4897. GL_TEXTURE_HI_SIZE_NV = $871B;
  4898. GL_TEXTURE_LO_SIZE_NV = $871C;
  4899. GL_TEXTURE_DS_SIZE_NV = $871D;
  4900. GL_TEXTURE_DT_SIZE_NV = $871E;
  4901. GL_TEXTURE_MAG_SIZE_NV = $871F;
  4902. // GL_NV_texture_shader2
  4903. GL_DOT_PRODUCT_TEXTURE_3D_NV = $86EF;
  4904. // GL_NV_texture_shader3
  4905. GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV = $8850;
  4906. GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = $8851;
  4907. GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = $8852;
  4908. GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = $8853;
  4909. GL_OFFSET_HILO_TEXTURE_2D_NV = $8854;
  4910. GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV = $8855;
  4911. GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = $8856;
  4912. GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = $8857;
  4913. GL_DEPENDENT_HILO_TEXTURE_2D_NV = $8858;
  4914. GL_DEPENDENT_RGB_TEXTURE_3D_NV = $8859;
  4915. GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = $885A;
  4916. GL_DOT_PRODUCT_PASS_THROUGH_NV = $885B;
  4917. GL_DOT_PRODUCT_TEXTURE_1D_NV = $885C;
  4918. GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = $885D;
  4919. GL_HILO8_NV = $885E;
  4920. GL_SIGNED_HILO8_NV = $885F;
  4921. GL_FORCE_BLUE_TO_ONE_NV = $8860;
  4922. // GL_NV_vertex_array_range
  4923. GL_VERTEX_ARRAY_RANGE_NV = $851D;
  4924. GL_VERTEX_ARRAY_RANGE_LENGTH_NV = $851E;
  4925. GL_VERTEX_ARRAY_RANGE_VALID_NV = $851F;
  4926. GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = $8520;
  4927. GL_VERTEX_ARRAY_RANGE_POINTER_NV = $8521;
  4928. // GL_NV_vertex_array_range2
  4929. GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = $8533;
  4930. // GL_NV_vertex_program
  4931. GL_VERTEX_PROGRAM_NV = $8620;
  4932. GL_VERTEX_STATE_PROGRAM_NV = $8621;
  4933. GL_ATTRIB_ARRAY_SIZE_NV = $8623;
  4934. GL_ATTRIB_ARRAY_STRIDE_NV = $8624;
  4935. GL_ATTRIB_ARRAY_TYPE_NV = $8625;
  4936. GL_CURRENT_ATTRIB_NV = $8626;
  4937. GL_PROGRAM_LENGTH_NV = $8627;
  4938. GL_PROGRAM_STRING_NV = $8628;
  4939. GL_MODELVIEW_PROJECTION_NV = $8629;
  4940. GL_IDENTITY_NV = $862A;
  4941. GL_INVERSE_NV = $862B;
  4942. GL_TRANSPOSE_NV = $862C;
  4943. GL_INVERSE_TRANSPOSE_NV = $862D;
  4944. GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV = $862E;
  4945. GL_MAX_TRACK_MATRICES_NV = $862F;
  4946. GL_MATRIX0_NV = $8630;
  4947. GL_MATRIX1_NV = $8631;
  4948. GL_MATRIX2_NV = $8632;
  4949. GL_MATRIX3_NV = $8633;
  4950. GL_MATRIX4_NV = $8634;
  4951. GL_MATRIX5_NV = $8635;
  4952. GL_MATRIX6_NV = $8636;
  4953. GL_MATRIX7_NV = $8637;
  4954. GL_CURRENT_MATRIX_STACK_DEPTH_NV = $8640;
  4955. GL_CURRENT_MATRIX_NV = $8641;
  4956. GL_VERTEX_PROGRAM_POINT_SIZE_NV = $8642;
  4957. GL_VERTEX_PROGRAM_TWO_SIDE_NV = $8643;
  4958. GL_PROGRAM_PARAMETER_NV = $8644;
  4959. GL_ATTRIB_ARRAY_POINTER_NV = $8645;
  4960. GL_PROGRAM_TARGET_NV = $8646;
  4961. GL_PROGRAM_RESIDENT_NV = $8647;
  4962. GL_TRACK_MATRIX_NV = $8648;
  4963. GL_TRACK_MATRIX_TRANSFORM_NV = $8649;
  4964. GL_VERTEX_PROGRAM_BINDING_NV = $864A;
  4965. GL_PROGRAM_ERROR_POSITION_NV = $864B;
  4966. GL_VERTEX_ATTRIB_ARRAY0_NV = $8650;
  4967. GL_VERTEX_ATTRIB_ARRAY1_NV = $8651;
  4968. GL_VERTEX_ATTRIB_ARRAY2_NV = $8652;
  4969. GL_VERTEX_ATTRIB_ARRAY3_NV = $8653;
  4970. GL_VERTEX_ATTRIB_ARRAY4_NV = $8654;
  4971. GL_VERTEX_ATTRIB_ARRAY5_NV = $8655;
  4972. GL_VERTEX_ATTRIB_ARRAY6_NV = $8656;
  4973. GL_VERTEX_ATTRIB_ARRAY7_NV = $8657;
  4974. GL_VERTEX_ATTRIB_ARRAY8_NV = $8658;
  4975. GL_VERTEX_ATTRIB_ARRAY9_NV = $8659;
  4976. GL_VERTEX_ATTRIB_ARRAY10_NV = $865A;
  4977. GL_VERTEX_ATTRIB_ARRAY11_NV = $865B;
  4978. GL_VERTEX_ATTRIB_ARRAY12_NV = $865C;
  4979. GL_VERTEX_ATTRIB_ARRAY13_NV = $865D;
  4980. GL_VERTEX_ATTRIB_ARRAY14_NV = $865E;
  4981. GL_VERTEX_ATTRIB_ARRAY15_NV = $865F;
  4982. GL_MAP1_VERTEX_ATTRIB0_4_NV = $8660;
  4983. GL_MAP1_VERTEX_ATTRIB1_4_NV = $8661;
  4984. GL_MAP1_VERTEX_ATTRIB2_4_NV = $8662;
  4985. GL_MAP1_VERTEX_ATTRIB3_4_NV = $8663;
  4986. GL_MAP1_VERTEX_ATTRIB4_4_NV = $8664;
  4987. GL_MAP1_VERTEX_ATTRIB5_4_NV = $8665;
  4988. GL_MAP1_VERTEX_ATTRIB6_4_NV = $8666;
  4989. GL_MAP1_VERTEX_ATTRIB7_4_NV = $8667;
  4990. GL_MAP1_VERTEX_ATTRIB8_4_NV = $8668;
  4991. GL_MAP1_VERTEX_ATTRIB9_4_NV = $8669;
  4992. GL_MAP1_VERTEX_ATTRIB10_4_NV = $866A;
  4993. GL_MAP1_VERTEX_ATTRIB11_4_NV = $866B;
  4994. GL_MAP1_VERTEX_ATTRIB12_4_NV = $866C;
  4995. GL_MAP1_VERTEX_ATTRIB13_4_NV = $866D;
  4996. GL_MAP1_VERTEX_ATTRIB14_4_NV = $866E;
  4997. GL_MAP1_VERTEX_ATTRIB15_4_NV = $866F;
  4998. GL_MAP2_VERTEX_ATTRIB0_4_NV = $8670;
  4999. GL_MAP2_VERTEX_ATTRIB1_4_NV = $8671;
  5000. GL_MAP2_VERTEX_ATTRIB2_4_NV = $8672;
  5001. GL_MAP2_VERTEX_ATTRIB3_4_NV = $8673;
  5002. GL_MAP2_VERTEX_ATTRIB4_4_NV = $8674;
  5003. GL_MAP2_VERTEX_ATTRIB5_4_NV = $8675;
  5004. GL_MAP2_VERTEX_ATTRIB6_4_NV = $8676;
  5005. GL_MAP2_VERTEX_ATTRIB7_4_NV = $8677;
  5006. GL_MAP2_VERTEX_ATTRIB8_4_NV = $8678;
  5007. GL_MAP2_VERTEX_ATTRIB9_4_NV = $8679;
  5008. GL_MAP2_VERTEX_ATTRIB10_4_NV = $867A;
  5009. GL_MAP2_VERTEX_ATTRIB11_4_NV = $867B;
  5010. GL_MAP2_VERTEX_ATTRIB12_4_NV = $867C;
  5011. GL_MAP2_VERTEX_ATTRIB13_4_NV = $867D;
  5012. GL_MAP2_VERTEX_ATTRIB14_4_NV = $867E;
  5013. GL_MAP2_VERTEX_ATTRIB15_4_NV = $867F;
  5014. // GL_NV_fragment_program2 and GL_NV_vertex_program2_option
  5015. GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = $88F4;
  5016. GL_MAX_PROGRAM_CALL_DEPTH_NV = $88F5;
  5017. // GL_NV_fragment_program2
  5018. GL_MAX_PROGRAM_IF_DEPTH_NV = $88F6;
  5019. GL_MAX_PROGRAM_LOOP_DEPTH_NV = $88F7;
  5020. GL_MAX_PROGRAM_LOOP_COUNT_NV = $88F8;
  5021. // GL_NV_vertex_program3
  5022. MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = $8B4C;
  5023. // GL_NV_depth_buffer_float
  5024. GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV = $8DAD;
  5025. GL_DEPTH_BUFFER_FLOAT_MODE_NV = $8DAF;
  5026. // GL_NV_framebuffer_multisample_coverage
  5027. GL_RENDERBUFFER_COVERAGE_SAMPLES_NV = $8CAB;
  5028. GL_RENDERBUFFER_COLOR_SAMPLES_NV = $8E10;
  5029. // GL_NV_geometry_program4
  5030. GL_GEOMETRY_PROGRAM_NV = $8C26;
  5031. GL_MAX_PROGRAM_OUTPUT_VERTICES_NV = $8C27;
  5032. GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = $8C28;
  5033. // GL_NV_gpu_program4
  5034. GL_PROGRAM_ATTRIB_COMPONENTS_NV = $8906;
  5035. GL_PROGRAM_RESULT_COMPONENTS_NV = $8907;
  5036. GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV = $8908;
  5037. GL_MAX_PROGRAM_RESULT_COMPONENTS_NV = $8909;
  5038. GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV = $8DA5;
  5039. GL_MAX_PROGRAM_GENERIC_RESULTS_NV = $8DA6;
  5040. // GL_NV_parameter_buffer_object
  5041. GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV = $8DA0;
  5042. GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV = $8DA1;
  5043. GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV = $8DA2;
  5044. GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV = $8DA3;
  5045. GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV = $8DA4;
  5046. // GL_NV_transform_feedback
  5047. GL_TRANSFORM_FEEDBACK_BUFFER_NV = $8C8E;
  5048. GL_TRANSFORM_FEEDBACK_BUFFER_START_NV = $8C84;
  5049. GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = $8C85;
  5050. GL_TRANSFORM_FEEDBACK_RECORD_NV = $8C86;
  5051. GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = $8C8F;
  5052. GL_INTERLEAVED_ATTRIBS_NV = $8C8C;
  5053. GL_SEPARATE_ATTRIBS_NV = $8C8D;
  5054. GL_PRIMITIVES_GENERATED_NV = $8C87;
  5055. GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = $8C88;
  5056. GL_RASTERIZER_DISCARD_NV = $8C89;
  5057. GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV = $8C8A;
  5058. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = $8C8B;
  5059. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = $8C80;
  5060. GL_TRANSFORM_FEEDBACK_ATTRIBS_NV = $8C7E;
  5061. GL_ACTIVE_VARYINGS_NV = $8C81;
  5062. GL_ACTIVE_VARYING_MAX_LENGTH_NV = $8C82;
  5063. GL_TRANSFORM_FEEDBACK_VARYINGS_NV = $8C83;
  5064. GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV = $8C7F;
  5065. GL_BACK_PRIMARY_COLOR_NV = $8C77;
  5066. GL_BACK_SECONDARY_COLOR_NV = $8C78;
  5067. GL_TEXTURE_COORD_NV = $8C79;
  5068. GL_CLIP_DISTANCE_NV = $8C7A;
  5069. GL_VERTEX_ID_NV = $8C7B;
  5070. GL_PRIMITIVE_ID_NV = $8C7C;
  5071. GL_GENERIC_ATTRIB_NV = $8C7D;
  5072. GL_LAYER_NV = $8DAA;
  5073. GL_NEXT_BUFFER_NV = -2;
  5074. GL_SKIP_COMPONENTS4_NV = -3;
  5075. GL_SKIP_COMPONENTS3_NV = -4;
  5076. GL_SKIP_COMPONENTS2_NV = -5;
  5077. GL_SKIP_COMPONENTS1_NV = -6;
  5078. // GL_NV_conditional_render
  5079. GL_QUERY_WAIT_NV = $8E13;
  5080. GL_QUERY_NO_WAIT_NV = $8E14;
  5081. GL_QUERY_BY_REGION_WAIT_NV = $8E15;
  5082. GL_QUERY_BY_REGION_NO_WAIT_NV = $8E16;
  5083. // GL_NV_conservative_raster
  5084. GL_CONSERVATIVE_RASTERIZATION_NV = $9346;
  5085. GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV = $9347;
  5086. GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV = $9348;
  5087. GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV = $9349;
  5088. // GL_NV_conservative_raster_dilate
  5089. GL_CONSERVATIVE_RASTER_DILATE_NV = $9379;
  5090. GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV = $937A;
  5091. GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV = $937B;
  5092. // GL_NV_present_video
  5093. GL_FRAME_NV = $8E26;
  5094. GL_FIELDS_NV = $8E27;
  5095. GL_CURRENT_TIME_NV = $8E28;
  5096. GL_NUM_FILL_STREAMS_NV = $8E29;
  5097. GL_PRESENT_TIME_NV = $8E2A;
  5098. GL_PRESENT_DURATION_NV = $8E2B;
  5099. // GL_NV_explicit_multisample
  5100. GL_SAMPLE_POSITION_NV = $8E50;
  5101. GL_SAMPLE_MASK_NV = $8E51;
  5102. GL_SAMPLE_MASK_VALUE_NV = $8E52;
  5103. GL_TEXTURE_BINDING_RENDERBUFFER_NV = $8E53;
  5104. GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV = $8E54;
  5105. GL_TEXTURE_RENDERBUFFER_NV = $8E55;
  5106. GL_SAMPLER_RENDERBUFFER_NV = $8E56;
  5107. GL_INT_SAMPLER_RENDERBUFFER_NV = $8E57;
  5108. GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV = $8E58;
  5109. GL_MAX_SAMPLE_MASK_WORDS_NV = $8E59;
  5110. // GL_NV_transform_feedback2
  5111. GL_TRANSFORM_FEEDBACK_NV = $8E22;
  5112. GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV = $8E23;
  5113. GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV = $8E24;
  5114. GL_TRANSFORM_FEEDBACK_BINDING_NV = $8E25;
  5115. // GL_NV_video_capture
  5116. GL_VIDEO_BUFFER_NV = $9020;
  5117. GL_VIDEO_BUFFER_BINDING_NV = $9021;
  5118. GL_FIELD_UPPER_NV = $9022;
  5119. GL_FIELD_LOWER_NV = $9023;
  5120. GL_NUM_VIDEO_CAPTURE_STREAMS_NV = $9024;
  5121. GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV = $9025;
  5122. GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV = $9026;
  5123. GL_LAST_VIDEO_CAPTURE_STATUS_NV = $9027;
  5124. GL_VIDEO_BUFFER_PITCH_NV = $9028;
  5125. GL_VIDEO_COLOR_CONVERSION_MATRIX_NV = $9029;
  5126. GL_VIDEO_COLOR_CONVERSION_MAX_NV = $902A;
  5127. GL_VIDEO_COLOR_CONVERSION_MIN_NV = $902B;
  5128. GL_VIDEO_COLOR_CONVERSION_OFFSET_NV = $902C;
  5129. GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV = $902D;
  5130. GL_PARTIAL_SUCCESS_NV = $902E;
  5131. GL_SUCCESS_NV = $902F;
  5132. GL_FAILURE_NV = $9030;
  5133. GL_YCBYCR8_422_NV = $9031;
  5134. GL_YCBAYCR8A_4224_NV = $9032;
  5135. GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV = $9033;
  5136. GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV = $9034;
  5137. GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV = $9035;
  5138. GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV = $9036;
  5139. GL_Z4Y12Z4CB12Z4CR12_444_NV = $9037;
  5140. GL_VIDEO_CAPTURE_FRAME_WIDTH_NV = $9038;
  5141. GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV = $9039;
  5142. GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV = $903A;
  5143. GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV = $903B;
  5144. GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV = $903C;
  5145. // GL_NV_shader_buffer_load
  5146. GL_BUFFER_GPU_ADDRESS_NV = $8F1D;
  5147. GL_GPU_ADDRESS_NV = $8F34;
  5148. GL_MAX_SHADER_BUFFER_ADDRESS_NV = $8F35;
  5149. // GL_NV_vertex_buffer_unified_memory
  5150. GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV = $8F1E;
  5151. GL_ELEMENT_ARRAY_UNIFIED_NV = $8F1F;
  5152. GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV = $8F20;
  5153. GL_VERTEX_ARRAY_ADDRESS_NV = $8F21;
  5154. GL_NORMAL_ARRAY_ADDRESS_NV = $8F22;
  5155. GL_COLOR_ARRAY_ADDRESS_NV = $8F23;
  5156. GL_INDEX_ARRAY_ADDRESS_NV = $8F24;
  5157. GL_TEXTURE_COORD_ARRAY_ADDRESS_NV = $8F25;
  5158. GL_EDGE_FLAG_ARRAY_ADDRESS_NV = $8F26;
  5159. GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV = $8F27;
  5160. GL_FOG_COORD_ARRAY_ADDRESS_NV = $8F28;
  5161. GL_ELEMENT_ARRAY_ADDRESS_NV = $8F29;
  5162. GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV = $8F2A;
  5163. GL_VERTEX_ARRAY_LENGTH_NV = $8F2B;
  5164. GL_NORMAL_ARRAY_LENGTH_NV = $8F2C;
  5165. GL_COLOR_ARRAY_LENGTH_NV = $8F2D;
  5166. GL_INDEX_ARRAY_LENGTH_NV = $8F2E;
  5167. GL_TEXTURE_COORD_ARRAY_LENGTH_NV = $8F2F;
  5168. GL_EDGE_FLAG_ARRAY_LENGTH_NV = $8F30;
  5169. GL_SECONDARY_COLOR_ARRAY_LENGTH_NV = $8F31;
  5170. GL_FOG_COORD_ARRAY_LENGTH_NV = $8F32;
  5171. GL_ELEMENT_ARRAY_LENGTH_NV = $8F33;
  5172. GL_DRAW_INDIRECT_UNIFIED_NV = $8F40;
  5173. GL_DRAW_INDIRECT_ADDRESS_NV = $8F41;
  5174. GL_DRAW_INDIRECT_LENGTH_NV = $8F42;
  5175. // GL_NV_gpu_program5
  5176. GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV = $8E5A;
  5177. GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV = $8E5B;
  5178. GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV = $8E5C;
  5179. GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV = $8E5D;
  5180. GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV = $8E5E;
  5181. GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV = $8E5F;
  5182. GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV = $8F44;
  5183. GL_MAX_PROGRAM_SUBROUTINE_NUM_NV = $8F45;
  5184. // GL_NV_gpu_shader5
  5185. GL_INT64_NV = $140E;
  5186. GL_UNSIGNED_INT64_NV = $140F;
  5187. GL_INT8_NV = $8FE0;
  5188. GL_INT8_VEC2_NV = $8FE1;
  5189. GL_INT8_VEC3_NV = $8FE2;
  5190. GL_INT8_VEC4_NV = $8FE3;
  5191. GL_INT16_NV = $8FE4;
  5192. GL_INT16_VEC2_NV = $8FE5;
  5193. GL_INT16_VEC3_NV = $8FE6;
  5194. GL_INT16_VEC4_NV = $8FE7;
  5195. GL_INT64_VEC2_NV = $8FE9;
  5196. GL_INT64_VEC3_NV = $8FEA;
  5197. GL_INT64_VEC4_NV = $8FEB;
  5198. GL_UNSIGNED_INT8_NV = $8FEC;
  5199. GL_UNSIGNED_INT8_VEC2_NV = $8FED;
  5200. GL_UNSIGNED_INT8_VEC3_NV = $8FEE;
  5201. GL_UNSIGNED_INT8_VEC4_NV = $8FEF;
  5202. GL_UNSIGNED_INT16_NV = $8FF0;
  5203. GL_UNSIGNED_INT16_VEC2_NV = $8FF1;
  5204. GL_UNSIGNED_INT16_VEC3_NV = $8FF2;
  5205. GL_UNSIGNED_INT16_VEC4_NV = $8FF3;
  5206. GL_UNSIGNED_INT64_VEC2_NV = $8FF5;
  5207. GL_UNSIGNED_INT64_VEC3_NV = $8FF6;
  5208. GL_UNSIGNED_INT64_VEC4_NV = $8FF7;
  5209. GL_FLOAT16_NV = $8FF8;
  5210. GL_FLOAT16_VEC2_NV = $8FF9;
  5211. GL_FLOAT16_VEC3_NV = $8FFA;
  5212. GL_FLOAT16_VEC4_NV = $8FFB;
  5213. { reuse GL_PATCHES }
  5214. // GL_NV_shader_buffer_store
  5215. GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV = $00000010;
  5216. { reuse GL_READ_WRITE }
  5217. { reuse GL_WRITE_ONLY }
  5218. // GL_NV_tessellation_program5
  5219. GL_MAX_PROGRAM_PATCH_ATTRIBS_NV = $86D8;
  5220. GL_TESS_CONTROL_PROGRAM_NV = $891E;
  5221. GL_TESS_EVALUATION_PROGRAM_NV = $891F;
  5222. GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV = $8C74;
  5223. GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV = $8C75;
  5224. // GL_NV_vertex_attrib_integer_64bit
  5225. { reuse GL_INT64_NV }
  5226. { reuse GL_UNSIGNED_INT64_NV }
  5227. // GL_NV_multisample_coverage
  5228. GL_COVERAGE_SAMPLES_NV = $80A9;
  5229. GL_COLOR_SAMPLES_NV = $8E20;
  5230. // GL_NV_vdpau_interop
  5231. GL_SURFACE_STATE_NV = $86EB;
  5232. GL_SURFACE_REGISTERED_NV = $86FD;
  5233. GL_SURFACE_MAPPED_NV = $8700;
  5234. GL_WRITE_DISCARD_NV = $88BE;
  5235. // GL_OML_interlace
  5236. GL_INTERLACE_OML = $8980;
  5237. GL_INTERLACE_READ_OML = $8981;
  5238. // GL_OML_resample
  5239. GL_PACK_RESAMPLE_OML = $8984;
  5240. GL_UNPACK_RESAMPLE_OML = $8985;
  5241. GL_RESAMPLE_REPLICATE_OML = $8986;
  5242. GL_RESAMPLE_ZERO_FILL_OML = $8987;
  5243. GL_RESAMPLE_AVERAGE_OML = $8988;
  5244. GL_RESAMPLE_DECIMATE_OML = $8989;
  5245. // GL_OML_subsample
  5246. GL_FORMAT_SUBSAMPLE_24_24_OML = $8982;
  5247. GL_FORMAT_SUBSAMPLE_244_244_OML = $8983;
  5248. // GL_OVR_multiview
  5249. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR = $9630;
  5250. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR = $9632;
  5251. GL_MAX_VIEWS_OVR = $9631;
  5252. GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR = $9633;
  5253. // GL_PGI_misc_hints
  5254. GL_PREFER_DOUBLEBUFFER_HINT_PGI = $1A1F8;
  5255. GL_CONSERVE_MEMORY_HINT_PGI = $1A1FD;
  5256. GL_RECLAIM_MEMORY_HINT_PGI = $1A1FE;
  5257. GL_NATIVE_GRAPHICS_HANDLE_PGI = $1A202;
  5258. GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI = $1A203;
  5259. GL_NATIVE_GRAPHICS_END_HINT_PGI = $1A204;
  5260. GL_ALWAYS_FAST_HINT_PGI = $1A20C;
  5261. GL_ALWAYS_SOFT_HINT_PGI = $1A20D;
  5262. GL_ALLOW_DRAW_OBJ_HINT_PGI = $1A20E;
  5263. GL_ALLOW_DRAW_WIN_HINT_PGI = $1A20F;
  5264. GL_ALLOW_DRAW_FRG_HINT_PGI = $1A210;
  5265. GL_ALLOW_DRAW_MEM_HINT_PGI = $1A211;
  5266. GL_STRICT_DEPTHFUNC_HINT_PGI = $1A216;
  5267. GL_STRICT_LIGHTING_HINT_PGI = $1A217;
  5268. GL_STRICT_SCISSOR_HINT_PGI = $1A218;
  5269. GL_FULL_STIPPLE_HINT_PGI = $1A219;
  5270. GL_CLIP_NEAR_HINT_PGI = $1A220;
  5271. GL_CLIP_FAR_HINT_PGI = $1A221;
  5272. GL_WIDE_LINE_HINT_PGI = $1A222;
  5273. GL_BACK_NORMALS_HINT_PGI = $1A223;
  5274. // GL_PGI_vertex_hints
  5275. GL_VERTEX_DATA_HINT_PGI = $1A22A;
  5276. GL_VERTEX_CONSISTENT_HINT_PGI = $1A22B;
  5277. GL_MATERIAL_SIDE_HINT_PGI = $1A22C;
  5278. GL_MAX_VERTEX_HINT_PGI = $1A22D;
  5279. GL_COLOR3_BIT_PGI = $00010000;
  5280. GL_COLOR4_BIT_PGI = $00020000;
  5281. GL_EDGEFLAG_BIT_PGI = $00040000;
  5282. GL_INDEX_BIT_PGI = $00080000;
  5283. GL_MAT_AMBIENT_BIT_PGI = $00100000;
  5284. GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = $00200000;
  5285. GL_MAT_DIFFUSE_BIT_PGI = $00400000;
  5286. GL_MAT_EMISSION_BIT_PGI = $00800000;
  5287. GL_MAT_COLOR_INDEXES_BIT_PGI = $01000000;
  5288. GL_MAT_SHININESS_BIT_PGI = $02000000;
  5289. GL_MAT_SPECULAR_BIT_PGI = $04000000;
  5290. GL_NORMAL_BIT_PGI = $08000000;
  5291. GL_TEXCOORD1_BIT_PGI = $10000000;
  5292. GL_TEXCOORD2_BIT_PGI = $20000000;
  5293. GL_TEXCOORD3_BIT_PGI = $40000000;
  5294. GL_TEXCOORD4_BIT_PGI = $80000000;
  5295. GL_VERTEX23_BIT_PGI = $00000004;
  5296. GL_VERTEX4_BIT_PGI = $00000008;
  5297. // GL_REND_screen_coordinates
  5298. GL_SCREEN_COORDINATES_REND = $8490;
  5299. GL_INVERTED_SCREEN_W_REND = $8491;
  5300. // GL_S3_s3tc
  5301. GL_RGB_S3TC = $83A0;
  5302. GL_RGB4_S3TC = $83A1;
  5303. GL_RGBA_S3TC = $83A2;
  5304. GL_RGBA4_S3TC = $83A3;
  5305. // GL_SGIS_detail_texture
  5306. GL_DETAIL_TEXTURE_2D_SGIS = $8095;
  5307. GL_DETAIL_TEXTURE_2D_BINDING_SGIS = $8096;
  5308. GL_LINEAR_DETAIL_SGIS = $8097;
  5309. GL_LINEAR_DETAIL_ALPHA_SGIS = $8098;
  5310. GL_LINEAR_DETAIL_COLOR_SGIS = $8099;
  5311. GL_DETAIL_TEXTURE_LEVEL_SGIS = $809A;
  5312. GL_DETAIL_TEXTURE_MODE_SGIS = $809B;
  5313. GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS = $809C;
  5314. // GL_SGIS_fog_function
  5315. GL_FOG_FUNC_SGIS = $812A;
  5316. GL_FOG_FUNC_POINTS_SGIS = $812B;
  5317. GL_MAX_FOG_FUNC_POINTS_SGIS = $812C;
  5318. // GL_SGIS_generate_mipmap
  5319. GL_GENERATE_MIPMAP_SGIS = $8191;
  5320. GL_GENERATE_MIPMAP_HINT_SGIS = $8192;
  5321. // GL_SGIS_multisample
  5322. GL_MULTISAMPLE_SGIS = $809D;
  5323. GL_SAMPLE_ALPHA_TO_MASK_SGIS = $809E;
  5324. GL_SAMPLE_ALPHA_TO_ONE_SGIS = $809F;
  5325. GL_SAMPLE_MASK_SGIS = $80A0;
  5326. GL_1PASS_SGIS = $80A1;
  5327. GL_2PASS_0_SGIS = $80A2;
  5328. GL_2PASS_1_SGIS = $80A3;
  5329. GL_4PASS_0_SGIS = $80A4;
  5330. GL_4PASS_1_SGIS = $80A5;
  5331. GL_4PASS_2_SGIS = $80A6;
  5332. GL_4PASS_3_SGIS = $80A7;
  5333. GL_SAMPLE_BUFFERS_SGIS = $80A8;
  5334. GL_SAMPLES_SGIS = $80A9;
  5335. GL_SAMPLE_MASK_VALUE_SGIS = $80AA;
  5336. GL_SAMPLE_MASK_INVERT_SGIS = $80AB;
  5337. GL_SAMPLE_PATTERN_SGIS = $80AC;
  5338. // GL_SGIS_pixel_texture
  5339. GL_PIXEL_TEXTURE_SGIS = $8353;
  5340. GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS = $8354;
  5341. GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = $8355;
  5342. GL_PIXEL_GROUP_COLOR_SGIS = $8356;
  5343. // GL_SGIS_point_line_texgen
  5344. GL_EYE_DISTANCE_TO_POINT_SGIS = $81F0;
  5345. GL_OBJECT_DISTANCE_TO_POINT_SGIS = $81F1;
  5346. GL_EYE_DISTANCE_TO_LINE_SGIS = $81F2;
  5347. GL_OBJECT_DISTANCE_TO_LINE_SGIS = $81F3;
  5348. GL_EYE_POINT_SGIS = $81F4;
  5349. GL_OBJECT_POINT_SGIS = $81F5;
  5350. GL_EYE_LINE_SGIS = $81F6;
  5351. GL_OBJECT_LINE_SGIS = $81F7;
  5352. // GL_SGIS_point_parameters
  5353. GL_POINT_SIZE_MIN_SGIS = $8126;
  5354. GL_POINT_SIZE_MAX_SGIS = $8127;
  5355. GL_POINT_FADE_THRESHOLD_SIZE_SGIS = $8128;
  5356. GL_DISTANCE_ATTENUATION_SGIS = $8129;
  5357. // GL_SGIS_sharpen_texture
  5358. GL_LINEAR_SHARPEN_SGIS = $80AD;
  5359. GL_LINEAR_SHARPEN_ALPHA_SGIS = $80AE;
  5360. GL_LINEAR_SHARPEN_COLOR_SGIS = $80AF;
  5361. GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS = $80B0;
  5362. // GL_SGIS_texture4D
  5363. GL_PACK_SKIP_VOLUMES_SGIS = $8130;
  5364. GL_PACK_IMAGE_DEPTH_SGIS = $8131;
  5365. GL_UNPACK_SKIP_VOLUMES_SGIS = $8132;
  5366. GL_UNPACK_IMAGE_DEPTH_SGIS = $8133;
  5367. GL_TEXTURE_4D_SGIS = $8134;
  5368. GL_PROXY_TEXTURE_4D_SGIS = $8135;
  5369. GL_TEXTURE_4DSIZE_SGIS = $8136;
  5370. GL_TEXTURE_WRAP_Q_SGIS = $8137;
  5371. GL_MAX_4D_TEXTURE_SIZE_SGIS = $8138;
  5372. GL_TEXTURE_4D_BINDING_SGIS = $814F;
  5373. // GL_SGIS_texture_color_mask
  5374. GL_TEXTURE_COLOR_WRITEMASK_SGIS = $81EF;
  5375. // GL_SGIS_texture_edge_clamp
  5376. GL_CLAMP_TO_EDGE_SGIS = $812F;
  5377. // GL_SGIS_texture_filter4
  5378. GL_FILTER4_SGIS = $8146;
  5379. GL_TEXTURE_FILTER4_SIZE_SGIS = $8147;
  5380. // GL_SGIS_texture_lod
  5381. GL_TEXTURE_MIN_LOD_SGIS = $813A;
  5382. GL_TEXTURE_MAX_LOD_SGIS = $813B;
  5383. GL_TEXTURE_BASE_LEVEL_SGIS = $813C;
  5384. GL_TEXTURE_MAX_LEVEL_SGIS = $813D;
  5385. // GL_SGIS_texture_select
  5386. GL_DUAL_ALPHA4_SGIS = $8110;
  5387. GL_DUAL_ALPHA8_SGIS = $8111;
  5388. GL_DUAL_ALPHA12_SGIS = $8112;
  5389. GL_DUAL_ALPHA16_SGIS = $8113;
  5390. GL_DUAL_LUMINANCE4_SGIS = $8114;
  5391. GL_DUAL_LUMINANCE8_SGIS = $8115;
  5392. GL_DUAL_LUMINANCE12_SGIS = $8116;
  5393. GL_DUAL_LUMINANCE16_SGIS = $8117;
  5394. GL_DUAL_INTENSITY4_SGIS = $8118;
  5395. GL_DUAL_INTENSITY8_SGIS = $8119;
  5396. GL_DUAL_INTENSITY12_SGIS = $811A;
  5397. GL_DUAL_INTENSITY16_SGIS = $811B;
  5398. GL_DUAL_LUMINANCE_ALPHA4_SGIS = $811C;
  5399. GL_DUAL_LUMINANCE_ALPHA8_SGIS = $811D;
  5400. GL_QUAD_ALPHA4_SGIS = $811E;
  5401. GL_QUAD_ALPHA8_SGIS = $811F;
  5402. GL_QUAD_LUMINANCE4_SGIS = $8120;
  5403. GL_QUAD_LUMINANCE8_SGIS = $8121;
  5404. GL_QUAD_INTENSITY4_SGIS = $8122;
  5405. GL_QUAD_INTENSITY8_SGIS = $8123;
  5406. GL_DUAL_TEXTURE_SELECT_SGIS = $8124;
  5407. GL_QUAD_TEXTURE_SELECT_SGIS = $8125;
  5408. // GL_SGIX_async
  5409. GL_ASYNC_MARKER_SGIX = $8329;
  5410. // GL_SGIX_async_histogram
  5411. GL_ASYNC_HISTOGRAM_SGIX = $832C;
  5412. GL_MAX_ASYNC_HISTOGRAM_SGIX = $832D;
  5413. // GL_SGIX_async_pixel
  5414. GL_ASYNC_TEX_IMAGE_SGIX = $835C;
  5415. GL_ASYNC_DRAW_PIXELS_SGIX = $835D;
  5416. GL_ASYNC_READ_PIXELS_SGIX = $835E;
  5417. GL_MAX_ASYNC_TEX_IMAGE_SGIX = $835F;
  5418. GL_MAX_ASYNC_DRAW_PIXELS_SGIX = $8360;
  5419. GL_MAX_ASYNC_READ_PIXELS_SGIX = $8361;
  5420. // GL_SGIX_blend_alpha_minmax
  5421. GL_ALPHA_MIN_SGIX = $8320;
  5422. GL_ALPHA_MAX_SGIX = $8321;
  5423. // GL_SGIX_calligraphic_fragment
  5424. GL_CALLIGRAPHIC_FRAGMENT_SGIX = $8183;
  5425. // GL_SGIX_clipmap
  5426. GL_LINEAR_CLIPMAP_LINEAR_SGIX = $8170;
  5427. GL_TEXTURE_CLIPMAP_CENTER_SGIX = $8171;
  5428. GL_TEXTURE_CLIPMAP_FRAME_SGIX = $8172;
  5429. GL_TEXTURE_CLIPMAP_OFFSET_SGIX = $8173;
  5430. GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = $8174;
  5431. GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = $8175;
  5432. GL_TEXTURE_CLIPMAP_DEPTH_SGIX = $8176;
  5433. GL_MAX_CLIPMAP_DEPTH_SGIX = $8177;
  5434. GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = $8178;
  5435. GL_NEAREST_CLIPMAP_NEAREST_SGIX = $844D;
  5436. GL_NEAREST_CLIPMAP_LINEAR_SGIX = $844E;
  5437. GL_LINEAR_CLIPMAP_NEAREST_SGIX = $844F;
  5438. // GL_SGIX_convolution_accuracy
  5439. GL_CONVOLUTION_HINT_SGIX = $8316;
  5440. // GL_SGIX_depth_texture
  5441. GL_DEPTH_COMPONENT16_SGIX = $81A5;
  5442. GL_DEPTH_COMPONENT24_SGIX = $81A6;
  5443. GL_DEPTH_COMPONENT32_SGIX = $81A7;
  5444. // GL_SGIX_fog_offset
  5445. GL_FOG_OFFSET_SGIX = $8198;
  5446. GL_FOG_OFFSET_VALUE_SGIX = $8199;
  5447. // GL_SGIX_fog_scale
  5448. GL_FOG_SCALE_SGIX = $81FC;
  5449. GL_FOG_SCALE_VALUE_SGIX = $81FD;
  5450. // GL_SGIX_fragment_lighting
  5451. GL_FRAGMENT_LIGHTING_SGIX = $8400;
  5452. GL_FRAGMENT_COLOR_MATERIAL_SGIX = $8401;
  5453. GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX = $8402;
  5454. GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = $8403;
  5455. GL_MAX_FRAGMENT_LIGHTS_SGIX = $8404;
  5456. GL_MAX_ACTIVE_LIGHTS_SGIX = $8405;
  5457. GL_CURRENT_RASTER_NORMAL_SGIX = $8406;
  5458. GL_LIGHT_ENV_MODE_SGIX = $8407;
  5459. GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = $8408;
  5460. GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = $8409;
  5461. GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = $840A;
  5462. GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = $840B;
  5463. GL_FRAGMENT_LIGHT0_SGIX = $840C;
  5464. GL_FRAGMENT_LIGHT1_SGIX = $840D;
  5465. GL_FRAGMENT_LIGHT2_SGIX = $840E;
  5466. GL_FRAGMENT_LIGHT3_SGIX = $840F;
  5467. GL_FRAGMENT_LIGHT4_SGIX = $8410;
  5468. GL_FRAGMENT_LIGHT5_SGIX = $8411;
  5469. GL_FRAGMENT_LIGHT6_SGIX = $8412;
  5470. GL_FRAGMENT_LIGHT7_SGIX = $8413;
  5471. // GL_SGIX_framezoom
  5472. GL_FRAMEZOOM_SGIX = $818B;
  5473. GL_FRAMEZOOM_FACTOR_SGIX = $818C;
  5474. GL_MAX_FRAMEZOOM_FACTOR_SGIX = $818D;
  5475. // GL_SGIX_impact_pixel_texture
  5476. GL_PIXEL_TEX_GEN_Q_CEILING_SGIX = $8184;
  5477. GL_PIXEL_TEX_GEN_Q_ROUND_SGIX = $8185;
  5478. GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX = $8186;
  5479. GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX = $8187;
  5480. GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX = $8188;
  5481. GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX = $8189;
  5482. GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX = $818A;
  5483. // GL_SGIX_instruments
  5484. GL_INSTRUMENT_BUFFER_POINTER_SGIX = $8180;
  5485. GL_INSTRUMENT_MEASUREMENTS_SGIX = $8181;
  5486. // GL_SGIX_interlace
  5487. GL_INTERLACE_SGIX = $8094;
  5488. // GL_SGIX_ir_instrument1
  5489. GL_IR_INSTRUMENT1_SGIX = $817F;
  5490. // GL_SGIX_list_priority
  5491. GL_LIST_PRIORITY_SGIX = $8182;
  5492. // GL_SGIX_pixel_texture
  5493. GL_PIXEL_TEX_GEN_SGIX = $8139;
  5494. GL_PIXEL_TEX_GEN_MODE_SGIX = $832B;
  5495. // GL_SGIX_pixel_tiles
  5496. GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX = $813E;
  5497. GL_PIXEL_TILE_CACHE_INCREMENT_SGIX = $813F;
  5498. GL_PIXEL_TILE_WIDTH_SGIX = $8140;
  5499. GL_PIXEL_TILE_HEIGHT_SGIX = $8141;
  5500. GL_PIXEL_TILE_GRID_WIDTH_SGIX = $8142;
  5501. GL_PIXEL_TILE_GRID_HEIGHT_SGIX = $8143;
  5502. GL_PIXEL_TILE_GRID_DEPTH_SGIX = $8144;
  5503. GL_PIXEL_TILE_CACHE_SIZE_SGIX = $8145;
  5504. // GL_SGIX_polynomial_ffd
  5505. GL_GEOMETRY_DEFORMATION_SGIX = $8194;
  5506. GL_TEXTURE_DEFORMATION_SGIX = $8195;
  5507. GL_DEFORMATIONS_MASK_SGIX = $8196;
  5508. GL_MAX_DEFORMATION_ORDER_SGIX = $8197;
  5509. // GL_SGIX_reference_plane
  5510. GL_REFERENCE_PLANE_SGIX = $817D;
  5511. GL_REFERENCE_PLANE_EQUATION_SGIX = $817E;
  5512. // GL_SGIX_resample
  5513. GL_PACK_RESAMPLE_SGIX = $842C;
  5514. GL_UNPACK_RESAMPLE_SGIX = $842D;
  5515. GL_RESAMPLE_REPLICATE_SGIX = $842E;
  5516. GL_RESAMPLE_ZERO_FILL_SGIX = $842F;
  5517. GL_RESAMPLE_DECIMATE_SGIX = $8430;
  5518. // GL_SGIX_scalebias_hint
  5519. GL_SCALEBIAS_HINT_SGIX = $8322;
  5520. // GL_SGIX_shadow
  5521. GL_TEXTURE_COMPARE_SGIX = $819A;
  5522. GL_TEXTURE_COMPARE_OPERATOR_SGIX = $819B;
  5523. GL_TEXTURE_LEQUAL_R_SGIX = $819C;
  5524. GL_TEXTURE_GEQUAL_R_SGIX = $819D;
  5525. // GL_SGIX_shadow_ambient
  5526. GL_SHADOW_AMBIENT_SGIX = $80BF;
  5527. // GL_SGIX_sprite
  5528. GL_SPRITE_SGIX = $8148;
  5529. GL_SPRITE_MODE_SGIX = $8149;
  5530. GL_SPRITE_AXIS_SGIX = $814A;
  5531. GL_SPRITE_TRANSLATION_SGIX = $814B;
  5532. GL_SPRITE_AXIAL_SGIX = $814C;
  5533. GL_SPRITE_OBJECT_ALIGNED_SGIX = $814D;
  5534. GL_SPRITE_EYE_ALIGNED_SGIX = $814E;
  5535. // GL_SGIX_subsample
  5536. GL_PACK_SUBSAMPLE_RATE_SGIX = $85A0;
  5537. GL_UNPACK_SUBSAMPLE_RATE_SGIX = $85A1;
  5538. GL_PIXEL_SUBSAMPLE_4444_SGIX = $85A2;
  5539. GL_PIXEL_SUBSAMPLE_2424_SGIX = $85A3;
  5540. GL_PIXEL_SUBSAMPLE_4242_SGIX = $85A4;
  5541. // GL_SGIX_texture_add_env
  5542. GL_TEXTURE_ENV_BIAS_SGIX = $80BE;
  5543. // GL_SGIX_texture_coordinate_clamp
  5544. GL_TEXTURE_MAX_CLAMP_S_SGIX = $8369;
  5545. GL_TEXTURE_MAX_CLAMP_T_SGIX = $836A;
  5546. GL_TEXTURE_MAX_CLAMP_R_SGIX = $836B;
  5547. // GL_SGIX_texture_lod_bias
  5548. GL_TEXTURE_LOD_BIAS_S_SGIX = $818E;
  5549. GL_TEXTURE_LOD_BIAS_T_SGIX = $818F;
  5550. GL_TEXTURE_LOD_BIAS_R_SGIX = $8190;
  5551. // GL_SGIX_texture_multi_buffer
  5552. GL_TEXTURE_MULTI_BUFFER_HINT_SGIX = $812E;
  5553. // GL_SGIX_texture_scale_bias
  5554. GL_POST_TEXTURE_FILTER_BIAS_SGIX = $8179;
  5555. GL_POST_TEXTURE_FILTER_SCALE_SGIX = $817A;
  5556. GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = $817B;
  5557. GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = $817C;
  5558. // GL_SGIX_vertex_preclip
  5559. GL_VERTEX_PRECLIP_SGIX = $83EE;
  5560. GL_VERTEX_PRECLIP_HINT_SGIX = $83EF;
  5561. // GL_SGIX_ycrcb
  5562. GL_YCRCB_422_SGIX = $81BB;
  5563. GL_YCRCB_444_SGIX = $81BC;
  5564. // GL_SGIX_ycrcba
  5565. GL_YCRCB_SGIX = $8318;
  5566. GL_YCRCBA_SGIX = $8319;
  5567. // GL_SGI_color_matrix
  5568. GL_COLOR_MATRIX_SGI = $80B1;
  5569. GL_COLOR_MATRIX_STACK_DEPTH_SGI = $80B2;
  5570. GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI = $80B3;
  5571. GL_POST_COLOR_MATRIX_RED_SCALE_SGI = $80B4;
  5572. GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI = $80B5;
  5573. GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI = $80B6;
  5574. GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI = $80B7;
  5575. GL_POST_COLOR_MATRIX_RED_BIAS_SGI = $80B8;
  5576. GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI = $80B9;
  5577. GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI = $80BA;
  5578. GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI = $80BB;
  5579. // GL_SGI_color_table
  5580. GL_COLOR_TABLE_SGI = $80D0;
  5581. GL_POST_CONVOLUTION_COLOR_TABLE_SGI = $80D1;
  5582. GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI = $80D2;
  5583. GL_PROXY_COLOR_TABLE_SGI = $80D3;
  5584. GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = $80D4;
  5585. GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = $80D5;
  5586. GL_COLOR_TABLE_SCALE_SGI = $80D6;
  5587. GL_COLOR_TABLE_BIAS_SGI = $80D7;
  5588. GL_COLOR_TABLE_FORMAT_SGI = $80D8;
  5589. GL_COLOR_TABLE_WIDTH_SGI = $80D9;
  5590. GL_COLOR_TABLE_RED_SIZE_SGI = $80DA;
  5591. GL_COLOR_TABLE_GREEN_SIZE_SGI = $80DB;
  5592. GL_COLOR_TABLE_BLUE_SIZE_SGI = $80DC;
  5593. GL_COLOR_TABLE_ALPHA_SIZE_SGI = $80DD;
  5594. GL_COLOR_TABLE_LUMINANCE_SIZE_SGI = $80DE;
  5595. GL_COLOR_TABLE_INTENSITY_SIZE_SGI = $80DF;
  5596. // GL_SGI_depth_pass_instrument
  5597. GL_DEPTH_PASS_INSTRUMENT_SGIX = $8310;
  5598. GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX = $8311;
  5599. GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX = $8312;
  5600. // GL_SGI_texture_color_table
  5601. GL_TEXTURE_COLOR_TABLE_SGI = $80BC;
  5602. GL_PROXY_TEXTURE_COLOR_TABLE_SGI = $80BD;
  5603. // GL_SUNX_constant_data
  5604. GL_UNPACK_CONSTANT_DATA_SUNX = $81D5;
  5605. GL_TEXTURE_CONSTANT_DATA_SUNX = $81D6;
  5606. // GL_SUN_convolution_border_modes
  5607. GL_WRAP_BORDER_SUN = $81D4;
  5608. // GL_SUN_global_alpha
  5609. GL_GLOBAL_ALPHA_SUN = $81D9;
  5610. GL_GLOBAL_ALPHA_FACTOR_SUN = $81DA;
  5611. // GL_SUN_mesh_array
  5612. GL_QUAD_MESH_SUN = $8614;
  5613. GL_TRIANGLE_MESH_SUN = $8615;
  5614. // GL_SUN_slice_accum
  5615. GL_SLICE_ACCUM_SUN = $85CC;
  5616. // GL_SUN_triangle_list
  5617. GL_RESTART_SUN = $0001;
  5618. GL_REPLACE_MIDDLE_SUN = $0002;
  5619. GL_REPLACE_OLDEST_SUN = $0003;
  5620. GL_TRIANGLE_LIST_SUN = $81D7;
  5621. GL_REPLACEMENT_CODE_SUN = $81D8;
  5622. GL_REPLACEMENT_CODE_ARRAY_SUN = $85C0;
  5623. GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN = $85C1;
  5624. GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN = $85C2;
  5625. GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN = $85C3;
  5626. GL_R1UI_V3F_SUN = $85C4;
  5627. GL_R1UI_C4UB_V3F_SUN = $85C5;
  5628. GL_R1UI_C3F_V3F_SUN = $85C6;
  5629. GL_R1UI_N3F_V3F_SUN = $85C7;
  5630. GL_R1UI_C4F_N3F_V3F_SUN = $85C8;
  5631. GL_R1UI_T2F_V3F_SUN = $85C9;
  5632. GL_R1UI_T2F_N3F_V3F_SUN = $85CA;
  5633. GL_R1UI_T2F_C4F_N3F_V3F_SUN = $85CB;
  5634. // GL_WIN_phong_shading
  5635. GL_PHONG_WIN = $80EA;
  5636. GL_PHONG_HINT_WIN = $80EB;
  5637. // GL_WIN_specular_fog
  5638. GL_FOG_SPECULAR_TEXTURE_WIN = $80EC;
  5639. // GL_ARB_vertex_shader
  5640. GL_VERTEX_SHADER_ARB = $8B31;
  5641. GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB = $8B4A;
  5642. GL_MAX_VARYING_FLOATS_ARB = $8B4B;
  5643. GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = $8B4C;
  5644. GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = $8B4D;
  5645. GL_OBJECT_ACTIVE_ATTRIBUTES_ARB = $8B89;
  5646. GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = $8B8A;
  5647. // GL_KHR_blend_equation_advanced
  5648. GL_MULTIPLY_KHR = $9294;
  5649. GL_SCREEN_KHR = $9295;
  5650. GL_OVERLAY_KHR = $9296;
  5651. GL_DARKEN_KHR = $9297;
  5652. GL_LIGHTEN_KHR = $9298;
  5653. GL_COLORDODGE_KHR = $9299;
  5654. GL_COLORBURN_KHR = $929A;
  5655. GL_HARDLIGHT_KHR = $929B;
  5656. GL_SOFTLIGHT_KHR = $929C;
  5657. GL_DIFFERENCE_KHR = $929E;
  5658. GL_EXCLUSION_KHR = $92A0;
  5659. GL_HSL_HUE_KHR = $92AD;
  5660. GL_HSL_SATURATION_KHR = $92AE;
  5661. GL_HSL_COLOR_KHR = $92AF;
  5662. GL_HSL_LUMINOSITY_KHR = $92B0;
  5663. // GL_KHR_blend_equation_advanced_coherent
  5664. GL_BLEND_ADVANCED_COHERENT_KHR = $9285;
  5665. // GL_KHR_robustness
  5666. GL_CONTEXT_ROBUST_ACCESS = $90F3;
  5667. // GL_KHR_no_error
  5668. GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR = $00000008;
  5669. // GL_ARB_fragment_shader
  5670. GL_FRAGMENT_SHADER_ARB = $8B30;
  5671. GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = $8B49; // 1.4
  5672. GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = $8B8B; // 1.4
  5673. // GL_ARB_occlusion_query
  5674. GL_SAMPLES_PASSED_ARB = $8914;
  5675. GL_QUERY_COUNTER_BITS_ARB = $8864;
  5676. GL_CURRENT_QUERY_ARB = $8865;
  5677. GL_QUERY_RESULT_ARB = $8866;
  5678. GL_QUERY_RESULT_AVAILABLE_ARB = $8867;
  5679. // GL_ARB_pipeline_statistics_query
  5680. GL_VERTICES_SUBMITTED_ARB = $82EE;
  5681. GL_PRIMITIVES_SUBMITTED_ARB = $82EF;
  5682. GL_VERTEX_SHADER_INVOCATIONS_ARB = $82F0;
  5683. GL_TESS_CONTROL_SHADER_PATCHES_ARB = $82F1;
  5684. GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB = $82F2;
  5685. GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB = $82F3;
  5686. GL_FRAGMENT_SHADER_INVOCATIONS_ARB = $82F4;
  5687. GL_COMPUTE_SHADER_INVOCATIONS_ARB = $82F5;
  5688. GL_CLIPPING_INPUT_PRIMITIVES_ARB = $82F6;
  5689. GL_CLIPPING_OUTPUT_PRIMITIVES_ARB = $82F7;
  5690. // GL_ARB_point_sprite
  5691. GL_POINT_SPRITE_ARB = $8861;
  5692. GL_COORD_REPLACE_ARB = $8862;
  5693. // GL_ARB_shading_language_100
  5694. GL_SHADING_LANGUAGE_VERSION_ARB = $8B8C; // 1.4
  5695. // GL_ARB_shader_objects
  5696. GL_PROGRAM_OBJECT_ARB = $8B40;
  5697. GL_OBJECT_TYPE_ARB = $8B4E;
  5698. GL_OBJECT_SUBTYPE_ARB = $8B4F;
  5699. GL_OBJECT_DELETE_STATUS_ARB = $8B80;
  5700. GL_OBJECT_COMPILE_STATUS_ARB = $8B81;
  5701. GL_OBJECT_LINK_STATUS_ARB = $8B82;
  5702. GL_OBJECT_VALIDATE_STATUS_ARB = $8B83;
  5703. GL_OBJECT_INFO_LOG_LENGTH_ARB = $8B84;
  5704. GL_OBJECT_ATTACHED_OBJECTS_ARB = $8B85;
  5705. GL_OBJECT_ACTIVE_UNIFORMS_ARB = $8B86;
  5706. GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = $8B87;
  5707. GL_OBJECT_SHADER_SOURCE_LENGTH_ARB = $8B88;
  5708. GL_SHADER_OBJECT_ARB = $8B48;
  5709. GL_FLOAT_VEC2_ARB = $8B50;
  5710. GL_FLOAT_VEC3_ARB = $8B51;
  5711. GL_FLOAT_VEC4_ARB = $8B52;
  5712. GL_INT_VEC2_ARB = $8B53;
  5713. GL_INT_VEC3_ARB = $8B54;
  5714. GL_INT_VEC4_ARB = $8B55;
  5715. GL_BOOL_ARB = $8B56;
  5716. GL_BOOL_VEC2_ARB = $8B57;
  5717. GL_BOOL_VEC3_ARB = $8B58;
  5718. GL_BOOL_VEC4_ARB = $8B59;
  5719. GL_FLOAT_MAT2_ARB = $8B5A;
  5720. GL_FLOAT_MAT3_ARB = $8B5B;
  5721. GL_FLOAT_MAT4_ARB = $8B5C;
  5722. GL_SAMPLER_1D_ARB = $8B5D;
  5723. GL_SAMPLER_2D_ARB = $8B5E;
  5724. GL_SAMPLER_3D_ARB = $8B5F;
  5725. GL_SAMPLER_CUBE_ARB = $8B60;
  5726. GL_SAMPLER_1D_SHADOW_ARB = $8B61;
  5727. GL_SAMPLER_2D_SHADOW_ARB = $8B62;
  5728. GL_SAMPLER_2D_RECT_ARB = $8B63;
  5729. GL_SAMPLER_2D_RECT_SHADOW_ARB = $8B64;
  5730. // WGL_3DFX_multisample
  5731. WGL_SAMPLE_BUFFERS_3DFX = $2060;
  5732. WGL_SAMPLES_3DFX = $2061;
  5733. // WGL_ARB_buffer_region
  5734. WGL_FRONT_COLOR_BUFFER_BIT_ARB = $00000001;
  5735. WGL_BACK_COLOR_BUFFER_BIT_ARB = $00000002;
  5736. WGL_DEPTH_BUFFER_BIT_ARB = $00000004;
  5737. WGL_STENCIL_BUFFER_BIT_ARB = $00000008;
  5738. // WGL_ARB_context_flush_control
  5739. WGL_CONTEXT_RELEASE_BEHAVIOR_ARB = $2097;
  5740. WGL_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB = 0;
  5741. WGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB = $2098;
  5742. // WGL_ARB_make_current_read
  5743. ERROR_INVALID_PIXEL_TYPE_ARB = $2043;
  5744. ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB = $2054;
  5745. // WGL_ARB_multisample
  5746. WGL_SAMPLE_BUFFERS_ARB = $2041;
  5747. WGL_SAMPLES_ARB = $2042;
  5748. // WGL_ARB_pbuffer
  5749. WGL_DRAW_TO_PBUFFER_ARB = $202D;
  5750. WGL_MAX_PBUFFER_PIXELS_ARB = $202E;
  5751. WGL_MAX_PBUFFER_WIDTH_ARB = $202F;
  5752. WGL_MAX_PBUFFER_HEIGHT_ARB = $2030;
  5753. WGL_PBUFFER_LARGEST_ARB = $2033;
  5754. WGL_PBUFFER_WIDTH_ARB = $2034;
  5755. WGL_PBUFFER_HEIGHT_ARB = $2035;
  5756. WGL_PBUFFER_LOST_ARB = $2036;
  5757. // WGL_ARB_pixel_format
  5758. WGL_NUMBER_PIXEL_FORMATS_ARB = $2000;
  5759. WGL_DRAW_TO_WINDOW_ARB = $2001;
  5760. WGL_DRAW_TO_BITMAP_ARB = $2002;
  5761. WGL_ACCELERATION_ARB = $2003;
  5762. WGL_NEED_PALETTE_ARB = $2004;
  5763. WGL_NEED_SYSTEM_PALETTE_ARB = $2005;
  5764. WGL_SWAP_LAYER_BUFFERS_ARB = $2006;
  5765. WGL_SWAP_METHOD_ARB = $2007;
  5766. WGL_NUMBER_OVERLAYS_ARB = $2008;
  5767. WGL_NUMBER_UNDERLAYS_ARB = $2009;
  5768. WGL_TRANSPARENT_ARB = $200A;
  5769. WGL_TRANSPARENT_RED_VALUE_ARB = $2037;
  5770. WGL_TRANSPARENT_GREEN_VALUE_ARB = $2038;
  5771. WGL_TRANSPARENT_BLUE_VALUE_ARB = $2039;
  5772. WGL_TRANSPARENT_ALPHA_VALUE_ARB = $203A;
  5773. WGL_TRANSPARENT_INDEX_VALUE_ARB = $203B;
  5774. WGL_SHARE_DEPTH_ARB = $200C;
  5775. WGL_SHARE_STENCIL_ARB = $200D;
  5776. WGL_SHARE_ACCUM_ARB = $200E;
  5777. WGL_SUPPORT_GDI_ARB = $200F;
  5778. WGL_SUPPORT_OPENGL_ARB = $2010;
  5779. WGL_DOUBLE_BUFFER_ARB = $2011;
  5780. WGL_STEREO_ARB = $2012;
  5781. WGL_PIXEL_TYPE_ARB = $2013;
  5782. WGL_COLOR_BITS_ARB = $2014;
  5783. WGL_RED_BITS_ARB = $2015;
  5784. WGL_RED_SHIFT_ARB = $2016;
  5785. WGL_GREEN_BITS_ARB = $2017;
  5786. WGL_GREEN_SHIFT_ARB = $2018;
  5787. WGL_BLUE_BITS_ARB = $2019;
  5788. WGL_BLUE_SHIFT_ARB = $201A;
  5789. WGL_ALPHA_BITS_ARB = $201B;
  5790. WGL_ALPHA_SHIFT_ARB = $201C;
  5791. WGL_ACCUM_BITS_ARB = $201D;
  5792. WGL_ACCUM_RED_BITS_ARB = $201E;
  5793. WGL_ACCUM_GREEN_BITS_ARB = $201F;
  5794. WGL_ACCUM_BLUE_BITS_ARB = $2020;
  5795. WGL_ACCUM_ALPHA_BITS_ARB = $2021;
  5796. WGL_DEPTH_BITS_ARB = $2022;
  5797. WGL_STENCIL_BITS_ARB = $2023;
  5798. WGL_AUX_BUFFERS_ARB = $2024;
  5799. WGL_NO_ACCELERATION_ARB = $2025;
  5800. WGL_GENERIC_ACCELERATION_ARB = $2026;
  5801. WGL_FULL_ACCELERATION_ARB = $2027;
  5802. WGL_SWAP_EXCHANGE_ARB = $2028;
  5803. WGL_SWAP_COPY_ARB = $2029;
  5804. WGL_SWAP_UNDEFINED_ARB = $202A;
  5805. WGL_TYPE_RGBA_ARB = $202B;
  5806. WGL_TYPE_COLORINDEX_ARB = $202C;
  5807. // WGL_ARB_pixel_format_float
  5808. WGL_RGBA_FLOAT_MODE_ARB = $8820;
  5809. WGL_CLAMP_VERTEX_COLOR_ARB = $891A;
  5810. WGL_CLAMP_FRAGMENT_COLOR_ARB = $891B;
  5811. WGL_CLAMP_READ_COLOR_ARB = $891C;
  5812. WGL_FIXED_ONLY_ARB = $891D;
  5813. // WGL_ARB_render_texture
  5814. WGL_BIND_TO_TEXTURE_RGB_ARB = $2070;
  5815. WGL_BIND_TO_TEXTURE_RGBA_ARB = $2071;
  5816. WGL_TEXTURE_FORMAT_ARB = $2072;
  5817. WGL_TEXTURE_TARGET_ARB = $2073;
  5818. WGL_MIPMAP_TEXTURE_ARB = $2074;
  5819. WGL_TEXTURE_RGB_ARB = $2075;
  5820. WGL_TEXTURE_RGBA_ARB = $2076;
  5821. WGL_NO_TEXTURE_ARB = $2077;
  5822. WGL_TEXTURE_CUBE_MAP_ARB = $2078;
  5823. WGL_TEXTURE_1D_ARB = $2079;
  5824. WGL_TEXTURE_2D_ARB = $207A;
  5825. WGL_MIPMAP_LEVEL_ARB = $207B;
  5826. WGL_CUBE_MAP_FACE_ARB = $207C;
  5827. WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = $207D;
  5828. WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = $207E;
  5829. WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = $207F;
  5830. WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = $2080;
  5831. WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = $2081;
  5832. WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = $2082;
  5833. WGL_FRONT_LEFT_ARB = $2083;
  5834. WGL_FRONT_RIGHT_ARB = $2084;
  5835. WGL_BACK_LEFT_ARB = $2085;
  5836. WGL_BACK_RIGHT_ARB = $2086;
  5837. WGL_AUX0_ARB = $2087;
  5838. WGL_AUX1_ARB = $2088;
  5839. WGL_AUX2_ARB = $2089;
  5840. WGL_AUX3_ARB = $208A;
  5841. WGL_AUX4_ARB = $208B;
  5842. WGL_AUX5_ARB = $208C;
  5843. WGL_AUX6_ARB = $208D;
  5844. WGL_AUX7_ARB = $208E;
  5845. WGL_AUX8_ARB = $208F;
  5846. WGL_AUX9_ARB = $2090;
  5847. // WGL_ARB_robustness_application_isolation
  5848. WGL_CONTEXT_RESET_ISOLATION_BIT_ARB = $00000008;
  5849. // WGL_ARB_create_context
  5850. WGL_CONTEXT_DEBUG_BIT_ARB = $00000001;
  5851. WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB = $00000002;
  5852. WGL_CONTEXT_MAJOR_VERSION_ARB = $2091;
  5853. WGL_CONTEXT_MINOR_VERSION_ARB = $2092;
  5854. WGL_CONTEXT_LAYER_PLANE_ARB = $2093;
  5855. WGL_CONTEXT_FLAGS_ARB = $2094;
  5856. ERROR_INVALID_VERSION_ARB = $2095;
  5857. // WGL_ARB_create_context_profile
  5858. WGL_CONTEXT_PROFILE_MASK_ARB = $9126;
  5859. WGL_CONTEXT_CORE_PROFILE_BIT_ARB = $00000001;
  5860. WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB = $00000002;
  5861. ERROR_INVALID_PROFILE_ARB = $2096;
  5862. // WGL_ARB_framebuffer_sRGB
  5863. WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB = $20A9;
  5864. // WGL_ARB_create_context_robustness
  5865. WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB = $00000004;
  5866. WGL_LOSE_CONTEXT_ON_RESET_ARB = $8252;
  5867. WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB = $8256;
  5868. WGL_NO_RESET_NOTIFICATION_ARB = $8261;
  5869. // WGL_ATI_pixel_format_float
  5870. WGL_TYPE_RGBA_FLOAT_ATI = $21A0;
  5871. GL_TYPE_RGBA_FLOAT_ATI = $8820;
  5872. GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI = $8835;
  5873. // WGL_AMD_gpu_association
  5874. WGL_GPU_VENDOR_AMD = $1F00;
  5875. WGL_GPU_RENDERER_STRING_AMD = $1F01;
  5876. WGL_GPU_OPENGL_VERSION_STRING_AMD = $1F02;
  5877. WGL_GPU_FASTEST_TARGET_GPUS_AMD = $21A2;
  5878. WGL_GPU_RAM_AMD = $21A3;
  5879. WGL_GPU_CLOCK_AMD = $21A4;
  5880. WGL_GPU_NUM_PIPES_AMD = $21A5;
  5881. WGL_GPU_NUM_SIMD_AMD = $21A6;
  5882. WGL_GPU_NUM_RB_AMD = $21A7;
  5883. WGL_GPU_NUM_SPI_AMD = $21A8;
  5884. // WGL_EXT_depth_float
  5885. WGL_DEPTH_FLOAT_EXT = $2040;
  5886. // WGL_EXT_make_current_read
  5887. ERROR_INVALID_PIXEL_TYPE_EXT = $2043;
  5888. // WGL_EXT_multisample
  5889. WGL_SAMPLE_BUFFERS_EXT = $2041;
  5890. WGL_SAMPLES_EXT = $2042;
  5891. // WGL_EXT_pbuffer
  5892. WGL_DRAW_TO_PBUFFER_EXT = $202D;
  5893. WGL_MAX_PBUFFER_PIXELS_EXT = $202E;
  5894. WGL_MAX_PBUFFER_WIDTH_EXT = $202F;
  5895. WGL_MAX_PBUFFER_HEIGHT_EXT = $2030;
  5896. WGL_OPTIMAL_PBUFFER_WIDTH_EXT = $2031;
  5897. WGL_OPTIMAL_PBUFFER_HEIGHT_EXT = $2032;
  5898. WGL_PBUFFER_LARGEST_EXT = $2033;
  5899. WGL_PBUFFER_WIDTH_EXT = $2034;
  5900. WGL_PBUFFER_HEIGHT_EXT = $2035;
  5901. // WGL_EXT_pixel_format
  5902. WGL_NUMBER_PIXEL_FORMATS_EXT = $2000;
  5903. WGL_DRAW_TO_WINDOW_EXT = $2001;
  5904. WGL_DRAW_TO_BITMAP_EXT = $2002;
  5905. WGL_ACCELERATION_EXT = $2003;
  5906. WGL_NEED_PALETTE_EXT = $2004;
  5907. WGL_NEED_SYSTEM_PALETTE_EXT = $2005;
  5908. WGL_SWAP_LAYER_BUFFERS_EXT = $2006;
  5909. WGL_SWAP_METHOD_EXT = $2007;
  5910. WGL_NUMBER_OVERLAYS_EXT = $2008;
  5911. WGL_NUMBER_UNDERLAYS_EXT = $2009;
  5912. WGL_TRANSPARENT_EXT = $200A;
  5913. WGL_TRANSPARENT_VALUE_EXT = $200B;
  5914. WGL_SHARE_DEPTH_EXT = $200C;
  5915. WGL_SHARE_STENCIL_EXT = $200D;
  5916. WGL_SHARE_ACCUM_EXT = $200E;
  5917. WGL_SUPPORT_GDI_EXT = $200F;
  5918. WGL_SUPPORT_OPENGL_EXT = $2010;
  5919. WGL_DOUBLE_BUFFER_EXT = $2011;
  5920. WGL_STEREO_EXT = $2012;
  5921. WGL_PIXEL_TYPE_EXT = $2013;
  5922. WGL_COLOR_BITS_EXT = $2014;
  5923. WGL_RED_BITS_EXT = $2015;
  5924. WGL_RED_SHIFT_EXT = $2016;
  5925. WGL_GREEN_BITS_EXT = $2017;
  5926. WGL_GREEN_SHIFT_EXT = $2018;
  5927. WGL_BLUE_BITS_EXT = $2019;
  5928. WGL_BLUE_SHIFT_EXT = $201A;
  5929. WGL_ALPHA_BITS_EXT = $201B;
  5930. WGL_ALPHA_SHIFT_EXT = $201C;
  5931. WGL_ACCUM_BITS_EXT = $201D;
  5932. WGL_ACCUM_RED_BITS_EXT = $201E;
  5933. WGL_ACCUM_GREEN_BITS_EXT = $201F;
  5934. WGL_ACCUM_BLUE_BITS_EXT = $2020;
  5935. WGL_ACCUM_ALPHA_BITS_EXT = $2021;
  5936. WGL_DEPTH_BITS_EXT = $2022;
  5937. WGL_STENCIL_BITS_EXT = $2023;
  5938. WGL_AUX_BUFFERS_EXT = $2024;
  5939. WGL_NO_ACCELERATION_EXT = $2025;
  5940. WGL_GENERIC_ACCELERATION_EXT = $2026;
  5941. WGL_FULL_ACCELERATION_EXT = $2027;
  5942. WGL_SWAP_EXCHANGE_EXT = $2028;
  5943. WGL_SWAP_COPY_EXT = $2029;
  5944. WGL_SWAP_UNDEFINED_EXT = $202A;
  5945. WGL_TYPE_RGBA_EXT = $202B;
  5946. WGL_TYPE_COLORINDEX_EXT = $202C;
  5947. // WGL_I3D_digital_video_control
  5948. WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D = $2050;
  5949. WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D = $2051;
  5950. WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D = $2052;
  5951. WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D = $2053;
  5952. // WGL_I3D_gamma
  5953. WGL_GAMMA_TABLE_SIZE_I3D = $204E;
  5954. WGL_GAMMA_EXCLUDE_DESKTOP_I3D = $204F;
  5955. // WGL_I3D_genlock
  5956. WGL_GENLOCK_SOURCE_MULTIVIEW_I3D = $2044;
  5957. WGL_GENLOCK_SOURCE_EXTENAL_SYNC_I3D = $2045;
  5958. WGL_GENLOCK_SOURCE_EXTENAL_FIELD_I3D = $2046;
  5959. WGL_GENLOCK_SOURCE_EXTENAL_TTL_I3D = $2047;
  5960. WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D = $2048;
  5961. WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D = $2049;
  5962. WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D = $204A;
  5963. WGL_GENLOCK_SOURCE_EDGE_RISING_I3D = $204B;
  5964. WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D = $204C;
  5965. // WGL_I3D_image_buffer
  5966. WGL_IMAGE_BUFFER_MIN_ACCESS_I3D = $00000001;
  5967. WGL_IMAGE_BUFFER_LOCK_I3D = $00000002;
  5968. // WGL_NV_float_buffer
  5969. WGL_FLOAT_COMPONENTS_NV = $20B0;
  5970. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV = $20B1;
  5971. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV = $20B2;
  5972. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV = $20B3;
  5973. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV = $20B4;
  5974. WGL_TEXTURE_FLOAT_R_NV = $20B5;
  5975. WGL_TEXTURE_FLOAT_RG_NV = $20B6;
  5976. WGL_TEXTURE_FLOAT_RGB_NV = $20B7;
  5977. WGL_TEXTURE_FLOAT_RGBA_NV = $20B8;
  5978. // WGL_NV_render_depth_texture
  5979. WGL_BIND_TO_TEXTURE_DEPTH_NV = $20A3;
  5980. WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV = $20A4;
  5981. WGL_DEPTH_TEXTURE_FORMAT_NV = $20A5;
  5982. WGL_TEXTURE_DEPTH_COMPONENT_NV = $20A6;
  5983. WGL_DEPTH_COMPONENT_NV = $20A7;
  5984. // WGL_NV_render_texture_rectangle
  5985. WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV = $20A0;
  5986. WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV = $20A1;
  5987. WGL_TEXTURE_RECTANGLE_NV = $20A2;
  5988. // WGL_NV_present_video
  5989. WGL_NUM_VIDEO_SLOTS_NV = $20F0;
  5990. // WGL_NV_video_output
  5991. WGL_BIND_TO_VIDEO_RGB_NV = $20C0;
  5992. WGL_BIND_TO_VIDEO_RGBA_NV = $20C1;
  5993. WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV = $20C2;
  5994. WGL_VIDEO_OUT_COLOR_NV = $20C3;
  5995. WGL_VIDEO_OUT_ALPHA_NV = $20C4;
  5996. WGL_VIDEO_OUT_DEPTH_NV = $20C5;
  5997. WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV = $20C6;
  5998. WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV = $20C7;
  5999. WGL_VIDEO_OUT_FRAME = $20C8;
  6000. WGL_VIDEO_OUT_FIELD_1 = $20C9;
  6001. WGL_VIDEO_OUT_FIELD_2 = $20CA;
  6002. WGL_VIDEO_OUT_STACKED_FIELDS_1_2 = $20CB;
  6003. WGL_VIDEO_OUT_STACKED_FIELDS_2_1 = $20CC;
  6004. // WGL_NV_gpu_affinity
  6005. WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV = $20D0;
  6006. WGL_ERROR_MISSING_AFFINITY_MASK_NV = $20D1;
  6007. // WGL_NV_video_capture
  6008. WGL_UNIQUE_ID_NV = $20CE;
  6009. WGL_NUM_VIDEO_CAPTURE_SLOTS_NV = $20CF;
  6010. // WGL_NV_multisample_coverage
  6011. WGL_COVERAGE_SAMPLES_NV = $2042;
  6012. WGL_COLOR_SAMPLES_NV = $20B9;
  6013. // WGL_EXT_create_context_es2_profile
  6014. WGL_CONTEXT_ES2_PROFILE_BIT_EXT = $00000004;
  6015. // WGL_NV_DX_interop
  6016. WGL_ACCESS_READ_ONLY_NV = $00000000;
  6017. WGL_ACCESS_READ_WRITE_NV = $00000001;
  6018. WGL_ACCESS_WRITE_DISCARD_NV = $00000002;
  6019. // WIN_draw_range_elements
  6020. GL_MAX_ELEMENTS_VERTICES_WIN = $80E8;
  6021. GL_MAX_ELEMENTS_INDICES_WIN = $80E9;
  6022. // GLX 1.1 and later:
  6023. GLX_VENDOR = 1;
  6024. GLX_VERSION = 2;
  6025. GLX_EXTENSIONS = 3;
  6026. GLX_USE_GL = 1;
  6027. GLX_BUFFER_SIZE = 2;
  6028. GLX_LEVEL = 3;
  6029. GLX_RGBA = 4;
  6030. GLX_DOUBLEBUFFER = 5;
  6031. GLX_STEREO = 6;
  6032. GLX_AUX_BUFFERS = 7;
  6033. GLX_RED_SIZE = 8;
  6034. GLX_GREEN_SIZE = 9;
  6035. GLX_BLUE_SIZE = 10;
  6036. GLX_ALPHA_SIZE = 11;
  6037. GLX_DEPTH_SIZE = 12;
  6038. GLX_STENCIL_SIZE = 13;
  6039. GLX_ACCUM_RED_SIZE = 14;
  6040. GLX_ACCUM_GREEN_SIZE = 15;
  6041. GLX_ACCUM_BLUE_SIZE = 16;
  6042. GLX_ACCUM_ALPHA_SIZE = 17;
  6043. // GLX_VERSION_1_3
  6044. GLX_WINDOW_BIT = $00000001;
  6045. GLX_PIXMAP_BIT = $00000002;
  6046. GLX_PBUFFER_BIT = $00000004;
  6047. GLX_RGBA_BIT = $00000001;
  6048. GLX_COLOR_INDEX_BIT = $00000002;
  6049. GLX_PBUFFER_CLOBBER_MASK = $08000000;
  6050. GLX_FRONT_LEFT_BUFFER_BIT = $00000001;
  6051. GLX_FRONT_RIGHT_BUFFER_BIT = $00000002;
  6052. GLX_BACK_LEFT_BUFFER_BIT = $00000004;
  6053. GLX_BACK_RIGHT_BUFFER_BIT = $00000008;
  6054. GLX_AUX_BUFFERS_BIT = $00000010;
  6055. GLX_DEPTH_BUFFER_BIT = $00000020;
  6056. GLX_STENCIL_BUFFER_BIT = $00000040;
  6057. GLX_ACCUM_BUFFER_BIT = $00000080;
  6058. GLX_CONFIG_CAVEAT = $20;
  6059. GLX_X_VISUAL_TYPE = $22;
  6060. GLX_TRANSPARENT_TYPE = $23;
  6061. GLX_TRANSPARENT_INDEX_VALUE = $24;
  6062. GLX_TRANSPARENT_RED_VALUE = $25;
  6063. GLX_TRANSPARENT_GREEN_VALUE = $26;
  6064. GLX_TRANSPARENT_BLUE_VALUE = $27;
  6065. GLX_TRANSPARENT_ALPHA_VALUE = $28;
  6066. GLX_DONT_CARE = $FFFFFFFF;
  6067. GLX_NONE = $8000;
  6068. GLX_SLOW_CONFIG = $8001;
  6069. GLX_TRUE_COLOR = $8002;
  6070. GLX_DIRECT_COLOR = $8003;
  6071. GLX_PSEUDO_COLOR = $8004;
  6072. GLX_STATIC_COLOR = $8005;
  6073. GLX_GRAY_SCALE = $8006;
  6074. GLX_STATIC_GRAY = $8007;
  6075. GLX_TRANSPARENT_RGB = $8008;
  6076. GLX_TRANSPARENT_INDEX = $8009;
  6077. GLX_VISUAL_ID = $800B;
  6078. GLX_SCREEN = $800C;
  6079. GLX_NON_CONFORMANT_CONFIG = $800D;
  6080. GLX_DRAWABLE_TYPE = $8010;
  6081. GLX_RENDER_TYPE = $8011;
  6082. GLX_X_RENDERABLE = $8012;
  6083. GLX_FBCONFIG_ID = $8013;
  6084. GLX_RGBA_TYPE = $8014;
  6085. GLX_COLOR_INDEX_TYPE = $8015;
  6086. GLX_MAX_PBUFFER_WIDTH = $8016;
  6087. GLX_MAX_PBUFFER_HEIGHT = $8017;
  6088. GLX_MAX_PBUFFER_PIXELS = $8018;
  6089. GLX_PRESERVED_CONTENTS = $801B;
  6090. GLX_LARGEST_PBUFFER = $801C;
  6091. GLX_WIDTH = $801D;
  6092. GLX_HEIGHT = $801E;
  6093. GLX_EVENT_MASK = $801F;
  6094. GLX_DAMAGED = $8020;
  6095. GLX_SAVED = $8021;
  6096. GLX_WINDOW = $8022;
  6097. GLX_PBUFFER = $8023;
  6098. GLX_PBUFFER_HEIGHT = $8040;
  6099. GLX_PBUFFER_WIDTH = $8041;
  6100. // GLX_VERSION_1_4
  6101. GLX_SAMPLE_BUFFERS = 100000;
  6102. GLX_SAMPLES = 100001;
  6103. // GLX_ARB_multisample
  6104. GLX_SAMPLE_BUFFERS_ARB = 100000;
  6105. GLX_SAMPLES_ARB = 100001;
  6106. // GLX_ARB_robustness_application_isolation
  6107. GLX_CONTEXT_RESET_ISOLATION_BIT_ARB = $00000008;
  6108. // GLX_ARB_fbconfig_float
  6109. GLX_RGBA_FLOAT_TYPE_ARB = $20B9;
  6110. GLX_RGBA_FLOAT_BIT_ARB = $00000004;
  6111. // GLX_ARB_context_flush_control
  6112. GLX_CONTEXT_RELEASE_BEHAVIOR_ARB = $2097;
  6113. GLX_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB = 0;
  6114. GLX_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB = $2098;
  6115. // GLX_ARB_create_context
  6116. GLX_CONTEXT_DEBUG_BIT_ARB = $00000001;
  6117. GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB = $00000002;
  6118. GLX_CONTEXT_MAJOR_VERSION_ARB = $2091;
  6119. GLX_CONTEXT_MINOR_VERSION_ARB = $2092;
  6120. GLX_CONTEXT_FLAGS_ARB = $2094;
  6121. // GLX_ARB_create_context_profile
  6122. GLX_CONTEXT_CORE_PROFILE_BIT_ARB = $00000001;
  6123. GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB = $00000002;
  6124. GLX_CONTEXT_PROFILE_MASK_ARB = $9126;
  6125. // GLX_ARB_vertex_buffer_object
  6126. GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB = $2095;
  6127. // GLX_ARB_framebuffer_sRGB
  6128. GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB = $20B2;
  6129. // GLX_ARB_create_context_robustness
  6130. GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB = $00000004;
  6131. GLX_LOSE_CONTEXT_ON_RESET_ARB = $8252;
  6132. GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB = $8256;
  6133. GLX_NO_RESET_NOTIFICATION_ARB = $8261;
  6134. // GLX_EXT_visual_info
  6135. GLX_X_VISUAL_TYPE_EXT = $22;
  6136. GLX_TRANSPARENT_TYPE_EXT = $23;
  6137. GLX_TRANSPARENT_INDEX_VALUE_EXT = $24;
  6138. GLX_TRANSPARENT_RED_VALUE_EXT = $25;
  6139. GLX_TRANSPARENT_GREEN_VALUE_EXT = $26;
  6140. GLX_TRANSPARENT_BLUE_VALUE_EXT = $27;
  6141. GLX_TRANSPARENT_ALPHA_VALUE_EXT = $28;
  6142. GLX_NONE_EXT = $8000;
  6143. GLX_TRUE_COLOR_EXT = $8002;
  6144. GLX_DIRECT_COLOR_EXT = $8003;
  6145. GLX_PSEUDO_COLOR_EXT = $8004;
  6146. GLX_STATIC_COLOR_EXT = $8005;
  6147. GLX_GRAY_SCALE_EXT = $8006;
  6148. GLX_STATIC_GRAY_EXT = $8007;
  6149. GLX_TRANSPARENT_RGB_EXT = $8008;
  6150. GLX_TRANSPARENT_INDEX_EXT = $8009;
  6151. // GLX_EXT_visual_rating
  6152. GLX_VISUAL_CAVEAT_EXT = $20;
  6153. GLX_SLOW_VISUAL_EXT = $8001;
  6154. GLX_NON_CONFORMANT_VISUAL_EXT = $800D;
  6155. (* reuse GLX_NONE_EXT *)
  6156. // GLX_EXT_import_context
  6157. GLX_SHARE_CONTEXT_EXT = $800A;
  6158. GLX_VISUAL_ID_EXT = $800B;
  6159. GLX_SCREEN_EXT = $800C;
  6160. // GLX_EXT_fbconfig_packed_float
  6161. // GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT = $20B1;
  6162. // GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT = $00000008;
  6163. // GLX_EXT_framebuffer_sRGB
  6164. // GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT = $20B2;
  6165. // GLX_EXT_texture_from_pixmap
  6166. GLX_TEXTURE_1D_BIT_EXT = $00000001;
  6167. GLX_TEXTURE_2D_BIT_EXT = $00000002;
  6168. GLX_TEXTURE_RECTANGLE_BIT_EXT = $00000004;
  6169. GLX_BIND_TO_TEXTURE_RGB_EXT = $20D0;
  6170. GLX_BIND_TO_TEXTURE_RGBA_EXT = $20D1;
  6171. GLX_BIND_TO_MIPMAP_TEXTURE_EXT = $20D2;
  6172. GLX_BIND_TO_TEXTURE_TARGETS_EXT = $20D3;
  6173. GLX_Y_INVERTED_EXT = $20D4;
  6174. GLX_TEXTURE_FORMAT_EXT = $20D5;
  6175. GLX_TEXTURE_TARGET_EXT = $20D6;
  6176. GLX_MIPMAP_TEXTURE_EXT = $20D7;
  6177. GLX_TEXTURE_FORMAT_NONE_EXT = $20D8;
  6178. GLX_TEXTURE_FORMAT_RGB_EXT = $20D9;
  6179. GLX_TEXTURE_FORMAT_RGBA_EXT = $20DA;
  6180. GLX_TEXTURE_1D_EXT = $20DB;
  6181. GLX_TEXTURE_2D_EXT = $20DC;
  6182. GLX_TEXTURE_RECTANGLE_EXT = $20DD;
  6183. GLX_FRONT_LEFT_EXT = $20DE;
  6184. GLX_FRONT_RIGHT_EXT = $20DF;
  6185. GLX_BACK_LEFT_EXT = $20E0;
  6186. GLX_BACK_RIGHT_EXT = $20E1;
  6187. GLX_FRONT_EXT = GLX_FRONT_LEFT_EXT;
  6188. GLX_BACK_EXT = GLX_BACK_LEFT_EXT;
  6189. GLX_AUX0_EXT = $20E2;
  6190. GLX_AUX1_EXT = $20E3;
  6191. GLX_AUX2_EXT = $20E4;
  6192. GLX_AUX3_EXT = $20E5;
  6193. GLX_AUX4_EXT = $20E6;
  6194. GLX_AUX5_EXT = $20E7;
  6195. GLX_AUX6_EXT = $20E8;
  6196. GLX_AUX7_EXT = $20E9;
  6197. GLX_AUX8_EXT = $20EA;
  6198. GLX_AUX9_EXT = $20EB;
  6199. // GLX_EXT_swap_control
  6200. GLX_SWAP_INTERVAL_EXT = $20F1;
  6201. GLX_MAX_SWAP_INTERVAL_EXT = $20F2;
  6202. // GLX_EXT_create_context_es2_profile
  6203. GLX_CONTEXT_ES2_PROFILE_BIT_EXT = $00000004;
  6204. // GL_EXT_Late_Swaps
  6205. GLX_LATE_SWAPS_TEAR_EXT = $20F3;
  6206. // GLU
  6207. GLU_INVALID_ENUM = 100900;
  6208. GLU_INVALID_VALUE = 100901;
  6209. GLU_OUT_OF_MEMORY = 100902;
  6210. GLU_INCOMPATIBLE_GL_VERSION = 100903;
  6211. GLU_VERSION = 100800;
  6212. GLU_EXTENSIONS = 100801;
  6213. GLU_TRUE = GL_TRUE;
  6214. GLU_FALSE = GL_FALSE;
  6215. GLU_SMOOTH = 100000;
  6216. GLU_FLAT = 100001;
  6217. GLU_NONE = 100002;
  6218. GLU_POINT = 100010;
  6219. GLU_LINE = 100011;
  6220. GLU_FILL = 100012;
  6221. GLU_SILHOUETTE = 100013;
  6222. GLU_OUTSIDE = 100020;
  6223. GLU_INSIDE = 100021;
  6224. GLU_TESS_MAX_COORD = 1.0E150;
  6225. GLU_TESS_WINDING_RULE = 100140;
  6226. GLU_TESS_BOUNDARY_ONLY = 100141;
  6227. GLU_TESS_TOLERANCE = 100142;
  6228. GLU_TESS_WINDING_ODD = 100130;
  6229. GLU_TESS_WINDING_NONZERO = 100131;
  6230. GLU_TESS_WINDING_POSITIVE = 100132;
  6231. GLU_TESS_WINDING_NEGATIVE = 100133;
  6232. GLU_TESS_WINDING_ABS_GEQ_TWO = 100134;
  6233. GLU_TESS_BEGIN = 100100;
  6234. GLU_TESS_VERTEX = 100101;
  6235. GLU_TESS_END = 100102;
  6236. GLU_TESS_ERROR = 100103;
  6237. GLU_TESS_EDGE_FLAG = 100104;
  6238. GLU_TESS_COMBINE = 100105;
  6239. GLU_TESS_BEGIN_DATA = 100106;
  6240. GLU_TESS_VERTEX_DATA = 100107;
  6241. GLU_TESS_END_DATA = 100108;
  6242. GLU_TESS_ERROR_DATA = 100109;
  6243. GLU_TESS_EDGE_FLAG_DATA = 100110;
  6244. GLU_TESS_COMBINE_DATA = 100111;
  6245. GLU_TESS_ERROR1 = 100151;
  6246. GLU_TESS_ERROR2 = 100152;
  6247. GLU_TESS_ERROR3 = 100153;
  6248. GLU_TESS_ERROR4 = 100154;
  6249. GLU_TESS_ERROR5 = 100155;
  6250. GLU_TESS_ERROR6 = 100156;
  6251. GLU_TESS_ERROR7 = 100157;
  6252. GLU_TESS_ERROR8 = 100158;
  6253. GLU_TESS_MISSING_BEGIN_POLYGON = GLU_TESS_ERROR1;
  6254. GLU_TESS_MISSING_BEGIN_CONTOUR = GLU_TESS_ERROR2;
  6255. GLU_TESS_MISSING_END_POLYGON = GLU_TESS_ERROR3;
  6256. GLU_TESS_MISSING_END_CONTOUR = GLU_TESS_ERROR4;
  6257. GLU_TESS_COORD_TOO_LARGE = GLU_TESS_ERROR5;
  6258. GLU_TESS_NEED_COMBINE_CALLBACK = GLU_TESS_ERROR6;
  6259. GLU_AUTO_LOAD_MATRIX = 100200;
  6260. GLU_CULLING = 100201;
  6261. GLU_SAMPLING_TOLERANCE = 100203;
  6262. GLU_DISPLAY_MODE = 100204;
  6263. GLU_PARAMETRIC_TOLERANCE = 100202;
  6264. GLU_SAMPLING_METHOD = 100205;
  6265. GLU_U_STEP = 100206;
  6266. GLU_V_STEP = 100207;
  6267. GLU_PATH_LENGTH = 100215;
  6268. GLU_PARAMETRIC_ERROR = 100216;
  6269. GLU_DOMAIN_DISTANCE = 100217;
  6270. GLU_MAP1_TRIM_2 = 100210;
  6271. GLU_MAP1_TRIM_3 = 100211;
  6272. GLU_OUTLINE_POLYGON = 100240;
  6273. GLU_OUTLINE_PATCH = 100241;
  6274. GLU_NURBS_ERROR1 = 100251;
  6275. GLU_NURBS_ERROR2 = 100252;
  6276. GLU_NURBS_ERROR3 = 100253;
  6277. GLU_NURBS_ERROR4 = 100254;
  6278. GLU_NURBS_ERROR5 = 100255;
  6279. GLU_NURBS_ERROR6 = 100256;
  6280. GLU_NURBS_ERROR7 = 100257;
  6281. GLU_NURBS_ERROR8 = 100258;
  6282. GLU_NURBS_ERROR9 = 100259;
  6283. GLU_NURBS_ERROR10 = 100260;
  6284. GLU_NURBS_ERROR11 = 100261;
  6285. GLU_NURBS_ERROR12 = 100262;
  6286. GLU_NURBS_ERROR13 = 100263;
  6287. GLU_NURBS_ERROR14 = 100264;
  6288. GLU_NURBS_ERROR15 = 100265;
  6289. GLU_NURBS_ERROR16 = 100266;
  6290. GLU_NURBS_ERROR17 = 100267;
  6291. GLU_NURBS_ERROR18 = 100268;
  6292. GLU_NURBS_ERROR19 = 100269;
  6293. GLU_NURBS_ERROR20 = 100270;
  6294. GLU_NURBS_ERROR21 = 100271;
  6295. GLU_NURBS_ERROR22 = 100272;
  6296. GLU_NURBS_ERROR23 = 100273;
  6297. GLU_NURBS_ERROR24 = 100274;
  6298. GLU_NURBS_ERROR25 = 100275;
  6299. GLU_NURBS_ERROR26 = 100276;
  6300. GLU_NURBS_ERROR27 = 100277;
  6301. GLU_NURBS_ERROR28 = 100278;
  6302. GLU_NURBS_ERROR29 = 100279;
  6303. GLU_NURBS_ERROR30 = 100280;
  6304. GLU_NURBS_ERROR31 = 100281;
  6305. GLU_NURBS_ERROR32 = 100282;
  6306. GLU_NURBS_ERROR33 = 100283;
  6307. GLU_NURBS_ERROR34 = 100284;
  6308. GLU_NURBS_ERROR35 = 100285;
  6309. GLU_NURBS_ERROR36 = 100286;
  6310. GLU_NURBS_ERROR37 = 100287;
  6311. GLU_CW = 100120;
  6312. GLU_CCW = 100121;
  6313. GLU_INTERIOR = 100122;
  6314. GLU_EXTERIOR = 100123;
  6315. GLU_UNKNOWN = 100124;
  6316. GLU_BEGIN = GLU_TESS_BEGIN;
  6317. GLU_VERTEX = GLU_TESS_VERTEX;
  6318. GLU_END = GLU_TESS_END;
  6319. GLU_ERROR = GLU_TESS_ERROR;
  6320. GLU_EDGE_FLAG = GLU_TESS_EDGE_FLAG;
  6321. // GL functions and procedures
  6322. procedure glAccum(op: TGLuint; value: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6323. procedure glAlphaFunc(func: Cardinal; ref: TGLclampf); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6324. function glAreTexturesResident(n: TGLsizei; Textures: PGLuint; residences: PGLboolean): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6325. procedure glArrayElement(i: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6326. procedure glBegin(mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6327. procedure glBindTexture(target: Cardinal; texture: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6328. procedure glBitmap(width: TGLsizei; height: TGLsizei; xorig, yorig: Single; xmove: Single; ymove: Single; bitmap: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6329. procedure glBlendFunc(sfactor: Cardinal; dfactor: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6330. procedure glCallList(list: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6331. procedure glCallLists(n: TGLsizei; atype: Cardinal; lists: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6332. procedure glClear(mask: TGLbitfield); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6333. procedure glClearAccum(red, green, blue, alpha: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6334. procedure glClearColor(red, green, blue, alpha: TGLclampf); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6335. procedure glClearDepth(depth: TGLclampd); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6336. procedure glClearIndex(c: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6337. procedure glClearStencil(s: TGLint ); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6338. procedure glClipPlane(plane: Cardinal; equation: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6339. procedure glColor3b(red, green, blue: TGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6340. procedure glColor3bv(v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6341. procedure glColor3d(red, green, blue: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6342. procedure glColor3dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6343. procedure glColor3f(red, green, blue: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6344. procedure glColor3fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6345. procedure glColor3i(red, green, blue: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6346. procedure glColor3iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6347. procedure glColor3s(red, green, blue: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6348. procedure glColor3sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6349. procedure glColor3ub(red, green, blue: TGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6350. procedure glColor3ubv(v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6351. procedure glColor3ui(red, green, blue: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6352. procedure glColor3uiv(v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6353. procedure glColor3us(red, green, blue: TGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6354. procedure glColor3usv(v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6355. procedure glColor4b(red, green, blue, alpha: TGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6356. procedure glColor4bv(v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6357. procedure glColor4d(red, green, blue, alpha: TGLdouble ); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6358. procedure glColor4dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6359. procedure glColor4f(red, green, blue, alpha: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6360. procedure glColor4fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6361. procedure glColor4i(red, green, blue, alpha: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6362. procedure glColor4iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6363. procedure glColor4s(red, green, blue, alpha: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6364. procedure glColor4sv(v: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6365. procedure glColor4ub(red, green, blue, alpha: TGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6366. procedure glColor4ubv(v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6367. procedure glColor4ui(red, green, blue, alpha: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6368. procedure glColor4uiv(v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6369. procedure glColor4us(red, green, blue, alpha: TGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6370. procedure glColor4usv(v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6371. procedure glColorMask(red, green, blue, alpha: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6372. procedure glColorMaterial(face: Cardinal; mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6373. procedure glColorPointer(size: TGLint; atype: Cardinal; stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6374. procedure glCopyPixels(x, y: TGLint; width, height: TGLsizei; atype: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6375. procedure glCopyTexImage1D(target: Cardinal; level: TGLint; internalFormat: Cardinal; x, y: TGLint; width: TGLsizei; border: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6376. procedure glCopyTexImage2D(target: Cardinal; level: TGLint; internalFormat: Cardinal; x, y: TGLint; width, height: TGLsizei; border: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6377. procedure glCopyTexSubImage1D(target: Cardinal; level, xoffset, x, y: TGLint; width: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6378. procedure glCopyTexSubImage2D(target: Cardinal; level, xoffset, yoffset, x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6379. procedure glCullFace(mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6380. procedure glDeleteLists(list: TGLuint; range: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6381. procedure glDeleteTextures(n: TGLsizei; textures: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6382. procedure glDepthFunc(func: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6383. procedure glDepthMask(flag: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6384. procedure glDepthRange(zNear, zFar: TGLclampd); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6385. procedure glDisable(cap: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6386. procedure glDisableClientState(aarray: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6387. procedure glDrawArrays(mode: Cardinal; first: TGLint; count: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6388. procedure glDrawBuffer(mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6389. procedure glDrawElements(mode: Cardinal; count: TGLsizei; atype: Cardinal; indices: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6390. procedure glDrawPixels(width, height: TGLsizei; format, atype: Cardinal; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6391. procedure glEdgeFlag(flag: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6392. procedure glEdgeFlagPointer(stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6393. procedure glEdgeFlagv(flag: PGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6394. procedure glEnable(cap: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6395. procedure glEnableClientState(aarray: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6396. procedure glEnd; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6397. procedure glEndList; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6398. procedure glEvalCoord1d(u: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6399. procedure glEvalCoord1dv(u: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6400. procedure glEvalCoord1f(u: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6401. procedure glEvalCoord1fv(u: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6402. procedure glEvalCoord2d(u: TGLdouble; v: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6403. procedure glEvalCoord2dv(u: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6404. procedure glEvalCoord2f(u, v: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6405. procedure glEvalCoord2fv(u: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6406. procedure glEvalMesh1(mode: Cardinal; i1, i2: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6407. procedure glEvalMesh2(mode: Cardinal; i1, i2, j1, j2: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6408. procedure glEvalPoint1(i: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6409. procedure glEvalPoint2(i, j: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6410. procedure glFeedbackBuffer(size: TGLsizei; atype: Cardinal; buffer: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6411. procedure glFinish; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6412. procedure glFlush; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6413. procedure glFogf(pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6414. procedure glFogfv(pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6415. procedure glFogi(pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6416. procedure glFogiv(pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6417. procedure glFrontFace(mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6418. procedure glFrustum(left, right, bottom, top, zNear, zFar: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6419. function glGenLists(range: TGLsizei): TGLuint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6420. procedure glGenTextures(n: TGLsizei; textures: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6421. procedure glGetBooleanv(pname: Cardinal; params: PGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6422. procedure glGetClipPlane(plane: Cardinal; equation: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6423. procedure glGetDoublev(pname: Cardinal; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6424. function glGetError: TGLuint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6425. procedure glGetFloatv(pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6426. procedure glGetIntegerv(pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6427. procedure glGetLightfv(light, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6428. procedure glGetLightiv(light, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6429. procedure glGetMapdv(target, query: Cardinal; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6430. procedure glGetMapfv(target, query: Cardinal; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6431. procedure glGetMapiv(target, query: Cardinal; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6432. procedure glGetMaterialfv(face, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6433. procedure glGetMaterialiv(face, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6434. procedure glGetPixelMapfv(map: Cardinal; values: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6435. procedure glGetPixelMapuiv(map: Cardinal; values: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6436. procedure glGetPixelMapusv(map: Cardinal; values: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6437. procedure glGetPointerv(pname: Cardinal; var params); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6438. procedure glGetPolygonStipple(mask: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6439. function glGetString(name: Cardinal): PChar; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6440. procedure glGetTexEnvfv(target, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6441. procedure glGetTexEnviv(target, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6442. procedure glGetTexGendv(coord, pname: Cardinal; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6443. procedure glGetTexGenfv(coord, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6444. procedure glGetTexGeniv(coord, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6445. procedure glGetTexImage(target: Cardinal; level: TGLint; format, atype: Cardinal; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6446. procedure glGetTexLevelParameterfv(target: Cardinal; level: TGLint; pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6447. procedure glGetTexLevelParameteriv(target: Cardinal; level: TGLint; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6448. procedure glGetTexParameterfv(target, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6449. procedure glGetTexParameteriv(target, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6450. procedure glHint(target, mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6451. procedure glIndexMask(mask: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6452. procedure glIndexPointer(atype: Cardinal; stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6453. procedure glIndexd(c: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6454. procedure glIndexdv(c: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6455. procedure glIndexf(c: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6456. procedure glIndexfv(c: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6457. procedure glIndexi(c: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6458. procedure glIndexiv(c: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6459. procedure glIndexs(c: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6460. procedure glIndexsv(c: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6461. procedure glIndexub(c: TGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6462. procedure glIndexubv(c: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6463. procedure glInitNames; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6464. procedure glInterleavedArrays(format: Cardinal; stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6465. function glIsEnabled(cap: Cardinal): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6466. function glIsList(list: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6467. function glIsTexture(texture: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6468. procedure glLightModelf(pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6469. procedure glLightModelfv(pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6470. procedure glLightModeli(pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6471. procedure glLightModeliv(pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6472. procedure glLightf(light, pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6473. procedure glLightfv(light, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6474. procedure glLighti(light, pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6475. procedure glLightiv(light, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6476. procedure glLineStipple(factor: TGLint; pattern: TGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6477. procedure glLineWidth(width: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6478. procedure glListBase(base: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6479. procedure glLoadIdentity; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6480. procedure glLoadMatrixd(m: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6481. procedure glLoadMatrixf(m: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6482. procedure glLoadName(name: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6483. procedure glLogicOp(opcode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6484. procedure glMap1d(target: Cardinal; u1, u2: TGLdouble; stride, order: TGLint; points: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6485. procedure glMap1f(target: Cardinal; u1, u2: Single; stride, order: TGLint; points: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6486. 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;
  6487. 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;
  6488. procedure glMapGrid1d(un: TGLint; u1, u2: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6489. procedure glMapGrid1f(un: TGLint; u1, u2: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6490. procedure glMapGrid2d(un: TGLint; u1, u2: TGLdouble; vn: TGLint; v1, v2: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6491. procedure glMapGrid2f(un: TGLint; u1, u2: Single; vn: TGLint; v1, v2: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6492. procedure glMaterialf(face, pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6493. procedure glMaterialfv(face, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6494. procedure glMateriali(face, pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6495. procedure glMaterialiv(face, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6496. procedure glMatrixMode(mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6497. procedure glMultMatrixd(m: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6498. procedure glMultMatrixf(m: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6499. procedure glNewList(list: TGLuint; mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6500. procedure glNormal3b(nx, ny, nz: TGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6501. procedure glNormal3bv(v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6502. procedure glNormal3d(nx, ny, nz: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6503. procedure glNormal3dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6504. procedure glNormal3f(nx, ny, nz: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6505. procedure glNormal3fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6506. procedure glNormal3i(nx, ny, nz: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6507. procedure glNormal3iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6508. procedure glNormal3s(nx, ny, nz: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6509. procedure glNormal3sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6510. procedure glNormalPointer(atype: Cardinal; stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6511. procedure glOrtho(left, right, bottom, top, zNear, zFar: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6512. procedure glPassThrough(token: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6513. procedure glPixelMapfv(map: Cardinal; mapsize: TGLsizei; values: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6514. procedure glPixelMapuiv(map: Cardinal; mapsize: TGLsizei; values: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6515. procedure glPixelMapusv(map: Cardinal; mapsize: TGLsizei; values: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6516. procedure glPixelStoref(pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6517. procedure glPixelStorei(pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6518. procedure glPixelTransferf(pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6519. procedure glPixelTransferi(pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6520. procedure glPixelZoom(xfactor, yfactor: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6521. procedure glPointSize(size: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6522. procedure glPolygonMode(face, mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6523. procedure glPolygonOffset(factor, units: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6524. procedure glPolygonStipple(mask: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6525. procedure glPopAttrib; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6526. procedure glPopClientAttrib; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6527. procedure glPopMatrix; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6528. procedure glPopName; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6529. procedure glPrioritizeTextures(n: TGLsizei; textures: PGLuint; priorities: PGLclampf); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6530. procedure glPushAttrib(mask: TGLbitfield); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6531. procedure glPushClientAttrib(mask: TGLbitfield); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6532. procedure glPushMatrix; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6533. procedure glPushName(name: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6534. procedure glRasterPos2d(x, y: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6535. procedure glRasterPos2dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6536. procedure glRasterPos2f(x, y: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6537. procedure glRasterPos2fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6538. procedure glRasterPos2i(x, y: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6539. procedure glRasterPos2iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6540. procedure glRasterPos2s(x, y: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6541. procedure glRasterPos2sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6542. procedure glRasterPos3d(x, y, z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6543. procedure glRasterPos3dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6544. procedure glRasterPos3f(x, y, z: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6545. procedure glRasterPos3fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6546. procedure glRasterPos3i(x, y, z: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6547. procedure glRasterPos3iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6548. procedure glRasterPos3s(x, y, z: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6549. procedure glRasterPos3sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6550. procedure glRasterPos4d(x, y, z, w: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6551. procedure glRasterPos4dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6552. procedure glRasterPos4f(x, y, z, w: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6553. procedure glRasterPos4fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6554. procedure glRasterPos4i(x, y, z, w: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6555. procedure glRasterPos4iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6556. procedure glRasterPos4s(x, y, z, w: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6557. procedure glRasterPos4sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6558. procedure glReadBuffer(mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6559. procedure glReadPixels(x, y: TGLint; width, height: TGLsizei; format, atype: Cardinal; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6560. procedure glRectd(x1, y1, x2, y2: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6561. procedure glRectdv(v1, v2: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6562. procedure glRectf(x1, y1, x2, y2: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6563. procedure glRectfv(v1, v2: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6564. procedure glRecti(x1, y1, x2, y2: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6565. procedure glRectiv(v1, v2: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6566. procedure glRects(x1, y1, x2, y2: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6567. procedure glRectsv(v1, v2: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6568. function glRenderMode(mode: Cardinal): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6569. procedure glRotated(angle, x, y, z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6570. procedure glRotatef(angle, x, y, z: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6571. procedure glScaled(x, y, z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6572. procedure glScalef(x, y, z: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6573. procedure glScissor(x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6574. procedure glSelectBuffer(size: TGLsizei; buffer: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6575. procedure glShadeModel(mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6576. procedure glStencilFunc(func: Cardinal; ref: TGLint; mask: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6577. procedure glStencilMask(mask: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6578. procedure glStencilOp(fail, zfail, zpass: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6579. procedure glTexCoord1d(s: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6580. procedure glTexCoord1dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6581. procedure glTexCoord1f(s: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6582. procedure glTexCoord1fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6583. procedure glTexCoord1i(s: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6584. procedure glTexCoord1iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6585. procedure glTexCoord1s(s: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6586. procedure glTexCoord1sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6587. procedure glTexCoord2d(s, t: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6588. procedure glTexCoord2dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6589. procedure glTexCoord2f(s, t: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6590. procedure glTexCoord2fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6591. procedure glTexCoord2i(s, t: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6592. procedure glTexCoord2iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6593. procedure glTexCoord2s(s, t: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6594. procedure glTexCoord2sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6595. procedure glTexCoord3d(s, t, r: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6596. procedure glTexCoord3dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6597. procedure glTexCoord3f(s, t, r: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6598. procedure glTexCoord3fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6599. procedure glTexCoord3i(s, t, r: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6600. procedure glTexCoord3iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6601. procedure glTexCoord3s(s, t, r: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6602. procedure glTexCoord3sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6603. procedure glTexCoord4d(s, t, r, q: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6604. procedure glTexCoord4dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6605. procedure glTexCoord4f(s, t, r, q: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6606. procedure glTexCoord4fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6607. procedure glTexCoord4i(s, t, r, q: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6608. procedure glTexCoord4iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6609. procedure glTexCoord4s(s, t, r, q: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6610. procedure glTexCoord4sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6611. procedure glTexCoordPointer(size: TGLint; atype: Cardinal; stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6612. procedure glTexEnvf(target, pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6613. procedure glTexEnvfv(target, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6614. procedure glTexEnvi(target, pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6615. procedure glTexEnviv(target, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6616. procedure glTexGend(coord, pname: Cardinal; param: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6617. procedure glTexGendv(coord, pname: Cardinal; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6618. procedure glTexGenf(coord, pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6619. procedure glTexGenfv(coord, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6620. procedure glTexGeni(coord, pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6621. procedure glTexGeniv(coord, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6622. procedure glTexImage1D(target: Cardinal; level, internalformat: TGLint; width: TGLsizei; border: TGLint; format, atype: Cardinal; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6623. 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;
  6624. procedure glTexParameterf(target, pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6625. procedure glTexParameterfv(target, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6626. procedure glTexParameteri(target, pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6627. procedure glTexParameteriv(target, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6628. procedure glTexSubImage1D(target: Cardinal; level, xoffset: TGLint; width: TGLsizei; format, atype: Cardinal; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6629. procedure glTexSubImage2D(target: Cardinal; level, xoffset, yoffset: TGLint; width, height: TGLsizei; format, atype: Cardinal; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6630. procedure glTranslated(x, y, z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6631. procedure glTranslatef(x, y, z: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6632. procedure glVertex2d(x, y: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6633. procedure glVertex2dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6634. procedure glVertex2f(x, y: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6635. procedure glVertex2fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6636. procedure glVertex2i(x, y: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6637. procedure glVertex2iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6638. procedure glVertex2s(x, y: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6639. procedure glVertex2sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6640. procedure glVertex3d(x, y, z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6641. procedure glVertex3dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6642. procedure glVertex3f(x, y, z: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6643. procedure glVertex3fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6644. procedure glVertex3i(x, y, z: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6645. procedure glVertex3iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6646. procedure glVertex3s(x, y, z: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6647. procedure glVertex3sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6648. procedure glVertex4d(x, y, z, w: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6649. procedure glVertex4dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6650. procedure glVertex4f(x, y, z, w: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6651. procedure glVertex4fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6652. procedure glVertex4i(x, y, z, w: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6653. procedure glVertex4iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6654. procedure glVertex4s(x, y, z, w: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6655. procedure glVertex4sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6656. procedure glVertexPointer(size: TGLint; atype: Cardinal; stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32; //deprecated;
  6657. procedure glViewport(x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external opengl32;
  6658. // GLU utility functions and procedures
  6659. function gluErrorString(errCode: Cardinal): PGLChar; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6660. function gluGetString(name: Cardinal): PGLChar; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6661. procedure gluBeginCurve(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6662. procedure gluBeginPolygon(tess: PGLUtesselator); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6663. procedure gluBeginSurface(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6664. 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;
  6665. 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;
  6666. 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;
  6667. function gluBuild1DMipmaps(target: Cardinal; components, width: TGLint; format, atype: Cardinal; data: Pointer): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6668. function gluBuild2DMipmaps(target: Cardinal; components, width, height: TGLint; format, atype: Cardinal; data: Pointer): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6669. function gluNewQuadric: PGLUquadric; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6670. function gluNewNurbsRenderer: PGLUnurbs; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6671. function gluNewTess: PGLUtesselator; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6672. procedure gluBeginTrim(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6673. procedure gluCylinder(quadObject: PGLUquadric; baseRadius, topRadius, height: TGLdouble; slices, stacks: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6674. procedure gluDeleteNurbsRenderer(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6675. procedure gluDeleteQuadric(state: PGLUquadric); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6676. procedure gluDeleteTess(tess: PGLUtesselator); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6677. procedure gluDisk(quadObject: PGLUquadric; innerRadius, outerRadius: TGLdouble; slices, loops: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6678. procedure gluEndCurve(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6679. procedure gluEndPolygon(tess: PGLUtesselator); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6680. procedure gluEndSurface(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6681. procedure gluEndTrim(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6682. procedure gluGetNurbsProperty(nobj: PGLUnurbs; aproperty: Cardinal; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6683. procedure gluGetTessProperty(tess: PGLUtesselator; which: Cardinal; value: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6684. procedure gluLoadSamplingMatrices(nobj: PGLUnurbs; const modelMatrix: TMatrix4f; const projMatrix: TMatrix4f; const viewport: TVector4i); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6685. procedure gluLookAt(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6686. procedure gluNextContour(tess: PGLUtesselator; atype: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6687. procedure gluNurbsCallback(nobj: PGLUnurbs; which: Cardinal; fn: TGLUNurbsErrorProc); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6688. procedure gluNurbsCurve(nobj: PGLUnurbs; nknots: TGLint; knot: PGLfloat; stride: TGLint; ctlarray: PGLfloat; order: TGLint; atype: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6689. procedure gluNurbsProperty(nobj: PGLUnurbs; aproperty: Cardinal; value: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6690. 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;
  6691. procedure gluOrtho2D(left, right, bottom, top: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6692. procedure gluPartialDisk(quadObject: PGLUquadric; innerRadius, outerRadius: TGLdouble; slices, loops: TGLint; startAngle, sweepAngle: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6693. procedure gluPerspective(fovy, aspect, zNear, zFar: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6694. procedure gluPickMatrix(x, y, width, height: TGLdouble; const viewport: TVector4i); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6695. procedure gluPwlCurve(nobj: PGLUnurbs; count: TGLint; points: PGLfloat; stride: TGLint; atype: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6696. procedure gluQuadricCallback(quadObject: PGLUquadric; which: Cardinal; fn: TGLUQuadricErrorProc); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6697. procedure gluQuadricDrawStyle(quadObject: PGLUquadric; drawStyle: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6698. procedure gluQuadricNormals(quadObject: PGLUquadric; normals: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6699. procedure gluQuadricOrientation(quadObject: PGLUquadric; orientation: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6700. procedure gluQuadricTexture(quadObject: PGLUquadric; textureCoords: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6701. procedure gluSphere(quadObject: PGLUquadric; radius: TGLdouble; slices, stacks: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6702. procedure gluTessBeginContour(tess: PGLUtesselator); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6703. procedure gluTessBeginPolygon(tess: PGLUtesselator; polygon_data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6704. procedure gluTessCallback(tess: PGLUtesselator; which: Cardinal; fn: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6705. procedure gluTessEndContour(tess: PGLUtesselator); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6706. procedure gluTessEndPolygon(tess: PGLUtesselator); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6707. procedure gluTessNormal(tess: PGLUtesselator; x, y, z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6708. procedure gluTessProperty(tess: PGLUtesselator; which: Cardinal; value: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6709. procedure gluTessVertex(tess: PGLUtesselator; const coords: TVector3d; data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} external glu32;
  6710. function wglCopyContext(p1: HGLRC; p2: HGLRC; p3: Cardinal): BOOL; stdcall; external opengl32;
  6711. function wglCreateContext(DC: HDC): HGLRC; stdcall; external opengl32;
  6712. function wglCreateLayerContext(p1: HDC; p2: Integer): HGLRC; stdcall; external opengl32;
  6713. function wglDeleteContext(p1: HGLRC): BOOL; stdcall; external opengl32;
  6714. function wglDescribeLayerPlane(p1: HDC; p2, p3: Integer; p4: Cardinal; var p5: TLayerPlaneDescriptor): BOOL; stdcall; external opengl32;
  6715. function wglGetCurrentContext: HGLRC; stdcall; external opengl32;
  6716. function wglGetCurrentDC: HDC; stdcall; external opengl32;
  6717. function wglGetLayerPaletteEntries(p1: HDC; p2, p3, p4: Integer; var pcr): Integer; stdcall; external opengl32;
  6718. function wglGetProcAddress(ProcName: PGLChar): Pointer; stdcall; external opengl32;
  6719. function wglMakeCurrent(DC: HDC; p2: HGLRC): BOOL; stdcall; external opengl32;
  6720. function wglRealizeLayerPalette(p1: HDC; p2: Integer; p3: BOOL): BOOL; stdcall; external opengl32;
  6721. function wglSetLayerPaletteEntries(p1: HDC; p2, p3, p4: Integer; var pcr): Integer; stdcall; external opengl32;
  6722. function wglShareLists(p1, p2: HGLRC): BOOL; stdcall; external opengl32;
  6723. function wglSwapLayerBuffers(p1: HDC; p2: Cardinal): BOOL; stdcall; external opengl32;
  6724. function wglSwapMultipleBuffers(p1: UINT; const p2: PWGLSwap): DWORD; stdcall; external opengl32;
  6725. function wglUseFontBitmapsA(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32;
  6726. function wglUseFontOutlinesA (p1: HDC; p2, p3, p4: DWORD; p5, p6: Single; p7: Integer; p8: PGlyphMetricsFloat): BOOL; stdcall; external opengl32;
  6727. function wglUseFontBitmapsW(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32;
  6728. function wglUseFontOutlinesW (p1: HDC; p2, p3, p4: DWORD; p5, p6: Single; p7: Integer; p8: PGlyphMetricsFloat): BOOL; stdcall; external opengl32;
  6729. function wglUseFontBitmaps(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32 name 'wglUseFontBitmapsA';
  6730. function wglUseFontOutlines(p1: HDC; p2, p3, p4: DWORD; p5, p6: Single; p7: Integer; p8: PGlyphMetricsFloat): BOOL; stdcall; external opengl32 name 'wglUseFontOutlinesA';
  6731. {$IFDEF USE_MULTITHREAD}
  6732. threadvar
  6733. {$ELSE}
  6734. var
  6735. {$ENDIF}
  6736. // ------------------- OpenGL extension function/procedure definitions ------------------
  6737. // ###########################################################
  6738. // function and procedure definitions for
  6739. // extensions integrated into OpenGL 1.2 Core
  6740. // ###########################################################
  6741. // promoted to core v1.2 from GL_EXT_blend_color (#2)
  6742. glBlendColor: procedure(red, green, blue, alpha: TGLclampf); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6743. // promoted to core v1.2 from GL_EXT_blend_minmax (#37)
  6744. glBlendEquation: procedure(mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6745. // promoted to core v1.2 from GL_EXT_draw_range_elements (#112)
  6746. glDrawRangeElements: procedure(mode: Cardinal; Astart, Aend: TGLuint; count: TGLsizei; Atype: Cardinal;
  6747. indices: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6748. // promoted to core v1.2 from GL_EXT_texture3D (#6)
  6749. glTexImage3D: procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; width, height, depth: TGLsizei;
  6750. border: TGLint; format: Cardinal; Atype: Cardinal; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6751. glTexSubImage3D: procedure(target: Cardinal; level, xoffset, yoffset, zoffset: TGLint; width, height, depth: TGLsizei;
  6752. format: Cardinal; Atype: Cardinal; pixels: Pointer);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6753. // promoted to core v1.2 from GL_EXT_copy_texture
  6754. glCopyTexSubImage3D: procedure(target: Cardinal; level, xoffset, yoffset, zoffset, x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6755. // OpenGL 1.2 deprecated
  6756. // promoted to core v1.2 from GL_SGI_color_table (#14)
  6757. glColorTable: procedure(target, internalformat: Cardinal; width: TGLsizei; format, Atype: Cardinal;
  6758. table: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6759. glColorTableParameterfv: procedure(target, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6760. glColorTableParameteriv: procedure(target, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6761. glCopyColorTable: procedure(target, internalformat: Cardinal; x, y: TGLint; width: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6762. glGetColorTable: procedure(target, format, Atype: Cardinal; table: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6763. glGetColorTableParameterfv: procedure(target, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6764. glGetColorTableParameteriv: procedure(target, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6765. // promoted to core v1.2 from GL_EXT_color_subtable (#74)
  6766. glColorSubTable: procedure(target: Cardinal; start, count: TGLsizei; format, Atype: Cardinal; data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6767. glCopyColorSubTable: procedure(target: Cardinal; start: TGLsizei; x, y: TGLint; width: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6768. // promoted to core v1.2 from GL_EXT_convolution (#12)
  6769. glConvolutionFilter1D: procedure(target, internalformat: Cardinal; width: TGLsizei; format, Atype: Cardinal;
  6770. image: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6771. glConvolutionFilter2D: procedure(target, internalformat: Cardinal; width, height: TGLsizei; format, Atype: Cardinal;
  6772. image: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6773. glConvolutionParameterf: procedure(target, pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6774. glConvolutionParameterfv: procedure(target, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6775. glConvolutionParameteri: procedure(target, pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6776. glConvolutionParameteriv: procedure(target, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6777. glCopyConvolutionFilter1D: procedure(target, internalformat: Cardinal; x, y: TGLint; width: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6778. glCopyConvolutionFilter2D: procedure(target, internalformat: Cardinal; x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6779. glGetConvolutionFilter: procedure(target, internalformat, Atype: Cardinal; image: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6780. glGetConvolutionParameterfv: procedure(target, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6781. glGetConvolutionParameteriv: procedure(target, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6782. glGetSeparableFilter: procedure(target, format, Atype: Cardinal; row, column, span: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6783. glSeparableFilter2D: procedure(target, internalformat: Cardinal; width, height: TGLsizei; format, Atype: Cardinal; row, column: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6784. // promoted to core v1.2 from GL_EXT_histogram (#11)
  6785. glGetHistogram: procedure(target: Cardinal; reset: TGLboolean; format, Atype: Cardinal; values: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6786. glGetHistogramParameterfv: procedure(target, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6787. glGetHistogramParameteriv: procedure(target, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6788. glGetMinmax: procedure(target: Cardinal; reset: TGLboolean; format, Atype: Cardinal; values: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6789. glGetMinmaxParameterfv: procedure(target, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6790. glGetMinmaxParameteriv: procedure(target, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6791. glHistogram: procedure(target: Cardinal; width: TGLsizei; internalformat: Cardinal; sink: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6792. glMinmax: procedure(target, internalformat: Cardinal; sink: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6793. glResetHistogram: procedure(target: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6794. glResetMinmax: procedure(target: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6795. // ###########################################################
  6796. // function and procedure definitions for
  6797. // extensions integrated into OpenGL 1.3 Core
  6798. // ###########################################################
  6799. // promoted to core v1.3 from GL_ARB_multitexture (#1)
  6800. glActiveTexture: procedure(texture: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6801. // promoted to core v1.3 from GL_ARB_multisample (#5)
  6802. glSampleCoverage: procedure(Value: TGLclampf; invert: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6803. // promoted to core v1.3 from GL_ARB_texture_compression (#12)
  6804. glCompressedTexImage3D: procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width, Height, depth: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6805. glCompressedTexImage2D: procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width, Height: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6806. glCompressedTexImage1D: procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6807. 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}
  6808. glCompressedTexSubImage2D: procedure(target: Cardinal; level: TGLint; xoffset, yoffset: TGLint; width, height: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6809. glCompressedTexSubImage1D: procedure(target: Cardinal; level: TGLint; xoffset: TGLint; width: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6810. glGetCompressedTexImage: procedure(target: Cardinal; level: TGLint; img: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6811. // promoted to core v1.3 from GL_ARB_multitexture (#1)
  6812. glClientActiveTexture: procedure(texture: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6813. glMultiTexCoord1d: procedure(target: Cardinal; s: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6814. glMultiTexCoord1dV: procedure(target: Cardinal; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6815. glMultiTexCoord1f: procedure(target: Cardinal; s: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6816. glMultiTexCoord1fV: procedure(target: Cardinal; v: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6817. glMultiTexCoord1i: procedure(target: Cardinal; s: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6818. glMultiTexCoord1iV: procedure(target: Cardinal; v: PGLInt); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6819. glMultiTexCoord1s: procedure(target: Cardinal; s: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6820. glMultiTexCoord1sV: procedure(target: Cardinal; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6821. glMultiTexCoord2d: procedure(target: Cardinal; s, t: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6822. glMultiTexCoord2dv: procedure(target: Cardinal; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6823. glMultiTexCoord2f: procedure(target: Cardinal; s, t: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6824. glMultiTexCoord2fv: procedure(target: Cardinal; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6825. glMultiTexCoord2i: procedure(target: Cardinal; s, t: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6826. glMultiTexCoord2iv: procedure(target: Cardinal; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6827. glMultiTexCoord2s: procedure(target: Cardinal; s, t: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6828. glMultiTexCoord2sv: procedure(target: Cardinal; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6829. glMultiTexCoord3d: procedure(target: Cardinal; s, t, r: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6830. glMultiTexCoord3dv: procedure(target: Cardinal; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6831. glMultiTexCoord3f: procedure(target: Cardinal; s, t, r: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6832. glMultiTexCoord3fv: procedure(target: Cardinal; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6833. glMultiTexCoord3i: procedure(target: Cardinal; s, t, r: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6834. glMultiTexCoord3iv: procedure(target: Cardinal; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6835. glMultiTexCoord3s: procedure(target: Cardinal; s, t, r: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6836. glMultiTexCoord3sv: procedure(target: Cardinal; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6837. glMultiTexCoord4d: procedure(target: Cardinal; s, t, r, q: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6838. glMultiTexCoord4dv: procedure(target: Cardinal; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6839. glMultiTexCoord4f: procedure(target: Cardinal; s, t, r, q: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6840. glMultiTexCoord4fv: procedure(target: Cardinal; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6841. glMultiTexCoord4i: procedure(target: Cardinal; s, t, r, q: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6842. glMultiTexCoord4iv: procedure(target: Cardinal; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6843. glMultiTexCoord4s: procedure(target: Cardinal; s, t, r, q: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6844. glMultiTexCoord4sv: procedure(target: Cardinal; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6845. // promoted to core v1.3 from GL_ARB_transpose_matrix
  6846. glLoadTransposeMatrixf: procedure(m: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6847. glLoadTransposeMatrixd: procedure(m: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6848. glMultTransposeMatrixf: procedure(m: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6849. glMultTransposeMatrixd: procedure(m: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6850. // ###########################################################
  6851. // function and procedure definitions for
  6852. // extensions integrated into OpenGL 1.4 Core
  6853. // ###########################################################
  6854. // promoted to core v1.4 from GL_EXT_blend_func_separate (#173)
  6855. glBlendFuncSeparate: procedure(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6856. // promoted to core v1.4 from GL_EXT_multi_draw_arrays (#148)
  6857. glMultiDrawArrays: procedure(mode: Cardinal; First: PGLint; Count: PGLsizei; primcount: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6858. glMultiDrawElements: procedure(mode: Cardinal; Count: PGLsizei; AType: Cardinal; var indices; primcount: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6859. // promoted to core v1.4 from GL_ARB_point_parameters (#14), GL_NV_point_sprite (#262)
  6860. glPointParameterf: procedure(pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6861. glPointParameterfv: procedure(pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6862. glPointParameteri: procedure(pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6863. glPointParameteriv: procedure(pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6864. // promoted to core v1.4 from GL_EXT_fog_coord (#149)
  6865. glFogCoordf: procedure(coord: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6866. glFogCoordfv: procedure(coord: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6867. glFogCoordd: procedure(coord: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6868. glFogCoorddv: procedure(coord: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6869. glFogCoordPointer: procedure(AType: Cardinal; stride: TGLsizei; p: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6870. // promoted to core v1.4 from GL_EXT_secondary_color (#145)
  6871. glSecondaryColor3b: procedure(red, green, blue: TGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6872. glSecondaryColor3bv: procedure(v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6873. glSecondaryColor3d: procedure(red, green, blue: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6874. glSecondaryColor3dv: procedure(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6875. glSecondaryColor3f: procedure(red, green, blue: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6876. glSecondaryColor3fv: procedure(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6877. glSecondaryColor3i: procedure(red, green, blue: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6878. glSecondaryColor3iv: procedure(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6879. glSecondaryColor3s: procedure(red, green, blue: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6880. glSecondaryColor3sv: procedure(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6881. glSecondaryColor3ub: procedure(red, green, blue: TGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6882. glSecondaryColor3ubv: procedure(v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6883. glSecondaryColor3ui: procedure(red, green, blue: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6884. glSecondaryColor3uiv: procedure(v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6885. glSecondaryColor3us: procedure(red, green, blue: TGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6886. glSecondaryColor3usv: procedure(v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6887. glSecondaryColorPointer: procedure(Size: TGLint; Atype: Cardinal; stride: TGLsizei; p: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6888. // promoted to core v1.4 from GL_ARB_window_pos (#25)
  6889. glWindowPos2d: procedure(x,y : TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6890. glWindowPos2dv: procedure(v : PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6891. glWindowPos2f: procedure(x,y : Single);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6892. glWindowPos2fv: procedure(v : PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6893. glWindowPos2i: procedure(x,y : TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6894. glWindowPos2iv: procedure(v : PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6895. glWindowPos2s: procedure(x,y : TGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6896. glWindowPos2sv: procedure(v : PGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6897. glWindowPos3d: procedure(x,y,z : TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6898. glWindowPos3dv: procedure(v : PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6899. glWindowPos3f: procedure(x,y,z : Single);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6900. glWindowPos3fv: procedure(v : PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6901. glWindowPos3i: procedure(x,y,z : TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6902. glWindowPos3iv: procedure(v : PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6903. glWindowPos3s: procedure(x,y,z : TGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6904. glWindowPos3sv: procedure(v : PGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} //deprecated;
  6905. // ###########################################################
  6906. // function and procedure definitions for
  6907. // extensions integrated into OpenGL 1.5 Core
  6908. // ###########################################################
  6909. // promoted to core v1.5 from GL_ARB_occlusion_query (#29)
  6910. glGenQueries: procedure(n: TGLsizei; ids: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6911. glDeleteQueries: procedure(n: TGLsizei; const ids: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6912. glIsQuery: function(id: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6913. glBeginQuery: procedure(target: Cardinal; id: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6914. glEndQuery: procedure(target: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6915. glGetQueryiv: procedure(target: Cardinal; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6916. glGetQueryObjectiv: procedure(id: TGLuint; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6917. glGetQueryObjectuiv: procedure(id: TGLuint; pname: Cardinal; params: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6918. // promoted to core v1.5 from GL_ARB_vertex_buffer_object (#28)
  6919. glBindBuffer: procedure(target: GLenum; buffer: GLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6920. glDeleteBuffers: procedure(n: GLsizei; const buffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6921. glGenBuffers: procedure(n: GLsizei; buffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6922. glIsBuffer: function(buffer: GLuint): GLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6923. glBufferData: procedure(target: GLenum; size: GLsizei; const data: Pointer; usage: GLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6924. glBufferSubData: procedure(target: GLenum; offset: GLuint; size: GLsizei; const data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6925. glGetBufferSubData: procedure(target: GLenum; offset: GLuint; size: GLsizei; data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6926. glMapBuffer: function(target: GLenum; access: GLenum): Pointer; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6927. glUnmapBuffer: function(target: GLenum): GLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6928. glGetBufferParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6929. glGetBufferPointerv: procedure(target: GLenum; pname: GLenum; params: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6930. // promoted to core v1.5 from GL_EXT_shadow_funcs (#267)
  6931. // (no functions or procedures)
  6932. // ###########################################################
  6933. // function and procedure definitions for
  6934. // extensions integrated into OpenGL 2.0 Core
  6935. // ###########################################################
  6936. // promoted to core v2.0 from GL_EXT_blend_equation_separate (#299)
  6937. glBlendEquationSeparate: procedure(modeRGB: Cardinal; modeAlpha: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6938. // promoted to core v2.0 from GL_ARB_draw_buffers (#37)
  6939. glDrawBuffers: procedure(n: GLSizei; const bufs: PGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6940. // promoted to core v2.0 from GL_ARB_stencil_two_side (no # found)
  6941. glStencilOpSeparate: procedure(face, sfail, dpfail, dppass: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6942. glStencilFuncSeparate: procedure(face, func: Cardinal; ref: TGLint; mask: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6943. glStencilMaskSeparate: procedure(face: Cardinal; mask: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6944. // promoted to core v2.0 from GL_ARB_shader_objects (#30) / GL_ARB_vertex_shader (#31) / GL_ARB_fragment_shader (#32)
  6945. glAttachShader: procedure(_program: TGLuint; shader: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6946. glBindAttribLocation: procedure(_program: TGLuint; index: TGLuint; const name: PGLChar);
  6947. glCompileShader: procedure(shader: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6948. glCreateProgram: function(): TGLuint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6949. glCreateShader: function(_type: Cardinal): TGLuint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6950. glDeleteProgram: procedure(_program: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6951. glDeleteShader: procedure(shader: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6952. glDetachShader: procedure(_program: TGLuint; shader: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6953. glDisableVertexAttribArray: procedure(index: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6954. glEnableVertexAttribArray: procedure(index: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6955. glGetActiveAttrib: procedure(_program: TGLuint; index: TGLuint; bufSize: TGLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6956. glGetActiveUniform: procedure(_program: TGLuint; index: TGLuint; bufSize: TGLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6957. glGetAttachedShaders: procedure(_program: TGLuint; maxCount: TGLsizei; count: PGLSizei; obj: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6958. glGetAttribLocation: function(_program: TGLuint; const name: PGLChar): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6959. glGetProgramiv: procedure(_program: TGLuint; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6960. glGetProgramInfoLog: procedure(_program: TGLuint; bufSize: TGLsizei; length: PGLsizei; infoLog: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6961. glGetShaderiv: procedure(shader: TGLuint; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6962. glGetShaderInfoLog: procedure(shader: TGLuint; bufSize: TGLsizei; length: PGLsizei; infoLog: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6963. glGetShaderSource: procedure(shader:TGLuint; bufSize: TGLsizei; length: PGLsizei; source: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6964. glGetUniformLocation: function(_program: TGLuint; const name: PGLChar): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6965. glGetUniformfv: procedure(_program: TGLuint; location: TGLint; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6966. glGetUniformiv: procedure(_program: TGLuint; location: TGLint; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6967. glGetVertexAttribdv: procedure(index:TGLuint; pname: Cardinal; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6968. glGetVertexAttribfv: procedure(index: TGLuint; pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6969. glGetVertexAttribiv: procedure(index: TGLuint; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6970. glGetVertexAttribPointerv: procedure(index: TGLuint; pname: Cardinal; _pointer:pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6971. glIsProgram: function(_program: TGLuint):TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6972. glIsShader: function(shader: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6973. glLinkProgram: procedure(_program: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6974. glShaderSource: procedure(shader: TGLuint; count: TGLsizei; const _string: PGLPCharArray; const length: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6975. glUseProgram: procedure(_program: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6976. glUniform1f: procedure(location: GLint; v0: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6977. glUniform2f: procedure(location: GLint; v0: Single; v1: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6978. glUniform3f: procedure(location: GLint; v0: Single; v1: Single; v2: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6979. glUniform4f: procedure(location: GLint; v0: Single; v1: Single; v2: Single; v3: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6980. glUniform1i: procedure(location: GLint; v0: GLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6981. glUniform2i: procedure(location: GLint; v0: GLint; v1: GLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6982. glUniform3i: procedure(location: GLint; v0: GLint; v1: GLint; v2: GLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6983. glUniform4i: procedure(location: GLint; v0: GLint; v1: GLint; v2: GLint; v3: GLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6984. glUniform1fv: procedure(location: GLint; count: GLsizei; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6985. glUniform2fv: procedure(location: GLint; count: GLsizei; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6986. glUniform3fv: procedure(location: GLint; count: GLsizei; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6987. glUniform4fv: procedure(location: GLint; count: GLsizei; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6988. glUniform1iv: procedure(location: GLint; count: GLsizei; value: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6989. glUniform2iv: procedure(location: GLint; count: GLsizei; value: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6990. glUniform3iv: procedure(location: GLint; count: GLsizei; value: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6991. glUniform4iv: procedure(location: GLint; count: GLsizei; value: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6992. glUniformMatrix2fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6993. glUniformMatrix3fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6994. glUniformMatrix4fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6995. glValidateProgram: procedure(_program: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6996. glVertexAttrib1d: procedure(index:TGLuint; x: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6997. glVertexAttrib1dv: procedure(index:TGLuint; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6998. glVertexAttrib1f: procedure(index:TGLuint; x: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  6999. glVertexAttrib1fv: procedure(index:TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7000. glVertexAttrib1s: procedure(index:TGLuint; x: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7001. glVertexAttrib1sv: procedure(index:TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7002. glVertexAttrib2d: procedure(index:TGLuint; x,y: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7003. glVertexAttrib2dv: procedure(index:TGLuint; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7004. glVertexAttrib2f: procedure(index:TGLuint; x,y: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7005. glVertexAttrib2fv: procedure(index:TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7006. glVertexAttrib2s: procedure(index:TGLuint; x,y: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7007. glVertexAttrib2sv: procedure(index:TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7008. glVertexAttrib3d: procedure(index:TGLuint; x,y,z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7009. glVertexAttrib3dv: procedure(index:TGLuint; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7010. glVertexAttrib3f: procedure(index:TGLuint; x,y,z: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7011. glVertexAttrib3fv: procedure(index:TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7012. glVertexAttrib3s: procedure(index:TGLuint; x,y,z: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7013. glVertexAttrib3sv: procedure(index:TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7014. glVertexAttrib4Nbv: procedure(index:TGLuint; v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7015. glVertexAttrib4Niv: procedure(index:TGLuint; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7016. glVertexAttrib4Nsv: procedure(index:TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7017. glVertexAttrib4Nub: procedure(index:TGLuint; x,y,z,w: TGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7018. glVertexAttrib4Nubv: procedure(index:TGLuint; v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7019. glVertexAttrib4Nuiv: procedure(index:TGLuint; v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7020. glVertexAttrib4Nusv: procedure(index:TGLuint; v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7021. glVertexAttrib4bv: procedure(index:TGLuint; v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7022. glVertexAttrib4d: procedure(index:TGLuint; x,y,z,w: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7023. glVertexAttrib4dv: procedure(index:TGLuint; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7024. glVertexAttrib4f: procedure(index:TGLuint; x,y,z,w: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7025. glVertexAttrib4fv: procedure(index:TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7026. glVertexAttrib4iv: procedure(index:TGLuint; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7027. glVertexAttrib4s: procedure(index:TGLuint; x,y,z,w: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7028. glVertexAttrib4sv: procedure(index:TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7029. glVertexAttrib4ubv: procedure(index:TGLuint; v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7030. glVertexAttrib4uiv: procedure(index:TGLuint; v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7031. glVertexAttrib4usv: procedure(index:TGLuint; v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7032. glVertexAttribPointer: procedure(index:TGLuint; size: TGLint; _type: Cardinal; normalized: TGLboolean; stride:TGLsizei; _pointer:pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7033. // ###########################################################
  7034. // function and procedure definitions for
  7035. // extensions integrated into OpenGL 2.1 Core
  7036. // ###########################################################
  7037. glUniformMatrix2x3fv: procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7038. glUniformMatrix3x2fv: procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7039. glUniformMatrix2x4fv: procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7040. glUniformMatrix4x2fv: procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7041. glUniformMatrix3x4fv: procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7042. glUniformMatrix4x3fv: procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7043. // ###########################################################
  7044. // function and procedure definitions for
  7045. // extensions integrated into OpenGL 3.0 Core
  7046. // ###########################################################
  7047. glVertexAttribI1i: procedure(index: TGLuint; x: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7048. glVertexAttribI2i: procedure(index: TGLuint; x: TGLint; y: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7049. glVertexAttribI3i: procedure(index: TGLuint; x: TGLint; y: TGLint; z: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7050. glVertexAttribI4i: procedure(index: TGLuint; x: TGLint; y: TGLint; z: TGLint; w: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7051. glVertexAttribI1ui: procedure(index: TGLuint; x: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7052. glVertexAttribI2ui: procedure(index: TGLuint; x: TGLuint; y: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7053. glVertexAttribI3ui: procedure(index: TGLuint; x: TGLuint; y: TGLuint; z: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7054. glVertexAttribI4ui: procedure(index: TGLuint; x: TGLuint; y: TGLuint; z: TGLuint; w: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7055. glVertexAttribI1iv: procedure(index: TGLuint; v:PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7056. glVertexAttribI2iv: procedure(index: TGLuint; v:PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7057. glVertexAttribI3iv: procedure(index: TGLuint; v:PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7058. glVertexAttribI4iv: procedure(index: TGLuint; v:PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7059. glVertexAttribI1uiv: procedure(index: TGLuint; v:PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7060. glVertexAttribI2uiv: procedure(index: TGLuint; v:PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7061. glVertexAttribI3uiv: procedure(index: TGLuint; v:PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7062. glVertexAttribI4uiv: procedure(index: TGLuint; v:PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7063. glVertexAttribI4bv: procedure(index: TGLuint; v:PGLbyte);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7064. glVertexAttribI4sv: procedure(index: TGLuint; v:PGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7065. glVertexAttribI4ubv: procedure(index: TGLuint; v: PGLUbyte);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7066. glVertexAttribI4usv: procedure(index: TGLuint; v: PGLushort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7067. glVertexAttribIPointer: procedure(index: TGLuint; size: TGLint; _type: Cardinal;
  7068. stride: TGLsizei; _pointer: pointer);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7069. glGetVertexAttribIiv: procedure(index: TGLuint; pname: Cardinal; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7070. glGetVertexAttribIuiv: procedure(index: TGLuint; pname: Cardinal; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7071. glUniform1ui: procedure(location: TGLInt; v0: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7072. glUniform2ui: procedure(location: TGLInt; v0: TGLuint; v1: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7073. glUniform3ui: procedure(location: TGLInt; v0: TGLuint; v1: TGLuint; v2: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7074. glUniform4ui: procedure(location: TGLInt; v0: TGLuint; v1: TGLuint; v2: TGLuint; v3: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7075. glUniform1uiv: procedure(location: TGLInt; count: TGLsizei; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7076. glUniform2uiv: procedure(location: TGLInt; count: TGLsizei; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7077. glUniform3uiv: procedure(location: TGLInt; count: TGLsizei; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7078. glUniform4uiv: procedure(location: TGLInt; count: TGLsizei; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7079. glGetUniformuiv: procedure(_program: TGLuint; location: TGLint; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7080. glBindFragDataLocation: procedure(_program: TGLuint; colorNumber: TGLuint; name: PGLChar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7081. glGetFragDataLocation: function(_program: TGLuint; name: PGLChar): TGLint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7082. glBeginConditionalRender: procedure(id: TGLuint; mode: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7083. glEndConditionalRender: procedure();{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7084. glClampColor: procedure (target: Cardinal; clamp: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7085. // promoted to core v3.0 from GL_EXT_texture_integer
  7086. //glClearColorIi: procedure(r: TGLint; g: TGLint; b: TGLint; a: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7087. //glClearColorIui: procedure(r: TGLuint; g: TGLuint; b: TGLuint; a: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7088. glTexParameterIiv: procedure(target: Cardinal; pname: Cardinal; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7089. glTexParameterIuiv: procedure(target: Cardinal; pname: Cardinal; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7090. glGetTexParameterIiv: procedure(target: Cardinal; pname: Cardinal; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7091. glGetTexParameterIuiv: procedure(target: Cardinal; pname: Cardinal; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7092. // promoted to core v3.0 from GL_EXT_draw_buffers2
  7093. glColorMaski: procedure(index: TGLuint; r: TGLboolean; g: TGLboolean;
  7094. b: TGLboolean; a: TGLboolean);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7095. glGetBooleani_v: procedure(target: Cardinal; index: TGLuint; data: PGLboolean);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7096. glGetIntegeri_v: procedure(target: Cardinal; index: TGLuint; data: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7097. glEnablei: procedure(target: Cardinal; index: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7098. glDisablei: procedure(target: Cardinal; index: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7099. glIsEnabledi: function(target: Cardinal; index: TGLuint): TGLboolean;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7100. //promoted to core v3.0 from GL_EXT_transform_feedback
  7101. glBindBufferRange: procedure(target: Cardinal; index: TGLuint; buffer: TGLuint;
  7102. offset: TGLintptr; size: TGLsizeiptr);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7103. glBindBufferBase: procedure(target: Cardinal; index: TGLuint; buffer: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7104. glBeginTransformFeedback: procedure(primitiveMode: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7105. glEndTransformFeedback: procedure();{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7106. glTransformFeedbackVaryings: procedure(_program: TGLuint; count: TGLsizei;
  7107. const varyings: PGLPCharArray; bufferMode: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7108. glGetTransformFeedbackVarying: procedure(_program: TGLuint; index: TGLuint;
  7109. bufSize: TGLsizei; length: PGLsizei; size: PGLsizei; _type: PGLenum; name: PGLChar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7110. // New commands in OpenGL 3.0
  7111. glClearBufferiv: procedure(buffer: Cardinal; drawbuffer: TGLint; value: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7112. glClearBufferuiv: procedure(buffer: Cardinal; drawbuffer: TGLint; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7113. glClearBufferfv: procedure(buffer: Cardinal; drawbuffer: TGLint; value: PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7114. glClearBufferfi: procedure(buffer: Cardinal; drawbuffer: TGLint; depth: Single; stencil: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7115. glGetStringi: function(name: Cardinal; index: TGLuint): PGLChar;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7116. // ###########################################################
  7117. // function and procedure definitions for
  7118. // extensions integrated into OpenGL 3.1 Core
  7119. // ###########################################################
  7120. glDrawArraysInstanced: procedure(mode: Cardinal; first: TGLint; count: TGLsizei; primcount: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7121. glDrawElementsInstanced: procedure(mode: Cardinal; count: TGLsizei; _type: Cardinal; indices: PGLvoid; primcount: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7122. glTexBuffer: procedure(target: Cardinal; internalformat: Cardinal; buffer: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7123. glPrimitiveRestartIndex: procedure(index: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7124. // ###########################################################
  7125. // function and procedure definitions for
  7126. // extensions integrated into OpenGL 3.2 Core
  7127. // ###########################################################
  7128. glGetInteger64i_v: procedure(target: Cardinal; index: TGLuint; data: PGLint64);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7129. glGetBufferParameteri64v: procedure(target: Cardinal; pname: Cardinal; params: PGLint64);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7130. glProgramParameteri: procedure(_program: TGLuint; pname: Cardinal; value: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7131. glFramebufferTexture: procedure(target: Cardinal; attachment: Cardinal; texture: TGLuint; level: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7132. // glFramebufferTextureFace: procedure(target: Cardinal; attachment: Cardinal; texture: TGLuint; level: TGLint; face: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7133. // OpenGL 3.2 also reuses entry points from these extensions:
  7134. // GL_ARB_draw_elements_base_vertex
  7135. // GL_ARB_provoking_vertex
  7136. // GL_ARB_sync
  7137. // GL_ARB_texture_multisample
  7138. // ###########################################################
  7139. // function and procedure definitions for
  7140. // extensions integrated into OpenGL 3.3 Core
  7141. // ###########################################################
  7142. // OpenGL 3.3 reuses entry points from these extensions:
  7143. // GL_ARB_blend_func_extended (ARB #78)
  7144. (* ARB_sampler_objects *)
  7145. // GL_ARB_explicit_attrib_location (ARB #79) (none)
  7146. // GL_ARB_occlusion_query2 (ARB #80)
  7147. // GL_ARB_sampler_objects (ARB #81)
  7148. // GL_ARB_shader_bit_encoding (ARB #82)
  7149. // GL_ARB_texture_rgb10_a2ui (ARB #83)
  7150. // GL_ARB_texture_swizzle (ARB #84)
  7151. // GL_ARB_timer_query (ARB #85)
  7152. // GL_ARB_vertex_type_2_10_10_10_rev (ARB #86)
  7153. // ###########################################################
  7154. // function and procedure definitions for
  7155. // extensions integrated into OpenGL 4.0 Core
  7156. // ###########################################################
  7157. // OpenGL 4.0 uses entry points from these extensions:
  7158. (* ARB_texture_query_lod (no entry points) *)
  7159. // GL_ARB_draw_indirect (ARB #87)
  7160. // GL_ARB_gpu_shader5 (ARB #88) (none)
  7161. // GL_ARB_gpu_shader_fp64 (ARB #89)
  7162. // GL_ARB_shader_subroutine (ARB #90)
  7163. // GL_ARB_tessellation_shader (ARB #91)
  7164. // GL_ARB_texture_buffer_object_rgb32 (ARB #92) (none)
  7165. // GL_ARB_transform_feedback2 (ARB #93)
  7166. // GL_ARB_transform_feedback3 (ARB #94)
  7167. // GL_VERSION_4_1
  7168. // ###########################################################
  7169. // function and procedure definitions for
  7170. // GLU extensions
  7171. // ###########################################################
  7172. // GLU extensions
  7173. gluNurbsCallbackDataEXT: procedure(nurb: PGLUnurbs; userData: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7174. gluNewNurbsTessellatorEXT: function: PGLUnurbs; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7175. gluDeleteNurbsTessellatorEXT: procedure(nurb: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7176. {$IFDEF SUPPORT_WGL}
  7177. // ###########################################################
  7178. // function and procedure definitions for
  7179. // ARB approved WGL extensions
  7180. // ###########################################################
  7181. // WGL_buffer_region (ARB #4)
  7182. wglCreateBufferRegionARB: function(DC: HDC; iLayerPlane: Integer; uType: Cardinal) : Integer; stdcall;
  7183. wglDeleteBufferRegionARB: procedure(hRegion: Integer); stdcall;
  7184. wglSaveBufferRegionARB: function(hRegion: Integer; x, y, width, height: Integer): BOOL; stdcall;
  7185. wglRestoreBufferRegionARB: function(hRegion: Integer; x, y, width, height: Integer;
  7186. xSrc, ySrc: Integer): BOOL; stdcall;
  7187. // WGL_ARB_extensions_string (ARB #8)
  7188. wglGetExtensionsStringARB: function(DC: HDC): PGLChar; stdcall;
  7189. // WGL_ARB_pixel_format (ARB #9)
  7190. wglGetPixelFormatAttribivARB: function(DC: HDC; iPixelFormat, iLayerPlane: Integer; nAttributes: Cardinal;
  7191. const piAttributes: PGLint; piValues : PGLint) : BOOL; stdcall;
  7192. wglGetPixelFormatAttribfvARB: function(DC: HDC; iPixelFormat, iLayerPlane: Integer; nAttributes: Cardinal;
  7193. const piAttributes: PGLint; piValues: PGLFloat) : BOOL; stdcall;
  7194. wglChoosePixelFormatARB: function(DC: HDC; const piAttribIList: PGLint; const pfAttribFList: PGLFloat;
  7195. nMaxFormats: GLuint; piFormats: PGLint; nNumFormats: PGLenum) : BOOL; stdcall;
  7196. // WGL_make_current_read (ARB #10)
  7197. wglMakeContextCurrentARB: function(hDrawDC: HDC; hReadDC: HDC; _hglrc: HGLRC): BOOL; stdcall;
  7198. wglGetCurrentReadDCARB: function(): HDC; stdcall;
  7199. // WGL_ARB_pbuffer (ARB #11)
  7200. wglCreatePbufferARB: function(DC: HDC; iPixelFormat: GLInt; iWidth, iHeight : GLInt;
  7201. const piAttribList: PGLint) : HPBUFFERARB; stdcall;
  7202. wglGetPbufferDCARB: function(hPbuffer: HPBUFFERARB) : HDC; stdcall;
  7203. wglReleasePbufferDCARB: function(hPbuffer: HPBUFFERARB; DC: HDC) : Integer; stdcall;
  7204. wglDestroyPbufferARB: function(hPbuffer: HPBUFFERARB): BOOL; stdcall;
  7205. wglQueryPbufferARB: function(hPbuffer: HPBUFFERARB; iAttribute : Integer;
  7206. piValue: PGLint) : BOOL; stdcall;
  7207. // WGL_ARB_render_texture (ARB #20)
  7208. wglBindTexImageARB: function(hPbuffer: HPBUFFERARB; iBuffer: Integer): BOOL; stdcall;
  7209. wglReleaseTexImageARB: function(hpBuffer: HPBUFFERARB; iBuffer: Integer): BOOL; stdcall;
  7210. wglSetPbufferAttribARB: function(hpBuffer: HPBUFFERARB; const piAttribList: PGLint): BOOL; stdcall;
  7211. // WGL_ARB_create_context (ARB #55)
  7212. wglCreateContextAttribsARB: function(DC: HDC; hShareContext: HGLRC;
  7213. attribList: PGLint):HGLRC; stdcall;
  7214. // WGL_NV_gpu_affinity
  7215. wglEnumGpusNV: function(iGpuIndex: Cardinal; var hGpu: HGPUNV): Boolean;
  7216. wglEnumGpuDevicesNV: function(hGpu: HGPUNV; iDeviceIndex: Cardinal; lpGpuDevice: PGPUDevice): Boolean;
  7217. wglCreateAffinityDCNV: function(hGpuList: PHGPUNV): HDC;
  7218. wglEnumGpusFromAffinityDCNV: function(hAffinityDC: HDC; iGpuIndex: Cardinal; var hGpu: HGPUNV): Boolean;
  7219. wglDeleteDCNV: function(hdc: HDC): Boolean;
  7220. {$ENDIF}
  7221. {$IFDEF SUPPORT_WGL}
  7222. // ###########################################################
  7223. // function and procedure definitions for
  7224. // Vendor/EXT WGL extensions
  7225. // ###########################################################
  7226. // WGL_EXT_swap_control (EXT #172)
  7227. wglSwapIntervalEXT: function(interval : Integer) : BOOL; stdcall;
  7228. wglGetSwapIntervalEXT: function : Integer; stdcall;
  7229. {$ENDIF}
  7230. {$IFDEF SUPPORT_GLX}
  7231. // ###########################################################
  7232. // function and procedure definitions for
  7233. // ARB approved GLX extensions
  7234. // ###########################################################
  7235. // GLX 1.3 and later
  7236. glXChooseFBConfig: function(dpy: PDisplay; screen: TGLInt; attribList: PGLInt; nitems: PGLInt): GLXFBConfig; cdecl;
  7237. glXGetFBConfigAttrib: function(dpy: PDisplay; config: GLXFBConfig; attribute: TGLInt; value: PGLInt): TGLInt; cdecl;
  7238. glXGetFBConfigs: function(dpy: PDisplay; screen: TGLInt; nelements: PGLInt): GLXFBConfig; cdecl;
  7239. glXGetVisualFromFBConfig: function(dpy: PDisplay; config: GLXFBConfig): PXVisualInfo; cdecl;
  7240. glXCreateWindow: function(dpy: PDisplay; config: GLXFBConfig; win: GLXWindow; const attribList: PGLInt): GLXWindow; cdecl;
  7241. glXDestroyWindow: procedure(dpy: PDisplay; window: GLXWindow); cdecl;
  7242. glXCreatePixmap: function(dpy: PDisplay; config: GLXFBConfig; pixmap: GLXPixmap; attribList: PGLInt): GLXPixmap; cdecl;
  7243. glXDestroyPixmap: procedure(dpy: PDisplay; pixmap: GLXPixmap); cdecl;
  7244. glXCreatePbuffer: function(dpy: PDisplay; config: GLXFBConfig; attribList: PGLInt): GLXPBuffer; cdecl;
  7245. glXDestroyPbuffer: procedure(dpy: PDisplay; pbuf: GLXPBuffer); cdecl;
  7246. glXQueryDrawable: procedure(dpy: PDisplay; draw: GLXDrawable; attribute: TGLInt; value: PGLuint); cdecl;
  7247. glXCreateNewContext: function(dpy: PDisplay; config: GLXFBConfig; renderType: TGLInt; shareList: GLXContext; direct: TGLboolean): GLXContext; cdecl;
  7248. glXMakeContextCurrent: function(dpy: PDisplay; draw: GLXDrawable; read: GLXDrawable; ctx: GLXContext): TGLboolean; cdecl;
  7249. glXGetCurrentReadDrawable: function: GLXDrawable; cdecl;
  7250. glXQueryContext: function(dpy: PDisplay; ctx: GLXContext; attribute: TGLInt; value: PGLInt): TGLInt; cdecl;
  7251. glXSelectEvent: procedure(dpy: PDisplay; drawable: GLXDrawable; mask: TGLsizei); cdecl;
  7252. glXGetSelectedEvent: procedure(dpy: PDisplay; drawable: GLXDrawable; mask: TGLsizei); cdecl;
  7253. glXBindTexImageARB: function(dpy: PDisplay; pbuffer: GLXPbuffer; buffer: TGLInt): TGLboolean; cdecl;
  7254. glXReleaseTexImageARB: function(dpy: PDisplay; pbuffer: GLXPbuffer; buffer: TGLint): TGLboolean; cdecl;
  7255. glxDrawableAttribARB: function(dpy: PDisplay; draw: GLXDrawable; const attribList:PGLInt): TGLboolean; cdecl;
  7256. //GLX 1.4
  7257. // GLX_ARB_create_context (EXT #56)
  7258. glXCreateContextAttribsARB: function(dpy: PDisplay; config: GLXFBConfig;
  7259. share_context: GLXContext; direct: TGLBoolean;
  7260. attrib_list: PGLint): GLXContext; cdecl;
  7261. glXGetProcAddress: function(const name: PAnsiChar): pointer; cdecl;
  7262. glXGetProcAddressARB: function (const name: PAnsiChar): pointer; cdecl;
  7263. {$ENDIF}
  7264. {$IFDEF SUPPORT_GLX}
  7265. // ###########################################################
  7266. // function and procedure definitions for
  7267. // Vendor/EXT GLX extensions
  7268. // ###########################################################
  7269. // GLX_SGI_swap_control (EXT #40)
  7270. glXSwapIntervalSGI: function(interval: TGLint): TGLint; cdecl;
  7271. glXGetVideoSyncSGI: function(count: PGLuint): TGLInt; cdecl;
  7272. glXWaitVideoSyncSGI: function(divisor: TGLInt; remainder: TGLInt; count: PGLuint): TGLInt; cdecl;
  7273. glXFreeContextEXT: procedure(dpy: PDisplay; context: GLXContext); cdecl;
  7274. glXGetContextIDEXT: function(const context: GLXContext): GLXContextID; cdecl;
  7275. glXGetCurrentDisplayEXT: function: PDisplay; cdecl;
  7276. glXImportContextEXT: function(dpy: PDisplay; contextID: GLXContextID): GLXContext; cdecl;
  7277. glXQueryContextInfoEXT: function(dpy: PDisplay; context: GLXContext; attribute: TGLInt; value: PGLInt): TGLInt; cdecl;
  7278. glXCopySubBufferMESA: procedure(dpy: PDisplay; drawable: GLXDrawable; x: TGLInt; y: TGLInt; width: TGLInt; height: TGLInt); cdecl;
  7279. glXCreateGLXPixmapMESA: function(dpy: PDisplay; visual: PXVisualInfo; pixmap: XPixmap; cmap: XColormap): GLXPixmap; cdecl;
  7280. glXReleaseBuffersMESA: function(dpy: PDisplay; d: GLXDrawable): TGLboolean; cdecl;
  7281. glXSet3DfxModeMESA: function(mode: TGLint): TGLboolean; cdecl;
  7282. glXBindTexImageEXT: procedure(dpy: PDisplay; drawable: GLXDrawable; buffer: GLint; const attrib_list: PGLint); cdecl;
  7283. glXReleaseTexImageEXT: procedure(dpy: PDisplay; drawable: GLXDrawable; buffer: GLint); cdecl;
  7284. //GLX 1.4
  7285. glXMakeCurrentReadSGI: function(dpy: PDisplay; draw: GLXDrawable; read: GLXDrawable; ctx: GLXContext): TGLboolean; cdecl;
  7286. glXGetCurrentReadDrawableSGI: function: GLXDrawable; cdecl;
  7287. glXGetFBConfigAttribSGIX: function(dpy: PDisplay; config: GLXFBConfigSGIX; attribute: TGLInt; value: PGLInt):TGLInt; cdecl;
  7288. glXChooseFBConfigSGIX: function(dpy: PDisplay; screen: TGLInt; attribList: PGLInt; nitems: PGLInt): GLXFBConfigSGIX; cdecl;
  7289. glXCreateGLXPixmapWithConfigSGIX: function(dpy: PDisplay; config:GLXFBConfigSGIX; pixmap: GLXPixmap): GLXPixmap; cdecl;
  7290. glXCreateContextWithConfigSGIX: function(dpy: PDisplay; config: GLXFBConfigSGIX; renderType: TGLInt; shareList: GLXContext; direct: TGLboolean): GLXContext; cdecl;
  7291. glXGetVisualFromFBConfigSGIX: function(dpy: PDisplay; config: GLXFBConfigSGIX): PXVisualInfo; cdecl;
  7292. glXGetFBConfigFromVisualSGIX: function(dpy: PDisplay; vis: PXVisualInfo): GLXFBConfigSGIX; cdecl;
  7293. glXCreateGLXPbufferSGIX: function(dpy: PDisplay; config: GLXFBConfigSGIX; width:PGLuint; height: PGLuint; attribList: PGLInt): GLXPBufferSGIX; cdecl;
  7294. glXDestroyGLXPbufferSGIX: procedure(dpy: PDisplay; pbuf: GLXFBConfigSGIX); cdecl;
  7295. glXQueryGLXPbufferSGIX: function(dpy: PDisplay; pbuf: GLXFBConfigSGIX; attribute: PGLInt; value: PGLuint): TGLInt; cdecl;
  7296. glXSelectEventSGIX: procedure(dpy: PDisplay; drawable: GLXDrawable; mask: PGLuint64); cdecl;
  7297. glXGetSelectedEventSGIX: procedure(dpy: PDisplay; drawable: GLXDrawable; mask: PGLuint64); cdecl;
  7298. glXCushionSGI: procedure(dpy: PDisplay; window: TWindow; cushion: Single); cdecl;
  7299. glXBindChannelToWindowSGIX: function(dpy: PDisplay; screen: TGLInt; channel: TGLInt; window: TWindow): TGLInt; cdecl;
  7300. glXChannelRectSGIX: function (dpy: PDisplay; screen: TGLInt; channel:TGLInt; x, y, w, h: TGLInt): TGLInt; cdecl;
  7301. glXQueryChannelRectSGIX: function (dpy: PDisplay; screen: TGLInt; channel:TGLInt; dx, dy, dw, dh: TGLInt): TGLInt; cdecl;
  7302. glXQueryChannelDeltasSGIX: function (dpy: PDisplay; screen: TGLInt; channel:TGLInt; x, y, w, h: TGLInt): TGLInt; cdecl;
  7303. glXChannelRectSyncSGIX: function (dpy: PDisplay; screen: TGLInt; channel: TGLInt; synctype: Cardinal): TGLInt; cdecl;
  7304. glXJoinSwapGroupSGIX: procedure (dpy: PDisplay; drawable: GLXDrawable; member: GLXDrawable); cdecl;
  7305. glXBindSwapBarrierSGIX: procedure (dpy: PDisplay; drawable: GLXDrawable; barrier: TGLInt); cdecl;
  7306. glXQueryMaxSwapBarriersSGIX: procedure (dpy: PDisplay; screen: TGLInt; max: TGLInt); cdecl;
  7307. glXQueryHyperpipeNetworkSGIX: function (dpy: PDisplay; npipes:PGLint): PGLXHyperpipeNetworkSGIX; cdecl;
  7308. glXHyperpipeConfigSGIX: function(dpy: PDisplay; networkId, npipes: PGLint; cfg: PGLXHyperpipeConfigSGIX; hpId: PGLInt): TGLint; cdecl;
  7309. glXQueryHyperpipeConfigSGIX: function(dpy: PDisplay; hpId: TGLInt; npipes: PGLInt): PGLXHyperpipeConfigSGIX; cdecl;
  7310. glXDestroyHyperpipeConfigSGIX: function(dpy: PDisplay; hpId:TGLint): PGLInt; cdecl;
  7311. glXBindHyperpipeSGIX: function(dpy: PDisplay; hpId: PGLint): PGLInt; cdecl;
  7312. glXQueryHyperpipeBestAttribSGIX: function(dpy: PDisplay; timeSlice: TGLint; attrib: TGLint; size: TGLint; attribList: TGLint; returnAttribList: TGLint): TGLint; cdecl;
  7313. glXHyperpipeAttribSGIX: function(dpy: PDisplay; timeSlice: TGLint; attrib: TGLint; size: TGLint; attribList: TGLint): TGLint; cdecl;
  7314. glXQueryHyperpipeAttribSGIX: function(dpy: PDisplay; timeSlice: TGLint; attrib: TGLint; size: TGLint; returnAttribList: TGLint): TGLint; cdecl;
  7315. glXGetAGPOffsetMESA: function(param: Pointer): PGLInt;cdecl;
  7316. glXEnumerateVideoDevicesNV: function(dpy: PDisplay; screen: TGLInt; nelements: PGLint): PGLuint; cdecl;
  7317. glXBindVideoDeviceNV: function(dpy: PDisplay; video_slot: TGLInt; video_device: TGLInt; attrib_list: PGLint): TGLint; cdecl;
  7318. GetVideoDeviceNV: function(dpy: PDisplay; screen: TGLInt; numVideoDevices: TGLInt; pVideoDevice: GLXVideoDeviceNV): TGLInt; cdecl;
  7319. glXAllocateMemoryNV: procedure( size: TGLsizei; readFrequency: Single; writeFrequency: Single; priority: Single ); cdecl;
  7320. glXFreeMemoryNV: procedure ( GLvoid: pointer ); cdecl;
  7321. glXReleaseVideoDeviceNV: function(dpy: PDisplay; screen: TGLInt; VideoDevice: GLXVideoDeviceNV): TGLuint; cdecl;
  7322. glXBindVideoImageNV: function(dpy: PDisplay; VideoDevice: GLXVideoDeviceNV; pbuf: GLXPbuffer; iVideoBuffer: TGLInt): TGLuint; cdecl;
  7323. glXReleaseVideoImageNV: function(dpy: PDisplay; pbuf: GLXPbuffer): TGLInt; cdecl;
  7324. glXSendPbufferToVideoNV: function(dpy: PDisplay; pbuf: GLXPbuffer; iBufferType: TGLInt; pulCounterPbuffer: TGLuint64; bBlock: TGLboolean): TGLInt; cdecl;
  7325. glXGetVideoInfoNV: function(dpy: PDisplay; screen: TGLInt; VideoDevice: GLXVideoDeviceNV; pulCounterOutputPbuffer: TGLuInt64; pulCounterOutputVideo: TGLuInt64): TGLInt; cdecl;
  7326. glXJoinSwapGroupNV: function(dpy: PDisplay; drawable: GLXDrawable; group: TGLuint): TGLBoolean; cdecl;
  7327. glXBindSwapBarrierNV: function(dpy: PDisplay; group: TGLuint; barrier: TGLuint): TGLboolean; cdecl;
  7328. glXQuerySwapGroupNV: function(dpy: PDisplay; drawable: GLXDrawable; group: PGLuint; barrier: PGLuint): TGLBoolean; cdecl;
  7329. glXQueryMaxSwapGroupsNV: function(dpy: PDisplay; screen: TGLInt; maxGroups: TGLuInt; maxBarriers: TGLuInt): TGLBoolean; cdecl;
  7330. glXQueryFrameCountNV: function(dpy: PDisplay; screen: TGLInt; count: TGLuint): TGLBoolean; cdecl;
  7331. glXResetFrameCountNV: function(dpy: PDisplay; screen: TGLInt): TGLBoolean; cdecl;
  7332. glXBindVideoCaptureDeviceNV: function(dpy: PDisplay; video_capture_slot: TGLuint; device: GLXVideoCaptureDeviceNV): TGLint; cdecl;
  7333. glXEnumerateVideoCaptureDevicesNV: function(dpy: PDisplay; screen: TGLInt; nelements: PGLint): GLXVideoCaptureDeviceNV; cdecl;
  7334. glxLockVideoCaptureDeviceNV: procedure (dpy: PDisplay; device: GLXVideoCaptureDeviceNV); cdecl;
  7335. glXQueryVideoCaptureDeviceNV: function(dpy: PDisplay; device: GLXVideoCaptureDeviceNV; attribute:TGLint; value: PGLint): TGLint; cdecl;
  7336. glXReleaseVideoCaptureDeviceNV: procedure(dpy: PDisplay; device: GLXVideoCaptureDeviceNV); cdecl;
  7337. glXSwapIntervalEXT: function(dpy: PDisplay; drawable: GLXDrawable; interval:TGLint): TGLint; cdecl;
  7338. glXCopyImageSubDataNV: procedure(dpy: PDisplay; srcCtx: GLXContext; srcName: TGLuint; srcTarget: Cardinal;
  7339. srcLevel: TGLuint; srcX: TGLuint;
  7340. srcY: TGLuint; srcZ: TGLuint;
  7341. dstCtx:GLXContext; dstName:TGLuint; dstTarget: Cardinal; dstLevel: TGLint;
  7342. dstX: TGLint; dstY: TGLint; dstZ: TGLint; width: GLsizei; height: GLsizei;
  7343. depth: GLsizei); cdecl;
  7344. {$ENDIF}
  7345. // ###########################################################
  7346. // function and procedure definitions for
  7347. // ARB approved extensions
  7348. // ###########################################################
  7349. // unknown ARB extension
  7350. glSamplePassARB: procedure(pass: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7351. // GL_ARB_multitexture (ARB #1)
  7352. glActiveTextureARB: procedure(target: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7353. glClientActiveTextureARB: procedure(target: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7354. glMultiTexCoord1dARB: procedure(target: Cardinal; s: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7355. glMultiTexCoord1dVARB: procedure(target: Cardinal; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7356. glMultiTexCoord1fARB: procedure(target: Cardinal; s: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7357. glMultiTexCoord1fVARB: procedure(target: Cardinal; v: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7358. glMultiTexCoord1iARB: procedure(target: Cardinal; s: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7359. glMultiTexCoord1iVARB: procedure(target: Cardinal; v: PGLInt); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7360. glMultiTexCoord1sARB: procedure(target: Cardinal; s: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7361. glMultiTexCoord1sVARB: procedure(target: Cardinal; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7362. glMultiTexCoord2dARB: procedure(target: Cardinal; s, t: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7363. glMultiTexCoord2dvARB: procedure(target: Cardinal; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7364. glMultiTexCoord2fARB: procedure(target: Cardinal; s, t: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7365. glMultiTexCoord2fvARB: procedure(target: Cardinal; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7366. glMultiTexCoord2iARB: procedure(target: Cardinal; s, t: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7367. glMultiTexCoord2ivARB: procedure(target: Cardinal; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7368. glMultiTexCoord2sARB: procedure(target: Cardinal; s, t: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7369. glMultiTexCoord2svARB: procedure(target: Cardinal; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7370. glMultiTexCoord3dARB: procedure(target: Cardinal; s, t, r: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7371. glMultiTexCoord3dvARB: procedure(target: Cardinal; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7372. glMultiTexCoord3fARB: procedure(target: Cardinal; s, t, r: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7373. glMultiTexCoord3fvARB: procedure(target: Cardinal; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7374. glMultiTexCoord3iARB: procedure(target: Cardinal; s, t, r: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7375. glMultiTexCoord3ivARB: procedure(target: Cardinal; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7376. glMultiTexCoord3sARB: procedure(target: Cardinal; s, t, r: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7377. glMultiTexCoord3svARB: procedure(target: Cardinal; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7378. glMultiTexCoord4dARB: procedure(target: Cardinal; s, t, r, q: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7379. glMultiTexCoord4dvARB: procedure(target: Cardinal; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7380. glMultiTexCoord4fARB: procedure(target: Cardinal; s, t, r, q: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7381. glMultiTexCoord4fvARB: procedure(target: Cardinal; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7382. glMultiTexCoord4iARB: procedure(target: Cardinal; s, t, r, q: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7383. glMultiTexCoord4ivARB: procedure(target: Cardinal; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7384. glMultiTexCoord4sARB: procedure(target: Cardinal; s, t, r, q: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7385. glMultiTexCoord4svARB: procedure(target: Cardinal; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7386. // GL_ARB_transpose_matrix (ARB #3)
  7387. glLoadTransposeMatrixfARB: procedure(m: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7388. glLoadTransposeMatrixdARB: procedure(m: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7389. glMultTransposeMatrixfARB: procedure(m: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7390. glMultTransposeMatrixdARB: procedure(m: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7391. // GL_ARB_multisample (ARB #5)
  7392. glSampleCoverageARB: procedure(Value: TGLclampf; invert: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7393. // GL_ARB_texture_compression (ARB #12)
  7394. glCompressedTexImage3DARB: procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width, Height, depth: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7395. glCompressedTexImage2DARB: procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width, Height: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7396. glCompressedTexImage1DARB: procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7397. 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}
  7398. glCompressedTexSubImage2DARB: procedure(target: Cardinal; level: TGLint; xoffset, yoffset: TGLint; width, height: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7399. glCompressedTexSubImage1DARB: procedure(target: Cardinal; level: TGLint; xoffset: TGLint; width: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7400. glGetCompressedTexImageARB: procedure(target: Cardinal; level: TGLint; img: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7401. // GL_ARB_point_parameter (ARB #14)
  7402. glPointParameterfARB: procedure(pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7403. glPointParameterfvARB: procedure(pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7404. // GL_ARB_vertex_blend (ARB #15) {deprecated?}
  7405. glWeightbvARB: procedure(size: TGLint; weights: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7406. glWeightsvARB: procedure(size: TGLint; weights: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7407. glWeightivARB: procedure(size: TGLint; weights: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7408. glWeightfvARB: procedure(size: TGLint; weights: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7409. glWeightdvARB: procedure(size: TGLint; weights: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7410. glWeightubvARB: procedure(size: TGLint; weights: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7411. glWeightusvARB: procedure(size: TGLint; weights: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7412. glWeightuivARB: procedure(size: TGLint; weights: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7413. glWeightPointerARB: procedure(size: TGLint; _type: Cardinal; stride:TGLsizei; _pointer:pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7414. glVertexBlendARB: procedure(count: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7415. // GL_ARB_matrix_palette (ARB #16) {deprecated?}
  7416. glCurrentPaletteMatrixARB: procedure(index: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7417. glMatrixIndexubvARB: procedure(size: TGLint; indices: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7418. glMatrixIndexusvARB: procedure(size: TGLint; indices: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7419. glMatrixIndexuivARB: procedure(size: TGLint; indices: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7420. glMatrixIndexPointerARB: procedure(size: TGLint; _type: Cardinal; stride: TGLsizei; _pointer:pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7421. // GL_ARB_window_pos (ARB #25)
  7422. glWindowPos2dARB: procedure(x,y : TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7423. glWindowPos2dvARB: procedure(v : PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7424. glWindowPos2fARB: procedure(x,y : Single);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7425. glWindowPos2fvARB: procedure(v : PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7426. glWindowPos2iARB: procedure(x,y : TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7427. glWindowPos2ivARB: procedure(v : PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7428. glWindowPos2sARB: procedure(x,y : TGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7429. glWindowPos2svARB: procedure(v : PGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7430. glWindowPos3dARB: procedure(x,y,z : TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7431. glWindowPos3dvARB: procedure(v : PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7432. glWindowPos3fARB: procedure(x,y,z : Single);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7433. glWindowPos3fvARB: procedure(v : PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7434. glWindowPos3iARB: procedure(x,y,z : TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7435. glWindowPos3ivARB: procedure(v : PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7436. glWindowPos3sARB: procedure(x,y,z : TGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7437. glWindowPos3svARB: procedure(v : PGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7438. // GL_ARB_vertex_program (ARB #26)
  7439. glVertexAttrib1dARB: procedure(index: GLuint; x: GLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7440. glVertexAttrib1dvARB: procedure(index: GLuint; const v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7441. glVertexAttrib1fARB: procedure(index: GLuint; x: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7442. glVertexAttrib1fvARB: procedure(index: GLuint; const v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7443. glVertexAttrib1sARB: procedure(index: GLuint; x: GLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7444. glVertexAttrib1svARB: procedure(index: GLuint; const v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7445. glVertexAttrib2dARB: procedure(index: GLuint; x: GLdouble; y: GLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7446. glVertexAttrib2dvARB: procedure(index: GLuint; const v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7447. glVertexAttrib2fARB: procedure(index: GLuint; x: Single; y: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7448. glVertexAttrib2fvARB: procedure(index: GLuint; const v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7449. glVertexAttrib2sARB: procedure(index: GLuint; x: GLshort; y: GLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7450. glVertexAttrib2svARB: procedure(index: GLuint; const v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7451. glVertexAttrib3dARB: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7452. glVertexAttrib3dvARB: procedure(index: GLuint; const v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7453. glVertexAttrib3fARB: procedure(index: GLuint; x: Single; y: Single; z: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7454. glVertexAttrib3fvARB: procedure(index: GLuint; const v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7455. glVertexAttrib3sARB: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7456. glVertexAttrib3svARB: procedure(index: GLuint; const v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7457. glVertexAttrib4NbvARB: procedure(index: GLuint; const v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7458. glVertexAttrib4NivARB: procedure(index: GLuint; const v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7459. glVertexAttrib4NsvARB: procedure(index: GLuint; const v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7460. glVertexAttrib4NubARB: procedure(index: GLuint; x: GLubyte; y: GLubyte; z: GLubyte; w: GLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7461. glVertexAttrib4NubvARB: procedure(index: GLuint; const v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7462. glVertexAttrib4NuivARB: procedure(index: GLuint; const v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7463. glVertexAttrib4NusvARB: procedure(index: GLuint; const v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7464. glVertexAttrib4bvARB: procedure(index: GLuint; const v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7465. glVertexAttrib4dARB: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7466. glVertexAttrib4dvARB: procedure(index: GLuint; const v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7467. glVertexAttrib4fARB: procedure(index: GLuint; x: Single; y: Single; z: Single; w: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7468. glVertexAttrib4fvARB: procedure(index: GLuint; const v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7469. glVertexAttrib4ivARB: procedure(index: GLuint; const v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7470. glVertexAttrib4sARB: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort; w: GLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7471. glVertexAttrib4svARB: procedure(index: GLuint; const v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7472. glVertexAttrib4ubvARB: procedure(index: GLuint; const v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7473. glVertexAttrib4uivARB: procedure(index: GLuint; const v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7474. glVertexAttrib4usvARB: procedure(index: GLuint; const v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7475. glVertexAttribPointerARB: procedure(index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei; const _pointer: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7476. glEnableVertexAttribArrayARB: procedure(index: GLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7477. glDisableVertexAttribArrayARB: procedure(index: GLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7478. glProgramStringARB: procedure(target: GLenum; format: GLenum; len: GLsizei; const _string: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7479. glBindProgramARB: procedure(target: GLenum; _program: GLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7480. glDeleteProgramsARB: procedure(n: GLsizei; const programs: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7481. glGenProgramsARB: procedure(n: GLsizei; programs: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7482. glProgramEnvParameter4dARB: procedure(target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7483. glProgramEnvParameter4dvARB: procedure(target: GLenum; index: GLuint; const params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7484. glProgramEnvParameter4fARB: procedure(target: GLenum; index: GLuint; x: Single; y: Single; z: Single; w: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7485. glProgramEnvParameter4fvARB: procedure(target: GLenum; index: GLuint; const params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7486. glProgramLocalParameter4dARB: procedure(target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7487. glProgramLocalParameter4dvARB: procedure(target: GLenum; index: GLuint; const params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7488. glProgramLocalParameter4fARB: procedure(target: GLenum; index: GLuint; x: Single; y: Single; z: Single; w: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7489. glProgramLocalParameter4fvARB: procedure(target: GLenum; index: GLuint; const params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7490. glGetProgramEnvParameterdvARB: procedure(target: GLenum; index: GLuint; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7491. glGetProgramEnvParameterfvARB: procedure(target: GLenum; index: GLuint; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7492. glGetProgramLocalParameterdvARB: procedure(target: GLenum; index: GLuint; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7493. glGetProgramLocalParameterfvARB: procedure(target: GLenum; index: GLuint; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7494. glGetProgramivARB: procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7495. glGetProgramStringARB: procedure(target: GLenum; pname: GLenum; _string: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7496. glGetVertexAttribdvARB: procedure(index: GLuint; pname: GLenum; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7497. glGetVertexAttribfvARB: procedure(index: GLuint; pname: GLenum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7498. glGetVertexAttribivARB: procedure(index: GLuint; pname: GLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7499. glGetVertexAttribPointervARB: procedure(index: GLuint; pname: GLenum; _pointer: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7500. glIsProgramARB: function(_program: GLuint): GLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7501. // GL_ARB_vertex_buffer_object (ARB #28)
  7502. glBindBufferARB: procedure(target: GLenum; buffer: GLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7503. glDeleteBuffersARB: procedure(n: GLsizei; const buffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7504. glGenBuffersARB: procedure(n: GLsizei; buffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7505. glIsBufferARB: function(buffer: GLuint): GLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7506. glBufferDataARB: procedure(target: GLenum; size: GLsizei; const data: Pointer; usage: GLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7507. glBufferSubDataARB: procedure(target: GLenum; offset: GLuint; size: GLsizei; const data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7508. glGetBufferSubDataARB: procedure(target: GLenum; offset: GLuint; size: GLsizei; data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7509. glMapBufferARB: function(target: GLenum; access: GLenum): Pointer; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7510. glUnmapBufferARB: function(target: GLenum): GLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7511. glGetBufferParameterivARB: procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7512. glGetBufferPointervARB: procedure(target: GLenum; pname: GLenum; params: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7513. // GL_ARB_occlusion_query (ARB #29)
  7514. glGenQueriesARB: procedure(n: TGLsizei; ids: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7515. glDeleteQueriesARB: procedure(n: TGLsizei; const ids: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7516. glIsQueryARB: function(id: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7517. glBeginQueryARB: procedure(target: Cardinal; id: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7518. glEndQueryARB: procedure(target: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7519. glGetQueryivARB: procedure(target: Cardinal; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7520. glGetQueryObjectivARB: procedure(id: TGLuint; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7521. glGetQueryObjectuivARB: procedure(id: TGLuint; pname: Cardinal; params: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7522. // GL_ARB_shader_objects (ARB #30)
  7523. glDeleteObjectARB: procedure(obj: GLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7524. glGetHandleARB: function(pname: GLenum): GLhandleARB; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7525. glDetachObjectARB: procedure(containerObj: GLhandleARB; attachedObj: GLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7526. glCreateShaderObjectARB: function(shaderType: GLenum): GLhandleARB; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7527. glShaderSourceARB: procedure(shaderObj: GLhandleARB; count: GLsizei; const _string: PGLPCharArray; const length: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7528. glCompileShaderARB: procedure(shaderObj: GLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7529. glCreateProgramObjectARB: function(): GLhandleARB; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7530. glAttachObjectARB: procedure(containerObj: GLhandleARB; obj: GLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7531. glLinkProgramARB: procedure(programObj: GLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7532. glUseProgramObjectARB: procedure(programObj: GLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7533. glValidateProgramARB: procedure(programObj: GLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7534. glUniform1fARB: procedure(location: GLint; v0: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7535. glUniform2fARB: procedure(location: GLint; v0: Single; v1: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7536. glUniform3fARB: procedure(location: GLint; v0: Single; v1: Single; v2: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7537. glUniform4fARB: procedure(location: GLint; v0: Single; v1: Single; v2: Single; v3: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7538. glUniform1iARB: procedure(location: GLint; v0: GLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7539. glUniform2iARB: procedure(location: GLint; v0: GLint; v1: GLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7540. glUniform3iARB: procedure(location: GLint; v0: GLint; v1: GLint; v2: GLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7541. glUniform4iARB: procedure(location: GLint; v0: GLint; v1: GLint; v2: GLint; v3: GLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7542. glUniform1fvARB: procedure(location: GLint; count: GLsizei; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7543. glUniform2fvARB: procedure(location: GLint; count: GLsizei; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7544. glUniform3fvARB: procedure(location: GLint; count: GLsizei; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7545. glUniform4fvARB: procedure(location: GLint; count: GLsizei; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7546. glUniform1ivARB: procedure(location: GLint; count: GLsizei; value: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7547. glUniform2ivARB: procedure(location: GLint; count: GLsizei; value: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7548. glUniform3ivARB: procedure(location: GLint; count: GLsizei; value: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7549. glUniform4ivARB: procedure(location: GLint; count: GLsizei; value: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7550. glUniformMatrix2fvARB: procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7551. glUniformMatrix3fvARB: procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7552. glUniformMatrix4fvARB: procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7553. glGetObjectParameterfvARB: procedure(obj: GLhandleARB; pname: GLenum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7554. glGetObjectParameterivARB: procedure(obj: GLhandleARB; pname: GLenum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7555. glGetInfoLogARB: procedure(obj: GLhandleARB; maxLength: GLsizei; length: PGLsizei; infoLog: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7556. glGetAttachedObjectsARB: procedure(containerObj: GLhandleARB; maxCount: GLsizei; count: PGLsizei; obj: PGLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7557. glGetUniformLocationARB: function(programObj: GLhandleARB; const name: PGLChar): GLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7558. glGetActiveUniformARB: procedure(programObj: GLhandleARB; index: GLuint; maxLength: GLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7559. glGetUniformfvARB: procedure(programObj: GLhandleARB; location: GLint; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7560. glGetUniformivARB: procedure(programObj: GLhandleARB; location: GLint; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7561. glGetShaderSourceARB: procedure(obj: GLhandleARB; maxLength: GLsizei; length: PGLsizei; source: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7562. // GL_ARB_vertex_shader (ARB #31)
  7563. glBindAttribLocationARB: procedure(programObj: GLhandleARB; index: GLuint; const name: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7564. glGetActiveAttribARB: procedure(programObj: GLhandleARB; index: GLuint; maxLength: GLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7565. glGetAttribLocationARB: function(programObj: GLhandleARB; const name: PGLChar): GLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7566. // GL_ARB_DrawBuffers (ARB #37)
  7567. glDrawBuffersARB: procedure (n: GLSizei; const bufs: PGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7568. // GL_ARB_color_buffer_float (ARB #39)
  7569. glClampColorARB: procedure (target: Cardinal; clamp: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7570. // GL_ARB_draw_instanced (ARB #44)
  7571. glDrawArraysInstancedARB: procedure(mode: Cardinal; first: TGLint; count: TGLsizei;
  7572. primcount: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7573. glDrawElementsInstancedARB: procedure(mode: Cardinal; count: TGLSizei; _type: Cardinal;
  7574. indices: PGLvoid; primcount: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7575. // GL_ARB_framebuffer_object (ARB #45)
  7576. glIsRenderbuffer: function(renderbuffer: TGLuint): TGLBoolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7577. glBindRenderbuffer: procedure(target: Cardinal; renderbuffer: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7578. glDeleteRenderbuffers: procedure(n: TGLsizei; renderbuffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7579. glGenRenderbuffers: procedure(n: TGLSizei; renderbuffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7580. glRenderbufferStorage: procedure(target: Cardinal; internalformat: Cardinal;
  7581. width: TGLsizei; height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7582. glRenderbufferStorageMultisample: procedure(target: Cardinal; samples: TGLsizei; internalformat: Cardinal;
  7583. width: TGLsizei; height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7584. glGetRenderbufferParameteriv: procedure(target: Cardinal; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7585. glIsFramebuffer: function(framebuffer: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7586. glBindFramebuffer: procedure(target: Cardinal; framebuffer: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7587. glDeleteFramebuffers: procedure(n: TGLsizei; framebuffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7588. glGenFramebuffers: procedure(n: TGLsizei; framebuffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7589. glCheckFramebufferStatus: function(target: Cardinal): Cardinal; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7590. glFramebufferTexture1D: procedure(target: Cardinal; attachment: Cardinal;
  7591. textarget: Cardinal; texture: TGLuint; level: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7592. glFramebufferTexture2D: procedure(target: Cardinal; attachment: Cardinal;
  7593. textarget: Cardinal; texture: TGLuint; level: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7594. glFramebufferTexture3D: procedure(target: Cardinal; attachment: Cardinal;
  7595. textarget: Cardinal; texture: TGLuint;
  7596. level: TGLint; layer: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7597. glFramebufferTextureLayer: procedure(target: Cardinal; attachment: Cardinal;
  7598. texture: TGLuint; level: TGLint; layer: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7599. glFramebufferRenderbuffer: procedure(target: Cardinal; attachment: Cardinal;
  7600. renderbuffertarget: Cardinal; renderbuffer: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7601. glGetFramebufferAttachmentParameteriv: procedure(target: Cardinal; attachment: Cardinal;
  7602. pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7603. glBlitFramebuffer: procedure(srcX0: TGLint; srcY0: TGLint; srcX1: TGLint; srcY1: TGLint;
  7604. dstX0: TGLint; dstY0: TGLint; dstX1: TGLint; dstY1: TGLint;
  7605. mask: TGLbitfield; filter: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7606. glGenerateMipmap: procedure(target: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7607. // GL_ARB_geometry_shader4 (ARB #47)
  7608. glProgramParameteriARB: procedure ( _program:TGLuint; pname:Cardinal; value: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7609. glFramebufferTextureARB: procedure ( target:Cardinal; attachment:Cardinal; texture:TGLuint; level:TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7610. glFramebufferTextureLayerARB: procedure ( target:Cardinal; attachment:Cardinal; texture:TGLuint; level:TGLint; layer:TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7611. glFramebufferTextureFaceARB: procedure ( target:Cardinal; attachment:Cardinal; texture:TGLuint; level:TGLint; face:Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7612. // GL_ARB_instanced_arrays (ARB #49)
  7613. glVertexAttribDivisorARB: procedure(index: TGLuint; divisor: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7614. // GL_ARB_map_buffer_range (ARB #50)
  7615. glMapBufferRange: function(target: Cardinal; offset: TGLint{ptr}; length: TGLsizei{ptr};
  7616. access: TGLbitfield ): Pointer;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7617. glFlushMappedBufferRange: procedure( target: Cardinal; offset: TGLint{ptr}; length: TGLsizei{ptr} );{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7618. // GL_ARB_texture_buffer_object (ARB #51)
  7619. glTexBufferARB: procedure(target: Cardinal; internalformat: Cardinal; buffer: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7620. // GL_ARB_vertex_array_object (ARB #54)
  7621. glBindVertexArray: procedure(_array: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7622. glDeleteVertexArrays: procedure(n: TGLsizei; arrays: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7623. glGenVertexArrays: procedure(n: TGLsizei; arrays: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7624. glIsVertexArray: function(_array: TGLuint): TGLboolean;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7625. // GL_ARB_uniform_buffer_object (ARB #57)
  7626. glGetUniformIndices: procedure(_program: TGLuint; uniformCount: TGLsizei; uniformNames: PGLPCharArray; uniformIndices: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7627. glGetActiveUniformsiv: procedure(_program: TGLuint; uniformCount: TGLsizei; uniformIndices: PGLuint; pname: Cardinal; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7628. glGetActiveUniformName: procedure(_program: TGLuint; uniformIndex: TGLuint; bufSize: TGLsizei; length: PGLsizei; uniformName: PGLchar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7629. glGetUniformBlockIndex: function(_program: TGLuint; uniformBlockName: PGLchar): TGLuint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7630. glGetActiveUniformBlockiv: procedure(_program: TGLuint; uniformBlockIndex: TGLuint; pname: Cardinal; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7631. glGetActiveUniformBlockName: procedure(_program: TGLuint; uniformBlockIndex: TGLuint; bufSize: TGLsizei; length: PGLsizei; uniformBlockName: PGLchar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7632. glUniformBlockBinding: procedure(_program: TGLuint; uniformBlockIndex: TGLuint; uniformBlockBinding: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7633. // GL_ARB_copy_buffer (ARB #59)
  7634. glCopyBufferSubData: procedure(readTarget: Cardinal; writeTarget: Cardinal;
  7635. readOffset: TGLintptr; writeOffset: TGLintptr; size: TGLsizeiptr);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7636. // GL_ARB_draw_elements_base_vertex (ARB #62)
  7637. glDrawElementsBaseVertex: procedure(mode: Cardinal; count: TGLsizei;
  7638. _type: Cardinal; indices: PGLvoid; basevertex: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7639. glDrawRangeElementsBaseVertex: procedure(mode: Cardinal; start: TGLuint; _end: TGLuint;
  7640. count: TGLsizei; _type: Cardinal; indices: PGLvoid; basevertex: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7641. glDrawElementsInstancedBaseVertex: procedure(mode: Cardinal; count: TGLsizei;
  7642. _type: Cardinal; indices: PGLvoid; primcount: TGLsizei; basevertex: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7643. glMultiDrawElementsBaseVertex: procedure(mode: Cardinal; count: PGLsizei;
  7644. _type: Cardinal; var indices; primcount: TGLsizei; basevertex: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7645. // GL_ARB_provoking_vertex (ARB #64)
  7646. glProvokingVertex: procedure(mode: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7647. // GL_ARB_sync (ARB #66)
  7648. glFenceSync: function(condition: Cardinal; flags: TGLbitfield): TGLsync;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7649. glIsSync: function(sync: TGLsync): TGLboolean;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7650. glDeleteSync: procedure(sync: TGLsync);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7651. glClientWaitSync: function(sync: TGLsync; flags: TGLbitfield; timeout: TGLuint64): Cardinal;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7652. glWaitSync: procedure(sync: TGLsync; flags: TGLbitfield; timeout: TGLuint64);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7653. glGetInteger64v: procedure(pname: Cardinal; params: PGLint64);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7654. glGetSynciv: procedure(sync: TGLsync; pname: Cardinal; bufSize: TGLsizei; length: PGLsizei; values: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7655. // GL_ARB_texture_multisample (ARB #67)
  7656. glTexImage2DMultisample: procedure(target: Cardinal; samples: TGLsizei; internalformat: TGLint;
  7657. width: TGLsizei; height: TGLsizei;
  7658. fixedsamplelocations: TGLboolean);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7659. glTexImage3DMultisample: procedure(target: Cardinal; samples: TGLsizei; internalformat: TGLint;
  7660. width: TGLsizei; height: TGLsizei; depth: TGLsizei;
  7661. fixedsamplelocations: TGLboolean);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7662. glGetMultisamplefv: procedure(pname: Cardinal; index: TGLuint; val: PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7663. glSampleMaski: procedure(index: TGLuint; mask: TGLbitfield);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7664. // GL_ARB_draw_buffers_blend (ARB #69)
  7665. glBlendEquationi: procedure(buf: TGLuint; mode: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7666. glBlendEquationSeparatei: procedure(buf: TGLuint; modeRGB: Cardinal; modeAlpha: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7667. glBlendFunci: procedure(buf: TGLuint; src: Cardinal; dst: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7668. glBlendFuncSeparatei: procedure(buf: TGLuint; srcRGB: Cardinal; dstRGB: Cardinal;
  7669. srcAlpha: Cardinal; dstAlpha: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7670. // GL_ARB_sample_shading (ARB #70)
  7671. glMinSampleShading: procedure(value: TGLclampf);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7672. // GL_ARB_blend_func_extended (ARB #78)
  7673. glBindFragDataLocationIndexed: procedure (_program: TGLuint; colorNumber: TGLuint; index: TGLuint; const name: PGLchar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7674. glGetFragDataIndex: function (_program: TGLuint; const name: PGLchar): TGLint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7675. // GL_ARB_sampler_objects (ARB #81)
  7676. glGenSamplers: procedure(count: TGLsizei; samplers: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7677. glDeleteSamplers: procedure(count: TGLsizei; const samplers: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7678. glIsSampler: function(sampler: TGLuint): TGLboolean;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7679. glBindSampler: procedure(_unit: TGLuint; sampler: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7680. glSamplerParameteri: procedure(sampler: TGLuint; pname: Cardinal; param: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7681. glSamplerParameteriv: procedure(sampler: TGLuint; pname: Cardinal; const params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7682. glSamplerParameterf: procedure(sampler: TGLuint; pname: Cardinal; param: Single);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7683. glSamplerParameterfv: procedure(sampler: TGLuint; pname: Cardinal; const params: PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7684. glSamplerParameterIiv: procedure(sampler: TGLuint; pname: Cardinal; const params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7685. glSamplerParameterIuiv: procedure(sampler: TGLuint; pname: Cardinal; const params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7686. glGetSamplerParameteriv: procedure(sampler: TGLuint; pname: Cardinal; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7687. glGetSamplerParameterIiv: procedure(sampler: TGLuint; pname: Cardinal; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7688. glGetSamplerParameterfv: procedure(sampler: TGLuint; pname: Cardinal; params: PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7689. glGetSamplerParameterIfv: procedure(sampler: TGLuint; pname: Cardinal; params: PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7690. // GL_ARB_timer_query (ARB #85)
  7691. glQueryCounter: procedure(id: TGLuint; target: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7692. glGetQueryObjecti64v: procedure(id: TGLuint; pname: Cardinal; params: PGLint64);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7693. glGetQueryObjectui64v: procedure(id: TGLuint; pname: Cardinal; params: PGLuint64);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7694. // GL_ARB_vertex_type_2_10_10_10_rev (ARB #86)
  7695. glVertexP2ui: procedure(_type: Cardinal; value: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7696. glVertexP2uiv: procedure(_type: Cardinal; const value: PGLuint );{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7697. glVertexP3ui: procedure(_type: Cardinal; value: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7698. glVertexP3uiv: procedure(_type: Cardinal; const value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7699. glVertexP4ui: procedure(_type: Cardinal; value: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7700. glVertexP4uiv: procedure(_type: Cardinal; const value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7701. glTexCoordP1ui: procedure(_type: Cardinal; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7702. glTexCoordP1uiv: procedure(_type: Cardinal; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7703. glTexCoordP2ui: procedure(_type: Cardinal; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7704. glTexCoordP2uiv: procedure(_type: Cardinal; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7705. glTexCoordP3ui: procedure(_type: Cardinal; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7706. glTexCoordP3uiv: procedure(_type: Cardinal; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7707. glTexCoordP4ui: procedure(_type: Cardinal; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7708. glTexCoordP4uiv: procedure(_type: Cardinal; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7709. glMultiTexCoordP1ui: procedure(texture: Cardinal; _type: GLenum; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7710. glMultiTexCoordP1uiv: procedure(texture: Cardinal; _type: GLenum; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7711. glMultiTexCoordP2ui: procedure(texture: Cardinal; _type: GLenum; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7712. glMultiTexCoordP2uiv: procedure(texture: Cardinal; _type: GLenum; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7713. glMultiTexCoordP3ui: procedure(texture: Cardinal; _type: GLenum; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7714. glMultiTexCoordP3uiv: procedure(texture: Cardinal; _type: GLenum; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7715. glMultiTexCoordP4ui: procedure(texture: Cardinal; _type: GLenum; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7716. glMultiTexCoordP4uiv: procedure(texture: Cardinal; _type: GLenum; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7717. glNormalP3ui: procedure(_type: Cardinal; coords: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7718. glNormalP3uiv: procedure(_type: Cardinal; const coords: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7719. glColorP3ui: procedure(_type: Cardinal; color: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7720. glColorP3uiv: procedure(_type: Cardinal; const color: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7721. glColorP4ui: procedure(_type: Cardinal; color: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7722. glColorP4uiv: procedure(_type: Cardinal; const color: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7723. glSecondaryColorP3ui: procedure(_type: Cardinal; color: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7724. glSecondaryColorP3uiv: procedure(_type: Cardinal; const color: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7725. glVertexAttribP1ui: procedure(index: TGLuint; _type: Cardinal; normalized: TGLboolean; value: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7726. glVertexAttribP1uiv: procedure(index: TGLuint; _type: Cardinal; normalized: TGLboolean; const value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7727. glVertexAttribP2ui: procedure(index: TGLuint; _type: Cardinal; normalized: TGLboolean; value: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7728. glVertexAttribP2uiv: procedure(index: TGLuint; _type: Cardinal; normalized: TGLboolean; const value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7729. glVertexAttribP3ui: procedure(index: TGLuint; _type: Cardinal; normalized: TGLboolean; value: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7730. glVertexAttribP3uiv: procedure(index: TGLuint; _type: Cardinal; normalized: TGLboolean; const value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7731. glVertexAttribP4ui: procedure(index: TGLuint; _type: Cardinal; normalized: TGLboolean; value: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7732. glVertexAttribP4uiv: procedure(index: TGLuint; _type: Cardinal; normalized: TGLboolean; const value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7733. // GL_ARB_draw_indirect (ARB #87)
  7734. glDrawArraysIndirect: procedure(mode: Cardinal; const indirect: PGLvoid);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7735. glDrawElementsIndirect: procedure(mode: Cardinal; _type: Cardinal; const indirect: PGLvoid);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7736. // GL_ARB_gpu_shader_fp64 (ARB #89)
  7737. glUniform1d: procedure(location: TGLint; x: TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7738. glUniform2d: procedure(location: TGLint; x: TGLdouble; y: TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7739. glUniform3d: procedure(location: TGLint; x: TGLdouble; y: TGLdouble; z: TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7740. glUniform4d: procedure(location: TGLint; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7741. glUniform1dv: procedure(location: TGLint; count: TGLsizei; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7742. glUniform2dv: procedure(location: TGLint; count: TGLsizei; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7743. glUniform3dv: procedure(location: TGLint; count: TGLsizei; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7744. glUniform4dv: procedure(location: TGLint; count: TGLsizei; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7745. glUniformMatrix2dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7746. glUniformMatrix3dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7747. glUniformMatrix4dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7748. glUniformMatrix2x3dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7749. glUniformMatrix2x4dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7750. glUniformMatrix3x2dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7751. glUniformMatrix3x4dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7752. glUniformMatrix4x2dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7753. glUniformMatrix4x3dv: procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7754. glGetUniformdv: procedure(_program: TGLuint; location: TGLint; params : PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7755. // glProgramUniformXXX only valid if EXT_direct_state_access is available
  7756. glProgramUniform1dEXT: procedure(_program: TGLuint; location: TGLint; x: TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7757. glProgramUniform2dEXT: procedure(_program: TGLuint; location: TGLint; x: TGLdouble; y: TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7758. glProgramUniform3dEXT: procedure(_program: TGLuint; location: TGLint; x: TGLdouble; y: TGLdouble; z: TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7759. glProgramUniform4dEXT: procedure(_program: TGLuint; location: TGLint; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7760. glProgramUniform1dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7761. glProgramUniform2dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7762. glProgramUniform3dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7763. glProgramUniform4dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7764. glProgramUniformMatrix2dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7765. glProgramUniformMatrix3dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7766. glProgramUniformMatrix4dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7767. glProgramUniformMatrix2x3dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7768. glProgramUniformMatrix2x4dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7769. glProgramUniformMatrix3x2dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7770. glProgramUniformMatrix3x4dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7771. glProgramUniformMatrix4x2dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7772. glProgramUniformMatrix4x3dvEXT: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7773. // GL_ARB_shader_subroutine (ARB #90)
  7774. glGetSubroutineUniformLocation: function(_program: TGLuint; shadertype: Cardinal; const name: PGLchar): TGLint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7775. glGetSubroutineIndex: function(_program: TGLuint; shadertype: Cardinal; const name: PGLchar): TGLuint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7776. glGetActiveSubroutineUniformiv: procedure(_program: TGLuint; shadertype: Cardinal; index: TGLuint; pname: Cardinal; values: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7777. glGetActiveSubroutineUniformName: procedure(_program: TGLuint; shadertype: Cardinal; index: TGLuint; bufsize: TGLsizei; length: PGLsizei; name: PGLchar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7778. glGetActiveSubroutineName: procedure(_program: TGLuint; shadertype: Cardinal; index: TGLuint; bufsize: TGLsizei; length: PGLsizei; name: PGLchar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7779. glUniformSubroutinesuiv: procedure(shadertype: Cardinal; count: TGLsizei; const indices: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7780. glGetUniformSubroutineuiv: procedure(shadertype: Cardinal; location: TGLint; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7781. glGetProgramStageiv: procedure(_program: TGLuint; shadertype: Cardinal; pname: Cardinal; values: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7782. // GL_ARB_tessellation_shader (ARB #91)
  7783. glPatchParameteri: procedure(pname: Cardinal; value: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7784. glPatchParameterfv: procedure(pname: Cardinal; const values: PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7785. // GL_ARB_transform_feedback2 (ARB #93)
  7786. glBindTransformFeedback: procedure(target: Cardinal; id: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7787. glDeleteTransformFeedbacks: procedure(n: TGLsizei; const ids: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7788. glGenTransformFeedbacks: procedure(n: TGLsizei; ids: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7789. glIsTransformFeedback: function(id: TGLuint): TGLboolean;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7790. glPauseTransformFeedback: procedure();{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7791. glResumeTransformFeedback: procedure();{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7792. glDrawTransformFeedback: procedure(mode: Cardinal; id: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7793. // GL_ARB_transform_feedback3 (ARB #94)
  7794. glDrawTransformFeedbackStream: procedure(mode: Cardinal; id: TGLuint; stream: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7795. glBeginQueryIndexed: procedure(target: Cardinal; index: TGLuint; id: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7796. glEndQueryIndexed: procedure(target: Cardinal; index: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7797. glGetQueryIndexediv: procedure(target: Cardinal; index: TGLuint; pname: Cardinal; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7798. // ###########################################################
  7799. // function and procedure definitions for
  7800. // Vendor/EXT extensions
  7801. // ###########################################################
  7802. // Unknown Vendor/EXT functions
  7803. glArrayElementArrayEXT: procedure(mode: Cardinal; count: TGLsizei; pi: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7804. // GL_WIN_swap_hint (extension # not found)
  7805. glAddSwapHintRectWIN: procedure(x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7806. // GL_EXT_blend_color (EXT #2)
  7807. glBlendColorEXT: procedure(red, green, blue: TGLclampf; alpha: TGLclampf); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7808. // GL_EXT_polygon_offset (EXT #3)
  7809. glPolygonOffsetEXT: procedure(factor, bias: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7810. // GL_EXT_texture3D (EXT #6)
  7811. 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}
  7812. // GL_EXT_subtexture (EXT #9)
  7813. glTexSubImage1DEXT: procedure(target: Cardinal; level, xoffset: TGLint; width: TGLsizei; format, Atype: Cardinal; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7814. glTexSubImage2DEXT: procedure(target: Cardinal; level, xoffset, yoffset: TGLint; width, height: TGLsizei; format, Atype: Cardinal; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7815. glTexSubImage3DEXT: procedure(target: Cardinal; level, xoffset, yoffset, zoffset: TGLint; width, height, depth: TGLsizei; format, Atype: Cardinal; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7816. // GL_EXT_copy_texture (EXT #10)
  7817. glCopyTexImage1DEXT: procedure(target: Cardinal; level: TGLint; internalFormat: Cardinal; x, y: TGLint; width: TGLsizei; border: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7818. glCopyTexImage2DEXT: procedure(target: Cardinal; level: TGLint; internalFormat: Cardinal; x, y: TGLint; width, height: TGLsizei; border: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7819. glCopyTexSubImage1DEXT: procedure(target: Cardinal; level, xoffset, x, y: TGLint; width: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7820. glCopyTexSubImage2DEXT: procedure(target: Cardinal; level, xoffset, yoffset, x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7821. glCopyTexSubImage3DEXT: procedure(target: Cardinal; level, xoffset, yoffset, zoffset, x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7822. // GL_EXT_texture_object (EXT #20)
  7823. glGenTexturesEXT: procedure(n: TGLsizei; textures: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7824. glDeleteTexturesEXT: procedure(n: TGLsizei; textures: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7825. glBindTextureEXT: procedure(target: Cardinal; texture: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7826. glPrioritizeTexturesEXT: procedure(n: TGLsizei; textures: PGLuint; priorities: PGLclampf); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7827. glAreTexturesResidentEXT: function(n: TGLsizei; textures: PGLuint; residences: PGLBoolean): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7828. glIsTextureEXT: function(texture: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7829. // GL_SGIS_multisample (EXT #25)
  7830. glSampleMaskSGIS: procedure(Value: TGLclampf; invert: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7831. glSamplePatternSGIS: procedure(pattern: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7832. // GL_EXT_blend_minmax (EXT #37)
  7833. glBlendEquationEXT: procedure(mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7834. // GL_EXT_paletted_texture (EXT #78)
  7835. glColorTableEXT: procedure(target, internalFormat: Cardinal; width: TGLsizei; format, atype: Cardinal; data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7836. glColorSubTableExt: procedure(target: Cardinal; start, count: TGLsizei; format, atype: Cardinal; data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7837. glGetColorTableEXT: procedure(target, format, atype: Cardinal; data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7838. glGetColorTableParameterfvEXT: procedure(target, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7839. glGetColorTableParameterivEXT: procedure(target, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7840. // glGetColorTableParameterfvEXT: procedure(target, pname: Cardinal; params: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7841. // glGetColorTableParameterivEXT: procedure(target, pname: Cardinal; params: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7842. // GL_EXT_index_material (EXT #94)
  7843. glIndexMaterialEXT: procedure(face: Cardinal; mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7844. // GL_EXT_index_func (EXT #95)
  7845. glIndexFuncEXT: procedure(func: Cardinal; ref: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7846. // GL_EXT_compiled_vertex_array (EXT #97)
  7847. glLockArraysEXT: procedure(first: TGLint; count: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7848. glUnlockArraysEXT: procedure; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7849. // GL_EXT_draw_range_elements (EXT #112)
  7850. glDrawRangeElementsEXT: procedure(mode: Cardinal; start, Aend: TGLuint; Count: TGLsizei; Atype: Cardinal; indices: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7851. // GL_EXT_scene_marker (EXT #120)
  7852. glBeginSceneEXT: procedure; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7853. glEndSceneEXT: procedure; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7854. // GL_EXT_secondary_color (EXT #145)
  7855. glSecondaryColor3bEXT: procedure(red, green, blue: TGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7856. glSecondaryColor3bvEXT: procedure(v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7857. glSecondaryColor3dEXT: procedure(red, green, blue: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7858. glSecondaryColor3dvEXT: procedure(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7859. glSecondaryColor3fEXT: procedure(red, green, blue: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7860. glSecondaryColor3fvEXT: procedure(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7861. glSecondaryColor3iEXT: procedure(red, green, blue: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7862. glSecondaryColor3ivEXT: procedure(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7863. glSecondaryColor3sEXT: procedure(red, green, blue: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7864. glSecondaryColor3svEXT: procedure(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7865. glSecondaryColor3ubEXT: procedure(red, green, blue: TGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7866. glSecondaryColor3ubvEXT: procedure(v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7867. glSecondaryColor3uiEXT: procedure(red, green, blue: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7868. glSecondaryColor3uivEXT: procedure(v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7869. glSecondaryColor3usEXT: procedure(red, green, blue: TGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7870. glSecondaryColor3usvEXT: procedure(v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7871. glSecondaryColorPointerEXT: procedure(Size: TGLint; Atype: Cardinal; stride: TGLsizei; p: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7872. // GL_EXT_multi_draw_arrays (EXT #148)
  7873. glMultiDrawArraysEXT: procedure(mode: Cardinal; First: PGLint; Count: PGLsizei; primcount: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7874. glMultiDrawElementsEXT: procedure(mode: Cardinal; Count: PGLsizei; AType: Cardinal; var indices; primcount: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7875. // GL_EXT_fog_coord (EXT #149)
  7876. glFogCoordfEXT: procedure(coord: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7877. glFogCoordfvEXT: procedure(coord: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7878. glFogCoorddEXT: procedure(coord: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7879. glFogCoorddvEXT: procedure(coord: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7880. glFogCoordPointerEXT: procedure(AType: Cardinal; stride: TGLsizei; p: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7881. // GL_EXT_blend_func_separate (EXT #173)
  7882. glBlendFuncSeparateEXT: procedure(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7883. // GL_NV_vertex_array_range (EXT #190)
  7884. glFlushVertexArrayRangeNV: procedure; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7885. glVertexArrayRangeNV: procedure(Size: TGLsizei; p: pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7886. wglAllocateMemoryNV: function(size: TGLsizei; readFrequency, writeFrequency, priority: Single): Pointer; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7887. wglFreeMemoryNV: procedure(ptr: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7888. // GL_NV_register_combiners (EXT #191)
  7889. glCombinerParameterfvNV: procedure(pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7890. glCombinerParameterfNV: procedure(pname: Cardinal; param: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7891. glCombinerParameterivNV: procedure(pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7892. glCombinerParameteriNV: procedure(pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7893. glCombinerInputNV: procedure(stage, portion, variable, input, mapping, componentUsage: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7894. glCombinerOutputNV: procedure(stage, portion, abOutput, cdOutput, sumOutput, scale, bias: Cardinal; abDotProduct, cdDotProduct, muxSum: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7895. glFinalCombinerInputNV: procedure(variable, input, mapping, componentUsage: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7896. glGetCombinerInputParameterfvNV: procedure(stage, portion, variable, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7897. glGetCombinerInputParameterivNV: procedure(stage, portion, variable, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7898. glGetCombinerOutputParameterfvNV: procedure(stage, portion, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7899. glGetCombinerOutputParameterivNV: procedure(stage, portion, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7900. glGetFinalCombinerInputParameterfvNV: procedure(variable, pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7901. glGetFinalCombinerInputParameterivNV: procedure(variable, pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7902. // GL_MESA_resize_buffers (EXT #196)
  7903. glResizeBuffersMESA: procedure; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7904. // GL_3DFX_tbuffer (EXT #208)
  7905. glTbufferMask3DFX: procedure(mask: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7906. // GL_EXT_multisample (EXT #209)
  7907. glSampleMaskEXT: procedure(Value: TGLclampf; invert: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7908. glSamplePatternEXT: procedure(pattern: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7909. // GL_SGIS_texture_color_mask (EXT #214)
  7910. glTextureColorMaskSGIS: procedure(red, green, blue, alpha: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7911. // GL_NV_fence (EXT #222)
  7912. glGenFencesNV: procedure(n: TGLsizei; fences: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7913. glDeleteFencesNV: procedure(n: TGLsizei; fences: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7914. glSetFenceNV: procedure(fence: TGLuint; condition: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7915. glTestFenceNV: function(fence: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7916. glFinishFenceNV: procedure(fence: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7917. glIsFenceNV: function(fence: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7918. glGetFenceivNV: procedure(fence: TGLuint; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7919. // GL_NV_vertex_program (EXT #233)
  7920. glAreProgramsResidentNV: procedure(n: TGLSizei; programs: PGLuint; residences: PGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7921. glBindProgramNV: procedure(target: Cardinal; id: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7922. glDeleteProgramsNV: procedure(n: TGLSizei; programs: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7923. glExecuteProgramNV: procedure(target: Cardinal; id: TGLuint; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7924. glGenProgramsNV: procedure(n: TGLSizei; programs: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7925. glGetProgramParameterdvNV: procedure (target: Cardinal; index: TGLuint; pname: Cardinal; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7926. glGetProgramParameterfvNV: procedure (target: Cardinal; index: TGLuint; pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7927. glGetProgramivNV: procedure (id: TGLuint; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7928. glGetProgramStringNV: procedure (id: TGLuint; pname: Cardinal; programIdx: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7929. glGetTrackMatrixivNV: procedure (target: Cardinal; address: TGLuint; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7930. glGetVertexAttribdvNV: procedure (index: TGLuint; pname: Cardinal; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7931. glGetVertexAttribfvNV: procedure (index: TGLuint; pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7932. glGetVertexAttribivNV: procedure (index: TGLuint; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7933. glGetVertexAttribPointervNV: procedure (index: TGLuint; pname: Cardinal; pointer: PGLPointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7934. glIsProgramNV: function (id: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7935. glLoadProgramNV: procedure (target: Cardinal; id: TGLuint; len: TGLSizei; programIdx: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7936. glProgramParameter4dNV: procedure (target: Cardinal; index: TGLuint; x, y, z, w: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7937. glProgramParameter4dvNV: procedure (target: Cardinal; index: TGLuint; v: PGLdouble ); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7938. glProgramParameter4fNV: procedure (target: Cardinal; index: TGLuint; x, y, z, w: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7939. glProgramParameter4fvNV: procedure (target: Cardinal; index: TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7940. glProgramParameters4dvNV: procedure (target: Cardinal; index: TGLuint; count: TGLSizei; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7941. glProgramParameters4fvNV: procedure (target: Cardinal; index: TGLuint; count: TGLSizei; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7942. glRequestResidentProgramsNV: procedure (n: TGLSizei; programs: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7943. glTrackMatrixNV: procedure (target: Cardinal; address: TGLuint; matrix: Cardinal; transform: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7944. glVertexAttribPointerNV: procedure (index: TGLuint; fsize: TGLint; vertextype: Cardinal; stride: TGLSizei; pointer: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7945. glVertexAttrib1dNV: procedure (index: TGLuint; x: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7946. glVertexAttrib1dvNV: procedure (index: TGLuint; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7947. glVertexAttrib1fNV: procedure (index: TGLuint; x: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7948. glVertexAttrib1fvNV: procedure (index: TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7949. glVertexAttrib1sNV: procedure (index: TGLuint; x: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7950. glVertexAttrib1svNV: procedure (index: TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7951. glVertexAttrib2dNV: procedure (index: TGLuint; x: TGLdouble; y: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7952. glVertexAttrib2dvNV: procedure (index: TGLuint; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7953. glVertexAttrib2fNV: procedure (index: TGLuint; x: Single; y: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7954. glVertexAttrib2fvNV: procedure (index: TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7955. glVertexAttrib2sNV: procedure (index: TGLuint; x: TGLshort; y: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7956. glVertexAttrib2svNV: procedure (index: TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7957. glVertexAttrib3dNV: procedure (index: TGLuint; x: TGLdouble; y: TGLdouble; z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7958. glVertexAttrib3dvNV: procedure (index: TGLuint; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7959. glVertexAttrib3fNV: procedure (index: TGLuint; x: Single; y: Single; z: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7960. glVertexAttrib3fvNV: procedure (index: TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7961. glVertexAttrib3sNV: procedure (index: TGLuint; x: TGLshort; y: TGLshort; z: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7962. glVertexAttrib3svNV: procedure (index: TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7963. glVertexAttrib4dNV: procedure (index: TGLuint; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7964. glVertexAttrib4dvNV: procedure (index: TGLuint; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7965. glVertexAttrib4fNV: procedure(index: TGLuint; x: Single; y: Single; z: Single; w: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7966. glVertexAttrib4fvNV: procedure(index: TGLuint; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7967. glVertexAttrib4sNV: procedure (index: TGLuint; x: TGLshort; y: TGLshort; z: TGLdouble; w: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7968. glVertexAttrib4svNV: procedure (index: TGLuint; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7969. glVertexAttrib4ubvNV: procedure (index: TGLuint; v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7970. glVertexAttribs1dvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7971. glVertexAttribs1fvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7972. glVertexAttribs1svNV: procedure (index: TGLuint; count: TGLSizei; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7973. glVertexAttribs2dvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7974. glVertexAttribs2fvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7975. glVertexAttribs2svNV: procedure (index: TGLuint; count: TGLSizei; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7976. glVertexAttribs3dvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7977. glVertexAttribs3fvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7978. glVertexAttribs3svNV: procedure (index: TGLuint; count: TGLSizei; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7979. glVertexAttribs4dvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7980. glVertexAttribs4fvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7981. glVertexAttribs4svNV: procedure (index: TGLuint; count: TGLSizei; v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7982. glVertexAttribs4ubvNV: procedure (index: TGLuint; count: TGLSizei; v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7983. // GL_NV_occlusion_query (EXT #261)
  7984. glGenOcclusionQueriesNV: procedure(n: TGLsizei; ids: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7985. glDeleteOcclusionQueriesNV: procedure(n: TGLsizei; const ids: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7986. glIsOcclusionQueryNV: function(id: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7987. glBeginOcclusionQueryNV: procedure(id: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7988. glEndOcclusionQueryNV: procedure; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7989. glGetOcclusionQueryivNV: procedure(id: TGLuint; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7990. glGetOcclusionQueryuivNV: procedure(id: TGLuint; pname: Cardinal; params: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7991. // GL_NV_point_sprite (EXT #262)
  7992. glPointParameteriNV: procedure(pname: Cardinal; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7993. glPointParameterivNV: procedure(pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7994. // GL_EXT_stencil_two_side (EXT #268)
  7995. glActiveStencilFaceEXT: procedure(face: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7996. // GL_ATI_draw_buffers (EXT #277)
  7997. glDrawBuffersATI: procedure(n: GLsizei; const bufs: PGLenum); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  7998. // GL_NV_primitive_restart (EXT #285)
  7999. glPrimitiveRestartNV: procedure();{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8000. glPrimitiveRestartIndexNV: procedure(index: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8001. // GL_EXT_depth_bounds_test (EXT #297)
  8002. glDepthBoundsEXT: procedure(zmin: TGLclampd; zmax: TGLclampd);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8003. // GL_EXT_blend_equation_separate (EXT #299)
  8004. glBlendEquationSeparateEXT: procedure(modeRGB: Cardinal; modeAlpha: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8005. // GL_EXT_framebuffer_object (EXT #310)
  8006. glIsRenderbufferEXT: function(renderbuffer: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8007. glBindRenderbufferEXT: procedure(target: Cardinal; renderbuffer: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8008. glDeleteRenderbuffersEXT: procedure(n: TGLsizei; renderbuffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8009. glGenRenderbuffersEXT: procedure(n: TGLsizei; renderbuffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8010. glRenderbufferStorageEXT: procedure(target: Cardinal; internalformat: Cardinal; width: TGLsizei; height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8011. glGetRenderbufferParameterivEXT: procedure(target: Cardinal; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8012. glIsFramebufferEXT: function(framebuffer: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8013. glBindFramebufferEXT: procedure(target: Cardinal; framebuffer: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8014. glDeleteFramebuffersEXT: procedure(n: TGLsizei; framebuffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8015. glGenFramebuffersEXT: procedure(n: TGLsizei; framebuffers: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8016. glCheckFramebufferStatusEXT: function(target: Cardinal): Cardinal; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8017. glFramebufferTexture1DEXT: procedure(target: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: TGLuint; level: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8018. glFramebufferTexture2DEXT: procedure(target: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: TGLuint; level: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8019. glFramebufferTexture3DEXT: procedure(target: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: TGLuint; level: TGLint; zoffset: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8020. glFramebufferRenderbufferEXT: procedure(target: Cardinal; attachment: Cardinal; renderbuffertarget: Cardinal; renderbuffer: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8021. glGetFramebufferAttachmentParameterivEXT: procedure(target: Cardinal; attachment: Cardinal; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8022. glGenerateMipmapEXT: procedure(target: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8023. // GL_EXT_stencil_clear_tag (EXT #314)
  8024. glStencilClearTagEXT: procedure(stencilTagBits: TGLsizei; stencilClearTag: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8025. // GL_EXT_framebuffer_blit (#316)
  8026. glBlitFramebufferEXT: procedure(srcX0: TGLint; srcY0: TGLint; srcX1: TGLint; srcY1: TGLint;
  8027. dstX0: TGLint; dstY0: TGLint; dstX1: TGLint; dstY1: TGLint;
  8028. mask: TGLbitfield; filter: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8029. // GL_EXT_framebuffer_multisample (#317)
  8030. glRenderbufferStorageMultisampleEXT: procedure(target: Cardinal; samples: TGLsizei;
  8031. internalformat: Cardinal; width: TGLsizei; height: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8032. // GL_EXT_timer_query (#319)
  8033. glGetQueryObjecti64vEXT: procedure(id: TGLuint; pname: Cardinal; params: PGLint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8034. glGetQueryObjectui64vEXT: procedure(id: TGLuint; pname: Cardinal; params: PGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8035. // GL_EXT_gpu_program_parameters (EXT #320)
  8036. glProgramEnvParameters4fvEXT: procedure(target:Cardinal; index:TGLuint; count:TGLsizei;
  8037. const params:PGLfloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8038. glProgramLocalParameters4fvEXT: procedure(target:Cardinal; index:TGLuint; count:TGLsizei;
  8039. const params:PGLFloat);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8040. // GL_NV_geometry_program4 (EXT #323)
  8041. glProgramVertexLimitNV: procedure (target: Cardinal; limit: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8042. // GL_EXT_geometry_shader4 (EXT #324)
  8043. glProgramParameteriEXT: procedure ( _program:TGLuint; pname:Cardinal; value: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8044. glFramebufferTextureEXT: procedure ( target:Cardinal; attachment:Cardinal; texture:TGLuint; level:TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8045. glFramebufferTextureLayerEXT: procedure ( target:Cardinal; attachment:Cardinal; texture:TGLuint; level:TGLint; layer:TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8046. glFramebufferTextureFaceEXT: procedure ( target:Cardinal; attachment:Cardinal; texture:TGLuint; level:TGLint; face:Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8047. // GL_EXT_gpu_shader4 (EXT #326)
  8048. glVertexAttribI1iEXT: procedure(index: TGLuint; x: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8049. glVertexAttribI2iEXT: procedure(index: TGLuint; x: TGLint; y: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8050. glVertexAttribI3iEXT: procedure(index: TGLuint; x: TGLint; y: TGLint; z: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8051. glVertexAttribI4iEXT: procedure(index: TGLuint; x: TGLint; y: TGLint; z: TGLint; w: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8052. glVertexAttribI1uiEXT: procedure(index: TGLuint; x: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8053. glVertexAttribI2uiEXT: procedure(index: TGLuint; x: TGLuint; y: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8054. glVertexAttribI3uiEXT: procedure(index: TGLuint; x: TGLuint; y: TGLuint; z: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8055. glVertexAttribI4uiEXT: procedure(index: TGLuint; x: TGLuint; y: TGLuint; z: TGLuint; w: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8056. glVertexAttribI1ivEXT: procedure(index: TGLuint; v:PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8057. glVertexAttribI2ivEXT: procedure(index: TGLuint; v:PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8058. glVertexAttribI3ivEXT: procedure(index: TGLuint; v:PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8059. glVertexAttribI4ivEXT: procedure(index: TGLuint; v:PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8060. glVertexAttribI1uivEXT: procedure(index: TGLuint; v:PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8061. glVertexAttribI2uivEXT: procedure(index: TGLuint; v:PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8062. glVertexAttribI3uivEXT: procedure(index: TGLuint; v:PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8063. glVertexAttribI4uivEXT: procedure(index: TGLuint; v:PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8064. glVertexAttribI4bvEXT: procedure(index: TGLuint; v:PGLbyte);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8065. glVertexAttribI4svEXT: procedure(index: TGLuint; v:PGLshort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8066. glVertexAttribI4ubvEXT: procedure(index: TGLuint; v: PGLUbyte);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8067. glVertexAttribI4usvEXT: procedure(index: TGLuint; v: PGLushort);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8068. glVertexAttribIPointerEXT: procedure(index: TGLuint; size: TGLint; _type: Cardinal;
  8069. stride: TGLsizei; _pointer: pointer);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8070. glGetVertexAttribIivEXT: procedure(index: TGLuint; pname: Cardinal; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8071. glGetVertexAttribIuivEXT: procedure(index: TGLuint; pname: Cardinal; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8072. glUniform1uiEXT: procedure(location: TGLInt; v0: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8073. glUniform2uiEXT: procedure(location: TGLInt; v0: TGLuint; v1: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8074. glUniform3uiEXT: procedure(location: TGLInt; v0: TGLuint; v1: TGLuint; v2: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8075. glUniform4uiEXT: procedure(location: TGLInt; v0: TGLuint; v1: TGLuint; v2: TGLuint; v3: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8076. glUniform1uivEXT: procedure(location: TGLInt; count: TGLsizei; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8077. glUniform2uivEXT: procedure(location: TGLInt; count: TGLsizei; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8078. glUniform3uivEXT: procedure(location: TGLInt; count: TGLsizei; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8079. glUniform4uivEXT: procedure(location: TGLInt; count: TGLsizei; value: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8080. glGetUniformuivEXT: procedure(_program: TGLuint; location: TGLint; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8081. glBindFragDataLocationEXT: procedure(_program: TGLuint; colorNumber: TGLuint; name: PGLChar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8082. glGetFragDataLocationEXT: function(_program: TGLuint; name: PGLChar): TGLint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8083. // GL_EXT_draw_instanced (#327)
  8084. glDrawArraysInstancedEXT: procedure(mode: Cardinal; first: TGLint; count: TGLsizei;
  8085. primcount: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8086. glDrawElementsInstancedEXT: procedure(mode: Cardinal; count: TGLSizei; _type: Cardinal;
  8087. indices: PGLvoid; primcount: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8088. // GL_EXT_packed_float (#328)
  8089. // WGL_EXT_pixel_format_packed_float
  8090. // GLX_EXT_fbconfig_packed_float
  8091. // GL_EXT_texture_array (#329)
  8092. //glFramebufferTextureLayerEXT: procedure(target: Cardinal; attachment: Cardinal;
  8093. // texture: TGLuint; level: TGLint; layer: TGLint);
  8094. // GL_EXT_texture_buffer_object (#330)
  8095. glTexBufferEXT: procedure(target: Cardinal; internalformat: Cardinal; buffer: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8096. // GL_EXT_draw_buffers2 (#340)
  8097. glColorMaskIndexedEXT: procedure(buf: TGLuint; r: TGLboolean; g: TGLboolean;
  8098. b: TGLboolean; a: TGLboolean);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8099. glGetBooleanIndexedvEXT: procedure(value: Cardinal; index: TGLuint; data: PGLboolean);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8100. glGetIntegerIndexedvEXT: procedure(value: Cardinal; index: TGLuint; data: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8101. glEnableIndexedEXT: procedure(target: Cardinal; index: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8102. glDisableIndexedEXT: procedure(target: Cardinal; index: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8103. glIsEnabledIndexedEXT: function(target: Cardinal; index: TGLuint): TGLboolean;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8104. // GL_NV_transform_feedback (#341)
  8105. glBindBufferRangeNV: procedure(target: Cardinal; index: TGLuint; buffer: TGLuint;
  8106. offset: TGLintptr; size: TGLsizeiptr);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8107. glBindBufferOffsetNV: procedure(target: Cardinal; index: TGLuint; buffer: TGLuint;
  8108. offset: TGLintptr);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8109. glBindBufferBaseNV: procedure(target: Cardinal; index: TGLuint; buffer: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8110. glTransformFeedbackAttribsNV: procedure(count: TGLsizei; attribs: PGLint;
  8111. bufferMode: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8112. glTransformFeedbackVaryingsNV: procedure(_program: TGLuint; count: TGLsizei;
  8113. locations: PGLint;
  8114. bufferMode: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8115. glBeginTransformFeedbackNV: procedure(primitiveMode: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8116. glEndTransformFeedbackNV: procedure();{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8117. glGetVaryingLocationNV: function(_program: TGLuint; name: PGLChar): TGLint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8118. glGetActiveVaryingNV: procedure(_program: TGLuint; index: TGLuint;
  8119. bufSize: TGLsizei; length: PGLsizei; size: PGLsizei;
  8120. _type: Cardinal; name: PGLChar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8121. glActiveVaryingNV: procedure(_program: TGLuint; name: PGLChar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8122. glGetTransformFeedbackVaryingNV: procedure(_program: TGLuint; index: TGLuint;
  8123. location: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8124. // GL_EXT_bindable_uniform (#342)
  8125. glUniformBufferEXT: procedure(_program: TGLUint; location: TGLint; buffer: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8126. glGetUniformBufferSizeEXT: function(_program: TGLuint; location: TGLint): TGLint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8127. glGetUniformOffsetEXT: function(_program: TGLuint; location: TGLint): PGLint;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8128. // GL_EXT_texture_integer (#343)
  8129. glClearColorIiEXT: procedure(r: TGLint; g: TGLint; b: TGLint; a: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8130. glClearColorIuiEXT: procedure(r: TGLuint; g: TGLuint; b: TGLuint; a: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8131. glTexParameterIivEXT: procedure(target: Cardinal; pname: Cardinal; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8132. glTexParameterIuivEXT: procedure(target: Cardinal; pname: Cardinal; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8133. glGetTexParameterIivEXT: procedure(target: Cardinal; pname: Cardinal; params: PGLint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8134. glGetTexParameterIuivEXT: procedure(target: Cardinal; pname: Cardinal; params: PGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8135. // GL_NV_conditional_render (#346)
  8136. glBeginConditionalRenderNV: procedure(id: TGLuint; mode: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8137. glEndConditionalRenderNV: procedure();{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8138. // GL_EXT_transform_feedback (#352)
  8139. glBindBufferRangeEXT: procedure(target: Cardinal; index: TGLuint; buffer: TGLuint;
  8140. offset:TGLintptr; size: TGLsizeiptr);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8141. glBindBufferOffsetEXT: procedure(target: Cardinal; index: TGLuint; buffer: TGLuint;
  8142. offset:TGLintptr);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8143. glBindBufferBaseEXT: procedure(target: Cardinal; index: TGLuint; buffer: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8144. glBeginTransformFeedbackEXT: procedure(primitiveMode: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8145. glEndTransformFeedbackEXT: procedure();{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8146. glTransformFeedbackVaryingsEXT: procedure(_program: TGLuint; count: TGLsizei;
  8147. const varyings: PGLPCharArray; bufferMode: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8148. glGetTransformFeedbackVaryingEXT: procedure(_program: TGLuint; index: TGLuint;
  8149. bufSize: TGLsizei; length: PGLsizei;
  8150. size: PGLsizei; _type: PGLenum; name: PGLChar);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8151. // GL_AMD_vertex_shader_tessellator (#363)
  8152. glTessellationFactorAMD: procedure(factor: Single); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8153. glTessellationModeAMD: procedure(mode: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8154. // GL_NV_copy_image (#376)
  8155. glCopyImageSubDataNV: procedure(
  8156. srcName: GLuint; srcTarget: GLenum; srcLevel: GLint;
  8157. srcX: GLint; srcY: GLint; srcZ: GLint;
  8158. dstName: GLuint; dstTarget: GLenum; dstLevel: GLint;
  8159. dstX: GLint; dstY: GLint; dstZ: GLint;
  8160. width: GLsizei; height: GLsizei; depth: GLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8161. // GL_NV_shader_buffer_load (#379)
  8162. glMakeBufferResidentNV: procedure(target: Cardinal; access: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8163. glMakeBufferNonResidentNV: procedure(target: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8164. glIsBufferResidentNV: function(target: Cardinal): TGLboolean;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8165. glMakeNamedBufferResidentNV: procedure(buffer: TGLuint; access: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8166. glMakeNamedBufferNonResidentNV: procedure(buffer: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8167. glIsNamedBufferResidentNV: function (buffer: TGLuint): TGLboolean;{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8168. glGetBufferParameterui64vNV: procedure(target: Cardinal; pname: Cardinal; params: PGLuint64EXT );{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8169. glGetNamedBufferParameterui64vNV: procedure(buffer: TGLuint; pname: Cardinal; params: PGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8170. glGetIntegerui64vNV: procedure(value: Cardinal; result: PGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8171. glUniformui64NV: procedure(location: TGLint; value: TGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8172. glUniformui64vNV: procedure(location: GLint; count: TGLsizei; const value: PGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8173. glGetUniformui64vNV: procedure(_program: TGLuint; location: TGLint; params: PGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8174. glProgramUniformui64NV: procedure(_program: TGLuint; location: TGLint; value: TGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8175. glProgramUniformui64vNV: procedure(_program: TGLuint; location: TGLint; count: TGLsizei; const value: PGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8176. // GL_NV_vertex_buffer_unified_memory (#380)
  8177. glBufferAddressRangeNV: procedure(pname: Cardinal; index: TGLuint; address: TGLuint64EXT; length: TGLsizeiptr);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8178. glVertexFormatNV: procedure(size: TGLint; _type: Cardinal; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8179. glNormalFormatNV: procedure(_type: Cardinal; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8180. glColorFormatNV: procedure(size: TGLint; _type: Cardinal; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8181. glIndexFormatNV: procedure(_type: Cardinal; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8182. glTexCoordFormatNV: procedure(size: TGLint; _type: Cardinal; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8183. glEdgeFlagFormatNV: procedure(stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8184. glSecondaryColorFormatNV: procedure(size: TGLint; _type: Cardinal; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8185. glFogCoordFormatNV: procedure(_type: Cardinal; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8186. glVertexAttribFormatNV: procedure(index: TGLuint; size: TGLint; _type: Cardinal; normalized: TGLboolean; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8187. glVertexAttribIFormatNV: procedure(index: TGLuint; size: TGLint; _type: Cardinal; stride: TGLsizei);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8188. glGetIntegerui64i_vNV: procedure(value: Cardinal; index: TGLuint; result: PGLuint64EXT);{$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8189. // Special Gremedy debugger extension
  8190. glFrameTerminatorGREMEDY: procedure(); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8191. glStringMarkerGREMEDY: procedure(len: GLsizei; str: PGLChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
  8192. //------------------------------------------------------------------------------
  8193. function GLGetProcAddress(ProcName: PGLChar): Pointer;
  8194. procedure ReadExtensions;
  8195. procedure ReadImplementationProperties;
  8196. {$IFDEF SUPPORT_WGL}
  8197. procedure ReadWGLExtensions;
  8198. procedure ReadWGLImplementationProperties;
  8199. {$ENDIF}
  8200. {$IFDEF SUPPORT_GLX}
  8201. procedure ReadGLXExtensions;
  8202. procedure ReadGLXImplementationProperties;
  8203. {$ENDIF}
  8204. procedure CloseOpenGL;
  8205. function InitOpenGL : Boolean;
  8206. function InitOpenGLFromLibrary(const GLName, GLUName : String) : Boolean;
  8207. function IsOpenGLInitialized: Boolean;
  8208. // compatibility routines
  8209. procedure UnloadOpenGL;
  8210. function LoadOpenGL : Boolean;
  8211. function LoadOpenGLFromLibrary(const GLName, GLUName: String): Boolean;
  8212. function IsOpenGLLoaded : Boolean;
  8213. function IsMesaGL : Boolean;
  8214. procedure TrimAndSplitVersionString(Buffer: String; out Max, Min: Integer);
  8215. function IsVersionMet(MajorVersion,MinorVersion, actualMajorVersion, actualMinorVersion:Integer): boolean;
  8216. function IsOpenGLVersionMet(MajorVersion,MinorVersion: Integer): boolean;
  8217. type
  8218. EOpenGLError = class(Exception);
  8219. procedure CheckOpenGLError; //Gets the oldest error and tries to clear the error queue
  8220. procedure ClearGLError; //Clears all pending OpenGL errors
  8221. procedure RaiseOpenGLError(const msg : String); //Raises an EOpenGLError with 'msg' error string
  8222. var
  8223. vIgnoreOpenGLErrors : Boolean = false;
  8224. // ------------------------------------------------------------------
  8225. implementation
  8226. // ------------------------------------------------------------------
  8227. // ************** Windows specific ********************
  8228. {$IFDEF MSWINDOWS}
  8229. const
  8230. INVALID_MODULEHANDLE = 0;
  8231. var
  8232. GLHandle: HINST;
  8233. GLUHandle: HINST;
  8234. function GLGetProcAddress(ProcName: PGLChar):Pointer;
  8235. begin
  8236. result := wglGetProcAddress(ProcName);
  8237. end;
  8238. {$ENDIF}
  8239. // ************** UNIX specific ********************
  8240. {$IFDEF Unix}
  8241. const
  8242. INVALID_MODULEHANDLE = 0;//nil;
  8243. var
  8244. GLHandle: TLibHandle = 0;//Pointer;
  8245. GLUHandle: TLibHandle = 0;//Pointer;
  8246. function GLGetProcAddress(ProcName: PGLChar):Pointer;
  8247. begin
  8248. {$IFDEF SUPPORT_GLX}
  8249. if @glXGetProcAddress<>nil then
  8250. result := glXGetProcAddress(ProcName);
  8251. if result <> nil then exit;
  8252. if @glXGetProcAddressARB<>nil then
  8253. result := glXGetProcAddressARB(ProcName);
  8254. if result <> nil then exit;
  8255. {$ENDIF}
  8256. result := GetProcAddress(GLHandle, ProcName);
  8257. end;
  8258. {$ENDIF}
  8259. procedure CheckOpenGLError;
  8260. var
  8261. GLError : LongWord;
  8262. Count : Word;
  8263. begin
  8264. GLError:=glGetError;
  8265. if GLError <> GL_NO_ERROR then begin
  8266. Count:=0;
  8267. // Because under some circumstances reading the error code creates a new error
  8268. // and thus hanging up the thread, we limit the loop to 6 reads.
  8269. try
  8270. while (glGetError <> GL_NO_ERROR) and (Count < 6) do Inc(Count);
  8271. except
  8272. // Egg : ignore exceptions here, will perhaps avoid problem expressed before
  8273. end;
  8274. if not vIgnoreOpenGLErrors then
  8275. raise EOpenGLError.Create(String(gluErrorString(GLError)));
  8276. end;
  8277. end;
  8278. procedure ClearGLError;
  8279. var
  8280. n : Integer;
  8281. begin
  8282. n:=0;
  8283. while (glGetError<>GL_NO_ERROR) and (n<6) do Inc(n);
  8284. end;
  8285. procedure RaiseOpenGLError(const msg : String);
  8286. begin
  8287. raise EOpenGLError.Create(msg);
  8288. end;
  8289. // ************** Extensions ********************
  8290. procedure ReadExtensions;
  8291. begin
  8292. glBlendColor := GLGetProcAddress('glBlendColor');
  8293. glBlendEquation := GLGetProcAddress('glBlendEquation');
  8294. glDrawRangeElements := GLGetProcAddress('glDrawRangeElements');
  8295. glColorTable := GLGetProcAddress('glColorTable');
  8296. glColorTableParameterfv := GLGetProcAddress('glColorTableParameterfv');
  8297. glColorTableParameteriv := GLGetProcAddress('glColorTableParameteriv');
  8298. glCopyColorTable := GLGetProcAddress('glCopyColorTable');
  8299. glGetColorTable := GLGetProcAddress('glGetColorTable');
  8300. glGetColorTableParameterfv := GLGetProcAddress('glGetColorTableParameterfv');
  8301. glGetColorTableParameteriv := GLGetProcAddress('glGetColorTableParameteriv');
  8302. glColorSubTable := GLGetProcAddress('glColorSubTable');
  8303. glCopyColorSubTable := GLGetProcAddress('glCopyColorSubTable');
  8304. glConvolutionFilter1D := GLGetProcAddress('glConvolutionFilter1D');
  8305. glConvolutionFilter2D := GLGetProcAddress('glConvolutionFilter2D');
  8306. glConvolutionParameterf := GLGetProcAddress('glConvolutionParameterf');
  8307. glConvolutionParameterfv := GLGetProcAddress('glConvolutionParameterfv');
  8308. glConvolutionParameteri := GLGetProcAddress('glConvolutionParameteri');
  8309. glConvolutionParameteriv := GLGetProcAddress('glConvolutionParameteriv');
  8310. glCopyConvolutionFilter1D := GLGetProcAddress('glCopyConvolutionFilter1D');
  8311. glCopyConvolutionFilter2D := GLGetProcAddress('glCopyConvolutionFilter2D');
  8312. glGetConvolutionFilter := GLGetProcAddress('glGetConvolutionFilter');
  8313. glGetConvolutionParameterfv := GLGetProcAddress('glGetConvolutionParameterfv');
  8314. glGetConvolutionParameteriv := GLGetProcAddress('glGetConvolutionParameteriv');
  8315. glGetSeparableFilter := GLGetProcAddress('glGetSeparableFilter');
  8316. glSeparableFilter2D := GLGetProcAddress('glSeparableFilter2D');
  8317. glGetHistogram := GLGetProcAddress('glGetHistogram');
  8318. glGetHistogramParameterfv := GLGetProcAddress('glGetHistogramParameterfv');
  8319. glGetHistogramParameteriv := GLGetProcAddress('glGetHistogramParameteriv');
  8320. glGetMinmax := GLGetProcAddress('glGetMinmax');
  8321. glGetMinmaxParameterfv := GLGetProcAddress('glGetMinmaxParameterfv');
  8322. glGetMinmaxParameteriv := GLGetProcAddress('glGetMinmaxParameteriv');
  8323. glHistogram := GLGetProcAddress('glHistogram');
  8324. glMinmax := GLGetProcAddress('glMinmax');
  8325. glResetHistogram := GLGetProcAddress('glResetHistogram');
  8326. glResetMinmax := GLGetProcAddress('glResetMinmax');
  8327. glTexImage3D := GLGetProcAddress('glTexImage3D');
  8328. glTexSubImage3D := GLGetProcAddress('glTexSubImage3D');
  8329. glCopyTexSubImage3D := GLGetProcAddress('glCopyTexSubImage3D');
  8330. glActiveTexture := GLGetProcAddress('glActiveTexture');
  8331. glClientActiveTexture := GLGetProcAddress('glClientActiveTexture');
  8332. glMultiTexCoord1d := GLGetProcAddress('glMultiTexCoord1d');
  8333. glMultiTexCoord1dV := GLGetProcAddress('glMultiTexCoord1dV');
  8334. glMultiTexCoord1f := GLGetProcAddress('glMultiTexCoord1f');
  8335. glMultiTexCoord1fV := GLGetProcAddress('glMultiTexCoord1fV');
  8336. glMultiTexCoord1i := GLGetProcAddress('glMultiTexCoord1i');
  8337. glMultiTexCoord1iV := GLGetProcAddress('glMultiTexCoord1iV');
  8338. glMultiTexCoord1s := GLGetProcAddress('glMultiTexCoord1s');
  8339. glMultiTexCoord1sV := GLGetProcAddress('glMultiTexCoord1sV');
  8340. glMultiTexCoord2d := GLGetProcAddress('glMultiTexCoord2d');
  8341. glMultiTexCoord2dv := GLGetProcAddress('glMultiTexCoord2dv');
  8342. glMultiTexCoord2f := GLGetProcAddress('glMultiTexCoord2f');
  8343. glMultiTexCoord2fv := GLGetProcAddress('glMultiTexCoord2fv');
  8344. glMultiTexCoord2i := GLGetProcAddress('glMultiTexCoord2i');
  8345. glMultiTexCoord2iv := GLGetProcAddress('glMultiTexCoord2iv');
  8346. glMultiTexCoord2s := GLGetProcAddress('glMultiTexCoord2s');
  8347. glMultiTexCoord2sv := GLGetProcAddress('glMultiTexCoord2sv');
  8348. glMultiTexCoord3d := GLGetProcAddress('glMultiTexCoord3d');
  8349. glMultiTexCoord3dv := GLGetProcAddress('glMultiTexCoord3dv');
  8350. glMultiTexCoord3f := GLGetProcAddress('glMultiTexCoord3f');
  8351. glMultiTexCoord3fv := GLGetProcAddress('glMultiTexCoord3fv');
  8352. glMultiTexCoord3i := GLGetProcAddress('glMultiTexCoord3i');
  8353. glMultiTexCoord3iv := GLGetProcAddress('glMultiTexCoord3iv');
  8354. glMultiTexCoord3s := GLGetProcAddress('glMultiTexCoord3s');
  8355. glMultiTexCoord3sv := GLGetProcAddress('glMultiTexCoord3sv');
  8356. glMultiTexCoord4d := GLGetProcAddress('glMultiTexCoord4d');
  8357. glMultiTexCoord4dv := GLGetProcAddress('glMultiTexCoord4dv');
  8358. glMultiTexCoord4f := GLGetProcAddress('glMultiTexCoord4f');
  8359. glMultiTexCoord4fv := GLGetProcAddress('glMultiTexCoord4fv');
  8360. glMultiTexCoord4i := GLGetProcAddress('glMultiTexCoord4i');
  8361. glMultiTexCoord4iv := GLGetProcAddress('glMultiTexCoord4iv');
  8362. glMultiTexCoord4s := GLGetProcAddress('glMultiTexCoord4s');
  8363. glMultiTexCoord4sv := GLGetProcAddress('glMultiTexCoord4sv');
  8364. glLoadTransposeMatrixf := GLGetProcAddress('glLoadTransposeMatrixf');
  8365. glLoadTransposeMatrixd := GLGetProcAddress('glLoadTransposeMatrixd');
  8366. glMultTransposeMatrixf := GLGetProcAddress('glMultTransposeMatrixf');
  8367. glMultTransposeMatrixd := GLGetProcAddress('glMultTransposeMatrixd');
  8368. glSampleCoverage := GLGetProcAddress('glSampleCoverage');
  8369. glCompressedTexImage3D := GLGetProcAddress('glCompressedTexImage3D');
  8370. glCompressedTexImage2D := GLGetProcAddress('glCompressedTexImage2D');
  8371. glCompressedTexImage1D := GLGetProcAddress('glCompressedTexImage1D');
  8372. glCompressedTexSubImage3D := GLGetProcAddress('glCompressedTexSubImage3D');
  8373. glCompressedTexSubImage2D := GLGetProcAddress('glCompressedTexSubImage2D');
  8374. glCompressedTexSubImage1D := GLGetProcAddress('glCompressedTexSubImage1D');
  8375. glGetCompressedTexImage := GLGetProcAddress('glGetCompressedTexImage');
  8376. glBlendFuncSeparate := GLGetProcAddress('glBlendFuncSeparate');
  8377. glFogCoordf := GLGetProcAddress('glFogCoordf');
  8378. glFogCoordfv := GLGetProcAddress('glFogCoordfv');
  8379. glFogCoordd := GLGetProcAddress('glFogCoordd');
  8380. glFogCoorddv := GLGetProcAddress('glFogCoorddv');
  8381. glFogCoordPointer := GLGetProcAddress('glFogCoordPointer');
  8382. glMultiDrawArrays := GLGetProcAddress('glMultiDrawArrays');
  8383. glMultiDrawElements := GLGetProcAddress('glMultiDrawElements');
  8384. glPointParameterf := GLGetProcAddress('glPointParameterf');
  8385. glPointParameterfv := GLGetProcAddress('glPointParameterfv');
  8386. glPointParameteri := GLGetProcAddress('glPointParameteri');
  8387. glPointParameteriv := GLGetProcAddress('glPointParameteriv');
  8388. glSecondaryColor3b := GLGetProcAddress('glSecondaryColor3b');
  8389. glSecondaryColor3bv := GLGetProcAddress('glSecondaryColor3bv');
  8390. glSecondaryColor3d := GLGetProcAddress('glSecondaryColor3d');
  8391. glSecondaryColor3dv := GLGetProcAddress('glSecondaryColor3dv');
  8392. glSecondaryColor3f := GLGetProcAddress('glSecondaryColor3f');
  8393. glSecondaryColor3fv := GLGetProcAddress('glSecondaryColor3fv');
  8394. glSecondaryColor3i := GLGetProcAddress('glSecondaryColor3i');
  8395. glSecondaryColor3iv := GLGetProcAddress('glSecondaryColor3iv');
  8396. glSecondaryColor3s := GLGetProcAddress('glSecondaryColor3s');
  8397. glSecondaryColor3sv := GLGetProcAddress('glSecondaryColor3sv');
  8398. glSecondaryColor3ub := GLGetProcAddress('glSecondaryColor3ub');
  8399. glSecondaryColor3ubv := GLGetProcAddress('glSecondaryColor3ubv');
  8400. glSecondaryColor3ui := GLGetProcAddress('glSecondaryColor3ui');
  8401. glSecondaryColor3uiv := GLGetProcAddress('glSecondaryColor3uiv');
  8402. glSecondaryColor3us := GLGetProcAddress('glSecondaryColor3us');
  8403. glSecondaryColor3usv := GLGetProcAddress('glSecondaryColor3usv');
  8404. glSecondaryColorPointer := GLGetProcAddress('glSecondaryColorPointer');
  8405. glWindowPos2d := GLGetProcAddress('glWindowPos2d');
  8406. glWindowPos2dv := GLGetProcAddress('glWindowPos2dv');
  8407. glWindowPos2f := GLGetProcAddress('glWindowPos2f');
  8408. glWindowPos2fv := GLGetProcAddress('glWindowPos2fv');
  8409. glWindowPos2i := GLGetProcAddress('glWindowPos2i');
  8410. glWindowPos2iv := GLGetProcAddress('glWindowPos2iv');
  8411. glWindowPos2s := GLGetProcAddress('glWindowPos2s');
  8412. glWindowPos2sv := GLGetProcAddress('glWindowPos2sv');
  8413. glWindowPos3d := GLGetProcAddress('glWindowPos3d');
  8414. glWindowPos3dv := GLGetProcAddress('glWindowPos3dv');
  8415. glWindowPos3f := GLGetProcAddress('glWindowPos3f');
  8416. glWindowPos3fv := GLGetProcAddress('glWindowPos3fv');
  8417. glWindowPos3i := GLGetProcAddress('glWindowPos3i');
  8418. glWindowPos3iv := GLGetProcAddress('glWindowPos3iv');
  8419. glWindowPos3s := GLGetProcAddress('glWindowPos3s');
  8420. glWindowPos3sv := GLGetProcAddress('glWindowPos3sv');
  8421. glGenQueries := GLGetProcAddress('glGenQueries');
  8422. glDeleteQueries := GLGetProcAddress('glDeleteQueries');
  8423. glIsQuery := GLGetProcAddress('glIsQuery');
  8424. glBeginQuery := GLGetProcAddress('glBeginQuery');
  8425. glEndQuery := GLGetProcAddress('glEndQuery');
  8426. glGetQueryiv := GLGetProcAddress('glGetQueryiv');
  8427. glGetQueryObjectiv := GLGetProcAddress('glGetQueryObjectiv');
  8428. glGetQueryObjectuiv := GLGetProcAddress('glGetQueryObjectuiv');
  8429. glBindBuffer := GLGetProcAddress('glBindBuffer');
  8430. glDeleteBuffers := GLGetProcAddress('glDeleteBuffers');
  8431. glGenBuffers := GLGetProcAddress('glGenBuffers');
  8432. glIsBuffer := GLGetProcAddress('glIsBuffer');
  8433. glBufferData := GLGetProcAddress('glBufferData');
  8434. glBufferSubData := GLGetProcAddress('glBufferSubData');
  8435. glGetBufferSubData := GLGetProcAddress('glGetBufferSubData');
  8436. glMapBuffer := GLGetProcAddress('glMapBuffer');
  8437. glUnmapBuffer := GLGetProcAddress('glUnmapBuffer');
  8438. glGetBufferParameteriv := GLGetProcAddress('glGetBufferParameteriv');
  8439. glGetBufferPointerv := GLGetProcAddress('glGetBufferPointerv');
  8440. glBlendEquationSeparate := GLGetProcAddress('glBlendEquationSeparate');
  8441. glDrawBuffers := GLGetProcAddress('glDrawBuffers');
  8442. glStencilOpSeparate := GLGetProcAddress('glStencilOpSeparate');
  8443. glStencilFuncSeparate := GLGetProcAddress('glStencilFuncSeparate');
  8444. glStencilMaskSeparate := GLGetProcAddress('glStencilMaskSeparate');
  8445. glAttachShader := GLGetProcAddress('glAttachShader');
  8446. glBindAttribLocation := GLGetProcAddress('glBindAttribLocation');
  8447. glCompileShader := GLGetProcAddress('glCompileShader');
  8448. glCreateProgram := GLGetProcAddress('glCreateProgram');
  8449. glCreateShader := GLGetProcAddress('glCreateShader');
  8450. glDeleteProgram := GLGetProcAddress('glDeleteProgram');
  8451. glDeleteShader := GLGetProcAddress('glDeleteShader');
  8452. glDetachShader := GLGetProcAddress('glDetachShader');
  8453. glDisableVertexAttribArray := GLGetProcAddress('glDisableVertexAttribArray');
  8454. glEnableVertexAttribArray := GLGetProcAddress('glEnableVertexAttribArray');
  8455. glGetActiveAttrib := GLGetProcAddress('glGetActiveAttrib');
  8456. glGetActiveUniform := GLGetProcAddress('glGetActiveUniform');
  8457. glGetAttachedShaders := GLGetProcAddress('glGetAttachedShaders');
  8458. glGetAttribLocation := GLGetProcAddress('glGetAttribLocation');
  8459. glGetProgramiv := GLGetProcAddress('glGetProgramiv');
  8460. glGetProgramInfoLog := GLGetProcAddress('glGetProgramInfoLog');
  8461. glGetShaderiv := GLGetProcAddress('glGetShaderiv');
  8462. glGetShaderInfoLog := GLGetProcAddress('glGetShaderInfoLog');
  8463. glGetShaderSource := GLGetProcAddress('glGetShaderSource');
  8464. glGetUniformLocation := GLGetProcAddress('glGetUniformLocation');
  8465. glGetUniformfv := GLGetProcAddress('glGetUniformfv');
  8466. glGetUniformiv := GLGetProcAddress('glGetUniformiv');
  8467. glGetVertexAttribdv := GLGetProcAddress('glGetVertexAttribdv');
  8468. glGetVertexAttribfv := GLGetProcAddress('glGetVertexAttribfv');
  8469. glGetVertexAttribiv := GLGetProcAddress('glGetVertexAttribiv');
  8470. glGetVertexAttribPointerv := GLGetProcAddress('glGetVertexAttribPointerv');
  8471. glIsProgram := GLGetProcAddress('glIsProgram');
  8472. glIsShader := GLGetProcAddress('glIsShader');
  8473. glLinkProgram := GLGetProcAddress('glLinkProgram');
  8474. glShaderSource := GLGetProcAddress('glShaderSource');
  8475. glUseProgram := GLGetProcAddress('glUseProgram');
  8476. glUniform1f := GLGetProcAddress('glUniform1f');
  8477. glUniform2f := GLGetProcAddress('glUniform2f');
  8478. glUniform3f := GLGetProcAddress('glUniform3f');
  8479. glUniform4f := GLGetProcAddress('glUniform4f');
  8480. glUniform1i := GLGetProcAddress('glUniform1i');
  8481. glUniform2i := GLGetProcAddress('glUniform2i');
  8482. glUniform3i := GLGetProcAddress('glUniform3i');
  8483. glUniform4i := GLGetProcAddress('glUniform4i');
  8484. glUniform1fv := GLGetProcAddress('glUniform1fv');
  8485. glUniform2fv := GLGetProcAddress('glUniform2fv');
  8486. glUniform3fv := GLGetProcAddress('glUniform3fv');
  8487. glUniform4fv := GLGetProcAddress('glUniform4fv');
  8488. glUniform1iv := GLGetProcAddress('glUniform1iv');
  8489. glUniform2iv := GLGetProcAddress('glUniform2iv');
  8490. glUniform3iv := GLGetProcAddress('glUniform3iv');
  8491. glUniform4iv := GLGetProcAddress('glUniform4iv');
  8492. glUniformMatrix2fv := GLGetProcAddress('glUniformMatrix2fv');
  8493. glUniformMatrix3fv := GLGetProcAddress('glUniformMatrix3fv');
  8494. glUniformMatrix4fv := GLGetProcAddress('glUniformMatrix4fv');
  8495. glValidateProgram := GLGetProcAddress('glValidateProgram');
  8496. glVertexAttrib1d := GLGetProcAddress('glVertexAttrib1d');
  8497. glVertexAttrib1dv := GLGetProcAddress('glVertexAttrib1dv');
  8498. glVertexAttrib1f := GLGetProcAddress('glVertexAttrib1f');
  8499. glVertexAttrib1fv := GLGetProcAddress('glVertexAttrib1fv');
  8500. glVertexAttrib1s := GLGetProcAddress('glVertexAttrib1s');
  8501. glVertexAttrib1sv := GLGetProcAddress('glVertexAttrib1sv');
  8502. glVertexAttrib2d := GLGetProcAddress('glVertexAttrib2d');
  8503. glVertexAttrib2dv := GLGetProcAddress('glVertexAttrib2dv');
  8504. glVertexAttrib2f := GLGetProcAddress('glVertexAttrib2f');
  8505. glVertexAttrib2fv := GLGetProcAddress('glVertexAttrib2fv');
  8506. glVertexAttrib2s := GLGetProcAddress('glVertexAttrib2s');
  8507. glVertexAttrib2sv := GLGetProcAddress('glVertexAttrib2sv');
  8508. glVertexAttrib3d := GLGetProcAddress('glVertexAttrib3d');
  8509. glVertexAttrib3dv := GLGetProcAddress('glVertexAttrib3dv');
  8510. glVertexAttrib3f := GLGetProcAddress('glVertexAttrib3f');
  8511. glVertexAttrib3fv := GLGetProcAddress('glVertexAttrib3fv');
  8512. glVertexAttrib3s := GLGetProcAddress('glVertexAttrib3s');
  8513. glVertexAttrib3sv := GLGetProcAddress('glVertexAttrib3sv');
  8514. glVertexAttrib4Nbv := GLGetProcAddress('glVertexAttrib4Nbv');
  8515. glVertexAttrib4Niv := GLGetProcAddress('glVertexAttrib4Niv');
  8516. glVertexAttrib4Nsv := GLGetProcAddress('glVertexAttrib4Nsv');
  8517. glVertexAttrib4Nub := GLGetProcAddress('glVertexAttrib4Nub');
  8518. glVertexAttrib4Nubv := GLGetProcAddress('glVertexAttrib4Nubv');
  8519. glVertexAttrib4Nuiv := GLGetProcAddress('glVertexAttrib4Nuiv');
  8520. glVertexAttrib4Nusv := GLGetProcAddress('glVertexAttrib4Nusv');
  8521. glVertexAttrib4bv := GLGetProcAddress('glVertexAttrib4bv');
  8522. glVertexAttrib4d := GLGetProcAddress('glVertexAttrib4d');
  8523. glVertexAttrib4dv := GLGetProcAddress('glVertexAttrib4dv');
  8524. glVertexAttrib4f := GLGetProcAddress('glVertexAttrib4f');
  8525. glVertexAttrib4fv := GLGetProcAddress('glVertexAttrib4fv');
  8526. glVertexAttrib4iv := GLGetProcAddress('glVertexAttrib4iv');
  8527. glVertexAttrib4s := GLGetProcAddress('glVertexAttrib4s');
  8528. glVertexAttrib4sv := GLGetProcAddress('glVertexAttrib4sv');
  8529. glVertexAttrib4ubv := GLGetProcAddress('glVertexAttrib4ubv');
  8530. glVertexAttrib4uiv := GLGetProcAddress('glVertexAttrib4uiv');
  8531. glVertexAttrib4usv := GLGetProcAddress('glVertexAttrib4usv');
  8532. glVertexAttribPointer := GLGetProcAddress('glVertexAttribPointer');
  8533. glUniformMatrix2x3fv := GLGetProcAddress('glUniformMatrix2x3fv');
  8534. glUniformMatrix3x2fv := GLGetProcAddress('glUniformMatrix3x2fv');
  8535. glUniformMatrix2x4fv := GLGetProcAddress('glUniformMatrix2x4fv');
  8536. glUniformMatrix4x2fv := GLGetProcAddress('glUniformMatrix4x2fv');
  8537. glUniformMatrix3x4fv := GLGetProcAddress('glUniformMatrix3x4fv');
  8538. glUniformMatrix4x3fv := GLGetProcAddress('glUniformMatrix4x3fv');
  8539. glVertexAttribI1i := GLGetProcAddress('glVertexAttribI1i');
  8540. glVertexAttribI2i := GLGetProcAddress('glVertexAttribI2i');
  8541. glVertexAttribI3i := GLGetProcAddress('glVertexAttribI3i');
  8542. glVertexAttribI4i := GLGetProcAddress('glVertexAttribI4i');
  8543. glVertexAttribI1ui := GLGetProcAddress('glVertexAttribI1ui');
  8544. glVertexAttribI2ui := GLGetProcAddress('glVertexAttribI2ui');
  8545. glVertexAttribI3ui := GLGetProcAddress('glVertexAttribI3ui');
  8546. glVertexAttribI4ui := GLGetProcAddress('glVertexAttribI4ui');
  8547. glVertexAttribI1iv := GLGetProcAddress('glVertexAttribI1iv');
  8548. glVertexAttribI2iv := GLGetProcAddress('glVertexAttribI2iv');
  8549. glVertexAttribI3iv := GLGetProcAddress('glVertexAttribI3iv');
  8550. glVertexAttribI4iv := GLGetProcAddress('glVertexAttribI4iv');
  8551. glVertexAttribI1uiv := GLGetProcAddress('glVertexAttribI1uiv');
  8552. glVertexAttribI2uiv := GLGetProcAddress('glVertexAttribI2uiv');
  8553. glVertexAttribI3uiv := GLGetProcAddress('glVertexAttribI3uiv');
  8554. glVertexAttribI4uiv := GLGetProcAddress('glVertexAttribI4uiv');
  8555. glVertexAttribI4bv := GLGetProcAddress('glVertexAttribI4bv');
  8556. glVertexAttribI4sv := GLGetProcAddress('glVertexAttribI4sv');
  8557. glVertexAttribI4ubv := GLGetProcAddress('glVertexAttribI4ubv');
  8558. glVertexAttribI4usv := GLGetProcAddress('glVertexAttribI4usv');
  8559. glVertexAttribIPointer := GLGetProcAddress('glVertexAttribIPointer');
  8560. glGetVertexAttribIiv := GLGetProcAddress('glGetVertexAttribIiv');
  8561. glGetVertexAttribIuiv := GLGetProcAddress('glGetVertexAttribIuiv');
  8562. glUniform1ui := GLGetProcAddress('glUniform1ui');
  8563. glUniform2ui := GLGetProcAddress('glUniform2ui');
  8564. glUniform3ui := GLGetProcAddress('glUniform3ui');
  8565. glUniform4ui := GLGetProcAddress('glUniform4ui');
  8566. glUniform1uiv := GLGetProcAddress('glUniform1uiv');
  8567. glUniform2uiv := GLGetProcAddress('glUniform2uiv');
  8568. glUniform3uiv := GLGetProcAddress('glUniform3uiv');
  8569. glUniform4uiv := GLGetProcAddress('glUniform4uiv');
  8570. glGetUniformuiv := GLGetProcAddress('glGetUniformuiv');
  8571. glBindFragDataLocation := GLGetProcAddress('glBindFragDataLocation');
  8572. glGetFragDataLocation := GLGetProcAddress('glGetFragDataLocation');
  8573. glBeginConditionalRender := GLGetProcAddress('glBeginConditionalRender');
  8574. glEndConditionalRender := GLGetProcAddress('glEndConditionalRender');
  8575. glClampColor := GLGetProcAddress('glClampColor');
  8576. //glClearColorIi := GLGetProcAddress('glClearColorIi');
  8577. //glClearColorIui := GLGetProcAddress('glClearColorIui');
  8578. glTexParameterIiv := GLGetProcAddress('glTexParameterIiv');
  8579. glTexParameterIuiv := GLGetProcAddress('glTexParameterIuiv');
  8580. glGetTexParameterIiv := GLGetProcAddress('glGetTexParameterIiv');
  8581. glGetTexParameterIuiv := GLGetProcAddress('glGetTexParameterIuiv');
  8582. glColorMaski := GLGetProcAddress('glColorMaski');
  8583. glGetBooleani_v := GLGetProcAddress('glGetBooleani_v');
  8584. glGetIntegeri_v := GLGetProcAddress('glGetIntegeri_v');
  8585. glEnablei := GLGetProcAddress('glEnablei');
  8586. glDisablei := GLGetProcAddress('glDisablei');
  8587. glIsEnabledi := GLGetProcAddress('glIsEnabledi');
  8588. glBindBufferRange := GLGetProcAddress('glBindBufferRange');
  8589. glBindBufferBase := GLGetProcAddress('glBindBufferBase');
  8590. glBeginTransformFeedback := GLGetProcAddress('glBeginTransformFeedback');
  8591. glEndTransformFeedback := GLGetProcAddress('glEndTransformFeedback');
  8592. glTransformFeedbackVaryings := GLGetProcAddress('glTransformFeedbackVaryings');
  8593. glGetTransformFeedbackVarying := GLGetProcAddress('glGetTransformFeedbackVarying');
  8594. glClearBufferiv := GLGetProcAddress('glClearBufferiv');
  8595. glClearBufferuiv := GLGetProcAddress('glClearBufferuiv');
  8596. glClearBufferfv := GLGetProcAddress('glClearBufferfv');
  8597. glClearBufferfi := GLGetProcAddress('glClearBufferfi');
  8598. glGetStringi := GLGetProcAddress('glGetStringi');
  8599. glDrawArraysInstanced := GLGetProcAddress('glDrawArraysInstanced');
  8600. glDrawElementsInstanced := GLGetProcAddress('glDrawElementsInstanced');
  8601. glTexBuffer := GLGetProcAddress('glTexBuffer');
  8602. glPrimitiveRestartIndex := GLGetProcAddress('glPrimitiveRestartIndex');
  8603. glGetInteger64i_v := GLGetProcAddress('glGetInteger64i_v');
  8604. glGetBufferParameteri64v := GLGetProcAddress('glGetBufferParameteri64v');
  8605. glProgramParameteri := GLGetProcAddress('glProgramParameteri');
  8606. glFramebufferTexture := GLGetProcAddress('glFramebufferTexture');
  8607. glVertexAttribDivisorARB := GLGetProcAddress('glVertexAttribDivisor');
  8608. glBlendEquationi := GLGetProcAddress('glBlendEquationi');
  8609. glBlendEquationSeparatei := GLGetProcAddress('glBlendEquationSeparatei');
  8610. glBlendFunci := GLGetProcAddress('glBlendFunci');
  8611. glBlendFuncSeparatei := GLGetProcAddress('glBlendFuncSeparatei');
  8612. glMinSampleShading := GLGetProcAddress('glMinSampleShading');
  8613. gluNurbsCallbackDataEXT := GLGetProcAddress('gluNurbsCallbackDataEXT');
  8614. gluNewNurbsTessellatorEXT := GLGetProcAddress('gluNewNurbsTessellatorEXT');
  8615. gluDeleteNurbsTessellatorEXT := GLGetProcAddress('gluDeleteNurbsTessellatorEXT');
  8616. glActiveTextureARB := GLGetProcAddress('glActiveTextureARB');
  8617. glClientActiveTextureARB := GLGetProcAddress('glClientActiveTextureARB');
  8618. glMultiTexCoord1dARB := GLGetProcAddress('glMultiTexCoord1dARB');
  8619. glMultiTexCoord1dVARB := GLGetProcAddress('glMultiTexCoord1dVARB');
  8620. glMultiTexCoord1fARB := GLGetProcAddress('glMultiTexCoord1fARB');
  8621. glMultiTexCoord1fVARB := GLGetProcAddress('glMultiTexCoord1fVARB');
  8622. glMultiTexCoord1iARB := GLGetProcAddress('glMultiTexCoord1iARB');
  8623. glMultiTexCoord1iVARB := GLGetProcAddress('glMultiTexCoord1iVARB');
  8624. glMultiTexCoord1sARB := GLGetProcAddress('glMultiTexCoord1sARB');
  8625. glMultiTexCoord1sVARB := GLGetProcAddress('glMultiTexCoord1sVARB');
  8626. glMultiTexCoord2dARB := GLGetProcAddress('glMultiTexCoord2dARB');
  8627. glMultiTexCoord2dvARB := GLGetProcAddress('glMultiTexCoord2dvARB');
  8628. glMultiTexCoord2fARB := GLGetProcAddress('glMultiTexCoord2fARB');
  8629. glMultiTexCoord2fvARB := GLGetProcAddress('glMultiTexCoord2fvARB');
  8630. glMultiTexCoord2iARB := GLGetProcAddress('glMultiTexCoord2iARB');
  8631. glMultiTexCoord2ivARB := GLGetProcAddress('glMultiTexCoord2ivARB');
  8632. glMultiTexCoord2sARB := GLGetProcAddress('glMultiTexCoord2sARB');
  8633. glMultiTexCoord2svARB := GLGetProcAddress('glMultiTexCoord2svARB');
  8634. glMultiTexCoord3dARB := GLGetProcAddress('glMultiTexCoord3dARB');
  8635. glMultiTexCoord3dvARB := GLGetProcAddress('glMultiTexCoord3dvARB');
  8636. glMultiTexCoord3fARB := GLGetProcAddress('glMultiTexCoord3fARB');
  8637. glMultiTexCoord3fvARB := GLGetProcAddress('glMultiTexCoord3fvARB');
  8638. glMultiTexCoord3iARB := GLGetProcAddress('glMultiTexCoord3iARB');
  8639. glMultiTexCoord3ivARB := GLGetProcAddress('glMultiTexCoord3ivARB');
  8640. glMultiTexCoord3sARB := GLGetProcAddress('glMultiTexCoord3sARB');
  8641. glMultiTexCoord3svARB := GLGetProcAddress('glMultiTexCoord3svARB');
  8642. glMultiTexCoord4dARB := GLGetProcAddress('glMultiTexCoord4dARB');
  8643. glMultiTexCoord4dvARB := GLGetProcAddress('glMultiTexCoord4dvARB');
  8644. glMultiTexCoord4fARB := GLGetProcAddress('glMultiTexCoord4fARB');
  8645. glMultiTexCoord4fvARB := GLGetProcAddress('glMultiTexCoord4fvARB');
  8646. glMultiTexCoord4iARB := GLGetProcAddress('glMultiTexCoord4iARB');
  8647. glMultiTexCoord4ivARB := GLGetProcAddress('glMultiTexCoord4ivARB');
  8648. glMultiTexCoord4sARB := GLGetProcAddress('glMultiTexCoord4sARB');
  8649. glMultiTexCoord4svARB := GLGetProcAddress('glMultiTexCoord4svARB');
  8650. glLoadTransposeMatrixfARB := GLGetProcAddress('glLoadTransposeMatrixfARB');
  8651. glLoadTransposeMatrixdARB := GLGetProcAddress('glLoadTransposeMatrixdARB');
  8652. glMultTransposeMatrixfARB := GLGetProcAddress('glMultTransposeMatrixfARB');
  8653. glMultTransposeMatrixdARB := GLGetProcAddress('glMultTransposeMatrixdARB');
  8654. glSampleCoverageARB := GLGetProcAddress('glSampleCoverageARB');
  8655. glCompressedTexImage3DARB := GLGetProcAddress('glCompressedTexImage3DARB');
  8656. glCompressedTexImage2DARB := GLGetProcAddress('glCompressedTexImage2DARB');
  8657. glCompressedTexImage1DARB := GLGetProcAddress('glCompressedTexImage1DARB');
  8658. glCompressedTexSubImage3DARB := GLGetProcAddress('glCompressedTexSubImage3DARB');
  8659. glCompressedTexSubImage2DARB := GLGetProcAddress('glCompressedTexSubImage2DARB');
  8660. glCompressedTexSubImage1DARB := GLGetProcAddress('glCompressedTexSubImage1DARB');
  8661. glGetCompressedTexImageARB := GLGetProcAddress('glGetCompressedTexImageARB');
  8662. glPointParameterfARB := GLGetProcAddress('glPointParameterfARB');
  8663. glPointParameterfvARB := GLGetProcAddress('glPointParameterfvARB');
  8664. glWeightbvARB := GLGetProcAddress('glWeightbvARB');
  8665. glWeightsvARB := GLGetProcAddress('glWeightsvARB');
  8666. glWeightivARB := GLGetProcAddress('glWeightivARB');
  8667. glWeightfvARB := GLGetProcAddress('glWeightfvARB');
  8668. glWeightdvARB := GLGetProcAddress('glWeightdvARB');
  8669. glWeightubvARB := GLGetProcAddress('glWeightubvARB');
  8670. glWeightusvARB := GLGetProcAddress('glWeightusvARB');
  8671. glWeightuivARB := GLGetProcAddress('glWeightuivARB');
  8672. glWeightPointerARB := GLGetProcAddress('glWeightPointerARB');
  8673. glVertexBlendARB := GLGetProcAddress('glVertexBlendARB');
  8674. glCurrentPaletteMatrixARB := GLGetProcAddress('glCurrentPaletteMatrixARB');
  8675. glMatrixIndexubvARB := GLGetProcAddress('glMatrixIndexubvARB');
  8676. glMatrixIndexusvARB := GLGetProcAddress('glMatrixIndexusvARB');
  8677. glMatrixIndexuivARB := GLGetProcAddress('glMatrixIndexuivARB');
  8678. glMatrixIndexPointerARB := GLGetProcAddress('glMatrixIndexPointerARB');
  8679. glWindowPos2dARB := GLGetProcAddress('glWindowPos2dARB');
  8680. glWindowPos2dvARB := GLGetProcAddress('glWindowPos2dvARB');
  8681. glWindowPos2fARB := GLGetProcAddress('glWindowPos2fARB');
  8682. glWindowPos2fvARB := GLGetProcAddress('glWindowPos2fvARB');
  8683. glWindowPos2iARB := GLGetProcAddress('glWindowPos2iARB');
  8684. glWindowPos2ivARB := GLGetProcAddress('glWindowPos2ivARB');
  8685. glWindowPos2sARB := GLGetProcAddress('glWindowPos2sARB');
  8686. glWindowPos2svARB := GLGetProcAddress('glWindowPos2svARB');
  8687. glWindowPos3dARB := GLGetProcAddress('glWindowPos3dARB');
  8688. glWindowPos3dvARB := GLGetProcAddress('glWindowPos3dvARB');
  8689. glWindowPos3fARB := GLGetProcAddress('glWindowPos3fARB');
  8690. glWindowPos3fvARB := GLGetProcAddress('glWindowPos3fvARB');
  8691. glWindowPos3iARB := GLGetProcAddress('glWindowPos3iARB');
  8692. glWindowPos3ivARB := GLGetProcAddress('glWindowPos3ivARB');
  8693. glWindowPos3sARB := GLGetProcAddress('glWindowPos3sARB');
  8694. glWindowPos3svARB := GLGetProcAddress('glWindowPos3svARB');
  8695. glVertexAttrib1dARB := GLGetProcAddress('glVertexAttrib1dARB');
  8696. glVertexAttrib1dvARB := GLGetProcAddress('glVertexAttrib1dvARB');
  8697. glVertexAttrib1fARB := GLGetProcAddress('glVertexAttrib1fARB');
  8698. glVertexAttrib1fvARB := GLGetProcAddress('glVertexAttrib1fvARB');
  8699. glVertexAttrib1sARB := GLGetProcAddress('glVertexAttrib1sARB');
  8700. glVertexAttrib1svARB := GLGetProcAddress('glVertexAttrib1svARB');
  8701. glVertexAttrib2dARB := GLGetProcAddress('glVertexAttrib2dARB');
  8702. glVertexAttrib2dvARB := GLGetProcAddress('glVertexAttrib2dvARB');
  8703. glVertexAttrib2fARB := GLGetProcAddress('glVertexAttrib2fARB');
  8704. glVertexAttrib2fvARB := GLGetProcAddress('glVertexAttrib2fvARB');
  8705. glVertexAttrib2sARB := GLGetProcAddress('glVertexAttrib2sARB');
  8706. glVertexAttrib2svARB := GLGetProcAddress('glVertexAttrib2svARB');
  8707. glVertexAttrib3dARB := GLGetProcAddress('glVertexAttrib3dARB');
  8708. glVertexAttrib3dvARB := GLGetProcAddress('glVertexAttrib3dvARB');
  8709. glVertexAttrib3fARB := GLGetProcAddress('glVertexAttrib3fARB');
  8710. glVertexAttrib3fvARB := GLGetProcAddress('glVertexAttrib3fvARB');
  8711. glVertexAttrib3sARB := GLGetProcAddress('glVertexAttrib3sARB');
  8712. glVertexAttrib3svARB := GLGetProcAddress('glVertexAttrib3svARB');
  8713. glVertexAttrib4NbvARB := GLGetProcAddress('glVertexAttrib4NbvARB');
  8714. glVertexAttrib4NivARB := GLGetProcAddress('glVertexAttrib4NivARB');
  8715. glVertexAttrib4NsvARB := GLGetProcAddress('glVertexAttrib4NsvARB');
  8716. glVertexAttrib4NubARB := GLGetProcAddress('glVertexAttrib4NubARB');
  8717. glVertexAttrib4NubvARB := GLGetProcAddress('glVertexAttrib4NubvARB');
  8718. glVertexAttrib4NuivARB := GLGetProcAddress('glVertexAttrib4NuivARB');
  8719. glVertexAttrib4NusvARB := GLGetProcAddress('glVertexAttrib4NusvARB');
  8720. glVertexAttrib4bvARB := GLGetProcAddress('glVertexAttrib4bvARB');
  8721. glVertexAttrib4dARB := GLGetProcAddress('glVertexAttrib4dARB');
  8722. glVertexAttrib4dvARB := GLGetProcAddress('glVertexAttrib4dvARB');
  8723. glVertexAttrib4fARB := GLGetProcAddress('glVertexAttrib4fARB');
  8724. glVertexAttrib4fvARB := GLGetProcAddress('glVertexAttrib4fvARB');
  8725. glVertexAttrib4ivARB := GLGetProcAddress('glVertexAttrib4ivARB');
  8726. glVertexAttrib4sARB := GLGetProcAddress('glVertexAttrib4sARB');
  8727. glVertexAttrib4svARB := GLGetProcAddress('glVertexAttrib4svARB');
  8728. glVertexAttrib4ubvARB := GLGetProcAddress('glVertexAttrib4ubvARB');
  8729. glVertexAttrib4uivARB := GLGetProcAddress('glVertexAttrib4uivARB');
  8730. glVertexAttrib4usvARB := GLGetProcAddress('glVertexAttrib4usvARB');
  8731. glVertexAttribPointerARB := GLGetProcAddress('glVertexAttribPointerARB');
  8732. glEnableVertexAttribArrayARB := GLGetProcAddress('glEnableVertexAttribArrayARB');
  8733. glDisableVertexAttribArrayARB := GLGetProcAddress('glDisableVertexAttribArrayARB');
  8734. glProgramStringARB := GLGetProcAddress('glProgramStringARB');
  8735. glBindProgramARB := GLGetProcAddress('glBindProgramARB');
  8736. glDeleteProgramsARB := GLGetProcAddress('glDeleteProgramsARB');
  8737. glGenProgramsARB := GLGetProcAddress('glGenProgramsARB');
  8738. glProgramEnvParameter4dARB := GLGetProcAddress('glProgramEnvParameter4dARB');
  8739. glProgramEnvParameter4dvARB := GLGetProcAddress('glProgramEnvParameter4dvARB');
  8740. glProgramEnvParameter4fARB := GLGetProcAddress('glProgramEnvParameter4fARB');
  8741. glProgramEnvParameter4fvARB := GLGetProcAddress('glProgramEnvParameter4fvARB');
  8742. glProgramLocalParameter4dARB := GLGetProcAddress('glProgramLocalParameter4dARB');
  8743. glProgramLocalParameter4dvARB := GLGetProcAddress('glProgramLocalParameter4dvARB');
  8744. glProgramLocalParameter4fARB := GLGetProcAddress('glProgramLocalParameter4fARB');
  8745. glProgramLocalParameter4fvARB := GLGetProcAddress('glProgramLocalParameter4fvARB');
  8746. glGetProgramEnvParameterdvARB := GLGetProcAddress('glGetProgramEnvParameterdvARB');
  8747. glGetProgramEnvParameterfvARB := GLGetProcAddress('glGetProgramEnvParameterfvARB');
  8748. glGetProgramLocalParameterdvARB := GLGetProcAddress('glGetProgramLocalParameterdvARB');
  8749. glGetProgramLocalParameterfvARB := GLGetProcAddress('glGetProgramLocalParameterfvARB');
  8750. glGetProgramivARB := GLGetProcAddress('glGetProgramivARB');
  8751. glGetProgramStringARB := GLGetProcAddress('glGetProgramStringARB');
  8752. glGetVertexAttribdvARB := GLGetProcAddress('glGetVertexAttribdvARB');
  8753. glGetVertexAttribfvARB := GLGetProcAddress('glGetVertexAttribfvARB');
  8754. glGetVertexAttribivARB := GLGetProcAddress('glGetVertexAttribivARB');
  8755. glGetVertexAttribPointervARB := GLGetProcAddress('glGetVertexAttribPointervARB');
  8756. glIsProgramARB := GLGetProcAddress('glIsProgramARB');
  8757. glBindBufferARB := GLGetProcAddress('glBindBufferARB');
  8758. glDeleteBuffersARB := GLGetProcAddress('glDeleteBuffersARB');
  8759. glGenBuffersARB := GLGetProcAddress('glGenBuffersARB');
  8760. glIsBufferARB := GLGetProcAddress('glIsBufferARB');
  8761. glBufferDataARB := GLGetProcAddress('glBufferDataARB');
  8762. glBufferSubDataARB := GLGetProcAddress('glBufferSubDataARB');
  8763. glGetBufferSubDataARB := GLGetProcAddress('glGetBufferSubDataARB');
  8764. glMapBufferARB := GLGetProcAddress('glMapBufferARB');
  8765. glUnmapBufferARB := GLGetProcAddress('glUnmapBufferARB');
  8766. glGetBufferParameterivARB := GLGetProcAddress('glGetBufferParameterivARB');
  8767. glGetBufferPointervARB := GLGetProcAddress('glGetBufferPointervARB');
  8768. glGenQueriesARB := GLGetProcAddress('glGenQueriesARB');
  8769. glDeleteQueriesARB := GLGetProcAddress('glDeleteQueriesARB');
  8770. glIsQueryARB := GLGetProcAddress('glIsQueryARB');
  8771. glBeginQueryARB := GLGetProcAddress('glBeginQueryARB');
  8772. glEndQueryARB := GLGetProcAddress('glEndQueryARB');
  8773. glGetQueryivARB := GLGetProcAddress('glGetQueryivARB');
  8774. glGetQueryObjectivARB := GLGetProcAddress('glGetQueryObjectivARB');
  8775. glGetQueryObjectuivARB := GLGetProcAddress('glGetQueryObjectuivARB');
  8776. glDeleteObjectARB := GLGetProcAddress('glDeleteObjectARB');
  8777. glGetHandleARB := GLGetProcAddress('glGetHandleARB');
  8778. glDetachObjectARB := GLGetProcAddress('glDetachObjectARB');
  8779. glCreateShaderObjectARB := GLGetProcAddress('glCreateShaderObjectARB');
  8780. glShaderSourceARB := GLGetProcAddress('glShaderSourceARB');
  8781. glCompileShaderARB := GLGetProcAddress('glCompileShaderARB');
  8782. glCreateProgramObjectARB := GLGetProcAddress('glCreateProgramObjectARB');
  8783. glAttachObjectARB := GLGetProcAddress('glAttachObjectARB');
  8784. glLinkProgramARB := GLGetProcAddress('glLinkProgramARB');
  8785. glUseProgramObjectARB := GLGetProcAddress('glUseProgramObjectARB');
  8786. glValidateProgramARB := GLGetProcAddress('glValidateProgramARB');
  8787. glUniform1fARB := GLGetProcAddress('glUniform1fARB');
  8788. glUniform2fARB := GLGetProcAddress('glUniform2fARB');
  8789. glUniform3fARB := GLGetProcAddress('glUniform3fARB');
  8790. glUniform4fARB := GLGetProcAddress('glUniform4fARB');
  8791. glUniform1iARB := GLGetProcAddress('glUniform1iARB');
  8792. glUniform2iARB := GLGetProcAddress('glUniform2iARB');
  8793. glUniform3iARB := GLGetProcAddress('glUniform3iARB');
  8794. glUniform4iARB := GLGetProcAddress('glUniform4iARB');
  8795. glUniform1fvARB := GLGetProcAddress('glUniform1fvARB');
  8796. glUniform2fvARB := GLGetProcAddress('glUniform2fvARB');
  8797. glUniform3fvARB := GLGetProcAddress('glUniform3fvARB');
  8798. glUniform4fvARB := GLGetProcAddress('glUniform4fvARB');
  8799. glUniform1ivARB := GLGetProcAddress('glUniform1ivARB');
  8800. glUniform2ivARB := GLGetProcAddress('glUniform2ivARB');
  8801. glUniform3ivARB := GLGetProcAddress('glUniform3ivARB');
  8802. glUniform4ivARB := GLGetProcAddress('glUniform4ivARB');
  8803. glUniformMatrix2fvARB := GLGetProcAddress('glUniformMatrix2fvARB');
  8804. glUniformMatrix3fvARB := GLGetProcAddress('glUniformMatrix3fvARB');
  8805. glUniformMatrix4fvARB := GLGetProcAddress('glUniformMatrix4fvARB');
  8806. glGetObjectParameterfvARB := GLGetProcAddress('glGetObjectParameterfvARB');
  8807. glGetObjectParameterivARB := GLGetProcAddress('glGetObjectParameterivARB');
  8808. glGetInfoLogARB := GLGetProcAddress('glGetInfoLogARB');
  8809. glGetAttachedObjectsARB := GLGetProcAddress('glGetAttachedObjectsARB');
  8810. glGetUniformLocationARB := GLGetProcAddress('glGetUniformLocationARB');
  8811. glGetActiveUniformARB := GLGetProcAddress('glGetActiveUniformARB');
  8812. glGetUniformfvARB := GLGetProcAddress('glGetUniformfvARB');
  8813. glGetUniformivARB := GLGetProcAddress('glGetUniformivARB');
  8814. glGetShaderSourceARB := GLGetProcAddress('glGetShaderSourceARB');
  8815. glBindAttribLocationARB := GLGetProcAddress('glBindAttribLocationARB');
  8816. glGetActiveAttribARB := GLGetProcAddress('glGetActiveAttribARB');
  8817. glGetAttribLocationARB := GLGetProcAddress('glGetAttribLocationARB');
  8818. glDrawBuffersARB := GLGetProcAddress('glDrawBuffersARB');
  8819. glClampColorARB := GLGetProcAddress('glClampColorARB');
  8820. glDrawArraysInstancedARB := GLGetProcAddress('glDrawArraysInstancedARB');
  8821. glDrawElementsInstancedARB := GLGetProcAddress('glDrawElementsInstancedARB');
  8822. glIsRenderbuffer := GLGetProcAddress('glIsRenderbuffer');
  8823. glBindRenderbuffer := GLGetProcAddress('glBindRenderbuffer');
  8824. glDeleteRenderbuffers := GLGetProcAddress('glDeleteRenderbuffers');
  8825. glGenRenderbuffers := GLGetProcAddress('glGenRenderbuffers');
  8826. glRenderbufferStorage := GLGetProcAddress('glRenderbufferStorage');
  8827. glRenderbufferStorageMultisample := GLGetProcAddress('glRenderbufferStorageMultisample');
  8828. glGetRenderbufferParameteriv := GLGetProcAddress('glGetRenderbufferParameteriv');
  8829. glIsFramebuffer := GLGetProcAddress('glIsFramebuffer');
  8830. glBindFramebuffer := GLGetProcAddress('glBindFramebuffer');
  8831. glDeleteFramebuffers := GLGetProcAddress('glDeleteFramebuffers');
  8832. glGenFramebuffers := GLGetProcAddress('glGenFramebuffers');
  8833. glCheckFramebufferStatus := GLGetProcAddress('glCheckFramebufferStatus');
  8834. glFramebufferTexture1D := GLGetProcAddress('glFramebufferTexture1D');
  8835. glFramebufferTexture2D := GLGetProcAddress('glFramebufferTexture2D');
  8836. glFramebufferTexture3D := GLGetProcAddress('glFramebufferTexture3D');
  8837. glFramebufferTextureLayer := GLGetProcAddress('glFramebufferTextureLayer');
  8838. glFramebufferRenderbuffer := GLGetProcAddress('glFramebufferRenderbuffer');
  8839. glGetFramebufferAttachmentParameteriv := GLGetProcAddress('glGetFramebufferAttachmentParameteriv');
  8840. glBlitFramebuffer := GLGetProcAddress('glBlitFramebuffer');
  8841. glGenerateMipmap := GLGetProcAddress('glGenerateMipmap');
  8842. glProgramParameteriARB := GLGetProcAddress('glProgramParameteriARB');
  8843. glFramebufferTextureARB := GLGetProcAddress('glFramebufferTextureARB');
  8844. glFramebufferTextureLayerARB := GLGetProcAddress('glFramebufferTextureLayerARB');
  8845. glFramebufferTextureFaceARB := GLGetProcAddress('glFramebufferTextureFaceARB');
  8846. glVertexAttribDivisorARB := GLGetProcAddress('glVertexAttribDivisorARB');
  8847. glMapBufferRange := GLGetProcAddress('glMapBufferRange');
  8848. glFlushMappedBufferRange := GLGetProcAddress('glFlushMappedBufferRange');
  8849. glTexBufferARB := GLGetProcAddress('glTexBufferARB');
  8850. glBindVertexArray := GLGetProcAddress('glBindVertexArray');
  8851. glDeleteVertexArrays := GLGetProcAddress('glDeleteVertexArrays');
  8852. glGenVertexArrays := GLGetProcAddress('glGenVertexArrays');
  8853. glIsVertexArray := GLGetProcAddress('glIsVertexArray');
  8854. glGetUniformIndices := GLGetProcAddress('glGetUniformIndices');
  8855. glGetActiveUniformsiv := GLGetProcAddress('glGetActiveUniformsiv');
  8856. glGetActiveUniformName := GLGetProcAddress('glGetActiveUniformName');
  8857. glGetUniformBlockIndex := GLGetProcAddress('glGetUniformBlockIndex');
  8858. glGetActiveUniformBlockiv := GLGetProcAddress('glGetActiveUniformBlockiv');
  8859. glGetActiveUniformBlockName := GLGetProcAddress('glGetActiveUniformBlockName');
  8860. glUniformBlockBinding := GLGetProcAddress('glUniformBlockBinding');
  8861. glCopyBufferSubData := GLGetProcAddress('glCopyBufferSubData');
  8862. glDrawElementsBaseVertex := GLGetProcAddress('glDrawElementsBaseVertex');
  8863. glDrawRangeElementsBaseVertex := GLGetProcAddress('glDrawRangeElementsBaseVertex');
  8864. glDrawElementsInstancedBaseVertex := GLGetProcAddress('glDrawElementsInstancedBaseVertex');
  8865. glMultiDrawElementsBaseVertex := GLGetProcAddress('glMultiDrawElementsBaseVertex');
  8866. glProvokingVertex := GLGetProcAddress('glProvokingVertex');
  8867. glFenceSync := GLGetProcAddress('glFenceSync');
  8868. glIsSync := GLGetProcAddress('glIsSync');
  8869. glDeleteSync := GLGetProcAddress('glDeleteSync');
  8870. glClientWaitSync := GLGetProcAddress('glClientWaitSync');
  8871. glWaitSync := GLGetProcAddress('glWaitSync');
  8872. glGetInteger64v := GLGetProcAddress('glGetInteger64v');
  8873. glGetSynciv := GLGetProcAddress('glGetSynciv');
  8874. glTexImage2DMultisample := GLGetProcAddress('glTexImage2DMultisample');
  8875. glTexImage3DMultisample := GLGetProcAddress('glTexImage3DMultisample');
  8876. glGetMultisamplefv := GLGetProcAddress('glGetMultisamplefv');
  8877. glSampleMaski := GLGetProcAddress('glSampleMaski');
  8878. glBlendEquation := GLGetProcAddress('glBlendEquationiARB');
  8879. glBlendEquationSeparatei := GLGetProcAddress('glBlendEquationSeparateiARB');
  8880. glBlendFunci := GLGetProcAddress('glBlendFunciARB');
  8881. glBlendFuncSeparatei := GLGetProcAddress('glBlendFuncSeparateiARB');
  8882. glMinSampleShading := GLGetProcAddress('glMinSampleShadingARB');
  8883. glBindFragDataLocationIndexed := GLGetProcAddress('glBindFragDataLocationIndexed');
  8884. glGetFragDataIndex := GLGetProcAddress('glGetFragDataIndex');
  8885. glGenSamplers := GLGetProcAddress('glGenSamplers');
  8886. glDeleteSamplers := GLGetProcAddress('glDeleteSamplers');
  8887. glIsSampler := GLGetProcAddress('glIsSampler');
  8888. glBindSampler := GLGetProcAddress('glBindSampler');
  8889. glSamplerParameteri := GLGetProcAddress('glSamplerParameteri');
  8890. glSamplerParameteriv := GLGetProcAddress('glSamplerParameteriv');
  8891. glSamplerParameterf := GLGetProcAddress('glSamplerParameterf');
  8892. glSamplerParameterfv := GLGetProcAddress('glSamplerParameterfv');
  8893. glSamplerParameterIiv := GLGetProcAddress('glSamplerParameterIiv');
  8894. glSamplerParameterIuiv := GLGetProcAddress('glSamplerParameterIuiv');
  8895. glGetSamplerParameteriv := GLGetProcAddress('glGetSamplerParameteriv');
  8896. glGetSamplerParameterIiv := GLGetProcAddress('glGetSamplerParameterIiv');
  8897. glGetSamplerParameterfv := GLGetProcAddress('glGetSamplerParameterfv');
  8898. glGetSamplerParameterIfv := GLGetProcAddress('glGetSamplerParameterIfv');
  8899. glQueryCounter := GLGetProcAddress('glQueryCounter');
  8900. glGetQueryObjecti64v := GLGetProcAddress('glGetQueryObjecti64v');
  8901. glGetQueryObjectui64v := GLGetProcAddress('glGetQueryObjectui64v');
  8902. glVertexP2ui := GLGetProcAddress('glVertexP2ui');
  8903. glVertexP2uiv := GLGetProcAddress('glVertexP2uiv');
  8904. glVertexP3ui := GLGetProcAddress('glVertexP3ui');
  8905. glVertexP3uiv := GLGetProcAddress('glVertexP3uiv');
  8906. glVertexP4ui := GLGetProcAddress('glVertexP4ui');
  8907. glVertexP4uiv := GLGetProcAddress('glVertexP4uiv');
  8908. glTexCoordP1ui := GLGetProcAddress('glTexCoordP1ui');
  8909. glTexCoordP1uiv := GLGetProcAddress('glTexCoordP1uiv');
  8910. glTexCoordP2ui := GLGetProcAddress('glTexCoordP2ui');
  8911. glTexCoordP2uiv := GLGetProcAddress('glTexCoordP2uiv');
  8912. glTexCoordP3ui := GLGetProcAddress('glTexCoordP3ui');
  8913. glTexCoordP3uiv := GLGetProcAddress('glTexCoordP3uiv');
  8914. glTexCoordP4ui := GLGetProcAddress('glTexCoordP4ui');
  8915. glTexCoordP4uiv := GLGetProcAddress('glTexCoordP4uiv');
  8916. glMultiTexCoordP1ui := GLGetProcAddress('glMultiTexCoordP1ui');
  8917. glMultiTexCoordP1uiv := GLGetProcAddress('glMultiTexCoordP1uiv');
  8918. glMultiTexCoordP2ui := GLGetProcAddress('glMultiTexCoordP2ui');
  8919. glMultiTexCoordP2uiv := GLGetProcAddress('glMultiTexCoordP2uiv');
  8920. glMultiTexCoordP3ui := GLGetProcAddress('glMultiTexCoordP3ui');
  8921. glMultiTexCoordP3uiv := GLGetProcAddress('glMultiTexCoordP3uiv');
  8922. glMultiTexCoordP4ui := GLGetProcAddress('glMultiTexCoordP4ui');
  8923. glMultiTexCoordP4uiv := GLGetProcAddress('glMultiTexCoordP4uiv');
  8924. glNormalP3ui := GLGetProcAddress('glNormalP3ui');
  8925. glNormalP3uiv := GLGetProcAddress('glNormalP3uiv');
  8926. glColorP3ui := GLGetProcAddress('glColorP3ui');
  8927. glColorP3uiv := GLGetProcAddress('glColorP3uiv');
  8928. glColorP4ui := GLGetProcAddress('glColorP4ui');
  8929. glColorP4uiv := GLGetProcAddress('glColorP4uiv');
  8930. glSecondaryColorP3ui := GLGetProcAddress('glSecondaryColorP3ui');
  8931. glSecondaryColorP3uiv := GLGetProcAddress('glSecondaryColorP3uiv');
  8932. glVertexAttribP1ui := GLGetProcAddress('glVertexAttribP1ui');
  8933. glVertexAttribP1uiv := GLGetProcAddress('glVertexAttribP1uiv');
  8934. glVertexAttribP2ui := GLGetProcAddress('glVertexAttribP2ui');
  8935. glVertexAttribP2uiv := GLGetProcAddress('glVertexAttribP2uiv');
  8936. glVertexAttribP3ui := GLGetProcAddress('glVertexAttribP3ui');
  8937. glVertexAttribP3uiv := GLGetProcAddress('glVertexAttribP3uiv');
  8938. glVertexAttribP4ui := GLGetProcAddress('glVertexAttribP4ui');
  8939. glVertexAttribP4uiv := GLGetProcAddress('glVertexAttribP4uiv');
  8940. glDrawArraysIndirect := GLGetProcAddress('glDrawArraysIndirect');
  8941. glDrawElementsIndirect := GLGetProcAddress('glDrawElementsIndirect');
  8942. glUniform1d := GLGetProcAddress('glUniform1d');
  8943. glUniform2d := GLGetProcAddress('glUniform2d');
  8944. glUniform3d := GLGetProcAddress('glUniform3d');
  8945. glUniform4d := GLGetProcAddress('glUniform4d');
  8946. glUniform1dv := GLGetProcAddress('glUniform1dv');
  8947. glUniform2dv := GLGetProcAddress('glUniform2dv');
  8948. glUniform3dv := GLGetProcAddress('glUniform3dv');
  8949. glUniform4dv := GLGetProcAddress('glUniform4dv');
  8950. glUniformMatrix2dv := GLGetProcAddress('glUniformMatrix2dv');
  8951. glUniformMatrix3dv := GLGetProcAddress('glUniformMatrix3dv');
  8952. glUniformMatrix4dv := GLGetProcAddress('glUniformMatrix4dv');
  8953. glUniformMatrix2x3dv := GLGetProcAddress('glUniformMatrix2x3dv');
  8954. glUniformMatrix2x4dv := GLGetProcAddress('glUniformMatrix2x4dv');
  8955. glUniformMatrix3x2dv := GLGetProcAddress('glUniformMatrix3x2dv');
  8956. glUniformMatrix3x4dv := GLGetProcAddress('glUniformMatrix3x4dv');
  8957. glUniformMatrix4x2dv := GLGetProcAddress('glUniformMatrix4x2dv');
  8958. glUniformMatrix4x3dv := GLGetProcAddress('glUniformMatrix4x3dv');
  8959. glGetUniformdv := GLGetProcAddress('glGetUniformdv');
  8960. glProgramUniform1dEXT := GLGetProcAddress('glProgramUniform1dEXT');
  8961. glProgramUniform2dEXT := GLGetProcAddress('glProgramUniform2dEXT');
  8962. glProgramUniform3dEXT := GLGetProcAddress('glProgramUniform3dEXT');
  8963. glProgramUniform4dEXT := GLGetProcAddress('glProgramUniform4dEXT');
  8964. glProgramUniform1dvEXT := GLGetProcAddress('glProgramUniform1dvEXT');
  8965. glProgramUniform2dvEXT := GLGetProcAddress('glProgramUniform2dvEXT');
  8966. glProgramUniform3dvEXT := GLGetProcAddress('glProgramUniform3dvEXT');
  8967. glProgramUniform4dvEXT := GLGetProcAddress('glProgramUniform4dvEXT');
  8968. glProgramUniformMatrix2dvEXT := GLGetProcAddress('glProgramUniformMatrix2dvEXT');
  8969. glProgramUniformMatrix3dvEXT := GLGetProcAddress('glProgramUniformMatrix3dvEXT');
  8970. glProgramUniformMatrix4dvEXT := GLGetProcAddress('glProgramUniformMatrix4dvEXT');
  8971. glProgramUniformMatrix2x3dvEXT := GLGetProcAddress('glProgramUniformMatrix2x3dvEXT');
  8972. glProgramUniformMatrix2x4dvEXT := GLGetProcAddress('glProgramUniformMatrix2x4dvEXT');
  8973. glProgramUniformMatrix3x2dvEXT := GLGetProcAddress('glProgramUniformMatrix3x2dvEXT');
  8974. glProgramUniformMatrix3x4dvEXT := GLGetProcAddress('glProgramUniformMatrix3x4dvEXT');
  8975. glProgramUniformMatrix4x2dvEXT := GLGetProcAddress('glProgramUniformMatrix4x2dvEXT');
  8976. glProgramUniformMatrix4x3dvEXT := GLGetProcAddress('glProgramUniformMatrix4x3dvEXT');
  8977. glGetSubroutineUniformLocation := GLGetProcAddress('glGetSubroutineUniformLocation');
  8978. glGetSubroutineIndex := GLGetProcAddress('glGetSubroutineIndex');
  8979. glGetActiveSubroutineUniformiv := GLGetProcAddress('glGetActiveSubroutineUniformiv');
  8980. glGetActiveSubroutineUniformName := GLGetProcAddress('glGetActiveSubroutineUniformName');
  8981. glGetActiveSubroutineName := GLGetProcAddress('glGetActiveSubroutineName');
  8982. glUniformSubroutinesuiv := GLGetProcAddress('glUniformSubroutinesuiv');
  8983. glGetUniformSubroutineuiv := GLGetProcAddress('glGetUniformSubroutineuiv');
  8984. glGetProgramStageiv := GLGetProcAddress('glGetProgramStageiv');
  8985. glPatchParameteri := GLGetProcAddress('glPatchParameteri');
  8986. glPatchParameterfv := GLGetProcAddress('glPatchParameterfv');
  8987. glBindTransformFeedback := GLGetProcAddress('glBindTransformFeedback');
  8988. glDeleteTransformFeedbacks := GLGetProcAddress('glDeleteTransformFeedbacks');
  8989. glGenTransformFeedbacks := GLGetProcAddress('glGenTransformFeedbacks');
  8990. glIsTransformFeedback := GLGetProcAddress('glIsTransformFeedback');
  8991. glPauseTransformFeedback := GLGetProcAddress('glPauseTransformFeedback');
  8992. glResumeTransformFeedback := GLGetProcAddress('glResumeTransformFeedback');
  8993. glDrawTransformFeedback := GLGetProcAddress('glDrawTransformFeedback');
  8994. glDrawTransformFeedbackStream := GLGetProcAddress('glDrawTransformFeedbackStream');
  8995. glBeginQueryIndexed := GLGetProcAddress('glBeginQueryIndexed');
  8996. glEndQueryIndexed := GLGetProcAddress('glEndQueryIndexed');
  8997. glGetQueryIndexediv := GLGetProcAddress('glGetQueryIndexediv');
  8998. {
  8999. glReleaseShaderCompiler := GLGetProcAddress('glReleaseShaderCompiler');
  9000. glShaderBinary := GLGetProcAddress('glShaderBinary');
  9001. glGetShaderPrecisionFormat := GLGetProcAddress('glGetShaderPrecisionFormat');
  9002. glDepthRangef := GLGetProcAddress('glDepthRangef');
  9003. glClearDepthf := GLGetProcAddress('glClearDepthf');
  9004. glGetProgramBinary := GLGetProcAddress('glGetProgramBinary');
  9005. glProgramBinary := GLGetProcAddress('glProgramBinary');
  9006. glProgramParameteri := GLGetProcAddress('glProgramParameteri');
  9007. glUseProgramStages := GLGetProcAddress('glUseProgramStages');
  9008. glActiveShaderProgram := GLGetProcAddress('glActiveShaderProgram');
  9009. glCreateShaderProgramv := GLGetProcAddress('glCreateShaderProgramv');
  9010. glBindProgramPipeline := GLGetProcAddress('glBindProgramPipeline');
  9011. glDeleteProgramPipelines := GLGetProcAddress('glDeleteProgramPipelines');
  9012. glGenProgramPipelines := GLGetProcAddress('glGenProgramPipelines');
  9013. glIsProgramPipeline := GLGetProcAddress('glIsProgramPipeline');
  9014. glGetProgramPipelineiv := GLGetProcAddress('glGetProgramPipelineiv');
  9015. glProgramUniform1i := GLGetProcAddress('glProgramUniform1i');
  9016. glProgramUniform1iv := GLGetProcAddress('glProgramUniform1iv');
  9017. glProgramUniform1f := GLGetProcAddress('glProgramUniform1f');
  9018. glProgramUniform1fv := GLGetProcAddress('glProgramUniform1fv');
  9019. glProgramUniform1d := GLGetProcAddress('glProgramUniform1d');
  9020. glProgramUniform1dv := GLGetProcAddress('glProgramUniform1dv');
  9021. glProgramUniform1ui := GLGetProcAddress('glProgramUniform1ui');
  9022. glProgramUniform1uiv := GLGetProcAddress('glProgramUniform1uiv');
  9023. glProgramUniform2i := GLGetProcAddress('glProgramUniform2i');
  9024. glProgramUniform2iv := GLGetProcAddress('glProgramUniform2iv');
  9025. glProgramUniform2f := GLGetProcAddress('glProgramUniform2f');
  9026. glProgramUniform2fv := GLGetProcAddress('glProgramUniform2fv');
  9027. glProgramUniform2d := GLGetProcAddress('glProgramUniform2d');
  9028. glProgramUniform2dv := GLGetProcAddress('glProgramUniform2dv');
  9029. glProgramUniform2ui := GLGetProcAddress('glProgramUniform2ui');
  9030. glProgramUniform2uiv := GLGetProcAddress('glProgramUniform2uiv');
  9031. glProgramUniform3i := GLGetProcAddress('glProgramUniform3i');
  9032. glProgramUniform3iv := GLGetProcAddress('glProgramUniform3iv');
  9033. glProgramUniform3f := GLGetProcAddress('glProgramUniform3f');
  9034. glProgramUniform3fv := GLGetProcAddress('glProgramUniform3fv');
  9035. glProgramUniform3d := GLGetProcAddress('glProgramUniform3d');
  9036. glProgramUniform3dv := GLGetProcAddress('glProgramUniform3dv');
  9037. glProgramUniform3ui := GLGetProcAddress('glProgramUniform3ui');
  9038. glProgramUniform3uiv := GLGetProcAddress('glProgramUniform3uiv');
  9039. glProgramUniform4i := GLGetProcAddress('glProgramUniform4i');
  9040. glProgramUniform4iv := GLGetProcAddress('glProgramUniform4iv');
  9041. glProgramUniform4f := GLGetProcAddress('glProgramUniform4f');
  9042. glProgramUniform4fv := GLGetProcAddress('glProgramUniform4fv');
  9043. glProgramUniform4d := GLGetProcAddress('glProgramUniform4d');
  9044. glProgramUniform4dv := GLGetProcAddress('glProgramUniform4dv');
  9045. glProgramUniform4ui := GLGetProcAddress('glProgramUniform4ui');
  9046. glProgramUniform4uiv := GLGetProcAddress('glProgramUniform4uiv');
  9047. glProgramUniformMatrix2fv := GLGetProcAddress('glProgramUniformMatrix2fv');
  9048. glProgramUniformMatrix3fv := GLGetProcAddress('glProgramUniformMatrix3fv');
  9049. glProgramUniformMatrix4fv := GLGetProcAddress('glProgramUniformMatrix4fv');
  9050. glProgramUniformMatrix2dv := GLGetProcAddress('glProgramUniformMatrix2dv');
  9051. glProgramUniformMatrix3dv := GLGetProcAddress('glProgramUniformMatrix3dv');
  9052. glProgramUniformMatrix4dv := GLGetProcAddress('glProgramUniformMatrix4dv');
  9053. glProgramUniformMatrix2x3fv := GLGetProcAddress('glProgramUniformMatrix2x3fv');
  9054. glProgramUniformMatrix3x2fv := GLGetProcAddress('glProgramUniformMatrix3x2fv');
  9055. glProgramUniformMatrix2x4fv := GLGetProcAddress('glProgramUniformMatrix2x4fv');
  9056. glProgramUniformMatrix4x2fv := GLGetProcAddress('glProgramUniformMatrix4x2fv');
  9057. glProgramUniformMatrix3x4fv := GLGetProcAddress('glProgramUniformMatrix3x4fv');
  9058. glProgramUniformMatrix4x3fv := GLGetProcAddress('glProgramUniformMatrix4x3fv');
  9059. glProgramUniformMatrix2x3dv := GLGetProcAddress('glProgramUniformMatrix2x3dv');
  9060. glProgramUniformMatrix3x2dv := GLGetProcAddress('glProgramUniformMatrix3x2dv');
  9061. glProgramUniformMatrix2x4dv := GLGetProcAddress('glProgramUniformMatrix2x4dv');
  9062. glProgramUniformMatrix4x2dv := GLGetProcAddress('glProgramUniformMatrix4x2dv');
  9063. glProgramUniformMatrix3x4dv := GLGetProcAddress('glProgramUniformMatrix3x4dv');
  9064. glProgramUniformMatrix4x3dv := GLGetProcAddress('glProgramUniformMatrix4x3dv');
  9065. glValidateProgramPipeline := GLGetProcAddress('glValidateProgramPipeline');
  9066. glGetProgramPipelineInfoLog := GLGetProcAddress('glGetProgramPipelineInfoLog');
  9067. glVertexAttribL1d := GLGetProcAddress('glVertexAttribL1d');
  9068. glVertexAttribL2d := GLGetProcAddress('glVertexAttribL2d');
  9069. glVertexAttribL3d := GLGetProcAddress('glVertexAttribL3d');
  9070. glVertexAttribL4d := GLGetProcAddress('glVertexAttribL4d');
  9071. glVertexAttribL1dv := GLGetProcAddress('glVertexAttribL1dv');
  9072. glVertexAttribL2dv := GLGetProcAddress('glVertexAttribL2dv');
  9073. glVertexAttribL3dv := GLGetProcAddress('glVertexAttribL3dv');
  9074. glVertexAttribL4dv := GLGetProcAddress('glVertexAttribL4dv');
  9075. glVertexAttribLPointer := GLGetProcAddress('glVertexAttribLPointer');
  9076. glGetVertexAttribLdv := GLGetProcAddress('glGetVertexAttribLdv');
  9077. glVertexArrayVertexAttribLOffsetEXT := GLGetProcAddress('glVertexArrayVertexAttribLOffsetEXT');
  9078. glViewportArrayv := GLGetProcAddress('glViewportArrayv');
  9079. glViewportIndexedf := GLGetProcAddress('glViewportIndexedf');
  9080. glViewportIndexedfv := GLGetProcAddress('glViewportIndexedfv');
  9081. glScissorArrayv := GLGetProcAddress('glScissorArrayv');
  9082. glScissorIndexed := GLGetProcAddress('glScissorIndexed');
  9083. glScissorIndexedv := GLGetProcAddress('glScissorIndexedv');
  9084. glDepthRangeArrayv := GLGetProcAddress('glDepthRangeArrayv');
  9085. glDepthRangeIndexed := GLGetProcAddress('glDepthRangeIndexed');
  9086. glGetFloati_v := GLGetProcAddress('glGetFloati_v');
  9087. glGetDoublei_v := GLGetProcAddress('glGetDoublei_v');
  9088. glDebugMessageControlARB := GLGetProcAddress('glDebugMessageControlARB');
  9089. glDebugMessageInsertARB := GLGetProcAddress('glDebugMessageInsertARB');
  9090. glDebugMessageCallbackARB := GLGetProcAddress('glDebugMessageCallbackARB');
  9091. glGetDebugMessageLogARB := GLGetProcAddress('glGetDebugMessageLogARB');
  9092. glGetGraphicsResetStatusARB := GLGetProcAddress('glGetGraphicsResetStatusARB');
  9093. glGetnMapdvARB := GLGetProcAddress('glGetnMapdvARB');
  9094. glGetnMapfvARB := GLGetProcAddress('glGetnMapfvARB');
  9095. glGetnMapivARB := GLGetProcAddress('glGetnMapivARB');
  9096. glGetnPixelMapfvARB := GLGetProcAddress('glGetnPixelMapfvARB');
  9097. glGetnPixelMapuivARB := GLGetProcAddress('glGetnPixelMapuivARB');
  9098. glGetnPixelMapusvARB := GLGetProcAddress('glGetnPixelMapusvARB');
  9099. glGetnPolygonStippleARB := GLGetProcAddress('glGetnPolygonStippleARB');
  9100. glGetnColorTableARB := GLGetProcAddress('glGetnColorTableARB');
  9101. glGetnConvolutionFilterARB := GLGetProcAddress('glGetnConvolutionFilterARB');
  9102. glGetnSeparableFilterARB := GLGetProcAddress('glGetnSeparableFilterARB');
  9103. glGetnHistogramARB := GLGetProcAddress('glGetnHistogramARB');
  9104. glGetnMinmaxARB := GLGetProcAddress('glGetnMinmaxARB');
  9105. glGetnTexImageARB := GLGetProcAddress('glGetnTexImageARB');
  9106. glReadnPixelsARB := GLGetProcAddress('glReadnPixelsARB');
  9107. glGetnCompressedTexImageARB := GLGetProcAddress('glGetnCompressedTexImageARB');
  9108. glGetnUniformfvARB := GLGetProcAddress('glGetnUniformfvARB');
  9109. glGetnUniformivARB := GLGetProcAddress('glGetnUniformivARB');
  9110. glGetnUniformuivARB := GLGetProcAddress('glGetnUniformuivARB');
  9111. glGetnUniformdvARB := GLGetProcAddress('glGetnUniformdvARB');
  9112. }
  9113. glSamplePassARB := GLGetProcAddress('glSamplePassARB');
  9114. glArrayElementArrayEXT := GLGetProcAddress('glArrayElementArrayEXT');
  9115. glAddSwapHintRectWIN := GLGetProcAddress('glAddSwapHintRectWIN');
  9116. glBlendColorEXT := GLGetProcAddress('glBlendColorEXT');
  9117. glPolygonOffsetEXT := GLGetProcAddress('glPolygonOffsetEXT');
  9118. glTexImage3DEXT := GLGetProcAddress('glTexImage3DEXT');
  9119. glTexSubImage1dEXT := GLGetProcAddress('glTexSubImage1DEXT');
  9120. glTexSubImage2dEXT := GLGetProcAddress('glTexSubImage2DEXT');
  9121. glTexSubImage3dEXT := GLGetProcAddress('glTexSubImage3DEXT');
  9122. glCopyTexImage1DEXT := GLGetProcAddress('glCopyTexImage1DEXT');
  9123. glCopyTexImage2DEXT := GLGetProcAddress('glCopyTexImage2DEXT');
  9124. glCopyTexSubImage1DEXT := GLGetProcAddress('glCopyTexSubImage1DEXT');
  9125. glCopyTexSubImage2DEXT := GLGetProcAddress('glCopyTexSubImage2DEXT');
  9126. glCopyTexSubImage3DEXT := GLGetProcAddress('glCopyTexSubImage3DEXT');
  9127. glGenTexturesEXT := GLGetProcAddress('glGenTexturesEXT');
  9128. glDeleteTexturesEXT := GLGetProcAddress('glDeleteTexturesEXT');
  9129. glBindTextureEXT := GLGetProcAddress('glBindTextureEXT');
  9130. glPrioritizeTexturesEXT := GLGetProcAddress('glPrioritizeTexturesEXT');
  9131. glAreTexturesResidentEXT := GLGetProcAddress('glAreTexturesResidentEXT');
  9132. glIsTextureEXT := GLGetProcAddress('glIsTextureEXT');
  9133. glSampleMaskSGIS := GLGetProcAddress('glSampleMaskSGIS');
  9134. glSamplePatternSGIS := GLGetProcAddress('glSamplePatternSGIS');
  9135. glBlendEquationEXT := GLGetProcAddress('glBlendEquationEXT');
  9136. glColorTableEXT := GLGetProcAddress('glColorTableEXT');
  9137. glColorSubTableEXT := GLGetProcAddress('glColorSubTableEXT');
  9138. glGetColorTableEXT := GLGetProcAddress('glGetColorTableEXT');
  9139. glGetColorTableParameterivEXT := GLGetProcAddress('glGetColorTableParameterivEXT');
  9140. glGetColorTableParameterfvEXT := GLGetProcAddress('glGetColorTableParameterfvEXT');
  9141. glIndexMaterialEXT := GLGetProcAddress('glIndexMaterialEXT');
  9142. glIndexFuncEXT := GLGetProcAddress('glIndexFuncEXT');
  9143. glLockArraysEXT := GLGetProcAddress('glLockArraysEXT');
  9144. glUnlockArraysEXT := GLGetProcAddress('glUnlockArraysEXT');
  9145. glDrawRangeElementsEXT := GLGetProcAddress('glDrawRangeElementsEXT');
  9146. glSecondaryColor3bEXT := GLGetProcAddress('glSecondaryColor3bEXT');
  9147. glSecondaryColor3bvEXT := GLGetProcAddress('glSecondaryColor3bvEXT');
  9148. glSecondaryColor3dEXT := GLGetProcAddress('glSecondaryColor3dEXT');
  9149. glSecondaryColor3dvEXT := GLGetProcAddress('glSecondaryColor3dvEXT');
  9150. glSecondaryColor3fEXT := GLGetProcAddress('glSecondaryColor3fEXT');
  9151. glSecondaryColor3fvEXT := GLGetProcAddress('glSecondaryColor3fvEXT');
  9152. glSecondaryColor3iEXT := GLGetProcAddress('glSecondaryColor3iEXT');
  9153. glSecondaryColor3ivEXT := GLGetProcAddress('glSecondaryColor3ivEXT');
  9154. glSecondaryColor3sEXT := GLGetProcAddress('glSecondaryColor3sEXT');
  9155. glSecondaryColor3svEXT := GLGetProcAddress('glSecondaryColor3svEXT');
  9156. glSecondaryColor3ubEXT := GLGetProcAddress('glSecondaryColor3ubEXT');
  9157. glSecondaryColor3ubvEXT := GLGetProcAddress('glSecondaryColor3ubvEXT');
  9158. glSecondaryColor3uiEXT := GLGetProcAddress('glSecondaryColor3uiEXT');
  9159. glSecondaryColor3uivEXT := GLGetProcAddress('glSecondaryColor3uivEXT');
  9160. glSecondaryColor3usEXT := GLGetProcAddress('glSecondaryColor3usEXT');
  9161. glSecondaryColor3usvEXT := GLGetProcAddress('glSecondaryColor3usvEXT');
  9162. glSecondaryColorPointerEXT := GLGetProcAddress('glSecondaryColorPointerEXT');
  9163. glMultiDrawArraysEXT := GLGetProcAddress('glMultiDrawArraysEXT');
  9164. glMultiDrawElementsEXT := GLGetProcAddress('glMultiDrawElementsEXT');
  9165. glFogCoordfEXT := GLGetProcAddress('glFogCoordfEXT');
  9166. glFogCoordfvEXT := GLGetProcAddress('glFogCoordfvEXT');
  9167. glFogCoorddEXT := GLGetProcAddress('glFogCoorddEXT');
  9168. glFogCoorddvEXT := GLGetProcAddress('glFogCoorddvEXT');
  9169. glFogCoordPointerEXT := GLGetProcAddress('glFogCoordPointerEXT');
  9170. glBlendFuncSeparateEXT := GLGetProcAddress('glBlendFuncSeparateEXT');
  9171. glFlushVertexArrayRangeNV := GLGetProcAddress('glFlushVertexArrayRangeNV');
  9172. glVertexArrayRangeNV := GLGetProcAddress('glVertexArrayRangeNV');
  9173. wglAllocateMemoryNV := GLGetProcAddress('wglAllocateMemoryNV');
  9174. wglFreeMemoryNV := GLGetProcAddress('wglFreeMemoryNV');
  9175. glCombinerParameterfvNV := GLGetProcAddress('glCombinerParameterfvNV');
  9176. glCombinerParameterfNV := GLGetProcAddress('glCombinerParameterfNV');
  9177. glCombinerParameterivNV := GLGetProcAddress('glCombinerParameterivNV');
  9178. glCombinerParameteriNV := GLGetProcAddress('glCombinerParameteriNV');
  9179. glCombinerInputNV := GLGetProcAddress('glCombinerInputNV');
  9180. glCombinerOutputNV := GLGetProcAddress('glCombinerOutputNV');
  9181. glFinalCombinerInputNV := GLGetProcAddress('glFinalCombinerInputNV');
  9182. glGetCombinerInputParameterfvNV := GLGetProcAddress('glGetCombinerInputParameterfvNV');
  9183. glGetCombinerInputParameterivNV := GLGetProcAddress('glGetCombinerInputParameterivNV');
  9184. glGetCombinerOutputParameterfvNV := GLGetProcAddress('glGetCombinerOutputParameterfvNV');
  9185. glGetCombinerOutputParameterivNV := GLGetProcAddress('glGetCombinerOutputParameterivNV');
  9186. glGetFinalCombinerInputParameterfvNV := GLGetProcAddress('glGetFinalCombinerInputParameterfvNV');
  9187. glGetFinalCombinerInputParameterivNV := GLGetProcAddress('glGetFinalCombinerInputParameterivNV');
  9188. glResizeBuffersMESA := GLGetProcAddress('glResizeBuffersMESA');
  9189. glTbufferMask3DFX := GLGetProcAddress('glTbufferMask3DFX');
  9190. glSampleMaskEXT := GLGetProcAddress('glSampleMaskEXT');
  9191. glSamplePatternEXT := GLGetProcAddress('glSamplePatternEXT');
  9192. glTextureColorMaskSGIS := GLGetProcAddress('glTextureColorMaskSGIS');
  9193. glGenFencesNV := GLGetProcAddress('glGenFencesNV');
  9194. glDeleteFencesNV := GLGetProcAddress('glDeleteFencesNV');
  9195. glSetFenceNV := GLGetProcAddress('glSetFenceNV');
  9196. glTestFenceNV := GLGetProcAddress('glTestFenceNV');
  9197. glFinishFenceNV := GLGetProcAddress('glFinishFenceNV');
  9198. glIsFenceNV := GLGetProcAddress('glIsFenceNV');
  9199. glGetFenceivNV := GLGetProcAddress('glGetFenceivNV');
  9200. glAreProgramsResidentNV := GLGetProcAddress('glAreProgramsResidentNV');
  9201. glBindProgramNV := GLGetProcAddress('glBindProgramNV');
  9202. glDeleteProgramsNV := GLGetProcAddress('glDeleteProgramsNV');
  9203. glExecuteProgramNV := GLGetProcAddress('glExecuteProgramNV');
  9204. glGenProgramsNV := GLGetProcAddress('glGenProgramsNV');
  9205. glGetProgramParameterdvNV := GLGetProcAddress('glGetProgramParameterdvNV');
  9206. glGetProgramParameterfvNV := GLGetProcAddress('glGetProgramParameterfvNV');
  9207. glGetProgramivNV := GLGetProcAddress('glGetProgramivNV');
  9208. glGetProgramStringNV := GLGetProcAddress('glGetProgramStringNV');
  9209. glGetTrackMatrixivNV := GLGetProcAddress('glGetTrackMatrixivNV');
  9210. glGetVertexAttribdvNV:= GLGetProcAddress('glGetVertexAttribdvNV');
  9211. glGetVertexAttribfvNV:= GLGetProcAddress('glGetVertexAttribfvNV');
  9212. glGetVertexAttribivNV:= GLGetProcAddress('glGetVertexAttribivNV');
  9213. glGetVertexAttribPointervNV := GLGetProcAddress ('glGetVertexAttribPointervNV');
  9214. glIsProgramNV := GLGetProcAddress('glIsProgramNV');
  9215. glLoadProgramNV := GLGetProcAddress('glLoadProgramNV');
  9216. glProgramParameter4dNV := GLGetProcAddress('glProgramParameter4dNV');
  9217. glProgramParameter4dvNV := GLGetProcAddress('glProgramParameter4dvNV');
  9218. glProgramParameter4fNV := GLGetProcAddress('glProgramParameter4fNV');
  9219. glProgramParameter4fvNV := GLGetProcAddress('glProgramParameter4fvNV');
  9220. glProgramParameters4dvNV := GLGetProcAddress ('glProgramParameters4dvNV');
  9221. glProgramParameters4fvNV := GLGetProcAddress ('glProgramParameters4fvNV');
  9222. glRequestResidentProgramsNV := GLGetProcAddress ('glRequestResidentProgramsNV');
  9223. glTrackMatrixNV := GLGetProcAddress('glTrackMatrixNV');
  9224. glVertexAttribPointerNV := GLGetProcAddress('glVertexAttribPointerNV');
  9225. glVertexAttrib1dNV := GLGetProcAddress('glVertexAttrib1dNV');
  9226. glVertexAttrib1dvNV := GLGetProcAddress('glVertexAttrib1dvNV');
  9227. glVertexAttrib1fNV := GLGetProcAddress('glVertexAttrib1fNV');
  9228. glVertexAttrib1fvNV := GLGetProcAddress('glVertexAttrib1fvNV');
  9229. glVertexAttrib1sNV := GLGetProcAddress('glVertexAttrib1sNV');
  9230. glVertexAttrib1svNV := GLGetProcAddress('glVertexAttrib1svNV');
  9231. glVertexAttrib2dNV := GLGetProcAddress('glVertexAttrib2dNV');
  9232. glVertexAttrib2dvNV := GLGetProcAddress('glVertexAttrib2dvNV');
  9233. glVertexAttrib2fNV := GLGetProcAddress('glVertexAttrib2fNV');
  9234. glVertexAttrib2fvNV := GLGetProcAddress('glVertexAttrib2fvNV');
  9235. glVertexAttrib2sNV := GLGetProcAddress('glVertexAttrib2sNV');
  9236. glVertexAttrib2svNV := GLGetProcAddress('glVertexAttrib2svNV');
  9237. glVertexAttrib3dNV := GLGetProcAddress('glVertexAttrib3dNV');
  9238. glVertexAttrib3dvNV := GLGetProcAddress('glVertexAttrib3dvNV');
  9239. glVertexAttrib3fNV := GLGetProcAddress('glVertexAttrib3fNV');
  9240. glVertexAttrib3fvNV := GLGetProcAddress('glVertexAttrib3fvNV');
  9241. glVertexAttrib3sNV := GLGetProcAddress('glVertexAttrib3sNV');
  9242. glVertexAttrib3svNV := GLGetProcAddress('glVertexAttrib3svNV');
  9243. glVertexAttrib4dNV := GLGetProcAddress('glVertexAttrib4dNV');
  9244. glVertexAttrib4dvNV := GLGetProcAddress('glVertexAttrib4dvNV');
  9245. glVertexAttrib4fNV := GLGetProcAddress('glVertexAttrib4fNV');
  9246. glVertexAttrib4fvNV := GLGetProcAddress('glVertexAttrib4fvNV');
  9247. glVertexAttrib4sNV := GLGetProcAddress('glVertexAttrib4sNV');
  9248. glVertexAttrib4svNV := GLGetProcAddress('glVertexAttrib4svNV');
  9249. glVertexAttrib4ubvNV := GLGetProcAddress('glVertexAttrib4ubvNV');
  9250. glVertexAttribs1dvNV := GLGetProcAddress('glVertexAttribs1dvNV');
  9251. glVertexAttribs1fvNV := GLGetProcAddress('glVertexAttribs1fvNV');
  9252. glVertexAttribs1svNV := GLGetProcAddress('glVertexAttribs1svNV');
  9253. glVertexAttribs2dvNV := GLGetProcAddress('glVertexAttribs2dvNV');
  9254. glVertexAttribs2fvNV := GLGetProcAddress('glVertexAttribs2fvNV');
  9255. glVertexAttribs2svNV := GLGetProcAddress('glVertexAttribs2svNV');
  9256. glVertexAttribs3dvNV := GLGetProcAddress('glVertexAttribs3dvNV');
  9257. glVertexAttribs3fvNV := GLGetProcAddress('glVertexAttribs3fvNV');
  9258. glVertexAttribs3svNV := GLGetProcAddress('glVertexAttribs3svNV');
  9259. glVertexAttribs4dvNV := GLGetProcAddress('glVertexAttribs4dvNV');
  9260. glVertexAttribs4fvNV := GLGetProcAddress('glVertexAttribs4fvNV');
  9261. glVertexAttribs4svNV := GLGetProcAddress('glVertexAttribs4svNV');
  9262. glVertexAttribs4ubvNV := GLGetProcAddress('glVertexAttribs4ubvN');
  9263. glGenOcclusionQueriesNV := GLGetProcAddress('glGenOcclusionQueriesNV');
  9264. glDeleteOcclusionQueriesNV := GLGetProcAddress('glDeleteOcclusionQueriesNV');
  9265. glIsOcclusionQueryNV := GLGetProcAddress('glIsOcclusionQueryNV');
  9266. glBeginOcclusionQueryNV := GLGetProcAddress('glBeginOcclusionQueryNV');
  9267. glEndOcclusionQueryNV := GLGetProcAddress('glEndOcclusionQueryNV');
  9268. glGetOcclusionQueryivNV := GLGetProcAddress('glGetOcclusionQueryivNV');
  9269. glGetOcclusionQueryuivNV := GLGetProcAddress('glGetOcclusionQueryuivNV');
  9270. glPointParameteriNV := GLGetProcAddress('glPointParameteriNV');
  9271. glPointParameterivNV := GLGetProcAddress('glPointParameterivNV');
  9272. glActiveStencilFaceEXT := GLGetProcAddress('glActiveStencilFaceEXT');
  9273. glDrawBuffersATI := GLGetProcAddress('glDrawBuffersATI');
  9274. glPrimitiveRestartNV := GLGetProcAddress('glPrimitiveRestartNV');
  9275. glPrimitiveRestartIndexNV := GLGetProcAddress('glPrimitiveRestartIndexNV');
  9276. glPrimitiveRestartIndex := GLGetProcAddress('glPrimitiveRestartIndex');
  9277. if Addr(glPrimitiveRestartIndex) = nil then
  9278. glPrimitiveRestartIndex := glPrimitiveRestartIndexNV;
  9279. glDepthBoundsEXT := GLGetProcAddress('glDepthBoundsEXT');
  9280. glBlendEquationSeparateEXT := GLGetProcAddress('glBlendEquationSeparateEXT');
  9281. glIsRenderbufferEXT := GLGetProcAddress('glIsRenderbufferEXT');
  9282. glBindRenderbufferEXT := GLGetProcAddress('glBindRenderbufferEXT');
  9283. glDeleteRenderbuffersEXT := GLGetProcAddress('glDeleteRenderbuffersEXT');
  9284. glGenRenderbuffersEXT := GLGetProcAddress('glGenRenderbuffersEXT');
  9285. glRenderbufferStorageEXT := GLGetProcAddress('glRenderbufferStorageEXT');
  9286. glGetRenderbufferParameterivEXT := GLGetProcAddress('glGetRenderbufferParameterivEXT');
  9287. glIsFramebufferEXT := GLGetProcAddress('glIsFramebufferEXT');
  9288. glBindFramebufferEXT := GLGetProcAddress('glBindFramebufferEXT');
  9289. glDeleteFramebuffersEXT := GLGetProcAddress('glDeleteFramebuffersEXT');
  9290. glGenFramebuffersEXT := GLGetProcAddress('glGenFramebuffersEXT');
  9291. glCheckFramebufferStatusEXT := GLGetProcAddress('glCheckFramebufferStatusEXT');
  9292. glFramebufferTexture1DEXT := GLGetProcAddress('glFramebufferTexture1DEXT');
  9293. glFramebufferTexture2DEXT := GLGetProcAddress('glFramebufferTexture2DEXT');
  9294. glFramebufferTexture3DEXT := GLGetProcAddress('glFramebufferTexture3DEXT');
  9295. glFramebufferRenderbufferEXT := GLGetProcAddress('glFramebufferRenderbufferEXT');
  9296. glGetFramebufferAttachmentParameterivEXT := GLGetProcAddress('glGetFramebufferAttachmentParameterivEXT');
  9297. glGenerateMipmapEXT := GLGetProcAddress('glGenerateMipmapEXT');
  9298. glStringMarkerGREMEDY := GLGetProcAddress('glStringMarkerGREMEDY');
  9299. glStencilClearTagEXT := GLGetProcAddress('glStencilClearTagEXT');
  9300. glBlitFramebufferEXT := GLGetProcAddress('glBlitFramebufferEXT');
  9301. glRenderbufferStorageMultisampleEXT := GLGetProcAddress('glRenderbufferStorageMultisampleEXT');
  9302. glGetQueryObjecti64vEXT := GLGetProcAddress('glGetQueryObjecti64vEXT');
  9303. glGetQueryObjectui64vEXT := GLGetProcAddress('glGetQueryObjectui64vEXT');
  9304. glProgramEnvParameters4fvEXT := GLGetProcAddress('glProgramEnvParameters4fvEXT');
  9305. glProgramLocalParameters4fvEXT := GLGetProcAddress('glProgramLocalParameters4fvEXT');
  9306. glProgramVertexLimitNV := GLGetProcAddress('glProgramVertexLimitNV');
  9307. glProgramParameteriEXT := GLGetProcAddress('glProgramParameteriEXT');
  9308. glFramebufferTextureEXT := GLGetProcAddress('glFramebufferTextureEXT');
  9309. glFramebufferTextureLayerEXT := GLGetProcAddress('glFramebufferTextureLayerEXT');
  9310. glFramebufferTextureFaceEXT := GLGetProcAddress('glFramebufferTextureFaceEXT');
  9311. glVertexAttribI1iEXT := GLGetProcAddress('glVertexAttribI1iEXT');
  9312. glVertexAttribI2iEXT := GLGetProcAddress('glVertexAttribI2iEXT');
  9313. glVertexAttribI3iEXT := GLGetProcAddress('glVertexAttribI3iEXT');
  9314. glVertexAttribI4iEXT := GLGetProcAddress('glVertexAttribI4iEXT');
  9315. glVertexAttribI1uiEXT := GLGetProcAddress('glVertexAttribI1uiEXT');
  9316. glVertexAttribI2uiEXT := GLGetProcAddress('glVertexAttribI2uiEXT');
  9317. glVertexAttribI3uiEXT := GLGetProcAddress('glVertexAttribI3uiEXT');
  9318. glVertexAttribI4uiEXT := GLGetProcAddress('glVertexAttribI4uiEXT');
  9319. glVertexAttribI1ivEXT := GLGetProcAddress('glVertexAttribI1ivEXT');
  9320. glVertexAttribI2ivEXT := GLGetProcAddress('glVertexAttribI2ivEXT');
  9321. glVertexAttribI3ivEXT := GLGetProcAddress('glVertexAttribI3ivEXT');
  9322. glVertexAttribI4ivEXT := GLGetProcAddress('glVertexAttribI4ivEXT');
  9323. glVertexAttribI1uivEXT := GLGetProcAddress('glVertexAttribI1uivEXT');
  9324. glVertexAttribI2uivEXT := GLGetProcAddress('glVertexAttribI2uivEXT');
  9325. glVertexAttribI3uivEXT := GLGetProcAddress('glVertexAttribI3uivEXT');
  9326. glVertexAttribI4uivEXT := GLGetProcAddress('glVertexAttribI4uivEXT');
  9327. glVertexAttribI4bvEXT := GLGetProcAddress('glVertexAttribI4bvEXT');
  9328. glVertexAttribI4svEXT := GLGetProcAddress('glVertexAttribI4svEXT');
  9329. glVertexAttribI4ubvEXT := GLGetProcAddress('glVertexAttribI4ubvEXT');
  9330. glVertexAttribI4usvEXT := GLGetProcAddress('glVertexAttribI4usvEXT');
  9331. glVertexAttribIPointerEXT := GLGetProcAddress('glVertexAttribIPointerEXT');
  9332. glGetVertexAttribIivEXT := GLGetProcAddress('glGetVertexAttribIivEXT');
  9333. glGetVertexAttribIuivEXT := GLGetProcAddress('glGetVertexAttribIuivEXT');
  9334. glUniform1uiEXT := GLGetProcAddress('glUniform1uiEXT');
  9335. glUniform2uiEXT := GLGetProcAddress('glUniform2uiEXT');
  9336. glUniform3uiEXT := GLGetProcAddress('glUniform3uiEXT');
  9337. glUniform4uiEXT := GLGetProcAddress('glUniform4uiEXT');
  9338. glUniform1uivEXT := GLGetProcAddress('glUniform1uivEXT');
  9339. glUniform2uivEXT := GLGetProcAddress('glUniform2uivEXT');
  9340. glUniform3uivEXT := GLGetProcAddress('glUniform3uivEXT');
  9341. glUniform4uivEXT := GLGetProcAddress('glUniform4uivEXT');
  9342. glGetUniformuivEXT := GLGetProcAddress('glGetUniformuivEXT');
  9343. glBindFragDataLocationEXT := GLGetProcAddress('glBindFragDataLocationEXT');
  9344. glGetFragDataLocationEXT := GLGetProcAddress('glGetFragDataLocationEXT');
  9345. glDrawArraysInstancedEXT := GLGetProcAddress('glDrawArraysInstancedEXT');
  9346. glDrawElementsInstancedEXT := GLGetProcAddress('glDrawElementsInstancedEXT');
  9347. // glFramebufferTextureLayerEXT:= GLGetProcAddress('glFramebufferTextureLayerEXT');
  9348. glTexBufferEXT := GLGetProcAddress('glTexBufferEXT');
  9349. glColorMaskIndexedEXT := GLGetProcAddress('glColorMaskIndexedEXT');
  9350. glGetBooleanIndexedvEXT := GLGetProcAddress('glGetBooleanIndexedvEXT');
  9351. glGetIntegerIndexedvEXT:= GLGetProcAddress('glGetIntegerIndexedvEXT');
  9352. glEnableIndexedEXT:= GLGetProcAddress('glEnableIndexedEXT');
  9353. glDisableIndexedEXT:= GLGetProcAddress('glDisableIndexedEXT');
  9354. glIsEnabledIndexedEXT:= GLGetProcAddress('glIsEnabledIndexedEXT');
  9355. glBindBufferRangeNV := GLGetProcAddress('glBindBufferRangeNV');
  9356. glBindBufferOffsetNV := GLGetProcAddress('glBindBufferOffsetNV');
  9357. glBindBufferBaseNV := GLGetProcAddress('glBindBufferBaseNV');
  9358. glTransformFeedbackAttribsNV := GLGetProcAddress('glTransformFeedbackAttribsNV');
  9359. glTransformFeedbackVaryingsNV := GLGetProcAddress('glTransformFeedbackVaryingsNV');
  9360. glBeginTransformFeedbackNV := GLGetProcAddress('glBeginTransformFeedbackNV');
  9361. glEndTransformFeedbackNV := GLGetProcAddress('glEndTransformFeedbackNV');
  9362. glGetVaryingLocationNV := GLGetProcAddress('glGetVaryingLocationNV');
  9363. glGetActiveVaryingNV := GLGetProcAddress('glGetActiveVaryingNV');
  9364. glActiveVaryingNV := GLGetProcAddress('glActiveVaryingNV');
  9365. glGetTransformFeedbackVaryingNV := GLGetProcAddress('glGetTransformFeedbackVaryingNV');
  9366. glUniformBufferEXT := GLGetProcAddress('glUniformBufferEXT');
  9367. glGetUniformBufferSizeEXT := GLGetProcAddress('glGetUniformBufferSizeEXT');
  9368. glGetUniformOffsetEXT := GLGetProcAddress('glGetUniformOffsetEXT');
  9369. glClearColorIiEXT := GLGetProcAddress('glClearColorIiEXT');
  9370. glClearColorIuiEXT := GLGetProcAddress('glClearColorIuiEXT');
  9371. glTexParameterIivEXT := GLGetProcAddress('glTexParameterIivEXT');
  9372. glTexParameterIuivEXT := GLGetProcAddress('glTexParameterIuivEXT');
  9373. glGetTexParameterIivEXT := GLGetProcAddress('glGetTexParameterIivEXT');
  9374. glGetTexParameterIuivEXT := GLGetProcAddress('glGetTexParameterIuivEXT');
  9375. glFrameTerminatorGREMEDY := GLGetProcAddress('glFrameTerminatorGREMEDY');
  9376. glBeginConditionalRenderNV := GLGetProcAddress('glBeginConditionalRenderNV');
  9377. glEndConditionalRenderNV := GLGetProcAddress('glEndConditionalRenderNV');
  9378. glBindBufferRangeEXT := GLGetProcAddress('glBindBufferRangeEXT');
  9379. glBindBufferOffsetEXT := GLGetProcAddress('glBindBufferOffsetEXT');
  9380. glBindBufferBaseEXT := GLGetProcAddress('glBindBufferBaseEXT');
  9381. glBeginTransformFeedbackEXT := GLGetProcAddress('glBeginTransformFeedbackEXT');
  9382. glEndTransformFeedbackEXT := GLGetProcAddress('glEndTransformFeedbackEXT');
  9383. glTransformFeedbackVaryingsEXT := GLGetProcAddress('glTransformFeedbackVaryingsEXT');
  9384. glGetTransformFeedbackVaryingEXT:= GLGetProcAddress('glGetTransformFeedbackVaryingEXT');
  9385. glTessellationFactorAMD := GLGetProcAddress('glTessellationFactorAMD');
  9386. glTessellationModeAMD := GLGetProcAddress('glTessellationModeAMD');
  9387. glCopyImageSubDataNV := GLGetProcAddress('glCopyImageSubDataNV');
  9388. glMakeBufferResidentNV := GLGetProcAddress('glMakeBufferResidentNV');
  9389. glMakeBufferNonResidentNV := GLGetProcAddress('glMakeBufferNonResidentNV');
  9390. glIsBufferResidentNV := GLGetProcAddress('glIsBufferResidentNV');
  9391. glMakeNamedBufferResidentNV := GLGetProcAddress('glMakeNamedBufferResidentNV');
  9392. glMakeNamedBufferNonResidentNV := GLGetProcAddress('glMakeNamedBufferNonResidentNV');
  9393. glIsNamedBufferResidentNV := GLGetProcAddress('glIsNamedBufferResidentNV');
  9394. glGetBufferParameterui64vNV := GLGetProcAddress('glGetBufferParameterui64vNV');
  9395. glGetNamedBufferParameterui64vNV := GLGetProcAddress('glGetNamedBufferParameterui64vNV');
  9396. glGetIntegerui64vNV := GLGetProcAddress('glGetIntegerui64vNV');
  9397. glUniformui64NV := GLGetProcAddress('glUniformui64NV');
  9398. glUniformui64vNV := GLGetProcAddress('glUniformui64vNV');
  9399. glGetUniformui64vNV := GLGetProcAddress('glGetUniformui64vNV');
  9400. glProgramUniformui64NV := GLGetProcAddress('glProgramUniformui64NV');
  9401. glProgramUniformui64vNV := GLGetProcAddress('glProgramUniformui64vNV');
  9402. glBufferAddressRangeNV := GLGetProcAddress('glBufferAddressRangeNV');
  9403. glVertexFormatNV := GLGetProcAddress('glVertexFormatNV');
  9404. glNormalFormatNV := GLGetProcAddress('glNormalFormatNV');
  9405. glColorFormatNV := GLGetProcAddress('glColorFormatNV');
  9406. glIndexFormatNV := GLGetProcAddress('glIndexFormatNV');
  9407. glTexCoordFormatNV := GLGetProcAddress('glTexCoordFormatNV');
  9408. glEdgeFlagFormatNV := GLGetProcAddress('glEdgeFlagFormatNV');
  9409. glSecondaryColorFormatNV := GLGetProcAddress('glSecondaryColorFormatNV');
  9410. glFogCoordFormatNV := GLGetProcAddress('glFogCoordFormatNV');
  9411. glVertexAttribFormatNV := GLGetProcAddress('glVertexAttribFormatNV');
  9412. glVertexAttribIFormatNV := GLGetProcAddress('glVertexAttribIFormatNV');
  9413. glGetIntegerui64i_vNV := GLGetProcAddress('glGetIntegerui64i_vNV');
  9414. //------ locate functions/procedures for Windows OpenGL (WGL) extensions -------
  9415. {$IFDEF SUPPORT_WGL}
  9416. ReadWGLExtensions;
  9417. {$ENDIF}
  9418. //------------------- locate functions/procedures for GLX extensions -----------
  9419. {$IFDEF SUPPORT_GLX}
  9420. ReadGLXExtensions;
  9421. {$ENDIF}
  9422. end;
  9423. {$IFDEF SUPPORT_WGL}
  9424. // ReadWGLExtensions
  9425. //
  9426. procedure ReadWGLExtensions;
  9427. begin
  9428. wglCreateBufferRegionARB := GLGetProcAddress('wglCreateBufferRegionARB');
  9429. wglDeleteBufferRegionARB := GLGetProcAddress('wglDeleteBufferRegionARB');
  9430. wglSaveBufferRegionARB := GLGetProcAddress('wglSaveBufferRegionARB');
  9431. wglRestoreBufferRegionARB := GLGetProcAddress('wglRestoreBufferRegionARB');
  9432. wglGetExtensionsStringARB := GLGetProcAddress('wglGetExtensionsStringARB');
  9433. wglGetPixelFormatAttribivARB := GLGetProcAddress('wglGetPixelFormatAttribivARB');
  9434. wglGetPixelFormatAttribfvARB := GLGetProcAddress('wglGetPixelFormatAttribfvARB');
  9435. wglChoosePixelFormatARB := GLGetProcAddress('wglChoosePixelFormatARB');
  9436. wglMakeContextCurrentARB := GLGetProcAddress('wglMakeContextCurrentARB');
  9437. wglGetCurrentReadDCARB := GLGetProcAddress('wglGetCurrentReadDCARB');
  9438. wglCreatePbufferARB := GLGetProcAddress('wglCreatePbufferARB');
  9439. wglGetPbufferDCARB := GLGetProcAddress('wglGetPbufferDCARB');
  9440. wglReleasePbufferDCARB := GLGetProcAddress('wglReleasePbufferDCARB');
  9441. wglDestroyPbufferARB := GLGetProcAddress('wglDestroyPbufferARB');
  9442. wglQueryPbufferARB := GLGetProcAddress('wglQueryPbufferARB');
  9443. wglBindTexImageARB := GLGetProcAddress('wglBindTexImageARB');
  9444. wglReleaseTexImageARB := GLGetProcAddress('wglReleaseTexImageARB');
  9445. wglSetPbufferAttribARB := GLGetProcAddress('wglSetPbufferAttribARB');
  9446. wglCreateContextAttribsARB := GLGetProcAddress('wglCreateContextAttribsARB');
  9447. wglSwapIntervalEXT := GLGetProcAddress('wglSwapIntervalEXT');
  9448. wglGetSwapIntervalEXT := GLGetProcAddress('wglGetSwapIntervalEXT');
  9449. wglAllocateMemoryNV := GLGetProcAddress('wglAllocateMemoryNV');
  9450. wglFreeMemoryNV := GLGetProcAddress('wglFreeMemoryNV');
  9451. wglEnumGpusNV := GLGetProcAddress('wglEnumGpusNV');
  9452. wglEnumGpuDevicesNV := GLGetProcAddress('wglEnumGpuDevicesNV');
  9453. wglCreateAffinityDCNV := GLGetProcAddress('wglCreateAffinityDCNV');
  9454. wglEnumGpusFromAffinityDCNV := GLGetProcAddress('wglEnumGpusFromAffinityDCNV');
  9455. wglDeleteDCNV := GLGetProcAddress('wglDeleteDCNV');
  9456. end;
  9457. {$ENDIF}
  9458. {$IFDEF SUPPORT_GLX}
  9459. procedure ReadGLXExtensions;
  9460. begin
  9461. glXGetProcAddress := GLLibGetProcAddress('glXGetProcAddress');
  9462. glXGetProcAddressARB := GLLibGetProcAddress('glXGetProcAddressARB');
  9463. glXChooseFBConfig := GLGetProcAddress('glXChooseFBConfig');
  9464. glXGetFBConfigAttrib := GLGetProcAddress('glXGetFBConfigAttrib');
  9465. glXGetFBConfigs := GLGetProcAddress('glXGetFBConfigs');
  9466. glXGetVisualFromFBConfig := GLGetProcAddress('glXGetVisualFromFBConfig');
  9467. glXCreateWindow := GLGetProcAddress('glXCreateWindow');
  9468. glXDestroyWindow := GLGetProcAddress('glXDestroyWindow');
  9469. glXCreatePixmap := GLGetProcAddress('glXCreatePixmap');
  9470. glXDestroyPixmap := GLGetProcAddress('glXDestroyPixmap');
  9471. glXCreatePbuffer := GLGetProcAddress('glXCreatePbuffer');
  9472. glXDestroyPbuffer := GLGetProcAddress('glXDestroyPbuffer');
  9473. glXQueryDrawable := GLGetProcAddress('glXQueryDrawable');
  9474. glXCreateNewContext := GLGetProcAddress('glXCreateNewContext');
  9475. glXMakeContextCurrent := GLGetProcAddress('glXMakeContextCurrent');
  9476. glXGetCurrentReadDrawable := GLGetProcAddress('glXGetCurrentReadDrawable');
  9477. glXQueryContext := GLGetProcAddress('glXQueryContext');
  9478. glXSelectEvent := GLGetProcAddress('glXSelectEvent');
  9479. glXGetSelectedEvent := GLGetProcAddress('glXGetSelectedEvent');
  9480. glXBindTexImageARB := GLGetProcAddress('glXBindTexImageARB');
  9481. glXReleaseTexImageARB := GLGetProcAddress('glXReleaseTexImageARB');
  9482. glxDrawableAttribARB := GLGetProcAddress('glxDrawableAttribARB');
  9483. glXCreateContextAttribsARB := GLGetProcAddress('glXCreateContextAttribsARB');
  9484. glXSwapIntervalSGI := GLGetProcAddress('glXSwapIntervalSGI');
  9485. glXGetVideoSyncSGI := GLGetProcAddress('glXGetVideoSyncSGI');
  9486. glXWaitVideoSyncSGI := GLGetProcAddress('glXWaitVideoSyncSGI');
  9487. glXFreeContextEXT := GLGetProcAddress('glXFreeContextEXT');
  9488. glXGetContextIDEXT := GLGetProcAddress('glXGetContextIDEXT');
  9489. glXGetCurrentDisplayEXT := GLGetProcAddress('glXGetCurrentDisplayEXT');
  9490. glXImportContextEXT := GLGetProcAddress('glXImportContextEXT');
  9491. glXQueryContextInfoEXT := GLGetProcAddress('glXQueryContextInfoEXT');
  9492. glXCopySubBufferMESA := GLGetProcAddress('glXCopySubBufferMESA');
  9493. glXCreateGLXPixmapMESA := GLGetProcAddress('glXCreateGLXPixmapMESA');
  9494. glXReleaseBuffersMESA := GLGetProcAddress('glXReleaseBuffersMESA');
  9495. glXSet3DfxModeMESA := GLGetProcAddress('glXSet3DfxModeMESA');
  9496. glXBindTexImageEXT := GLGetProcAddress('glXBindTexImageEXT');
  9497. glXReleaseTexImageEXT := GLGetProcAddress('glXReleaseTexImageEXT');
  9498. glXMakeCurrentReadSGI := GLGetProcAddress('glXMakeCurrentReadSGI');
  9499. glXGetCurrentReadDrawableSGI := GLGetProcAddress('glXGetCurrentReadDrawableSGI');
  9500. glXGetFBConfigAttribSGIX := GLGetProcAddress('glXGetFBConfigAttribSGIX');
  9501. glXChooseFBConfigSGIX := GLGetProcAddress('glXChooseFBConfigSGIX');
  9502. glXCreateGLXPixmapWithConfigSGIX := GLGetProcAddress('glXCreateGLXPixmapWithConfigSGIX');
  9503. glXCreateContextWithConfigSGIX := GLGetProcAddress('glXCreateContextWithConfigSGIX');
  9504. glXGetVisualFromFBConfigSGIX := GLGetProcAddress('glXGetVisualFromFBConfigSGIX');
  9505. glXGetFBConfigFromVisualSGIX := GLGetProcAddress('glXGetFBConfigFromVisualSGIX');
  9506. glXCreateGLXPbufferSGIX := GLGetProcAddress('glXCreateGLXPbufferSGIX');
  9507. glXDestroyGLXPbufferSGIX := GLGetProcAddress('glXDestroyGLXPbufferSGIX');
  9508. glXQueryGLXPbufferSGIX := GLGetProcAddress('glXQueryGLXPbufferSGIX');
  9509. glXSelectEventSGIX := GLGetProcAddress('glXSelectEventSGIX');
  9510. glXGetSelectedEventSGIX := GLGetProcAddress('glXGetSelectedEventSGIX');
  9511. glXCushionSGI := GLGetProcAddress('glXCushionSGI');
  9512. glXBindChannelToWindowSGIX := GLGetProcAddress('glXBindChannelToWindowSGIX');
  9513. glXChannelRectSGIX := GLGetProcAddress('glXChannelRectSGIX');
  9514. glXQueryChannelRectSGIX := GLGetProcAddress('glXQueryChannelRectSGIX');
  9515. glXQueryChannelDeltasSGIX := GLGetProcAddress('glXQueryChannelDeltasSGIX');
  9516. glXChannelRectSyncSGIX := GLGetProcAddress('glXChannelRectSyncSGIX');
  9517. glXJoinSwapGroupSGIX := GLGetProcAddress('glXJoinSwapGroupSGIX');
  9518. glXBindSwapBarrierSGIX := GLGetProcAddress('glXBindSwapBarrierSGIX');
  9519. glXQueryMaxSwapBarriersSGIX := GLGetProcAddress('glXQueryMaxSwapBarriersSGIX');
  9520. glXQueryHyperpipeNetworkSGIX := GLGetProcAddress('glXQueryHyperpipeNetworkSGIX');
  9521. glXHyperpipeConfigSGIX := GLGetProcAddress('glXHyperpipeConfigSGIX');
  9522. glXQueryHyperpipeConfigSGIX := GLGetProcAddress('glXQueryHyperpipeConfigSGIX');
  9523. glXDestroyHyperpipeConfigSGIX := GLGetProcAddress('glXDestroyHyperpipeConfigSGIX');
  9524. glXBindHyperpipeSGIX := GLGetProcAddress('glXBindHyperpipeSGIX');
  9525. glXQueryHyperpipeBestAttribSGIX := GLGetProcAddress('glXQueryHyperpipeBestAttribSGIX');
  9526. glXHyperpipeAttribSGIX := GLGetProcAddress('glXHyperpipeAttribSGIX');
  9527. glXQueryHyperpipeAttribSGIX := GLGetProcAddress('glXQueryHyperpipeAttribSGIX');
  9528. glXGetAGPOffsetMESA := GLGetProcAddress('glXGetAGPOffsetMESA');
  9529. glXEnumerateVideoDevicesNV := GLGetProcAddress('glXEnumerateVideoDevicesNV');
  9530. glXBindVideoDeviceNV := GLGetProcAddress('glXBindVideoDeviceNV');
  9531. glxGetVideoDeviceNV := GLGetProcAddress('glxGetVideoDeviceNV');
  9532. glXCopySubBufferMESA := GLGetProcAddress('glXCopySubBufferMESA');
  9533. glXReleaseBuffersMESA := GLGetProcAddress('glXReleaseBuffersMESA');
  9534. glXCreateGLXPixmapMESA := GLGetProcAddress('glXCreateGLXPixmapMESA');
  9535. glXSet3DfxModeMESA := GLGetProcAddress('glXSet3DfxModeMESA');
  9536. glXAllocateMemoryNV := GLGetProcAddress('glXAllocateMemoryNV');
  9537. glXFreeMemoryNV := GLGetProcAddress('glXFreeMemoryNV');
  9538. glXReleaseVideoDeviceNV := GLGetProcAddress('glXReleaseVideoDeviceNV');
  9539. glXBindVideoImageNV := GLGetProcAddress('glXBindVideoImageNV');
  9540. glXReleaseVideoImageNV := GLGetProcAddress('glXReleaseVideoImageNV');
  9541. glXSendPbufferToVideoNV := GLGetProcAddress('glXSendPbufferToVideoNV');
  9542. glXGetVideoInfoNV := GLGetProcAddress('glXGetVideoInfoNV');
  9543. glXJoinSwapGroupNV := GLGetProcAddress('glXJoinSwapGroupNV');
  9544. glXBindSwapBarrierNV := GLGetProcAddress('glXBindSwapBarrierNV');
  9545. glXQuerySwapGroupNV := GLGetProcAddress('glXQuerySwapGroupNV');
  9546. glXQueryMaxSwapGroupsNV := GLGetProcAddress('glXQueryMaxSwapGroupsNV');
  9547. glXQueryFrameCountNV := GLGetProcAddress('glXQueryFrameCountNV');
  9548. glXResetFrameCountNV := GLGetProcAddress('glXResetFrameCountNV');
  9549. glXBindVideoCaptureDeviceNV := GLGetProcAddress('glXBindVideoCaptureDeviceNV');
  9550. glXEnumerateVideoCaptureDevicesNV := GLGetProcAddress('glXEnumerateVideoCaptureDevicesNV');
  9551. glxLockVideoCaptureDeviceNV := GLGetProcAddress('glxLockVideoCaptureDeviceNV');
  9552. glXQueryVideoCaptureDeviceNV := GLGetProcAddress('glXQueryVideoCaptureDeviceNV');
  9553. glXReleaseVideoCaptureDeviceNV := GLGetProcAddress('glXReleaseVideoCaptureDeviceNV');
  9554. glXSwapIntervalEXT := GLGetProcAddress('glXSwapIntervalEXT');
  9555. glXCopyImageSubDataNV := GLGetProcAddress('glXCopyImageSubDataNV');
  9556. end;
  9557. {$ENDIF}
  9558. procedure TrimAndSplitVersionString(Buffer: String; out Max, Min: Integer);
  9559. // Peels out the X.Y form from the given Buffer which must contain a version string like "text Minor.Major.Build text"
  9560. // at least however "Major.Minor".
  9561. var
  9562. Separator: Integer;
  9563. begin
  9564. try
  9565. // There must be at least one dot to separate major and minor version number.
  9566. Separator := Pos('.', Buffer);
  9567. // At least one number must be before and one after the dot.
  9568. if (Separator > 1) and (Separator < Length(Buffer)) and
  9569. (AnsiChar(Buffer[Separator - 1]) in ['0'..'9']) and
  9570. (AnsiChar(Buffer[Separator + 1]) in ['0'..'9']) then
  9571. begin
  9572. // OK, it's a valid version string. Now remove unnecessary parts.
  9573. Dec(Separator);
  9574. // Find last non-numeric character before version number.
  9575. while (Separator > 0) and (AnsiChar(Buffer[Separator]) in ['0'..'9']) do
  9576. Dec(Separator);
  9577. // Delete leading characters which do not belong to the version string.
  9578. Delete(Buffer, 1, Separator);
  9579. Separator := Pos('.', Buffer) + 1;
  9580. // Find first non-numeric character after version number
  9581. while (Separator <= Length(Buffer)) and
  9582. (AnsiChar(Buffer[Separator]) in ['0'..'9']) do
  9583. Inc(Separator);
  9584. // delete trailing characters not belonging to the version string
  9585. Delete(Buffer, Separator, 255);
  9586. // Now translate the numbers.
  9587. Separator := Pos('.', Buffer); // This is necessary because the buffer length might have changed.
  9588. Max := StrToInt(Copy(Buffer, 1, Separator - 1));
  9589. Min := StrToInt(Copy(Buffer, Separator + 1, 255));
  9590. end
  9591. else
  9592. Abort;
  9593. except
  9594. Min := 0;
  9595. Max := 0;
  9596. end;
  9597. end;
  9598. function IsVersionMet(MajorVersion, MinorVersion, actualMajorVersion,
  9599. actualMinorVersion: Integer): Boolean;
  9600. begin
  9601. Result := (actualMajorVersion > MajorVersion) or
  9602. ((actualMajorVersion = MajorVersion) and
  9603. (actualMinorVersion >= MinorVersion));
  9604. end;
  9605. procedure ReadImplementationProperties;
  9606. var
  9607. Buffer : String;
  9608. MajorVersion, MinorVersion: Integer;
  9609. // Checks if the given Extension string is in Buffer.
  9610. function CheckExtension(const Extension: string): Boolean; //PALOFF
  9611. var
  9612. ExtPos: Integer;
  9613. begin
  9614. // First find the position of the extension string as substring in Buffer.
  9615. ExtPos := Pos(Extension, Buffer);
  9616. Result := ExtPos > 0;
  9617. // Now check that it isn't only a substring of another extension.
  9618. if Result then
  9619. Result := ((ExtPos + Length(Extension) - 1)= Length(Buffer))
  9620. or (Buffer[ExtPos + Length(Extension)]=' ');
  9621. end;
  9622. begin
  9623. // determine OpenGL versions supported
  9624. Buffer := string(glGetString(GL_VERSION));
  9625. TrimAndSplitVersionString(Buffer, MajorVersion, MinorVersion);
  9626. GL_VERSION_4_0 := IsVersionMet(4, 0, MajorVersion, MinorVersion);
  9627. GL_VERSION_4_1 := IsVersionMet(4, 1, MajorVersion, MinorVersion);
  9628. GL_VERSION_4_2 := IsVersionMet(4, 2, MajorVersion, MinorVersion);
  9629. GL_VERSION_4_3 := IsVersionMet(4, 3, MajorVersion, MinorVersion);
  9630. GL_VERSION_4_4 := IsVersionMet(4, 4, MajorVersion, MinorVersion);
  9631. GL_VERSION_4_5 := IsVersionMet(4, 5, MajorVersion, MinorVersion);
  9632. // determine GLU versions met
  9633. buffer:=String(gluGetString(GLU_VERSION));
  9634. TrimAndSplitVersionString(buffer, majorversion, minorVersion);
  9635. GLU_VERSION_1_3:=IsVersionMet(1,3,majorVersion,minorVersion);
  9636. // check supported OpenGL extensions
  9637. Buffer := String(glGetString(GL_EXTENSIONS));
  9638. GL_ARB_blend_func_extended := CheckExtension('GL_ARB_blend_func_extended');
  9639. GL_ARB_color_buffer_float := CheckExtension('GL_ARB_color_buffer_float');
  9640. GL_ARB_compatibility := CheckExtension('GL_ARB_compatibility');
  9641. GL_ARB_copy_buffer := CheckExtension('GL_ARB_copy_buffer');
  9642. GL_ARB_debug_output := CheckExtension('GL_ARB_debug_output');
  9643. GL_ARB_depth_buffer_float := CheckExtension('GL_ARB_depth_buffer_float');
  9644. GL_ARB_depth_clamp := CheckExtension('GL_ARB_depth_clamp');
  9645. GL_ARB_depth_texture := CheckExtension('GL_ARB_depth_texture');
  9646. GL_ARB_draw_buffers := CheckExtension('GL_ARB_draw_buffers');
  9647. GL_ARB_draw_buffers_blend := CheckExtension('GL_ARB_draw_buffers_blend');
  9648. GL_ARB_draw_elements_base_vertex := CheckExtension('GL_ARB_draw_elements_base_vertex');
  9649. GL_ARB_draw_indirect := CheckExtension('GL_ARB_draw_indirect');
  9650. GL_ARB_draw_instanced := CheckExtension('GL_ARB_draw_instanced');
  9651. GL_ARB_ES2_compatibility := CheckExtension('GL_ARB_ES2_compatibility');
  9652. GL_ARB_explicit_attrib_location := CheckExtension('GL_ARB_explicit_attrib_location');
  9653. GL_ARB_fragment_coord_conventions := CheckExtension('GL_ARB_fragment_coord_conventions');
  9654. GL_ARB_fragment_program := CheckExtension('GL_ARB_fragment_program');
  9655. GL_ARB_fragment_program_shadow := CheckExtension('GL_ARB_fragment_program_shadow');
  9656. GL_ARB_fragment_shader := CheckExtension('GL_ARB_fragment_shader');
  9657. GL_ARB_framebuffer_object := CheckExtension('GL_ARB_framebuffer_object');
  9658. GL_ARB_framebuffer_sRGB := CheckExtension('GL_ARB_framebuffer_sRGB');
  9659. GL_ARB_geometry_shader4 := CheckExtension('GL_ARB_geometry_shader4');
  9660. GL_ARB_get_program_binary := CheckExtension('GL_ARB_get_program_binary');
  9661. GL_ARB_gpu_shader_fp64 := CheckExtension('GL_ARB_gpu_shader_fp64');
  9662. GL_ARB_gpu_shader5 := CheckExtension('GL_ARB_gpu_shader5');
  9663. GL_ARB_half_float_pixel := CheckExtension('GL_ARB_half_float_pixel');
  9664. GL_ARB_half_float_vertex := CheckExtension('GL_ARB_half_float_vertex');
  9665. GL_ARB_imaging := CheckExtension('GL_ARB_imaging');
  9666. GL_ARB_instanced_arrays := CheckExtension('GL_ARB_instanced_arrays');
  9667. GL_ARB_map_buffer_range := CheckExtension('GL_ARB_map_buffer_range');
  9668. GL_ARB_matrix_palette := CheckExtension('GL_ARB_matrix_palette');
  9669. GL_ARB_multisample := CheckExtension(' GL_ARB_multisample'); // ' ' to avoid collision with WGL variant
  9670. GL_ARB_multitexture := CheckExtension('GL_ARB_multitexture');
  9671. GL_ARB_occlusion_query := CheckExtension('GL_ARB_occlusion_query');
  9672. GL_ARB_occlusion_query2 := CheckExtension('GL_ARB_occlusion_query2');
  9673. GL_ARB_pixel_buffer_object := CheckExtension('GL_ARB_pixel_buffer_object');
  9674. GL_ARB_point_parameters := CheckExtension('GL_ARB_point_parameters');
  9675. GL_ARB_point_sprite := CheckExtension('GL_ARB_point_sprite');
  9676. GL_ARB_provoking_vertex := CheckExtension('GL_ARB_provoking_vertex');
  9677. GL_ARB_robustness := CheckExtension('GL_ARB_robustness');
  9678. GL_ARB_sample_shading := CheckExtension('GL_ARB_sample_shading');
  9679. GL_ARB_sampler_objects := CheckExtension('GL_ARB_sampler_objects');
  9680. GL_ARB_seamless_cube_map := CheckExtension('GL_ARB_seamless_cube_map');
  9681. GL_ARB_separate_shader_objects := CheckExtension('GL_ARB_separate_shader_objects');
  9682. GL_ARB_shader_bit_encoding := CheckExtension('GL_ARB_shader_bit_encoding');
  9683. GL_ARB_shader_precision := CheckExtension('GL_ARB_shader_precision');
  9684. GL_ARB_shader_objects := CheckExtension('GL_ARB_shader_objects');
  9685. GL_ARB_shader_stencil_export := CheckExtension('GL_ARB_shader_stencil_export');
  9686. GL_ARB_shader_subroutine := CheckExtension('GL_ARB_shader_subroutine');
  9687. GL_ARB_shader_texture_lod := CheckExtension('GL_ARB_shader_texture_lod');
  9688. GL_ARB_shading_language_100 := CheckExtension('GL_ARB_shading_language_100');
  9689. GL_ARB_shadow := CheckExtension('GL_ARB_shadow');
  9690. GL_ARB_shadow_ambient := CheckExtension('GL_ARB_shadow_ambient');
  9691. GL_ARB_sync := CheckExtension('GL_ARB_sync');
  9692. GL_ARB_tessellation_shader := CheckExtension('GL_ARB_tessellation_shader');
  9693. GL_ARB_texture_border_clamp := CheckExtension('GL_ARB_texture_border_clamp');
  9694. GL_ARB_texture_buffer_object := CheckExtension('GL_ARB_texture_buffer_object');
  9695. GL_ARB_texture_buffer_object_rgb32 := CheckExtension('GL_ARB_texture_buffer_object_rgb32');
  9696. GL_ARB_texture_compression := CheckExtension('GL_ARB_texture_compression');
  9697. GL_ARB_texture_compression_rgtc := CheckExtension('GL_ARB_texture_compression_rgtc');
  9698. GL_ARB_texture_cube_map := CheckExtension('GL_ARB_texture_cube_map');
  9699. GL_ARB_texture_cube_map_array := CheckExtension('GL_ARB_texture_cube_map_array');
  9700. GL_ARB_texture_env_add := CheckExtension('GL_ARB_texture_env_add');
  9701. GL_ARB_texture_env_combine := CheckExtension('GL_ARB_texture_env_combine');
  9702. GL_ARB_texture_env_crossbar := CheckExtension('GL_ARB_texture_env_crossbar');
  9703. GL_ARB_texture_env_dot3 := CheckExtension('GL_ARB_texture_env_dot3');
  9704. GL_ARB_texture_float := CheckExtension('GL_ARB_texture_float');
  9705. GL_ARB_texture_gather := CheckExtension('GL_ARB_texture_gather');
  9706. GL_ARB_texture_mirrored_repeat := CheckExtension('GL_ARB_texture_mirrored_repeat');
  9707. GL_ARB_texture_multisample := CheckExtension('GL_ARB_texture_multisample');
  9708. GL_ARB_texture_non_power_of_two := CheckExtension('GL_ARB_texture_non_power_of_two');
  9709. GL_ARB_texture_query_lod := CheckExtension('GL_ARB_texture_query_lod');
  9710. GL_ARB_texture_rectangle := CheckExtension('GL_ARB_texture_rectangle');
  9711. GL_ARB_texture_rg := CheckExtension('GL_ARB_texture_rg');
  9712. GL_ARB_texture_rgb10_a2ui := CheckExtension('GL_ARB_texture_rgb10_a2ui');
  9713. GL_ARB_texture_swizzle := CheckExtension('GL_ARB_texture_swizzle');
  9714. GL_ARB_timer_query := CheckExtension('GL_ARB_timer_query');
  9715. GL_ARB_transform_feedback2 := CheckExtension('GL_ARB_transform_feedback2');
  9716. GL_ARB_transform_feedback3 := CheckExtension('GL_ARB_transform_feedback3');
  9717. GL_ARB_transpose_matrix := CheckExtension('GL_ARB_transpose_matrix');
  9718. GL_ARB_uniform_buffer_object := CheckExtension('GL_ARB_uniform_buffer_object');
  9719. GL_ARB_vertex_array_bgra := CheckExtension('GL_ARB_vertex_array_bgra');
  9720. GL_ARB_vertex_array_object := CheckExtension('GL_ARB_vertex_array_object');
  9721. GL_ARB_vertex_attrib_64bit := CheckExtension('GL_ARB_vertex_attrib_64bit');
  9722. GL_ARB_vertex_blend := CheckExtension('GL_ARB_vertex_blend');
  9723. GL_ARB_vertex_buffer_object := CheckExtension('GL_ARB_vertex_buffer_object');
  9724. GL_ARB_vertex_program := CheckExtension('GL_ARB_vertex_program');
  9725. GL_ARB_vertex_shader := CheckExtension('GL_ARB_vertex_shader');
  9726. GL_ARB_vertex_type_2_10_10_10_rev := CheckExtension('GL_ARB_vertex_type_2_10_10_10_rev');
  9727. GL_ARB_viewport_array := CheckExtension('GL_ARB_viewport_array');
  9728. GL_ARB_window_pos := CheckExtension('GL_ARB_window_pos');
  9729. GL_ARB_texture_compression_bptc := CheckExtension('GL_ARB_texture_compression_bptc');
  9730. GL_3DFX_multisample := CheckExtension('GL_3DFX_multisample');
  9731. GL_3DFX_tbuffer := CheckExtension('GL_3DFX_tbuffer');
  9732. GL_3DFX_texture_compression_FXT1 := CheckExtension('GL_3DFX_texture_compression_FXT1');
  9733. GL_ATI_draw_buffers := CheckExtension('GL_ATI_draw_buffers');
  9734. // GL_ATI_texture_compression_3dc := CheckExtension('GL_ATI_texture_compression_3dc');
  9735. GL_ATI_texture_float := CheckExtension('GL_ATI_texture_float');
  9736. GL_ATI_texture_mirror_once := CheckExtension('GL_ATI_texture_mirror_once');
  9737. GL_S3_s3tc := CheckExtension('GL_S3_s3tc');
  9738. GL_EXT_abgr := CheckExtension('GL_EXT_abgr');
  9739. GL_EXT_bgra := CheckExtension('GL_EXT_bgra');
  9740. GL_EXT_bindable_uniform := CheckExtension('GL_EXT_bindable_uniform');
  9741. GL_EXT_blend_color := CheckExtension('GL_EXT_blend_color');
  9742. GL_EXT_blend_equation_separate := CheckExtension('GL_EXT_blend_equation_separate');
  9743. GL_EXT_blend_func_separate := CheckExtension('GL_EXT_blend_func_separate');
  9744. GL_EXT_blend_logic_op := CheckExtension('GL_EXT_blend_logic_op');
  9745. GL_EXT_blend_minmax := CheckExtension('GL_EXT_blend_minmax');
  9746. GL_EXT_blend_subtract := CheckExtension('GL_EXT_blend_subtract');
  9747. /// GL_EXT_Cg_shader := CheckExtension('GL_EXT_Cg_shader');
  9748. GL_EXT_clip_volume_hint := CheckExtension('GL_EXT_clip_volume_hint');
  9749. GL_EXT_compiled_vertex_array := CheckExtension('GL_EXT_compiled_vertex_array');
  9750. GL_EXT_copy_texture := CheckExtension('GL_EXT_copy_texture');
  9751. GL_EXT_depth_bounds_test := CheckExtension('GL_EXT_depth_bounds_test');
  9752. GL_EXT_draw_buffers2 := CheckExtension('GL_EXT_draw_buffers2');
  9753. GL_EXT_draw_instanced := CheckExtension('GL_EXT_draw_instanced');
  9754. GL_EXT_draw_range_elements := CheckExtension('GL_EXT_draw_range_elements');
  9755. GL_EXT_fog_coord := CheckExtension('GL_EXT_fog_coord');
  9756. GL_EXT_framebuffer_blit := CheckExtension('GL_EXT_framebuffer_blit');
  9757. GL_EXT_framebuffer_multisample := CheckExtension('GL_EXT_framebuffer_multisample');
  9758. GL_EXT_framebuffer_object := CheckExtension('GL_EXT_framebuffer_object');
  9759. GL_EXT_framebuffer_sRGB := CheckExtension('GL_EXT_framebuffer_sRGB');
  9760. GL_EXT_geometry_shader4 := CheckExtension('GL_EXT_geometry_shader4');
  9761. GL_EXT_gpu_program_parameters := CheckExtension('GL_EXT_gpu_program_parameters');
  9762. GL_EXT_gpu_shader4 := CheckExtension('GL_EXT_gpu_shader4');
  9763. GL_EXT_multi_draw_arrays := CheckExtension('GL_EXT_multi_draw_arrays');
  9764. GL_EXT_multisample := CheckExtension('GL_EXT_multisample');
  9765. GL_EXT_packed_depth_stencil := CheckExtension('GL_EXT_packed_depth_stencil');
  9766. GL_EXT_packed_float := CheckExtension('GL_EXT_packed_float');
  9767. GL_EXT_packed_pixels := CheckExtension('GL_EXT_packed_pixels');
  9768. GL_EXT_paletted_texture := CheckExtension('GL_EXT_paletted_texture');
  9769. GL_EXT_pixel_buffer_object := CheckExtension('GL_EXT_pixel_buffer_object');
  9770. GL_EXT_polygon_offset := CheckExtension('GL_EXT_polygon_offset');
  9771. GL_EXT_rescale_normal := CheckExtension('GL_EXT_rescale_normal');
  9772. GL_EXT_secondary_color := CheckExtension('GL_EXT_secondary_color');
  9773. GL_EXT_separate_specular_color := CheckExtension('GL_EXT_separate_specular_color');
  9774. GL_EXT_shadow_funcs := CheckExtension('GL_EXT_shadow_funcs');
  9775. GL_EXT_shared_texture_palette := CheckExtension('GL_EXT_shared_texture_palette');
  9776. GL_EXT_stencil_clear_tag := CheckExtension('GL_EXT_stencil_clear_tag');
  9777. GL_EXT_stencil_two_side := CheckExtension('GL_EXT_stencil_two_side');
  9778. GL_EXT_stencil_wrap := CheckExtension('GL_EXT_stencil_wrap');
  9779. GL_EXT_texture3D := CheckExtension('GL_EXT_texture3D');
  9780. GL_EXT_texture_array := CheckExtension('GL_EXT_texture_array');
  9781. GL_EXT_texture_buffer_object := CheckExtension('GL_EXT_texture_buffer_object');
  9782. GL_EXT_texture_compression_latc := CheckExtension('GL_EXT_texture_compression_latc');
  9783. GL_EXT_texture_compression_rgtc := CheckExtension('GL_EXT_texture_compression_rgtc');
  9784. GL_EXT_texture_compression_s3tc := CheckExtension('GL_EXT_texture_compression_s3tc');
  9785. GL_EXT_texture_cube_map := CheckExtension('GL_EXT_texture_cube_map');
  9786. GL_EXT_texture_edge_clamp := CheckExtension('GL_EXT_texture_edge_clamp');
  9787. GL_EXT_texture_env_add := CheckExtension('GL_EXT_texture_env_add');
  9788. GL_EXT_texture_env_combine := CheckExtension('GL_EXT_texture_env_combine');
  9789. GL_EXT_texture_env_dot3 := CheckExtension('GL_EXT_texture_env_dot3');
  9790. GL_EXT_texture_filter_anisotropic := CheckExtension('GL_EXT_texture_filter_anisotropic');
  9791. GL_EXT_texture_integer := CheckExtension('GL_EXT_texture_integer');
  9792. /// GL_EXT_texture_lod := CheckExtension('GL_EXT_texture_lod');
  9793. GL_EXT_texture_lod_bias := CheckExtension('GL_EXT_texture_lod_bias');
  9794. GL_EXT_texture_mirror_clamp := CheckExtension('GL_EXT_texture_mirror_clamp');
  9795. GL_EXT_texture_object := CheckExtension('GL_EXT_texture_object');
  9796. GL_EXT_texture_rectangle := CheckExtension('GL_EXT_texture_rectangle');
  9797. GL_EXT_texture_sRGB := CheckExtension('GL_EXT_texture_sRGB');
  9798. GL_EXT_texture_shared_exponent := CheckExtension('GL_EXT_texture_shared_exponent');
  9799. GL_EXT_timer_query := CheckExtension('GL_EXT_timer_query');
  9800. GL_EXT_transform_feedback := CheckExtension('GL_EXT_transform_feedback');
  9801. GL_EXT_vertex_array := CheckExtension('GL_EXT_vertex_array');
  9802. GL_HP_occlusion_test := CheckExtension('GL_HP_occlusion_test');
  9803. GL_IBM_rasterpos_clip := CheckExtension('GL_IBM_rasterpos_clip');
  9804. /// GL_KTX_buffer_region := CheckExtension('GL_KTX_buffer_region');
  9805. GL_MESA_resize_buffers := CheckExtension('GL_MESA_resize_buffers');
  9806. GL_NV_blend_square := CheckExtension('GL_NV_blend_square');
  9807. GL_NV_conditional_render := CheckExtension('GL_NV_conditional_render');
  9808. GL_NV_copy_image := CheckExtension('GL_NV_copy_image');
  9809. GL_NV_depth_buffer_float := CheckExtension('GL_NV_depth_buffer_float');
  9810. GL_NV_fence := CheckExtension('GL_NV_fence');
  9811. GL_NV_float_buffer := CheckExtension('GL_NV_float_buffer');
  9812. GL_NV_fog_distance := CheckExtension('GL_NV_fog_distance');
  9813. GL_NV_geometry_program4 := CheckExtension('GL_NV_geometry_program4');
  9814. GL_NV_light_max_exponent := CheckExtension('GL_NV_light_max_exponent');
  9815. GL_NV_multisample_filter_hint := CheckExtension('GL_NV_multisample_filter_hint');
  9816. GL_NV_occlusion_query := CheckExtension('GL_NV_occlusion_query');
  9817. GL_NV_point_sprite := CheckExtension('GL_NV_point_sprite');
  9818. GL_NV_primitive_restart := CheckExtension('GL_NV_primitive_restart');
  9819. GL_NV_register_combiners := CheckExtension('GL_NV_register_combiners');
  9820. GL_NV_shader_buffer_load := CheckExtension('GL_NV_shader_buffer_load');
  9821. GL_NV_texgen_reflection := CheckExtension('GL_NV_texgen_reflection');
  9822. GL_NV_texture_compression_vtc := CheckExtension('GL_NV_texture_compression_vtc');
  9823. GL_NV_texture_env_combine4 := CheckExtension('GL_NV_texture_env_combine4');
  9824. GL_NV_texture_rectangle := CheckExtension('GL_NV_texture_rectangle');
  9825. GL_NV_texture_shader := CheckExtension('GL_NV_texture_shader');
  9826. GL_NV_texture_shader2 := CheckExtension('GL_NV_texture_shader2');
  9827. GL_NV_texture_shader3 := CheckExtension('GL_NV_texture_shader3');
  9828. GL_NV_transform_feedback := CheckExtension('GL_NV_transform_feedback');
  9829. GL_NV_vertex_array_range := CheckExtension('GL_NV_vertex_array_range');
  9830. GL_NV_vertex_array_range2 := CheckExtension('GL_NV_vertex_array_range2');
  9831. GL_NV_vertex_buffer_unified_memory := CheckExtension('GL_NV_vertex_buffer_unified_memory');
  9832. GL_NV_vertex_program := CheckExtension('GL_NV_vertex_program');
  9833. GL_SGI_color_matrix := CheckExtension('GL_SGI_color_matrix');
  9834. GL_SGIS_generate_mipmap := CheckExtension('GL_SGIS_generate_mipmap');
  9835. GL_SGIS_multisample := CheckExtension('GL_SGIS_multisample');
  9836. GL_SGIS_texture_border_clamp := CheckExtension('GL_SGIS_texture_border_clamp');
  9837. GL_SGIS_texture_color_mask := CheckExtension('GL_SGIS_texture_color_mask');
  9838. GL_SGIS_texture_edge_clamp := CheckExtension('GL_SGIS_texture_edge_clamp');
  9839. GL_SGIS_texture_lod := CheckExtension('GL_SGIS_texture_lod');
  9840. GL_SGIX_depth_texture := CheckExtension('GL_SGIX_depth_texture');
  9841. GL_SGIX_shadow := CheckExtension('GL_SGIX_shadow');
  9842. GL_SGIX_shadow_ambient := CheckExtension('GL_SGIX_shadow_ambient');
  9843. /// GL_AMD_vertex_shader_tessellator := CheckExtension('GL_AMD_vertex_shader_tessellator');
  9844. /// GL_WIN_swap_hint := CheckExtension('GL_WIN_swap_hint');
  9845. /// GL_GREMEDY_frame_terminator := CheckExtension('GL_GREMEDY_frame_terminator');
  9846. /// GL_GREMEDY_string_marker := CheckExtension('GL_GREMEDY_string_marker');
  9847. // check supported GLU extensions
  9848. Buffer := String(gluGetString(GLU_EXTENSIONS));
  9849. /// GLU_EXT_nurbs_tessellator := CheckExtension('GLU_EXT_nurbs_tessellator');
  9850. /// GLU_EXT_object_space_tess := CheckExtension('GLU_EXT_object_space_tess');
  9851. /// GLU_EXT_TEXTURE := CheckExtension('GLU_EXT_TEXTURE');
  9852. {$IFDEF SUPPORT_WGL}
  9853. //check supported WGL extensions
  9854. ReadWGLImplementationProperties;
  9855. {$ENDIF}
  9856. {$IFDEF SUPPORT_GLX}
  9857. //check supported GLX extensions
  9858. ReadGLXImplementationProperties;
  9859. {$ENDIF}
  9860. end;
  9861. {$IFDEF SUPPORT_WGL}
  9862. procedure ReadWGLImplementationProperties;
  9863. var
  9864. Buffer: string;
  9865. // Checks if the given Extension string is in Buffer.
  9866. function CheckExtension(const Extension: string): Boolean; //PALOFF
  9867. var
  9868. ExtPos: Integer;
  9869. begin
  9870. // First find the position of the extension string as substring in Buffer.
  9871. ExtPos := Pos(Extension, Buffer);
  9872. Result := ExtPos > 0;
  9873. // Now check that it isn't only a substring of another extension.
  9874. if Result then
  9875. Result := ((ExtPos + Length(Extension) - 1)= Length(Buffer))
  9876. or (Buffer[ExtPos + Length(Extension)]=' ');
  9877. end;
  9878. begin
  9879. // ARB wgl extensions
  9880. if Assigned(wglGetExtensionsStringARB) then
  9881. Buffer:=String(wglGetExtensionsStringARB(wglGetCurrentDC))
  9882. else Buffer:='';
  9883. WGL_ARB_buffer_region:=CheckExtension('WGL_ARB_buffer_region');
  9884. WGL_ARB_create_context := CheckExtension('WGL_ARB_create_context');
  9885. WGL_ARB_create_context_profile := CheckExtension('WGL_ARB_create_context_profile');
  9886. WGL_ARB_extensions_string:=CheckExtension('WGL_ARB_extensions_string');
  9887. WGL_ARB_framebuffer_sRGB := CheckExtension('WGL_ARB_framebuffer_sRGB');
  9888. WGL_ARB_make_current_read:=CheckExtension('WGL_ARB_make_current_read');
  9889. WGL_ARB_multisample:=CheckExtension('WGL_ARB_multisample');
  9890. WGL_ARB_pbuffer:=CheckExtension('WGL_ARB_pbuffer');
  9891. WGL_ARB_pixel_format:=CheckExtension('WGL_ARB_pixel_format');
  9892. WGL_ARB_pixel_format_float:=CheckExtension('WGL_ARB_pixel_format_float');
  9893. WGL_ARB_render_texture:=CheckExtension('WGL_ARB_render_texture');
  9894. // Vendor/EXT wgl extensions
  9895. WGL_ATI_pixel_format_float := CheckExtension('WGL_ATI_pixel_format_float');
  9896. WGL_EXT_pbuffer := CheckExtension('WGL_EXT_pbuffer');
  9897. WGL_EXT_pixel_format := CheckExtension('WGL_EXT_pixel_format');
  9898. WGL_EXT_swap_control := CheckExtension('WGL_EXT_swap_control');
  9899. WGL_NV_gpu_affinity := CheckExtension('WGL_NV_gpu_affinity');
  9900. end;
  9901. {$ENDIF}
  9902. {$IFDEF SUPPORT_GLX}
  9903. procedure ReadGLXImplementationProperties;
  9904. var
  9905. Buffer: string;
  9906. MajorVersion, MinorVersion: Integer;
  9907. Dpy: PDisplay;
  9908. // Checks if the given Extension string is in Buffer.
  9909. function CheckExtension(const Extension: string): Boolean;
  9910. var
  9911. ExtPos: Integer;
  9912. begin
  9913. // First find the position of the extension string as substring in Buffer.
  9914. ExtPos := Pos(Extension, Buffer);
  9915. Result := ExtPos > 0;
  9916. // Now check that it isn't only a substring of another extension.
  9917. if Result then
  9918. Result := ((ExtPos + Length(Extension) - 1)= Length(Buffer))
  9919. or (Buffer[ExtPos + Length(Extension)]=' ');
  9920. end;
  9921. begin
  9922. Dpy:=glXGetCurrentDisplay();
  9923. buffer:=String(glXQueryServerString(Dpy, XDefaultScreen(Dpy), GLX_VERSION));
  9924. TrimAndSplitVersionString(buffer, majorversion, minorVersion);
  9925. GLX_VERSION_1_1:=IsVersionMet(1,1,majorVersion,minorVersion);
  9926. GLX_VERSION_1_2:=IsVersionMet(1,2,majorVersion,minorVersion);
  9927. GLX_VERSION_1_3:=IsVersionMet(1,3,majorVersion,minorVersion);
  9928. GLX_VERSION_1_4:=IsVersionMet(1,4,majorVersion,minorVersion);
  9929. // This procedure will probably need changing, as totally untested
  9930. // This might only work if GLX functions/procedures are loaded dynamically
  9931. if Assigned(glXQueryExtensionsString) then
  9932. Buffer := glXQueryExtensionsString(Dpy, 0) //guess at a valid screen
  9933. else
  9934. Buffer:='';
  9935. GLX_ARB_create_context := CheckExtension('GLX_ARB_create_context');
  9936. GLX_ARB_create_context_profile := CheckExtension('GLX_ARB_create_context_profile');
  9937. GLX_ARB_framebuffer_sRGB := CheckExtension('GLX_ARB_framebuffer_sRGB');
  9938. GLX_EXT_framebuffer_sRGB := CheckExtension('GLX_EXT_framebuffer_sRGB');
  9939. GLX_EXT_fbconfig_packed_float := CheckExtension('GLX_EXT_fbconfig_packed_float');
  9940. GLX_SGI_swap_control := CheckExtension('GLX_SGI_swap_control');
  9941. GLX_ARB_multisample := CheckExtension('GLX_ARB_multisample');
  9942. GLX_SGIS_multisample := CheckExtension('GLX_SGIS_multisample');
  9943. GLX_EXT_visual_info := CheckExtension('GLX_EXT_visual_info');
  9944. GLX_SGI_video_sync := CheckExtension('GLX_SGI_video_sync');
  9945. GLX_SGI_make_current_read := CheckExtension('GLX_SGI_make_current_read');
  9946. GLX_SGIX_video_source := CheckExtension('GLX_SGIX_video_source');
  9947. GLX_EXT_visual_rating := CheckExtension('GLX_EXT_visual_rating');
  9948. GLX_EXT_import_context := CheckExtension('GLX_EXT_import_context');
  9949. GLX_SGIX_fbconfig := CheckExtension('GLX_SGIX_fbconfig');
  9950. GLX_SGIX_pbuffer := CheckExtension('GLX_SGIX_pbuffer');
  9951. GLX_SGI_cushion := CheckExtension('GLX_SGI_cushion');
  9952. GLX_SGIX_video_resize := CheckExtension('GLX_SGIX_video_resize');
  9953. GLX_SGIX_dmbuffer := CheckExtension('GLX_SGIX_dmbuffer');
  9954. GLX_SGIX_swap_group := CheckExtension('GLX_SGIX_swap_group');
  9955. GLX_SGIX_swap_barrier := CheckExtension('GLX_SGIX_swap_barrier');
  9956. GLX_SGIS_blended_overlay := CheckExtension('GLX_SGIS_blended_overlay');
  9957. GLX_SGIS_shared_multisample := CheckExtension('GLX_SGIS_shared_multisample');
  9958. GLX_SUN_get_transparent_index := CheckExtension('GLX_SUN_get_transparent_index');
  9959. GLX_3DFX_multisample := CheckExtension('GLX_3DFX_multisample');
  9960. GLX_MESA_copy_sub_buffer := CheckExtension('GLX_MESA_copy_sub_buffer');
  9961. GLX_MESA_pixmap_colormap := CheckExtension('GLX_MESA_pixmap_colormap');
  9962. GLX_MESA_release_buffers := CheckExtension('GLX_MESA_release_buffers');
  9963. GLX_MESA_set_3dfx_mode := CheckExtension('GLX_MESA_set_3dfx_mode');
  9964. GLX_SGIX_visual_select_group := CheckExtension('GLX_SGIX_visual_select_group');
  9965. GLX_SGIX_hyperpipe := CheckExtension('GLX_SGIX_hyperpipe');
  9966. end;
  9967. {$ENDIF}
  9968. function InitOpenGL : Boolean;
  9969. begin
  9970. if (GLHandle=INVALID_MODULEHANDLE) or (GLUHandle=INVALID_MODULEHANDLE) then
  9971. Result:=InitOpenGLFromLibrary(opengl32, glu32)
  9972. else Result:=True;
  9973. end;
  9974. function InitOpenGLFromLibrary(const GLName, GLUName : String) : Boolean;
  9975. begin
  9976. Result := False;
  9977. CloseOpenGL;
  9978. GLHandle := LoadLibrary(PChar(GLName));
  9979. GLUHandle := LoadLibrary(PChar(GLUName));
  9980. if (GLHandle<>INVALID_MODULEHANDLE) and (GLUHandle<>INVALID_MODULEHANDLE) then
  9981. Result:=True
  9982. else begin
  9983. if GLHandle<>INVALID_MODULEHANDLE then
  9984. FreeLibrary(Cardinal(GLHandle));
  9985. if GLUHandle<>INVALID_MODULEHANDLE then
  9986. FreeLibrary(Cardinal(GLUHandle));
  9987. end;
  9988. end;
  9989. function IsOpenGLInitialized: Boolean;
  9990. begin
  9991. Result:=(GLHandle<>INVALID_MODULEHANDLE);
  9992. end;
  9993. procedure CloseOpenGL;
  9994. begin
  9995. if GLHandle<>INVALID_MODULEHANDLE then begin
  9996. FreeLibrary(Cardinal(GLHandle));
  9997. GLHandle:=INVALID_MODULEHANDLE;
  9998. end;
  9999. if GLUHandle<>INVALID_MODULEHANDLE then begin
  10000. FreeLibrary(Cardinal(GLUHandle));
  10001. GLUHandle:=INVALID_MODULEHANDLE;
  10002. end;
  10003. end;
  10004. // compatibility routines
  10005. procedure UnloadOpenGL;
  10006. begin
  10007. CloseOpenGL;
  10008. end;
  10009. function LoadOpenGL: Boolean;
  10010. begin
  10011. Result := InitOpenGL;
  10012. end;
  10013. function LoadOpenGLFromLibrary(const GLName, GLUName: String): Boolean;
  10014. begin
  10015. Result := InitOpenGLFromLibrary(GLName, GLUName);
  10016. end;
  10017. function IsOpenGLLoaded: Boolean;
  10018. begin
  10019. Result := IsOpenGLInitialized();
  10020. end;
  10021. function IsMesaGL : Boolean;
  10022. begin
  10023. Result := GLGetProcAddress('glResizeBuffersMESA') <> nil;
  10024. end;
  10025. function IsOpenGLVersionMet(MajorVersion, MinorVersion: Integer): Boolean;
  10026. var
  10027. Buffer : String;
  10028. GLMajorVersion, GLMinorVersion: Integer;
  10029. begin
  10030. buffer:=String(glGetString(GL_VERSION));
  10031. TrimAndSplitVersionString(buffer, GLMajorVersion, GLMinorVersion);
  10032. Result:=IsVersionMet(MajorVersion,MinorVersion,GLMajorVersion,GLMinorVersion);
  10033. end;
  10034. initialization //-------------------------------------------------------------
  10035. Set8087CW($133F);
  10036. finalization //---------------------------------------------------------------
  10037. CloseOpenGL;
  10038. end.