zgl_pasopengl.pas 612 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239
  1. (*
  2. * Copyright (c) 2022 Serge - SSW
  3. *
  4. * This software is provided 'as-is', without any express or
  5. * implied warranty. In no event will the authors be held
  6. * liable for any damages arising from the use of this software.
  7. *
  8. * Permission is granted to anyone to use this software for any purpose,
  9. * including commercial applications, and to alter it and redistribute
  10. * it freely, subject to the following restrictions:
  11. *
  12. * 1. The origin of this software must not be misrepresented;
  13. * you must not claim that you wrote the original software.
  14. * If you use this software in a product, an acknowledgment
  15. * in the product documentation would be appreciated but
  16. * is not required.
  17. *
  18. * 2. Altered source versions must be plainly marked as such,
  19. * and must not be misrepresented as being the original software.
  20. *
  21. * 3. This notice may not be removed or altered from any
  22. * source distribution.
  23. *)
  24. unit zgl_pasOpenGL;
  25. {$I zgl_config.cfg}
  26. {$I GLdefine.cfg}
  27. {$IfDef UNIX}
  28. {$DEFINE stdcall := cdecl}
  29. {$EndIf}
  30. interface
  31. uses
  32. {$IFDEF LINUX}
  33. zgl_glx_wgl,
  34. {$ENDIF}
  35. {$IFDEF WINDOWS}
  36. Windows,
  37. {$ENDIF}
  38. {$IfDef FPC}
  39. Math,
  40. {$EndIf}
  41. zgl_gltypeconst;
  42. {$IFDEF LINUX}
  43. const
  44. libGL = 'libGL.so.1';
  45. {$ENDIF}
  46. {$IFDEF WINDOWS}
  47. const
  48. libGL = 'opengl32.dll';
  49. {$ENDIF}
  50. type
  51. GLDEBUGPROC = procedure(source: GLenum; _type: GLenum; id: GLuint; severity: GLenum; length: GLsizei; const _message: PGLchar; userParam: PGLvoid); stdcall;
  52. GLDEBUGPROCARB = procedure(source: GLenum; _type: GLenum; id: GLuint; severity: GLenum; length: GLsizei; const _message: PGLchar; userParam: PGLvoid); stdcall;
  53. GLVULKANPROCNV = procedure; stdcall;
  54. // glext
  55. GLDEBUGPROCAMD = procedure (id: GLuint; category: GLenum; severity: GLenum; length: GLsizei; message: PGLchar; userParam: pointer); stdcall;
  56. var
  57. GLVersion: array[0..1] of Integer;
  58. GLUVersion: Integer;
  59. // версия выбираемая пользователем.
  60. use_glMinorVer, use_glMajorVer: Integer;
  61. GL_VERSION_1_0: Boolean;
  62. GL_VERSION_1_1: Boolean;
  63. GL_VERSION_1_2: Boolean;
  64. GL_VERSION_1_3: Boolean;
  65. GL_VERSION_1_4: Boolean;
  66. GL_VERSION_1_5: Boolean;
  67. GL_VERSION_2_0: Boolean;
  68. GL_VERSION_2_1: Boolean;
  69. GL_VERSION_3_0: Boolean;
  70. GL_VERSION_3_1: Boolean;
  71. GL_VERSION_3_2: Boolean;
  72. GL_VERSION_3_3: Boolean;
  73. GL_VERSION_4_0: Boolean;
  74. GL_VERSION_4_1: Boolean;
  75. GL_VERSION_4_2: Boolean;
  76. GL_VERSION_4_3: Boolean;
  77. GL_VERSION_4_4: Boolean;
  78. GL_VERSION_4_5: Boolean;
  79. GL_VERSION_4_6: Boolean;
  80. // ZenGL ++
  81. GL_SGIS_generate_mipmap: Boolean;
  82. GL_EXT_texture_compression_s3tc: Boolean;
  83. GL_EXT_texture_filter_anisotropic: Boolean;
  84. GL_EXT_blend_func_separate: Boolean;
  85. // перечисление всех дефайнов. Большая часть не используется по умолчанию, даже в Кроносе.
  86. {$If defined(USE_GLCORE) or defined(USE_GLEXT)}
  87. GL_ARB_ES2_compatibility: Boolean;
  88. GL_ARB_ES3_1_compatibility: Boolean;
  89. GL_ARB_ES3_2_compatibility: Boolean;
  90. GL_ARB_ES3_compatibility: Boolean;
  91. GL_ARB_arrays_of_arrays: Boolean;
  92. GL_ARB_base_instance: Boolean;
  93. GL_ARB_bindless_texture: Boolean;
  94. GL_ARB_blend_func_extended: Boolean;
  95. GL_ARB_buffer_storage: Boolean;
  96. GL_ARB_cl_event: Boolean;
  97. GL_ARB_clear_buffer_object: Boolean;
  98. GL_ARB_clear_texture: Boolean;
  99. GL_ARB_clip_control: Boolean;
  100. {$IFDEF GL_VERSION_3_0}
  101. GL_ARB_compatibility: Boolean;
  102. {$ENDIF}
  103. {$IFDEF USE_GLEXT}
  104. GL_ARB_color_buffer_float: Boolean;
  105. {$EndIf}
  106. GL_ARB_compressed_texture_pixel_storage: Boolean;
  107. GL_ARB_compute_shader: Boolean;
  108. GL_ARB_compute_variable_group_size: Boolean;
  109. GL_ARB_conditional_render_inverted: Boolean;
  110. GL_ARB_conservative_depth: Boolean;
  111. GL_ARB_copy_buffer: Boolean;
  112. GL_ARB_copy_image: Boolean;
  113. GL_ARB_cull_distance: Boolean;
  114. GL_ARB_debug_output: Boolean;
  115. GL_ARB_depth_buffer_float: Boolean;
  116. GL_ARB_depth_clamp: Boolean;
  117. {$IFDEF USE_GLEXT}
  118. GL_ARB_depth_texture: Boolean;
  119. {$EndIf}
  120. GL_ARB_derivative_control: Boolean;
  121. GL_ARB_direct_state_access: Boolean;
  122. {$IFDEF USE_GLEXT}
  123. GL_ARB_draw_buffers: Boolean;
  124. {$EndIf}
  125. GL_ARB_draw_buffers_blend: Boolean;
  126. GL_ARB_draw_elements_base_vertex: Boolean;
  127. GL_ARB_draw_indirect: Boolean;
  128. GL_ARB_draw_instanced: Boolean;
  129. GL_ARB_enhanced_layouts: Boolean;
  130. GL_ARB_explicit_attrib_location: Boolean;
  131. GL_ARB_explicit_uniform_location: Boolean;
  132. GL_ARB_fragment_coord_conventions: Boolean;
  133. GL_ARB_fragment_layer_viewport: Boolean;
  134. {$IFDEF USE_GLEXT}
  135. GL_ARB_fragment_program: Boolean;
  136. GL_ARB_fragment_program_shadow: Boolean;
  137. GL_ARB_fragment_shader: Boolean;
  138. {$EndIf}
  139. GL_ARB_fragment_shader_interlock: Boolean;
  140. GL_ARB_framebuffer_no_attachments: Boolean;
  141. GL_ARB_framebuffer_object: Boolean;
  142. GL_ARB_framebuffer_sRGB: Boolean;
  143. GL_ARB_geometry_shader4: Boolean;
  144. GL_ARB_get_program_binary: Boolean;
  145. GL_ARB_get_texture_sub_image: Boolean;
  146. GL_ARB_gl_spirv: Boolean;
  147. GL_ARB_gpu_shader5: Boolean;
  148. GL_ARB_gpu_shader_fp64: Boolean;
  149. GL_ARB_gpu_shader_int64: Boolean;
  150. {$IFDEF USE_GLEXT}
  151. GL_ARB_half_float_pixel: Boolean;
  152. GL_ARB_imaging: Boolean;
  153. {$EndIf}
  154. GL_ARB_half_float_vertex: Boolean;
  155. GL_ARB_indirect_parameters: Boolean;
  156. GL_ARB_instanced_arrays: Boolean;
  157. GL_ARB_internalformat_query: Boolean;
  158. GL_ARB_internalformat_query2: Boolean;
  159. GL_ARB_invalidate_subdata: Boolean;
  160. GL_ARB_map_buffer_alignment: Boolean;
  161. GL_ARB_map_buffer_range: Boolean;
  162. {$IFDEF USE_GLEXT}
  163. GL_ARB_matrix_palette: Boolean;
  164. {$EndIf}
  165. GL_ARB_multi_bind: Boolean;
  166. GL_ARB_multi_draw_indirect: Boolean;
  167. {$IFDEF USE_GLEXT}
  168. GL_ARB_multisample: Boolean;
  169. GL_ARB_multitexture: Boolean;
  170. GL_ARB_occlusion_query: Boolean;
  171. {$EndIf}
  172. GL_ARB_occlusion_query2: Boolean;
  173. GL_ARB_parallel_shader_compile: Boolean;
  174. GL_ARB_pipeline_statistics_query: Boolean;
  175. GL_ARB_pixel_buffer_object: Boolean;
  176. {$IFDEF USE_GLEXT}
  177. GL_ARB_point_parameters: Boolean;
  178. GL_ARB_point_sprite: Boolean;
  179. {$EndIf}
  180. GL_ARB_polygon_offset_clamp: Boolean;
  181. GL_ARB_post_depth_coverage: Boolean;
  182. GL_ARB_program_interface_query: Boolean;
  183. GL_ARB_provoking_vertex: Boolean;
  184. GL_ARB_query_buffer_object: Boolean;
  185. GL_ARB_robust_buffer_access_behavior: Boolean;
  186. GL_ARB_robustness: Boolean;
  187. GL_ARB_robustness_isolation: Boolean;
  188. GL_ARB_sample_locations: Boolean;
  189. GL_ARB_sample_shading: Boolean;
  190. GL_ARB_sampler_objects: Boolean;
  191. GL_ARB_seamless_cube_map: Boolean;
  192. GL_ARB_seamless_cubemap_per_texture: Boolean;
  193. GL_ARB_separate_shader_objects: Boolean;
  194. GL_ARB_shader_atomic_counter_ops: Boolean;
  195. GL_ARB_shader_atomic_counters: Boolean;
  196. GL_ARB_shader_ballot: Boolean;
  197. GL_ARB_shader_bit_encoding: Boolean;
  198. GL_ARB_shader_clock: Boolean;
  199. GL_ARB_shader_draw_parameters: Boolean;
  200. GL_ARB_shader_group_vote: Boolean;
  201. GL_ARB_shader_image_load_store: Boolean;
  202. GL_ARB_shader_image_size: Boolean;
  203. {$IFDEF USE_GLEXT}
  204. GL_ARB_shader_objects: Boolean;
  205. {$EndIf}
  206. GL_ARB_shader_precision: Boolean;
  207. GL_ARB_shader_stencil_export: Boolean;
  208. GL_ARB_shader_storage_buffer_object: Boolean;
  209. GL_ARB_shader_subroutine: Boolean;
  210. GL_ARB_shader_texture_image_samples: Boolean;
  211. {$IFDEF USE_GLEXT}
  212. GL_ARB_shader_texture_lod: Boolean;
  213. GL_ARB_shading_language_100: Boolean;
  214. {$EndIf}
  215. GL_ARB_shader_viewport_layer_array: Boolean;
  216. GL_ARB_shading_language_420pack: Boolean;
  217. GL_ARB_shading_language_include: Boolean;
  218. GL_ARB_shading_language_packing: Boolean;
  219. {$IFDEF USE_GLEXT}
  220. GL_ARB_shadow: Boolean;
  221. GL_ARB_shadow_ambient: Boolean;
  222. {$EndIf}
  223. GL_ARB_sparse_buffer: Boolean;
  224. GL_ARB_sparse_texture: Boolean;
  225. GL_ARB_sparse_texture2: Boolean;
  226. GL_ARB_sparse_texture_clamp: Boolean;
  227. GL_ARB_spirv_extensions: Boolean;
  228. GL_ARB_stencil_texturing: Boolean;
  229. GL_ARB_sync: Boolean;
  230. GL_ARB_tessellation_shader: Boolean;
  231. GL_ARB_texture_barrier: Boolean;
  232. GL_ARB_texture_border_clamp: Boolean;
  233. GL_ARB_texture_buffer_object: Boolean;
  234. GL_ARB_texture_buffer_object_rgb32: Boolean;
  235. GL_ARB_texture_buffer_range: Boolean;
  236. GL_ARB_texture_compression_bptc: Boolean;
  237. GL_ARB_texture_compression_rgtc: Boolean;
  238. {$IFDEF USE_GLEXT}
  239. GL_ARB_texture_compression: Boolean;
  240. GL_ARB_texture_cube_map: Boolean;
  241. {$EndIf}
  242. GL_ARB_texture_cube_map_array: Boolean;
  243. {$IFDEF USE_GLEXT}
  244. GL_ARB_texture_env_add: Boolean;
  245. GL_ARB_texture_env_combine: Boolean;
  246. GL_ARB_texture_env_crossbar: Boolean;
  247. GL_ARB_texture_env_dot3: Boolean;
  248. GL_ARB_texture_float: Boolean;
  249. {$EndIf}
  250. GL_ARB_texture_filter_anisotropic: Boolean;
  251. GL_ARB_texture_filter_minmax: Boolean;
  252. GL_ARB_texture_gather: Boolean;
  253. GL_ARB_texture_mirror_clamp_to_edge: Boolean;
  254. GL_ARB_texture_mirrored_repeat: Boolean;
  255. GL_ARB_texture_multisample: Boolean;
  256. GL_ARB_texture_non_power_of_two: Boolean;
  257. GL_ARB_texture_query_levels: Boolean;
  258. GL_ARB_texture_query_lod: Boolean;
  259. {$IFDEF USE_GLEXT}
  260. GL_ARB_texture_rectangle: Boolean;
  261. {$EndIf}
  262. GL_ARB_texture_rg: Boolean;
  263. GL_ARB_texture_rgb10_a2ui: Boolean;
  264. GL_ARB_texture_stencil8: Boolean;
  265. GL_ARB_texture_storage: Boolean;
  266. GL_ARB_texture_storage_multisample: Boolean;
  267. GL_ARB_texture_swizzle: Boolean;
  268. GL_ARB_texture_view: Boolean;
  269. GL_ARB_timer_query: Boolean;
  270. GL_ARB_transform_feedback2: Boolean;
  271. GL_ARB_transform_feedback3: Boolean;
  272. GL_ARB_transform_feedback_instanced: Boolean;
  273. GL_ARB_transform_feedback_overflow_query: Boolean;
  274. {$IFDEF USE_GLEXT}
  275. GL_ARB_transpose_matrix: Boolean;
  276. {$EndIf}
  277. GL_ARB_uniform_buffer_object: Boolean;
  278. GL_ARB_vertex_array_bgra: Boolean;
  279. GL_ARB_vertex_array_object: Boolean;
  280. GL_ARB_vertex_attrib_64bit: Boolean;
  281. GL_ARB_vertex_attrib_binding: Boolean;
  282. {$IFDEF USE_GLEXT}
  283. GL_ARB_vertex_blend: Boolean;
  284. GL_ARB_vertex_buffer_object: Boolean;
  285. GL_ARB_vertex_program: Boolean;
  286. GL_ARB_vertex_shader: Boolean;
  287. GL_ARB_window_pos: Boolean;
  288. {$EndIf}
  289. GL_ARB_vertex_type_10f_11f_11f_rev: Boolean;
  290. GL_ARB_vertex_type_2_10_10_10_rev: Boolean;
  291. GL_ARB_viewport_array: Boolean;
  292. GL_KHR_blend_equation_advanced: Boolean;
  293. GL_KHR_blend_equation_advanced_coherent: Boolean;
  294. GL_KHR_context_flush_control: Boolean;
  295. GL_KHR_debug: Boolean;
  296. GL_KHR_no_error: Boolean;
  297. GL_KHR_parallel_shader_compile: Boolean;
  298. GL_KHR_robust_buffer_access_behavior: Boolean;
  299. GL_KHR_robustness: Boolean;
  300. GL_KHR_shader_subgroup: Boolean;
  301. GL_KHR_texture_compression_astc_hdr: Boolean;
  302. GL_KHR_texture_compression_astc_ldr: Boolean;
  303. GL_KHR_texture_compression_astc_sliced_3d: Boolean;
  304. {$IFDEF USE_GLEXT}
  305. GL_OES_byte_coordinates: Boolean;
  306. GL_OES_compressed_paletted_texture: Boolean;
  307. GL_OES_fixed_point: Boolean;
  308. GL_OES_query_matrix: Boolean;
  309. GL_OES_read_format: Boolean;
  310. GL_OES_single_precision: Boolean;
  311. GL_3DFX_multisample: Boolean;
  312. GL_3DFX_tbuffer: Boolean;
  313. GL_3DFX_texture_compression_FXT1: Boolean;
  314. GL_AMD_blend_minmax_factor: Boolean;
  315. GL_AMD_conservative_depth: Boolean;
  316. GL_AMD_debug_output: Boolean;
  317. GL_AMD_depth_clamp_separate: Boolean;
  318. GL_AMD_draw_buffers_blend: Boolean;
  319. {$EndIf}
  320. GL_AMD_framebuffer_multisample_advanced: Boolean;
  321. GL_AMD_gpu_shader_int64: Boolean; // хотя это GL_EXT
  322. {$IFDEF USE_GLEXT}
  323. GL_AMD_framebuffer_sample_positions: Boolean;
  324. GL_AMD_gcn_shader: Boolean;
  325. GL_AMD_gpu_shader_half_float: Boolean;
  326. GL_AMD_gpu_shader_int16: Boolean;
  327. GL_AMD_interleaved_elements: Boolean;
  328. GL_AMD_multi_draw_indirect: Boolean;
  329. GL_AMD_name_gen_delete: Boolean;
  330. GL_AMD_occlusion_query_event: Boolean;
  331. {$EndIf}
  332. GL_AMD_performance_monitor: Boolean;
  333. {$IFDEF USE_GLEXT}
  334. GL_AMD_pinned_memory: Boolean;
  335. GL_AMD_query_buffer_object: Boolean;
  336. GL_AMD_sample_positions: Boolean;
  337. GL_AMD_seamless_cubemap_per_texture: Boolean;
  338. GL_AMD_shader_atomic_counter_ops: Boolean;
  339. GL_AMD_shader_ballot: Boolean;
  340. GL_AMD_shader_explicit_vertex_parameter: Boolean;
  341. GL_AMD_shader_gpu_shader_half_float_fetch: Boolean;
  342. GL_AMD_shader_image_load_store_lod: Boolean;
  343. GL_AMD_shader_stencil_export: Boolean;
  344. GL_AMD_shader_trinary_minmax: Boolean;
  345. GL_AMD_sparse_texture: Boolean;
  346. GL_AMD_stencil_operation_extended: Boolean;
  347. GL_AMD_texture_gather_bias_lod: Boolean;
  348. GL_AMD_texture_texture4: Boolean;
  349. GL_AMD_transform_feedback3_lines_triangles: Boolean;
  350. GL_AMD_transform_feedback4: Boolean;
  351. GL_AMD_vertex_shader_layer: Boolean;
  352. GL_AMD_vertex_shader_tessellator: Boolean;
  353. GL_AMD_vertex_shader_viewport_index: Boolean;
  354. GL_APPLE_aux_depth_stencil: Boolean;
  355. GL_APPLE_client_storage: Boolean;
  356. GL_APPLE_element_array: Boolean;
  357. GL_APPLE_fence: Boolean;
  358. GL_APPLE_float_pixels: Boolean;
  359. GL_APPLE_flush_buffer_range: Boolean;
  360. GL_APPLE_object_purgeable: Boolean;
  361. {$EndIf}
  362. GL_APPLE_rgb_422: Boolean;
  363. {$IFDEF USE_GLEXT}
  364. GL_APPLE_row_bytes: Boolean;
  365. GL_APPLE_specular_vector: Boolean;
  366. GL_APPLE_texture_range: Boolean;
  367. GL_APPLE_transform_hint: Boolean;
  368. GL_APPLE_vertex_array_object: Boolean;
  369. GL_APPLE_vertex_array_range: Boolean;
  370. GL_APPLE_vertex_program_evaluators: Boolean;
  371. GL_APPLE_ycbcr_422: Boolean;
  372. GL_ATI_draw_buffers: Boolean;
  373. GL_ATI_element_array: Boolean;
  374. GL_ATI_envmap_bumpmap: Boolean;
  375. GL_ATI_fragment_shader: Boolean;
  376. GL_ATI_map_object_buffer: Boolean;
  377. GL_ATI_meminfo: Boolean;
  378. GL_ATI_pixel_format_float: Boolean;
  379. GL_ATI_pn_triangles: Boolean;
  380. GL_ATI_separate_stencil: Boolean;
  381. GL_ATI_text_fragment_shader: Boolean;
  382. GL_ATI_texture_env_combine3: Boolean;
  383. GL_ATI_texture_float: Boolean;
  384. GL_ATI_texture_mirror_once: Boolean;
  385. GL_ATI_vertex_array_object: Boolean;
  386. GL_ATI_vertex_attrib_array_object: Boolean;
  387. GL_ATI_vertex_streams: Boolean;
  388. GL_EXT_422_pixels: Boolean;
  389. {$EndIf}
  390. GL_EXT_EGL_image_storage: Boolean;
  391. GL_EXT_EGL_sync: Boolean;
  392. {$IFDEF USE_GLEXT}
  393. GL_EXT_abgr: Boolean;
  394. GL_EXT_bgra: Boolean;
  395. GL_EXT_bindable_uniform: Boolean;
  396. GL_EXT_blend_color: Boolean;
  397. GL_EXT_blend_equation_separate: Boolean;
  398. // GL_EXT_blend_func_separate: Boolean;
  399. GL_EXT_blend_logic_op: Boolean;
  400. GL_EXT_blend_minmax: Boolean;
  401. GL_EXT_blend_subtract: Boolean;
  402. GL_EXT_clip_volume_hint: Boolean;
  403. GL_EXT_cmyka: Boolean;
  404. GL_EXT_color_subtable: Boolean;
  405. GL_EXT_compiled_vertex_array: Boolean;
  406. GL_EXT_convolution: Boolean;
  407. GL_EXT_coordinate_frame: Boolean;
  408. GL_EXT_copy_texture: Boolean;
  409. GL_EXT_cull_vertex: Boolean;
  410. GL_EXT_depth_bounds_test: Boolean;
  411. GL_EXT_draw_buffers2: Boolean;
  412. {$EndIf}
  413. GL_EXT_debug_label: Boolean;
  414. GL_EXT_debug_marker: Boolean;
  415. GL_EXT_direct_state_access: Boolean;
  416. GL_EXT_draw_instanced: Boolean;
  417. {$IFDEF USE_GLEXT}
  418. GL_EXT_draw_range_elements: Boolean;
  419. GL_EXT_external_buffer: Boolean;
  420. GL_EXT_fog_coord: Boolean;
  421. GL_EXT_framebuffer_blit: Boolean;
  422. GL_EXT_framebuffer_multisample: Boolean;
  423. GL_EXT_framebuffer_multisample_blit_scaled: Boolean;
  424. GL_EXT_framebuffer_object: Boolean;
  425. GL_EXT_framebuffer_sRGB: Boolean;
  426. GL_EXT_geometry_shader4: Boolean;
  427. GL_EXT_gpu_program_parameters: Boolean;
  428. GL_EXT_gpu_shader4: Boolean;
  429. GL_EXT_histogram: Boolean;
  430. GL_EXT_index_array_formats: Boolean;
  431. GL_EXT_index_func: Boolean;
  432. GL_EXT_index_material: Boolean;
  433. GL_EXT_index_texture: Boolean;
  434. GL_EXT_light_texture: Boolean;
  435. GL_EXT_memory_object: Boolean;
  436. GL_EXT_memory_object_fd: Boolean;
  437. GL_EXT_memory_object_win32: Boolean;
  438. GL_EXT_misc_attribute: Boolean;
  439. GL_EXT_multi_draw_arrays: Boolean;
  440. GL_EXT_multisample: Boolean;
  441. {$EndIf}
  442. GL_EXT_multiview_tessellation_geometry_shader: Boolean;
  443. GL_EXT_multiview_texture_multisample: Boolean;
  444. GL_EXT_multiview_timer_query: Boolean;
  445. {$IFDEF USE_GLEXT}
  446. GL_EXT_packed_depth_stencil: Boolean;
  447. GL_EXT_packed_float: Boolean;
  448. GL_EXT_packed_pixels: Boolean;
  449. GL_EXT_paletted_texture: Boolean;
  450. GL_EXT_pixel_buffer_object: Boolean;
  451. GL_EXT_pixel_transform: Boolean;
  452. GL_EXT_pixel_transform_color_table: Boolean;
  453. GL_EXT_point_parameters: Boolean;
  454. GL_EXT_polygon_offset: Boolean;
  455. {$EndIf}
  456. GL_EXT_polygon_offset_clamp: Boolean;
  457. GL_EXT_post_depth_coverage: Boolean;
  458. GL_EXT_raster_multisample: Boolean;
  459. {$IFDEF USE_GLEXT}
  460. GL_EXT_provoking_vertex: Boolean;
  461. GL_EXT_rescale_normal: Boolean;
  462. GL_EXT_secondary_color: Boolean;
  463. GL_EXT_semaphore: Boolean;
  464. GL_EXT_semaphore_fd: Boolean;
  465. GL_EXT_semaphore_win32: Boolean;
  466. GL_EXT_separate_specular_color: Boolean;
  467. {$EndIf}
  468. GL_EXT_separate_shader_objects: Boolean;
  469. GL_EXT_shader_framebuffer_fetch: Boolean;
  470. GL_EXT_shader_framebuffer_fetch_non_coherent: Boolean;
  471. GL_EXT_shader_integer_mix: Boolean;
  472. {$IFDEF USE_GLEXT}
  473. GL_EXT_shader_image_load_formatted: Boolean;
  474. GL_EXT_shader_image_load_store: Boolean;
  475. GL_EXT_shadow_funcs: Boolean;
  476. GL_EXT_shared_texture_palette: Boolean;
  477. GL_EXT_sparse_texture2: Boolean;
  478. GL_EXT_stencil_clear_tag: Boolean;
  479. GL_EXT_stencil_two_side: Boolean;
  480. GL_EXT_stencil_wrap: Boolean;
  481. GL_EXT_subtexture: Boolean;
  482. GL_EXT_texture: Boolean;
  483. GL_EXT_texture3D: Boolean;
  484. GL_EXT_texture_array: Boolean;
  485. GL_EXT_texture_buffer_object: Boolean;
  486. GL_EXT_texture_compression_latc: Boolean;
  487. GL_EXT_texture_compression_rgtc: Boolean;
  488. // GL_EXT_texture_compression_s3tc: Boolean;
  489. GL_EXT_texture_cube_map: Boolean;
  490. GL_EXT_texture_env_add: Boolean;
  491. GL_EXT_texture_env_combine: Boolean;
  492. GL_EXT_texture_env_dot3: Boolean;
  493. // GL_EXT_texture_filter_anisotropic: Boolean;
  494. {$EndIf}
  495. GL_EXT_texture_filter_minmax: Boolean;
  496. {$IFDEF USE_GLEXT}
  497. GL_EXT_texture_integer: Boolean;
  498. GL_EXT_texture_lod_bias: Boolean;
  499. GL_EXT_texture_mirror_clamp: Boolean;
  500. GL_EXT_texture_object: Boolean;
  501. GL_EXT_texture_perturb_normal: Boolean;
  502. GL_EXT_texture_sRGB: Boolean;
  503. {$EndIf}
  504. GL_EXT_texture_sRGB_R8: Boolean;
  505. GL_EXT_texture_sRGB_RG8: Boolean;
  506. GL_EXT_texture_sRGB_decode: Boolean;
  507. GL_EXT_texture_shadow_lod: Boolean;
  508. GL_EXT_texture_storage: Boolean;
  509. {$IFDEF USE_GLEXT}
  510. GL_EXT_texture_shared_exponent: Boolean;
  511. GL_EXT_texture_snorm: Boolean;
  512. GL_EXT_texture_swizzle: Boolean;
  513. GL_EXT_timer_query: Boolean;
  514. GL_EXT_transform_feedback: Boolean;
  515. GL_EXT_vertex_array: Boolean;
  516. GL_EXT_vertex_array_bgra: Boolean;
  517. GL_EXT_vertex_attrib_64bit: Boolean;
  518. GL_EXT_vertex_shader: Boolean;
  519. GL_EXT_vertex_weighting: Boolean;
  520. GL_EXT_win32_keyed_mutex: Boolean;
  521. {$EndIf}
  522. GL_EXT_window_rectangles: Boolean;
  523. {$IFDEF USE_GLEXT}
  524. GL_EXT_x11_sync_object: Boolean;
  525. GL_GREMEDY_frame_terminator: Boolean;
  526. GL_GREMEDY_string_marker: Boolean;
  527. GL_HP_convolution_border_modes: Boolean;
  528. GL_HP_image_transform: Boolean;
  529. GL_HP_occlusion_test: Boolean;
  530. GL_HP_texture_lighting: Boolean;
  531. GL_IBM_cull_vertex: Boolean;
  532. GL_IBM_multimode_draw_arrays: Boolean;
  533. GL_IBM_rasterpos_clip: Boolean;
  534. GL_IBM_static_data: Boolean;
  535. GL_IBM_texture_mirrored_repeat: Boolean;
  536. GL_IBM_vertex_array_lists: Boolean;
  537. GL_INGR_blend_func_separate: Boolean;
  538. GL_INGR_color_clamp: Boolean;
  539. GL_INGR_interlace_read: Boolean;
  540. {$EndIf}
  541. GL_INTEL_blackhole_render: Boolean;
  542. GL_INTEL_conservative_rasterization: Boolean;
  543. GL_INTEL_framebuffer_CMAA: Boolean;
  544. {$IFDEF USE_GLEXT}
  545. GL_INTEL_fragment_shader_ordering: Boolean;
  546. GL_INTEL_map_texture: Boolean;
  547. GL_INTEL_parallel_arrays: Boolean;
  548. GL_MESAX_texture_stack: Boolean;
  549. {$EndIf}
  550. GL_INTEL_performance_query: Boolean;
  551. GL_MESA_framebuffer_flip_x: Boolean;
  552. GL_MESA_framebuffer_flip_y: Boolean;
  553. GL_MESA_framebuffer_swap_xy: Boolean;
  554. {$IFDEF USE_GLEXT}
  555. GL_MESA_pack_invert: Boolean;
  556. GL_MESA_program_binary_formats: Boolean;
  557. GL_MESA_resize_buffers: Boolean;
  558. GL_MESA_shader_integer_functions: Boolean;
  559. GL_MESA_tile_raster_order: Boolean;
  560. GL_MESA_window_pos: Boolean;
  561. GL_MESA_ycbcr_texture: Boolean;
  562. GL_NVX_blend_equation_advanced_multi_draw_buffers: Boolean;
  563. GL_NVX_conditional_render: Boolean;
  564. GL_NVX_gpu_memory_info: Boolean;
  565. GL_NVX_gpu_multicast2: Boolean;
  566. GL_NVX_linked_gpu_multicast: Boolean;
  567. GL_NVX_progress_fence: Boolean;
  568. GL_NV_alpha_to_coverage_dither_control: Boolean;
  569. {$EndIf}
  570. GL_NV_bindless_multi_draw_indirect: Boolean;
  571. GL_NV_bindless_multi_draw_indirect_count: Boolean;
  572. GL_NV_bindless_texture: Boolean;
  573. GL_NV_blend_equation_advanced: Boolean;
  574. GL_NV_blend_equation_advanced_coherent: Boolean;
  575. GL_NV_blend_minmax_factor: Boolean;
  576. {$IFDEF USE_GLEXT}
  577. GL_NV_blend_square: Boolean;
  578. GL_NV_compute_program5: Boolean;
  579. {$EndIf}
  580. GL_NV_clip_space_w_scaling: Boolean;
  581. GL_NV_command_list: Boolean;
  582. GL_NV_compute_shader_derivatives: Boolean;
  583. GL_NV_conditional_render: Boolean;
  584. GL_NV_conservative_raster: Boolean;
  585. GL_NV_conservative_raster_dilate: Boolean;
  586. GL_NV_conservative_raster_pre_snap: Boolean;
  587. GL_NV_conservative_raster_pre_snap_triangles: Boolean;
  588. GL_NV_conservative_raster_underestimation: Boolean;
  589. {$IFDEF USE_GLEXT}
  590. GL_NV_copy_depth_to_color: Boolean;
  591. GL_NV_copy_image: Boolean;
  592. GL_NV_deep_texture3D: Boolean;
  593. GL_NV_depth_clamp: Boolean;
  594. GL_NV_draw_texture: Boolean;
  595. {$EndIf}
  596. GL_NV_depth_buffer_float: Boolean;
  597. GL_NV_draw_vulkan_image: Boolean;
  598. {$IFDEF USE_GLEXT}
  599. GL_NV_evaluators: Boolean;
  600. GL_NV_explicit_multisample: Boolean;
  601. GL_NV_fence: Boolean;
  602. GL_NV_float_buffer: Boolean;
  603. GL_NV_fog_distance: Boolean;
  604. {$EndIf}
  605. GL_NV_fill_rectangle: Boolean;
  606. GL_NV_fragment_coverage_to_color: Boolean;
  607. {$IFDEF USE_GLEXT}
  608. GL_NV_fragment_program: Boolean;
  609. GL_NV_fragment_program2: Boolean;
  610. GL_NV_fragment_program4: Boolean;
  611. GL_NV_fragment_program_option: Boolean;
  612. {$EndIf}
  613. GL_NV_fragment_shader_barycentric: Boolean;
  614. GL_NV_fragment_shader_interlock: Boolean;
  615. GL_NV_framebuffer_mixed_samples: Boolean;
  616. GL_NV_framebuffer_multisample_coverage: Boolean;
  617. GL_NV_geometry_shader_passthrough: Boolean;
  618. {$IFDEF USE_GLEXT}
  619. GL_NV_geometry_program4: Boolean;
  620. GL_NV_geometry_shader4: Boolean;
  621. GL_NV_gpu_multicast: Boolean;
  622. GL_NV_gpu_program4: Boolean;
  623. GL_NV_gpu_program5: Boolean;
  624. GL_NV_gpu_program5_mem_extended: Boolean;
  625. {$EndIf}
  626. // узнать, работает ли эта часть при GLext!!!!
  627. // хотя функции подменены в другом разделе.
  628. GL_NV_gpu_shader5: Boolean;
  629. GL_NV_internalformat_sample_query: Boolean;
  630. {$IFDEF USE_GLEXT}
  631. GL_NV_half_float: Boolean;
  632. GL_NV_light_max_exponent: Boolean;
  633. {$EndIf}
  634. GL_NV_memory_attachment: Boolean;
  635. GL_NV_memory_object_sparse: Boolean;
  636. GL_NV_mesh_shader: Boolean;
  637. {$IFDEF USE_GLEXT}
  638. GL_NV_multisample_coverage: Boolean;
  639. GL_NV_multisample_filter_hint: Boolean;
  640. GL_NV_occlusion_query: Boolean;
  641. GL_NV_packed_depth_stencil: Boolean;
  642. GL_NV_parameter_buffer_object: Boolean;
  643. GL_NV_parameter_buffer_object2: Boolean;
  644. {$EndIf}
  645. GL_NV_path_rendering: Boolean;
  646. GL_NV_path_rendering_shared_edge: Boolean;
  647. GL_NV_primitive_shading_rate: Boolean;
  648. {$IFDEF USE_GLEXT}
  649. GL_NV_pixel_data_range: Boolean;
  650. GL_NV_point_sprite: Boolean;
  651. GL_NV_present_video: Boolean;
  652. GL_NV_primitive_restart: Boolean;
  653. GL_NV_query_resource: Boolean;
  654. GL_NV_query_resource_tag: Boolean;
  655. GL_NV_register_combiners: Boolean;
  656. GL_NV_register_combiners2: Boolean;
  657. GL_NV_robustness_video_memory_purge: Boolean;
  658. {$EndIf}
  659. GL_NV_representative_fragment_test: Boolean;
  660. GL_NV_sample_locations: Boolean;
  661. GL_NV_sample_mask_override_coverage: Boolean;
  662. GL_NV_scissor_exclusive: Boolean;
  663. GL_NV_shader_atomic_counters: Boolean;
  664. GL_NV_shader_atomic_float: Boolean;
  665. GL_NV_shader_atomic_float64: Boolean;
  666. GL_NV_shader_atomic_fp16_vector: Boolean;
  667. GL_NV_shader_atomic_int64: Boolean;
  668. GL_NV_shader_buffer_load: Boolean;
  669. GL_NV_shader_buffer_store: Boolean;
  670. {$IFDEF USE_GLEXT}
  671. GL_NV_shader_storage_buffer_object: Boolean;
  672. {$EndIf}
  673. GL_NV_shader_subgroup_partitioned: Boolean;
  674. GL_NV_shader_texture_footprint: Boolean;
  675. GL_NV_shader_thread_group: Boolean;
  676. GL_NV_shader_thread_shuffle: Boolean;
  677. GL_NV_shading_rate_image: Boolean;
  678. GL_NV_texture_barrier: Boolean;
  679. GL_NV_texture_rectangle_compressed: Boolean;
  680. {$IFDEF USE_GLEXT}
  681. GL_NV_stereo_view_rendering: Boolean;
  682. GL_NV_tessellation_program5: Boolean;
  683. GL_NV_texgen_emboss: Boolean;
  684. GL_NV_texgen_reflection: Boolean;
  685. GL_NV_texture_compression_vtc: Boolean;
  686. GL_NV_texture_env_combine4: Boolean;
  687. GL_NV_texture_expand_normal: Boolean;
  688. GL_NV_texture_multisample: Boolean;
  689. GL_NV_texture_rectangle: Boolean;
  690. GL_NV_texture_shader: Boolean;
  691. GL_NV_texture_shader2: Boolean;
  692. GL_NV_texture_shader3: Boolean;
  693. GL_NV_timeline_semaphore: Boolean;
  694. GL_NV_transform_feedback: Boolean;
  695. GL_NV_transform_feedback2: Boolean;
  696. GL_NV_vdpau_interop: Boolean;
  697. GL_NV_vdpau_interop2: Boolean;
  698. GL_NV_vertex_array_range: Boolean;
  699. GL_NV_vertex_array_range2: Boolean;
  700. {$EndIf}
  701. GL_NV_uniform_buffer_unified_memory: Boolean;
  702. GL_NV_vertex_attrib_integer_64bit: Boolean;
  703. GL_NV_vertex_buffer_unified_memory: Boolean;
  704. {$IFDEF USE_GLEXT}
  705. GL_NV_vertex_program: Boolean;
  706. GL_NV_vertex_program1_1: Boolean;
  707. GL_NV_vertex_program2: Boolean;
  708. GL_NV_vertex_program2_option: Boolean;
  709. GL_NV_vertex_program3: Boolean;
  710. GL_NV_vertex_program4: Boolean;
  711. GL_NV_video_capture: Boolean;
  712. GL_OML_interlace: Boolean;
  713. GL_OML_resample: Boolean;
  714. GL_OML_subsample: Boolean;
  715. {$EndIf}
  716. GL_NV_viewport_array2: Boolean;
  717. GL_NV_viewport_swizzle: Boolean;
  718. GL_OVR_multiview: Boolean;
  719. GL_OVR_multiview2: Boolean;
  720. {$IFDEF USE_GLEXT}
  721. GL_PGI_misc_hints: Boolean;
  722. GL_PGI_vertex_hints: Boolean;
  723. GL_REND_screen_coordinates: Boolean;
  724. GL_S3_s3tc: Boolean;
  725. GL_SGIS_detail_texture: Boolean;
  726. GL_SGIS_fog_function: Boolean;
  727. // GL_SGIS_generate_mipmap: Boolean;
  728. GL_SGIS_multisample: Boolean;
  729. GL_SGIS_pixel_texture: Boolean;
  730. GL_SGIS_point_line_texgen: Boolean;
  731. GL_SGIS_point_parameters: Boolean;
  732. GL_SGIS_sharpen_texture: Boolean;
  733. GL_SGIS_texture4D: Boolean;
  734. GL_SGIS_texture_border_clamp: Boolean;
  735. GL_SGIS_texture_color_mask: Boolean;
  736. GL_SGIS_texture_edge_clamp: Boolean;
  737. GL_SGIS_texture_filter4: Boolean;
  738. GL_SGIS_texture_lod: Boolean;
  739. GL_SGIS_texture_select: Boolean;
  740. GL_SGIX_async: Boolean;
  741. GL_SGIX_async_histogram: Boolean;
  742. GL_SGIX_async_pixel: Boolean;
  743. GL_SGIX_blend_alpha_minmax: Boolean;
  744. GL_SGIX_calligraphic_fragment: Boolean;
  745. GL_SGIX_clipmap: Boolean;
  746. GL_SGIX_convolution_accuracy: Boolean;
  747. GL_SGIX_depth_pass_instrument: Boolean;
  748. GL_SGIX_depth_texture: Boolean;
  749. GL_SGIX_flush_raster: Boolean;
  750. GL_SGIX_fog_offset: Boolean;
  751. GL_SGIX_fragment_lighting: Boolean;
  752. GL_SGIX_framezoom: Boolean;
  753. GL_SGIX_igloo_interface: Boolean;
  754. GL_SGIX_instruments: Boolean;
  755. GL_SGIX_interlace: Boolean;
  756. GL_SGIX_ir_instrument1: Boolean;
  757. GL_SGIX_list_priority: Boolean;
  758. GL_SGIX_pixel_texture: Boolean;
  759. GL_SGIX_pixel_tiles: Boolean;
  760. GL_SGIX_polynomial_ffd: Boolean;
  761. GL_SGIX_reference_plane: Boolean;
  762. GL_SGIX_resample: Boolean;
  763. GL_SGIX_scalebias_hint: Boolean;
  764. GL_SGIX_shadow: Boolean;
  765. GL_SGIX_shadow_ambient: Boolean;
  766. GL_SGIX_sprite: Boolean;
  767. GL_SGIX_subsample: Boolean;
  768. GL_SGIX_tag_sample_buffer: Boolean;
  769. GL_SGIX_texture_add_env: Boolean;
  770. GL_SGIX_texture_coordinate_clamp: Boolean;
  771. GL_SGIX_texture_lod_bias: Boolean;
  772. GL_SGIX_texture_multi_buffer: Boolean;
  773. GL_SGIX_texture_scale_bias: Boolean;
  774. GL_SGIX_vertex_preclip: Boolean;
  775. GL_SGIX_ycrcb: Boolean;
  776. GL_SGIX_ycrcb_subsample: Boolean;
  777. GL_SGIX_ycrcba: Boolean;
  778. GL_SGI_color_matrix: Boolean;
  779. GL_SGI_color_table: Boolean;
  780. GL_SGI_texture_color_table: Boolean;
  781. GL_SUNX_constant_data: Boolean;
  782. GL_SUN_convolution_border_modes: Boolean;
  783. GL_SUN_global_alpha: Boolean;
  784. GL_SUN_mesh_array: Boolean;
  785. GL_SUN_slice_accum: Boolean;
  786. GL_SUN_triangle_list: Boolean;
  787. GL_SUN_vertex: Boolean;
  788. GL_WIN_phong_shading: Boolean;
  789. GL_WIN_specular_fog: Boolean;
  790. {$EndIf}
  791. {$IfEnd}
  792. (*******************************************************************************
  793. * deprecated *
  794. *******************************************************************************)
  795. {$IF not defined(USE_GLCORE) or defined(USE_DEPRECATED)}
  796. procedure glAccum(op: GLenum; value: GLfloat); stdcall; external libGL;
  797. // glAlphaFunc: procedure(func: GLenum; ref: GLclampf); stdcall; external libGL;
  798. function glAreTexturesResident(n: GLsizei; const textures: PGLuint; residences: PGLboolean): GLboolean; stdcall; external libGL;
  799. // glArrayElement: procedure(i: GLint); stdcall; external libGL; // + EXT
  800. // glBegin: procedure(mode: GLenum); stdcall; external libGL;
  801. procedure glBitmap (width, height: GLsizei; xorig, yorig: GLfloat; xmove, ymove: GLfloat; const bitmap: PGLubyte); stdcall; external libGL;
  802. // glCallList: procedure(list: GLuint); stdcall; external libGL;
  803. // glCallLists: procedure(n: GLsizei; atype: GLenum; const lists: Pointer); stdcall; external libGL;
  804. procedure glClearAccum(red, green, blue, alpha: GLfloat); stdcall; external libGL;
  805. procedure glClearIndex(c: GLfloat); stdcall; external libGL;
  806. procedure glClipPlane(plane: GLenum; const equation: PGLdouble); stdcall; external libGL;
  807. procedure glColor3b(red, green, blue: GLbyte); stdcall; external libGL;
  808. procedure glColor3bv(const v: PGLbyte); stdcall; external libGL;
  809. procedure glColor3d(red, green, blue: GLdouble); stdcall; external libGL;
  810. procedure glColor3dv(const v: PGLdouble); stdcall; external libGL;
  811. procedure glColor3f(red, green, blue: GLfloat); stdcall; external libGL;
  812. procedure glColor3fv(const v: PGLfloat); stdcall; external libGL;
  813. procedure glColor3i(red, green, blue: GLint); stdcall; external libGL;
  814. procedure glColor3iv(const v: PGLint); stdcall; external libGL;
  815. procedure glColor3s(red, green, blue: GLshort); stdcall; external libGL;
  816. procedure glColor3sv(const v: PGLshort); stdcall; external libGL;
  817. // glColor3ub: procedure(red, green, blue: GLubyte); stdcall; external libGL;
  818. // glColor3ubv: procedure(const v: PGLubyte); stdcall; external libGL;
  819. procedure glColor3ui(red, green, blue: GLuint); stdcall; external libGL;
  820. procedure glColor3uiv(const v: PGLuint); stdcall; external libGL;
  821. procedure glColor3us(red, green, blue: GLushort); stdcall; external libGL;
  822. procedure glColor3usv(const v: PGLushort); stdcall; external libGL;
  823. procedure glColor4b(red, green, blue, alpha: GLbyte); stdcall; external libGL;
  824. procedure glColor4bv(const v: PGLbyte); stdcall; external libGL;
  825. procedure glColor4d(red, green, blue, alpha: GLdouble); stdcall; external libGL;
  826. procedure glColor4dv(const v: PGLdouble); stdcall; external libGL;
  827. // glColor4f: procedure(red, green, blue, alpha: GLfloat); stdcall; external libGL;
  828. // glColor4fv: procedure(const v: PGLfloat); stdcall; external libGL;
  829. procedure glColor4i(red, green, blue, alpha: GLint); stdcall; external libGL;
  830. procedure glColor4iv(const v: PGLint); stdcall; external libGL;
  831. procedure glColor4s(red, green, blue, alpha: GLshort); stdcall; external libGL;
  832. procedure glColor4sv(const v: PGLshort); stdcall; external libGL;
  833. // glColor4ub: procedure(red, green, blue, alpha: GLubyte); stdcall; external libGL;
  834. // glColor4ubv: procedure(const v: PGLubyte); stdcall; external libGL;
  835. procedure glColor4ui(red, green, blue, alpha: GLuint); stdcall; external libGL;
  836. procedure glColor4uiv(const v: PGLuint); stdcall; external libGL;
  837. procedure glColor4us(red, green, blue, alpha: GLushort); stdcall; external libGL;
  838. procedure glColor4usv(const v: PGLushort); stdcall; external libGL;
  839. // glColorMaterial: procedure(face, mode: GLenum); stdcall; external libGL;
  840. // glColorPointer: procedure(size: GLint; atype: GLenum; stride: GLsizei; const pointer: Pointer); stdcall; external libGL;
  841. procedure glCopyPixels(x, y: GLint; width, height: GLsizei; atype: GLenum); stdcall; external libGL;
  842. // glDeleteLists: procedure(list: GLuint; range: GLsizei); stdcall; external libGL;
  843. // glDisableClientState: procedure(aarray: GLenum); stdcall; external libGL;
  844. procedure glDrawPixels(width, height: GLsizei; format, atype: GLenum; const pixels: Pointer); stdcall; external libGL;
  845. procedure glEdgeFlag(flag: GLboolean); stdcall; external libGL;
  846. // glEdgeFlagPointer: procedure(stride: GLsizei; const pointer: Pointer); stdcall; external libGL;
  847. procedure glEdgeFlagv(const flag: PGLboolean); stdcall; external libGL;
  848. // glEnableClientState: procedure(aarray: GLenum); stdcall; external libGL;
  849. // glEnd: procedure; stdcall; external libGL;
  850. // glEndList: procedure; stdcall; external libGL;
  851. procedure glEvalCoord1d(u: GLdouble); stdcall; external libGL;
  852. procedure glEvalCoord1dv(const u: PGLdouble); stdcall; external libGL;
  853. procedure glEvalCoord1f(u: GLfloat); stdcall; external libGL;
  854. procedure glEvalCoord1fv(const u: PGLfloat); stdcall; external libGL;
  855. procedure glEvalCoord2d(u, v: GLdouble); stdcall; external libGL;
  856. procedure glEvalCoord2dv(const u: PGLdouble); stdcall; external libGL;
  857. procedure glEvalCoord2f(u, v: GLfloat); stdcall; external libGL;
  858. procedure glEvalCoord2fv(const u: PGLfloat); stdcall; external libGL;
  859. procedure glEvalMesh1(mode: GLenum; i1, i2: GLint); stdcall; external libGL;
  860. procedure glEvalMesh2(mode: GLenum; i1, i2, j1, j2: GLint); stdcall; external libGL;
  861. procedure glEvalPoint1(i: GLint); stdcall; external libGL;
  862. procedure glEvalPoint2(i, j: GLint); stdcall; external libGL;
  863. procedure glFeedbackBuffer(size: GLsizei; atype: GLenum; buffer: PGLfloat); stdcall; external libGL;
  864. procedure glFogf(pname: GLenum; param: GLfloat); stdcall; external libGL;
  865. procedure glFogfv(pname: GLenum; const params: PGLfloat); stdcall; external libGL;
  866. procedure glFogi(pname: GLenum; param: GLint); stdcall; external libGL;
  867. procedure glFogiv(pname: GLenum; const params: PGLint); stdcall; external libGL;
  868. // glFrustum: procedure(left, right, bottom, top, zNear, zFar: GLdouble); stdcall; external libGL;
  869. // glGenLists: function(range: GLsizei): GLuint; stdcall; external libGL;
  870. procedure glGetClipPlane(plane: GLenum; equation: PGLdouble); stdcall; external libGL;
  871. // glGetLightfv: procedure(light, pname: GLenum; params: PGLfloat); stdcall; external libGL;
  872. // glGetLightiv: procedure(light, pname: GLenum; params: PGLint); stdcall; external libGL;
  873. procedure glGetMapdv(target, query: GLenum; v: PGLdouble); stdcall; external libGL;
  874. procedure glGetMapfv(target, query: GLenum; v: PGLfloat); stdcall; external libGL;
  875. procedure glGetMapiv(target, query: GLenum; v: PGLint); stdcall; external libGL;
  876. // glGetMaterialfv: procedure(face, pname: GLenum; params: PGLfloat); stdcall; external libGL;
  877. // glGetMaterialiv: procedure(face, pname: GLenum; params: PGLint); stdcall; external libGL;
  878. procedure glGetPixelMapfv(map: GLenum; values: PGLfloat); stdcall; external libGL;
  879. procedure glGetPixelMapuiv(map: GLenum; values: PGLuint); stdcall; external libGL;
  880. procedure glGetPixelMapusv(map: GLenum; values: PGLushort); stdcall; external libGL;
  881. procedure glGetPolygonStipple(mask: PGLubyte); stdcall; external libGL;
  882. procedure glGetTexEnvfv(target, pname: GLenum; params: PGLfloat); stdcall; external libGL;
  883. procedure glGetTexEnviv(target, pname: GLenum; params: PGLint); stdcall; external libGL;
  884. procedure glGetTexGendv(coord, pname: GLenum; params: PGLdouble); stdcall; external libGL;
  885. procedure glGetTexGenfv(coord, pname: GLenum; params: PGLfloat); stdcall; external libGL;
  886. procedure glGetTexGeniv(coord, pname: GLenum; params: PGLint); stdcall; external libGL;
  887. procedure glIndexMask(mask: GLuint); stdcall; external libGL;
  888. procedure glIndexPointer(atype: GLenum; stride: GLsizei; const pointer: Pointer); stdcall; external libGL;
  889. procedure glIndexd(c: GLdouble); stdcall; external libGL;
  890. procedure glIndexdv(const c: PGLdouble); stdcall; external libGL;
  891. procedure glIndexf(c: GLfloat); stdcall; external libGL;
  892. procedure glIndexfv(const c: PGLfloat); stdcall; external libGL;
  893. procedure glIndexi(c: GLint); stdcall; external libGL;
  894. procedure glIndexiv(const c: PGLint); stdcall; external libGL;
  895. procedure glIndexs(c: GLshort); stdcall; external libGL;
  896. procedure glIndexsv(const c: PGLshort); stdcall; external libGL;
  897. procedure glIndexub(c: GLubyte); stdcall; external libGL;
  898. procedure glIndexubv(const c: PGLubyte); stdcall; external libGL;
  899. procedure glInitNames; stdcall; external libGL;
  900. // glInterleavedArrays: procedure(format: GLenum; stride: GLsizei; const pointer: Pointer); stdcall; external libGL;
  901. // glIsList: function(list: GLuint): GLboolean; stdcall; external libGL;
  902. // glLightModelf: procedure(pname: GLenum; param: GLfloat); stdcall; external libGL;
  903. // glLightModelfv: procedure(pname: GLenum; const params: PGLfloat); stdcall; external libGL;
  904. procedure glLightModeli(pname: GLenum; param: GLint); stdcall; external libGL;
  905. procedure glLightModeliv(pname: GLenum; const params: PGLint); stdcall; external libGL;
  906. // glLightf: procedure(light, pname: GLenum; param: GLfloat); stdcall; external libGL;
  907. // glLightfv: procedure(light, pname: GLenum; const params: PGLfloat); stdcall; external libGL;
  908. procedure glLighti(light, pname: GLenum; param: GLint); stdcall; external libGL;
  909. procedure glLightiv(light, pname: GLenum; const params: PGLint); stdcall; external libGL;
  910. procedure glLineStipple(factor: GLint; pattern: GLushort); stdcall; external libGL;
  911. // glListBase: procedure(base: GLuint); stdcall; external libGL;
  912. // glLoadIdentity: procedure; stdcall; external libGL;
  913. procedure glLoadMatrixd(const m: PGLdouble); stdcall; external libGL;
  914. // glLoadMatrixf: procedure(const m: PGLfloat); stdcall; external libGL;
  915. procedure glLoadName(name: GLuint); stdcall; external libGL;
  916. procedure glMap1d(target: GLenum; u1, u2: GLdouble; stride, order: GLint; const points: PGLdouble); stdcall; external libGL;
  917. procedure glMap1f(target: GLenum; u1, u2: GLfloat; stride, order: GLint; const points: PGLfloat); stdcall; external libGL;
  918. procedure glMap2d(target: GLenum; u1, u2: GLdouble; ustride, uorder: GLint; v1, v2: GLdouble; vstride, vorder: GLint; const points: PGLdouble); stdcall; external libGL;
  919. procedure glMap2f(target: GLenum; u1, u2: GLfloat; ustride, uorder: GLint; v1, v2: GLfloat; vstride, vorder: GLint; const points: PGLfloat); stdcall; external libGL;
  920. procedure glMapGrid1d(un: GLint; u1, u2: GLdouble); stdcall; external libGL;
  921. procedure glMapGrid1f(un: GLint; u1, u2: GLfloat); stdcall; external libGL;
  922. procedure glMapGrid2d(un: GLint; u1, u2: GLdouble; vn: GLint; v1, v2: GLdouble); stdcall; external libGL;
  923. procedure glMapGrid2f(un: GLint; u1, u2: GLfloat; vn: GLint; v1, v2: GLfloat); stdcall; external libGL;
  924. // glMaterialf: procedure(face, pname: GLenum; param: GLfloat); stdcall; external libGL;
  925. // glMaterialfv: procedure(face, pname: GLenum; const params: PGLfloat); stdcall; external libGL;
  926. procedure glMateriali(face, pname: GLenum; param: GLint); stdcall; external libGL;
  927. procedure glMaterialiv(face, pname: GLenum; const params: PGLint); stdcall; external libGL;
  928. // glMatrixMode: procedure(mode: GLenum); stdcall; external libGL;
  929. procedure glMultMatrixd(const m: PGLdouble); stdcall; external libGL;
  930. procedure glMultMatrixf(const m: PGLfloat); stdcall; external libGL;
  931. // glNewList: procedure(list: GLuint; mode: GLenum); stdcall; external libGL;
  932. procedure glNormal3b(nx, ny, nz: GLbyte); stdcall; external libGL;
  933. procedure glNormal3bv(const v: PGLbyte); stdcall; external libGL;
  934. procedure glNormal3d(nx, ny, nz: GLdouble); stdcall; external libGL;
  935. procedure glNormal3dv(const v: PGLdouble); stdcall; external libGL;
  936. // glNormal3f: procedure(nx, ny, nz: GLfloat); stdcall; external libGL;
  937. // glNormal3fv: procedure(const v: PGLfloat); stdcall; external libGL;
  938. procedure glNormal3i(nx, ny, nz: GLint); stdcall; external libGL;
  939. procedure glNormal3iv(const v: PGLint); stdcall; external libGL;
  940. procedure glNormal3s(nx, ny, nz: GLshort); stdcall; external libGL;
  941. procedure glNormal3sv(const v: PGLshort); stdcall; external libGL;
  942. // glNormalPointer: procedure(atype: GLenum; stride: GLsizei; const pointer: Pointer); stdcall; external libGL;
  943. // glOrtho: procedure(left, right, bottom, top, zNear, zFar: GLdouble); stdcall; external libGL;
  944. procedure glPassThrough(token: GLfloat); stdcall; external libGL;
  945. procedure glPixelMapfv(map: GLenum; mapsize: GLint; const values: PGLfloat); stdcall; external libGL;
  946. procedure glPixelMapuiv(map: GLenum; mapsize: GLint; const values: PGLuint); stdcall; external libGL;
  947. procedure glPixelMapusv(map: GLenum; mapsize: GLint; const values: PGLushort); stdcall; external libGL;
  948. procedure glPixelTransferf(pname: GLenum; param: GLfloat); stdcall; external libGL;
  949. procedure glPixelTransferi(pname: GLenum; param: GLint); stdcall; external libGL;
  950. procedure glPixelZoom(xfactor, yfactor: GLfloat); stdcall; external libGL;
  951. procedure glPolygonStipple(const mask: PGLubyte); stdcall; external libGL;
  952. procedure glPopAttrib; stdcall; external libGL;
  953. procedure glPopClientAttrib; stdcall; external libGL;
  954. // glPopMatrix: procedure; stdcall; external libGL;
  955. procedure glPopName; stdcall; external libGL;
  956. procedure glPrioritizeTextures(n: GLsizei; const textures: PGLuint; const priorities: PGLclampf); stdcall; external libGL;
  957. procedure glPushAttrib(mask: GLbitfield); stdcall; external libGL;
  958. procedure glPushClientAttrib(mask: GLbitfield); stdcall; external libGL;
  959. // glPushMatrix: procedure; stdcall; external libGL;
  960. procedure glPushName(name: GLuint); stdcall; external libGL;
  961. procedure glRasterPos2d(x, y: GLdouble); stdcall; external libGL;
  962. procedure glRasterPos2dv(const v: PGLdouble); stdcall; external libGL;
  963. procedure glRasterPos2f(x, y: GLfloat); stdcall; external libGL;
  964. procedure glRasterPos2fv(const v: PGLfloat); stdcall; external libGL;
  965. procedure glRasterPos2i(x, y: GLint); stdcall; external libGL;
  966. procedure glRasterPos2iv(const v: PGLint); stdcall; external libGL;
  967. procedure glRasterPos2s(x, y: GLshort); stdcall; external libGL;
  968. procedure glRasterPos2sv(const v: PGLshort); stdcall; external libGL;
  969. procedure glRasterPos3d(x, y, z: GLdouble); stdcall; external libGL;
  970. procedure glRasterPos3dv(const v: PGLdouble); stdcall; external libGL;
  971. procedure glRasterPos3f(x, y, z: GLfloat); stdcall; external libGL;
  972. procedure glRasterPos3fv(const v: PGLfloat); stdcall; external libGL;
  973. procedure glRasterPos3i(x, y, z: GLint); stdcall; external libGL;
  974. procedure glRasterPos3iv(const v: PGLint); stdcall; external libGL;
  975. procedure glRasterPos3s(x, y, z: GLshort); stdcall; external libGL;
  976. procedure glRasterPos3sv(const v: PGLshort); stdcall; external libGL;
  977. procedure glRasterPos4d(x, y, z, w: GLdouble); stdcall; external libGL;
  978. procedure glRasterPos4dv(const v: PGLdouble); stdcall; external libGL;
  979. procedure glRasterPos4f(x, y, z, w: GLfloat); stdcall; external libGL;
  980. procedure glRasterPos4fv(const v: PGLfloat); stdcall; external libGL;
  981. procedure glRasterPos4i(x, y, z, w: GLint); stdcall; external libGL;
  982. procedure glRasterPos4iv(const v: PGLint); stdcall; external libGL;
  983. procedure glRasterPos4s(x, y, z, w: GLshort); stdcall; external libGL;
  984. procedure glRasterPos4sv(const v: PGLshort); stdcall; external libGL;
  985. procedure glRectd(x1, y1, x2, y2: GLdouble); stdcall; external libGL;
  986. procedure glRectdv(const v1: PGLdouble; const v2: PGLdouble); stdcall; external libGL;
  987. procedure glRectf(x1, y1, x2, y2: GLfloat); stdcall; external libGL;
  988. procedure glRectfv(const v1: PGLfloat; const v2: PGLfloat); stdcall; external libGL;
  989. procedure glRecti(x1, y1, x2, y2: GLint); stdcall; external libGL;
  990. procedure glRectiv(const v1: PGLint; const v2: PGLint); stdcall; external libGL;
  991. procedure glRects(x1, y1, x2, y2: GLshort); stdcall; external libGL;
  992. procedure glRectsv(const v1: PGLshort; const v2: PGLshort); stdcall; external libGL;
  993. function glRenderMode(mode: GLint): GLint; stdcall; external libGL;
  994. procedure glRotated(angle, x, y, z: GLdouble); stdcall; external libGL;
  995. // glRotatef: procedure(angle, x, y, z: GLfloat); stdcall; external libGL;
  996. procedure glScaled(x, y, z: GLdouble); stdcall; external libGL;
  997. // glScalef: procedure(x, y, z: GLfloat); stdcall; external libGL;
  998. procedure glSelectBuffer(size: GLsizei; buffer: PGLuint); stdcall; external libGL;
  999. // glShadeModel: procedure(mode: GLenum); stdcall; external libGL;
  1000. procedure glTexCoord1d(s: GLdouble); stdcall; external libGL;
  1001. procedure glTexCoord1dv(const v: PGLdouble); stdcall; external libGL;
  1002. procedure glTexCoord1f(s: GLfloat); stdcall; external libGL;
  1003. procedure glTexCoord1fv(const v: PGLfloat); stdcall; external libGL;
  1004. procedure glTexCoord1i(s: GLint); stdcall; external libGL;
  1005. procedure glTexCoord1iv(const v: PGLint); stdcall; external libGL;
  1006. procedure glTexCoord1s(s: GLshort); stdcall; external libGL;
  1007. procedure glTexCoord1sv(const v: PGLshort); stdcall; external libGL;
  1008. procedure glTexCoord2d(s, t: GLdouble); stdcall; external libGL;
  1009. procedure glTexCoord2dv(const v: PGLdouble); stdcall; external libGL;
  1010. // glTexCoord2f: procedure(s, t: GLfloat); stdcall; external libGL;
  1011. // glTexCoord2fv: procedure(const v: PGLfloat); stdcall; external libGL;
  1012. procedure glTexCoord2i(s, t: GLint); stdcall; external libGL;
  1013. procedure glTexCoord2iv(const v: PGLint); stdcall; external libGL;
  1014. procedure glTexCoord2s(s, t: GLshort); stdcall; external libGL;
  1015. procedure glTexCoord2sv(const v: PGLshort); stdcall; external libGL;
  1016. procedure glTexCoord3d(s, t, r: GLdouble); stdcall; external libGL;
  1017. procedure glTexCoord3dv(const v: PGLdouble); stdcall; external libGL;
  1018. procedure glTexCoord3f(s, t, r: GLfloat); stdcall; external libGL;
  1019. procedure glTexCoord3fv(const v: PGLfloat); stdcall; external libGL;
  1020. procedure glTexCoord3i(s, t, r: GLint); stdcall; external libGL;
  1021. procedure glTexCoord3iv(const v: PGLint); stdcall; external libGL;
  1022. procedure glTexCoord3s(s, t, r: GLshort); stdcall; external libGL;
  1023. procedure glTexCoord3sv(const v: PGLshort); stdcall; external libGL;
  1024. procedure glTexCoord4d(s, t, r, q: GLdouble); stdcall; external libGL;
  1025. procedure glTexCoord4dv(const v: PGLdouble); stdcall; external libGL;
  1026. procedure glTexCoord4f(s, t, r, q: GLfloat); stdcall; external libGL;
  1027. procedure glTexCoord4fv(const v: PGLfloat); stdcall; external libGL;
  1028. procedure glTexCoord4i(s, t, r, q: GLint); stdcall; external libGL;
  1029. procedure glTexCoord4iv(const v: PGLint); stdcall; external libGL;
  1030. procedure glTexCoord4s(s, t, r, q: GLshort); stdcall; external libGL;
  1031. procedure glTexCoord4sv(const v: PGLshort); stdcall; external libGL;
  1032. // glTexCoordPointer: procedure(size: GLint; atype: GLenum; stride: GLsizei; const pointer: Pointer); stdcall; external libGL;
  1033. procedure glTexEnvf(target: GLenum; pname: GLenum; param: GLfloat); stdcall; external libGL;
  1034. procedure glTexEnvfv(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall; external libGL;
  1035. // glTexEnvi: procedure(target: GLenum; pname: GLenum; param: GLint); stdcall; external libGL;
  1036. // glTexEnviv: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall; external libGL;
  1037. procedure glTexGend(coord: GLenum; pname: GLenum; param: GLdouble); stdcall; external libGL;
  1038. procedure glTexGendv(coord: GLenum; pname: GLenum; const params: PGLdouble); stdcall; external libGL;
  1039. procedure glTexGenf(coord: GLenum; pname: GLenum; param: GLfloat); stdcall; external libGL;
  1040. procedure glTexGenfv(coord: GLenum; pname: GLenum; const params: PGLfloat); stdcall; external libGL;
  1041. procedure glTexGeni(coord: GLenum; pname: GLenum; param: GLint); stdcall; external libGL;
  1042. procedure glTexGeniv(coord: GLenum; pname: GLenum; const params: PGLint); stdcall; external libGL;
  1043. procedure glTranslated(x, y, z: GLdouble); stdcall; external libGL;
  1044. // glTranslatef: procedure(x, y, z: GLfloat); stdcall;
  1045. procedure glVertex2d(x, y: GLdouble); stdcall; external libGL;
  1046. procedure glVertex2dv(const v: PGLdouble); stdcall; external libGL;
  1047. // glVertex2f: procedure(x, y: GLfloat); stdcall;
  1048. // glVertex2fv: procedure(const v: PGLfloat); stdcall;
  1049. procedure glVertex2i(x, y: GLint); stdcall; external libGL;
  1050. procedure glVertex2iv(const v: PGLint); stdcall; external libGL;
  1051. procedure glVertex2s(x, y: GLshort); stdcall; external libGL;
  1052. procedure glVertex2sv(const v: PGLshort); stdcall; external libGL;
  1053. procedure glVertex3d(x, y, z: GLdouble); stdcall; external libGL;
  1054. procedure glVertex3dv(const v: PGLdouble); stdcall; external libGL;
  1055. // glVertex3f: procedure(x, y, z: GLfloat); stdcall;
  1056. // glVertex3fv: procedure(const v: PGLfloat); stdcall;
  1057. procedure glVertex3i(x, y, z: GLint); stdcall; external libGL;
  1058. procedure glVertex3iv(const v: PGLint); stdcall; external libGL;
  1059. procedure glVertex3s(x, y, z: GLshort); stdcall; external libGL;
  1060. procedure glVertex3sv(const v: PGLshort); stdcall; external libGL;
  1061. procedure glVertex4d(x, y, z, w: GLdouble); stdcall; external libGL;
  1062. procedure glVertex4dv(const v: PGLdouble); stdcall; external libGL;
  1063. procedure glVertex4f(x, y, z, w: GLfloat); stdcall; external libGL;
  1064. procedure glVertex4fv(const v: PGLfloat); stdcall; external libGL;
  1065. procedure glVertex4i(x, y, z, w: GLint); stdcall; external libGL;
  1066. procedure glVertex4iv(const v: PGLint); stdcall; external libGL;
  1067. procedure glVertex4s(x, y, z, w: GLshort); stdcall; external libGL;
  1068. procedure glVertex4sv(const v: PGLshort); stdcall; external libGL;
  1069. // glVertexPointer: procedure(size: GLint; atype: GLenum; stride: GLsizei; const pointer: Pointer); stdcall;
  1070. {$IfEnd}
  1071. (*******************************************************************************
  1072. * end deprecated *
  1073. *******************************************************************************)
  1074. {$IfDef GL_VERSION_1_0}
  1075. procedure glCullFace(mode: GLenum); stdcall; external libGL;
  1076. procedure glFrontFace(mode: GLenum); stdcall; external libGL;
  1077. // procedure glHint(target: GLenum; mode: GLenum); stdcall; external libGL;
  1078. procedure glLineWidth(width: GLfloat); stdcall; external libGL;
  1079. // procedure glPointSize(size: GLfloat); stdcall; external libGL;
  1080. procedure glPolygonMode(face: GLenum; mode: GLenum); stdcall; external libGL;
  1081. // procedure glScissor(x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall; external libGL;
  1082. // procedure glTexParameterf(target: GLenum; pname: GLenum; param: GLfloat); stdcall; external libGL;
  1083. // procedure glTexParameterfv(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall; external libGL;
  1084. // procedure glTexParameteri(target: GLenum; pname: GLenum; param: GLint); stdcall; external libGL;
  1085. // procedure glTexParameteriv(target: GLenum; pname: GLenum; const params: PGLint); stdcall; external libGL;
  1086. procedure glTexImage1D(target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: pointer); stdcall; external libGL;
  1087. // procedure glTexImage2D(target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; height: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: pointer); stdcall; external libGL;
  1088. procedure glDrawBuffer(buf: GLenum); stdcall; external libGL;
  1089. // procedure glClear(mask: GLbitfield); stdcall; external libGL;
  1090. // procedure glClearColor(red: GLfloat; green: GLfloat; blue: GLfloat; alpha: GLfloat); stdcall; external libGL;
  1091. procedure glClearStencil(s: GLint); stdcall; external libGL;
  1092. // procedure glClearDepth(depth: GLdouble); stdcall; external libGL;
  1093. procedure glStencilMask(mask: GLuint); stdcall; external libGL;
  1094. // procedure glColorMask(red: GLboolean; green: GLboolean; blue: GLboolean; alpha: GLboolean); stdcall; external libGL;
  1095. // procedure glDepthMask(flag: GLboolean); stdcall; external libGL;
  1096. // procedure glDisable(cap: GLenum); stdcall; external libGL;
  1097. // procedure glEnable(cap: GLenum); stdcall; external libGL;
  1098. procedure glFinish; stdcall; external libGL;
  1099. procedure glFlush; stdcall; external libGL;
  1100. // procedure glBlendFunc(sfactor: GLenum; dfactor: GLenum); stdcall; external libGL;
  1101. procedure glLogicOp(opcode: GLenum); stdcall; external libGL;
  1102. procedure glStencilFunc(func: GLenum; ref: GLint; mask: GLuint); stdcall; external libGL;
  1103. procedure glStencilOp(fail: GLenum; zfail: GLenum; zpass: GLenum); stdcall; external libGL;
  1104. // procedure glDepthFunc(func: GLenum); stdcall; external libGL;
  1105. // procedure glPixelStoref(pname: GLenum; param: GLfloat); stdcall; external libGL;
  1106. // procedure glPixelStorei(pname: GLenum; param: GLint); stdcall; external libGL;
  1107. procedure glReadBuffer(src: GLenum); stdcall; external libGL;
  1108. // procedure glReadPixels(x: GLint; y: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; pixels: pointer); stdcall; external libGL;
  1109. procedure glGetBooleanv(pname: GLenum; data: PGLboolean); stdcall; external libGL;
  1110. procedure glGetDoublev(pname: GLenum; data: PGLdouble); stdcall; external libGL;
  1111. function glGetError: GLenum; stdcall; external libGL;
  1112. // procedure glGetFloatv(pname: GLenum; data: PGLfloat); stdcall; external libGL;
  1113. // procedure glGetIntegerv(pname: GLenum; data: PGLint); stdcall; external libGL;
  1114. // function glGetString(name: GLenum): PAnsiChar; stdcall; external libGL;
  1115. // procedure glGetTexImage(target: GLenum; level: GLint; format: GLenum; _type: GLenum; pixels: pointer); stdcall; external libGL;
  1116. procedure glGetTexParameterfv(target: GLenum; pname: GLenum; params: PGLfloat); stdcall; external libGL;
  1117. procedure glGetTexParameteriv(target: GLenum; pname: GLenum; params: PGLint); stdcall; external libGL;
  1118. procedure glGetTexLevelParameterfv(target: GLenum; level: GLint; pname: GLenum; params: PGLfloat); stdcall; external libGL;
  1119. procedure glGetTexLevelParameteriv(target: GLenum; level: GLint; pname: GLenum; params: PGLint); stdcall; external libGL;
  1120. function glIsEnabled(cap: GLenum): GLboolean; stdcall; external libGL;
  1121. // procedure glDepthRange(n: GLdouble; f: GLdouble); stdcall; external libGL;
  1122. // procedure glViewport(x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall; external libGL;
  1123. {$EndIf}
  1124. {$IfDef GL_VERSION_1_1}
  1125. // glDrawArrays: procedure(mode: GLenum; first: GLint; count: GLsizei); stdcall; external libGL; // + EXT
  1126. // glDrawElements: procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: pointer); stdcall; external libGL;
  1127. procedure glGetPointerv(pname: GLenum; params:Ppointer); stdcall; external libGL;
  1128. procedure glPolygonOffset(factor: GLfloat; units: GLfloat); stdcall; external libGL;
  1129. procedure glCopyTexImage1D(target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; border: GLint); stdcall; external libGL;
  1130. procedure glCopyTexImage2D(target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei; border: GLint); stdcall; external libGL;
  1131. procedure glCopyTexSubImage1D(target: GLenum; level: GLint; xoffset: GLint; x: GLint; y: GLint; width: GLsizei); stdcall; external libGL; // +EXT
  1132. // procedure glCopyTexSubImage2D(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall; external libGL; // + EXT
  1133. procedure glTexSubImage1D(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall; external libGL; // + EXT
  1134. // procedure glTexSubImage2D(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall; external libGL; // +EXT
  1135. // procedure glBindTexture(target: GLenum; texture: GLuint); stdcall; external libGL; // + EXT
  1136. // procedure glDeleteTextures(n: GLsizei; const textures: PGLuint); stdcall; external libGL; // + EXT
  1137. // procedure glGenTextures(n: GLsizei; textures: PGLuint); stdcall; external libGL; // + EXT
  1138. function glIsTexture(texture: GLuint): GLboolean; stdcall; external libGL;
  1139. {$EndIf}
  1140. {$IfDef GL_VERSION_1_2}
  1141. // procedure glDrawRangeElements(mode: GLenum; start: GLuint; _end: GLuint; count: GLsizei; _type: GLenum; const indices: pointer); stdcall; external libGL;// + EXT
  1142. procedure glTexImage3D(target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: pointer); stdcall; external libGL;
  1143. procedure glTexSubImage3D(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall; external libGL;
  1144. procedure glCopyTexSubImage3D(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall; external libGL;
  1145. {$EndIf}
  1146. {$IfDef GL_VERSION_1_3}
  1147. procedure glActiveTexture(texture: GLenum); stdcall; external libGL;
  1148. procedure glSampleCoverage(value: GLfloat; invert: GLboolean); stdcall; external libGL;
  1149. procedure glCompressedTexImage3D(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; imageSize: GLsizei; const data: pointer); stdcall; external libGL;
  1150. // procedure glCompressedTexImage2D(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; imageSize: GLsizei; const data: pointer); stdcall; external libGL; // + ARB
  1151. procedure glCompressedTexImage1D(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei; const data: pointer); stdcall; external libGL;
  1152. procedure glCompressedTexSubImage3D(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; imageSize: GLsizei; const data: pointer); stdcall; external libGL;
  1153. procedure glCompressedTexSubImage2D(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const data: pointer); stdcall; external libGL;
  1154. procedure glCompressedTexSubImage1D(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const data: pointer); stdcall; external libGL;
  1155. procedure glGetCompressedTexImage(target: GLenum; level: GLint; img: pointer); stdcall; external libGL;
  1156. {$IfNDef USE_GLCORE}
  1157. procedure glClientActiveTexture(texture: GLenum); stdcall; external libGL;
  1158. procedure glMultiTexCoord1d(target: GLenum; s: GLdouble); stdcall; external libGL;
  1159. procedure glMultiTexCoord1dv(target: GLenum; const v: PGLdouble); stdcall; external libGL;
  1160. procedure glMultiTexCoord1f(target: GLenum; s: GLfloat); stdcall; external libGL;
  1161. procedure glMultiTexCoord1fv(target: GLenum; const v: PGLfloat); stdcall; external libGL;
  1162. procedure glMultiTexCoord1i(target: GLenum; s: GLint); stdcall; external libGL;
  1163. procedure glMultiTexCoord1iv(target: GLenum; const v: PGLint); stdcall; external libGL;
  1164. procedure glMultiTexCoord1s(target: GLenum; s: GLshort); stdcall; external libGL;
  1165. procedure glMultiTexCoord1sv(target: GLenum; const v: PGLshort); stdcall; external libGL;
  1166. procedure glMultiTexCoord2d(target: GLenum; s: GLdouble; t: GLdouble); stdcall; external libGL;
  1167. procedure glMultiTexCoord2dv(target: GLenum; const v: PGLdouble); stdcall; external libGL;
  1168. procedure glMultiTexCoord2f(target: GLenum; s: GLfloat; t: GLfloat); stdcall; external libGL;
  1169. procedure glMultiTexCoord2fv(target: GLenum; const v: PGLfloat); stdcall; external libGL;
  1170. procedure glMultiTexCoord2i(target: GLenum; s: GLint; t: GLint); stdcall; external libGL;
  1171. procedure glMultiTexCoord2iv(target: GLenum; const v: PGLint); stdcall; external libGL;
  1172. procedure glMultiTexCoord2s(target: GLenum; s: GLshort; t: GLshort); stdcall; external libGL;
  1173. procedure glMultiTexCoord2sv(target: GLenum; const v: PGLshort); stdcall; external libGL;
  1174. procedure glMultiTexCoord3d(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble); stdcall; external libGL;
  1175. procedure glMultiTexCoord3dv(target: GLenum; const v: PGLdouble); stdcall; external libGL;
  1176. procedure glMultiTexCoord3f(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat); stdcall; external libGL;
  1177. procedure glMultiTexCoord3fv(target: GLenum; const v: PGLfloat); stdcall; external libGL;
  1178. procedure glMultiTexCoord3i(target: GLenum; s: GLint; t: GLint; r: GLint); stdcall; external libGL;
  1179. procedure glMultiTexCoord3iv(target: GLenum; const v: PGLint); stdcall; external libGL;
  1180. procedure glMultiTexCoord3s(target: GLenum; s: GLshort; t: GLshort; r: GLshort); stdcall; external libGL;
  1181. procedure glMultiTexCoord3sv(target: GLenum; const v: PGLshort); stdcall; external libGL;
  1182. procedure glMultiTexCoord4d(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble; q: GLdouble); stdcall; external libGL;
  1183. procedure glMultiTexCoord4dv(target: GLenum; const v: PGLdouble); stdcall; external libGL;
  1184. procedure glMultiTexCoord4f(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat; q: GLfloat); stdcall; external libGL;
  1185. procedure glMultiTexCoord4fv(target: GLenum; const v: PGLfloat); stdcall; external libGL;
  1186. procedure glMultiTexCoord4i(target: GLenum; s: GLint; t: GLint; r: GLint; q: GLint); stdcall; external libGL;
  1187. procedure glMultiTexCoord4iv(target: GLenum; const v: PGLint); stdcall; external libGL;
  1188. procedure glMultiTexCoord4s(target: GLenum; s: GLshort; t: GLshort; r: GLshort; q: GLshort); stdcall; external libGL;
  1189. procedure glMultiTexCoord4sv(target: GLenum; const v: PGLshort); stdcall; external libGL;
  1190. procedure glLoadTransposeMatrixf(const m: PGLfloat); stdcall; external libGL;
  1191. procedure glLoadTransposeMatrixd(const m: PGLdouble); stdcall; external libGL;
  1192. procedure glMultTransposeMatrixf(const m: PGLfloat); stdcall; external libGL;
  1193. procedure glMultTransposeMatrixd(const m: PGLdouble); stdcall; external libGL;
  1194. {$EndIf}
  1195. {$EndIf}
  1196. {$If defined(GL_VERSION_1_4) or defined(GL_EXT_blend_func_separate)}
  1197. // glBlendFuncSeparate: procedure(sfactorRGB: GLenum; dfactorRGB: GLenum; sfactorAlpha: GLenum; dfactorAlpha: GLenum); stdcall;
  1198. {$IfEnd}
  1199. {$If defined(GL_VERSION_1_4) or defined(GL_EXT_blend_minmax)}
  1200. // glBlendEquation: procedure(mode: GLenum); stdcall; // + EXT
  1201. {$IfEnd}
  1202. {$IfDef GL_VERSION_1_4}
  1203. var
  1204. glMultiDrawArrays: procedure(mode: GLenum; const first: PGLint; const count: PGLsizei; drawcount: GLsizei); stdcall;
  1205. // glMultiDrawElements: procedure(mode: GLenum; const count: PGLsizei; _type: GLenum; const indices: {P}Ppointer; drawcount: GLsizei); stdcall; // + EXT
  1206. glPointParameterf: procedure(pname: GLenum; param: GLfloat); stdcall;
  1207. glPointParameterfv: procedure(pname: GLenum; const params: PGLfloat); stdcall;
  1208. glPointParameteri: procedure(pname: GLenum; param: GLint); stdcall;
  1209. glPointParameteriv: procedure(pname: GLenum; const params: PGLint); stdcall;
  1210. glBlendColor: procedure(red: GLfloat; green: GLfloat; blue: GLfloat; alpha: GLfloat); stdcall; // + GL_EXT_blend_color + GL_OES_fixed_point
  1211. {$IfNDef USE_GLCORE}
  1212. glFogCoordf: procedure(coord: GLfloat); stdcall;
  1213. glFogCoordfv: procedure(const coord: PGLfloat); stdcall;
  1214. glFogCoordd: procedure(coord: GLdouble); stdcall;
  1215. glFogCoorddv: procedure(const coord: PGLdouble); stdcall;
  1216. // glFogCoordPointer: procedure(_type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall; // + EXT
  1217. glSecondaryColor3b: procedure(red: GLbyte; green: GLbyte; blue: GLbyte); stdcall;
  1218. glSecondaryColor3bv: procedure(const v: PGLbyte); stdcall;
  1219. glSecondaryColor3d: procedure(red: GLdouble; green: GLdouble; blue: GLdouble); stdcall;
  1220. glSecondaryColor3dv: procedure(const v: PGLdouble); stdcall;
  1221. glSecondaryColor3f: procedure(red: GLfloat; green: GLfloat; blue: GLfloat); stdcall;
  1222. glSecondaryColor3fv: procedure(const v: PGLfloat); stdcall;
  1223. glSecondaryColor3i: procedure(red: GLint; green: GLint; blue: GLint); stdcall;
  1224. glSecondaryColor3iv: procedure(const v: PGLint); stdcall;
  1225. glSecondaryColor3s: procedure(red: GLshort; green: GLshort; blue: GLshort); stdcall;
  1226. glSecondaryColor3sv: procedure(const v: PGLshort); stdcall;
  1227. glSecondaryColor3ub: procedure(red: GLubyte; green: GLubyte; blue: GLubyte); stdcall;
  1228. glSecondaryColor3ubv: procedure(const v: PGLubyte); stdcall;
  1229. glSecondaryColor3ui: procedure(red: GLuint; green: GLuint; blue: GLuint); stdcall;
  1230. glSecondaryColor3uiv: procedure(const v: PGLuint); stdcall;
  1231. glSecondaryColor3us: procedure(red: GLushort; green: GLushort; blue: GLushort); stdcall;
  1232. glSecondaryColor3usv: procedure(const v: PGLushort); stdcall;
  1233. // glSecondaryColorPointer: procedure(size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall; // + EXT
  1234. glWindowPos2d: procedure(x: GLdouble; y: GLdouble); stdcall;
  1235. glWindowPos2dv: procedure(const v: PGLdouble); stdcall;
  1236. glWindowPos2f: procedure(x: GLfloat; y: GLfloat); stdcall;
  1237. glWindowPos2fv: procedure(const v: PGLfloat); stdcall;
  1238. glWindowPos2i: procedure(x: GLint; y: GLint); stdcall;
  1239. glWindowPos2iv: procedure(const v: PGLint); stdcall;
  1240. glWindowPos2s: procedure(x: GLshort; y: GLshort); stdcall;
  1241. glWindowPos2sv: procedure(const v: PGLshort); stdcall;
  1242. glWindowPos3d: procedure(x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  1243. glWindowPos3dv: procedure(const v: PGLdouble); stdcall;
  1244. glWindowPos3f: procedure(x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  1245. glWindowPos3fv: procedure(const v: PGLfloat); stdcall;
  1246. glWindowPos3i: procedure(x: GLint; y: GLint; z: GLint); stdcall;
  1247. glWindowPos3iv: procedure(const v: PGLint); stdcall;
  1248. glWindowPos3s: procedure(x: GLshort; y: GLshort; z: GLshort); stdcall;
  1249. glWindowPos3sv: procedure(const v: PGLshort); stdcall;
  1250. {$EndIf}
  1251. {$EndIf}
  1252. {$IfDef GL_VERSION_1_5}
  1253. var
  1254. glGenQueries: procedure(n: GLsizei; const ids: PGLuint); stdcall;
  1255. glDeleteQueries: procedure(n: GLsizei; ids: PGLuint); stdcall;
  1256. glIsQuery: function(id: GLuint): GLboolean; stdcall;
  1257. glBeginQuery: procedure(target: GLenum; id: GLuint); stdcall;
  1258. glEndQuery: procedure(target: GLenum); stdcall;
  1259. glGetQueryiv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  1260. glGetQueryObjectiv: procedure(id: GLuint; pname: GLenum; params: PGLint); stdcall;
  1261. glGetQueryObjectuiv: procedure(id: GLuint; pname: GLenum; params: PGLuint); stdcall;
  1262. glBindBuffer: procedure(target: GLenum; buffer: GLuint); stdcall;
  1263. glDeleteBuffers: procedure(n: GLsizei; const buffers: PGLuint); stdcall;
  1264. glGenBuffers: procedure(n: GLsizei; buffers: PGLuint); stdcall;
  1265. glIsBuffer: function(buffer: GLuint): GLboolean; stdcall;
  1266. glBufferData: procedure(target: GLenum; size: GLsizeiptr; const data: pointer; usage: GLenum); stdcall;
  1267. glBufferSubData: procedure(target: GLenum; offset: GLintptr; size: GLsizeiptr; const data: pointer); stdcall;
  1268. glGetBufferSubData: procedure(target: GLenum; offset: GLintptr; size: GLsizeiptr; const data: pointer); stdcall;
  1269. glMapBuffer: function(target: GLenum; access: GLenum): pointer; stdcall;
  1270. glUnmapBuffer: function(target: GLenum): GLboolean; stdcall;
  1271. glGetBufferParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  1272. glGetBufferPointerv: procedure(target: GLenum; pname: GLenum; params:Ppointer); stdcall;
  1273. {$EndIf}
  1274. {$IfDef GL_VERSION_2_0}
  1275. var
  1276. glBlendEquationSeparate: procedure(modeRGB: GLenum; modeAlpha: GLenum); stdcall; // + GL_EXT_blend_equation_separate
  1277. glDrawBuffers: procedure(n: GLsizei; const bufs: PGLenum); stdcall;
  1278. glStencilOpSeparate: procedure(face: GLenum; sfail: GLenum; dpfail: GLenum; dppass: GLenum); stdcall;
  1279. glStencilFuncSeparate: procedure(face: GLenum; func: GLenum; ref: GLint; mask: GLuint); stdcall;
  1280. glStencilMaskSeparate: procedure(face: GLenum; mask: GLuint); stdcall;
  1281. glAttachShader: procedure(_program: GLuint; shader: GLuint); stdcall;
  1282. glBindAttribLocation: procedure(_program: GLuint; index: GLuint; const name: PGLchar); stdcall;
  1283. glCompileShader: procedure(shader: GLuint); stdcall;
  1284. glCreateProgram: function : GLuint; stdcall;
  1285. glCreateShader: function(_type: GLenum): GLuint; stdcall;
  1286. glDeleteProgram: procedure(_program: GLuint); stdcall;
  1287. glDeleteShader: procedure(shader: GLuint); stdcall;
  1288. glDetachShader: procedure(_program: GLuint; shader: GLuint); stdcall;
  1289. glDisableVertexAttribArray: procedure(index: GLuint); stdcall;
  1290. glEnableVertexAttribArray: procedure(index: GLuint); stdcall;
  1291. glGetActiveAttrib: procedure(_program: GLuint; index: GLuint; bufSize: GLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLchar); stdcall;
  1292. glGetActiveUniform: procedure(_program: GLuint; index: GLuint; bufSize: GLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLchar); stdcall;
  1293. glGetAttachedShaders: procedure(_program: GLuint; maxCount: GLsizei; count: PGLsizei; shaders: PGLuint); stdcall;
  1294. glGetAttribLocation: function(_program: GLuint; const name: PGLchar): GLint; stdcall;
  1295. glGetProgramiv: procedure(_program: GLuint; pname: GLenum; params: PGLint); stdcall;
  1296. glGetProgramInfoLog: procedure(_program: GLuint; bufSize: GLsizei; length: PGLsizei; infoLog: PGLchar); stdcall;
  1297. glGetShaderiv: procedure(shader: GLuint; pname: GLenum; params: PGLint); stdcall;
  1298. glGetShaderInfoLog: procedure(shader: GLuint; bufSize: GLsizei; length: PGLsizei; infoLog: PGLchar); stdcall;
  1299. glGetShaderSource: procedure(shader: GLuint; bufSize: GLsizei; length: PGLsizei; source: PGLchar); stdcall;
  1300. glGetUniformLocation: function(_program: GLuint; const name: PGLchar): GLint; stdcall;
  1301. glGetUniformfv: procedure(_program: GLuint; location: GLint; params: PGLfloat); stdcall;
  1302. glGetUniformiv: procedure(_program: GLuint; location: GLint; params: PGLint); stdcall;
  1303. glGetVertexAttribdv: procedure(index: GLuint; pname: GLenum; params: PGLdouble); stdcall;
  1304. glGetVertexAttribfv: procedure(index: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  1305. glGetVertexAttribiv: procedure(index: GLuint; pname: GLenum; params: PGLint); stdcall;
  1306. glGetVertexAttribPointerv: procedure(index: GLuint; pname: GLenum; pointer:Ppointer); stdcall;
  1307. glIsProgram: function(_program: GLuint): GLboolean; stdcall;
  1308. glIsShader: function(shader: GLuint): GLboolean; stdcall;
  1309. glLinkProgram: procedure(_program: GLuint); stdcall;
  1310. glShaderSource: procedure(shader: GLuint; count: GLsizei; const _string: PPGLchar; const length: PGLint); stdcall;
  1311. glUseProgram: procedure(_program: GLuint); stdcall;
  1312. glUniform1f: procedure(location: GLint; v0: GLfloat); stdcall;
  1313. glUniform2f: procedure(location: GLint; v0: GLfloat; v1: GLfloat); stdcall;
  1314. glUniform3f: procedure(location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat); stdcall;
  1315. glUniform4f: procedure(location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat; v3: GLfloat); stdcall;
  1316. glUniform1i: procedure(location: GLint; v0: GLint); stdcall;
  1317. glUniform2i: procedure(location: GLint; v0: GLint; v1: GLint); stdcall;
  1318. glUniform3i: procedure(location: GLint; v0: GLint; v1: GLint; v2: GLint); stdcall;
  1319. glUniform4i: procedure(location: GLint; v0: GLint; v1: GLint; v2: GLint; v3: GLint); stdcall;
  1320. glUniform1fv: procedure(location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  1321. glUniform2fv: procedure(location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  1322. glUniform3fv: procedure(location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  1323. glUniform4fv: procedure(location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  1324. glUniform1iv: procedure(location: GLint; count: GLsizei; const value: PGLint); stdcall;
  1325. glUniform2iv: procedure(location: GLint; count: GLsizei; const value: PGLint); stdcall;
  1326. glUniform3iv: procedure(location: GLint; count: GLsizei; const value: PGLint); stdcall;
  1327. glUniform4iv: procedure(location: GLint; count: GLsizei; const value: PGLint); stdcall;
  1328. glUniformMatrix2fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1329. glUniformMatrix3fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1330. glUniformMatrix4fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1331. glValidateProgram: procedure(_program: GLuint); stdcall;
  1332. glVertexAttrib1d: procedure(index: GLuint; x: GLdouble); stdcall;
  1333. glVertexAttrib1dv: procedure(index: GLuint; const v: PGLdouble); stdcall;
  1334. glVertexAttrib1f: procedure(index: GLuint; x: GLfloat); stdcall;
  1335. glVertexAttrib1fv: procedure(index: GLuint; const v: PGLfloat); stdcall;
  1336. glVertexAttrib1s: procedure(index: GLuint; x: GLshort); stdcall;
  1337. glVertexAttrib1sv: procedure(index: GLuint; const v: PGLshort); stdcall;
  1338. glVertexAttrib2d: procedure(index: GLuint; x: GLdouble; y: GLdouble); stdcall;
  1339. glVertexAttrib2dv: procedure(index: GLuint; const v: PGLdouble); stdcall;
  1340. glVertexAttrib2f: procedure(index: GLuint; x: GLfloat; y: GLfloat); stdcall;
  1341. glVertexAttrib2fv: procedure(index: GLuint; const v: PGLfloat); stdcall;
  1342. glVertexAttrib2s: procedure(index: GLuint; x: GLshort; y: GLshort); stdcall;
  1343. glVertexAttrib2sv: procedure(index: GLuint; const v: PGLshort); stdcall;
  1344. glVertexAttrib3d: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  1345. glVertexAttrib3dv: procedure(index: GLuint; const v: PGLdouble); stdcall;
  1346. glVertexAttrib3f: procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  1347. glVertexAttrib3fv: procedure(index: GLuint; const v: PGLfloat); stdcall;
  1348. glVertexAttrib3s: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort); stdcall;
  1349. glVertexAttrib3sv: procedure(index: GLuint; const v: PGLshort); stdcall;
  1350. glVertexAttrib4Nbv: procedure(index: GLuint; const v: PGLbyte); stdcall;
  1351. glVertexAttrib4Niv: procedure(index: GLuint; const v: PGLint); stdcall;
  1352. glVertexAttrib4Nsv: procedure(index: GLuint; const v: PGLshort); stdcall;
  1353. glVertexAttrib4Nub: procedure(index: GLuint; x: GLubyte; y: GLubyte; z: GLubyte; w: GLubyte); stdcall;
  1354. glVertexAttrib4Nubv: procedure(index: GLuint; const v: PGLubyte); stdcall;
  1355. glVertexAttrib4Nuiv: procedure(index: GLuint; const v: PGLuint); stdcall;
  1356. glVertexAttrib4Nusv: procedure(index: GLuint; const v: PGLushort); stdcall;
  1357. glVertexAttrib4bv: procedure(index: GLuint; const v: PGLbyte); stdcall;
  1358. glVertexAttrib4d: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  1359. glVertexAttrib4dv: procedure(index: GLuint; const v: PGLdouble); stdcall;
  1360. glVertexAttrib4f: procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  1361. glVertexAttrib4fv: procedure(index: GLuint; const v: PGLfloat); stdcall;
  1362. glVertexAttrib4iv: procedure(index: GLuint; const v: PGLint); stdcall;
  1363. glVertexAttrib4s: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort; w: GLshort); stdcall;
  1364. glVertexAttrib4sv: procedure(index: GLuint; const v: PGLshort); stdcall;
  1365. glVertexAttrib4ubv: procedure(index: GLuint; const v: PGLubyte); stdcall;
  1366. glVertexAttrib4uiv: procedure(index: GLuint; const v: PGLuint); stdcall;
  1367. glVertexAttrib4usv: procedure(index: GLuint; const v: PGLushort); stdcall;
  1368. glVertexAttribPointer: procedure(index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei; const _pointer: pointer); stdcall;
  1369. {$EndIf}
  1370. {$IfDef GL_VERSION_2_1}
  1371. var
  1372. glUniformMatrix2x3fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1373. glUniformMatrix3x2fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1374. glUniformMatrix2x4fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1375. glUniformMatrix4x2fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1376. glUniformMatrix3x4fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1377. glUniformMatrix4x3fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1378. {$EndIf}
  1379. {$If defined(GL_VERSION_3_0) or defined(GL_EXT_framebuffer_object)}
  1380. //var
  1381. // glIsRenderbuffer: function(renderbuffer: GLuint): GLboolean; stdcall;
  1382. // glBindRenderbuffer: procedure(target: GLenum; renderbuffer: GLuint); stdcall;
  1383. // glDeleteRenderbuffers: procedure(n: GLsizei; const renderbuffers: PGLuint); stdcall;
  1384. // glGenRenderbuffers: procedure(n: GLsizei; renderbuffers: PGLuint); stdcall;
  1385. // glRenderbufferStorage: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  1386. // glIsFramebuffer: function(framebuffer: GLuint): GLboolean; stdcall;
  1387. // glBindFramebuffer: procedure(target: GLenum; framebuffer: GLuint); stdcall;
  1388. // glDeleteFramebuffers: procedure(n: GLsizei; const framebuffers: PGLuint); stdcall;
  1389. // glGenFramebuffers: procedure(n: GLsizei; framebuffers: PGLuint); stdcall;
  1390. // glCheckFramebufferStatus: function(target: GLenum): GLenum; stdcall;
  1391. // glFramebufferTexture2D: procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); stdcall;
  1392. // glFramebufferRenderbuffer: procedure(target: GLenum; attachment: GLenum; renderbuffertarget: GLenum; renderbuffer: GLuint); stdcall;
  1393. {$IfEnd}
  1394. {$IfDef GL_VERSION_3_0}
  1395. var
  1396. glColorMaski: procedure(index: GLuint; r: GLboolean; g: GLboolean; b: GLboolean; a: GLboolean); stdcall;
  1397. glGetBooleani_v: procedure(target: GLenum; index: GLuint; data: PGLboolean); stdcall;
  1398. glGetIntegeri_v: procedure(target: GLenum; index: GLuint; data: PGLint); stdcall;
  1399. glEnablei: procedure(target: GLenum; index: GLuint); stdcall;
  1400. glDisablei: procedure(target: GLenum; index: GLuint); stdcall;
  1401. glIsEnabledi: function(target: GLenum; index: GLuint): GLboolean; stdcall;
  1402. glBeginTransformFeedback: procedure(primitiveMode: GLenum); stdcall;
  1403. glEndTransformFeedback: procedure;
  1404. glBindBufferRange: procedure(target: GLenum; index: GLuint; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); stdcall;
  1405. glBindBufferBase: procedure(target: GLenum; index: GLuint; buffer: GLuint); stdcall;
  1406. glTransformFeedbackVaryings: procedure(_program: GLuint; count: GLsizei; const varyings: PPGLchar; bufferMode: GLenum); stdcall;
  1407. glGetTransformFeedbackVarying: procedure(_program: GLuint; index: GLuint; bufSize: GLsizei; length: PGLsizei; size: PGLsizei; _type: PGLenum; name: PGLchar); stdcall;
  1408. glClampColor: procedure(target: GLenum; clamp: GLenum); stdcall;
  1409. glBeginConditionalRender: procedure(id: GLuint; mode: GLenum); stdcall;
  1410. glEndConditionalRender: procedure;
  1411. glVertexAttribIPointer: procedure(index: GLuint; size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  1412. glGetVertexAttribIiv: procedure(index: GLuint; pname: GLenum; params: PGLint); stdcall;
  1413. glGetVertexAttribIuiv: procedure(index: GLuint; pname: GLenum; params: PGLuint); stdcall;
  1414. glVertexAttribI1i: procedure(index: GLuint; x: GLint); stdcall;
  1415. glVertexAttribI2i: procedure(index: GLuint; x: GLint; y: GLint); stdcall;
  1416. glVertexAttribI3i: procedure(index: GLuint; x: GLint; y: GLint; z: GLint); stdcall;
  1417. glVertexAttribI4i: procedure(index: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); stdcall;
  1418. glVertexAttribI1ui: procedure(index: GLuint; x: GLuint); stdcall;
  1419. glVertexAttribI2ui: procedure(index: GLuint; x: GLuint; y: GLuint); stdcall;
  1420. glVertexAttribI3ui: procedure(index: GLuint; x: GLuint; y: GLuint; z: GLuint); stdcall;
  1421. glVertexAttribI4ui: procedure(index: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); stdcall;
  1422. glVertexAttribI1iv: procedure(index: GLuint; const v: PGLint); stdcall;
  1423. glVertexAttribI2iv: procedure(index: GLuint; const v: PGLint); stdcall;
  1424. glVertexAttribI3iv: procedure(index: GLuint; const v: PGLint); stdcall;
  1425. glVertexAttribI4iv: procedure(index: GLuint; const v: PGLint); stdcall;
  1426. glVertexAttribI1uiv: procedure(index: GLuint; const v: PGLuint); stdcall;
  1427. glVertexAttribI2uiv: procedure(index: GLuint; const v: PGLuint); stdcall;
  1428. glVertexAttribI3uiv: procedure(index: GLuint; const v: PGLuint); stdcall;
  1429. glVertexAttribI4uiv: procedure(index: GLuint; const v: PGLuint); stdcall;
  1430. glVertexAttribI4bv: procedure(index: GLuint; const v: PGLbyte); stdcall;
  1431. glVertexAttribI4sv: procedure(index: GLuint; const v: PGLshort); stdcall;
  1432. glVertexAttribI4ubv: procedure(index: GLuint; const v: PGLubyte); stdcall;
  1433. glVertexAttribI4usv: procedure(index: GLuint; const v: PGLushort); stdcall;
  1434. glGetUniformuiv: procedure(_program: GLuint; location: GLint; params: PGLuint); stdcall;
  1435. glBindFragDataLocation: procedure(_program: GLuint; color: GLuint; const name: PGLchar); stdcall;
  1436. glGetFragDataLocation: function(_program: GLuint; const name: PGLchar): GLint; stdcall;
  1437. glUniform1ui: procedure(location: GLint; v0: GLuint); stdcall;
  1438. glUniform2ui: procedure(location: GLint; v0: GLuint; v1: GLuint); stdcall;
  1439. glUniform3ui: procedure(location: GLint; v0: GLuint; v1: GLuint; v2: GLuint); stdcall;
  1440. glUniform4ui: procedure(location: GLint; v0: GLuint; v1: GLuint; v2: GLuint; v3: GLuint); stdcall;
  1441. glUniform1uiv: procedure(location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  1442. glUniform2uiv: procedure(location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  1443. glUniform3uiv: procedure(location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  1444. glUniform4uiv: procedure(location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  1445. glTexParameterIiv: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  1446. glTexParameterIuiv: procedure(target: GLenum; pname: GLenum; const params: PGLuint); stdcall;
  1447. glGetTexParameterIiv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  1448. glGetTexParameterIuiv: procedure(target: GLenum; pname: GLenum; params: PGLuint); stdcall;
  1449. glClearBufferiv: procedure(buffer: GLenum; drawbuffer: GLint; const value: PGLint); stdcall;
  1450. glClearBufferuiv: procedure(buffer: GLenum; drawbuffer: GLint; const value: PGLuint); stdcall;
  1451. glClearBufferfv: procedure(buffer: GLenum; drawbuffer: GLint; const value: PGLfloat); stdcall;
  1452. glClearBufferfi: procedure(buffer: GLenum; drawbuffer: GLint; depth: GLfloat; stencil: GLint); stdcall;
  1453. glGetStringi: function(name: GLenum; index: GLuint): PGLubyte; stdcall;
  1454. // glIsRenderbuffer: function(renderbuffer: GLuint): GLboolean; stdcall;
  1455. // glBindRenderbuffer: procedure(target: GLenum; renderbuffer: GLuint); stdcall;
  1456. // glDeleteRenderbuffers: procedure(n: GLsizei; const renderbuffers: PGLuint); stdcall;
  1457. // glGenRenderbuffers: procedure(n: GLsizei; renderbuffers: PGLuint); stdcall;
  1458. // glRenderbufferStorage: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  1459. glGetRenderbufferParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  1460. // glIsFramebuffer: function(framebuffer: GLuint): GLboolean; stdcall;
  1461. // glBindFramebuffer: procedure(target: GLenum; framebuffer: GLuint); stdcall;
  1462. // glDeleteFramebuffers: procedure(n: GLsizei; const framebuffers: PGLuint); stdcall;
  1463. // glGenFramebuffers: procedure(n: GLsizei; framebuffers: PGLuint); stdcall;
  1464. // glCheckFramebufferStatus: function(target: GLenum): GLenum; stdcall;
  1465. glFramebufferTexture1D: procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); stdcall;
  1466. // glFramebufferTexture2D: procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); stdcall;
  1467. glFramebufferTexture3D: procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint; zoffset: GLint); stdcall;
  1468. // glFramebufferRenderbuffer: procedure(target: GLenum; attachment: GLenum; renderbuffertarget: GLenum; renderbuffer: GLuint); stdcall;
  1469. glGetFramebufferAttachmentParameteriv: procedure(target: GLenum; attachment: GLenum; pname: GLenum; params: PGLint); stdcall;
  1470. glGenerateMipmap: procedure(target: GLenum); stdcall;
  1471. glBlitFramebuffer: procedure(srcX0: GLint; srcY0: GLint; srcX1: GLint; srcY1: GLint; dstX0: GLint; dstY0: GLint; dstX1: GLint; dstY1: GLint; mask: GLbitfield; filter: GLenum); stdcall;
  1472. glRenderbufferStorageMultisample: procedure(target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  1473. glFramebufferTextureLayer: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; layer: GLint); stdcall;
  1474. glMapBufferRange: function(target: GLenum; offset: GLintptr; length: GLsizeiptr; access: GLbitfield): pointer; stdcall;
  1475. glFlushMappedBufferRange: procedure(target: GLenum; offset: GLintptr; length: GLsizeiptr); stdcall;
  1476. glBindVertexArray: procedure(_array: GLuint); stdcall;
  1477. glDeleteVertexArrays: procedure(n: GLsizei; const arrays: PGLuint); stdcall;
  1478. glGenVertexArrays: procedure(n: GLsizei; arrays: PGLuint); stdcall;
  1479. glIsVertexArray: function(_array: GLuint): GLboolean; stdcall;
  1480. {$EndIf}
  1481. {$IfDef GL_VERSION_3_1}
  1482. var
  1483. glDrawArraysInstanced: procedure(mode: GLenum; first: GLint; count: GLsizei; instancecount: GLsizei); stdcall;
  1484. glDrawElementsInstanced: procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: pointer; instancecount: GLsizei); stdcall;
  1485. glTexBuffer: procedure(target: GLenum; internalformat: GLenum; buffer: GLuint); stdcall;
  1486. glPrimitiveRestartIndex: procedure(index: GLuint); stdcall;
  1487. glCopyBufferSubData: procedure(readTarget: GLenum; writeTarget: GLenum; readOffset: GLintptr; writeOffset: GLintptr; size: GLsizeiptr); stdcall;
  1488. glGetUniformIndices: procedure(_program: GLuint; uniformCount: GLsizei; const uniformNames: PPGLchar; uniformIndices: PGLuint); stdcall;
  1489. glGetActiveUniformsiv: procedure(_program: GLuint; uniformCount: GLsizei; const uniformIndices: PGLuint; pname: GLenum; params: PGLint); stdcall;
  1490. glGetActiveUniformName: procedure(_program: GLuint; uniformIndex: GLuint; bufSize: GLsizei; length: PGLsizei; uniformName: PGLchar); stdcall;
  1491. glGetUniformBlockIndex: function(_program: GLuint; const uniformBlockName: PGLchar): GLuint; stdcall;
  1492. glGetActiveUniformBlockiv: procedure(_program: GLuint; uniformBlockIndex: GLuint; pname: GLenum; params: PGLint); stdcall;
  1493. glGetActiveUniformBlockName: procedure(_program: GLuint; uniformBlockIndex: GLuint; bufSize: GLsizei; length: PGLsizei; uniformBlockName: PGLchar); stdcall;
  1494. glUniformBlockBinding: procedure(_program: GLuint; uniformBlockIndex: GLuint; uniformBlockBinding: GLuint); stdcall;
  1495. {$EndIf}
  1496. {$IfDef GL_VERSION_3_2}
  1497. var
  1498. glDrawElementsBaseVertex: procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: pointer; basevertex: GLint); stdcall;
  1499. glDrawRangeElementsBaseVertex: procedure(mode: GLenum; start: GLuint; _end: GLuint; count: GLsizei; _type: GLenum; const indices: pointer; basevertex: GLint); stdcall;
  1500. glDrawElementsInstancedBaseVertex: procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: pointer; instancecount: GLsizei; basevertex: GLint); stdcall;
  1501. glMultiDrawElementsBaseVertex: procedure(mode: GLenum; const count: PGLsizei; _type: GLenum; const indices: {P}Ppointer; drawcount: GLsizei; const basevertex: PGLint); stdcall;
  1502. glProvokingVertex: procedure(mode: GLenum); stdcall;
  1503. glFenceSync: function(condition: GLenum; flags: GLbitfield): GLsync; stdcall;
  1504. glIsSync: function(sync: GLsync): GLboolean; stdcall;
  1505. glDeleteSync: procedure(sync: GLsync); stdcall;
  1506. glClientWaitSync: function(sync: GLsync; flags: GLbitfield; timeout: GLuint64): GLenum; stdcall;
  1507. glWaitSync: procedure(sync: GLsync; flags: GLbitfield; timeout: GLuint64); stdcall;
  1508. glGetInteger64v: procedure(pname: GLenum; data: PGLint64); stdcall;
  1509. glGetSynciv: procedure(sync: GLsync; pname: GLenum; count: GLsizei; length: PGLsizei; values: PGLint); stdcall;
  1510. glGetInteger64i_v: procedure(target: GLenum; index: GLuint; data: PGLint64); stdcall;
  1511. glGetBufferParameteri64v: procedure(target: GLenum; pname: GLenum; params: PGLint64); stdcall;
  1512. glFramebufferTexture: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint); stdcall;
  1513. glTexImage2DMultisample: procedure(target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; fixedsamplelocations: GLboolean); stdcall;
  1514. glTexImage3DMultisample: procedure(target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; fixedsamplelocations: GLboolean); stdcall;
  1515. glGetMultisamplefv: procedure(pname: GLenum; index: GLuint; val: PGLfloat); stdcall;
  1516. glSampleMaski: procedure(maskNumber: GLuint; mask: GLbitfield); stdcall;
  1517. {$EndIf}
  1518. {$IfDef GL_VERSION_3_3}
  1519. var
  1520. glBindFragDataLocationIndexed: procedure(_program: GLuint; colorNumber: GLuint; index: GLuint; const name: PGLchar); stdcall;
  1521. glGetFragDataIndex: function(_program: GLuint; const name: PGLchar): GLint; stdcall;
  1522. glGenSamplers: procedure(count: GLsizei; samplers: PGLuint); stdcall;
  1523. glDeleteSamplers: procedure(count: GLsizei; const samplers: PGLuint); stdcall;
  1524. glIsSampler: function(sampler: GLuint): GLboolean; stdcall;
  1525. glBindSampler: procedure(_unit: GLuint; sampler: GLuint); stdcall;
  1526. glSamplerParameteri: procedure(sampler: GLuint; pname: GLenum; param: GLint); stdcall;
  1527. glSamplerParameteriv: procedure(sampler: GLuint; pname: GLenum; const param: PGLint); stdcall;
  1528. glSamplerParameterf: procedure(sampler: GLuint; pname: GLenum; param: GLfloat); stdcall;
  1529. glSamplerParameterfv: procedure(sampler: GLuint; pname: GLenum; const param: PGLfloat); stdcall;
  1530. glSamplerParameterIiv: procedure(sampler: GLuint; pname: GLenum; const param: PGLint); stdcall;
  1531. glSamplerParameterIuiv: procedure(sampler: GLuint; pname: GLenum; const param: PGLuint); stdcall;
  1532. glGetSamplerParameteriv: procedure(sampler: GLuint; pname: GLenum; params: PGLint); stdcall;
  1533. glGetSamplerParameterIiv: procedure(sampler: GLuint; pname: GLenum; params: PGLint); stdcall;
  1534. glGetSamplerParameterfv: procedure(sampler: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  1535. glGetSamplerParameterIuiv: procedure(sampler: GLuint; pname: GLenum; params: PGLuint); stdcall;
  1536. glQueryCounter: procedure(id: GLuint; target: GLenum); stdcall;
  1537. glGetQueryObjecti64v: procedure(id: GLuint; pname: GLenum; params: PGLint64); stdcall;
  1538. glGetQueryObjectui64v: procedure(id: GLuint; pname: GLenum; params: PGLuint64); stdcall;
  1539. glVertexAttribDivisor: procedure(index: GLuint; divisor: GLuint); stdcall;
  1540. glVertexAttribP1ui: procedure(index: GLuint; _type: GLenum; normalized: GLboolean; value: GLuint); stdcall;
  1541. glVertexAttribP1uiv: procedure(index: GLuint; _type: GLenum; normalized: GLboolean; const value: PGLuint); stdcall;
  1542. glVertexAttribP2ui: procedure(index: GLuint; _type: GLenum; normalized: GLboolean; value: GLuint); stdcall;
  1543. glVertexAttribP2uiv: procedure(index: GLuint; _type: GLenum; normalized: GLboolean; const value: PGLuint); stdcall;
  1544. glVertexAttribP3ui: procedure(index: GLuint; _type: GLenum; normalized: GLboolean; value: GLuint); stdcall;
  1545. glVertexAttribP3uiv: procedure(index: GLuint; _type: GLenum; normalized: GLboolean; const value: PGLuint); stdcall;
  1546. glVertexAttribP4ui: procedure(index: GLuint; _type: GLenum; normalized: GLboolean; value: GLuint); stdcall;
  1547. glVertexAttribP4uiv: procedure(index: GLuint; _type: GLenum; normalized: GLboolean; const value: PGLuint); stdcall;
  1548. {$IfNDef USE_GLCORE}
  1549. glVertexP2ui: procedure(_type: GLenum; value: GLuint); stdcall;
  1550. glVertexP2uiv: procedure(_type: GLenum; const value: PGLuint); stdcall;
  1551. glVertexP3ui: procedure(_type: GLenum; value: GLuint); stdcall;
  1552. glVertexP3uiv: procedure(_type: GLenum; const value: PGLuint); stdcall;
  1553. glVertexP4ui: procedure(_type: GLenum; value: GLuint); stdcall;
  1554. glVertexP4uiv: procedure(_type: GLenum; const value: PGLuint); stdcall;
  1555. glTexCoordP1ui: procedure(_type: GLenum; coords: GLuint); stdcall;
  1556. glTexCoordP1uiv: procedure(_type: GLenum; const coords: PGLuint); stdcall;
  1557. glTexCoordP2ui: procedure(_type: GLenum; coords: GLuint); stdcall;
  1558. glTexCoordP2uiv: procedure(_type: GLenum; const coords: PGLuint); stdcall;
  1559. glTexCoordP3ui: procedure(_type: GLenum; coords: GLuint); stdcall;
  1560. glTexCoordP3uiv: procedure(_type: GLenum; const coords: PGLuint); stdcall;
  1561. glTexCoordP4ui: procedure(_type: GLenum; coords: GLuint); stdcall;
  1562. glTexCoordP4uiv: procedure(_type: GLenum; const coords: PGLuint); stdcall;
  1563. glMultiTexCoordP1ui: procedure(texture: GLenum; _type: GLenum; coords: GLuint); stdcall;
  1564. glMultiTexCoordP1uiv: procedure(texture: GLenum; _type: GLenum; const coords: PGLuint); stdcall;
  1565. glMultiTexCoordP2ui: procedure(texture: GLenum; _type: GLenum; coords: GLuint); stdcall;
  1566. glMultiTexCoordP2uiv: procedure(texture: GLenum; _type: GLenum; const coords: PGLuint); stdcall;
  1567. glMultiTexCoordP3ui: procedure(texture: GLenum; _type: GLenum; coords: GLuint); stdcall;
  1568. glMultiTexCoordP3uiv: procedure(texture: GLenum; _type: GLenum; const coords: PGLuint); stdcall;
  1569. glMultiTexCoordP4ui: procedure(texture: GLenum; _type: GLenum; coords: GLuint); stdcall;
  1570. glMultiTexCoordP4uiv: procedure(texture: GLenum; _type: GLenum; const coords: PGLuint); stdcall;
  1571. glNormalP3ui: procedure(_type: GLenum; coords: GLuint); stdcall;
  1572. glNormalP3uiv: procedure(_type: GLenum; const coords: PGLuint); stdcall;
  1573. glColorP3ui: procedure(_type: GLenum; color: GLuint); stdcall;
  1574. glColorP3uiv: procedure(_type: GLenum; const color: PGLuint); stdcall;
  1575. glColorP4ui: procedure(_type: GLenum; color: GLuint); stdcall;
  1576. glColorP4uiv: procedure(_type: GLenum; const color: PGLuint); stdcall;
  1577. glSecondaryColorP3ui: procedure(_type: GLenum; color: GLuint); stdcall;
  1578. glSecondaryColorP3uiv: procedure(_type: GLenum; const color: PGLuint); stdcall;
  1579. {$EndIf}
  1580. {$EndIf}
  1581. {$IfDef GL_VERSION_4_0}
  1582. var
  1583. glMinSampleShading: procedure(value: GLfloat); stdcall;
  1584. glBlendEquationi: procedure(buf: GLuint; mode: GLenum); stdcall;
  1585. glBlendEquationSeparatei: procedure(buf: GLuint; modeRGB: GLenum; modeAlpha: GLenum); stdcall;
  1586. glBlendFunci: procedure(buf: GLuint; src: GLenum; dst: GLenum); stdcall;
  1587. glBlendFuncSeparatei: procedure(buf: GLuint; srcRGB: GLenum; dstRGB: GLenum; srcAlpha: GLenum; dstAlpha: GLenum); stdcall;
  1588. glDrawArraysIndirect: procedure(mode: GLenum; const indirect: pointer); stdcall;
  1589. glDrawElementsIndirect: procedure(mode: GLenum; _type: GLenum; const indirect: pointer); stdcall;
  1590. glUniform1d: procedure(location: GLint; x: GLdouble); stdcall;
  1591. glUniform2d: procedure(location: GLint; x: GLdouble; y: GLdouble); stdcall;
  1592. glUniform3d: procedure(location: GLint; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  1593. glUniform4d: procedure(location: GLint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  1594. glUniform1dv: procedure(location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  1595. glUniform2dv: procedure(location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  1596. glUniform3dv: procedure(location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  1597. glUniform4dv: procedure(location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  1598. glUniformMatrix2dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1599. glUniformMatrix3dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1600. glUniformMatrix4dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1601. glUniformMatrix2x3dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1602. glUniformMatrix2x4dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1603. glUniformMatrix3x2dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1604. glUniformMatrix3x4dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1605. glUniformMatrix4x2dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1606. glUniformMatrix4x3dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1607. glGetUniformdv: procedure(_program: GLuint; location: GLint; params: PGLdouble); stdcall;
  1608. glGetSubroutineUniformLocation: function(_program: GLuint; shadertype: GLenum; const name: PGLchar): GLint; stdcall;
  1609. glGetSubroutineIndex: function(_program: GLuint; shadertype: GLenum; const name: PGLchar): GLuint; stdcall;
  1610. glGetActiveSubroutineUniformiv: procedure(_program: GLuint; shadertype: GLenum; index: GLuint; pname: GLenum; values: PGLint); stdcall;
  1611. glGetActiveSubroutineUniformName: procedure(_program: GLuint; shadertype: GLenum; index: GLuint; bufSize: GLsizei; length: PGLsizei; name: PGLchar); stdcall;
  1612. glGetActiveSubroutineName: procedure(_program: GLuint; shadertype: GLenum; index: GLuint; bufSize: GLsizei; length: PGLsizei; name: PGLchar); stdcall;
  1613. glUniformSubroutinesuiv: procedure(shadertype: GLenum; count: GLsizei; const indices: PGLuint); stdcall;
  1614. glGetUniformSubroutineuiv: procedure(shadertype: GLenum; location: GLint; params: PGLuint); stdcall;
  1615. glGetProgramStageiv: procedure(_program: GLuint; shadertype: GLenum; pname: GLenum; values: PGLint); stdcall;
  1616. glPatchParameteri: procedure(pname: GLenum; value: GLint); stdcall;
  1617. glPatchParameterfv: procedure(pname: GLenum; const values: PGLfloat); stdcall;
  1618. glBindTransformFeedback: procedure(target: GLenum; id: GLuint); stdcall;
  1619. glDeleteTransformFeedbacks: procedure(n: GLsizei; const ids: PGLuint); stdcall;
  1620. glGenTransformFeedbacks: procedure(n: GLsizei; ids: PGLuint); stdcall;
  1621. glIsTransformFeedback: function(id: GLuint): GLboolean; stdcall;
  1622. glPauseTransformFeedback: procedure; stdcall;
  1623. glResumeTransformFeedback: procedure; stdcall;
  1624. glDrawTransformFeedback: procedure(mode: GLenum; id: GLuint); stdcall;
  1625. glDrawTransformFeedbackStream: procedure(mode: GLenum; id: GLuint; stream: GLuint); stdcall;
  1626. glBeginQueryIndexed: procedure(target: GLenum; index: GLuint; id: GLuint); stdcall;
  1627. glEndQueryIndexed: procedure(target: GLenum; index: GLuint); stdcall;
  1628. glGetQueryIndexediv: procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLint); stdcall;
  1629. {$EndIf}
  1630. {$IfDef GL_VERSION_4_1}
  1631. var
  1632. glReleaseShaderCompiler: procedure; stdcall;
  1633. glShaderBinary: procedure(count: GLsizei; const shaders: PGLuint; binaryFormat: GLenum; const binary: pointer; length: GLsizei); stdcall;
  1634. glGetShaderPrecisionFormat: procedure(shadertype: GLenum; precisiontype: GLenum; range: PGLint; precision: PGLint); stdcall;
  1635. glDepthRangef: procedure(n: GLfloat; f: GLfloat); stdcall;
  1636. glClearDepthf: procedure(d: GLfloat); stdcall;
  1637. glGetProgramBinary: procedure(_program: GLuint; bufSize: GLsizei; length: PGLsizei; binaryFormat: PGLenum; binary: pointer); stdcall;
  1638. glProgramBinary: procedure(_program: GLuint; binaryFormat: GLenum; const binary: pointer; length: GLsizei); stdcall;
  1639. glProgramParameteri: procedure(_program: GLuint; pname: GLenum; value: GLint); stdcall;
  1640. glUseProgramStages: procedure(pipeline: GLuint; stages: GLbitfield; _program: GLuint); stdcall;
  1641. glActiveShaderProgram: procedure(pipeline: GLuint; _program: GLuint); stdcall;
  1642. glCreateShaderProgramv: function(_type: GLenum; count: GLsizei; const strings: PPGLchar): GLuint; stdcall;
  1643. glBindProgramPipeline: procedure(pipeline: GLuint); stdcall;
  1644. glDeleteProgramPipelines: procedure(n: GLsizei; const pipelines: PGLuint); stdcall;
  1645. glGenProgramPipelines: procedure(n: GLsizei; pipelines: PGLuint); stdcall;
  1646. glIsProgramPipeline: function(pipeline: GLuint): GLboolean; stdcall;
  1647. glGetProgramPipelineiv: procedure(pipeline: GLuint; pname: GLenum; params: PGLint); stdcall;
  1648. glProgramUniform1i: procedure(_program: GLuint; location: GLint; v0: GLint); stdcall;
  1649. glProgramUniform1iv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint); stdcall;
  1650. glProgramUniform1f: procedure(_program: GLuint; location: GLint; v0: GLfloat); stdcall;
  1651. glProgramUniform1fv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  1652. glProgramUniform1d: procedure(_program: GLuint; location: GLint; v0: GLdouble); stdcall;
  1653. glProgramUniform1dv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  1654. glProgramUniform1ui: procedure(_program: GLuint; location: GLint; v0: GLuint); stdcall;
  1655. glProgramUniform1uiv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  1656. glProgramUniform2i: procedure(_program: GLuint; location: GLint; v0: GLint; v1: GLint); stdcall;
  1657. glProgramUniform2iv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint); stdcall;
  1658. glProgramUniform2f: procedure(_program: GLuint; location: GLint; v0: GLfloat; v1: GLfloat); stdcall;
  1659. glProgramUniform2fv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  1660. glProgramUniform2d: procedure(_program: GLuint; location: GLint; v0: GLdouble; v1: GLdouble); stdcall;
  1661. glProgramUniform2dv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  1662. glProgramUniform2ui: procedure(_program: GLuint; location: GLint; v0: GLuint; v1: GLuint); stdcall;
  1663. glProgramUniform2uiv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  1664. glProgramUniform3i: procedure(_program: GLuint; location: GLint; v0: GLint; v1: GLint; v2: GLint); stdcall;
  1665. glProgramUniform3iv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint); stdcall;
  1666. glProgramUniform3f: procedure(_program: GLuint; location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat); stdcall;
  1667. glProgramUniform3fv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  1668. glProgramUniform3d: procedure(_program: GLuint; location: GLint; v0: GLdouble; v1: GLdouble; v2: GLdouble); stdcall;
  1669. glProgramUniform3dv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  1670. glProgramUniform3ui: procedure(_program: GLuint; location: GLint; v0: GLuint; v1: GLuint; v2: GLuint); stdcall;
  1671. glProgramUniform3uiv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  1672. glProgramUniform4i: procedure(_program: GLuint; location: GLint; v0: GLint; v1: GLint; v2: GLint; v3: GLint); stdcall;
  1673. glProgramUniform4iv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint); stdcall;
  1674. glProgramUniform4f: procedure(_program: GLuint; location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat; v3: GLfloat); stdcall;
  1675. glProgramUniform4fv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  1676. glProgramUniform4d: procedure(_program: GLuint; location: GLint; v0: GLdouble; v1: GLdouble; v2: GLdouble; v3: GLdouble); stdcall;
  1677. glProgramUniform4dv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  1678. glProgramUniform4ui: procedure(_program: GLuint; location: GLint; v0: GLuint; v1: GLuint; v2: GLuint; v3: GLuint); stdcall;
  1679. glProgramUniform4uiv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  1680. glProgramUniformMatrix2fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1681. glProgramUniformMatrix3fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1682. glProgramUniformMatrix4fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1683. glProgramUniformMatrix2dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1684. glProgramUniformMatrix3dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1685. glProgramUniformMatrix4dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1686. glProgramUniformMatrix2x3fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1687. glProgramUniformMatrix3x2fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1688. glProgramUniformMatrix2x4fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1689. glProgramUniformMatrix4x2fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1690. glProgramUniformMatrix3x4fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1691. glProgramUniformMatrix4x3fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1692. glProgramUniformMatrix2x3dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1693. glProgramUniformMatrix3x2dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1694. glProgramUniformMatrix2x4dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1695. glProgramUniformMatrix4x2dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1696. glProgramUniformMatrix3x4dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1697. glProgramUniformMatrix4x3dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1698. glValidateProgramPipeline: procedure(pipeline: GLuint); stdcall;
  1699. glGetProgramPipelineInfoLog: procedure(pipeline: GLuint; bufSize: GLsizei; length: PGLsizei; infoLog: PGLchar); stdcall;
  1700. glVertexAttribL1d: procedure(index: GLuint; x: GLdouble); stdcall;
  1701. glVertexAttribL2d: procedure(index: GLuint; x: GLdouble; y: GLdouble); stdcall;
  1702. glVertexAttribL3d: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  1703. glVertexAttribL4d: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  1704. glVertexAttribL1dv: procedure(index: GLuint; const v: PGLdouble); stdcall;
  1705. glVertexAttribL2dv: procedure(index: GLuint; const v: PGLdouble); stdcall;
  1706. glVertexAttribL3dv: procedure(index: GLuint; const v: PGLdouble); stdcall;
  1707. glVertexAttribL4dv: procedure(index: GLuint; const v: PGLdouble); stdcall;
  1708. glVertexAttribLPointer: procedure(index: GLuint; size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  1709. glGetVertexAttribLdv: procedure(index: GLuint; pname: GLenum; params: PGLdouble); stdcall;
  1710. glViewportArrayv: procedure(first: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  1711. glViewportIndexedf: procedure(index: GLuint; x: GLfloat; y: GLfloat; w: GLfloat; h: GLfloat); stdcall;
  1712. glViewportIndexedfv: procedure(index: GLuint; const v: PGLfloat); stdcall;
  1713. glScissorArrayv: procedure(first: GLuint; count: GLsizei; const v: PGLint); stdcall;
  1714. glScissorIndexed: procedure(index: GLuint; left: GLint; bottom: GLint; width: GLsizei; height: GLsizei); stdcall;
  1715. glScissorIndexedv: procedure(index: GLuint; const v: PGLint); stdcall;
  1716. glDepthRangeArrayv: procedure(first: GLuint; count: GLsizei; const v: PGLdouble); stdcall;
  1717. glDepthRangeIndexed: procedure(index: GLuint; n: GLdouble; f: GLdouble); stdcall;
  1718. glGetFloati_v: procedure(target: GLenum; index: GLuint; data: PGLfloat); stdcall;
  1719. glGetDoublei_v: procedure(target: GLenum; index: GLuint; data: PGLdouble); stdcall;
  1720. {$EndIf}
  1721. {$IfDef GL_VERSION_4_2}
  1722. var
  1723. glDrawArraysInstancedBaseInstance: procedure(mode: GLenum; first: GLint; count: GLsizei; instancecount: GLsizei; baseinstance: GLuint);
  1724. glDrawElementsInstancedBaseInstance: procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: pointer; instancecount: GLsizei; baseinstance: GLuint); stdcall;
  1725. glDrawElementsInstancedBaseVertexBaseInstance: procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: pointer; instancecount: GLsizei; basevertex: GLint; baseinstance: GLuint); stdcall;
  1726. glGetInternalformativ: procedure(target: GLenum; internalformat: GLenum; pname: GLenum; count: GLsizei; params: PGLint); stdcall;
  1727. glGetActiveAtomicCounterBufferiv: procedure(_program: GLuint; bufferIndex: GLuint; pname: GLenum; params: PGLint); stdcall;
  1728. glBindImageTexture: procedure(_unit: GLuint; texture: GLuint; level: GLint; layered: GLboolean; layer: GLint; access: GLenum; format: GLenum); stdcall;
  1729. glMemoryBarrier: procedure(barriers: GLbitfield); stdcall;
  1730. glTexStorage1D: procedure(target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei); stdcall;
  1731. glTexStorage2D: procedure(target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  1732. glTexStorage3D: procedure(target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei); stdcall;
  1733. glDrawTransformFeedbackInstanced: procedure(mode: GLenum; id: GLuint; instancecount: GLsizei); stdcall;
  1734. glDrawTransformFeedbackStreamInstanced: procedure(mode: GLenum; id: GLuint; stream: GLuint; instancecount: GLsizei); stdcall;
  1735. {$EndIf}
  1736. {$IfDef GL_VERSION_4_3}
  1737. var
  1738. glClearBufferData: procedure(target: GLenum; internalformat: GLenum; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  1739. glClearBufferSubData: procedure(target: GLenum; internalformat: GLenum; offset: GLintptr; size: GLsizeiptr; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  1740. glDispatchCompute: procedure(num_groups_x: GLuint; num_groups_y: GLuint; num_groups_z: GLuint); stdcall;
  1741. glDispatchComputeIndirect: procedure(indirect: GLintptr); stdcall;
  1742. glCopyImageSubData: procedure(srcName: GLuint; srcTarget: GLenum; srcLevel: GLint; srcX: GLint; srcY: GLint; srcZ: GLint; dstName: GLuint; dstTarget: GLenum; dstLevel: GLint; dstX: GLint; dstY: GLint; dstZ: GLint; srcWidth: GLsizei; srcHeight: GLsizei; srcDepth: GLsizei); stdcall;
  1743. glFramebufferParameteri: procedure(target: GLenum; pname: GLenum; param: GLint); stdcall;
  1744. glGetFramebufferParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  1745. glGetInternalformati64v: procedure(target: GLenum; internalformat: GLenum; pname: GLenum; count: GLsizei; params: PGLint64); stdcall;
  1746. glInvalidateTexSubImage: procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei); stdcall;
  1747. glInvalidateTexImage: procedure(texture: GLuint; level: GLint); stdcall;
  1748. glInvalidateBufferSubData: procedure(buffer: GLuint; offset: GLintptr; length: GLsizeiptr); stdcall;
  1749. glInvalidateBufferData: procedure(buffer: GLuint); stdcall;
  1750. glInvalidateFramebuffer: procedure(target: GLenum; numAttachments: GLsizei; const attachments: PGLenum); stdcall;
  1751. glInvalidateSubFramebuffer: procedure(target: GLenum; numAttachments: GLsizei; const attachments: PGLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  1752. glMultiDrawArraysIndirect: procedure(mode: GLenum; const indirect: pointer; drawcount: GLsizei; stride: GLsizei); stdcall;
  1753. glMultiDrawElementsIndirect: procedure(mode: GLenum; _type: GLenum; const indirect: pointer; drawcount: GLsizei; stride: GLsizei); stdcall;
  1754. glGetProgramInterfaceiv: procedure(_program: GLuint; programInterface: GLenum; pname: GLenum; params: PGLint); stdcall;
  1755. glGetProgramResourceIndex: function(_program: GLuint; programInterface: GLenum; const name: PGLchar): GLuint; stdcall;
  1756. glGetProgramResourceName: procedure(_program: GLuint; programInterface: GLenum; index: GLuint; bufSize: GLsizei; length: PGLsizei; name: PGLchar); stdcall;
  1757. glGetProgramResourceiv: procedure(_program: GLuint; programInterface: GLenum; index: GLuint; propCount: GLsizei; const props: PGLenum; count: GLsizei; length: PGLsizei; params: PGLint); stdcall;
  1758. glGetProgramResourceLocation: function(_program: GLuint; programInterface: GLenum; const name: PGLchar): GLint; stdcall;
  1759. glGetProgramResourceLocationIndex: function(_program: GLuint; programInterface: GLenum; const name: PGLchar): GLint; stdcall;
  1760. glShaderStorageBlockBinding: procedure(_program: GLuint; storageBlockIndex: GLuint; storageBlockBinding: GLuint); stdcall;
  1761. glTexBufferRange: procedure(target: GLenum; internalformat: GLenum; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); stdcall;
  1762. glTexStorage2DMultisample: procedure(target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; fixedsamplelocations: GLboolean); stdcall;
  1763. glTexStorage3DMultisample: procedure(target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; fixedsamplelocations: GLboolean); stdcall;
  1764. glTextureView: procedure(texture: GLuint; target: GLenum; origtexture: GLuint; internalformat: GLenum; minlevel: GLuint; numlevels: GLuint; minlayer: GLuint; numlayers: GLuint); stdcall;
  1765. glBindVertexBuffer: procedure(bindingindex: GLuint; buffer: GLuint; offset: GLintptr; stride: GLsizei); stdcall;
  1766. glVertexAttribFormat: procedure(attribindex: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; relativeoffset: GLuint); stdcall;
  1767. glVertexAttribIFormat: procedure(attribindex: GLuint; size: GLint; _type: GLenum; relativeoffset: GLuint); stdcall;
  1768. glVertexAttribLFormat: procedure(attribindex: GLuint; size: GLint; _type: GLenum; relativeoffset: GLuint); stdcall;
  1769. glVertexAttribBinding: procedure(attribindex: GLuint; bindingindex: GLuint); stdcall;
  1770. glVertexBindingDivisor: procedure(bindingindex: GLuint; divisor: GLuint); stdcall;
  1771. glDebugMessageControl: procedure(source: GLenum; _type: GLenum; severity: GLenum; count: GLsizei; const ids: PGLuint; enabled: GLboolean); stdcall;
  1772. glDebugMessageInsert: procedure(source: GLenum; _type: GLenum; id: GLuint; severity: GLenum; length: GLsizei; const buf: PGLchar); stdcall;
  1773. glDebugMessageCallback: procedure(callback: GLDEBUGPROC; const userParam: pointer); stdcall;
  1774. glGetDebugMessageLog: function(count: GLuint; bufSize: GLsizei; sources: PGLenum; types: PGLenum; ids: PGLuint; severities: PGLenum; lengths: PGLsizei; messageLog: PGLchar): GLuint; stdcall;
  1775. glPushDebugGroup: procedure(source: GLenum; id: GLuint; length: GLsizei; const message: PGLchar); stdcall;
  1776. glPopDebugGroup: procedure; stdcall;
  1777. glObjectLabel: procedure(identifier: GLenum; name: GLuint; length: GLsizei; const _label: PGLchar); stdcall;
  1778. glGetObjectLabel: procedure(identifier: GLenum; name: GLuint; bufSize: GLsizei; length: PGLsizei; _label: PGLchar); stdcall;
  1779. glObjectPtrLabel: procedure(const ptr: pointer; length: GLsizei; const _label: PGLchar); stdcall;
  1780. glGetObjectPtrLabel: procedure(const ptr: pointer; bufSize: GLsizei; length: PGLsizei; _label: PGLchar); stdcall;
  1781. {$EndIf}
  1782. {$IfDef GL_VERSION_4_4}
  1783. var
  1784. glBufferStorage: procedure(target: GLenum; size: GLsizeiptr; const data: pointer; flags: GLbitfield); stdcall;
  1785. glClearTexImage: procedure(texture: GLuint; level: GLint; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  1786. glClearTexSubImage: procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  1787. glBindBuffersBase: procedure(target: GLenum; first: GLuint; count: GLsizei; const buffers: PGLuint); stdcall;
  1788. glBindBuffersRange: procedure(target: GLenum; first: GLuint; count: GLsizei; const buffers: PGLuint; const offsets: PGLintptr; const sizes: PGLsizeiptr); stdcall;
  1789. glBindTextures: procedure(first: GLuint; count: GLsizei; const textures: PGLuint); stdcall;
  1790. glBindSamplers: procedure(first: GLuint; count: GLsizei; const samplers: PGLuint); stdcall;
  1791. glBindImageTextures: procedure(first: GLuint; count: GLsizei; const textures: PGLuint); stdcall;
  1792. glBindVertexBuffers: procedure(first: GLuint; count: GLsizei; const buffers: PGLuint; const offsets: PGLintptr; const strides: PGLsizei); stdcall;
  1793. {$EndIf}
  1794. {$IfDef GL_VERSION_4_5}
  1795. var
  1796. glClipControl: procedure(origin: GLenum; depth: GLenum); stdcall;
  1797. glCreateTransformFeedbacks: procedure(n: GLsizei; ids: PGLuint); stdcall;
  1798. glTransformFeedbackBufferBase: procedure(xfb: GLuint; index: GLuint; buffer: GLuint); stdcall;
  1799. glTransformFeedbackBufferRange: procedure(xfb: GLuint; index: GLuint; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); stdcall;
  1800. glGetTransformFeedbackiv: procedure(xfb: GLuint; pname: GLenum; param: PGLint); stdcall;
  1801. glGetTransformFeedbacki_v: procedure(xfb: GLuint; pname: GLenum; index: GLuint; param: PGLint); stdcall;
  1802. glGetTransformFeedbacki64_v: procedure(xfb: GLuint; pname: GLenum; index: GLuint; param: PGLint64); stdcall;
  1803. glCreateBuffers: procedure(n: GLsizei; buffers: PGLuint); stdcall;
  1804. glNamedBufferStorage: procedure(buffer: GLuint; size: GLsizeiptr; const data: pointer; flags: GLbitfield); stdcall;
  1805. glNamedBufferData: procedure(buffer: GLuint; size: GLsizeiptr; const data: pointer; usage: GLenum); stdcall;
  1806. glNamedBufferSubData: procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; const data: pointer); stdcall;
  1807. glCopyNamedBufferSubData: procedure(readBuffer: GLuint; writeBuffer: GLuint; readOffset: GLintptr; writeOffset: GLintptr; size: GLsizeiptr); stdcall;
  1808. glClearNamedBufferData: procedure(buffer: GLuint; internalformat: GLenum; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  1809. glClearNamedBufferSubData: procedure(buffer: GLuint; internalformat: GLenum; offset: GLintptr; size: GLsizeiptr; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  1810. glMapNamedBuffer: function(buffer: GLuint; access: GLenum): pointer; stdcall;
  1811. glMapNamedBufferRange: function(buffer: GLuint; offset: GLintptr; length: GLsizeiptr; access: GLbitfield): pointer; stdcall;
  1812. glUnmapNamedBuffer: function(buffer: GLuint): GLboolean; stdcall;
  1813. glFlushMappedNamedBufferRange: procedure(buffer: GLuint; offset: GLintptr; length: GLsizeiptr); stdcall;
  1814. glGetNamedBufferParameteriv: procedure(buffer: GLuint; pname: GLenum; params: PGLint); stdcall;
  1815. glGetNamedBufferParameteri64v: procedure(buffer: GLuint; pname: GLenum; params: PGLint64); stdcall;
  1816. glGetNamedBufferPointerv: procedure(buffer: GLuint; pname: GLenum; params:Ppointer); stdcall;
  1817. glGetNamedBufferSubData: procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; data: pointer); stdcall;
  1818. glCreateFramebuffers: procedure(n: GLsizei; framebuffers: PGLuint); stdcall;
  1819. glNamedFramebufferRenderbuffer: procedure(framebuffer: GLuint; attachment: GLenum; renderbuffertarget: GLenum; renderbuffer: GLuint); stdcall;
  1820. glNamedFramebufferParameteri: procedure(framebuffer: GLuint; pname: GLenum; param: GLint); stdcall;
  1821. glNamedFramebufferTexture: procedure(framebuffer: GLuint; attachment: GLenum; texture: GLuint; level: GLint); stdcall;
  1822. glNamedFramebufferTextureLayer: procedure(framebuffer: GLuint; attachment: GLenum; texture: GLuint; level: GLint; layer: GLint); stdcall;
  1823. glNamedFramebufferDrawBuffer: procedure(framebuffer: GLuint; buf: GLenum); stdcall;
  1824. glNamedFramebufferDrawBuffers: procedure(framebuffer: GLuint; n: GLsizei; const bufs: PGLenum); stdcall;
  1825. glNamedFramebufferReadBuffer: procedure(framebuffer: GLuint; src: GLenum); stdcall;
  1826. glInvalidateNamedFramebufferData: procedure(framebuffer: GLuint; numAttachments: GLsizei; const attachments: PGLenum); stdcall;
  1827. glInvalidateNamedFramebufferSubData: procedure(framebuffer: GLuint; numAttachments: GLsizei; const attachments: PGLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  1828. glClearNamedFramebufferiv: procedure(framebuffer: GLuint; buffer: GLenum; drawbuffer: GLint; const value: PGLint); stdcall;
  1829. glClearNamedFramebufferuiv: procedure(framebuffer: GLuint; buffer: GLenum; drawbuffer: GLint; const value: PGLuint); stdcall;
  1830. glClearNamedFramebufferfv: procedure(framebuffer: GLuint; buffer: GLenum; drawbuffer: GLint; const value: PGLfloat); stdcall;
  1831. glClearNamedFramebufferfi: procedure(framebuffer: GLuint; buffer: GLenum; drawbuffer: GLint; depth: GLfloat; stencil: GLint); stdcall;
  1832. glBlitNamedFramebuffer: procedure(readFramebuffer: GLuint; drawFramebuffer: GLuint; srcX0: GLint; srcY0: GLint; srcX1: GLint; srcY1: GLint; dstX0: GLint; dstY0: GLint; dstX1: GLint; dstY1: GLint; mask: GLbitfield; filter: GLenum); stdcall;
  1833. glCheckNamedFramebufferStatus: function(framebuffer: GLuint; target: GLenum): GLenum; stdcall;
  1834. glGetNamedFramebufferParameteriv: procedure(framebuffer: GLuint; pname: GLenum; param: PGLint); stdcall;
  1835. glGetNamedFramebufferAttachmentParameteriv: procedure(framebuffer: GLuint; attachment: GLenum; pname: GLenum; params: PGLint); stdcall;
  1836. glCreateRenderbuffers: procedure(n: GLsizei; renderbuffers: PGLuint); stdcall;
  1837. glNamedRenderbufferStorage: procedure(renderbuffer: GLuint; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  1838. glNamedRenderbufferStorageMultisample: procedure(renderbuffer: GLuint; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  1839. glGetNamedRenderbufferParameteriv: procedure(renderbuffer: GLuint; pname: GLenum; params: PGLint); stdcall;
  1840. glCreateTextures: procedure(target: GLenum; n: GLsizei; textures: PGLuint); stdcall;
  1841. glTextureBuffer: procedure(texture: GLuint; internalformat: GLenum; buffer: GLuint); stdcall;
  1842. glTextureBufferRange: procedure(texture: GLuint; internalformat: GLenum; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); stdcall;
  1843. glTextureStorage1D: procedure(texture: GLuint; levels: GLsizei; internalformat: GLenum; width: GLsizei); stdcall;
  1844. glTextureStorage2D: procedure(texture: GLuint; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  1845. glTextureStorage3D: procedure(texture: GLuint; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei); stdcall;
  1846. glTextureStorage2DMultisample: procedure(texture: GLuint; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; fixedsamplelocations: GLboolean); stdcall;
  1847. glTextureStorage3DMultisample: procedure(texture: GLuint; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; fixedsamplelocations: GLboolean); stdcall;
  1848. glTextureSubImage1D: procedure(texture: GLuint; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  1849. glTextureSubImage2D: procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  1850. glTextureSubImage3D: procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  1851. glCompressedTextureSubImage1D: procedure(texture: GLuint; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const data: pointer); stdcall;
  1852. glCompressedTextureSubImage2D: procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const data: pointer); stdcall;
  1853. glCompressedTextureSubImage3D: procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; imageSize: GLsizei; const data: pointer); stdcall;
  1854. glCopyTextureSubImage1D: procedure(texture: GLuint; level: GLint; xoffset: GLint; x: GLint; y: GLint; width: GLsizei); stdcall;
  1855. glCopyTextureSubImage2D: procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  1856. glCopyTextureSubImage3D: procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  1857. glTextureParameterf: procedure(texture: GLuint; pname: GLenum; param: GLfloat); stdcall;
  1858. glTextureParameterfv: procedure(texture: GLuint; pname: GLenum; const param: PGLfloat); stdcall;
  1859. glTextureParameteri: procedure(texture: GLuint; pname: GLenum; param: GLint); stdcall;
  1860. glTextureParameterIiv: procedure(texture: GLuint; pname: GLenum; const params: PGLint); stdcall;
  1861. glTextureParameterIuiv: procedure(texture: GLuint; pname: GLenum; const params: PGLuint); stdcall;
  1862. glTextureParameteriv: procedure(texture: GLuint; pname: GLenum; const param: PGLint); stdcall;
  1863. glGenerateTextureMipmap: procedure(texture: GLuint); stdcall;
  1864. glBindTextureUnit: procedure(_unit: GLuint; texture: GLuint); stdcall;
  1865. glGetTextureImage: procedure(texture: GLuint; level: GLint; format: GLenum; _type: GLenum; bufSize: GLsizei; pixels: pointer); stdcall;
  1866. glGetCompressedTextureImage: procedure(texture: GLuint; level: GLint; bufSize: GLsizei; pixels: pointer); stdcall;
  1867. glGetTextureLevelParameterfv: procedure(texture: GLuint; level: GLint; pname: GLenum; params: PGLfloat); stdcall;
  1868. glGetTextureLevelParameteriv: procedure(texture: GLuint; level: GLint; pname: GLenum; params: PGLint); stdcall;
  1869. glGetTextureParameterfv: procedure(texture: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  1870. glGetTextureParameterIiv: procedure(texture: GLuint; pname: GLenum; params: PGLint); stdcall;
  1871. glGetTextureParameterIuiv: procedure(texture: GLuint; pname: GLenum; params: PGLuint); stdcall;
  1872. glGetTextureParameteriv: procedure(texture: GLuint; pname: GLenum; params: PGLint); stdcall;
  1873. glCreateVertexArrays: procedure(n: GLsizei; arrays: PGLuint); stdcall;
  1874. glDisableVertexArrayAttrib: procedure(vaobj: GLuint; index: GLuint); stdcall;
  1875. glEnableVertexArrayAttrib: procedure(vaobj: GLuint; index: GLuint); stdcall;
  1876. glVertexArrayElementBuffer: procedure(vaobj: GLuint; buffer: GLuint); stdcall;
  1877. glVertexArrayVertexBuffer: procedure(vaobj: GLuint; bindingindex: GLuint; buffer: GLuint; offset: GLintptr; stride: GLsizei); stdcall;
  1878. glVertexArrayVertexBuffers: procedure(vaobj: GLuint; first: GLuint; count: GLsizei; const buffers: PGLuint; const offsets: PGLintptr; const strides: PGLsizei); stdcall;
  1879. glVertexArrayAttribBinding: procedure(vaobj: GLuint; attribindex: GLuint; bindingindex: GLuint); stdcall;
  1880. glVertexArrayAttribFormat: procedure(vaobj: GLuint; attribindex: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; relativeoffset: GLuint); stdcall;
  1881. glVertexArrayAttribIFormat: procedure(vaobj: GLuint; attribindex: GLuint; size: GLint; _type: GLenum; relativeoffset: GLuint); stdcall;
  1882. glVertexArrayAttribLFormat: procedure(vaobj: GLuint; attribindex: GLuint; size: GLint; _type: GLenum; relativeoffset: GLuint); stdcall;
  1883. glVertexArrayBindingDivisor: procedure(vaobj: GLuint; bindingindex: GLuint; divisor: GLuint); stdcall;
  1884. glGetVertexArrayiv: procedure(vaobj: GLuint; pname: GLenum; param: PGLint); stdcall;
  1885. glGetVertexArrayIndexediv: procedure(vaobj: GLuint; index: GLuint; pname: GLenum; param: PGLint); stdcall;
  1886. glGetVertexArrayIndexed64iv: procedure(vaobj: GLuint; index: GLuint; pname: GLenum; param: PGLint64); stdcall;
  1887. glCreateSamplers: procedure(n: GLsizei; samplers: PGLuint); stdcall;
  1888. glCreateProgramPipelines: procedure(n: GLsizei; pipelines: PGLuint); stdcall;
  1889. glCreateQueries: procedure(target: GLenum; n: GLsizei; ids: PGLuint); stdcall;
  1890. glGetQueryBufferObjecti64v: procedure(id: GLuint; buffer: GLuint; pname: GLenum; offset: GLintptr); stdcall;
  1891. glGetQueryBufferObjectiv: procedure(id: GLuint; buffer: GLuint; pname: GLenum; offset: GLintptr); stdcall;
  1892. glGetQueryBufferObjectui64v: procedure(id: GLuint; buffer: GLuint; pname: GLenum; offset: GLintptr); stdcall;
  1893. glGetQueryBufferObjectuiv: procedure(id: GLuint; buffer: GLuint; pname: GLenum; offset: GLintptr); stdcall;
  1894. glMemoryBarrierByRegion: procedure(barriers: GLbitfield); stdcall;
  1895. glGetTextureSubImage: procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; _type: GLenum; bufSize: GLsizei; pixels: pointer); stdcall;
  1896. glGetCompressedTextureSubImage: procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; bufSize: GLsizei; pixels: pointer); stdcall;
  1897. glGetGraphicsResetStatus: function: GLenum; stdcall;
  1898. glGetnCompressedTexImage: procedure(target: GLenum; lod: GLint; bufSize: GLsizei; pixels: pointer); stdcall;
  1899. glGetnTexImage: procedure(target: GLenum; level: GLint; format: GLenum; _type: GLenum; bufSize: GLsizei; pixels: pointer); stdcall;
  1900. glGetnUniformdv: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLdouble); stdcall;
  1901. glGetnUniformfv: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLfloat); stdcall;
  1902. glGetnUniformiv: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLint); stdcall;
  1903. glGetnUniformuiv: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLuint); stdcall;
  1904. glReadnPixels: procedure(x: GLint; y: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; bufSize: GLsizei; data: pointer); stdcall;
  1905. glTextureBarrier: procedure; stdcall;
  1906. {$IfNDef USE_GLCORE}
  1907. glGetnMapdv: procedure(target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLdouble); stdcall;
  1908. glGetnMapfv: procedure(target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLfloat); stdcall;
  1909. glGetnMapiv: procedure(target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLint); stdcall;
  1910. glGetnPixelMapfv: procedure(map: GLenum; bufSize: GLsizei; values: PGLfloat); stdcall;
  1911. glGetnPixelMapuiv: procedure(map: GLenum; bufSize: GLsizei; values: PGLuint); stdcall;
  1912. glGetnPixelMapusv: procedure(map: GLenum; bufSize: GLsizei; values: PGLushort); stdcall;
  1913. glGetnPolygonStipple: procedure(bufSize: GLsizei; pattern: PGLubyte); stdcall;
  1914. glGetnColorTable: procedure(target: GLenum; format: GLenum; _type: GLenum; bufSize: GLsizei; table: pointer); stdcall;
  1915. glGetnConvolutionFilter: procedure(target: GLenum; format: GLenum; _type: GLenum; bufSize: GLsizei; image: pointer); stdcall;
  1916. glGetnSeparableFilter: procedure(target: GLenum; format: GLenum; _type: GLenum; rowBufSize: GLsizei; row: pointer; columnBufSize: GLsizei; column: pointer; span: pointer); stdcall;
  1917. glGetnHistogram: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; bufSize: GLsizei; values: pointer); stdcall;
  1918. glGetnMinmax: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; bufSize: GLsizei; values: pointer); stdcall;
  1919. {$EndIf}
  1920. {$EndIf}
  1921. {$IfDef GL_VERSION_4_6}
  1922. var
  1923. glSpecializeShader: procedure(shader: GLuint; const pEntryPoint: PGLchar; numSpecializationConstants: GLuint; const pConstantIndex: PGLuint; const pConstantValue: PGLuint); stdcall;
  1924. glMultiDrawArraysIndirectCount: procedure(mode: GLenum; const indirect: pointer; drawcount: GLintptr; maxdrawcount: GLsizei; stride: GLsizei); stdcall;
  1925. glMultiDrawElementsIndirectCount: procedure(mode: GLenum; _type: GLenum; const indirect: pointer; drawcount: GLintptr; maxdrawcount: GLsizei; stride: GLsizei); stdcall;
  1926. glPolygonOffsetClamp: procedure(factor: GLfloat; units: GLfloat; clamp: GLfloat); stdcall;
  1927. {$EndIf}
  1928. {$IfDef GL_ARB_ES3_2_compatibility}
  1929. glPrimitiveBoundingBoxARB: procedure(minX: GLfloat; minY: GLfloat; minZ: GLfloat; minW: GLfloat; maxX: GLfloat; maxY: GLfloat; maxZ: GLfloat; maxW: GLfloat); stdcall;
  1930. {$EndIf}
  1931. {$IfDef GL_ARB_bindless_texture}
  1932. glGetTextureHandleARB: function(texture: GLuint): GLuint64; stdcall;
  1933. glGetTextureSamplerHandleARB: function(texture: GLuint; sampler: GLuint): GLuint64; stdcall;
  1934. glMakeTextureHandleResidentARB: procedure(handle: GLuint64); stdcall;
  1935. glMakeTextureHandleNonResidentARB: procedure(handle: GLuint64); stdcall;
  1936. glGetImageHandleARB: function(texture: GLuint; level: GLint; layered: GLboolean; layer: GLint; format: GLenum): GLuint64; stdcall;
  1937. glMakeImageHandleResidentARB: procedure(handle: GLuint64; access: GLenum); stdcall;
  1938. glMakeImageHandleNonResidentARB: procedure(handle: GLuint64); stdcall;
  1939. glUniformHandleui64ARB: procedure(location: GLint; value: GLuint64); stdcall;
  1940. glUniformHandleui64vARB: procedure(location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  1941. glProgramUniformHandleui64ARB: procedure(_program: GLuint; location: GLint; value: GLuint64); stdcall;
  1942. glProgramUniformHandleui64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const values: PGLuint64); stdcall;
  1943. glIsTextureHandleResidentARB: function(handle: GLuint64): GLboolean; stdcall;
  1944. glIsImageHandleResidentARB: function(handle: GLuint64): GLboolean; stdcall;
  1945. glVertexAttribL1ui64ARB: procedure(index: GLuint; x: GLuint64EXT); stdcall;
  1946. glVertexAttribL1ui64vARB: procedure(index: GLuint; const v: PGLuint64EXT); stdcall;
  1947. glGetVertexAttribLui64vARB: procedure(index: GLuint; pname: GLenum; params: PGLuint64EXT); stdcall;
  1948. {$EndIf}
  1949. {$IfDef GL_ARB_cl_event}
  1950. glCreateSyncFromCLeventARB: function(context:P_cl_context; event:P_cl_event; flags: GLbitfield): GLsync; stdcall;
  1951. {$EndIf}
  1952. {$IfDef GL_ARB_color_buffer_float}
  1953. glClampColorARB: procedure(target: GLenum; clamp: GLenum); stdcall;
  1954. {$EndIf}
  1955. {$IfDef GL_ARB_compute_variable_group_size}
  1956. glDispatchComputeGroupSizeARB: procedure(num_groups_x: GLuint; num_groups_y: GLuint; num_groups_z: GLuint; group_size_x: GLuint; group_size_y: GLuint; group_size_z: GLuint); stdcall;
  1957. {$EndIf}
  1958. {$IfDef GL_ARB_debug_output}
  1959. glDebugMessageControlARB: procedure(source: GLenum; _type: GLenum; severity: GLenum; count: GLsizei; const ids: PGLuint; enabled: GLboolean); stdcall;
  1960. glDebugMessageInsertARB: procedure(source: GLenum; _type: GLenum; id: GLuint; severity: GLenum; length: GLsizei; const buf: PGLchar); stdcall;
  1961. glDebugMessageCallbackARB: procedure(callback: GLDEBUGPROCARB; const userParam: pointer); stdcall;
  1962. glGetDebugMessageLogARB: function(count: GLuint; bufSize: GLsizei; sources: PGLenum; types: PGLenum; ids: PGLuint; severities: PGLenum; lengths: PGLsizei; messageLog: PGLchar): GLuint; stdcall;
  1963. {$EndIf}
  1964. {$IfDef GL_ARB_draw_buffers}
  1965. glDrawBuffersARB: procedure(n: GLsizei; const bufs: PGLenum); stdcall;
  1966. {$EndIf}
  1967. {$IfDef GL_ARB_draw_buffers_blend}
  1968. glBlendEquationiARB: procedure(buf: GLuint; mode: GLenum); stdcall;
  1969. glBlendEquationSeparateiARB: procedure(buf: GLuint; modeRGB: GLenum; modeAlpha: GLenum); stdcall;
  1970. glBlendFunciARB: procedure(buf: GLuint; src: GLenum; dst: GLenum); stdcall;
  1971. glBlendFuncSeparateiARB: procedure(buf: GLuint; srcRGB: GLenum; dstRGB: GLenum; srcAlpha: GLenum; dstAlpha: GLenum); stdcall;
  1972. {$EndIf}
  1973. {$IfDef GL_ARB_draw_instanced}
  1974. glDrawArraysInstancedARB: procedure(mode: GLenum; first: GLint; count: GLsizei; primcount: GLsizei); stdcall;
  1975. glDrawElementsInstancedARB: procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: pointer; primcount: GLsizei); stdcall;
  1976. {$EndIf}
  1977. {$IfDef GL_ARB_fragment_program}
  1978. glProgramStringARB: procedure(target: GLenum; format: GLenum; len: GLsizei; const _string: pointer); stdcall;
  1979. glBindProgramARB: procedure(target: GLenum; _program: GLuint); stdcall;
  1980. glDeleteProgramsARB: procedure(n: GLsizei; const programs: PGLuint); stdcall;
  1981. glGenProgramsARB: procedure(n: GLsizei; programs: PGLuint); stdcall;
  1982. glProgramEnvParameter4dARB: procedure(target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  1983. glProgramEnvParameter4dvARB: procedure(target: GLenum; index: GLuint; const params: PGLdouble); stdcall;
  1984. glProgramEnvParameter4fARB: procedure(target: GLenum; index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  1985. glProgramEnvParameter4fvARB: procedure(target: GLenum; index: GLuint; const params: PGLfloat); stdcall;
  1986. glProgramLocalParameter4dARB: procedure(target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  1987. glProgramLocalParameter4dvARB: procedure(target: GLenum; index: GLuint; const params: PGLdouble); stdcall;
  1988. glProgramLocalParameter4fARB: procedure(target: GLenum; index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  1989. glProgramLocalParameter4fvARB: procedure(target: GLenum; index: GLuint; const params: PGLfloat); stdcall;
  1990. glGetProgramEnvParameterdvARB: procedure(target: GLenum; index: GLuint; params: PGLdouble); stdcall;
  1991. glGetProgramEnvParameterfvARB: procedure(target: GLenum; index: GLuint; params: PGLfloat); stdcall;
  1992. glGetProgramLocalParameterdvARB: procedure(target: GLenum; index: GLuint; params: PGLdouble); stdcall;
  1993. glGetProgramLocalParameterfvARB: procedure(target: GLenum; index: GLuint; params: PGLfloat); stdcall;
  1994. glGetProgramivARB: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  1995. glGetProgramStringARB: procedure(target: GLenum; pname: GLenum; _string: pointer); stdcall;
  1996. glIsProgramARB: function(_program: GLuint): GLboolean; stdcall;
  1997. {$EndIf}
  1998. {$IfDef GL_ARB_geometry_shader4}
  1999. glProgramParameteriARB: procedure(_program: GLuint; pname: GLenum; value: GLint); stdcall;
  2000. glFramebufferTextureARB: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint); stdcall;
  2001. glFramebufferTextureLayerARB: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; layer: GLint); stdcall;
  2002. glFramebufferTextureFaceARB: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; face: GLenum); stdcall;
  2003. {$EndIf}
  2004. {$IfDef GL_ARB_gl_spirv}
  2005. glSpecializeShaderARB: procedure(shader: GLuint; const pEntryPoint: PGLchar; numSpecializationConstants: GLuint; const pConstantIndex: PGLuint; const pConstantValue: PGLuint); stdcall;
  2006. {$EndIf}
  2007. {$IfDef GL_ARB_gpu_shader_int64}
  2008. glUniform1i64ARB: procedure(location: GLint; x: GLint64); stdcall;
  2009. glUniform2i64ARB: procedure(location: GLint; x: GLint64; y: GLint64); stdcall;
  2010. glUniform3i64ARB: procedure(location: GLint; x: GLint64; y: GLint64; z: GLint64); stdcall;
  2011. glUniform4i64ARB: procedure(location: GLint; x: GLint64; y: GLint64; z: GLint64; w: GLint64); stdcall;
  2012. glUniform1i64vARB: procedure(location: GLint; count: GLsizei; const value: PGLint64); stdcall;
  2013. glUniform2i64vARB: procedure(location: GLint; count: GLsizei; const value: PGLint64); stdcall;
  2014. glUniform3i64vARB: procedure(location: GLint; count: GLsizei; const value: PGLint64); stdcall;
  2015. glUniform4i64vARB: procedure(location: GLint; count: GLsizei; const value: PGLint64); stdcall;
  2016. glUniform1ui64ARB: procedure(location: GLint; x: GLuint64); stdcall;
  2017. glUniform2ui64ARB: procedure(location: GLint; x: GLuint64; y: GLuint64); stdcall;
  2018. glUniform3ui64ARB: procedure(location: GLint; x: GLuint64; y: GLuint64; z: GLuint64); stdcall;
  2019. glUniform4ui64ARB: procedure(location: GLint; x: GLuint64; y: GLuint64; z: GLuint64; w: GLuint64); stdcall;
  2020. glUniform1ui64vARB: procedure(location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  2021. glUniform2ui64vARB: procedure(location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  2022. glUniform3ui64vARB: procedure(location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  2023. glUniform4ui64vARB: procedure(location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  2024. glGetUniformi64vARB: procedure(_program: GLuint; location: GLint; params: PGLint64); stdcall;
  2025. glGetUniformui64vARB: procedure(_program: GLuint; location: GLint; params: PGLuint64); stdcall;
  2026. glGetnUniformi64vARB: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLint64); stdcall;
  2027. glGetnUniformui64vARB: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLuint64); stdcall;
  2028. glProgramUniform1i64ARB: procedure(_program: GLuint; location: GLint; x: GLint64); stdcall;
  2029. glProgramUniform2i64ARB: procedure(_program: GLuint; location: GLint; x: GLint64; y: GLint64); stdcall;
  2030. glProgramUniform3i64ARB: procedure(_program: GLuint; location: GLint; x: GLint64; y: GLint64; z: GLint64); stdcall;
  2031. glProgramUniform4i64ARB: procedure(_program: GLuint; location: GLint; x: GLint64; y: GLint64; z: GLint64; w: GLint64); stdcall;
  2032. glProgramUniform1i64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint64); stdcall;
  2033. glProgramUniform2i64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint64); stdcall;
  2034. glProgramUniform3i64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint64); stdcall;
  2035. glProgramUniform4i64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint64); stdcall;
  2036. glProgramUniform1ui64ARB: procedure(_program: GLuint; location: GLint; x: GLuint64); stdcall;
  2037. glProgramUniform2ui64ARB: procedure(_program: GLuint; location: GLint; x: GLuint64; y: GLuint64); stdcall;
  2038. glProgramUniform3ui64ARB: procedure(_program: GLuint; location: GLint; x: GLuint64; y: GLuint64; z: GLuint64); stdcall;
  2039. glProgramUniform4ui64ARB: procedure(_program: GLuint; location: GLint; x: GLuint64; y: GLuint64; z: GLuint64; w: GLuint64); stdcall;
  2040. glProgramUniform1ui64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  2041. glProgramUniform2ui64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  2042. glProgramUniform3ui64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  2043. glProgramUniform4ui64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  2044. {$EndIf}
  2045. {$IfDef GL_ARB_imaging}
  2046. glColorTable: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; const table: pointer); stdcall;
  2047. glColorTableParameterfv: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  2048. glColorTableParameteriv: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2049. glCopyColorTable: procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); stdcall;
  2050. glGetColorTable: procedure(target: GLenum; format: GLenum; _type: GLenum; table: pointer); stdcall;
  2051. glGetColorTableParameterfv: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2052. glGetColorTableParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2053. glColorSubTable: procedure(target: GLenum; start: GLsizei; count: GLsizei; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  2054. glCopyColorSubTable: procedure(target: GLenum; start: GLsizei; x: GLint; y: GLint; width: GLsizei); stdcall;
  2055. glConvolutionFilter1D: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; const image: pointer); stdcall;
  2056. glConvolutionFilter2D: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const image: pointer); stdcall;
  2057. glConvolutionParameterf: procedure(target: GLenum; pname: GLenum; params: GLfloat); stdcall;
  2058. glConvolutionParameterfv: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  2059. glConvolutionParameteri: procedure(target: GLenum; pname: GLenum; params: GLint); stdcall;
  2060. glConvolutionParameteriv: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2061. glCopyConvolutionFilter1D: procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); stdcall;
  2062. glCopyConvolutionFilter2D: procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  2063. glGetConvolutionFilter: procedure(target: GLenum; format: GLenum; _type: GLenum; image: pointer); stdcall;
  2064. glGetConvolutionParameterfv: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2065. glGetConvolutionParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2066. glGetSeparableFilter: procedure(target: GLenum; format: GLenum; _type: GLenum; row: pointer; column: pointer; span: pointer); stdcall;
  2067. glSeparableFilter2D: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const row: pointer; const column: pointer); stdcall;
  2068. glGetHistogram: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; values: pointer); stdcall;
  2069. glGetHistogramParameterfv: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2070. glGetHistogramParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2071. glGetMinmax: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; values: pointer); stdcall;
  2072. glGetMinmaxParameterfv: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2073. glGetMinmaxParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2074. glHistogram: procedure(target: GLenum; width: GLsizei; internalformat: GLenum; sink: GLboolean); stdcall;
  2075. glMinmax: procedure(target: GLenum; internalformat: GLenum; sink: GLboolean); stdcall;
  2076. glResetHistogram: procedure(target: GLenum); stdcall;
  2077. glResetMinmax: procedure(target: GLenum); stdcall;
  2078. {$EndIf}
  2079. {$IfDef GL_ARB_indirect_parameters}
  2080. glMultiDrawArraysIndirectCountARB: procedure(mode: GLenum; const indirect: pointer; drawcount: GLintptr; maxdrawcount: GLsizei; stride: GLsizei); stdcall;
  2081. glMultiDrawElementsIndirectCountARB: procedure(mode: GLenum; _type: GLenum; const indirect: pointer; drawcount: GLintptr; maxdrawcount: GLsizei; stride: GLsizei); stdcall;
  2082. {$EndIf}
  2083. {$IfDef GL_ARB_instanced_arrays}
  2084. glVertexAttribDivisorARB: procedure(index: GLuint; divisor: GLuint); stdcall;
  2085. {$EndIf}
  2086. {$IfDef GL_ARB_matrix_palette}
  2087. glCurrentPaletteMatrixARB: procedure(index: GLint); stdcall;
  2088. glMatrixIndexubvARB: procedure(size: GLint; const indices: PGLubyte); stdcall;
  2089. glMatrixIndexusvARB: procedure(size: GLint; const indices: PGLushort); stdcall;
  2090. glMatrixIndexuivARB: procedure(size: GLint; const indices: PGLuint); stdcall;
  2091. glMatrixIndexPointerARB: procedure(size: GLint; _type: GLenum; stride: GLsizei; const pointer: pointer); stdcall;
  2092. {$EndIf}
  2093. {$IfDef GL_ARB_multisample}
  2094. glSampleCoverageARB: procedure(value: GLfloat; invert: GLboolean); stdcall;
  2095. {$EndIf}
  2096. {$IfDef GL_ARB_multitexture}
  2097. glActiveTextureARB: procedure(texture: GLenum); stdcall;
  2098. glClientActiveTextureARB: procedure(texture: GLenum); stdcall;
  2099. glMultiTexCoord1dARB: procedure(target: GLenum; s: GLdouble); stdcall;
  2100. glMultiTexCoord1dvARB: procedure(target: GLenum; const v: PGLdouble); stdcall;
  2101. glMultiTexCoord1fARB: procedure(target: GLenum; s: GLfloat); stdcall;
  2102. glMultiTexCoord1fvARB: procedure(target: GLenum; const v: PGLfloat); stdcall;
  2103. glMultiTexCoord1iARB: procedure(target: GLenum; s: GLint); stdcall;
  2104. glMultiTexCoord1ivARB: procedure(target: GLenum; const v: PGLint); stdcall;
  2105. glMultiTexCoord1sARB: procedure(target: GLenum; s: GLshort); stdcall;
  2106. glMultiTexCoord1svARB: procedure(target: GLenum; const v: PGLshort); stdcall;
  2107. glMultiTexCoord2dARB: procedure(target: GLenum; s: GLdouble; t: GLdouble); stdcall;
  2108. glMultiTexCoord2dvARB: procedure(target: GLenum; const v: PGLdouble); stdcall;
  2109. glMultiTexCoord2fARB: procedure(target: GLenum; s: GLfloat; t: GLfloat); stdcall;
  2110. glMultiTexCoord2fvARB: procedure(target: GLenum; const v: PGLfloat); stdcall;
  2111. glMultiTexCoord2iARB: procedure(target: GLenum; s: GLint; t: GLint); stdcall;
  2112. glMultiTexCoord2ivARB: procedure(target: GLenum; const v: PGLint); stdcall;
  2113. glMultiTexCoord2sARB: procedure(target: GLenum; s: GLshort; t: GLshort); stdcall;
  2114. glMultiTexCoord2svARB: procedure(target: GLenum; const v: PGLshort); stdcall;
  2115. glMultiTexCoord3dARB: procedure(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble); stdcall;
  2116. glMultiTexCoord3dvARB: procedure(target: GLenum; const v: PGLdouble); stdcall;
  2117. glMultiTexCoord3fARB: procedure(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat); stdcall;
  2118. glMultiTexCoord3fvARB: procedure(target: GLenum; const v: PGLfloat); stdcall;
  2119. glMultiTexCoord3iARB: procedure(target: GLenum; s: GLint; t: GLint; r: GLint); stdcall;
  2120. glMultiTexCoord3ivARB: procedure(target: GLenum; const v: PGLint); stdcall;
  2121. glMultiTexCoord3sARB: procedure(target: GLenum; s: GLshort; t: GLshort; r: GLshort); stdcall;
  2122. glMultiTexCoord3svARB: procedure(target: GLenum; const v: PGLshort); stdcall;
  2123. glMultiTexCoord4dARB: procedure(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble; q: GLdouble); stdcall;
  2124. glMultiTexCoord4dvARB: procedure(target: GLenum; const v: PGLdouble); stdcall;
  2125. glMultiTexCoord4fARB: procedure(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat; q: GLfloat); stdcall;
  2126. glMultiTexCoord4fvARB: procedure(target: GLenum; const v: PGLfloat); stdcall;
  2127. glMultiTexCoord4iARB: procedure(target: GLenum; s: GLint; t: GLint; r: GLint; q: GLint); stdcall;
  2128. glMultiTexCoord4ivARB: procedure(target: GLenum; const v: PGLint); stdcall;
  2129. glMultiTexCoord4sARB: procedure(target: GLenum; s: GLshort; t: GLshort; r: GLshort; q: GLshort); stdcall;
  2130. glMultiTexCoord4svARB: procedure(target: GLenum; const v: PGLshort); stdcall;
  2131. {$EndIf}
  2132. {$IfDef GL_ARB_occlusion_query}
  2133. glGenQueriesARB: procedure(n: GLsizei; ids: PGLuint); stdcall;
  2134. glDeleteQueriesARB: procedure(n: GLsizei; const ids: PGLuint); stdcall;
  2135. glIsQueryARB: function(id: GLuint): GLboolean; stdcall;
  2136. glBeginQueryARB: procedure(target: GLenum; id: GLuint); stdcall;
  2137. glEndQueryARB: procedure(target: GLenum); stdcall;
  2138. glGetQueryivARB: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2139. glGetQueryObjectivARB: procedure(id: GLuint; pname: GLenum; params: PGLint); stdcall;
  2140. glGetQueryObjectuivARB: procedure(id: GLuint; pname: GLenum; params: PGLuint); stdcall;
  2141. {$EndIf}
  2142. {$IfDef GL_ARB_parallel_shader_compile}
  2143. glMaxShaderCompilerThreadsARB: procedure(count: GLuint); stdcall;
  2144. {$EndIf}
  2145. {$IfDef GL_ARB_point_parameters}
  2146. glPointParameterfARB: procedure(pname: GLenum; param: GLfloat); stdcall;
  2147. glPointParameterfvARB: procedure(pname: GLenum; const params: PGLfloat); stdcall;
  2148. {$EndIf}
  2149. {$IfDef GL_ARB_robustness}
  2150. glGetGraphicsResetStatusARB: function: GLenum; stdcall;
  2151. glGetnTexImageARB: procedure(target: GLenum; level: GLint; format: GLenum; _type: GLenum; bufSize: GLsizei; img: pointer); stdcall;
  2152. glReadnPixelsARB: procedure(x: GLint; y: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; bufSize: GLsizei; data: pointer); stdcall;
  2153. glGetnCompressedTexImageARB: procedure(target: GLenum; lod: GLint; bufSize: GLsizei; img: pointer); stdcall;
  2154. glGetnUniformfvARB: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLfloat); stdcall;
  2155. glGetnUniformivARB: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLint); stdcall;
  2156. glGetnUniformuivARB: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLuint); stdcall;
  2157. glGetnUniformdvARB: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLdouble); stdcall;
  2158. {$IfNDef USE_GLCORE}
  2159. glGetnMapdvARB: procedure(target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLdouble); stdcall;
  2160. glGetnMapfvARB: procedure(target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLfloat); stdcall;
  2161. glGetnMapivARB: procedure(target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLint); stdcall;
  2162. glGetnPixelMapfvARB: procedure(map: GLenum; bufSize: GLsizei; values: PGLfloat); stdcall;
  2163. glGetnPixelMapuivARB: procedure(map: GLenum; bufSize: GLsizei; values: PGLuint); stdcall;
  2164. glGetnPixelMapusvARB: procedure(map: GLenum; bufSize: GLsizei; values: PGLushort); stdcall;
  2165. glGetnPolygonStippleARB: procedure(bufSize: GLsizei; pattern: PGLubyte); stdcall;
  2166. glGetnColorTableARB: procedure(target: GLenum; format: GLenum; _type: GLenum; bufSize: GLsizei; table: pointer); stdcall;
  2167. glGetnConvolutionFilterARB: procedure(target: GLenum; format: GLenum; _type: GLenum; bufSize: GLsizei; image: pointer); stdcall;
  2168. glGetnSeparableFilterARB: procedure(target: GLenum; format: GLenum; _type: GLenum; rowBufSize: GLsizei; row: pointer; columnBufSize: GLsizei; column: pointer; span: pointer); stdcall;
  2169. glGetnHistogramARB: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; bufSize: GLsizei; values: pointer); stdcall;
  2170. glGetnMinmaxARB: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; bufSize: GLsizei; values: pointer); stdcall;
  2171. {$EndIf}
  2172. {$EndIf}
  2173. {$IfDef GL_ARB_sample_locations}
  2174. glFramebufferSampleLocationsfvARB: procedure(target: GLenum; start: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  2175. glNamedFramebufferSampleLocationsfvARB: procedure(framebuffer: GLuint; start: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  2176. glEvaluateDepthValuesARB: procedure; stdcall;
  2177. {$EndIf}
  2178. {$IfDef GL_ARB_sample_shading}
  2179. glMinSampleShadingARB: procedure(value: GLfloat); stdcall;
  2180. {$EndIf}
  2181. {$IfDef GL_ARB_shader_objects}
  2182. glDeleteObjectARB: procedure(obj: GLhandleARB); stdcall;
  2183. glGetHandleARB: function(pname: GLenum): GLhandleARB; stdcall;
  2184. glDetachObjectARB: procedure(containerObj: GLhandleARB; attachedObj: GLhandleARB); stdcall;
  2185. glCreateShaderObjectARB: function(shaderType: GLenum): GLhandleARB; stdcall;
  2186. glShaderSourceARB: procedure(shaderObj: GLhandleARB; count: GLsizei; const _string: PPGLcharARB; const length: PGLint); stdcall;
  2187. glCompileShaderARB: procedure(shaderObj: GLhandleARB); stdcall;
  2188. glCreateProgramObjectARB: function: GLhandleARB; stdcall;
  2189. glAttachObjectARB: procedure(containerObj: GLhandleARB; obj: GLhandleARB); stdcall;
  2190. glLinkProgramARB: procedure(programObj: GLhandleARB); stdcall;
  2191. glUseProgramObjectARB: procedure(programObj: GLhandleARB); stdcall;
  2192. glValidateProgramARB: procedure(programObj: GLhandleARB); stdcall;
  2193. glUniform1fARB: procedure(location: GLint; v0: GLfloat); stdcall;
  2194. glUniform2fARB: procedure(location: GLint; v0: GLfloat; v1: GLfloat); stdcall;
  2195. glUniform3fARB: procedure(location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat); stdcall;
  2196. glUniform4fARB: procedure(location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat; v3: GLfloat); stdcall;
  2197. glUniform1iARB: procedure(location: GLint; v0: GLint); stdcall;
  2198. glUniform2iARB: procedure(location: GLint; v0: GLint; v1: GLint); stdcall;
  2199. glUniform3iARB: procedure(location: GLint; v0: GLint; v1: GLint; v2: GLint); stdcall;
  2200. glUniform4iARB: procedure(location: GLint; v0: GLint; v1: GLint; v2: GLint; v3: GLint); stdcall;
  2201. glUniform1fvARB: procedure(location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  2202. glUniform2fvARB: procedure(location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  2203. glUniform3fvARB: procedure(location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  2204. glUniform4fvARB: procedure(location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  2205. glUniform1ivARB: procedure(location: GLint; count: GLsizei; const value: PGLint); stdcall;
  2206. glUniform2ivARB: procedure(location: GLint; count: GLsizei; const value: PGLint); stdcall;
  2207. glUniform3ivARB: procedure(location: GLint; count: GLsizei; const value: PGLint); stdcall;
  2208. glUniform4ivARB: procedure(location: GLint; count: GLsizei; const value: PGLint); stdcall;
  2209. glUniformMatrix2fvARB: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2210. glUniformMatrix3fvARB: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2211. glUniformMatrix4fvARB: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2212. glGetObjectParameterfvARB: procedure(obj: GLhandleARB; pname: GLenum; params: PGLfloat); stdcall;
  2213. glGetObjectParameterivARB: procedure(obj: GLhandleARB; pname: GLenum; params: PGLint); stdcall;
  2214. glGetInfoLogARB: procedure(obj: GLhandleARB; maxLength: GLsizei; length: PGLsizei; infoLog: PGLcharARB); stdcall;
  2215. glGetAttachedObjectsARB: procedure(containerObj: GLhandleARB; maxCount: GLsizei; count: PGLsizei; obj: PGLhandleARB); stdcall;
  2216. glGetUniformLocationARB: function(programObj: GLhandleARB; const name: PGLcharARB): GLint; stdcall;
  2217. glGetActiveUniformARB: procedure(programObj: GLhandleARB; index: GLuint; maxLength: GLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLcharARB); stdcall;
  2218. glGetUniformfvARB: procedure(programObj: GLhandleARB; location: GLint; params: PGLfloat); stdcall;
  2219. glGetUniformivARB: procedure(programObj: GLhandleARB; location: GLint; params: PGLint); stdcall;
  2220. glGetShaderSourceARB: procedure(obj: GLhandleARB; maxLength: GLsizei; length: PGLsizei; source: PGLcharARB); stdcall;
  2221. {$EndIf}
  2222. {$IfDef GL_ARB_shading_language_include}
  2223. glNamedStringARB: procedure(_type: GLenum; namelen: GLint; const name: PGLchar; stringlen: GLint; const _string: PGLchar); stdcall;
  2224. glDeleteNamedStringARB: procedure(namelen: GLint; const name: PGLchar); stdcall;
  2225. glCompileShaderIncludeARB: procedure(shader: GLuint; count: GLsizei; const path: PPGLchar; const length: PGLint); stdcall;
  2226. glIsNamedStringARB: function(namelen: GLint; const name: PGLchar): GLboolean; stdcall;
  2227. glGetNamedStringARB: procedure(namelen: GLint; const name: PGLchar; bufSize: GLsizei; stringlen: PGLint; _string: PGLchar); stdcall;
  2228. glGetNamedStringivARB: procedure(namelen: GLint; const name: PGLchar; pname: GLenum; params: PGLint); stdcall;
  2229. {$EndIf}
  2230. {$IfDef GL_ARB_sparse_buffer}
  2231. glBufferPageCommitmentARB: procedure(target: GLenum; offset: GLintptr; size: GLsizeiptr; commit: GLboolean); stdcall;
  2232. glNamedBufferPageCommitmentEXT: procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; commit: GLboolean); stdcall;
  2233. glNamedBufferPageCommitmentARB: procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; commit: GLboolean); stdcall;
  2234. {$EndIf}
  2235. {$IfDef GL_ARB_sparse_texture}
  2236. glTexPageCommitmentARB: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; commit: GLboolean); stdcall;
  2237. {$EndIf}
  2238. {$IfDef GL_ARB_texture_buffer_object}
  2239. glTexBufferARB: procedure(target: GLenum; internalformat: GLenum; buffer: GLuint); stdcall;
  2240. {$EndIf}
  2241. {$IfDef GL_ARB_texture_compression}
  2242. glCompressedTexImage3DARB: procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; imageSize: GLsizei; const data: pointer); stdcall;
  2243. glCompressedTexImage2DARB: procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; imageSize: GLsizei; const data: pointer); stdcall;
  2244. glCompressedTexImage1DARB: procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei; const data: pointer); stdcall;
  2245. glCompressedTexSubImage3DARB: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; imageSize: GLsizei; const data: pointer); stdcall;
  2246. glCompressedTexSubImage2DARB: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const data: pointer); stdcall;
  2247. glCompressedTexSubImage1DARB: procedure(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const data: pointer); stdcall;
  2248. glGetCompressedTexImageARB: procedure(target: GLenum; level: GLint; img: pointer); stdcall;
  2249. {$EndIf}
  2250. {$IfDef GL_ARB_transpose_matrix}
  2251. glLoadTransposeMatrixfARB: procedure(const m: PGLfloat); stdcall;
  2252. glLoadTransposeMatrixdARB: procedure(const m: PGLdouble); stdcall;
  2253. glMultTransposeMatrixfARB: procedure(const m: PGLfloat); stdcall;
  2254. glMultTransposeMatrixdARB: procedure(const m: PGLdouble); stdcall;
  2255. {$EndIf}
  2256. {$IfDef GL_ARB_vertex_blend}
  2257. glWeightbvARB: procedure(size: GLint; const weights: PGLbyte); stdcall;
  2258. glWeightsvARB: procedure(size: GLint; const weights: PGLshort); stdcall;
  2259. glWeightivARB: procedure(size: GLint; const weights: PGLint); stdcall;
  2260. glWeightfvARB: procedure(size: GLint; const weights: PGLfloat); stdcall;
  2261. glWeightdvARB: procedure(size: GLint; const weights: PGLdouble); stdcall;
  2262. glWeightubvARB: procedure(size: GLint; const weights: PGLubyte); stdcall;
  2263. glWeightusvARB: procedure(size: GLint; const weights: PGLushort); stdcall;
  2264. glWeightuivARB: procedure(size: GLint; const weights: PGLuint); stdcall;
  2265. glWeightPointerARB: procedure(size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  2266. glVertexBlendARB: procedure(count: GLint); stdcall;
  2267. {$EndIf}
  2268. {$IfDef GL_ARB_vertex_buffer_object}
  2269. glBindBufferARB: procedure(target: GLenum; buffer: GLuint); stdcall;
  2270. glDeleteBuffersARB: procedure(n: GLsizei; const buffers: PGLuint); stdcall;
  2271. glGenBuffersARB: procedure(n: GLsizei; buffers: PGLuint); stdcall;
  2272. glIsBufferARB: function(buffer: GLuint): GLboolean; stdcall;
  2273. glBufferDataARB: procedure(target: GLenum; size: GLsizeiptrARB; const data: pointer; usage: GLenum); stdcall;
  2274. glBufferSubDataARB: procedure(target: GLenum; offset: GLintptrARB; size: GLsizeiptrARB; const data: pointer); stdcall;
  2275. glGetBufferSubDataARB: procedure(target: GLenum; offset: GLintptrARB; size: GLsizeiptrARB; data: pointer); stdcall;
  2276. glMapBufferARB: function(target: GLenum; access: GLenum): pointer; stdcall;
  2277. glUnmapBufferARB: function(target: GLenum): GLboolean; stdcall;
  2278. glGetBufferParameterivARB: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2279. glGetBufferPointervARB: procedure(target: GLenum; pname: GLenum; params:Ppointer); stdcall;
  2280. {$EndIf}
  2281. {$IfDef GL_ARB_vertex_program}
  2282. glVertexAttrib1dARB: procedure(index: GLuint; x: GLdouble); stdcall;
  2283. glVertexAttrib1dvARB: procedure(index: GLuint; const v: PGLdouble); stdcall;
  2284. glVertexAttrib1fARB: procedure(index: GLuint; x: GLfloat); stdcall;
  2285. glVertexAttrib1fvARB: procedure(index: GLuint; const v: PGLfloat); stdcall;
  2286. glVertexAttrib1sARB: procedure(index: GLuint; x: GLshort); stdcall;
  2287. glVertexAttrib1svARB: procedure(index: GLuint; const v: PGLshort); stdcall;
  2288. glVertexAttrib2dARB: procedure(index: GLuint; x: GLdouble; y: GLdouble); stdcall;
  2289. glVertexAttrib2dvARB: procedure(index: GLuint; const v: PGLdouble); stdcall;
  2290. glVertexAttrib2fARB: procedure(index: GLuint; x: GLfloat; y: GLfloat); stdcall;
  2291. glVertexAttrib2fvARB: procedure(index: GLuint; const v: PGLfloat); stdcall;
  2292. glVertexAttrib2sARB: procedure(index: GLuint; x: GLshort; y: GLshort); stdcall;
  2293. glVertexAttrib2svARB: procedure(index: GLuint; const v: PGLshort); stdcall;
  2294. glVertexAttrib3dARB: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  2295. glVertexAttrib3dvARB: procedure(index: GLuint; const v: PGLdouble); stdcall;
  2296. glVertexAttrib3fARB: procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  2297. glVertexAttrib3fvARB: procedure(index: GLuint; const v: PGLfloat); stdcall;
  2298. glVertexAttrib3sARB: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort); stdcall;
  2299. glVertexAttrib3svARB: procedure(index: GLuint; const v: PGLshort); stdcall;
  2300. glVertexAttrib4NbvARB: procedure(index: GLuint; const v: PGLbyte); stdcall;
  2301. glVertexAttrib4NivARB: procedure(index: GLuint; const v: PGLint); stdcall;
  2302. glVertexAttrib4NsvARB: procedure(index: GLuint; const v: PGLshort); stdcall;
  2303. glVertexAttrib4NubARB: procedure(index: GLuint; x: GLubyte; y: GLubyte; z: GLubyte; w: GLubyte); stdcall;
  2304. glVertexAttrib4NubvARB: procedure(index: GLuint; const v: PGLubyte); stdcall;
  2305. glVertexAttrib4NuivARB: procedure(index: GLuint; const v: PGLuint); stdcall;
  2306. glVertexAttrib4NusvARB: procedure(index: GLuint; const v: PGLushort); stdcall;
  2307. glVertexAttrib4bvARB: procedure(index: GLuint; const v: PGLbyte); stdcall;
  2308. glVertexAttrib4dARB: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  2309. glVertexAttrib4dvARB: procedure(index: GLuint; const v: PGLdouble); stdcall;
  2310. glVertexAttrib4fARB: procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  2311. glVertexAttrib4fvARB: procedure(index: GLuint; const v: PGLfloat); stdcall;
  2312. glVertexAttrib4ivARB: procedure(index: GLuint; const v: PGLint); stdcall;
  2313. glVertexAttrib4sARB: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort; w: GLshort); stdcall;
  2314. glVertexAttrib4svARB: procedure(index: GLuint; const v: PGLshort); stdcall;
  2315. glVertexAttrib4ubvARB: procedure(index: GLuint; const v: PGLubyte); stdcall;
  2316. glVertexAttrib4uivARB: procedure(index: GLuint; const v: PGLuint); stdcall;
  2317. glVertexAttrib4usvARB: procedure(index: GLuint; const v: PGLushort); stdcall;
  2318. glVertexAttribPointerARB: procedure(index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei; const _pointer: pointer); stdcall;
  2319. glEnableVertexAttribArrayARB: procedure(index: GLuint); stdcall;
  2320. glDisableVertexAttribArrayARB: procedure(index: GLuint); stdcall;
  2321. glGetVertexAttribdvARB: procedure(index: GLuint; pname: GLenum; params: PGLdouble); stdcall;
  2322. glGetVertexAttribfvARB: procedure(index: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  2323. glGetVertexAttribivARB: procedure(index: GLuint; pname: GLenum; params: PGLint); stdcall;
  2324. glGetVertexAttribPointervARB: procedure(index: GLuint; pname: GLenum; pointer:Ppointer); stdcall;
  2325. {$EndIf}
  2326. {$IfDef GL_ARB_vertex_shader}
  2327. glBindAttribLocationARB: procedure(programObj: GLhandleARB; index: GLuint; const name: PGLcharARB); stdcall;
  2328. glGetActiveAttribARB: procedure(programObj: GLhandleARB; index: GLuint; maxLength: GLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLcharARB); stdcall;
  2329. glGetAttribLocationARB: function(programObj: GLhandleARB; const name: PGLcharARB): GLint; stdcall;
  2330. {$EndIf}
  2331. {$IfDef GL_ARB_viewport_array}
  2332. glDepthRangeArraydvNV: procedure(first: GLuint; count: GLsizei; const v: PGLdouble); stdcall;
  2333. glDepthRangeIndexeddNV: procedure(index: GLuint; n: GLdouble; f: GLdouble); stdcall;
  2334. {$EndIf}
  2335. {$IfDef GL_ARB_window_pos}
  2336. glWindowPos2dARB: procedure(x: GLdouble; y: GLdouble); stdcall;
  2337. glWindowPos2dvARB: procedure(const v: PGLdouble); stdcall;
  2338. glWindowPos2fARB: procedure(x: GLfloat; y: GLfloat); stdcall;
  2339. glWindowPos2fvARB: procedure(const v: PGLfloat); stdcall;
  2340. glWindowPos2iARB: procedure(x: GLint; y: GLint); stdcall;
  2341. glWindowPos2ivARB: procedure(const v: PGLint); stdcall;
  2342. glWindowPos2sARB: procedure(x: GLshort; y: GLshort); stdcall;
  2343. glWindowPos2svARB: procedure(const v: PGLshort); stdcall;
  2344. glWindowPos3dARB: procedure(x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  2345. glWindowPos3dvARB: procedure(const v: PGLdouble); stdcall;
  2346. glWindowPos3fARB: procedure(x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  2347. glWindowPos3fvARB: procedure(const v: PGLfloat); stdcall;
  2348. glWindowPos3iARB: procedure(x: GLint; y: GLint; z: GLint); stdcall;
  2349. glWindowPos3ivARB: procedure(const v: PGLint); stdcall;
  2350. glWindowPos3sARB: procedure(x: GLshort; y: GLshort; z: GLshort); stdcall;
  2351. glWindowPos3svARB: procedure(const v: PGLshort); stdcall;
  2352. {$EndIf}
  2353. {$IfDef GL_KHR_blend_equation_advanced}
  2354. glBlendBarrierKHR: procedure; stdcall;
  2355. {$EndIf}
  2356. {$IfDef GL_KHR_parallel_shader_compile}
  2357. glMaxShaderCompilerThreadsKHR: procedure(count: GLuint); stdcall;
  2358. {$EndIf}
  2359. {$IfDef GL_OES_byte_coordinates}
  2360. glMultiTexCoord1bOES: procedure(texture: GLenum; s: GLbyte); stdcall;
  2361. glMultiTexCoord1bvOES: procedure(texture: GLenum; const coords: PGLbyte); stdcall;
  2362. glMultiTexCoord2bOES: procedure(texture: GLenum; s: GLbyte; t: GLbyte); stdcall;
  2363. glMultiTexCoord2bvOES: procedure(texture: GLenum; const coords: PGLbyte); stdcall;
  2364. glMultiTexCoord3bOES: procedure(texture: GLenum; s: GLbyte; t: GLbyte; r: GLbyte); stdcall;
  2365. glMultiTexCoord3bvOES: procedure(texture: GLenum; const coords: PGLbyte); stdcall;
  2366. glMultiTexCoord4bOES: procedure(texture: GLenum; s: GLbyte; t: GLbyte; r: GLbyte; q: GLbyte); stdcall;
  2367. glMultiTexCoord4bvOES: procedure(texture: GLenum; const coords: PGLbyte); stdcall;
  2368. glTexCoord1bOES: procedure(s: GLbyte); stdcall;
  2369. glTexCoord1bvOES: procedure(const coords: PGLbyte); stdcall;
  2370. glTexCoord2bOES: procedure(s: GLbyte; t: GLbyte); stdcall;
  2371. glTexCoord2bvOES: procedure(const coords: PGLbyte); stdcall;
  2372. glTexCoord3bOES: procedure(s: GLbyte; t: GLbyte; r: GLbyte); stdcall;
  2373. glTexCoord3bvOES: procedure(const coords: PGLbyte); stdcall;
  2374. glTexCoord4bOES: procedure(s: GLbyte; t: GLbyte; r: GLbyte; q: GLbyte); stdcall;
  2375. glTexCoord4bvOES: procedure(const coords: PGLbyte); stdcall;
  2376. glVertex2bOES: procedure(x: GLbyte; y: GLbyte); stdcall;
  2377. glVertex2bvOES: procedure(const coords: PGLbyte); stdcall;
  2378. glVertex3bOES: procedure(x: GLbyte; y: GLbyte; z: GLbyte); stdcall;
  2379. glVertex3bvOES: procedure(const coords: PGLbyte); stdcall;
  2380. glVertex4bOES: procedure(x: GLbyte; y: GLbyte; z: GLbyte; w: GLbyte); stdcall;
  2381. glVertex4bvOES: procedure(const coords: PGLbyte); stdcall;
  2382. {$EndIf}
  2383. {$IfDef GL_OES_fixed_point}
  2384. glAlphaFuncxOES: procedure(func: GLenum; ref: GLfixed); stdcall;
  2385. glClearColorxOES: procedure(red: GLfixed; green: GLfixed; blue: GLfixed; alpha: GLfixed); stdcall;
  2386. glClearDepthxOES: procedure(depth: GLfixed); stdcall;
  2387. glClipPlanexOES: procedure(plane: GLenum; const equation: PGLfixed); stdcall;
  2388. glColor4xOES: procedure(red: GLfixed; green: GLfixed; blue: GLfixed; alpha: GLfixed); stdcall;
  2389. glDepthRangexOES: procedure(n: GLfixed; f: GLfixed); stdcall;
  2390. glFogxOES: procedure(pname: GLenum; param: GLfixed); stdcall;
  2391. glFogxvOES: procedure(pname: GLenum; const param: PGLfixed); stdcall;
  2392. glFrustumxOES: procedure(l: GLfixed; r: GLfixed; b: GLfixed; t: GLfixed; n: GLfixed; f: GLfixed); stdcall;
  2393. glGetClipPlanexOES: procedure(plane: GLenum; equation: PGLfixed); stdcall;
  2394. glGetFixedvOES: procedure(pname: GLenum; params: PGLfixed); stdcall;
  2395. glGetTexEnvxvOES: procedure(target: GLenum; pname: GLenum; params: PGLfixed); stdcall;
  2396. glGetTexParameterxvOES: procedure(target: GLenum; pname: GLenum; params: PGLfixed); stdcall;
  2397. glLightModelxOES: procedure(pname: GLenum; param: GLfixed); stdcall;
  2398. glLightModelxvOES: procedure(pname: GLenum; const param: PGLfixed); stdcall;
  2399. glLightxOES: procedure(light: GLenum; pname: GLenum; param: GLfixed); stdcall;
  2400. glLightxvOES: procedure(light: GLenum; pname: GLenum; const params: PGLfixed); stdcall;
  2401. glLineWidthxOES: procedure(width: GLfixed); stdcall;
  2402. glLoadMatrixxOES: procedure(const m: PGLfixed); stdcall;
  2403. glMaterialxOES: procedure(face: GLenum; pname: GLenum; param: GLfixed); stdcall;
  2404. glMaterialxvOES: procedure(face: GLenum; pname: GLenum; const param: PGLfixed); stdcall;
  2405. glMultMatrixxOES: procedure(const m: PGLfixed); stdcall;
  2406. glMultiTexCoord4xOES: procedure(texture: GLenum; s: GLfixed; t: GLfixed; r: GLfixed; q: GLfixed); stdcall;
  2407. glNormal3xOES: procedure(nx: GLfixed; ny: GLfixed; nz: GLfixed); stdcall;
  2408. glOrthoxOES: procedure(l: GLfixed; r: GLfixed; b: GLfixed; t: GLfixed; n: GLfixed; f: GLfixed); stdcall;
  2409. glPointParameterxvOES: procedure(pname: GLenum; const params: PGLfixed); stdcall;
  2410. glPointSizexOES: procedure(size: GLfixed); stdcall;
  2411. glPolygonOffsetxOES: procedure(factor: GLfixed; units: GLfixed); stdcall;
  2412. glRotatexOES: procedure(angle: GLfixed; x: GLfixed; y: GLfixed; z: GLfixed); stdcall;
  2413. glScalexOES: procedure(x: GLfixed; y: GLfixed; z: GLfixed); stdcall;
  2414. glTexEnvxOES: procedure(target: GLenum; pname: GLenum; param: GLfixed); stdcall;
  2415. glTexEnvxvOES: procedure(target: GLenum; pname: GLenum; const params: PGLfixed); stdcall;
  2416. glTexParameterxOES: procedure(target: GLenum; pname: GLenum; param: GLfixed); stdcall;
  2417. glTexParameterxvOES: procedure(target: GLenum; pname: GLenum; const params: PGLfixed); stdcall;
  2418. glTranslatexOES: procedure(x: GLfixed; y: GLfixed; z: GLfixed); stdcall;
  2419. glAccumxOES: procedure(op: GLenum; value: GLfixed); stdcall;
  2420. glBitmapxOES: procedure(width: GLsizei; height: GLsizei; xorig: GLfixed; yorig: GLfixed; xmove: GLfixed; ymove: GLfixed; const bitmap: PGLubyte); stdcall;
  2421. glBlendColorxOES: procedure(red: GLfixed; green: GLfixed; blue: GLfixed; alpha: GLfixed); stdcall;
  2422. glClearAccumxOES: procedure(red: GLfixed; green: GLfixed; blue: GLfixed; alpha: GLfixed); stdcall;
  2423. glColor3xOES: procedure(red: GLfixed; green: GLfixed; blue: GLfixed); stdcall;
  2424. glColor3xvOES: procedure(const components: PGLfixed); stdcall;
  2425. glColor4xvOES: procedure(const components: PGLfixed); stdcall;
  2426. glConvolutionParameterxOES: procedure(target: GLenum; pname: GLenum; param: GLfixed); stdcall;
  2427. glConvolutionParameterxvOES: procedure(target: GLenum; pname: GLenum; const params: PGLfixed); stdcall;
  2428. glEvalCoord1xOES: procedure(u: GLfixed); stdcall;
  2429. glEvalCoord1xvOES: procedure(const coords: PGLfixed); stdcall;
  2430. glEvalCoord2xOES: procedure(u: GLfixed; v: GLfixed); stdcall;
  2431. glEvalCoord2xvOES: procedure(const coords: PGLfixed); stdcall;
  2432. glFeedbackBufferxOES: procedure(n: GLsizei; _type: GLenum; const buffer: PGLfixed); stdcall;
  2433. glGetConvolutionParameterxvOES: procedure(target: GLenum; pname: GLenum; params: PGLfixed); stdcall;
  2434. glGetHistogramParameterxvOES: procedure(target: GLenum; pname: GLenum; params: PGLfixed); stdcall;
  2435. glGetLightxOES: procedure(light: GLenum; pname: GLenum; params: PGLfixed); stdcall;
  2436. glGetMapxvOES: procedure(target: GLenum; query: GLenum; v: PGLfixed); stdcall;
  2437. glGetMaterialxOES: procedure(face: GLenum; pname: GLenum; param: GLfixed); stdcall;
  2438. glGetPixelMapxv: procedure(map: GLenum; size: GLint; values: PGLfixed); stdcall;
  2439. glGetTexGenxvOES: procedure(coord: GLenum; pname: GLenum; params: PGLfixed); stdcall;
  2440. glGetTexLevelParameterxvOES: procedure(target: GLenum; level: GLint; pname: GLenum; params: PGLfixed); stdcall;
  2441. glIndexxOES: procedure(component: GLfixed); stdcall;
  2442. glIndexxvOES: procedure(const component: PGLfixed); stdcall;
  2443. glLoadTransposeMatrixxOES: procedure(const m: PGLfixed); stdcall;
  2444. glMap1xOES: procedure(target: GLenum; u1: GLfixed; u2: GLfixed; stride: GLint; order: GLint; points: GLfixed); stdcall;
  2445. glMap2xOES: procedure(target: GLenum; u1: GLfixed; u2: GLfixed; ustride: GLint; uorder: GLint; v1: GLfixed; v2: GLfixed; vstride: GLint; vorder: GLint; points: GLfixed); stdcall;
  2446. glMapGrid1xOES: procedure(n: GLint; u1: GLfixed; u2: GLfixed); stdcall;
  2447. glMapGrid2xOES: procedure(n: GLint; u1: GLfixed; u2: GLfixed; v1: GLfixed; v2: GLfixed); stdcall;
  2448. glMultTransposeMatrixxOES: procedure(const m: PGLfixed); stdcall;
  2449. glMultiTexCoord1xOES: procedure(texture: GLenum; s: GLfixed); stdcall;
  2450. glMultiTexCoord1xvOES: procedure(texture: GLenum; const coords: PGLfixed); stdcall;
  2451. glMultiTexCoord2xOES: procedure(texture: GLenum; s: GLfixed; t: GLfixed); stdcall;
  2452. glMultiTexCoord2xvOES: procedure(texture: GLenum; const coords: PGLfixed); stdcall;
  2453. glMultiTexCoord3xOES: procedure(texture: GLenum; s: GLfixed; t: GLfixed; r: GLfixed); stdcall;
  2454. glMultiTexCoord3xvOES: procedure(texture: GLenum; const coords: PGLfixed); stdcall;
  2455. glMultiTexCoord4xvOES: procedure(texture: GLenum; const coords: PGLfixed); stdcall;
  2456. glNormal3xvOES: procedure(const coords: PGLfixed); stdcall;
  2457. glPassThroughxOES: procedure(token: GLfixed); stdcall;
  2458. glPixelMapx: procedure(map: GLenum; size: GLint; const values: PGLfixed); stdcall;
  2459. glPixelStorex: procedure(pname: GLenum; param: GLfixed); stdcall;
  2460. glPixelTransferxOES: procedure(pname: GLenum; param: GLfixed); stdcall;
  2461. glPixelZoomxOES: procedure(xfactor: GLfixed; yfactor: GLfixed); stdcall;
  2462. glPrioritizeTexturesxOES: procedure(n: GLsizei; const textures: PGLuint; const priorities: PGLfixed); stdcall;
  2463. glRasterPos2xOES: procedure(x: GLfixed; y: GLfixed); stdcall;
  2464. glRasterPos2xvOES: procedure(const coords: PGLfixed); stdcall;
  2465. glRasterPos3xOES: procedure(x: GLfixed; y: GLfixed; z: GLfixed); stdcall;
  2466. glRasterPos3xvOES: procedure(const coords: PGLfixed); stdcall;
  2467. glRasterPos4xOES: procedure(x: GLfixed; y: GLfixed; z: GLfixed; w: GLfixed); stdcall;
  2468. glRasterPos4xvOES: procedure(const coords: PGLfixed); stdcall;
  2469. glRectxOES: procedure(x1: GLfixed; y1: GLfixed; x2: GLfixed; y2: GLfixed); stdcall;
  2470. glRectxvOES: procedure(const v1: PGLfixed; const v2: PGLfixed); stdcall;
  2471. glTexCoord1xOES: procedure(s: GLfixed); stdcall;
  2472. glTexCoord1xvOES: procedure(const coords: PGLfixed); stdcall;
  2473. glTexCoord2xOES: procedure(s: GLfixed; t: GLfixed); stdcall;
  2474. glTexCoord2xvOES: procedure(const coords: PGLfixed); stdcall;
  2475. glTexCoord3xOES: procedure(s: GLfixed; t: GLfixed; r: GLfixed); stdcall;
  2476. glTexCoord3xvOES: procedure(const coords: PGLfixed); stdcall;
  2477. glTexCoord4xOES: procedure(s: GLfixed; t: GLfixed; r: GLfixed; q: GLfixed); stdcall;
  2478. glTexCoord4xvOES: procedure(const coords: PGLfixed); stdcall;
  2479. glTexGenxOES: procedure(coord: GLenum; pname: GLenum; param: GLfixed); stdcall;
  2480. glTexGenxvOES: procedure(coord: GLenum; pname: GLenum; const params: PGLfixed); stdcall;
  2481. glVertex2xOES: procedure(x: GLfixed); stdcall;
  2482. glVertex2xvOES: procedure(const coords: PGLfixed); stdcall;
  2483. glVertex3xOES: procedure(x: GLfixed; y: GLfixed); stdcall;
  2484. glVertex3xvOES: procedure(const coords: PGLfixed); stdcall;
  2485. glVertex4xOES: procedure(x: GLfixed; y: GLfixed; z: GLfixed); stdcall;
  2486. glVertex4xvOES: procedure(const coords: PGLfixed); stdcall;
  2487. {$EndIf}
  2488. {$IfDef GL_OES_query_matrix}
  2489. glQueryMatrixxOES: function(mantissa: PGLfixed; exponent: PGLint): GLbitfield; stdcall;
  2490. {$EndIf}
  2491. {$IfDef GL_OES_single_precision}
  2492. glClearDepthfOES: procedure(depth: GLclampf); stdcall;
  2493. glClipPlanefOES: procedure(plane: GLenum; const equation: PGLfloat); stdcall;
  2494. glDepthRangefOES: procedure(n: GLclampf; f: GLclampf); stdcall;
  2495. glFrustumfOES: procedure(l: GLfloat; r: GLfloat; b: GLfloat; t: GLfloat; n: GLfloat; f: GLfloat); stdcall;
  2496. glGetClipPlanefOES: procedure(plane: GLenum; equation: PGLfloat); stdcall;
  2497. glOrthofOES: procedure(l: GLfloat; r: GLfloat; b: GLfloat; t: GLfloat; n: GLfloat; f: GLfloat); stdcall;
  2498. {$EndIf}
  2499. {$IfDef GL_3DFX_tbuffer}
  2500. glTbufferMask3DFX: procedure(mask: GLuint); stdcall;
  2501. {$EndIf}
  2502. {$IfDef GL_AMD_debug_output}
  2503. glDebugMessageEnableAMD: procedure(category: GLenum; severity: GLenum; count: GLsizei; const ids: PGLuint; enabled: GLboolean); stdcall;
  2504. glDebugMessageInsertAMD: procedure(category: GLenum; severity: GLenum; id: GLuint; length: GLsizei; const buf: PGLchar); stdcall;
  2505. glDebugMessageCallbackAMD: procedure(callback: GLDEBUGPROCAMD; userParam: pointer); stdcall;
  2506. glGetDebugMessageLogAMD: function(count: GLuint; bufSize: GLsizei; categories: PGLenum; severities: PGLuint; ids: PGLuint; lengths: PGLsizei; _message: PGLchar): GLuint; stdcall;
  2507. {$EndIf}
  2508. {$IfDef GL_AMD_draw_buffers_blend}
  2509. glBlendFuncIndexedAMD: procedure(buf: GLuint; src: GLenum; dst: GLenum); stdcall;
  2510. glBlendFuncSeparateIndexedAMD: procedure(buf: GLuint; srcRGB: GLenum; dstRGB: GLenum; srcAlpha: GLenum; dstAlpha: GLenum); stdcall;
  2511. glBlendEquationIndexedAMD: procedure(buf: GLuint; mode: GLenum); stdcall;
  2512. glBlendEquationSeparateIndexedAMD: procedure(buf: GLuint; modeRGB: GLenum; modeAlpha: GLenum); stdcall;
  2513. {$EndIf}
  2514. {$IfDef GL_AMD_framebuffer_multisample_advanced}
  2515. glRenderbufferStorageMultisampleAdvancedAMD: procedure(target: GLenum; samples: GLsizei; storageSamples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  2516. glNamedRenderbufferStorageMultisampleAdvancedAMD: procedure(renderbuffer: GLuint; samples: GLsizei; storageSamples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  2517. {$EndIf}
  2518. {$IfDef GL_AMD_framebuffer_sample_positions}
  2519. glFramebufferSamplePositionsfvAMD: procedure(target: GLenum; numsamples: GLuint; pixelindex: GLuint; const values: PGLfloat); stdcall;
  2520. glNamedFramebufferSamplePositionsfvAMD: procedure(framebuffer: GLuint; numsamples: GLuint; pixelindex: GLuint; const values: PGLfloat); stdcall;
  2521. glGetFramebufferParameterfvAMD: procedure(target: GLenum; pname: GLenum; numsamples: GLuint; pixelindex: GLuint; size: GLsizei; values: PGLfloat); stdcall;
  2522. glGetNamedFramebufferParameterfvAMD: procedure(framebuffer: GLuint; pname: GLenum; numsamples: GLuint; pixelindex: GLuint; size: GLsizei; values: PGLfloat); stdcall;
  2523. {$EndIf}
  2524. {$If defined(GL_AMD_gpu_shader_int64) or defined(GL_NV_gpu_shader5)}
  2525. glUniform1i64NV: procedure(location: GLint; x: GLint64EXT); stdcall;
  2526. glUniform2i64NV: procedure(location: GLint; x: GLint64EXT; y: GLint64EXT); stdcall;
  2527. glUniform3i64NV: procedure(location: GLint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT); stdcall;
  2528. glUniform4i64NV: procedure(location: GLint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT; w: GLint64EXT); stdcall;
  2529. glUniform1i64vNV: procedure(location: GLint; count: GLsizei; const value: PGLint64EXT); stdcall;
  2530. glUniform2i64vNV: procedure(location: GLint; count: GLsizei; const value: PGLint64EXT); stdcall;
  2531. glUniform3i64vNV: procedure(location: GLint; count: GLsizei; const value: PGLint64EXT); stdcall;
  2532. glUniform4i64vNV: procedure(location: GLint; count: GLsizei; const value: PGLint64EXT); stdcall;
  2533. glUniform1ui64NV: procedure(location: GLint; x: GLuint64EXT); stdcall;
  2534. glUniform2ui64NV: procedure(location: GLint; x: GLuint64EXT; y: GLuint64EXT); stdcall;
  2535. glUniform3ui64NV: procedure(location: GLint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT); stdcall;
  2536. glUniform4ui64NV: procedure(location: GLint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT; w: GLuint64EXT); stdcall;
  2537. glUniform1ui64vNV: procedure(location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  2538. glUniform2ui64vNV: procedure(location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  2539. glUniform3ui64vNV: procedure(location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  2540. glUniform4ui64vNV: procedure(location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  2541. glGetUniformi64vNV: procedure(_program: GLuint; location: GLint; params: PGLint64EXT); stdcall;
  2542. glProgramUniform1i64NV: procedure(_program: GLuint; location: GLint; x: GLint64EXT); stdcall;
  2543. glProgramUniform2i64NV: procedure(_program: GLuint; location: GLint; x: GLint64EXT; y: GLint64EXT); stdcall;
  2544. glProgramUniform3i64NV: procedure(_program: GLuint; location: GLint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT); stdcall;
  2545. glProgramUniform4i64NV: procedure(_program: GLuint; location: GLint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT; w: GLint64EXT); stdcall;
  2546. glProgramUniform1i64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint64EXT); stdcall;
  2547. glProgramUniform2i64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint64EXT); stdcall;
  2548. glProgramUniform3i64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint64EXT); stdcall;
  2549. glProgramUniform4i64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint64EXT); stdcall;
  2550. glProgramUniform1ui64NV: procedure(_program: GLuint; location: GLint; x: GLuint64EXT); stdcall;
  2551. glProgramUniform2ui64NV: procedure(_program: GLuint; location: GLint; x: GLuint64EXT; y: GLuint64EXT); stdcall;
  2552. glProgramUniform3ui64NV: procedure(_program: GLuint; location: GLint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT); stdcall;
  2553. glProgramUniform4ui64NV: procedure(_program: GLuint; location: GLint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT; w: GLuint64EXT); stdcall;
  2554. glProgramUniform1ui64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  2555. glProgramUniform2ui64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  2556. glProgramUniform3ui64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  2557. glProgramUniform4ui64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  2558. {$IfEnd}
  2559. {$If defined(GL_AMD_gpu_shader_int64) or defined(GL_NV_shader_buffer_load)}
  2560. glGetUniformui64vNV: procedure(_program: GLuint; location: GLint; params: PGLuint64EXT); stdcall;
  2561. {$IfEnd}
  2562. {$IfDef GL_AMD_interleaved_elements}
  2563. glVertexAttribParameteriAMD: procedure(index: GLuint; pname: GLenum; param: GLint); stdcall;
  2564. {$EndIf}
  2565. {$IfDef GL_AMD_multi_draw_indirect}
  2566. glMultiDrawArraysIndirectAMD: procedure(mode: GLenum; const indirect: pointer; primcount: GLsizei; stride: GLsizei); stdcall;
  2567. glMultiDrawElementsIndirectAMD: procedure(mode: GLenum; _type: GLenum; const indirect: pointer; primcount: GLsizei; stride: GLsizei); stdcall;
  2568. {$EndIf}
  2569. {$IfDef GL_AMD_name_gen_delete}
  2570. glGenNamesAMD: procedure(identifier: GLenum; num: GLuint; names: PGLuint); stdcall;
  2571. glDeleteNamesAMD: procedure(identifier: GLenum; num: GLuint; const names: PGLuint); stdcall;
  2572. glIsNameAMD: function(identifier: GLenum; name: GLuint): GLboolean; stdcall;
  2573. {$EndIf}
  2574. {$IfDef GL_AMD_occlusion_query_event}
  2575. glQueryObjectParameteruiAMD: procedure(target: GLenum; id: GLuint; pname: GLenum; param: GLuint); stdcall;
  2576. {$EndIf}
  2577. {$IfDef GL_AMD_performance_monitor}
  2578. glGetPerfMonitorGroupsAMD: procedure(numGroups: PGLint; groupsSize: GLsizei; groups: PGLuint); stdcall;
  2579. glGetPerfMonitorCountersAMD: procedure(group: GLuint; numCounters: PGLint; maxActiveCounters: PGLint; counterSize: GLsizei; counters: PGLuint); stdcall;
  2580. glGetPerfMonitorGroupStringAMD: procedure(group: GLuint; bufSize: GLsizei; length: PGLsizei; groupString: PGLchar); stdcall;
  2581. glGetPerfMonitorCounterStringAMD: procedure(group: GLuint; counter: GLuint; bufSize: GLsizei; length: PGLsizei; counterString: PGLchar); stdcall;
  2582. glGetPerfMonitorCounterInfoAMD: procedure(group: GLuint; counter: GLuint; pname: GLenum; data: pointer); stdcall;
  2583. glGenPerfMonitorsAMD: procedure(n: GLsizei; monitors: PGLuint); stdcall;
  2584. glDeletePerfMonitorsAMD: procedure(n: GLsizei; monitors: PGLuint); stdcall;
  2585. glSelectPerfMonitorCountersAMD: procedure(monitor: GLuint; enable: GLboolean; group: GLuint; numCounters: GLint; counterList: PGLuint); stdcall;
  2586. glBeginPerfMonitorAMD: procedure(monitor: GLuint); stdcall;
  2587. glEndPerfMonitorAMD: procedure(monitor: GLuint); stdcall;
  2588. glGetPerfMonitorCounterDataAMD: procedure(monitor: GLuint; pname: GLenum; dataSize: GLsizei; data: PGLuint; bytesWritten: PGLint); stdcall;
  2589. {$EndIf}
  2590. {$IfDef GL_AMD_sample_positions}
  2591. glSetMultisamplefvAMD: procedure(pname: GLenum; index: GLuint; const val: PGLfloat); stdcall;
  2592. {$EndIf}
  2593. {$IfDef GL_AMD_sparse_texture}
  2594. glTexStorageSparseAMD: procedure(target: GLenum; internalFormat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; layers: GLsizei; flags: GLbitfield); stdcall;
  2595. glTextureStorageSparseAMD: procedure(texture: GLuint; target: GLenum; internalFormat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; layers: GLsizei; flags: GLbitfield); stdcall;
  2596. {$EndIf}
  2597. {$IfDef GL_AMD_stencil_operation_extended}
  2598. glStencilOpValueAMD: procedure(face: GLenum; value: GLuint); stdcall;
  2599. {$EndIf}
  2600. {$IfDef GL_AMD_vertex_shader_tessellator}
  2601. glTessellationFactorAMD: procedure(factor: GLfloat); stdcall;
  2602. glTessellationModeAMD: procedure(mode: GLenum); stdcall;
  2603. {$EndIf}
  2604. {$IfDef GL_APPLE_element_array}
  2605. glElementPointerAPPLE: procedure(_type: GLenum; const _pointer: pointer); stdcall;
  2606. glDrawElementArrayAPPLE: procedure(mode: GLenum; first: GLint; count: GLsizei); stdcall;
  2607. glDrawRangeElementArrayAPPLE: procedure(mode: GLenum; start: GLuint; _end: GLuint; first: GLint; count: GLsizei); stdcall;
  2608. glMultiDrawElementArrayAPPLE: procedure(mode: GLenum; const first: PGLint; const count: PGLsizei; primcount: GLsizei); stdcall;
  2609. glMultiDrawRangeElementArrayAPPLE: procedure(mode: GLenum; start: GLuint; _end: GLuint; const first: PGLint; const count: PGLsizei; primcount: GLsizei); stdcall;
  2610. {$EndIf}
  2611. {$IfDef GL_APPLE_fence}
  2612. glGenFencesAPPLE: procedure(n: GLsizei; fences: PGLuint); stdcall;
  2613. glDeleteFencesAPPLE: procedure(n: GLsizei; const fences: PGLuint); stdcall;
  2614. glSetFenceAPPLE: procedure(fence: GLuint); stdcall;
  2615. glIsFenceAPPLE: function(fence: GLuint): GLboolean; stdcall;
  2616. glTestFenceAPPLE: function(fence: GLuint): GLboolean; stdcall;
  2617. glFinishFenceAPPLE: procedure(fence: GLuint); stdcall;
  2618. glTestObjectAPPLE: function(_object: GLenum; name: GLuint): GLboolean; stdcall;
  2619. glFinishObjectAPPLE: procedure(_object: GLenum; name: GLint); stdcall;
  2620. {$EndIf}
  2621. {$IfDef GL_APPLE_flush_buffer_range}
  2622. glBufferParameteriAPPLE: procedure(target: GLenum; pname: GLenum; param: GLint); stdcall;
  2623. glFlushMappedBufferRangeAPPLE: procedure(target: GLenum; offset: GLintptr; size: GLsizeiptr); stdcall;
  2624. {$EndIf}
  2625. {$IfDef GL_APPLE_object_purgeable}
  2626. glObjectPurgeableAPPLE: function(objectType: GLenum; name: GLuint; option: GLenum): GLenum; stdcall;
  2627. glObjectUnpurgeableAPPLE: function(objectType: GLenum; name: GLuint; option: GLenum): GLenum; stdcall;
  2628. glGetObjectParameterivAPPLE: procedure(objectType: GLenum; name: GLuint; pname: GLenum; params: PGLint); stdcall;
  2629. {$EndIf}
  2630. {$IfDef GL_APPLE_texture_range}
  2631. glTextureRangeAPPLE: procedure(target: GLenum; length: GLsizei; const _pointer: pointer); stdcall;
  2632. glGetTexParameterPointervAPPLE: procedure(target: GLenum; pname: GLenum; params:Ppointer); stdcall;
  2633. {$EndIf}
  2634. {$IfDef GL_APPLE_vertex_array_object}
  2635. glBindVertexArrayAPPLE: procedure(_array: GLuint); stdcall;
  2636. glDeleteVertexArraysAPPLE: procedure(n: GLsizei; const arrays: PGLuint); stdcall;
  2637. glGenVertexArraysAPPLE: procedure(n: GLsizei; arrays: PGLuint); stdcall;
  2638. functionglIsVertexArrayAPPLE: function(_array: GLuint): GLboolean; stdcall;
  2639. {$EndIf}
  2640. {$IfDef GL_APPLE_vertex_array_range}
  2641. glVertexArrayRangeAPPLE: procedure(length: GLsizei; pointer: pointer); stdcall;
  2642. glFlushVertexArrayRangeAPPLE: procedure(length: GLsizei; pointer: pointer); stdcall;
  2643. glVertexArrayParameteriAPPLE: procedure(pname: GLenum; param: GLint); stdcall;
  2644. {$EndIf}
  2645. {$IfDef GL_APPLE_vertex_program_evaluators}
  2646. glEnableVertexAttribAPPLE: procedure(index: GLuint; pname: GLenum); stdcall;
  2647. glDisableVertexAttribAPPLE: procedure(index: GLuint; pname: GLenum); stdcall;
  2648. glIsVertexAttribEnabledAPPLE: function(index: GLuint; pname: GLenum): GLboolean; stdcall;
  2649. glMapVertexAttrib1dAPPLE: procedure(index: GLuint; size: GLuint; u1: GLdouble; u2: GLdouble; stride: GLint; order: GLint; const points: PGLdouble); stdcall;
  2650. glMapVertexAttrib1fAPPLE: procedure(index: GLuint; size: GLuint; u1: GLfloat; u2: GLfloat; stride: GLint; order: GLint; const points: PGLfloat); stdcall;
  2651. glMapVertexAttrib2dAPPLE: procedure(index: GLuint; size: GLuint; u1: GLdouble; u2: GLdouble; ustride: GLint; uorder: GLint; v1: GLdouble; v2: GLdouble; vstride: GLint; vorder: GLint; const points: PGLdouble); stdcall;
  2652. glMapVertexAttrib2fAPPLE: procedure(index: GLuint; size: GLuint; u1: GLfloat; u2: GLfloat; ustride: GLint; uorder: GLint; v1: GLfloat; v2: GLfloat; vstride: GLint; vorder: GLint; const points: PGLfloat); stdcall;
  2653. {$EndIf}
  2654. {$IfDef GL_ATI_draw_buffers}
  2655. glDrawBuffersATI: procedure(n: GLsizei; const bufs: PGLenum); stdcall;
  2656. {$EndIf}
  2657. {$IfDef GL_ATI_element_array}
  2658. glElementPointerATI: procedure(_type: GLenum; const _pointer: pointer); stdcall;
  2659. glDrawElementArrayATI: procedure(mode: GLenum; count: GLsizei); stdcall;
  2660. glDrawRangeElementArrayATI: procedure(mode: GLenum; start: GLuint; _end: GLuint; count: GLsizei); stdcall;
  2661. {$EndIf}
  2662. {$IfDef GL_ATI_envmap_bumpmap}
  2663. glTexBumpParameterivATI: procedure(pname: GLenum; const param: PGLint); stdcall;
  2664. glTexBumpParameterfvATI: procedure(pname: GLenum; const param: PGLfloat); stdcall;
  2665. glGetTexBumpParameterivATI: procedure(pname: GLenum; param: PGLint); stdcall;
  2666. glGetTexBumpParameterfvATI: procedure(pname: GLenum; param: PGLfloat); stdcall;
  2667. {$EndIf}
  2668. {$IfDef GL_ATI_fragment_shader}
  2669. glGenFragmentShadersATI: function(range: GLuint): GLuint; stdcall;
  2670. glBindFragmentShaderATI: procedure(id: GLuint); stdcall;
  2671. glDeleteFragmentShaderATI: procedure(id: GLuint); stdcall;
  2672. glBeginFragmentShaderATI: procedure; stdcall;
  2673. glEndFragmentShaderATI: procedure; stdcall;
  2674. glPassTexCoordATI: procedure(dst: GLuint; coord: GLuint; swizzle: GLenum); stdcall;
  2675. glSampleMapATI: procedure(dst: GLuint; interp: GLuint; swizzle: GLenum); stdcall;
  2676. glColorFragmentOp1ATI: procedure(op: GLenum; dst: GLuint; dstMask: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint); stdcall;
  2677. glColorFragmentOp2ATI: procedure(op: GLenum; dst: GLuint; dstMask: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint; arg2: GLuint; arg2Rep: GLuint; arg2Mod: GLuint); stdcall;
  2678. glColorFragmentOp3ATI: procedure(op: GLenum; dst: GLuint; dstMask: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint; arg2: GLuint; arg2Rep: GLuint; arg2Mod: GLuint; arg3: GLuint; arg3Rep: GLuint; arg3Mod: GLuint); stdcall;
  2679. glAlphaFragmentOp1ATI: procedure(op: GLenum; dst: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint); stdcall;
  2680. glAlphaFragmentOp2ATI: procedure(op: GLenum; dst: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint; arg2: GLuint; arg2Rep: GLuint; arg2Mod: GLuint); stdcall;
  2681. glAlphaFragmentOp3ATI: procedure(op: GLenum; dst: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint; arg2: GLuint; arg2Rep: GLuint; arg2Mod: GLuint; arg3: GLuint; arg3Rep: GLuint; arg3Mod: GLuint); stdcall;
  2682. glSetFragmentShaderConstantATI: procedure(dst: GLuint; const value: PGLfloat); stdcall;
  2683. {$EndIf}
  2684. {$IfDef GL_ATI_map_object_buffer}
  2685. glMapObjectBufferATI: function(buffer: GLuint): pointer;
  2686. glUnmapObjectBufferATI: procedure(buffer: GLuint); stdcall;
  2687. {$EndIf}
  2688. {$IfDef GL_ATI_pn_triangles}
  2689. glPNTrianglesiATI: procedure(pname: GLenum; param: GLint); stdcall;
  2690. glPNTrianglesfATI: procedure(pname: GLenum; param: GLfloat); stdcall;
  2691. {$EndIf}
  2692. {$IfDef GL_ATI_separate_stencil}
  2693. glStencilOpSeparateATI: procedure(face: GLenum; sfail: GLenum; dpfail: GLenum; dppass: GLenum); stdcall;
  2694. glStencilFuncSeparateATI: procedure(frontfunc: GLenum; backfunc: GLenum; ref: GLint; mask: GLuint); stdcall;
  2695. {$EndIf}
  2696. {$IfDef GL_ATI_vertex_array_object}
  2697. glNewObjectBufferATI: function(size: GLsizei; const _pointer: pointer; usage: GLenum): GLuint; stdcall;
  2698. glIsObjectBufferATI: function(buffer: GLuint): GLboolean; stdcall;
  2699. glUpdateObjectBufferATI: procedure(buffer: GLuint; offset: GLuint; size: GLsizei; const _pointer: pointer; preserve: GLenum); stdcall;
  2700. glGetObjectBufferfvATI: procedure(buffer: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  2701. glGetObjectBufferivATI: procedure(buffer: GLuint; pname: GLenum; params: PGLint); stdcall;
  2702. glFreeObjectBufferATI: procedure(buffer: GLuint); stdcall;
  2703. glArrayObjectATI: procedure(_array: GLenum; size: GLint; _type: GLenum; stride: GLsizei; buffer: GLuint; offset: GLuint); stdcall;
  2704. glGetArrayObjectfvATI: procedure(_array: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2705. glGetArrayObjectivATI: procedure(_array: GLenum; pname: GLenum; params: PGLint); stdcall;
  2706. glVariantArrayObjectATI: procedure(id: GLuint; _type: GLenum; stride: GLsizei; buffer: GLuint; offset: GLuint); stdcall;
  2707. glGetVariantArrayObjectfvATI: procedure(id: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  2708. glGetVariantArrayObjectivATI: procedure(id: GLuint; pname: GLenum; params: PGLint); stdcall;
  2709. {$EndIf}
  2710. {$IfDef GL_ATI_vertex_attrib_array_object}
  2711. glVertexAttribArrayObjectATI: procedure(index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei; buffer: GLuint; offset: GLuint); stdcall;
  2712. glGetVertexAttribArrayObjectfvATI: procedure(index: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  2713. glGetVertexAttribArrayObjectivATI: procedure(index: GLuint; pname: GLenum; params: PGLint); stdcall;
  2714. {$EndIf}
  2715. {$IfDef GL_ATI_vertex_streams}
  2716. glVertexStream1sATI: procedure(stream: GLenum; x: GLshort); stdcall;
  2717. glVertexStream1svATI: procedure(stream: GLenum; const coords: PGLshort); stdcall;
  2718. glVertexStream1iATI: procedure(stream: GLenum; x: GLint); stdcall;
  2719. glVertexStream1ivATI: procedure(stream: GLenum; const coords: PGLint); stdcall;
  2720. glVertexStream1fATI: procedure(stream: GLenum; x: GLfloat); stdcall;
  2721. glVertexStream1fvATI: procedure(stream: GLenum; const coords: PGLfloat); stdcall;
  2722. glVertexStream1dATI: procedure(stream: GLenum; x: GLdouble); stdcall;
  2723. glVertexStream1dvATI: procedure(stream: GLenum; const coords: PGLdouble); stdcall;
  2724. glVertexStream2sATI: procedure(stream: GLenum; x: GLshort; y: GLshort); stdcall;
  2725. glVertexStream2svATI: procedure(stream: GLenum; const coords: PGLshort); stdcall;
  2726. glVertexStream2iATI: procedure(stream: GLenum; x: GLint; y: GLint); stdcall;
  2727. glVertexStream2ivATI: procedure(stream: GLenum; const coords: PGLint); stdcall;
  2728. glVertexStream2fATI: procedure(stream: GLenum; x: GLfloat; y: GLfloat); stdcall;
  2729. glVertexStream2fvATI: procedure(stream: GLenum; const coords: PGLfloat); stdcall;
  2730. glVertexStream2dATI: procedure(stream: GLenum; x: GLdouble; y: GLdouble); stdcall;
  2731. glVertexStream2dvATI: procedure(stream: GLenum; const coords: PGLdouble); stdcall;
  2732. glVertexStream3sATI: procedure(stream: GLenum; x: GLshort; y: GLshort; z: GLshort); stdcall;
  2733. glVertexStream3svATI: procedure(stream: GLenum; const coords: PGLshort); stdcall;
  2734. glVertexStream3iATI: procedure(stream: GLenum; x: GLint; y: GLint; z: GLint); stdcall;
  2735. glVertexStream3ivATI: procedure(stream: GLenum; const coords: PGLint); stdcall;
  2736. glVertexStream3fATI: procedure(stream: GLenum; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  2737. glVertexStream3fvATI: procedure(stream: GLenum; const coords: PGLfloat); stdcall;
  2738. glVertexStream3dATI: procedure(stream: GLenum; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  2739. glVertexStream3dvATI: procedure(stream: GLenum; const coords: PGLdouble); stdcall;
  2740. glVertexStream4sATI: procedure(stream: GLenum; x: GLshort; y: GLshort; z: GLshort; w: GLshort); stdcall;
  2741. glVertexStream4svATI: procedure(stream: GLenum; const coords: PGLshort); stdcall;
  2742. glVertexStream4iATI: procedure(stream: GLenum; x: GLint; y: GLint; z: GLint; w: GLint); stdcall;
  2743. glVertexStream4ivATI: procedure(stream: GLenum; const coords: PGLint); stdcall;
  2744. glVertexStream4fATI: procedure(stream: GLenum; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  2745. glVertexStream4fvATI: procedure(stream: GLenum; const coords: PGLfloat); stdcall;
  2746. glVertexStream4dATI: procedure(stream: GLenum; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  2747. glVertexStream4dvATI: procedure(stream: GLenum; const coords: PGLdouble); stdcall;
  2748. glNormalStream3bATI: procedure(stream: GLenum; nx: GLbyte; ny: GLbyte; nz: GLbyte); stdcall;
  2749. glNormalStream3bvATI: procedure(stream: GLenum; const coords: PGLbyte); stdcall;
  2750. glNormalStream3sATI: procedure(stream: GLenum; nx: GLshort; ny: GLshort; nz: GLshort); stdcall;
  2751. glNormalStream3svATI: procedure(stream: GLenum; const coords: PGLshort); stdcall;
  2752. glNormalStream3iATI: procedure(stream: GLenum; nx: GLint; ny: GLint; nz: GLint); stdcall;
  2753. glNormalStream3ivATI: procedure(stream: GLenum; const coords: PGLint); stdcall;
  2754. glNormalStream3fATI: procedure(stream: GLenum; nx: GLfloat; ny: GLfloat; nz: GLfloat); stdcall;
  2755. glNormalStream3fvATI: procedure(stream: GLenum; const coords: PGLfloat); stdcall;
  2756. glNormalStream3dATI: procedure(stream: GLenum; nx: GLdouble; ny: GLdouble; nz: GLdouble); stdcall;
  2757. glNormalStream3dvATI: procedure(stream: GLenum; const coords: PGLdouble); stdcall;
  2758. glClientActiveVertexStreamATI: procedure(stream: GLenum); stdcall;
  2759. glVertexBlendEnviATI: procedure(pname: GLenum; param: GLint); stdcall;
  2760. glVertexBlendEnvfATI: procedure(pname: GLenum; param: GLfloat); stdcall;
  2761. {$EndIf}
  2762. {$IfDef GL_EXT_EGL_image_storage}
  2763. glEGLImageTargetTexStorageEXT: procedure(target: GLenum; image: GLeglImageOES; const attrib_list: PGLint); stdcall;
  2764. glEGLImageTargetTextureStorageEXT: procedure(texture: GLuint; image: GLeglImageOES; const attrib_list: PGLint); stdcall;
  2765. {$EndIf}
  2766. {$IfDef GL_EXT_bindable_uniform}
  2767. glUniformBufferEXT: procedure(_program: GLuint; location: GLint; buffer: GLuint); stdcall;
  2768. glGetUniformBufferSizeEXT: function(_program: GLuint; location: GLint): GLint; stdcall;
  2769. glGetUniformOffsetEXT: function(_program: GLuint; location: GLint): GLintptr; stdcall;
  2770. {$EndIf}
  2771. {$IfDef GL_EXT_blend_color}
  2772. glBlendColorEXT: procedure(red: GLfloat; green: GLfloat; blue: GLfloat; alpha: GLfloat); stdcall;
  2773. {$EndIf}
  2774. {$IfDef GL_EXT_blend_equation_separate}
  2775. glBlendEquationSeparateEXT: procedure(modeRGB: GLenum; modeAlpha: GLenum); stdcall;
  2776. {$EndIf}
  2777. (* {$IfDef GL_EXT_blend_func_separate}
  2778. glBlendFuncSeparateEXT: procedure(sfactorRGB: GLenum; dfactorRGB: GLenum; sfactorAlpha: GLenum; dfactorAlpha: GLenum); stdcall;
  2779. {$EndIf}
  2780. {$IfDef GL_EXT_blend_minmax}
  2781. glBlendEquationEXT: procedure(mode: GLenum); stdcall;
  2782. {$EndIf} *)
  2783. {$IfDef GL_EXT_color_subtable}
  2784. glColorSubTableEXT: procedure(target: GLenum; start: GLsizei; count: GLsizei; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  2785. glCopyColorSubTableEXT: procedure(target: GLenum; start: GLsizei; x: GLint; y: GLint; width: GLsizei); stdcall;
  2786. {$EndIf}
  2787. {$IfDef GL_EXT_compiled_vertex_array}
  2788. glLockArraysEXT: procedure(first: GLint; count: GLsizei); stdcall;
  2789. glUnlockArraysEXT: procedure; stdcall;
  2790. {$EndIf}
  2791. {$IfDef GL_EXT_convolution}
  2792. glConvolutionFilter1DEXT: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; const image: pointer); stdcall;
  2793. glConvolutionFilter2DEXT: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const image: pointer); stdcall;
  2794. glConvolutionParameterfEXT: procedure(target: GLenum; pname: GLenum; params: GLfloat); stdcall;
  2795. glConvolutionParameterfvEXT: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  2796. glConvolutionParameteriEXT: procedure(target: GLenum; pname: GLenum; params: GLint); stdcall;
  2797. glConvolutionParameterivEXT: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2798. glCopyConvolutionFilter1DEXT: procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); stdcall;
  2799. glCopyConvolutionFilter2DEXT: procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  2800. glGetConvolutionFilterEXT: procedure(target: GLenum; format: GLenum; _type: GLenum; image: pointer); stdcall;
  2801. glGetConvolutionParameterfvEXT: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2802. glGetConvolutionParameterivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2803. glGetSeparableFilterEXT: procedure(target: GLenum; format: GLenum; _type: GLenum; row: pointer; column: pointer; span: pointer); stdcall;
  2804. glSeparableFilter2DEXT: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const row: pointer; const column: pointer); stdcall;
  2805. {$EndIf}
  2806. {$IfDef GL_EXT_coordinate_frame}
  2807. glTangent3bEXT: procedure(tx: GLbyte; ty: GLbyte; tz: GLbyte); stdcall;
  2808. glTangent3bvEXT: procedure(const v: PGLbyte); stdcall;
  2809. glTangent3dEXT: procedure(tx: GLdouble; ty: GLdouble; tz: GLdouble); stdcall;
  2810. glTangent3dvEXT: procedure(const v: PGLdouble); stdcall;
  2811. glTangent3fEXT: procedure(tx: GLfloat; ty: GLfloat; tz: GLfloat); stdcall;
  2812. glTangent3fvEXT: procedure(const v: PGLfloat); stdcall;
  2813. glTangent3iEXT: procedure(tx: GLint; ty: GLint; tz: GLint); stdcall;
  2814. glTangent3ivEXT: procedure(const v: PGLint); stdcall;
  2815. glTangent3sEXT: procedure(tx: GLshort; ty: GLshort; tz: GLshort); stdcall;
  2816. glTangent3svEXT: procedure(const v: PGLshort); stdcall;
  2817. glBinormal3bEXT: procedure(bx: GLbyte; by: GLbyte; bz: GLbyte); stdcall;
  2818. glBinormal3bvEXT: procedure(const v: PGLbyte); stdcall;
  2819. glBinormal3dEXT: procedure(bx: GLdouble; by: GLdouble; bz: GLdouble); stdcall;
  2820. glBinormal3dvEXT: procedure(const v: PGLdouble); stdcall;
  2821. glBinormal3fEXT: procedure(bx: GLfloat; by: GLfloat; bz: GLfloat); stdcall;
  2822. glBinormal3fvEXT: procedure(const v: PGLfloat); stdcall;
  2823. glBinormal3iEXT: procedure(bx: GLint; by: GLint; bz: GLint); stdcall;
  2824. glBinormal3ivEXT: procedure(const v: PGLint); stdcall;
  2825. glBinormal3sEXT: procedure(bx: GLshort; by: GLshort; bz: GLshort); stdcall;
  2826. glBinormal3svEXT: procedure(const v: PGLshort); stdcall;
  2827. glTangentPointerEXT: procedure(_type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  2828. glBinormalPointerEXT: procedure(_type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  2829. {$EndIf}
  2830. {$IfDef GL_EXT_copy_texture}
  2831. glCopyTexImage1DEXT: procedure(target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; border: GLint); stdcall;
  2832. glCopyTexImage2DEXT: procedure(target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei; border: GLint); stdcall;
  2833. glCopyTexSubImage1DEXT: procedure(target: GLenum; level: GLint; xoffset: GLint; x: GLint; y: GLint; width: GLsizei); stdcall;
  2834. glCopyTexSubImage2DEXT: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  2835. glCopyTexSubImage3DEXT: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  2836. {$EndIf}
  2837. {$IfDef GL_EXT_cull_vertex}
  2838. glCullParameterdvEXT: procedure(pname: GLenum; params: PGLdouble); stdcall;
  2839. glCullParameterfvEXT: procedure(pname: GLenum; params: PGLfloat); stdcall;
  2840. {$EndIf}
  2841. {$IfDef GL_EXT_debug_label}
  2842. glLabelObjectEXT: procedure(_type: GLenum; _object: GLuint; length: GLsizei; const _label: PGLchar); stdcall;
  2843. glGetObjectLabelEXT: procedure(_type: GLenum; _object: GLuint; bufSize: GLsizei; length: PGLsizei; _label: PGLchar); stdcall;
  2844. {$EndIf}
  2845. {$IfDef GL_EXT_debug_marker}
  2846. glInsertEventMarkerEXT: procedure(length: GLsizei; const marker: PGLchar); stdcall;
  2847. glPushGroupMarkerEXT: procedure(length: GLsizei; const marker: PGLchar); stdcall;
  2848. glPopGroupMarkerEXT: procedure; stdcall;
  2849. {$EndIf}
  2850. {$IfDef GL_EXT_depth_bounds_test}
  2851. glDepthBoundsEXT: procedure(zmin: GLclampd; zmax: GLclampd); stdcall;
  2852. {$EndIf}
  2853. {$IfDef GL_EXT_direct_state_access}
  2854. glMatrixLoadfEXT: procedure(mode: GLenum; const m: PGLfloat); stdcall;
  2855. glMatrixLoaddEXT: procedure(mode: GLenum; const m: PGLdouble); stdcall;
  2856. glMatrixMultfEXT: procedure(mode: GLenum; const m: PGLfloat); stdcall;
  2857. glMatrixMultdEXT: procedure(mode: GLenum; const m: PGLdouble); stdcall;
  2858. glMatrixLoadIdentityEXT: procedure(mode: GLenum); stdcall;
  2859. glMatrixRotatefEXT: procedure(mode: GLenum; angle: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  2860. glMatrixRotatedEXT: procedure(mode: GLenum; angle: GLdouble; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  2861. glMatrixScalefEXT: procedure(mode: GLenum; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  2862. glMatrixScaledEXT: procedure(mode: GLenum; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  2863. glMatrixTranslatefEXT: procedure(mode: GLenum; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  2864. glMatrixTranslatedEXT: procedure(mode: GLenum; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  2865. glMatrixFrustumEXT: procedure(mode: GLenum; left: GLdouble; right: GLdouble; bottom: GLdouble; top: GLdouble; zNear: GLdouble; zFar: GLdouble); stdcall;
  2866. glMatrixOrthoEXT: procedure(mode: GLenum; left: GLdouble; right: GLdouble; bottom: GLdouble; top: GLdouble; zNear: GLdouble; zFar: GLdouble); stdcall;
  2867. glMatrixPopEXT: procedure(mode: GLenum); stdcall;
  2868. glMatrixPushEXT: procedure(mode: GLenum); stdcall;
  2869. glClientAttribDefaultEXT: procedure(mask: GLbitfield); stdcall;
  2870. glPushClientAttribDefaultEXT: procedure(mask: GLbitfield); stdcall;
  2871. glTextureParameterfEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; param: GLfloat); stdcall;
  2872. glTextureParameterfvEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  2873. glTextureParameteriEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; param: GLint); stdcall;
  2874. glTextureParameterivEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2875. glTextureImage1DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2876. glTextureImage2DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; height: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2877. glTextureSubImage1DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2878. glTextureSubImage2DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2879. glCopyTextureImage1DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; border: GLint); stdcall;
  2880. glCopyTextureImage2DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei; border: GLint); stdcall;
  2881. glCopyTextureSubImage1DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; x: GLint; y: GLint; width: GLsizei); stdcall;
  2882. glCopyTextureSubImage2DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  2883. glGetTextureImageEXT: procedure(texture: GLuint; target: GLenum; level: GLint; format: GLenum; _type: GLenum; pixels: pointer); stdcall;
  2884. glGetTextureParameterfvEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2885. glGetTextureParameterivEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2886. glGetTextureLevelParameterfvEXT: procedure(texture: GLuint; target: GLenum; level: GLint; pname: GLenum; params: PGLfloat); stdcall;
  2887. glGetTextureLevelParameterivEXT: procedure(texture: GLuint; target: GLenum; level: GLint; pname: GLenum; params: PGLint); stdcall;
  2888. glTextureImage3DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2889. glTextureSubImage3DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2890. glCopyTextureSubImage3DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  2891. glBindMultiTextureEXT: procedure(texunit: GLenum; target: GLenum; texture: GLuint); stdcall;
  2892. glMultiTexCoordPointerEXT: procedure(texunit: GLenum; size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  2893. glMultiTexEnvfEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLfloat); stdcall;
  2894. glMultiTexEnvfvEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  2895. glMultiTexEnviEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLint); stdcall;
  2896. glMultiTexEnvivEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2897. glMultiTexGendEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; param: GLdouble); stdcall;
  2898. glMultiTexGendvEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; const params: PGLdouble); stdcall;
  2899. glMultiTexGenfEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; param: GLfloat); stdcall;
  2900. glMultiTexGenfvEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  2901. glMultiTexGeniEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; param: GLint); stdcall;
  2902. glMultiTexGenivEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2903. glGetMultiTexEnvfvEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2904. glGetMultiTexEnvivEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2905. glGetMultiTexGendvEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; params: PGLdouble); stdcall;
  2906. glGetMultiTexGenfvEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2907. glGetMultiTexGenivEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; params: PGLint); stdcall;
  2908. glMultiTexParameteriEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLint); stdcall;
  2909. glMultiTexParameterivEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2910. glMultiTexParameterfEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLfloat); stdcall;
  2911. glMultiTexParameterfvEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  2912. glMultiTexImage1DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2913. glMultiTexImage2DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; height: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2914. glMultiTexSubImage1DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2915. glMultiTexSubImage2DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2916. glCopyMultiTexImage1DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; border: GLint); stdcall;
  2917. glCopyMultiTexImage2DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei; border: GLint); stdcall;
  2918. glCopyMultiTexSubImage1DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; x: GLint; y: GLint; width: GLsizei); stdcall;
  2919. glCopyMultiTexSubImage2DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  2920. glGetMultiTexImageEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; format: GLenum; _type: GLenum; pixels: pointer); stdcall;
  2921. glGetMultiTexParameterfvEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2922. glGetMultiTexParameterivEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2923. glGetMultiTexLevelParameterfvEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; pname: GLenum; params: PGLfloat); stdcall;
  2924. glGetMultiTexLevelParameterivEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; pname: GLenum; params: PGLint); stdcall;
  2925. glMultiTexImage3DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2926. glMultiTexSubImage3DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2927. glCopyMultiTexSubImage3DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  2928. glEnableClientStateIndexedEXT: procedure(_array: GLenum; index: GLuint); stdcall;
  2929. glDisableClientStateIndexedEXT: procedure(_array: GLenum; index: GLuint); stdcall;
  2930. glGetFloatIndexedvEXT: procedure(target: GLenum; index: GLuint; data: PGLfloat); stdcall;
  2931. glGetDoubleIndexedvEXT: procedure(target: GLenum; index: GLuint; data: PGLdouble); stdcall;
  2932. glGetPointerIndexedvEXT: procedure(target: GLenum; index: GLuint; data:Ppointer); stdcall;
  2933. glEnableIndexedEXT: procedure(target: GLenum; index: GLuint); stdcall;
  2934. glDisableIndexedEXT: procedure(target: GLenum; index: GLuint); stdcall;
  2935. glIsEnabledIndexedEXT: function(target: GLenum; index: GLuint): GLboolean; stdcall;
  2936. glGetIntegerIndexedvEXT: procedure(target: GLenum; index: GLuint; data: PGLint); stdcall;
  2937. glGetBooleanIndexedvEXT: procedure(target: GLenum; index: GLuint; data: PGLboolean); stdcall;
  2938. glCompressedTextureImage3DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; imageSize: GLsizei; const bits: pointer); stdcall;
  2939. glCompressedTextureImage2DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; imageSize: GLsizei; const bits: pointer); stdcall;
  2940. glCompressedTextureImage1DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei; const bits: pointer); stdcall;
  2941. glCompressedTextureSubImage3DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; imageSize: GLsizei; const bits: pointer); stdcall;
  2942. glCompressedTextureSubImage2DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const bits: pointer); stdcall;
  2943. glCompressedTextureSubImage1DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const bits: pointer); stdcall;
  2944. glGetCompressedTextureImageEXT: procedure(texture: GLuint; target: GLenum; lod: GLint; img: pointer); stdcall;
  2945. glCompressedMultiTexImage3DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; imageSize: GLsizei; const bits: pointer); stdcall;
  2946. glCompressedMultiTexImage2DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; imageSize: GLsizei; const bits: pointer); stdcall;
  2947. glCompressedMultiTexImage1DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei; const bits: pointer); stdcall;
  2948. glCompressedMultiTexSubImage3DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; imageSize: GLsizei; const bits: pointer); stdcall;
  2949. glCompressedMultiTexSubImage2DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const bits: pointer); stdcall;
  2950. glCompressedMultiTexSubImage1DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const bits: pointer); stdcall;
  2951. glGetCompressedMultiTexImageEXT: procedure(texunit: GLenum; target: GLenum; lod: GLint; img: pointer); stdcall;
  2952. glMatrixLoadTransposefEXT: procedure(mode: GLenum; const m: PGLfloat); stdcall;
  2953. glMatrixLoadTransposedEXT: procedure(mode: GLenum; const m: PGLdouble); stdcall;
  2954. glMatrixMultTransposefEXT: procedure(mode: GLenum; const m: PGLfloat); stdcall;
  2955. glMatrixMultTransposedEXT: procedure(mode: GLenum; const m: PGLdouble); stdcall;
  2956. glNamedBufferDataEXT: procedure(buffer: GLuint; size: GLsizeiptr; const data: pointer; usage: GLenum); stdcall;
  2957. glNamedBufferSubDataEXT: procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; const data: pointer); stdcall;
  2958. glMapNamedBufferEXT: function(buffer: GLuint; access: GLenum): pointer; stdcall;
  2959. glUnmapNamedBufferEXT: function(buffer: GLuint): GLboolean; stdcall;
  2960. glGetNamedBufferParameterivEXT: procedure(buffer: GLuint; pname: GLenum; params: PGLint); stdcall;
  2961. glGetNamedBufferPointervEXT: procedure(buffer: GLuint; pname: GLenum; params:Ppointer); stdcall;
  2962. glGetNamedBufferSubDataEXT: procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; data: pointer); stdcall;
  2963. glProgramUniform1fEXT: procedure(_program: GLuint; location: GLint; v0: GLfloat); stdcall;
  2964. glProgramUniform2fEXT: procedure(_program: GLuint; location: GLint; v0: GLfloat; v1: GLfloat); stdcall;
  2965. glProgramUniform3fEXT: procedure(_program: GLuint; location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat); stdcall;
  2966. glProgramUniform4fEXT: procedure(_program: GLuint; location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat; v3: GLfloat); stdcall;
  2967. glProgramUniform1iEXT: procedure(_program: GLuint; location: GLint; v0: GLint); stdcall;
  2968. glProgramUniform2iEXT: procedure(_program: GLuint; location: GLint; v0: GLint; v1: GLint); stdcall;
  2969. glProgramUniform3iEXT: procedure(_program: GLuint; location: GLint; v0: GLint; v1: GLint; v2: GLint); stdcall;
  2970. glProgramUniform4iEXT: procedure(_program: GLuint; location: GLint; v0: GLint; v1: GLint; v2: GLint; v3: GLint); stdcall;
  2971. glProgramUniform1fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  2972. glProgramUniform2fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  2973. glProgramUniform3fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  2974. glProgramUniform4fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  2975. glProgramUniform1ivEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint); stdcall;
  2976. glProgramUniform2ivEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint); stdcall;
  2977. glProgramUniform3ivEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint); stdcall;
  2978. glProgramUniform4ivEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint); stdcall;
  2979. glProgramUniformMatrix2fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2980. glProgramUniformMatrix3fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2981. glProgramUniformMatrix4fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2982. glProgramUniformMatrix2x3fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2983. glProgramUniformMatrix3x2fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2984. glProgramUniformMatrix2x4fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2985. glProgramUniformMatrix4x2fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2986. glProgramUniformMatrix3x4fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2987. glProgramUniformMatrix4x3fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2988. glTextureBufferEXT: procedure(texture: GLuint; target: GLenum; internalformat: GLenum; buffer: GLuint); stdcall;
  2989. glMultiTexBufferEXT: procedure(texunit: GLenum; target: GLenum; internalformat: GLenum; buffer: GLuint); stdcall;
  2990. glTextureParameterIivEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2991. glTextureParameterIuivEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; const params: PGLuint); stdcall;
  2992. glGetTextureParameterIivEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2993. glGetTextureParameterIuivEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; params: PGLuint); stdcall;
  2994. glMultiTexParameterIivEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2995. glMultiTexParameterIuivEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLuint); stdcall;
  2996. glGetMultiTexParameterIivEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2997. glGetMultiTexParameterIuivEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLuint); stdcall;
  2998. glProgramUniform1uiEXT: procedure(_program: GLuint; location: GLint; v0: GLuint); stdcall;
  2999. glProgramUniform2uiEXT: procedure(_program: GLuint; location: GLint; v0: GLuint; v1: GLuint); stdcall;
  3000. glProgramUniform3uiEXT: procedure(_program: GLuint; location: GLint; v0: GLuint; v1: GLuint; v2: GLuint); stdcall;
  3001. glProgramUniform4uiEXT: procedure(_program: GLuint; location: GLint; v0: GLuint; v1: GLuint; v2: GLuint; v3: GLuint); stdcall;
  3002. glProgramUniform1uivEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  3003. glProgramUniform2uivEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  3004. glProgramUniform3uivEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  3005. glProgramUniform4uivEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  3006. glNamedProgramLocalParameters4fvEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; count: GLsizei; const params: PGLfloat); stdcall;
  3007. glNamedProgramLocalParameterI4iEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); stdcall;
  3008. glNamedProgramLocalParameterI4ivEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; const params: PGLint); stdcall;
  3009. glNamedProgramLocalParametersI4ivEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; count: GLsizei; const params: PGLint); stdcall;
  3010. glNamedProgramLocalParameterI4uiEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); stdcall;
  3011. glNamedProgramLocalParameterI4uivEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; const params: PGLuint); stdcall;
  3012. glNamedProgramLocalParametersI4uivEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; count: GLsizei; const params: PGLuint); stdcall;
  3013. glGetNamedProgramLocalParameterIivEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; params: PGLint); stdcall;
  3014. glGetNamedProgramLocalParameterIuivEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; params: PGLuint); stdcall;
  3015. glEnableClientStateiEXT: procedure(_array: GLenum; index: GLuint); stdcall;
  3016. glDisableClientStateiEXT: procedure(_array: GLenum; index: GLuint); stdcall;
  3017. glGetFloati_vEXT: procedure(pname: GLenum; index: GLuint; params: PGLfloat); stdcall;
  3018. glGetDoublei_vEXT: procedure(pname: GLenum; index: GLuint; params: PGLdouble); stdcall;
  3019. glGetPointeri_vEXT: procedure(pname: GLenum; index: GLuint; params:Ppointer); stdcall;
  3020. glNamedProgramStringEXT: procedure(_program: GLuint; target: GLenum; format: GLenum; len: GLsizei; const _string: pointer); stdcall;
  3021. glNamedProgramLocalParameter4dEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  3022. glNamedProgramLocalParameter4dvEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; const params: PGLdouble); stdcall;
  3023. glNamedProgramLocalParameter4fEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  3024. glNamedProgramLocalParameter4fvEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; const params: PGLfloat); stdcall;
  3025. glGetNamedProgramLocalParameterdvEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; params: PGLdouble); stdcall;
  3026. glGetNamedProgramLocalParameterfvEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; params: PGLfloat); stdcall;
  3027. glGetNamedProgramivEXT: procedure(_program: GLuint; target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3028. glGetNamedProgramStringEXT: procedure(_program: GLuint; target: GLenum; pname: GLenum; _string: pointer); stdcall;
  3029. glNamedRenderbufferStorageEXT: procedure(renderbuffer: GLuint; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  3030. glGetNamedRenderbufferParameterivEXT: procedure(renderbuffer: GLuint; pname: GLenum; params: PGLint); stdcall;
  3031. glNamedRenderbufferStorageMultisampleEXT: procedure(renderbuffer: GLuint; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  3032. glNamedRenderbufferStorageMultisampleCoverageEXT: procedure(renderbuffer: GLuint; coverageSamples: GLsizei; colorSamples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  3033. glCheckNamedFramebufferStatusEXT: function(framebuffer: GLuint; target: GLenum): GLenum; stdcall;
  3034. glNamedFramebufferTexture1DEXT: procedure(framebuffer: GLuint; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); stdcall;
  3035. glNamedFramebufferTexture2DEXT: procedure(framebuffer: GLuint; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); stdcall;
  3036. glNamedFramebufferTexture3DEXT: procedure(framebuffer: GLuint; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint; zoffset: GLint); stdcall;
  3037. glNamedFramebufferRenderbufferEXT: procedure(framebuffer: GLuint; attachment: GLenum; renderbuffertarget: GLenum; renderbuffer: GLuint); stdcall;
  3038. glGetNamedFramebufferAttachmentParameterivEXT: procedure(framebuffer: GLuint; attachment: GLenum; pname: GLenum; params: PGLint); stdcall;
  3039. glGenerateTextureMipmapEXT: procedure(texture: GLuint; target: GLenum); stdcall;
  3040. glGenerateMultiTexMipmapEXT: procedure(texunit: GLenum; target: GLenum); stdcall;
  3041. glFramebufferDrawBufferEXT: procedure(framebuffer: GLuint; mode: GLenum); stdcall;
  3042. glFramebufferDrawBuffersEXT: procedure(framebuffer: GLuint; n: GLsizei; const bufs: PGLenum); stdcall;
  3043. glFramebufferReadBufferEXT: procedure(framebuffer: GLuint; mode: GLenum); stdcall;
  3044. glGetFramebufferParameterivEXT: procedure(framebuffer: GLuint; pname: GLenum; params: PGLint); stdcall;
  3045. glNamedCopyBufferSubDataEXT: procedure(readBuffer: GLuint; writeBuffer: GLuint; readOffset: GLintptr; writeOffset: GLintptr; size: GLsizeiptr); stdcall;
  3046. glNamedFramebufferTextureEXT: procedure(framebuffer: GLuint; attachment: GLenum; texture: GLuint; level: GLint); stdcall;
  3047. glNamedFramebufferTextureLayerEXT: procedure(framebuffer: GLuint; attachment: GLenum; texture: GLuint; level: GLint; layer: GLint); stdcall;
  3048. glNamedFramebufferTextureFaceEXT: procedure(framebuffer: GLuint; attachment: GLenum; texture: GLuint; level: GLint; face: GLenum); stdcall;
  3049. glTextureRenderbufferEXT: procedure(texture: GLuint; target: GLenum; renderbuffer: GLuint); stdcall;
  3050. glMultiTexRenderbufferEXT: procedure(texunit: GLenum; target: GLenum; renderbuffer: GLuint); stdcall;
  3051. glVertexArrayVertexOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; size: GLint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3052. glVertexArrayColorOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; size: GLint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3053. glVertexArrayEdgeFlagOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; stride: GLsizei; offset: GLintptr); stdcall;
  3054. glVertexArrayIndexOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3055. glVertexArrayNormalOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3056. glVertexArrayTexCoordOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; size: GLint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3057. glVertexArrayMultiTexCoordOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; texunit: GLenum; size: GLint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3058. glVertexArrayFogCoordOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3059. glVertexArraySecondaryColorOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; size: GLint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3060. glVertexArrayVertexAttribOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei; offset: GLintptr); stdcall;
  3061. glVertexArrayVertexAttribIOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; index: GLuint; size: GLint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3062. glEnableVertexArrayEXT: procedure(vaobj: GLuint; _array: GLenum); stdcall;
  3063. glDisableVertexArrayEXT: procedure(vaobj: GLuint; _array: GLenum); stdcall;
  3064. glEnableVertexArrayAttribEXT: procedure(vaobj: GLuint; index: GLuint); stdcall;
  3065. glDisableVertexArrayAttribEXT: procedure(vaobj: GLuint; index: GLuint); stdcall;
  3066. glGetVertexArrayIntegervEXT: procedure(vaobj: GLuint; pname: GLenum; param: PGLint); stdcall;
  3067. glGetVertexArrayPointervEXT: procedure(vaobj: GLuint; pname: GLenum; param:Ppointer); stdcall;
  3068. glGetVertexArrayIntegeri_vEXT: procedure(vaobj: GLuint; index: GLuint; pname: GLenum; param: PGLint); stdcall;
  3069. glGetVertexArrayPointeri_vEXT: procedure(vaobj: GLuint; index: GLuint; pname: GLenum; param:Ppointer); stdcall;
  3070. glMapNamedBufferRangeEXT: function(buffer: GLuint; offset: GLintptr; length: GLsizeiptr; access: GLbitfield): pointer; stdcall;
  3071. glFlushMappedNamedBufferRangeEXT: procedure(buffer: GLuint; offset: GLintptr; length: GLsizeiptr); stdcall;
  3072. glNamedBufferStorageEXT: procedure(buffer: GLuint; size: GLsizeiptr; const data: pointer; flags: GLbitfield); stdcall;
  3073. glClearNamedBufferDataEXT: procedure(buffer: GLuint; internalformat: GLenum; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  3074. glClearNamedBufferSubDataEXT: procedure(buffer: GLuint; internalformat: GLenum; offset: GLsizeiptr; size: GLsizeiptr; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  3075. glNamedFramebufferParameteriEXT: procedure(framebuffer: GLuint; pname: GLenum; param: GLint); stdcall;
  3076. glGetNamedFramebufferParameterivEXT: procedure(framebuffer: GLuint; pname: GLenum; params: PGLint); stdcall;
  3077. glProgramUniform1dEXT: procedure(_program: GLuint; location: GLint; x: GLdouble); stdcall;
  3078. glProgramUniform2dEXT: procedure(_program: GLuint; location: GLint; x: GLdouble; y: GLdouble); stdcall;
  3079. glProgramUniform3dEXT: procedure(_program: GLuint; location: GLint; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  3080. glProgramUniform4dEXT: procedure(_program: GLuint; location: GLint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  3081. glProgramUniform1dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  3082. glProgramUniform2dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  3083. glProgramUniform3dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  3084. glProgramUniform4dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  3085. glProgramUniformMatrix2dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3086. glProgramUniformMatrix3dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3087. glProgramUniformMatrix4dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3088. glProgramUniformMatrix2x3dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3089. glProgramUniformMatrix2x4dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3090. glProgramUniformMatrix3x2dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3091. glProgramUniformMatrix3x4dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3092. glProgramUniformMatrix4x2dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3093. glProgramUniformMatrix4x3dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3094. glTextureBufferRangeEXT: procedure(texture: GLuint; target: GLenum; internalformat: GLenum; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); stdcall;
  3095. glTextureStorage1DEXT: procedure(texture: GLuint; target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei); stdcall;
  3096. glTextureStorage2DEXT: procedure(texture: GLuint; target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  3097. glTextureStorage3DEXT: procedure(texture: GLuint; target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei); stdcall;
  3098. glTextureStorage2DMultisampleEXT: procedure(texture: GLuint; target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; fixedsamplelocations: GLboolean); stdcall;
  3099. glTextureStorage3DMultisampleEXT: procedure(texture: GLuint; target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; fixedsamplelocations: GLboolean); stdcall;
  3100. glVertexArrayBindVertexBufferEXT: procedure(vaobj: GLuint; bindingindex: GLuint; buffer: GLuint; offset: GLintptr; stride: GLsizei); stdcall;
  3101. glVertexArrayVertexAttribFormatEXT: procedure(vaobj: GLuint; attribindex: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; relativeoffset: GLuint); stdcall;
  3102. glVertexArrayVertexAttribIFormatEXT: procedure(vaobj: GLuint; attribindex: GLuint; size: GLint; _type: GLenum; relativeoffset: GLuint); stdcall;
  3103. glVertexArrayVertexAttribLFormatEXT: procedure(vaobj: GLuint; attribindex: GLuint; size: GLint; _type: GLenum; relativeoffset: GLuint); stdcall;
  3104. glVertexArrayVertexAttribBindingEXT: procedure(vaobj: GLuint; attribindex: GLuint; bindingindex: GLuint); stdcall;
  3105. glVertexArrayVertexBindingDivisorEXT: procedure(vaobj: GLuint; bindingindex: GLuint; divisor: GLuint); stdcall;
  3106. glVertexArrayVertexAttribLOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; index: GLuint; size: GLint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3107. glTexturePageCommitmentEXT: procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; commit: GLboolean); stdcall;
  3108. glVertexArrayVertexAttribDivisorEXT: procedure(vaobj: GLuint; index: GLuint; divisor: GLuint); stdcall;
  3109. {$EndIf}
  3110. {$IfDef GL_EXT_draw_buffers2}
  3111. glColorMaskIndexedEXT: procedure(index: GLuint; r: GLboolean; g: GLboolean; b: GLboolean; a: GLboolean); stdcall;
  3112. {$EndIf}
  3113. {$IfDef GL_EXT_draw_instanced}
  3114. glDrawArraysInstancedEXT: procedure(mode: GLenum; start: GLint; count: GLsizei; primcount: GLsizei); stdcall;
  3115. glDrawElementsInstancedEXT: procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: pointer; primcount: GLsizei); stdcall;
  3116. {$EndIf}
  3117. {$IfDef GL_EXT_draw_range_elements}
  3118. glDrawRangeElementsEXT: procedure(mode: GLenum; start: GLuint; _end: GLuint; count: GLsizei; _type: GLenum; const indices: pointer); stdcall;
  3119. {$EndIf}
  3120. {$IfDef GL_EXT_external_buffer}
  3121. glBufferStorageExternalEXT: procedure(target: GLenum; offset: GLintptr; size: GLsizeiptr; clientBuffer: GLeglClientBufferEXT; flags: GLbitfield); stdcall;
  3122. glNamedBufferStorageExternalEXT: procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; clientBuffer: GLeglClientBufferEXT; flags: GLbitfield); stdcall;
  3123. {$EndIf}
  3124. {$IfDef GL_EXT_fog_coord}
  3125. glFogCoordfEXT: procedure(coord: GLfloat); stdcall;
  3126. glFogCoordfvEXT: procedure(const coord: PGLfloat); stdcall;
  3127. glFogCoorddEXT: procedure(coord: GLdouble); stdcall;
  3128. glFogCoorddvEXT: procedure(const coord: PGLdouble); stdcall;
  3129. glFogCoordPointerEXT: procedure(_type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  3130. {$EndIf}
  3131. {$IfDef GL_EXT_framebuffer_blit}
  3132. glBlitFramebufferEXT: procedure(srcX0: GLint; srcY0: GLint; srcX1: GLint; srcY1: GLint; dstX0: GLint; dstY0: GLint; dstX1: GLint; dstY1: GLint; mask: GLbitfield; filter: GLenum); stdcall;
  3133. {$EndIf}
  3134. {$IfDef GL_EXT_framebuffer_multisample}
  3135. glRenderbufferStorageMultisampleEXT: procedure(target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  3136. {$EndIf}
  3137. {$IfDef GL_EXT_framebuffer_object}
  3138. // glIsRenderbufferEXT: function(renderbuffer: GLuint): GLboolean; stdcall;
  3139. // glBindRenderbufferEXT: procedure(target: GLenum; renderbuffer: GLuint); stdcall;
  3140. // glDeleteRenderbuffersEXT: procedure(n: GLsizei; const renderbuffers: PGLuint); stdcall;
  3141. // glGenRenderbuffersEXT: procedure(n: GLsizei; renderbuffers: PGLuint); stdcall;
  3142. // glRenderbufferStorageEXT: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  3143. glGetRenderbufferParameterivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3144. // glIsFramebufferEXT: function(framebuffer: GLuint): GLboolean; stdcall;
  3145. // glBindFramebufferEXT: procedure(target: GLenum; framebuffer: GLuint); stdcall;
  3146. // glDeleteFramebuffersEXT: procedure(n: GLsizei; const framebuffers: PGLuint); stdcall;
  3147. // glGenFramebuffersEXT: procedure(n: GLsizei; framebuffers: PGLuint); stdcall;
  3148. // glCheckFramebufferStatusEXT: function(target: GLenum): GLenum; stdcall;
  3149. glFramebufferTexture1DEXT: procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); stdcall;
  3150. // glFramebufferTexture2DEXT: procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); stdcall;
  3151. glFramebufferTexture3DEXT: procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint; zoffset: GLint); stdcall;
  3152. // glFramebufferRenderbufferEXT: procedure(target: GLenum; attachment: GLenum; renderbuffertarget: GLenum; renderbuffer: GLuint); stdcall;
  3153. glGetFramebufferAttachmentParameterivEXT: procedure(target: GLenum; attachment: GLenum; pname: GLenum; params: PGLint); stdcall;
  3154. glGenerateMipmapEXT: procedure(target: GLenum); stdcall;
  3155. {$EndIf}
  3156. {$IfDef GL_EXT_geometry_shader4}
  3157. glProgramParameteriEXT: procedure(_program: GLuint; pname: GLenum; value: GLint); stdcall;
  3158. {$EndIf}
  3159. {$IfDef GL_EXT_gpu_program_parameters}
  3160. glProgramEnvParameters4fvEXT: procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLfloat); stdcall;
  3161. glProgramLocalParameters4fvEXT: procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLfloat); stdcall;
  3162. {$EndIf}
  3163. {$IfDef GL_EXT_gpu_shader4}
  3164. glGetUniformuivEXT: procedure(_program: GLuint; location: GLint; params: PGLuint); stdcall;
  3165. glBindFragDataLocationEXT: procedure(_program: GLuint; color: GLuint; const name: PGLchar); stdcall;
  3166. glGetFragDataLocationEXT: function(_program: GLuint; const name: PGLchar): GLint; stdcall;
  3167. glUniform1uiEXT: procedure(location: GLint; v0: GLuint); stdcall;
  3168. glUniform2uiEXT: procedure(location: GLint; v0: GLuint; v1: GLuint); stdcall;
  3169. glUniform3uiEXT: procedure(location: GLint; v0: GLuint; v1: GLuint; v2: GLuint); stdcall;
  3170. glUniform4uiEXT: procedure(location: GLint; v0: GLuint; v1: GLuint; v2: GLuint; v3: GLuint); stdcall;
  3171. glUniform1uivEXT: procedure(location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  3172. glUniform2uivEXT: procedure(location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  3173. glUniform3uivEXT: procedure(location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  3174. glUniform4uivEXT: procedure(location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  3175. glVertexAttribI1iEXT: procedure(index: GLuint; x: GLint); stdcall;
  3176. glVertexAttribI2iEXT: procedure(index: GLuint; x: GLint; y: GLint); stdcall;
  3177. glVertexAttribI3iEXT: procedure(index: GLuint; x: GLint; y: GLint; z: GLint); stdcall;
  3178. glVertexAttribI4iEXT: procedure(index: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); stdcall;
  3179. glVertexAttribI1uiEXT: procedure(index: GLuint; x: GLuint); stdcall;
  3180. glVertexAttribI2uiEXT: procedure(index: GLuint; x: GLuint; y: GLuint); stdcall;
  3181. glVertexAttribI3uiEXT: procedure(index: GLuint; x: GLuint; y: GLuint; z: GLuint); stdcall;
  3182. glVertexAttribI4uiEXT: procedure(index: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); stdcall;
  3183. glVertexAttribI1ivEXT: procedure(index: GLuint; const v: PGLint); stdcall;
  3184. glVertexAttribI2ivEXT: procedure(index: GLuint; const v: PGLint); stdcall;
  3185. glVertexAttribI3ivEXT: procedure(index: GLuint; const v: PGLint); stdcall;
  3186. glVertexAttribI4ivEXT: procedure(index: GLuint; const v: PGLint); stdcall;
  3187. glVertexAttribI1uivEXT: procedure(index: GLuint; const v: PGLuint); stdcall;
  3188. glVertexAttribI2uivEXT: procedure(index: GLuint; const v: PGLuint); stdcall;
  3189. glVertexAttribI3uivEXT: procedure(index: GLuint; const v: PGLuint); stdcall;
  3190. glVertexAttribI4uivEXT: procedure(index: GLuint; const v: PGLuint); stdcall;
  3191. glVertexAttribI4bvEXT: procedure(index: GLuint; const v: PGLbyte); stdcall;
  3192. glVertexAttribI4svEXT: procedure(index: GLuint; const v: PGLshort); stdcall;
  3193. glVertexAttribI4ubvEXT: procedure(index: GLuint; const v: PGLubyte); stdcall;
  3194. glVertexAttribI4usvEXT: procedure(index: GLuint; const v: PGLushort); stdcall;
  3195. glVertexAttribIPointerEXT: procedure(index: GLuint; size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  3196. glGetVertexAttribIivEXT: procedure(index: GLuint; pname: GLenum; params: PGLint); stdcall;
  3197. glGetVertexAttribIuivEXT: procedure(index: GLuint; pname: GLenum; params: PGLuint); stdcall;
  3198. {$EndIf}
  3199. {$IfDef GL_EXT_histogram}
  3200. glGetHistogramEXT: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; values: pointer); stdcall;
  3201. glGetHistogramParameterfvEXT: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3202. glGetHistogramParameterivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3203. glGetMinmaxEXT: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; values: pointer); stdcall;
  3204. glGetMinmaxParameterfvEXT: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3205. glGetMinmaxParameterivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3206. glHistogramEXT: procedure(target: GLenum; width: GLsizei; internalformat: GLenum; sink: GLboolean); stdcall;
  3207. glMinmaxEXT: procedure(target: GLenum; internalformat: GLenum; sink: GLboolean); stdcall;
  3208. glResetHistogramEXT: procedure(target: GLenum); stdcall;
  3209. glResetMinmaxEXT: procedure(target: GLenum); stdcall;
  3210. {$EndIf}
  3211. {$IfDef GL_EXT_index_func}
  3212. glIndexFuncEXT: procedure(func: GLenum; ref: GLclampf); stdcall;
  3213. {$EndIf}
  3214. {$IfDef GL_EXT_index_material}
  3215. glIndexMaterialEXT: procedure(face: GLenum; mode: GLenum); stdcall;
  3216. {$EndIf}
  3217. {$IfDef GL_EXT_light_texture}
  3218. glApplyTextureEXT: procedure(mode: GLenum); stdcall;
  3219. glTextureLightEXT: procedure(pname: GLenum); stdcall;
  3220. glTextureMaterialEXT: procedure(face: GLenum; mode: GLenum); stdcall;
  3221. {$EndIf}
  3222. {$IfDef GL_EXT_memory_object}
  3223. glGetUnsignedBytevEXT: procedure(pname: GLenum; data: PGLubyte); stdcall;
  3224. glGetUnsignedBytei_vEXT: procedure(target: GLenum; index: GLuint; data: PGLubyte); stdcall;
  3225. glDeleteMemoryObjectsEXT: procedure(n: GLsizei; const memoryObjects: PGLuint); stdcall;
  3226. glIsMemoryObjectEXT: function(memoryObject: GLuint): GLboolean; stdcall;
  3227. glCreateMemoryObjectsEXT: procedure(n: GLsizei; memoryObjects: PGLuint); stdcall;
  3228. glMemoryObjectParameterivEXT: procedure(memoryObject: GLuint; pname: GLenum; const params: PGLint); stdcall;
  3229. glGetMemoryObjectParameterivEXT: procedure(memoryObject: GLuint; pname: GLenum; params: PGLint); stdcall;
  3230. glTexStorageMem2DEXT: procedure(target: GLenum; levels: GLsizei; internalFormat: GLenum; width: GLsizei; height: GLsizei; memory: GLuint; offset: GLuint64); stdcall;
  3231. glTexStorageMem2DMultisampleEXT: procedure(target: GLenum; samples: GLsizei; internalFormat: GLenum; width: GLsizei; height: GLsizei; fixedSampleLocations: GLboolean; memory: GLuint; offset: GLuint64); stdcall;
  3232. glTexStorageMem3DEXT: procedure(target: GLenum; levels: GLsizei; internalFormat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; memory: GLuint; offset: GLuint64); stdcall;
  3233. glTexStorageMem3DMultisampleEXT: procedure(target: GLenum; samples: GLsizei; internalFormat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; fixedSampleLocations: GLboolean; memory: GLuint; offset: GLuint64); stdcall;
  3234. glBufferStorageMemEXT: procedure(target: GLenum; size: GLsizeiptr; memory: GLuint; offset: GLuint64); stdcall;
  3235. glTextureStorageMem2DEXT: procedure(texture: GLuint; levels: GLsizei; internalFormat: GLenum; width: GLsizei; height: GLsizei; memory: GLuint; offset: GLuint64); stdcall;
  3236. glTextureStorageMem2DMultisampleEXT: procedure(texture: GLuint; samples: GLsizei; internalFormat: GLenum; width: GLsizei; height: GLsizei; fixedSampleLocations: GLboolean; memory: GLuint; offset: GLuint64); stdcall;
  3237. glTextureStorageMem3DEXT: procedure(texture: GLuint; levels: GLsizei; internalFormat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; memory: GLuint; offset: GLuint64); stdcall;
  3238. glTextureStorageMem3DMultisampleEXT: procedure(texture: GLuint; samples: GLsizei; internalFormat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; fixedSampleLocations: GLboolean; memory: GLuint; offset: GLuint64); stdcall;
  3239. glNamedBufferStorageMemEXT: procedure(buffer: GLuint; size: GLsizeiptr; memory: GLuint; offset: GLuint64); stdcall;
  3240. glTexStorageMem1DEXT: procedure(target: GLenum; levels: GLsizei; internalFormat: GLenum; width: GLsizei; memory: GLuint; offset: GLuint64); stdcall;
  3241. glTextureStorageMem1DEXT: procedure(texture: GLuint; levels: GLsizei; internalFormat: GLenum; width: GLsizei; memory: GLuint; offset: GLuint64); stdcall;
  3242. {$EndIf}
  3243. {$IfDef GL_EXT_memory_object_fd}
  3244. glImportMemoryFdEXT: procedure(memory: GLuint; size: GLuint64; handleType: GLenum; fd: GLint); stdcall;
  3245. {$EndIf}
  3246. {$IfDef GL_EXT_memory_object_win32}
  3247. glImportMemoryWin32HandleEXT: procedure(memory: GLuint; size: GLuint64; handleType: GLenum; handle: pointer); stdcall;
  3248. glImportMemoryWin32NameEXT: procedure(memory: GLuint; size: GLuint64; handleType: GLenum; const name: pointer); stdcall;
  3249. {$EndIf}
  3250. {$IfDef GL_EXT_multi_draw_arrays}
  3251. glMultiDrawArraysEXT: procedure(mode: GLenum; const first: PGLint; const count: PGLsizei; primcount: GLsizei); stdcall;
  3252. glMultiDrawElementsEXT: procedure(mode: GLenum; const count: PGLsizei; _type: GLenum; const indices:Ppointer; primcount: GLsizei); stdcall;
  3253. {$EndIf}
  3254. {$IfDef GL_EXT_multisample}
  3255. glSampleMaskEXT: procedure(value: GLclampf; invert: GLboolean); stdcall;
  3256. glSamplePatternEXT: procedure(pattern: GLenum); stdcall;
  3257. {$EndIf}
  3258. {$IfDef GL_EXT_paletted_texture}
  3259. glColorTableEXT: procedure(target: GLenum; internalFormat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; const table: pointer); stdcall;
  3260. glGetColorTableEXT: procedure(target: GLenum; format: GLenum; _type: GLenum; data: pointer); stdcall;
  3261. glGetColorTableParameterivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3262. glGetColorTableParameterfvEXT: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3263. {$EndIf}
  3264. {$IfDef GL_EXT_pixel_transform}
  3265. glPixelTransformParameteriEXT: procedure(target: GLenum; pname: GLenum; param: GLint); stdcall;
  3266. glPixelTransformParameterfEXT: procedure(target: GLenum; pname: GLenum; param: GLfloat); stdcall;
  3267. glPixelTransformParameterivEXT: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  3268. glPixelTransformParameterfvEXT: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  3269. glGetPixelTransformParameterivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3270. glGetPixelTransformParameterfvEXT: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3271. {$EndIf}
  3272. {$IfDef GL_EXT_point_parameters}
  3273. glPointParameterfEXT: procedure(pname: GLenum; param: GLfloat); stdcall;
  3274. glPointParameterfvEXT: procedure(pname: GLenum; const params: PGLfloat); stdcall;
  3275. {$EndIf}
  3276. {$IfDef GL_EXT_polygon_offset}
  3277. glPolygonOffsetEXT: procedure(factor: GLfloat; bias: GLfloat); stdcall;
  3278. {$EndIf}
  3279. {$IfDef GL_EXT_polygon_offset_clamp}
  3280. glPolygonOffsetClampEXT: procedure(factor: GLfloat; units: GLfloat; clamp: GLfloat); stdcall;
  3281. {$EndIf}
  3282. {$IfDef GL_EXT_provoking_vertex}
  3283. glProvokingVertexEXT: procedure(mode: GLenum); stdcall;
  3284. {$EndIf}
  3285. {$IfDef GL_EXT_raster_multisample}
  3286. glRasterSamplesEXT: procedure(samples: GLuint; fixedsamplelocations: GLboolean); stdcall;
  3287. {$EndIf}
  3288. {$IfDef GL_EXT_secondary_color}
  3289. glSecondaryColor3bEXT: procedure(red: GLbyte; green: GLbyte; blue: GLbyte); stdcall;
  3290. glSecondaryColor3bvEXT: procedure(const v: PGLbyte); stdcall;
  3291. glSecondaryColor3dEXT: procedure(red: GLdouble; green: GLdouble; blue: GLdouble); stdcall;
  3292. glSecondaryColor3dvEXT: procedure(const v: PGLdouble); stdcall;
  3293. glSecondaryColor3fEXT: procedure(red: GLfloat; green: GLfloat; blue: GLfloat); stdcall;
  3294. glSecondaryColor3fvEXT: procedure(const v: PGLfloat); stdcall;
  3295. glSecondaryColor3iEXT: procedure(red: GLint; green: GLint; blue: GLint); stdcall;
  3296. glSecondaryColor3ivEXT: procedure(const v: PGLint); stdcall;
  3297. glSecondaryColor3sEXT: procedure(red: GLshort; green: GLshort; blue: GLshort); stdcall;
  3298. glSecondaryColor3svEXT: procedure(const v: PGLshort); stdcall;
  3299. glSecondaryColor3ubEXT: procedure(red: GLubyte; green: GLubyte; blue: GLubyte); stdcall;
  3300. glSecondaryColor3ubvEXT: procedure(const v: PGLubyte); stdcall;
  3301. glSecondaryColor3uiEXT: procedure(red: GLuint; green: GLuint; blue: GLuint); stdcall;
  3302. glSecondaryColor3uivEXT: procedure(const v: PGLuint); stdcall;
  3303. glSecondaryColor3usEXT: procedure(red: GLushort; green: GLushort; blue: GLushort); stdcall;
  3304. glSecondaryColor3usvEXT: procedure(const v: PGLushort); stdcall;
  3305. glSecondaryColorPointerEXT: procedure(size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  3306. {$EndIf}
  3307. {$IfDef GL_EXT_semaphore}
  3308. glGenSemaphoresEXT: procedure(n: GLsizei; semaphores: PGLuint); stdcall;
  3309. glDeleteSemaphoresEXT: procedure(n: GLsizei; const semaphores: PGLuint); stdcall;
  3310. glIsSemaphoreEXT: function(semaphore: GLuint): GLboolean; stdcall;
  3311. glSemaphoreParameterui64vEXT: procedure(semaphore: GLuint; pname: GLenum; const params: PGLuint64); stdcall;
  3312. glGetSemaphoreParameterui64vEXT: procedure(semaphore: GLuint; pname: GLenum; params: PGLuint64); stdcall;
  3313. glWaitSemaphoreEXT: procedure(semaphore: GLuint; numBufferBarriers: GLuint; const buffers: PGLuint; numTextureBarriers: GLuint; const textures: PGLuint; const srcLayouts: PGLenum); stdcall;
  3314. glSignalSemaphoreEXT: procedure(semaphore: GLuint; numBufferBarriers: GLuint; const buffers: PGLuint; numTextureBarriers: GLuint; const textures: PGLuint; const dstLayouts: PGLenum); stdcall;
  3315. {$EndIf}
  3316. {$IfDef GL_EXT_semaphore_fd}
  3317. glImportSemaphoreFdEXT: procedure(semaphore: GLuint; handleType: GLenum; fd: GLint); stdcall;
  3318. {$EndIf}
  3319. {$IfDef GL_EXT_semaphore_win32}
  3320. glImportSemaphoreWin32HandleEXT: procedure(semaphore: GLuint; handleType: GLenum; handle: pointer); stdcall;
  3321. glImportSemaphoreWin32NameEXT: procedure(semaphore: GLuint; handleType: GLenum; const name: pointer); stdcall;
  3322. {$EndIf}
  3323. {$IfDef GL_EXT_separate_shader_objects}
  3324. glUseShaderProgramEXT: procedure(_type: GLenum; _program: GLuint); stdcall;
  3325. glActiveProgramEXT: procedure(_program: GLuint); stdcall;
  3326. glCreateShaderProgramEXT: function(_type: GLenum; const _string: PGLchar): GLuint; stdcall;
  3327. {$EndIf}
  3328. {$IfDef GL_EXT_shader_framebuffer_fetch_non_coherent}
  3329. glFramebufferFetchBarrierEXT: procedure; stdcall;
  3330. {$EndIf}
  3331. {$IfDef GL_EXT_shader_image_load_store}
  3332. glBindImageTextureEXT: procedure(index: GLuint; texture: GLuint; level: GLint; layered: GLboolean; layer: GLint; access: GLenum; format: GLint); stdcall;
  3333. glMemoryBarrierEXT: procedure(barriers: GLbitfield); stdcall;
  3334. {$EndIf}
  3335. {$IfDef GL_EXT_stencil_clear_tag}
  3336. glStencilClearTagEXT: procedure(stencilTagBits: GLsizei; stencilClearTag: GLuint); stdcall;
  3337. {$EndIf}
  3338. {$IfDef GL_EXT_stencil_two_side}
  3339. glActiveStencilFaceEXT: procedure(face: GLenum); stdcall;
  3340. {$EndIf}
  3341. {$IfDef GL_EXT_subtexture}
  3342. glTexSubImage1DEXT: procedure(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  3343. glTexSubImage2DEXT: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  3344. {$EndIf}
  3345. {$IfDef GL_EXT_texture3D}
  3346. glTexImage3DEXT: procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  3347. glTexSubImage3DEXT: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  3348. {$EndIf}
  3349. {$IfDef GL_EXT_texture_array}
  3350. glFramebufferTextureLayerEXT: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; layer: GLint); stdcall;
  3351. {$EndIf}
  3352. {$IfDef GL_EXT_texture_buffer_object}
  3353. glTexBufferEXT: procedure(target: GLenum; internalformat: GLenum; buffer: GLuint); stdcall;
  3354. {$EndIf}
  3355. {$IfDef GL_EXT_texture_integer}
  3356. glTexParameterIivEXT: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  3357. glTexParameterIuivEXT: procedure(target: GLenum; pname: GLenum; const params: PGLuint); stdcall;
  3358. glGetTexParameterIivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3359. glGetTexParameterIuivEXT: procedure(target: GLenum; pname: GLenum; params: PGLuint); stdcall;
  3360. glClearColorIiEXT: procedure(red: GLint; green: GLint; blue: GLint; alpha: GLint); stdcall;
  3361. glClearColorIuiEXT: procedure(red: GLuint; green: GLuint; blue: GLuint; alpha: GLuint); stdcall;
  3362. {$EndIf}
  3363. {$IfDef GL_EXT_texture_object}
  3364. glAreTexturesResidentEXT: function(n: GLsizei; const textures: PGLuint; residences: PGLboolean): GLboolean; stdcall;
  3365. glBindTextureEXT: procedure(target: GLenum; texture: GLuint); stdcall;
  3366. glDeleteTexturesEXT: procedure(n: GLsizei; const textures: PGLuint); stdcall;
  3367. glGenTexturesEXT: procedure(n: GLsizei; textures: PGLuint); stdcall;
  3368. glIsTextureEXT: function(texture: GLuint): GLboolean; stdcall;
  3369. glPrioritizeTexturesEXT: procedure(n: GLsizei; const textures: PGLuint; const priorities: PGLclampf); stdcall;
  3370. {$EndIf}
  3371. {$IfDef GL_EXT_texture_perturb_normal}
  3372. glTextureNormalEXT: procedure(mode: GLenum); stdcall;
  3373. {$EndIf}
  3374. {$IfDef GL_EXT_texture_storage}
  3375. glTexStorage1DEXT: procedure(target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei); stdcall;
  3376. glTexStorage2DEXT: procedure(target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  3377. glTexStorage3DEXT: procedure(target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei); stdcall;
  3378. {$EndIf}
  3379. {$IfDef GL_EXT_timer_query}
  3380. glGetQueryObjecti64vEXT: procedure(id: GLuint; pname: GLenum; params: PGLint64); stdcall;
  3381. glGetQueryObjectui64vEXT: procedure(id: GLuint; pname: GLenum; params: PGLuint64); stdcall;
  3382. {$EndIf}
  3383. {$IfDef GL_EXT_transform_feedback}
  3384. glBeginTransformFeedbackEXT: procedure(primitiveMode: GLenum); stdcall;
  3385. glEndTransformFeedbackEXT: procedure; stdcall;
  3386. glBindBufferRangeEXT: procedure(target: GLenum; index: GLuint; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); stdcall;
  3387. glBindBufferOffsetEXT: procedure(target: GLenum; index: GLuint; buffer: GLuint; offset: GLintptr); stdcall;
  3388. glBindBufferBaseEXT: procedure(target: GLenum; index: GLuint; buffer: GLuint); stdcall;
  3389. glTransformFeedbackVaryingsEXT: procedure(_program: GLuint; count: GLsizei; const varyings: PPGLchar; bufferMode: GLenum); stdcall;
  3390. glGetTransformFeedbackVaryingEXT: procedure(_program: GLuint; index: GLuint; bufSize: GLsizei; length: PGLsizei; size: PGLsizei; _type: PGLenum; name: PGLchar); stdcall;
  3391. {$EndIf}
  3392. {$IfDef GL_EXT_vertex_array}
  3393. glArrayElementEXT: procedure(i: GLint); stdcall;
  3394. glColorPointerEXT: procedure(size: GLint; _type: GLenum; stride: GLsizei; count: GLsizei; const _pointer: pointer); stdcall;
  3395. glDrawArraysEXT: procedure(mode: GLenum; first: GLint; count: GLsizei); stdcall;
  3396. glEdgeFlagPointerEXT: procedure(stride: GLsizei; count: GLsizei; const pointer: PGLboolean); stdcall;
  3397. glGetPointervEXT: procedure(pname: GLenum; params:Ppointer); stdcall;
  3398. glIndexPointerEXT: procedure(_type: GLenum; stride: GLsizei; count: GLsizei; const _pointer: pointer); stdcall;
  3399. glNormalPointerEXT: procedure(_type: GLenum; stride: GLsizei; count: GLsizei; const _pointer: pointer); stdcall;
  3400. glTexCoordPointerEXT: procedure(size: GLint; _type: GLenum; stride: GLsizei; count: GLsizei; const _pointer: pointer); stdcall;
  3401. glVertexPointerEXT: procedure(size: GLint; _type: GLenum; stride: GLsizei; count: GLsizei; const _pointer: pointer); stdcall;
  3402. {$EndIf}
  3403. {$IfDef GL_EXT_vertex_attrib_64bit}
  3404. glVertexAttribL1dEXT: procedure(index: GLuint; x: GLdouble); stdcall;
  3405. glVertexAttribL2dEXT: procedure(index: GLuint; x: GLdouble; y: GLdouble); stdcall;
  3406. glVertexAttribL3dEXT: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  3407. glVertexAttribL4dEXT: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  3408. glVertexAttribL1dvEXT: procedure(index: GLuint; const v: PGLdouble); stdcall;
  3409. glVertexAttribL2dvEXT: procedure(index: GLuint; const v: PGLdouble); stdcall;
  3410. glVertexAttribL3dvEXT: procedure(index: GLuint; const v: PGLdouble); stdcall;
  3411. glVertexAttribL4dvEXT: procedure(index: GLuint; const v: PGLdouble); stdcall;
  3412. glVertexAttribLPointerEXT: procedure(index: GLuint; size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  3413. glGetVertexAttribLdvEXT: procedure(index: GLuint; pname: GLenum; params: PGLdouble); stdcall;
  3414. {$EndIf}
  3415. {$IfDef GL_EXT_vertex_shader}
  3416. glBeginVertexShaderEXT: procedure; stdcall;
  3417. glEndVertexShaderEXT: procedure; stdcall;
  3418. glBindVertexShaderEXT: procedure(id: GLuint); stdcall;
  3419. glGenVertexShadersEXT: function(range: GLuint): GLuint; stdcall;
  3420. glDeleteVertexShaderEXT: procedure(id: GLuint); stdcall;
  3421. glShaderOp1EXT: procedure(op: GLenum; res: GLuint; arg1: GLuint); stdcall;
  3422. glShaderOp2EXT: procedure(op: GLenum; res: GLuint; arg1: GLuint; arg2: GLuint); stdcall;
  3423. glShaderOp3EXT: procedure(op: GLenum; res: GLuint; arg1: GLuint; arg2: GLuint; arg3: GLuint); stdcall;
  3424. glSwizzleEXT: procedure(res: GLuint; _in: GLuint; outX: GLenum; outY: GLenum; outZ: GLenum; outW: GLenum); stdcall;
  3425. glWriteMaskEXT: procedure(res: GLuint; _in: GLuint; outX: GLenum; outY: GLenum; outZ: GLenum; outW: GLenum); stdcall;
  3426. glInsertComponentEXT: procedure(res: GLuint; src: GLuint; num: GLuint); stdcall;
  3427. glExtractComponentEXT: procedure(res: GLuint; src: GLuint; num: GLuint); stdcall;
  3428. glGenSymbolsEXT: function(datatype: GLenum; storagetype: GLenum; range: GLenum; components: GLuint): GLuint; stdcall;
  3429. glSetInvariantEXT: procedure(id: GLuint; _type: GLenum; const addr: pointer); stdcall;
  3430. glSetLocalConstantEXT: procedure(id: GLuint; _type: GLenum; const addr: pointer); stdcall;
  3431. glVariantbvEXT: procedure(id: GLuint; const addr: PGLbyte); stdcall;
  3432. glVariantsvEXT: procedure(id: GLuint; const addr: PGLshort); stdcall;
  3433. glVariantivEXT: procedure(id: GLuint; const addr: PGLint); stdcall;
  3434. glVariantfvEXT: procedure(id: GLuint; const addr: PGLfloat); stdcall;
  3435. glVariantdvEXT: procedure(id: GLuint; const addr: PGLdouble); stdcall;
  3436. glVariantubvEXT: procedure(id: GLuint; const addr: PGLubyte); stdcall;
  3437. glVariantusvEXT: procedure(id: GLuint; const addr: PGLushort); stdcall;
  3438. glVariantuivEXT: procedure(id: GLuint; const addr: PGLuint); stdcall;
  3439. glVariantPointerEXT: procedure(id: GLuint; _type: GLenum; stride: GLuint; const addr: pointer); stdcall;
  3440. glEnableVariantClientStateEXT: procedure(id: GLuint); stdcall;
  3441. glDisableVariantClientStateEXT: procedure(id: GLuint); stdcall;
  3442. glBindLightParameterEXT: function(light: GLenum; value: GLenum): GLuint; stdcall;
  3443. glBindMaterialParameterEXT: function(face: GLenum; value: GLenum): GLuint; stdcall;
  3444. glBindTexGenParameterEXT: function(_unit: GLenum; coord: GLenum; value: GLenum): GLuint; stdcall;
  3445. glBindTextureUnitParameterEXT: function(_unit: GLenum; value: GLenum): GLuint; stdcall;
  3446. glBindParameterEXT: function(value: GLenum): GLuint; stdcall;
  3447. glIsVariantEnabledEXT: function(id: GLuint; cap: GLenum): GLboolean; stdcall;
  3448. glGetVariantBooleanvEXT: procedure(id: GLuint; value: GLenum; data: PGLboolean); stdcall;
  3449. glGetVariantIntegervEXT: procedure(id: GLuint; value: GLenum; data: PGLint); stdcall;
  3450. glGetVariantFloatvEXT: procedure(id: GLuint; value: GLenum; data: PGLfloat); stdcall;
  3451. glGetVariantPointervEXT: procedure(id: GLuint; value: GLenum; data:Ppointer); stdcall;
  3452. glGetInvariantBooleanvEXT: procedure(id: GLuint; value: GLenum; data: PGLboolean); stdcall;
  3453. glGetInvariantIntegervEXT: procedure(id: GLuint; value: GLenum; data: PGLint); stdcall;
  3454. glGetInvariantFloatvEXT: procedure(id: GLuint; value: GLenum; data: PGLfloat); stdcall;
  3455. glGetLocalConstantBooleanvEXT: procedure(id: GLuint; value: GLenum; data: PGLboolean); stdcall;
  3456. glGetLocalConstantIntegervEXT: procedure(id: GLuint; value: GLenum; data: PGLint); stdcall;
  3457. glGetLocalConstantFloatvEXT: procedure(id: GLuint; value: GLenum; data: PGLfloat); stdcall;
  3458. {$EndIf}
  3459. {$IfDef GL_EXT_vertex_weighting}
  3460. glVertexWeightfEXT: procedure(weight: GLfloat); stdcall;
  3461. glVertexWeightfvEXT: procedure(const weight: PGLfloat); stdcall;
  3462. glVertexWeightPointerEXT: procedure(size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  3463. {$EndIf}
  3464. {$IfDef GL_EXT_win32_keyed_mutex}
  3465. glAcquireKeyedMutexWin32EXT: function(memory: GLuint; key: GLuint64; timeout: GLuint): GLboolean; stdcall;
  3466. glReleaseKeyedMutexWin32EXT: function(memory: GLuint; key: GLuint64): GLboolean; stdcall;
  3467. {$EndIf}
  3468. {$IfDef GL_EXT_window_rectangles}
  3469. glWindowRectanglesEXT: procedure(mode: GLenum; count: GLsizei; const box: PGLint); stdcall;
  3470. {$EndIf}
  3471. {$IfDef GL_EXT_x11_sync_object}
  3472. glImportSyncEXT: function(external_sync_type: GLenum; external_sync: GLintptr; flags: GLbitfield): GLsync; stdcall;
  3473. {$EndIf}
  3474. {$IfDef GL_GREMEDY_frame_terminator}
  3475. glFrameTerminatorGREMEDY: procedure; stdcall;
  3476. {$EndIf}
  3477. {$IfDef GL_GREMEDY_string_marker}
  3478. glStringMarkerGREMEDY: procedure(len: GLsizei; const _string: pointer); stdcall;
  3479. {$EndIf}
  3480. {$IfDef GL_HP_image_transform}
  3481. glImageTransformParameteriHP: procedure(target: GLenum; pname: GLenum; param: GLint); stdcall;
  3482. glImageTransformParameterfHP: procedure(target: GLenum; pname: GLenum; param: GLfloat); stdcall;
  3483. glImageTransformParameterivHP: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  3484. glImageTransformParameterfvHP: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  3485. glGetImageTransformParameterivHP: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3486. glGetImageTransformParameterfvHP: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3487. {$EndIf}
  3488. {$IfDef GL_IBM_multimode_draw_arrays}
  3489. glMultiModeDrawArraysIBM: procedure(const mode: PGLenum; const first: PGLint; const count: PGLsizei; primcount: GLsizei; modestride: GLint); stdcall;
  3490. glMultiModeDrawElementsIBM: procedure(const mode: PGLenum; const count: PGLsizei; _type: GLenum; const indices: {P}Ppointer; primcount: GLsizei; modestride: GLint); stdcall;
  3491. {$EndIf}
  3492. {$IfDef GL_IBM_static_data}
  3493. glFlushStaticDataIBM: procedure(target: GLenum); stdcall;
  3494. {$EndIf}
  3495. {$IfDef GL_IBM_vertex_array_lists}
  3496. glColorPointerListIBM: procedure(size: GLint; _type: GLenum; stride: GLint; const _pointer: {P}Ppointer; ptrstride: GLint); stdcall;
  3497. glSecondaryColorPointerListIBM: procedure(size: GLint; _type: GLenum; stride: GLint; const _pointer: {P}Ppointer; ptrstride: GLint); stdcall;
  3498. glEdgeFlagPointerListIBM: procedure(stride: GLint; const _pointer: {P}PGLboolean; ptrstride: GLint); stdcall;
  3499. glFogCoordPointerListIBM: procedure(_type: GLenum; stride: GLint; const _pointer: {P}Ppointer; ptrstride: GLint); stdcall;
  3500. glIndexPointerListIBM: procedure(_type: GLenum; stride: GLint; const _pointer: {P}Ppointer; ptrstride: GLint); stdcall;
  3501. glNormalPointerListIBM: procedure(_type: GLenum; stride: GLint; const _pointer: {P}Ppointer; ptrstride: GLint); stdcall;
  3502. glTexCoordPointerListIBM: procedure(size: GLint; _type: GLenum; stride: GLint; const _pointer: {P}Ppointer; ptrstride: GLint); stdcall;
  3503. glVertexPointerListIBM: procedure(size: GLint; _type: GLenum; stride: GLint; const _pointer: {P}Ppointer; ptrstride: GLint); stdcall;
  3504. {$EndIf}
  3505. {$IfDef GL_INGR_blend_func_separate}
  3506. glBlendFuncSeparateINGR: procedure(sfactorRGB: GLenum; dfactorRGB: GLenum; sfactorAlpha: GLenum; dfactorAlpha: GLenum); stdcall;
  3507. {$EndIf}
  3508. {$IfDef GL_INTEL_framebuffer_CMAA}
  3509. glApplyFramebufferAttachmentCMAAINTEL: procedure; stdcall;
  3510. {$EndIf}
  3511. {$IfDef GL_INTEL_map_texture}
  3512. glSyncTextureINTEL: procedure(texture: GLuint); stdcall;
  3513. glUnmapTexture2DINTEL: procedure(texture: GLuint; level: GLint); stdcall;
  3514. glMapTexture2DINTEL: function(texture: GLuint; level: GLint; access: GLbitfield; stride: PGLint; layout: PGLenum): pointer;
  3515. {$EndIf}
  3516. {$IfDef GL_INTEL_parallel_arrays}
  3517. glVertexPointervINTEL: procedure(size: GLint; _type: GLenum; const _pointer: {P}Ppointer); stdcall;
  3518. glNormalPointervINTEL: procedure(_type: GLenum; const _pointer: {P}Ppointer); stdcall;
  3519. glColorPointervINTEL: procedure(size: GLint; _type: GLenum; const _pointer: {P}Ppointer); stdcall;
  3520. glTexCoordPointervINTEL: procedure(size: GLint; _type: GLenum; const _pointer: {P}Ppointer); stdcall;
  3521. {$EndIf}
  3522. {$IfDef GL_INTEL_performance_query}
  3523. glBeginPerfQueryINTEL: procedure(queryHandle: GLuint); stdcall;
  3524. glCreatePerfQueryINTEL: procedure(queryId: GLuint; queryHandle: PGLuint); stdcall;
  3525. glDeletePerfQueryINTEL: procedure(queryHandle: GLuint); stdcall;
  3526. glEndPerfQueryINTEL: procedure(queryHandle: GLuint); stdcall;
  3527. glGetFirstPerfQueryIdINTEL: procedure(queryId: PGLuint); stdcall;
  3528. glGetNextPerfQueryIdINTEL: procedure(queryId: GLuint; nextQueryId: PGLuint); stdcall;
  3529. glGetPerfCounterInfoINTEL: procedure(queryId: GLuint; counterId: GLuint; counterNameLength: GLuint; counterName: PGLchar; counterDescLength: GLuint; counterDesc: PGLchar; counterOffset: PGLuint; counterDataSize: PGLuint; counterTypeEnum: PGLuint; counterDataTypeEnum: PGLuint; rawCounterMaxValue: PGLuint64); stdcall;
  3530. glGetPerfQueryDataINTEL: procedure(queryHandle: GLuint; flags: GLuint; dataSize: GLsizei; data: pointer; bytesWritten: PGLuint); stdcall;
  3531. glGetPerfQueryIdByNameINTEL: procedure(queryName: PGLchar; queryId: PGLuint); stdcall;
  3532. glGetPerfQueryInfoINTEL: procedure(queryId: GLuint; queryNameLength: GLuint; queryName: PGLchar; dataSize: PGLuint; noCounters: PGLuint; noInstances: PGLuint; capsMask: PGLuint); stdcall;
  3533. {$EndIf}
  3534. {$IfDef GL_MESA_framebuffer_flip_y}
  3535. glFramebufferParameteriMESA: procedure(target: GLenum; pname: GLenum; param: GLint); stdcall;
  3536. glGetFramebufferParameterivMESA: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3537. {$EndIf}
  3538. {$IfDef GL_MESA_resize_buffers}
  3539. glResizeBuffersMESA: procedure; stdcall;
  3540. {$EndIf}
  3541. {$IfDef GL_MESA_window_pos}
  3542. glWindowPos2dMESA: procedure(x: GLdouble; y: GLdouble); stdcall;
  3543. glWindowPos2dvMESA: procedure(const v: PGLdouble); stdcall;
  3544. glWindowPos2fMESA: procedure(x: GLfloat; y: GLfloat); stdcall;
  3545. glWindowPos2fvMESA: procedure(const v: PGLfloat); stdcall;
  3546. glWindowPos2iMESA: procedure(x: GLint; y: GLint); stdcall;
  3547. glWindowPos2ivMESA: procedure(const v: PGLint); stdcall;
  3548. glWindowPos2sMESA: procedure(x: GLshort; y: GLshort); stdcall;
  3549. glWindowPos2svMESA: procedure(const v: PGLshort); stdcall;
  3550. glWindowPos3dMESA: procedure(x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  3551. glWindowPos3dvMESA: procedure(const v: PGLdouble); stdcall;
  3552. glWindowPos3fMESA: procedure(x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  3553. glWindowPos3fvMESA: procedure(const v: PGLfloat); stdcall;
  3554. glWindowPos3iMESA: procedure(x: GLint; y: GLint; z: GLint); stdcall;
  3555. glWindowPos3ivMESA: procedure(const v: PGLint); stdcall;
  3556. glWindowPos3sMESA: procedure(x: GLshort; y: GLshort; z: GLshort); stdcall;
  3557. glWindowPos3svMESA: procedure(const v: PGLshort); stdcall;
  3558. glWindowPos4dMESA: procedure(x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  3559. glWindowPos4dvMESA: procedure(const v: PGLdouble); stdcall;
  3560. glWindowPos4fMESA: procedure(x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  3561. glWindowPos4fvMESA: procedure(const v: PGLfloat); stdcall;
  3562. glWindowPos4iMESA: procedure(x: GLint; y: GLint; z: GLint; w: GLint); stdcall;
  3563. glWindowPos4ivMESA: procedure(const v: PGLint); stdcall;
  3564. glWindowPos4sMESA: procedure(x: GLshort; y: GLshort; z: GLshort; w: GLshort); stdcall;
  3565. glWindowPos4svMESA: procedure(const v: PGLshort); stdcall;
  3566. {$EndIf}
  3567. {$IfDef GL_NVX_conditional_render}
  3568. glBeginConditionalRenderNVX: procedure(id: GLuint); stdcall;
  3569. glEndConditionalRenderNVX: procedure; stdcall;
  3570. {$EndIf}
  3571. {$IfDef GL_NVX_gpu_multicast2}
  3572. glUploadGpuMaskNVX: procedure(mask: GLbitfield); stdcall;
  3573. glMulticastViewportArrayvNVX: procedure(gpu: GLuint; first: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  3574. glMulticastViewportPositionWScaleNVX: procedure(gpu: GLuint; index: GLuint; xcoeff: GLfloat; ycoeff: GLfloat); stdcall;
  3575. glMulticastScissorArrayvNVX: procedure(gpu: GLuint; first: GLuint; count: GLsizei; const v: PGLint); stdcall;
  3576. glAsyncCopyBufferSubDataNVX: function(waitSemaphoreCount: GLsizei; const waitSemaphoreArray: PGLuint; const fenceValueArray: PGLuint64; readGpu: GLuint; writeGpuMask: GLbitfield; readBuffer: GLuint; writeBuffer: GLuint; readOffset: GLintptr; writeOffset: GLintptr; size: GLsizeiptr; signalSemaphoreCount: GLsizei; const signalSemaphoreArray: PGLuint; const signalValueArray: PGLuint64): GLuint; stdcall;
  3577. glAsyncCopyImageSubDataNVX: function(waitSemaphoreCount: GLsizei; const waitSemaphoreArray: PGLuint; const waitValueArray: PGLuint64; srcGpu: GLuint; dstGpuMask: GLbitfield; srcName: GLuint; srcTarget: GLenum; srcLevel: GLint; srcX: GLint; srcY: GLint; srcZ: GLint; dstName: GLuint; dstTarget: GLenum; dstLevel: GLint; dstX: GLint; dstY: GLint; dstZ: GLint; srcWidth: GLsizei; srcHeight: GLsizei; srcDepth: GLsizei; signalSemaphoreCount: GLsizei; const signalSemaphoreArray: PGLuint; const signalValueArray: PGLuint64): GLuint; stdcall;
  3578. {$EndIf}
  3579. {$IfDef GL_NVX_linked_gpu_multicast}
  3580. glLGPUNamedBufferSubDataNVX: procedure(gpuMask: GLbitfield; buffer: GLuint; offset: GLintptr; size: GLsizeiptr; const data: pointer); stdcall;
  3581. glLGPUCopyImageSubDataNVX: procedure(sourceGpu: GLuint; destinationGpuMask: GLbitfield; srcName: GLuint; srcTarget: GLenum; srcLevel: GLint; srcX: GLint; srxY: GLint; srcZ: GLint; dstName: GLuint; dstTarget: GLenum; dstLevel: GLint; dstX: GLint; dstY: GLint; dstZ: GLint; width: GLsizei; height: GLsizei; depth: GLsizei); stdcall;
  3582. glLGPUInterlockNVX: procedure; stdcall;
  3583. {$EndIf}
  3584. {$IfDef GL_NVX_progress_fence}
  3585. glCreateProgressFenceNVX: function: GLuint; stdcall;
  3586. glSignalSemaphoreui64NVX: procedure(signalGpu: GLuint; fenceObjectCount: GLsizei; const semaphoreArray: PGLuint; const fenceValueArray: PGLuint64); stdcall;
  3587. glWaitSemaphoreui64NVX: procedure(waitGpu: GLuint; fenceObjectCount: GLsizei; const semaphoreArray: PGLuint; const fenceValueArray: PGLuint64); stdcall;
  3588. glClientWaitSemaphoreui64NVX: procedure(fenceObjectCount: GLsizei; const semaphoreArray: PGLuint; const fenceValueArray: PGLuint64); stdcall;
  3589. {$EndIf}
  3590. {$IfDef GL_NV_alpha_to_coverage_dither_control}
  3591. glAlphaToCoverageDitherControlNV: procedure(mode: GLenum); stdcall;
  3592. {$EndIf}
  3593. {$IfDef GL_NV_bindless_multi_draw_indirect}
  3594. glMultiDrawArraysIndirectBindlessNV: procedure(mode: GLenum; const indirect: pointer; drawCount: GLsizei; stride: GLsizei; vertexBufferCount: GLint); stdcall;
  3595. glMultiDrawElementsIndirectBindlessNV: procedure(mode: GLenum; _type: GLenum; const indirect: pointer; drawCount: GLsizei; stride: GLsizei; vertexBufferCount: GLint); stdcall;
  3596. {$EndIf}
  3597. {$IfDef GL_NV_bindless_multi_draw_indirect_count}
  3598. glMultiDrawArraysIndirectBindlessCountNV: procedure(mode: GLenum; const indirect: pointer; drawCount: GLsizei; maxDrawCount: GLsizei; stride: GLsizei; vertexBufferCount: GLint); stdcall;
  3599. glMultiDrawElementsIndirectBindlessCountNV: procedure(mode: GLenum; _type: GLenum; const indirect: pointer; drawCount: GLsizei; maxDrawCount: GLsizei; stride: GLsizei; vertexBufferCount: GLint); stdcall;
  3600. {$EndIf}
  3601. {$IfDef GL_NV_bindless_texture}
  3602. glGetTextureHandleNV: function(texture: GLuint): GLuint64; stdcall;
  3603. glGetTextureSamplerHandleNV: function(texture: GLuint; sampler: GLuint): GLuint64; stdcall;
  3604. glMakeTextureHandleResidentNV: procedure(handle: GLuint64); stdcall;
  3605. glMakeTextureHandleNonResidentNV: procedure(handle: GLuint64); stdcall;
  3606. glGetImageHandleNV: function(texture: GLuint; level: GLint; layered: GLboolean; layer: GLint; format: GLenum): GLuint64; stdcall;
  3607. glMakeImageHandleResidentNV: procedure(handle: GLuint64; access: GLenum); stdcall;
  3608. glMakeImageHandleNonResidentNV: procedure(handle: GLuint64); stdcall;
  3609. glUniformHandleui64NV: procedure(location: GLint; value: GLuint64); stdcall;
  3610. glUniformHandleui64vNV: procedure(location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  3611. glProgramUniformHandleui64NV: procedure(_program: GLuint; location: GLint; value: GLuint64); stdcall;
  3612. glProgramUniformHandleui64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const values: PGLuint64); stdcall;
  3613. glIsTextureHandleResidentNV: function(handle: GLuint64): GLboolean; stdcall;
  3614. glIsImageHandleResidentNV: function(handle: GLuint64): GLboolean; stdcall;
  3615. {$EndIf}
  3616. {$IfDef GL_NV_blend_equation_advanced}
  3617. glBlendParameteriNV: procedure(pname: GLenum; value: GLint); stdcall;
  3618. glBlendBarrierNV: procedure; stdcall;
  3619. {$EndIf}
  3620. {$IfDef GL_NV_clip_space_w_scaling}
  3621. glViewportPositionWScaleNV: procedure(index: GLuint; xcoeff: GLfloat; ycoeff: GLfloat); stdcall;
  3622. {$EndIf}
  3623. {$IfDef GL_NV_command_list}
  3624. glCreateStatesNV: procedure(n: GLsizei; states: PGLuint); stdcall;
  3625. glDeleteStatesNV: procedure(n: GLsizei; states: PGLuint); stdcall;
  3626. glIsStateNV: function(state: GLuint): GLboolean; stdcall;
  3627. glStateCaptureNV: procedure(state: GLuint; mode: GLenum); stdcall;
  3628. glGetCommandHeaderNV: function(tokenID: GLenum; size: GLuint): GLuint;
  3629. glGetStageIndexNV: function(shadertype: GLenum): GLushort; stdcall;
  3630. glDrawCommandsNV: procedure(primitiveMode: GLenum; buffer: GLuint; const indirects: PGLintptr; const sizes: PGLsizei; count: GLuint); stdcall;
  3631. glDrawCommandsAddressNV: procedure(primitiveMode: GLenum; const indirects: PGLuint64; const sizes: PGLsizei; count: GLuint); stdcall;
  3632. glDrawCommandsStatesNV: procedure(buffer: GLuint; const indirects: PGLintptr; const sizes: PGLsizei; const states: PGLuint; const fbos: PGLuint; count: GLuint); stdcall;
  3633. glDrawCommandsStatesAddressNV: procedure(const indirects: PGLuint64; const sizes: PGLsizei; const states: PGLuint; const fbos: PGLuint; count: GLuint); stdcall;
  3634. glCreateCommandListsNV: procedure(n: GLsizei; lists: PGLuint); stdcall;
  3635. glDeleteCommandListsNV: procedure(n: GLsizei; const lists: PGLuint); stdcall;
  3636. glIsCommandListNV: function(list: GLuint): GLboolean; stdcall;
  3637. glListDrawCommandsStatesClientNV: procedure(list: GLuint; segment: GLuint; const indirects: {P}Ppointer; const sizes: PGLsizei; const states: PGLuint; const fbos: PGLuint; count: GLuint); stdcall;
  3638. glCommandListSegmentsNV: procedure(list: GLuint; segments: GLuint); stdcall;
  3639. glCompileCommandListNV: procedure(list: GLuint); stdcall;
  3640. glCallCommandListNV: procedure(list: GLuint); stdcall;
  3641. {$EndIf}
  3642. {$IfDef GL_NV_conditional_render}
  3643. glBeginConditionalRenderNV: procedure(id: GLuint; mode: GLenum); stdcall;
  3644. glEndConditionalRenderNV: procedure; stdcall;
  3645. {$EndIf}
  3646. {$IfDef GL_NV_conservative_raster}
  3647. glSubpixelPrecisionBiasNV: procedure(xbits: GLuint; ybits: GLuint); stdcall;
  3648. {$EndIf}
  3649. {$IfDef GL_NV_conservative_raster_dilate}
  3650. glConservativeRasterParameterfNV: procedure(pname: GLenum; value: GLfloat); stdcall;
  3651. {$EndIf}
  3652. {$IfDef GL_NV_conservative_raster_pre_snap_triangles}
  3653. glConservativeRasterParameteriNV: procedure(pname: GLenum; param: GLint); stdcall;
  3654. {$EndIf}
  3655. {$IfDef GL_NV_copy_image}
  3656. glCopyImageSubDataNV: procedure(srcName: GLuint; srcTarget: GLenum; srcLevel: GLint; srcX: GLint; srcY: GLint; srcZ: GLint; dstName: GLuint; dstTarget: GLenum; dstLevel: GLint; dstX: GLint; dstY: GLint; dstZ: GLint; width: GLsizei; height: GLsizei; depth: GLsizei); stdcall;
  3657. {$EndIf}
  3658. {$IfDef GL_NV_depth_buffer_float}
  3659. glDepthRangedNV: procedure(zNear: GLdouble; zFar: GLdouble); stdcall;
  3660. glClearDepthdNV: procedure(depth: GLdouble); stdcall;
  3661. glDepthBoundsdNV: procedure(zmin: GLdouble; zmax: GLdouble); stdcall;
  3662. {$EndIf}
  3663. {$IfDef GL_NV_draw_texture}
  3664. glDrawTextureNV: procedure(texture: GLuint; sampler: GLuint; x0: GLfloat; y0: GLfloat; x1: GLfloat; y1: GLfloat; z: GLfloat; s0: GLfloat; t0: GLfloat; s1: GLfloat; t1: GLfloat); stdcall;
  3665. {$EndIf}
  3666. {$IfDef GL_NV_draw_vulkan_image}
  3667. glDrawVkImageNV: procedure(vkImage: GLuint64; sampler: GLuint; x0: GLfloat; y0: GLfloat; x1: GLfloat; y1: GLfloat; z: GLfloat; s0: GLfloat; t0: GLfloat; s1: GLfloat; t1: GLfloat); stdcall;
  3668. glGetVkProcAddrNV: function(const name: PGLchar): GLVULKANPROCNV;
  3669. glWaitVkSemaphoreNV: procedure(vkSemaphore: GLuint64); stdcall;
  3670. glSignalVkSemaphoreNV: procedure(vkSemaphore: GLuint64); stdcall;
  3671. glSignalVkFenceNV: procedure(vkFence: GLuint64); stdcall;
  3672. {$EndIf}
  3673. {$IfDef GL_NV_evaluators}
  3674. glMapControlPointsNV: procedure(target: GLenum; index: GLuint; _type: GLenum; ustride: GLsizei; vstride: GLsizei; uorder: GLint; vorder: GLint; _packed: GLboolean; const points: pointer); stdcall;
  3675. glMapParameterivNV: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  3676. glMapParameterfvNV: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  3677. glGetMapControlPointsNV: procedure(target: GLenum; index: GLuint; _type: GLenum; ustride: GLsizei; vstride: GLsizei; _packed: GLboolean; points: pointer); stdcall;
  3678. glGetMapParameterivNV: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3679. glGetMapParameterfvNV: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3680. glGetMapAttribParameterivNV: procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLint); stdcall;
  3681. glGetMapAttribParameterfvNV: procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  3682. glEvalMapsNV: procedure(target: GLenum; mode: GLenum); stdcall;
  3683. {$EndIf}
  3684. {$IfDef GL_NV_explicit_multisample}
  3685. glGetMultisamplefvNV: procedure(pname: GLenum; index: GLuint; val: PGLfloat); stdcall;
  3686. glSampleMaskIndexedNV: procedure(index: GLuint; mask: GLbitfield); stdcall;
  3687. glTexRenderbufferNV: procedure(target: GLenum; renderbuffer: GLuint); stdcall;
  3688. {$EndIf}
  3689. {$IfDef GL_NV_fence}
  3690. glDeleteFencesNV: procedure(n: GLsizei; const fences: PGLuint); stdcall;
  3691. glGenFencesNV: procedure(n: GLsizei; fences: PGLuint); stdcall;
  3692. glIsFenceNV: function(fence: GLuint): GLboolean;
  3693. glTestFenceNV: function(fence: GLuint): GLboolean;
  3694. glGetFenceivNV: procedure(fence: GLuint; pname: GLenum; params: PGLint); stdcall;
  3695. glFinishFenceNV: procedure(fence: GLuint); stdcall;
  3696. glSetFenceNV: procedure(fence: GLuint; condition: GLenum); stdcall;
  3697. {$EndIf}
  3698. {$IfDef GL_NV_fragment_coverage_to_color}
  3699. glFragmentCoverageColorNV: procedure(color: GLuint); stdcall;
  3700. {$EndIf}
  3701. {$IfDef GL_NV_fragment_program}
  3702. glProgramNamedParameter4fNV: procedure(id: GLuint; len: GLsizei; const name: PGLubyte; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  3703. glProgramNamedParameter4fvNV: procedure(id: GLuint; len: GLsizei; const name: PGLubyte; const v: PGLfloat); stdcall;
  3704. glProgramNamedParameter4dNV: procedure(id: GLuint; len: GLsizei; const name: PGLubyte; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  3705. glProgramNamedParameter4dvNV: procedure(id: GLuint; len: GLsizei; const name: PGLubyte; const v: PGLdouble); stdcall;
  3706. glGetProgramNamedParameterfvNV: procedure(id: GLuint; len: GLsizei; const name: PGLubyte; params: PGLfloat); stdcall;
  3707. glGetProgramNamedParameterdvNV: procedure(id: GLuint; len: GLsizei; const name: PGLubyte; params: PGLdouble); stdcall;
  3708. {$EndIf}
  3709. {$IfDef GL_NV_framebuffer_mixed_samples}
  3710. glCoverageModulationTableNV: procedure(n: GLsizei; const v: PGLfloat); stdcall;
  3711. glGetCoverageModulationTableNV: procedure(bufSize: GLsizei; v: PGLfloat); stdcall;
  3712. glCoverageModulationNV: procedure(components: GLenum); stdcall;
  3713. {$EndIf}
  3714. {$IfDef GL_NV_framebuffer_multisample_coverage}
  3715. glRenderbufferStorageMultisampleCoverageNV: procedure(target: GLenum; coverageSamples: GLsizei; colorSamples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  3716. {$EndIf}
  3717. {$IfDef GL_NV_geometry_program4}
  3718. glProgramVertexLimitNV: procedure(target: GLenum; limit: GLint); stdcall;
  3719. glFramebufferTextureEXT: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint); stdcall;
  3720. glFramebufferTextureFaceEXT: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; face: GLenum); stdcall;
  3721. {$EndIf}
  3722. {$IfDef GL_NV_gpu_multicast}
  3723. glRenderGpuMaskNV: procedure(mask: GLbitfield); stdcall;
  3724. glMulticastBufferSubDataNV: procedure(gpuMask: GLbitfield; buffer: GLuint; offset: GLintptr; size: GLsizeiptr; data: pointer); stdcall;
  3725. glMulticastCopyBufferSubDataNV: procedure(readGpu: GLuint; writeGpuMask: GLbitfield; readBuffer: GLuint; writeBuffer: GLuint; readOffset: GLintptr; writeOffset: GLintptr; size: GLsizeiptr); stdcall;
  3726. glMulticastCopyImageSubDataNV: procedure(srcGpu: GLuint; dstGpuMask: GLbitfield; srcName: GLuint; srcTarget: GLenum; srcLevel: GLint; srcX: GLint; srcY: GLint; srcZ: GLint; dstName: GLuint; dstTarget: GLenum; dstLevel: GLint; dstX: GLint; dstY: GLint; dstZ: GLint; srcWidth: GLsizei; srcHeight: GLsizei; srcDepth: GLsizei); stdcall;
  3727. glMulticastBlitFramebufferNV: procedure(srcGpu: GLuint; dstGpu: GLuint; srcX0: GLint; srcY0: GLint; srcX1: GLint; srcY1: GLint; dstX0: GLint; dstY0: GLint; dstX1: GLint; dstY1: GLint; mask: GLbitfield; filter: GLenum); stdcall;
  3728. glMulticastFramebufferSampleLocationsfvNV: procedure(gpu: GLuint; framebuffer: GLuint; start: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  3729. glMulticastBarrierNV: procedure; stdcall;
  3730. glMulticastWaitSyncNV: procedure(signalGpu: GLuint; waitGpuMask: GLbitfield); stdcall;
  3731. glMulticastGetQueryObjectivNV: procedure(gpu: GLuint; id: GLuint; pname: GLenum; params: PGLint); stdcall;
  3732. glMulticastGetQueryObjectuivNV: procedure(gpu: GLuint; id: GLuint; pname: GLenum; params: PGLuint); stdcall;
  3733. glMulticastGetQueryObjecti64vNV: procedure(gpu: GLuint; id: GLuint; pname: GLenum; params: PGLint64); stdcall;
  3734. glMulticastGetQueryObjectui64vNV: procedure(gpu: GLuint; id: GLuint; pname: GLenum; params: PGLuint64); stdcall;
  3735. {$EndIf}
  3736. {$IfDef GL_NV_gpu_program4}
  3737. glProgramLocalParameterI4iNV: procedure(target: GLenum; index: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); stdcall;
  3738. glProgramLocalParameterI4ivNV: procedure(target: GLenum; index: GLuint; const params: PGLint); stdcall;
  3739. glProgramLocalParametersI4ivNV: procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLint); stdcall;
  3740. glProgramLocalParameterI4uiNV: procedure(target: GLenum; index: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); stdcall;
  3741. glProgramLocalParameterI4uivNV: procedure(target: GLenum; index: GLuint; const params: PGLuint); stdcall;
  3742. glProgramLocalParametersI4uivNV: procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLuint); stdcall;
  3743. glProgramEnvParameterI4iNV: procedure(target: GLenum; index: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); stdcall;
  3744. glProgramEnvParameterI4ivNV: procedure(target: GLenum; index: GLuint; const params: PGLint); stdcall;
  3745. glProgramEnvParametersI4ivNV: procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLint); stdcall;
  3746. glProgramEnvParameterI4uiNV: procedure(target: GLenum; index: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); stdcall;
  3747. glProgramEnvParameterI4uivNV: procedure(target: GLenum; index: GLuint; const params: PGLuint); stdcall;
  3748. glProgramEnvParametersI4uivNV: procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLuint); stdcall;
  3749. glGetProgramLocalParameterIivNV: procedure(target: GLenum; index: GLuint; params: PGLint); stdcall;
  3750. glGetProgramLocalParameterIuivNV: procedure(target: GLenum; index: GLuint; params: PGLuint); stdcall;
  3751. glGetProgramEnvParameterIivNV: procedure(target: GLenum; index: GLuint; params: PGLint); stdcall;
  3752. glGetProgramEnvParameterIuivNV: procedure(target: GLenum; index: GLuint; params: PGLuint); stdcall;
  3753. {$EndIf}
  3754. {$IfDef GL_NV_gpu_program5}
  3755. glProgramSubroutineParametersuivNV: procedure(target: GLenum; count: GLsizei; const params: PGLuint); stdcall;
  3756. glGetProgramSubroutineParameteruivNV: procedure(target: GLenum; index: GLuint; param: PGLuint); stdcall;
  3757. {$EndIf}
  3758. {$IfDef GL_NV_half_float}
  3759. glVertex2hNV: procedure(x: GLhalfNV; y: GLhalfNV); stdcall;
  3760. glVertex2hvNV: procedure(const v: PGLhalfNV); stdcall;
  3761. glVertex3hNV: procedure(x: GLhalfNV; y: GLhalfNV; z: GLhalfNV); stdcall;
  3762. glVertex3hvNV: procedure(const v: PGLhalfNV); stdcall;
  3763. glVertex4hNV: procedure(x: GLhalfNV; y: GLhalfNV; z: GLhalfNV; w: GLhalfNV); stdcall;
  3764. glVertex4hvNV: procedure(const v: PGLhalfNV); stdcall;
  3765. glNormal3hNV: procedure(nx: GLhalfNV; ny: GLhalfNV; nz: GLhalfNV); stdcall;
  3766. glNormal3hvNV: procedure(const v: PGLhalfNV); stdcall;
  3767. glColor3hNV: procedure(red: GLhalfNV; green: GLhalfNV; blue: GLhalfNV); stdcall;
  3768. glColor3hvNV: procedure(const v: PGLhalfNV); stdcall;
  3769. glColor4hNV: procedure(red: GLhalfNV; green: GLhalfNV; blue: GLhalfNV; alpha: GLhalfNV); stdcall;
  3770. glColor4hvNV: procedure(const v: PGLhalfNV); stdcall;
  3771. glTexCoord1hNV: procedure(s: GLhalfNV); stdcall;
  3772. glTexCoord1hvNV: procedure(const v: PGLhalfNV); stdcall;
  3773. glTexCoord2hNV: procedure(s: GLhalfNV; t: GLhalfNV); stdcall;
  3774. glTexCoord2hvNV: procedure(const v: PGLhalfNV); stdcall;
  3775. glTexCoord3hNV: procedure(s: GLhalfNV; t: GLhalfNV; r: GLhalfNV); stdcall;
  3776. glTexCoord3hvNV: procedure(const v: PGLhalfNV); stdcall;
  3777. glTexCoord4hNV: procedure(s: GLhalfNV; t: GLhalfNV; r: GLhalfNV; q: GLhalfNV); stdcall;
  3778. glTexCoord4hvNV: procedure(const v: PGLhalfNV); stdcall;
  3779. glMultiTexCoord1hNV: procedure(target: GLenum; s: GLhalfNV); stdcall;
  3780. glMultiTexCoord1hvNV: procedure(target: GLenum; const v: PGLhalfNV); stdcall;
  3781. glMultiTexCoord2hNV: procedure(target: GLenum; s: GLhalfNV; t: GLhalfNV); stdcall;
  3782. glMultiTexCoord2hvNV: procedure(target: GLenum; const v: PGLhalfNV); stdcall;
  3783. glMultiTexCoord3hNV: procedure(target: GLenum; s: GLhalfNV; t: GLhalfNV; r: GLhalfNV); stdcall;
  3784. glMultiTexCoord3hvNV: procedure(target: GLenum; const v: PGLhalfNV); stdcall;
  3785. glMultiTexCoord4hNV: procedure(target: GLenum; s: GLhalfNV; t: GLhalfNV; r: GLhalfNV; q: GLhalfNV); stdcall;
  3786. glMultiTexCoord4hvNV: procedure(target: GLenum; const v: PGLhalfNV); stdcall;
  3787. glFogCoordhNV: procedure(fog: GLhalfNV); stdcall;
  3788. glFogCoordhvNV: procedure(const fog: PGLhalfNV); stdcall;
  3789. glSecondaryColor3hNV: procedure(red: GLhalfNV; green: GLhalfNV; blue: GLhalfNV); stdcall;
  3790. glSecondaryColor3hvNV: procedure(const v: PGLhalfNV); stdcall;
  3791. glVertexWeighthNV: procedure(weight: GLhalfNV); stdcall;
  3792. glVertexWeighthvNV: procedure(const weight: PGLhalfNV); stdcall;
  3793. glVertexAttrib1hNV: procedure(index: GLuint; x: GLhalfNV); stdcall;
  3794. glVertexAttrib1hvNV: procedure(index: GLuint; const v: PGLhalfNV); stdcall;
  3795. glVertexAttrib2hNV: procedure(index: GLuint; x: GLhalfNV; y: GLhalfNV); stdcall;
  3796. glVertexAttrib2hvNV: procedure(index: GLuint; const v: PGLhalfNV); stdcall;
  3797. glVertexAttrib3hNV: procedure(index: GLuint; x: GLhalfNV; y: GLhalfNV; z: GLhalfNV); stdcall;
  3798. glVertexAttrib3hvNV: procedure(index: GLuint; const v: PGLhalfNV); stdcall;
  3799. glVertexAttrib4hNV: procedure(index: GLuint; x: GLhalfNV; y: GLhalfNV; z: GLhalfNV; w: GLhalfNV); stdcall;
  3800. glVertexAttrib4hvNV: procedure(index: GLuint; const v: PGLhalfNV); stdcall;
  3801. glVertexAttribs1hvNV: procedure(index: GLuint; n: GLsizei; const v: PGLhalfNV); stdcall;
  3802. glVertexAttribs2hvNV: procedure(index: GLuint; n: GLsizei; const v: PGLhalfNV); stdcall;
  3803. glVertexAttribs3hvNV: procedure(index: GLuint; n: GLsizei; const v: PGLhalfNV); stdcall;
  3804. glVertexAttribs4hvNV: procedure(index: GLuint; n: GLsizei; const v: PGLhalfNV); stdcall;
  3805. {$EndIf}
  3806. {$IfDef GL_NV_internalformat_sample_query}
  3807. glGetInternalformatSampleivNV: procedure(target: GLenum; internalformat: GLenum; samples: GLsizei; pname: GLenum; count: GLsizei; params: PGLint); stdcall;
  3808. {$EndIf}
  3809. {$IfDef GL_NV_memory_attachment}
  3810. glGetMemoryObjectDetachedResourcesuivNV: procedure(memory: GLuint; pname: GLenum; first: GLint; count: GLsizei; params: PGLuint); stdcall;
  3811. glResetMemoryObjectParameterNV: procedure(memory: GLuint; pname: GLenum); stdcall;
  3812. glTexAttachMemoryNV: procedure(target: GLenum; memory: GLuint; offset: GLuint64); stdcall;
  3813. glBufferAttachMemoryNV: procedure(target: GLenum; memory: GLuint; offset: GLuint64); stdcall;
  3814. glTextureAttachMemoryNV: procedure(texture: GLuint; memory: GLuint; offset: GLuint64); stdcall;
  3815. glNamedBufferAttachMemoryNV: procedure(buffer: GLuint; memory: GLuint; offset: GLuint64); stdcall;
  3816. {$EndIf}
  3817. {$IfDef GL_NV_memory_object_sparse}
  3818. glBufferPageCommitmentMemNV: procedure(target: GLenum; offset: GLintptr; size: GLsizeiptr; memory: GLuint; memOffset: GLuint64; commit: GLboolean); stdcall;
  3819. glTexPageCommitmentMemNV: procedure(target: GLenum; layer: GLint; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; memory: GLuint; offset: GLuint64; commit: GLboolean); stdcall;
  3820. glNamedBufferPageCommitmentMemNV: procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; memory: GLuint; memOffset: GLuint64; commit: GLboolean); stdcall;
  3821. glTexturePageCommitmentMemNV: procedure(texture: GLuint; layer: GLint; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; memory: GLuint; offset: GLuint64; commit: GLboolean); stdcall;
  3822. {$EndIf}
  3823. {$IfDef GL_NV_mesh_shader}
  3824. glDrawMeshTasksNV: procedure(first: GLuint; count: GLuint); stdcall;
  3825. glDrawMeshTasksIndirectNV: procedure(indirect: GLintptr); stdcall;
  3826. glMultiDrawMeshTasksIndirectNV: procedure(indirect: GLintptr; drawcount: GLsizei; stride: GLsizei); stdcall;
  3827. glMultiDrawMeshTasksIndirectCountNV: procedure(indirect: GLintptr; drawcount: GLintptr; maxdrawcount: GLsizei; stride: GLsizei); stdcall;
  3828. {$EndIf}
  3829. {$IfDef GL_NV_occlusion_query}
  3830. glGenOcclusionQueriesNV: procedure(n: GLsizei; ids: PGLuint); stdcall;
  3831. glDeleteOcclusionQueriesNV: procedure(n: GLsizei; const ids: PGLuint); stdcall;
  3832. glIsOcclusionQueryNV: function(id: GLuint): GLboolean; stdcall;
  3833. glBeginOcclusionQueryNV: procedure(id: GLuint); stdcall;
  3834. glEndOcclusionQueryNV: procedure; stdcall;
  3835. glGetOcclusionQueryivNV: procedure(id: GLuint; pname: GLenum; params: PGLint); stdcall;
  3836. glGetOcclusionQueryuivNV: procedure(id: GLuint; pname: GLenum; params: PGLuint); stdcall;
  3837. {$EndIf}
  3838. {$IfDef GL_NV_parameter_buffer_object}
  3839. glProgramBufferParametersfvNV: procedure(target: GLenum; bindingIndex: GLuint; wordIndex: GLuint; count: GLsizei; const params: PGLfloat); stdcall;
  3840. glProgramBufferParametersIivNV: procedure(target: GLenum; bindingIndex: GLuint; wordIndex: GLuint; count: GLsizei; const params: PGLint); stdcall;
  3841. glProgramBufferParametersIuivNV: procedure(target: GLenum; bindingIndex: GLuint; wordIndex: GLuint; count: GLsizei; const params: PGLuint); stdcall;
  3842. {$EndIf}
  3843. {$IfDef GL_NV_path_rendering}
  3844. glGenPathsNV: function(range: GLsizei): GLuint; stdcall;
  3845. glDeletePathsNV: procedure(path: GLuint; range: GLsizei); stdcall;
  3846. glIsPathNV: function(path: GLuint): GLboolean; stdcall;
  3847. glPathCommandsNV: procedure(path: GLuint; numCommands: GLsizei; const commands: PGLubyte; numCoords: GLsizei; coordType: GLenum; const coords: pointer); stdcall;
  3848. glPathCoordsNV: procedure(path: GLuint; numCoords: GLsizei; coordType: GLenum; const coords: pointer); stdcall;
  3849. glPathSubCommandsNV: procedure(path: GLuint; commandStart: GLsizei; commandsToDelete: GLsizei; numCommands: GLsizei; const commands: PGLubyte; numCoords: GLsizei; coordType: GLenum; const coords: pointer); stdcall;
  3850. glPathSubCoordsNV: procedure(path: GLuint; coordStart: GLsizei; numCoords: GLsizei; coordType: GLenum; const coords: pointer); stdcall;
  3851. glPathStringNV: procedure(path: GLuint; format: GLenum; length: GLsizei; const pathString: pointer); stdcall;
  3852. glPathGlyphsNV: procedure(firstPathName: GLuint; fontTarget: GLenum; const fontName: pointer; fontStyle: GLbitfield; numGlyphs: GLsizei; _type: GLenum; const charcodes: pointer; handleMissingGlyphs: GLenum; pathParameterTemplate: GLuint; emScale: GLfloat); stdcall;
  3853. glPathGlyphRangeNV: procedure(firstPathName: GLuint; fontTarget: GLenum; const fontName: pointer; fontStyle: GLbitfield; firstGlyph: GLuint; numGlyphs: GLsizei; handleMissingGlyphs: GLenum; pathParameterTemplate: GLuint; emScale: GLfloat); stdcall;
  3854. glWeightPathsNV: procedure(resultPath: GLuint; numPaths: GLsizei; const paths: PGLuint; const weights: PGLfloat); stdcall;
  3855. glCopyPathNV: procedure(resultPath: GLuint; srcPath: GLuint); stdcall;
  3856. glInterpolatePathsNV: procedure(resultPath: GLuint; pathA: GLuint; pathB: GLuint; weight: GLfloat); stdcall;
  3857. glTransformPathNV: procedure(resultPath: GLuint; srcPath: GLuint; transformType: GLenum; const transformValues: PGLfloat); stdcall;
  3858. glPathParameterivNV: procedure(path: GLuint; pname: GLenum; const value: PGLint); stdcall;
  3859. glPathParameteriNV: procedure(path: GLuint; pname: GLenum; value: GLint); stdcall;
  3860. glPathParameterfvNV: procedure(path: GLuint; pname: GLenum; const value: PGLfloat); stdcall;
  3861. glPathParameterfNV: procedure(path: GLuint; pname: GLenum; value: GLfloat); stdcall;
  3862. glPathDashArrayNV: procedure(path: GLuint; dashCount: GLsizei; const dashArray: PGLfloat); stdcall;
  3863. glPathStencilFuncNV: procedure(func: GLenum; ref: GLint; mask: GLuint); stdcall;
  3864. glPathStencilDepthOffsetNV: procedure(factor: GLfloat; units: GLfloat); stdcall;
  3865. glStencilFillPathNV: procedure(path: GLuint; fillMode: GLenum; mask: GLuint); stdcall;
  3866. glStencilStrokePathNV: procedure(path: GLuint; reference: GLint; mask: GLuint); stdcall;
  3867. glStencilFillPathInstancedNV: procedure(numPaths: GLsizei; pathNameType: GLenum; const paths: pointer; pathBase: GLuint; fillMode: GLenum; mask: GLuint; transformType: GLenum; const transformValues: PGLfloat); stdcall;
  3868. glStencilStrokePathInstancedNV: procedure(numPaths: GLsizei; pathNameType: GLenum; const paths: pointer; pathBase: GLuint; reference: GLint; mask: GLuint; transformType: GLenum; const transformValues: PGLfloat); stdcall;
  3869. glPathCoverDepthFuncNV: procedure(func: GLenum); stdcall;
  3870. glCoverFillPathNV: procedure(path: GLuint; coverMode: GLenum); stdcall;
  3871. glCoverStrokePathNV: procedure(path: GLuint; coverMode: GLenum); stdcall;
  3872. glCoverFillPathInstancedNV: procedure(numPaths: GLsizei; pathNameType: GLenum; const paths: pointer; pathBase: GLuint; coverMode: GLenum; transformType: GLenum; const transformValues: PGLfloat); stdcall;
  3873. glCoverStrokePathInstancedNV: procedure(numPaths: GLsizei; pathNameType: GLenum; const paths: pointer; pathBase: GLuint; coverMode: GLenum; transformType: GLenum; const transformValues: PGLfloat); stdcall;
  3874. glGetPathParameterivNV: procedure(path: GLuint; pname: GLenum; value: PGLint); stdcall;
  3875. glGetPathParameterfvNV: procedure(path: GLuint; pname: GLenum; value: PGLfloat); stdcall;
  3876. glGetPathCommandsNV: procedure(path: GLuint; commands: PGLubyte); stdcall;
  3877. glGetPathCoordsNV: procedure(path: GLuint; coords: PGLfloat); stdcall;
  3878. glGetPathDashArrayNV: procedure(path: GLuint; dashArray: PGLfloat); stdcall;
  3879. glGetPathMetricsNV: procedure(metricQueryMask: GLbitfield; numPaths: GLsizei; pathNameType: GLenum; const paths: pointer; pathBase: GLuint; stride: GLsizei; metrics: PGLfloat); stdcall;
  3880. glGetPathMetricRangeNV: procedure(metricQueryMask: GLbitfield; firstPathName: GLuint; numPaths: GLsizei; stride: GLsizei; metrics: PGLfloat); stdcall;
  3881. glGetPathSpacingNV: procedure(pathListMode: GLenum; numPaths: GLsizei; pathNameType: GLenum; const paths: pointer; pathBase: GLuint; advanceScale: GLfloat; kerningScale: GLfloat; transformType: GLenum; returnedSpacing: PGLfloat); stdcall;
  3882. glIsPointInFillPathNV: function(path: GLuint; mask: GLuint; x: GLfloat; y: GLfloat): GLboolean; stdcall;
  3883. glIsPointInStrokePathNV: function(path: GLuint; x: GLfloat; y: GLfloat): GLboolean; stdcall;
  3884. glGetPathLengthNV: function(path: GLuint; startSegment: GLsizei; numSegments: GLsizei): GLfloat; stdcall;
  3885. glPointAlongPathNV: function(path: GLuint; startSegment: GLsizei; numSegments: GLsizei; distance: GLfloat; x: PGLfloat; y: PGLfloat; tangentX: PGLfloat; tangentY: PGLfloat): GLboolean; stdcall;
  3886. glMatrixLoad3x2fNV: procedure(matrixMode: GLenum; const m: PGLfloat); stdcall;
  3887. glMatrixLoad3x3fNV: procedure(matrixMode: GLenum; const m: PGLfloat); stdcall;
  3888. glMatrixLoadTranspose3x3fNV: procedure(matrixMode: GLenum; const m: PGLfloat); stdcall;
  3889. glMatrixMult3x2fNV: procedure(matrixMode: GLenum; const m: PGLfloat); stdcall;
  3890. glMatrixMult3x3fNV: procedure(matrixMode: GLenum; const m: PGLfloat); stdcall;
  3891. glMatrixMultTranspose3x3fNV: procedure(matrixMode: GLenum; const m: PGLfloat); stdcall;
  3892. glStencilThenCoverFillPathNV: procedure(path: GLuint; fillMode: GLenum; mask: GLuint; coverMode: GLenum); stdcall;
  3893. glStencilThenCoverStrokePathNV: procedure(path: GLuint; reference: GLint; mask: GLuint; coverMode: GLenum); stdcall;
  3894. glStencilThenCoverFillPathInstancedNV: procedure(numPaths: GLsizei; pathNameType: GLenum; const paths: pointer; pathBase: GLuint; fillMode: GLenum; mask: GLuint; coverMode: GLenum; transformType: GLenum; const transformValues: PGLfloat); stdcall;
  3895. glStencilThenCoverStrokePathInstancedNV: procedure(numPaths: GLsizei; pathNameType: GLenum; const paths: pointer; pathBase: GLuint; reference: GLint; mask: GLuint; coverMode: GLenum; transformType: GLenum; const transformValues: PGLfloat); stdcall;
  3896. glPathGlyphIndexRangeNV: function(fontTarget: GLenum; const fontName: pointer; fontStyle: GLbitfield; pathParameterTemplate: GLuint; emScale: GLfloat; baseAndCount: PGLuint): GLenum; stdcall;
  3897. glPathGlyphIndexArrayNV: function(firstPathName: GLuint; fontTarget: GLenum; const fontName: pointer; fontStyle: GLbitfield; firstGlyphIndex: GLuint; numGlyphs: GLsizei; pathParameterTemplate: GLuint; emScale: GLfloat): GLenum; stdcall;
  3898. glPathMemoryGlyphIndexArrayNV: function(firstPathName: GLuint; fontTarget: GLenum; fontSize: GLsizeiptr; const fontData: pointer; faceIndex: GLsizei; firstGlyphIndex: GLuint; numGlyphs: GLsizei; pathParameterTemplate: GLuint; emScale: GLfloat): GLenum; stdcall;
  3899. glProgramPathFragmentInputGenNV: procedure(_program: GLuint; location: GLint; genMode: GLenum; components: GLint; const coeffs: PGLfloat); stdcall;
  3900. glGetProgramResourcefvNV: procedure(_program: GLuint; programInterface: GLenum; index: GLuint; propCount: GLsizei; const props: PGLenum; count: GLsizei; length: PGLsizei; params: PGLfloat); stdcall;
  3901. {$IfNDef USE_GLCORE}
  3902. glPathColorGenNV: procedure(color: GLenum; genMode: GLenum; colorFormat: GLenum; const coeffs: PGLfloat); stdcall;
  3903. glPathTexGenNV: procedure(texCoordSet: GLenum; genMode: GLenum; components: GLint; const coeffs: PGLfloat); stdcall;
  3904. glPathFogGenNV: procedure(genMode: GLenum); stdcall;
  3905. glGetPathColorGenivNV: procedure(color: GLenum; pname: GLenum; value: PGLint); stdcall;
  3906. glGetPathColorGenfvNV: procedure(color: GLenum; pname: GLenum; value: PGLfloat); stdcall;
  3907. glGetPathTexGenivNV: procedure(texCoordSet: GLenum; pname: GLenum; value: PGLint); stdcall;
  3908. glGetPathTexGenfvNV: procedure(texCoordSet: GLenum; pname: GLenum; value: PGLfloat); stdcall;
  3909. {$EndIf}
  3910. {$EndIf}
  3911. {$IfDef GL_NV_pixel_data_range}
  3912. glPixelDataRangeNV: procedure(target: GLenum; length: GLsizei; pointer: pointer); stdcall;
  3913. glFlushPixelDataRangeNV: procedure(target: GLenum); stdcall;
  3914. {$EndIf}
  3915. {$IfDef GL_NV_point_sprite}
  3916. glPointParameteriNV: procedure(pname: GLenum; param: GLint); stdcall;
  3917. glPointParameterivNV: procedure(pname: GLenum; const params: PGLint); stdcall;
  3918. {$EndIf}
  3919. {$IfDef GL_NV_present_video}
  3920. glPresentFrameKeyedNV: procedure(video_slot: GLuint; minPresentTime: GLuint64EXT; beginPresentTimeId: GLuint; presentDurationId: GLuint; _type: GLenum; target0: GLenum; fill0: GLuint; key0: GLuint; target1: GLenum; fill1: GLuint; key1: GLuint); stdcall;
  3921. glPresentFrameDualFillNV: procedure(video_slot: GLuint; minPresentTime: GLuint64EXT; beginPresentTimeId: GLuint; presentDurationId: GLuint; _type: GLenum; target0: GLenum; fill0: GLuint; target1: GLenum; fill1: GLuint; target2: GLenum; fill2: GLuint; target3: GLenum; fill3: GLuint); stdcall;
  3922. glGetVideoivNV: procedure(video_slot: GLuint; pname: GLenum; params: PGLint); stdcall;
  3923. glGetVideouivNV: procedure(video_slot: GLuint; pname: GLenum; params: PGLuint); stdcall;
  3924. glGetVideoi64vNV: procedure(video_slot: GLuint; pname: GLenum; params: PGLint64EXT); stdcall;
  3925. glGetVideoui64vNV: procedure(video_slot: GLuint; pname: GLenum; params: PGLuint64EXT); stdcall;
  3926. {$EndIf}
  3927. {$IfDef GL_NV_primitive_restart}
  3928. glPrimitiveRestartNV: procedure; stdcall;
  3929. glPrimitiveRestartIndexNV: procedure(index: GLuint); stdcall;
  3930. {$EndIf}
  3931. {$IfDef GL_NV_query_resource}
  3932. glQueryResourceNV: function(queryType: GLenum; tagId: GLint; count: GLuint; buffer: PGLint): GLint; stdcall;
  3933. {$EndIf}
  3934. {$IfDef GL_NV_query_resource_tag}
  3935. glGenQueryResourceTagNV: procedure(n: GLsizei; tagIds: PGLint); stdcall;
  3936. glDeleteQueryResourceTagNV: procedure(n: GLsizei; const tagIds: PGLint); stdcall;
  3937. glQueryResourceTagNV: procedure(tagId: GLint; const tagString: PGLchar); stdcall;
  3938. {$EndIf}
  3939. {$IfDef GL_NV_register_combiners}
  3940. glCombinerParameterfvNV: procedure(pname: GLenum; const params: PGLfloat); stdcall;
  3941. glCombinerParameterfNV: procedure(pname: GLenum; param: GLfloat); stdcall;
  3942. glCombinerParameterivNV: procedure(pname: GLenum; const params: PGLint); stdcall;
  3943. glCombinerParameteriNV: procedure(pname: GLenum; param: GLint); stdcall;
  3944. glCombinerInputNV: procedure(stage: GLenum; portion: GLenum; variable: GLenum; input: GLenum; mapping: GLenum; componentUsage: GLenum); stdcall;
  3945. glCombinerOutputNV: procedure(stage: GLenum; portion: GLenum; abOutput: GLenum; cdOutput: GLenum; sumOutput: GLenum; scale: GLenum; bias: GLenum; abDotProduct: GLboolean; cdDotProduct: GLboolean; muxSum: GLboolean); stdcall;
  3946. glFinalCombinerInputNV: procedure(variable: GLenum; input: GLenum; mapping: GLenum; componentUsage: GLenum); stdcall;
  3947. glGetCombinerInputParameterfvNV: procedure(stage: GLenum; portion: GLenum; variable: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3948. glGetCombinerInputParameterivNV: procedure(stage: GLenum; portion: GLenum; variable: GLenum; pname: GLenum; params: PGLint); stdcall;
  3949. glGetCombinerOutputParameterfvNV: procedure(stage: GLenum; portion: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3950. glGetCombinerOutputParameterivNV: procedure(stage: GLenum; portion: GLenum; pname: GLenum; params: PGLint); stdcall;
  3951. glGetFinalCombinerInputParameterfvNV: procedure(variable: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3952. glGetFinalCombinerInputParameterivNV: procedure(variable: GLenum; pname: GLenum; params: PGLint); stdcall;
  3953. {$EndIf}
  3954. {$IfDef GL_NV_register_combiners2}
  3955. glCombinerStageParameterfvNV: procedure(stage: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  3956. glGetCombinerStageParameterfvNV: procedure(stage: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3957. {$EndIf}
  3958. {$IfDef GL_NV_sample_locations}
  3959. glFramebufferSampleLocationsfvNV: procedure(target: GLenum; start: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  3960. glNamedFramebufferSampleLocationsfvNV: procedure(framebuffer: GLuint; start: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  3961. glResolveDepthValuesNV: procedure; stdcall;
  3962. {$EndIf}
  3963. {$IfDef GL_NV_scissor_exclusive}
  3964. glScissorExclusiveNV: procedure(x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  3965. glScissorExclusiveArrayvNV: procedure(first: GLuint; count: GLsizei; const v: PGLint); stdcall;
  3966. {$EndIf}
  3967. {$IfDef GL_NV_shader_buffer_load}
  3968. glMakeBufferResidentNV: procedure(target: GLenum; access: GLenum); stdcall;
  3969. glMakeBufferNonResidentNV: procedure(target: GLenum); stdcall;
  3970. glIsBufferResidentNV: function(target: GLenum): GLboolean; stdcall;
  3971. glMakeNamedBufferResidentNV: procedure(buffer: GLuint; access: GLenum); stdcall;
  3972. glMakeNamedBufferNonResidentNV: procedure(buffer: GLuint); stdcall;
  3973. glIsNamedBufferResidentNV: function(buffer: GLuint): GLboolean; stdcall;
  3974. glGetBufferParameterui64vNV: procedure(target: GLenum; pname: GLenum; params: PGLuint64EXT); stdcall;
  3975. glGetNamedBufferParameterui64vNV: procedure(buffer: GLuint; pname: GLenum; params: PGLuint64EXT); stdcall;
  3976. glGetIntegerui64vNV: procedure(value: GLenum; result: PGLuint64EXT); stdcall;
  3977. glUniformui64NV: procedure(location: GLint; value: GLuint64EXT); stdcall;
  3978. glUniformui64vNV: procedure(location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  3979. glProgramUniformui64NV: procedure(_program: GLuint; location: GLint; value: GLuint64EXT); stdcall;
  3980. glProgramUniformui64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  3981. {$EndIf}
  3982. {$IfDef GL_NV_shading_rate_image}
  3983. glBindShadingRateImageNV: procedure(texture: GLuint); stdcall;
  3984. glGetShadingRateImagePaletteNV: procedure(viewport: GLuint; entry: GLuint; rate: PGLenum); stdcall;
  3985. glGetShadingRateSampleLocationivNV: procedure(rate: GLenum; samples: GLuint; index: GLuint; location: PGLint); stdcall;
  3986. glShadingRateImageBarrierNV: procedure(synchronize: GLboolean); stdcall;
  3987. glShadingRateImagePaletteNV: procedure(viewport: GLuint; first: GLuint; count: GLsizei; const rates: PGLenum); stdcall;
  3988. glShadingRateSampleOrderNV: procedure(order: GLenum); stdcall;
  3989. glShadingRateSampleOrderCustomNV: procedure(rate: GLenum; samples: GLuint; const locations: PGLint); stdcall;
  3990. {$EndIf}
  3991. {$IfDef GL_NV_texture_barrier}
  3992. glTextureBarrierNV: procedure; stdcall;
  3993. {$EndIf}
  3994. {$IfDef GL_NV_texture_multisample}
  3995. glTexImage2DMultisampleCoverageNV: procedure(target: GLenum; coverageSamples: GLsizei; colorSamples: GLsizei; internalFormat: GLint; width: GLsizei; height: GLsizei; fixedSampleLocations: GLboolean); stdcall;
  3996. glTexImage3DMultisampleCoverageNV: procedure(target: GLenum; coverageSamples: GLsizei; colorSamples: GLsizei; internalFormat: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; fixedSampleLocations: GLboolean); stdcall;
  3997. glTextureImage2DMultisampleNV: procedure(texture: GLuint; target: GLenum; samples: GLsizei; internalFormat: GLint; width: GLsizei; height: GLsizei; fixedSampleLocations: GLboolean); stdcall;
  3998. glTextureImage3DMultisampleNV: procedure(texture: GLuint; target: GLenum; samples: GLsizei; internalFormat: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; fixedSampleLocations: GLboolean); stdcall;
  3999. glTextureImage2DMultisampleCoverageNV: procedure(texture: GLuint; target: GLenum; coverageSamples: GLsizei; colorSamples: GLsizei; internalFormat: GLint; width: GLsizei; height: GLsizei; fixedSampleLocations: GLboolean); stdcall;
  4000. glTextureImage3DMultisampleCoverageNV: procedure(texture: GLuint; target: GLenum; coverageSamples: GLsizei; colorSamples: GLsizei; internalFormat: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; fixedSampleLocations: GLboolean); stdcall;
  4001. {$EndIf}
  4002. {$IfDef GL_NV_timeline_semaphore}
  4003. glCreateSemaphoresNV: procedure(n: GLsizei; semaphores: PGLuint); stdcall;
  4004. glSemaphoreParameterivNV: procedure(semaphore: GLuint; pname: GLenum; const params: PGLint); stdcall;
  4005. glGetSemaphoreParameterivNV: procedure(semaphore: GLuint; pname: GLenum; params: PGLint); stdcall;
  4006. {$EndIf}
  4007. {$IfDef GL_NV_transform_feedback}
  4008. glBeginTransformFeedbackNV: procedure(primitiveMode: GLenum); stdcall;
  4009. glEndTransformFeedbackNV: procedure; stdcall;
  4010. glTransformFeedbackAttribsNV: procedure(count: GLsizei; const attribs: PGLint; bufferMode: GLenum); stdcall;
  4011. glBindBufferRangeNV: procedure(target: GLenum; index: GLuint; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); stdcall;
  4012. glBindBufferOffsetNV: procedure(target: GLenum; index: GLuint; buffer: GLuint; offset: GLintptr); stdcall;
  4013. glBindBufferBaseNV: procedure(target: GLenum; index: GLuint; buffer: GLuint); stdcall;
  4014. glTransformFeedbackVaryingsNV: procedure(_program: GLuint; count: GLsizei; const locations: PGLint; bufferMode: GLenum); stdcall;
  4015. glActiveVaryingNV: procedure(_program: GLuint; const name: PGLchar); stdcall;
  4016. glGetVaryingLocationNV: function(_program: GLuint; const name: PGLchar): GLint; stdcall;
  4017. glGetActiveVaryingNV: procedure(_program: GLuint; index: GLuint; bufSize: GLsizei; length: PGLsizei; size: PGLsizei; _type: PGLenum; name: PGLchar); stdcall;
  4018. glGetTransformFeedbackVaryingNV: procedure(_program: GLuint; index: GLuint; location: PGLint); stdcall;
  4019. glTransformFeedbackStreamAttribsNV: procedure(count: GLsizei; const attribs: PGLint; nbuffers: GLsizei; const bufstreams: PGLint; bufferMode: GLenum); stdcall;
  4020. {$EndIf}
  4021. {$IfDef GL_NV_transform_feedback2}
  4022. glBindTransformFeedbackNV: procedure(target: GLenum; id: GLuint); stdcall;
  4023. glDeleteTransformFeedbacksNV: procedure(n: GLsizei; const ids: PGLuint); stdcall;
  4024. glGenTransformFeedbacksNV: procedure(n: GLsizei; ids: PGLuint); stdcall;
  4025. glIsTransformFeedbackNV: function(id: GLuint): GLboolean; stdcall;
  4026. glPauseTransformFeedbackNV: procedure; stdcall;
  4027. glResumeTransformFeedbackNV: procedure; stdcall;
  4028. glDrawTransformFeedbackNV: procedure(mode: GLenum; id: GLuint); stdcall;
  4029. {$EndIf}
  4030. {$IfDef GL_NV_vdpau_interop}
  4031. glVDPAUInitNV: procedure(vdpDevice: pointer; const getProcAddress: pointer); stdcall;
  4032. glVDPAUFiniNV: procedure; stdcall;
  4033. glVDPAURegisterVideoSurfaceNV: function(const vdpSurface: pointer; target: GLenum; numTextureNames: GLsizei; const textureNames: PGLuint): GLvdpauSurfaceNV; stdcall;
  4034. glVDPAURegisterOutputSurfaceNV: function(const vdpSurface: pointer; target: GLenum; numTextureNames: GLsizei; const textureNames: PGLuint): GLvdpauSurfaceNV; stdcall;
  4035. glVDPAUIsSurfaceNV: function(surface: GLvdpauSurfaceNV): GLboolean; stdcall;
  4036. glVDPAUUnregisterSurfaceNV: procedure(surface: GLvdpauSurfaceNV); stdcall;
  4037. glVDPAUGetSurfaceivNV: procedure(surface: GLvdpauSurfaceNV; pname: GLenum; count: GLsizei; length: PGLsizei; values: PGLint); stdcall;
  4038. glVDPAUSurfaceAccessNV: procedure(surface: GLvdpauSurfaceNV; access: GLenum); stdcall;
  4039. glVDPAUMapSurfacesNV: procedure(numSurfaces: GLsizei; const surfaces: PGLvdpauSurfaceNV); stdcall;
  4040. glVDPAUUnmapSurfacesNV: procedure(numSurface: GLsizei; const surfaces: PGLvdpauSurfaceNV); stdcall;
  4041. {$EndIf}
  4042. {$IfDef GL_NV_vdpau_interop2}
  4043. glVDPAURegisterVideoSurfaceWithPictureStructureNV: function(const vdpSurface: pointer; target: GLenum; numTextureNames: GLsizei; const textureNames: PGLuint; isFrameStructure: GLboolean): GLvdpauSurfaceNV; stdcall;
  4044. {$EndIf}
  4045. {$IfDef GL_NV_vertex_array_range}
  4046. glFlushVertexArrayRangeNV: procedure; stdcall;
  4047. glVertexArrayRangeNV: procedure(length: GLsizei; const _pointer: pointer); stdcall;
  4048. {$EndIf}
  4049. {$IfDef GL_NV_vertex_attrib_integer_64bit}
  4050. glVertexAttribL1i64NV: procedure(index: GLuint; x: GLint64EXT); stdcall;
  4051. glVertexAttribL2i64NV: procedure(index: GLuint; x: GLint64EXT; y: GLint64EXT); stdcall;
  4052. glVertexAttribL3i64NV: procedure(index: GLuint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT); stdcall;
  4053. glVertexAttribL4i64NV: procedure(index: GLuint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT; w: GLint64EXT); stdcall;
  4054. glVertexAttribL1i64vNV: procedure(index: GLuint; const v: PGLint64EXT); stdcall;
  4055. glVertexAttribL2i64vNV: procedure(index: GLuint; const v: PGLint64EXT); stdcall;
  4056. glVertexAttribL3i64vNV: procedure(index: GLuint; const v: PGLint64EXT); stdcall;
  4057. glVertexAttribL4i64vNV: procedure(index: GLuint; const v: PGLint64EXT); stdcall;
  4058. glVertexAttribL1ui64NV: procedure(index: GLuint; x: GLuint64EXT); stdcall;
  4059. glVertexAttribL2ui64NV: procedure(index: GLuint; x: GLuint64EXT; y: GLuint64EXT); stdcall;
  4060. glVertexAttribL3ui64NV: procedure(index: GLuint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT); stdcall;
  4061. glVertexAttribL4ui64NV: procedure(index: GLuint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT; w: GLuint64EXT); stdcall;
  4062. glVertexAttribL1ui64vNV: procedure(index: GLuint; const v: PGLuint64EXT); stdcall;
  4063. glVertexAttribL2ui64vNV: procedure(index: GLuint; const v: PGLuint64EXT); stdcall;
  4064. glVertexAttribL3ui64vNV: procedure(index: GLuint; const v: PGLuint64EXT); stdcall;
  4065. glVertexAttribL4ui64vNV: procedure(index: GLuint; const v: PGLuint64EXT); stdcall;
  4066. glGetVertexAttribLi64vNV: procedure(index: GLuint; pname: GLenum; params: PGLint64EXT); stdcall;
  4067. glGetVertexAttribLui64vNV: procedure(index: GLuint; pname: GLenum; params: PGLuint64EXT); stdcall;
  4068. glVertexAttribLFormatNV: procedure(index: GLuint; size: GLint; _type: GLenum; stride: GLsizei); stdcall;
  4069. {$EndIf}
  4070. {$IfDef GL_NV_vertex_buffer_unified_memory}
  4071. glBufferAddressRangeNV: procedure(pname: GLenum; index: GLuint; address: GLuint64EXT; length: GLsizeiptr); stdcall;
  4072. glVertexFormatNV: procedure(size: GLint; _type: GLenum; stride: GLsizei); stdcall;
  4073. glNormalFormatNV: procedure(_type: GLenum; stride: GLsizei); stdcall;
  4074. glColorFormatNV: procedure(size: GLint; _type: GLenum; stride: GLsizei); stdcall;
  4075. glIndexFormatNV: procedure(_type: GLenum; stride: GLsizei); stdcall;
  4076. glTexCoordFormatNV: procedure(size: GLint; _type: GLenum; stride: GLsizei); stdcall;
  4077. glEdgeFlagFormatNV: procedure(stride: GLsizei); stdcall;
  4078. glSecondaryColorFormatNV: procedure(size: GLint; _type: GLenum; stride: GLsizei); stdcall;
  4079. glFogCoordFormatNV: procedure(_type: GLenum; stride: GLsizei); stdcall;
  4080. glVertexAttribFormatNV: procedure(index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei); stdcall;
  4081. glVertexAttribIFormatNV: procedure(index: GLuint; size: GLint; _type: GLenum; stride: GLsizei); stdcall;
  4082. glGetIntegerui64i_vNV: procedure(value: GLenum; index: GLuint; result: PGLuint64EXT); stdcall;
  4083. {$EndIf}
  4084. {$IfDef GL_NV_vertex_program}
  4085. glAreProgramsResidentNV: function(n: GLsizei; const programs: PGLuint; residences: PGLboolean): GLboolean; stdcall;
  4086. glBindProgramNV: procedure(target: GLenum; id: GLuint); stdcall;
  4087. glDeleteProgramsNV: procedure(n: GLsizei; const programs: PGLuint); stdcall;
  4088. glExecuteProgramNV: procedure(target: GLenum; id: GLuint; const params: PGLfloat); stdcall;
  4089. glGenProgramsNV: procedure(n: GLsizei; programs: PGLuint); stdcall;
  4090. glGetProgramParameterdvNV: procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLdouble); stdcall;
  4091. glGetProgramParameterfvNV: procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  4092. glGetProgramivNV: procedure(id: GLuint; pname: GLenum; params: PGLint); stdcall;
  4093. glGetProgramStringNV: procedure(id: GLuint; pname: GLenum; _program: PGLubyte); stdcall;
  4094. glGetTrackMatrixivNV: procedure(target: GLenum; address: GLuint; pname: GLenum; params: PGLint); stdcall;
  4095. glGetVertexAttribdvNV: procedure(index: GLuint; pname: GLenum; params: PGLdouble); stdcall;
  4096. glGetVertexAttribfvNV: procedure(index: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  4097. glGetVertexAttribivNV: procedure(index: GLuint; pname: GLenum; params: PGLint); stdcall;
  4098. glGetVertexAttribPointervNV: procedure(index: GLuint; pname: GLenum; pointer:Ppointer); stdcall;
  4099. glIsProgramNV: function(id: GLuint): GLboolean; stdcall;
  4100. glLoadProgramNV: procedure(target: GLenum; id: GLuint; len: GLsizei; const _program: PGLubyte); stdcall;
  4101. glProgramParameter4dNV: procedure(target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  4102. glProgramParameter4dvNV: procedure(target: GLenum; index: GLuint; const v: PGLdouble); stdcall;
  4103. glProgramParameter4fNV: procedure(target: GLenum; index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  4104. glProgramParameter4fvNV: procedure(target: GLenum; index: GLuint; const v: PGLfloat); stdcall;
  4105. glProgramParameters4dvNV: procedure(target: GLenum; index: GLuint; count: GLsizei; const v: PGLdouble); stdcall;
  4106. glProgramParameters4fvNV: procedure(target: GLenum; index: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  4107. glRequestResidentProgramsNV: procedure(n: GLsizei; const programs: PGLuint); stdcall;
  4108. glTrackMatrixNV: procedure(target: GLenum; address: GLuint; matrix: GLenum; transform: GLenum); stdcall;
  4109. glVertexAttribPointerNV: procedure(index: GLuint; fsize: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  4110. glVertexAttrib1dNV: procedure(index: GLuint; x: GLdouble); stdcall;
  4111. glVertexAttrib1dvNV: procedure(index: GLuint; const v: PGLdouble); stdcall;
  4112. glVertexAttrib1fNV: procedure(index: GLuint; x: GLfloat); stdcall;
  4113. glVertexAttrib1fvNV: procedure(index: GLuint; const v: PGLfloat); stdcall;
  4114. glVertexAttrib1sNV: procedure(index: GLuint; x: GLshort); stdcall;
  4115. glVertexAttrib1svNV: procedure(index: GLuint; const v: PGLshort); stdcall;
  4116. glVertexAttrib2dNV: procedure(index: GLuint; x: GLdouble; y: GLdouble); stdcall;
  4117. glVertexAttrib2dvNV: procedure(index: GLuint; const v: PGLdouble); stdcall;
  4118. glVertexAttrib2fNV: procedure(index: GLuint; x: GLfloat; y: GLfloat); stdcall;
  4119. glVertexAttrib2fvNV: procedure(index: GLuint; const v: PGLfloat); stdcall;
  4120. glVertexAttrib2sNV: procedure(index: GLuint; x: GLshort; y: GLshort); stdcall;
  4121. glVertexAttrib2svNV: procedure(index: GLuint; const v: PGLshort); stdcall;
  4122. glVertexAttrib3dNV: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  4123. glVertexAttrib3dvNV: procedure(index: GLuint; const v: PGLdouble); stdcall;
  4124. glVertexAttrib3fNV: procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4125. glVertexAttrib3fvNV: procedure(index: GLuint; const v: PGLfloat); stdcall;
  4126. glVertexAttrib3sNV: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort); stdcall;
  4127. glVertexAttrib3svNV: procedure(index: GLuint; const v: PGLshort); stdcall;
  4128. glVertexAttrib4dNV: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  4129. glVertexAttrib4dvNV: procedure(index: GLuint; const v: PGLdouble); stdcall;
  4130. glVertexAttrib4fNV: procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  4131. glVertexAttrib4fvNV: procedure(index: GLuint; const v: PGLfloat); stdcall;
  4132. glVertexAttrib4sNV: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort; w: GLshort); stdcall;
  4133. glVertexAttrib4svNV: procedure(index: GLuint; const v: PGLshort); stdcall;
  4134. glVertexAttrib4ubNV: procedure(index: GLuint; x: GLubyte; y: GLubyte; z: GLubyte; w: GLubyte); stdcall;
  4135. glVertexAttrib4ubvNV: procedure(index: GLuint; const v: PGLubyte); stdcall;
  4136. glVertexAttribs1dvNV: procedure(index: GLuint; count: GLsizei; const v: PGLdouble); stdcall;
  4137. glVertexAttribs1fvNV: procedure(index: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  4138. glVertexAttribs1svNV: procedure(index: GLuint; count: GLsizei; const v: PGLshort); stdcall;
  4139. glVertexAttribs2dvNV: procedure(index: GLuint; count: GLsizei; const v: PGLdouble); stdcall;
  4140. glVertexAttribs2fvNV: procedure(index: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  4141. glVertexAttribs2svNV: procedure(index: GLuint; count: GLsizei; const v: PGLshort); stdcall;
  4142. glVertexAttribs3dvNV: procedure(index: GLuint; count: GLsizei; const v: PGLdouble); stdcall;
  4143. glVertexAttribs3fvNV: procedure(index: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  4144. glVertexAttribs3svNV: procedure(index: GLuint; count: GLsizei; const v: PGLshort); stdcall;
  4145. glVertexAttribs4dvNV: procedure(index: GLuint; count: GLsizei; const v: PGLdouble); stdcall;
  4146. glVertexAttribs4fvNV: procedure(index: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  4147. glVertexAttribs4svNV: procedure(index: GLuint; count: GLsizei; const v: PGLshort); stdcall;
  4148. glVertexAttribs4ubvNV: procedure(index: GLuint; count: GLsizei; const v: PGLubyte); stdcall;
  4149. {$EndIf}
  4150. {$IfDef GL_NV_video_capture}
  4151. glBeginVideoCaptureNV: procedure(video_capture_slot: GLuint); stdcall;
  4152. glBindVideoCaptureStreamBufferNV: procedure(video_capture_slot: GLuint; stream: GLuint; frame_region: GLenum; offset: GLintptrARB); stdcall;
  4153. glBindVideoCaptureStreamTextureNV: procedure(video_capture_slot: GLuint; stream: GLuint; frame_region: GLenum; target: GLenum; texture: GLuint); stdcall;
  4154. glEndVideoCaptureNV: procedure(video_capture_slot: GLuint); stdcall;
  4155. glGetVideoCaptureivNV: procedure(video_capture_slot: GLuint; pname: GLenum; params: PGLint); stdcall;
  4156. glGetVideoCaptureStreamivNV: procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; params: PGLint); stdcall;
  4157. glGetVideoCaptureStreamfvNV: procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  4158. glGetVideoCaptureStreamdvNV: procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; params: PGLdouble); stdcall;
  4159. glVideoCaptureNV: function(video_capture_slot: GLuint; sequence_num: PGLuint; capture_time: PGLuint64EXT): GLenum; stdcall;
  4160. glVideoCaptureStreamParameterivNV: procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; const params: PGLint); stdcall;
  4161. glVideoCaptureStreamParameterfvNV: procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; const params: PGLfloat); stdcall;
  4162. glVideoCaptureStreamParameterdvNV: procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; const params: PGLdouble); stdcall;
  4163. {$EndIf}
  4164. {$IfDef GL_NV_viewport_swizzle}
  4165. glViewportSwizzleNV: procedure(index: GLuint; swizzlex: GLenum; swizzley: GLenum; swizzlez: GLenum; swizzlew: GLenum); stdcall;
  4166. {$EndIf}
  4167. {$IfDef GL_OVR_multiview}
  4168. glFramebufferTextureMultiviewOVR: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; baseViewIndex: GLint; numViews: GLsizei); stdcall;
  4169. {$EndIf}
  4170. {$IfDef GL_PGI_misc_hints}
  4171. glHintPGI: procedure(target: GLenum; mode: GLint); stdcall; // = glHint
  4172. {$EndIf}
  4173. {$IfDef GL_SGIS_detail_texture}
  4174. glDetailTexFuncSGIS: procedure(target: GLenum; n: GLsizei; const points: PGLfloat); stdcall;
  4175. glGetDetailTexFuncSGIS: procedure(target: GLenum; points: PGLfloat); stdcall;
  4176. {$EndIf}
  4177. {$IfDef GL_SGIS_fog_function}
  4178. glFogFuncSGIS: procedure(n: GLsizei; const points: PGLfloat); stdcall;
  4179. glGetFogFuncSGIS: procedure(points: PGLfloat); stdcall;
  4180. {$EndIf}
  4181. {$IfDef GL_SGIS_multisample}
  4182. glSampleMaskSGIS: procedure(value: GLclampf; invert: GLboolean); stdcall;
  4183. glSamplePatternSGIS: procedure(pattern: GLenum); stdcall;
  4184. {$EndIf}
  4185. {$IfDef GL_SGIS_pixel_texture}
  4186. glPixelTexGenParameteriSGIS: procedure(pname: GLenum; param: GLint); stdcall;
  4187. glPixelTexGenParameterivSGIS: procedure(pname: GLenum; const params: PGLint); stdcall;
  4188. glPixelTexGenParameterfSGIS: procedure(pname: GLenum; param: GLfloat); stdcall;
  4189. glPixelTexGenParameterfvSGIS: procedure(pname: GLenum; const params: PGLfloat); stdcall;
  4190. glGetPixelTexGenParameterivSGIS: procedure(pname: GLenum; params: PGLint); stdcall;
  4191. glGetPixelTexGenParameterfvSGIS: procedure(pname: GLenum; params: PGLfloat); stdcall;
  4192. {$EndIf}
  4193. {$IfDef GL_SGIS_point_parameters}
  4194. glPointParameterfSGIS: procedure(pname: GLenum; param: GLfloat); stdcall;
  4195. glPointParameterfvSGIS: procedure(pname: GLenum; const params: PGLfloat); stdcall;
  4196. {$EndIf}
  4197. {$IfDef GL_SGIS_sharpen_texture}
  4198. glSharpenTexFuncSGIS: procedure(target: GLenum; n: GLsizei; const points: PGLfloat); stdcall;
  4199. glGetSharpenTexFuncSGIS: procedure(target: GLenum; points: PGLfloat); stdcall;
  4200. {$EndIf}
  4201. {$IfDef GL_SGIS_texture4D}
  4202. glTexImage4DSGIS: procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; size4d: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  4203. glTexSubImage4DSGIS: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; woffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; size4d: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  4204. {$EndIf}
  4205. {$IfDef GL_SGIS_texture_color_mask}
  4206. glTextureColorMaskSGIS: procedure(red: GLboolean; green: GLboolean; blue: GLboolean; alpha: GLboolean); stdcall;
  4207. {$EndIf}
  4208. {$IfDef GL_SGIS_texture_filter4}
  4209. glGetTexFilterFuncSGIS: procedure(target: GLenum; filter: GLenum; weights: PGLfloat); stdcall;
  4210. glTexFilterFuncSGIS: procedure(target: GLenum; filter: GLenum; n: GLsizei; const weights: PGLfloat); stdcall;
  4211. {$EndIf}
  4212. {$IfDef GL_SGIX_async}
  4213. glAsyncMarkerSGIX: procedure(marker: GLuint); stdcall;
  4214. glFinishAsyncSGIX: function(markerp: PGLuint): GLint; stdcall;
  4215. glPollAsyncSGIX: function(markerp: PGLuint): GLint; stdcall;
  4216. glGenAsyncMarkersSGIX: function(range: GLsizei): GLuint; stdcall;
  4217. glDeleteAsyncMarkersSGIX: procedure(marker: GLuint; range: GLsizei); stdcall;
  4218. glIsAsyncMarkerSGIX: function(marker: GLuint): GLboolean; stdcall;
  4219. {$EndIf}
  4220. {$IfDef GL_SGIX_flush_raster}
  4221. glFlushRasterSGIX: procedure; stdcall;
  4222. {$EndIf}
  4223. {$IfDef GL_SGIX_fragment_lighting}
  4224. glFragmentColorMaterialSGIX: procedure(face: GLenum; mode: GLenum); stdcall;
  4225. glFragmentLightfSGIX: procedure(light: GLenum; pname: GLenum; param: GLfloat); stdcall;
  4226. glFragmentLightfvSGIX: procedure(light: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  4227. glFragmentLightiSGIX: procedure(light: GLenum; pname: GLenum; param: GLint); stdcall;
  4228. glFragmentLightivSGIX: procedure(light: GLenum; pname: GLenum; const params: PGLint); stdcall;
  4229. glFragmentLightModelfSGIX: procedure(pname: GLenum; param: GLfloat); stdcall;
  4230. glFragmentLightModelfvSGIX: procedure(pname: GLenum; const params: PGLfloat); stdcall;
  4231. glFragmentLightModeliSGIX: procedure(pname: GLenum; param: GLint); stdcall;
  4232. glFragmentLightModelivSGIX: procedure(pname: GLenum; const params: PGLint); stdcall;
  4233. glFragmentMaterialfSGIX: procedure(face: GLenum; pname: GLenum; param: GLfloat); stdcall;
  4234. glFragmentMaterialfvSGIX: procedure(face: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  4235. glFragmentMaterialiSGIX: procedure(face: GLenum; pname: GLenum; param: GLint); stdcall;
  4236. glFragmentMaterialivSGIX: procedure(face: GLenum; pname: GLenum; const params: PGLint); stdcall;
  4237. glGetFragmentLightfvSGIX: procedure(light: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  4238. glGetFragmentLightivSGIX: procedure(light: GLenum; pname: GLenum; params: PGLint); stdcall;
  4239. glGetFragmentMaterialfvSGIX: procedure(face: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  4240. glGetFragmentMaterialivSGIX: procedure(face: GLenum; pname: GLenum; params: PGLint); stdcall;
  4241. glLightEnviSGIX: procedure(pname: GLenum; param: GLint); stdcall;
  4242. {$EndIf}
  4243. {$IfDef GL_SGIX_framezoom}
  4244. glFrameZoomSGIX: procedure(factor: GLint); stdcall;
  4245. {$EndIf}
  4246. {$IfDef GL_SGIX_igloo_interface}
  4247. glIglooInterfaceSGIX: procedure(pname: GLenum; const params: pointer); stdcall;
  4248. {$EndIf}
  4249. {$IfDef GL_SGIX_instruments}
  4250. glGetInstrumentsSGIX: function: GLint; stdcall;
  4251. glInstrumentsBufferSGIX: procedure(size: GLsizei; buffer: PGLint); stdcall;
  4252. glPollInstrumentsSGIX: function(marker_p: PGLint): GLint; stdcall;
  4253. glReadInstrumentsSGIX: procedure(marker: GLint); stdcall;
  4254. glStartInstrumentsSGIX: procedure; stdcall;
  4255. glStopInstrumentsSGIX: procedure(marker: GLint); stdcall;
  4256. {$EndIf}
  4257. {$IfDef GL_SGIX_list_priority}
  4258. glGetListParameterfvSGIX: procedure(list: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  4259. glGetListParameterivSGIX: procedure(list: GLuint; pname: GLenum; params: PGLint); stdcall;
  4260. glListParameterfSGIX: procedure(list: GLuint; pname: GLenum; param: GLfloat); stdcall;
  4261. glListParameterfvSGIX: procedure(list: GLuint; pname: GLenum; const params: PGLfloat); stdcall;
  4262. glListParameteriSGIX: procedure(list: GLuint; pname: GLenum; param: GLint); stdcall;
  4263. glListParameterivSGIX: procedure(list: GLuint; pname: GLenum; const params: PGLint); stdcall;
  4264. {$EndIf}
  4265. {$IfDef GL_SGIX_pixel_texture}
  4266. glPixelTexGenSGIX: procedure(mode: GLenum); stdcall;
  4267. {$EndIf}
  4268. {$IfDef GL_SGIX_polynomial_ffd}
  4269. glDeformationMap3dSGIX: procedure(target: GLenum; u1: GLdouble; u2: GLdouble; ustride: GLint; uorder: GLint; v1: GLdouble; v2: GLdouble; vstride: GLint; vorder: GLint; w1: GLdouble; w2: GLdouble; wstride: GLint; worder: GLint; const points: PGLdouble); stdcall;
  4270. glDeformationMap3fSGIX: procedure(target: GLenum; u1: GLfloat; u2: GLfloat; ustride: GLint; uorder: GLint; v1: GLfloat; v2: GLfloat; vstride: GLint; vorder: GLint; w1: GLfloat; w2: GLfloat; wstride: GLint; worder: GLint; const points: PGLfloat); stdcall;
  4271. glDeformSGIX: procedure(mask: GLbitfield); stdcall;
  4272. glLoadIdentityDeformationMapSGIX: procedure(mask: GLbitfield); stdcall;
  4273. {$EndIf}
  4274. {$IfDef GL_SGIX_reference_plane}
  4275. glReferencePlaneSGIX: procedure(const equation: PGLdouble); stdcall;
  4276. {$EndIf}
  4277. {$IfDef GL_SGIX_sprite}
  4278. glSpriteParameterfSGIX: procedure(pname: GLenum; param: GLfloat); stdcall;
  4279. glSpriteParameterfvSGIX: procedure(pname: GLenum; const params: PGLfloat); stdcall;
  4280. glSpriteParameteriSGIX: procedure(pname: GLenum; param: GLint); stdcall;
  4281. glSpriteParameterivSGIX: procedure(pname: GLenum; const params: PGLint); stdcall;
  4282. {$EndIf}
  4283. {$IfDef GL_SGIX_tag_sample_buffer}
  4284. glTagSampleBufferSGIX: procedure; stdcall;
  4285. {$EndIf}
  4286. {$IfDef GL_SGI_color_table}
  4287. glColorTableSGI: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; table: pointer); stdcall;
  4288. glColorTableParameterfvSGI: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  4289. glColorTableParameterivSGI: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  4290. glCopyColorTableSGI: procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); stdcall;
  4291. glGetColorTableSGI: procedure(target: GLenum; format: GLenum; _type: GLenum; table: pointer); stdcall;
  4292. glGetColorTableParameterfvSGI: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  4293. glGetColorTableParameterivSGI: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  4294. {$EndIf}
  4295. {$IfDef GL_SUNX_constant_data}
  4296. glFinishTextureSUNX: procedure; stdcall;
  4297. {$EndIf}
  4298. {$IfDef GL_SUN_global_alpha}
  4299. glGlobalAlphaFactorbSUN: procedure(factor: GLbyte); stdcall;
  4300. glGlobalAlphaFactorsSUN: procedure(factor: GLshort); stdcall;
  4301. glGlobalAlphaFactoriSUN: procedure(factor: GLint); stdcall;
  4302. glGlobalAlphaFactorfSUN: procedure(factor: GLfloat); stdcall;
  4303. glGlobalAlphaFactordSUN: procedure(factor: GLdouble); stdcall;
  4304. glGlobalAlphaFactorubSUN: procedure(factor: GLubyte); stdcall;
  4305. glGlobalAlphaFactorusSUN: procedure(factor: GLushort); stdcall;
  4306. glGlobalAlphaFactoruiSUN: procedure(factor: GLuint); stdcall;
  4307. {$EndIf}
  4308. {$IfDef GL_SUN_mesh_array}
  4309. glDrawMeshArraysSUN: procedure(mode: GLenum; first: GLint; count: GLsizei; width: GLsizei); stdcall;
  4310. {$EndIf}
  4311. {$IfDef GL_SUN_triangle_list}
  4312. glReplacementCodeuiSUN: procedure(code: GLuint); stdcall;
  4313. glReplacementCodeusSUN: procedure(code: GLushort); stdcall;
  4314. glReplacementCodeubSUN: procedure(code: GLubyte); stdcall;
  4315. glReplacementCodeuivSUN: procedure(const code: PGLuint); stdcall;
  4316. glReplacementCodeusvSUN: procedure(const code: PGLushort); stdcall;
  4317. glReplacementCodeubvSUN: procedure(const code: PGLubyte); stdcall;
  4318. glReplacementCodePointerSUN: procedure(_type: GLenum; stride: GLsizei; const _pointer: {P}Ppointer); stdcall;
  4319. {$EndIf}
  4320. {$IfDef GL_SUN_vertex}
  4321. glColor4ubVertex2fSUN: procedure(r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat); stdcall;
  4322. glColor4ubVertex2fvSUN: procedure(const c: PGLubyte; const v: PGLfloat); stdcall;
  4323. glColor4ubVertex3fSUN: procedure(r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4324. glColor4ubVertex3fvSUN: procedure(const c: PGLubyte; const v: PGLfloat); stdcall;
  4325. glColor3fVertex3fSUN: procedure(r: GLfloat; g: GLfloat; b: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4326. glColor3fVertex3fvSUN: procedure(const c: PGLfloat; const v: PGLfloat); stdcall;
  4327. glNormal3fVertex3fSUN: procedure(nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4328. glNormal3fVertex3fvSUN: procedure(const n: PGLfloat; const v: PGLfloat); stdcall;
  4329. glColor4fNormal3fVertex3fSUN: procedure(r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4330. glColor4fNormal3fVertex3fvSUN: procedure(const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); stdcall;
  4331. glTexCoord2fVertex3fSUN: procedure(s: GLfloat; t: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4332. glTexCoord2fVertex3fvSUN: procedure(const tc: PGLfloat; const v: PGLfloat); stdcall;
  4333. glTexCoord4fVertex4fSUN: procedure(s: GLfloat; t: GLfloat; p: GLfloat; q: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  4334. glTexCoord4fVertex4fvSUN: procedure(const tc: PGLfloat; const v: PGLfloat); stdcall;
  4335. glTexCoord2fColor4ubVertex3fSUN: procedure(s: GLfloat; t: GLfloat; r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4336. glTexCoord2fColor4ubVertex3fvSUN: procedure(const tc: PGLfloat; const c: PGLubyte; const v: PGLfloat); stdcall;
  4337. glTexCoord2fColor3fVertex3fSUN: procedure(s: GLfloat; t: GLfloat; r: GLfloat; g: GLfloat; b: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4338. glTexCoord2fColor3fVertex3fvSUN: procedure(const tc: PGLfloat; const c: PGLfloat; const v: PGLfloat); stdcall;
  4339. glTexCoord2fNormal3fVertex3fSUN: procedure(s: GLfloat; t: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4340. glTexCoord2fNormal3fVertex3fvSUN: procedure(const tc: PGLfloat; const n: PGLfloat; const v: PGLfloat); stdcall;
  4341. glTexCoord2fColor4fNormal3fVertex3fSUN: procedure(s: GLfloat; t: GLfloat; r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4342. glTexCoord2fColor4fNormal3fVertex3fvSUN: procedure(const tc: PGLfloat; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); stdcall;
  4343. glTexCoord4fColor4fNormal3fVertex4fSUN: procedure(s: GLfloat; t: GLfloat; p: GLfloat; q: GLfloat; r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  4344. glTexCoord4fColor4fNormal3fVertex4fvSUN: procedure(const tc: PGLfloat; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); stdcall;
  4345. glReplacementCodeuiVertex3fSUN: procedure(rc: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4346. glReplacementCodeuiVertex3fvSUN: procedure(const rc: PGLuint; const v: PGLfloat); stdcall;
  4347. glReplacementCodeuiColor4ubVertex3fSUN: procedure(rc: GLuint; r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4348. glReplacementCodeuiColor4ubVertex3fvSUN: procedure(const rc: PGLuint; const c: PGLubyte; const v: PGLfloat); stdcall;
  4349. glReplacementCodeuiColor3fVertex3fSUN: procedure(rc: GLuint; r: GLfloat; g: GLfloat; b: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4350. glReplacementCodeuiColor3fVertex3fvSUN: procedure(const rc: PGLuint; const c: PGLfloat; const v: PGLfloat); stdcall;
  4351. glReplacementCodeuiNormal3fVertex3fSUN: procedure(rc: GLuint; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4352. glReplacementCodeuiNormal3fVertex3fvSUN: procedure(const rc: PGLuint; const n: PGLfloat; const v: PGLfloat); stdcall;
  4353. glReplacementCodeuiColor4fNormal3fVertex3fSUN: procedure(rc: GLuint; r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4354. glReplacementCodeuiColor4fNormal3fVertex3fvSUN: procedure(const rc: PGLuint; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); stdcall;
  4355. glReplacementCodeuiTexCoord2fVertex3fSUN: procedure(rc: GLuint; s: GLfloat; t: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4356. glReplacementCodeuiTexCoord2fVertex3fvSUN: procedure(const rc: PGLuint; const tc: PGLfloat; const v: PGLfloat); stdcall;
  4357. glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN: procedure(rc: GLuint; s: GLfloat; t: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4358. glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN: procedure(const rc: PGLuint; const tc: PGLfloat; const n: PGLfloat; const v: PGLfloat); stdcall;
  4359. glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN: procedure(rc: GLuint; s: GLfloat; t: GLfloat; r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4360. glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN: procedure(const rc: PGLuint; const tc: PGLfloat; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); stdcall;
  4361. {$EndIf}
  4362. var
  4363. gl_Library: Pointer;
  4364. {$If defined(USE_GLEXT) or defined(USE_GLCORE)}
  4365. // Rus: проверка всех расширений.
  4366. // Eng:
  4367. procedure AllCheckGLExtension;
  4368. {$IfEnd}
  4369. // Rus: проверка версии OpenGL. Вернёт действующее значение или значение,
  4370. // максимально возможное. Если в файле конфигурации (GLdefine.cfg) задано
  4371. // использовать версию OpenGL 2.1 (USE_GL_21), а ваша видеокарта может
  4372. // работать с OpenGL версии 4.4, то вы будете работать с версией OpengL не
  4373. // выше 2.1. !!! Обратите на это нвимание!!!
  4374. // Eng:
  4375. procedure CheckGLVersion;
  4376. // Rus: загрузка динамических функций.
  4377. // Eng:
  4378. function LoadOpenGL: Boolean;
  4379. implementation
  4380. uses
  4381. zgl_opengl,
  4382. zgl_opengl_all,
  4383. zgl_glu;
  4384. (*{$IFDEF LINUX}
  4385. function dlopen(Name: PAnsiChar; Flags: LongInt): Pointer; cdecl; external 'dl';
  4386. function dlclose(Lib: Pointer): LongInt; cdecl; external 'dl';
  4387. function dlsym(Lib: Pointer; Name: PAnsiChar): Pointer; cdecl; external 'dl';
  4388. {$ENDIF}
  4389. function glLoadLib(Name: PChar): Pointer;
  4390. begin
  4391. {$IfDef WINDOWS}
  4392. Result := Pointer(LoadLibrary(Name));
  4393. {$EndIf}
  4394. {$IfDef LINUX}
  4395. Result := dlopen(Name, $001);
  4396. {$EndIf}
  4397. end;
  4398. function glFreeLib(Lib: Pointer): Boolean;
  4399. begin
  4400. {$IfDef WINDOWS}
  4401. Result := FreeLibrary();
  4402. {$EndIf}
  4403. {$IfDef LINUX}
  4404. Result := dlclose(Lib) = 0;
  4405. {$EndIf}
  4406. end; *)
  4407. (* function gl_GetProcAddr(const procName: PAnsiChar): Pointer; // в ZenGL это не нужно
  4408. begin
  4409. {$IfDef WINDOWS}
  4410. if Assigned(wglGetProcAddress) then
  4411. Result := wglGetProcAddress(procName);
  4412. if Result = nil then
  4413. Result := GetProcAddress(HMODULE(gl_Library), procName);
  4414. {$EndIf}
  4415. {$IfDef LINUX}
  4416. if Assigned(glXGetProcAddress) then
  4417. Result := glXGetProcAddress(procName);
  4418. if Result = nil then
  4419. if Assigned(glXGetProcAddressARB) then
  4420. Result := glXGetProcAddressARB(procName);
  4421. if Result = nil then
  4422. Result := dlsym(gl_Library, procName);
  4423. {$EndIf}
  4424. end; *)
  4425. {$If defined(USE_GLCORE) or defined(USE_GLEXT)}
  4426. procedure AllCheckGLExtension;
  4427. begin
  4428. GL_ARB_ES2_compatibility := gl_IsSupported('GL_ARB_ES2_compatibility', oglExtensions);
  4429. GL_ARB_ES3_1_compatibility := gl_IsSupported('GL_ARB_ES3_1_compatibility', oglExtensions);
  4430. GL_ARB_ES3_2_compatibility := gl_IsSupported('GL_ARB_ES3_2_compatibility', oglExtensions);
  4431. GL_ARB_ES3_compatibility := gl_IsSupported('GL_ARB_ES3_compatibility', oglExtensions);
  4432. GL_ARB_arrays_of_arrays := gl_IsSupported('GL_ARB_arrays_of_arrays', oglExtensions);
  4433. GL_ARB_base_instance := gl_IsSupported('GL_ARB_base_instance', oglExtensions);
  4434. GL_ARB_bindless_texture := gl_IsSupported('GL_ARB_bindless_texture', oglExtensions);
  4435. GL_ARB_blend_func_extended := gl_IsSupported('GL_ARB_blend_func_extended', oglExtensions);
  4436. GL_ARB_buffer_storage := gl_IsSupported('GL_ARB_buffer_storage', oglExtensions);
  4437. GL_ARB_cl_event := gl_IsSupported('GL_ARB_cl_event', oglExtensions);
  4438. GL_ARB_clear_buffer_object := gl_IsSupported('GL_ARB_clear_buffer_object', oglExtensions);
  4439. GL_ARB_clear_texture := gl_IsSupported('GL_ARB_clear_texture', oglExtensions);
  4440. GL_ARB_clip_control := gl_IsSupported('GL_ARB_clip_control', oglExtensions);
  4441. {$IFDEF GL_VERSION_3_0}
  4442. GL_ARB_compatibility := gl_IsSupported('GL_ARB_compatibility', oglExtensions);
  4443. {$ENDIF}
  4444. {$IFDEF USE_GLEXT}
  4445. GL_ARB_color_buffer_float := gl_IsSupported('GL_ARB_color_buffer_float', oglExtensions);
  4446. {$EndIf}
  4447. GL_ARB_compressed_texture_pixel_storage := gl_IsSupported('GL_ARB_compressed_texture_pixel_storage', oglExtensions);
  4448. GL_ARB_compute_shader := gl_IsSupported('GL_ARB_compute_shader', oglExtensions);
  4449. GL_ARB_compute_variable_group_size := gl_IsSupported('GL_ARB_compute_variable_group_size', oglExtensions);
  4450. GL_ARB_conditional_render_inverted := gl_IsSupported('GL_ARB_conditional_render_inverted', oglExtensions);
  4451. GL_ARB_conservative_depth := gl_IsSupported('GL_ARB_conservative_depth', oglExtensions);
  4452. GL_ARB_copy_buffer := gl_IsSupported('GL_ARB_copy_buffer', oglExtensions);
  4453. GL_ARB_copy_image := gl_IsSupported('GL_ARB_copy_image', oglExtensions);
  4454. GL_ARB_cull_distance := gl_IsSupported('GL_ARB_cull_distance', oglExtensions);
  4455. GL_ARB_debug_output := gl_IsSupported('GL_ARB_debug_output', oglExtensions);
  4456. GL_ARB_depth_buffer_float := gl_IsSupported('GL_ARB_depth_buffer_float', oglExtensions);
  4457. GL_ARB_depth_clamp := gl_IsSupported('GL_ARB_depth_clamp', oglExtensions);
  4458. {$IFDEF USE_GLEXT}
  4459. GL_ARB_depth_texture := gl_IsSupported('GL_ARB_depth_texture', oglExtensions);
  4460. {$EndIf}
  4461. GL_ARB_derivative_control := gl_IsSupported('GL_ARB_derivative_control', oglExtensions);
  4462. GL_ARB_direct_state_access := gl_IsSupported('GL_ARB_direct_state_access', oglExtensions);
  4463. {$IFDEF USE_GLEXT}
  4464. GL_ARB_draw_buffers := gl_IsSupported('GL_ARB_draw_buffers', oglExtensions);
  4465. {$EndIf}
  4466. GL_ARB_draw_buffers_blend := gl_IsSupported('GL_ARB_draw_buffers_blend', oglExtensions);
  4467. GL_ARB_draw_elements_base_vertex := gl_IsSupported('GL_ARB_draw_elements_base_vertex', oglExtensions);
  4468. GL_ARB_draw_indirect := gl_IsSupported('GL_ARB_draw_indirect', oglExtensions);
  4469. GL_ARB_draw_instanced := gl_IsSupported('GL_ARB_draw_instanced', oglExtensions);
  4470. GL_ARB_enhanced_layouts := gl_IsSupported('GL_ARB_enhanced_layouts', oglExtensions);
  4471. GL_ARB_explicit_attrib_location := gl_IsSupported('GL_ARB_explicit_attrib_location', oglExtensions);
  4472. GL_ARB_explicit_uniform_location := gl_IsSupported('GL_ARB_explicit_uniform_location', oglExtensions);
  4473. GL_ARB_fragment_coord_conventions := gl_IsSupported('GL_ARB_fragment_coord_conventions', oglExtensions);
  4474. GL_ARB_fragment_layer_viewport := gl_IsSupported('GL_ARB_fragment_layer_viewport', oglExtensions);
  4475. {$IFDEF USE_GLEXT}
  4476. GL_ARB_fragment_program := gl_IsSupported('GL_ARB_fragment_program', oglExtensions);
  4477. GL_ARB_fragment_program_shadow := gl_IsSupported('GL_ARB_fragment_program_shadow', oglExtensions);
  4478. GL_ARB_fragment_shader := gl_IsSupported('GL_ARB_fragment_shader', oglExtensions);
  4479. {$EndIf}
  4480. GL_ARB_fragment_shader_interlock := gl_IsSupported('GL_ARB_fragment_shader_interlock', oglExtensions);
  4481. GL_ARB_framebuffer_no_attachments := gl_IsSupported('GL_ARB_framebuffer_no_attachments', oglExtensions);
  4482. GL_ARB_framebuffer_object := gl_IsSupported('GL_ARB_framebuffer_object', oglExtensions);
  4483. GL_ARB_framebuffer_sRGB := gl_IsSupported('GL_ARB_framebuffer_sRGB', oglExtensions);
  4484. GL_ARB_geometry_shader4 := gl_IsSupported('GL_ARB_geometry_shader4', oglExtensions);
  4485. GL_ARB_get_program_binary := gl_IsSupported('GL_ARB_get_program_binary', oglExtensions);
  4486. GL_ARB_get_texture_sub_image := gl_IsSupported('GL_ARB_get_texture_sub_image', oglExtensions);
  4487. GL_ARB_gl_spirv := gl_IsSupported('GL_ARB_gl_spirv', oglExtensions);
  4488. GL_ARB_gpu_shader5 := gl_IsSupported('GL_ARB_gpu_shader5', oglExtensions);
  4489. GL_ARB_gpu_shader_fp64 := gl_IsSupported('GL_ARB_gpu_shader_fp64', oglExtensions);
  4490. GL_ARB_gpu_shader_int64 := gl_IsSupported('GL_ARB_gpu_shader_int64', oglExtensions);
  4491. {$IFDEF USE_GLEXT}
  4492. GL_ARB_half_float_pixel := gl_IsSupported('GL_ARB_half_float_pixel', oglExtensions);
  4493. GL_ARB_imaging := gl_IsSupported('GL_ARB_imaging', oglExtensions);
  4494. {$EndIf}
  4495. GL_ARB_half_float_vertex := gl_IsSupported('GL_ARB_half_float_vertex', oglExtensions);
  4496. GL_ARB_indirect_parameters := gl_IsSupported('GL_ARB_indirect_parameters', oglExtensions);
  4497. GL_ARB_instanced_arrays := gl_IsSupported('GL_ARB_instanced_arrays', oglExtensions);
  4498. GL_ARB_internalformat_query := gl_IsSupported('GL_ARB_internalformat_query', oglExtensions);
  4499. GL_ARB_internalformat_query2 := gl_IsSupported('GL_ARB_internalformat_query2', oglExtensions);
  4500. GL_ARB_invalidate_subdata := gl_IsSupported('GL_ARB_invalidate_subdata', oglExtensions);
  4501. GL_ARB_map_buffer_alignment := gl_IsSupported('GL_ARB_map_buffer_alignment', oglExtensions);
  4502. GL_ARB_map_buffer_range := gl_IsSupported('GL_ARB_map_buffer_range', oglExtensions);
  4503. {$IFDEF USE_GLEXT}
  4504. GL_ARB_matrix_palette := gl_IsSupported('GL_ARB_matrix_palette', oglExtensions);
  4505. {$EndIf}
  4506. GL_ARB_multi_bind := gl_IsSupported('GL_ARB_multi_bind', oglExtensions);
  4507. GL_ARB_multi_draw_indirect := gl_IsSupported('GL_ARB_multi_draw_indirect', oglExtensions);
  4508. {$IFDEF USE_GLEXT}
  4509. GL_ARB_multisample := gl_IsSupported('GL_ARB_multisample', oglExtensions);
  4510. GL_ARB_multitexture := gl_IsSupported('GL_ARB_multitexture', oglExtensions);
  4511. GL_ARB_occlusion_query := gl_IsSupported('GL_ARB_occlusion_query', oglExtensions);
  4512. {$EndIf}
  4513. GL_ARB_occlusion_query2 := gl_IsSupported('GL_ARB_occlusion_query2', oglExtensions);
  4514. GL_ARB_parallel_shader_compile := gl_IsSupported('GL_ARB_parallel_shader_compile', oglExtensions);
  4515. GL_ARB_pipeline_statistics_query := gl_IsSupported('GL_ARB_pipeline_statistics_query', oglExtensions);
  4516. GL_ARB_pixel_buffer_object := gl_IsSupported('GL_ARB_pixel_buffer_object', oglExtensions);
  4517. {$IFDEF USE_GLEXT}
  4518. GL_ARB_point_parameters := gl_IsSupported('GL_ARB_point_parameters', oglExtensions);
  4519. GL_ARB_point_sprite := gl_IsSupported('GL_ARB_point_sprite', oglExtensions);
  4520. {$EndIf}
  4521. GL_ARB_polygon_offset_clamp := gl_IsSupported('GL_ARB_polygon_offset_clamp', oglExtensions);
  4522. GL_ARB_post_depth_coverage := gl_IsSupported('GL_ARB_post_depth_coverage', oglExtensions);
  4523. GL_ARB_program_interface_query := gl_IsSupported('GL_ARB_program_interface_query', oglExtensions);
  4524. GL_ARB_provoking_vertex := gl_IsSupported('GL_ARB_provoking_vertex', oglExtensions);
  4525. GL_ARB_query_buffer_object := gl_IsSupported('GL_ARB_query_buffer_object', oglExtensions);
  4526. GL_ARB_robust_buffer_access_behavior := gl_IsSupported('GL_ARB_robust_buffer_access_behavior', oglExtensions);
  4527. GL_ARB_robustness := gl_IsSupported('GL_ARB_robustness', oglExtensions);
  4528. GL_ARB_robustness_isolation := gl_IsSupported('GL_ARB_robustness_isolation', oglExtensions);
  4529. GL_ARB_sample_locations := gl_IsSupported('GL_ARB_sample_locations', oglExtensions);
  4530. GL_ARB_sample_shading := gl_IsSupported('GL_ARB_sample_shading', oglExtensions);
  4531. GL_ARB_sampler_objects := gl_IsSupported('GL_ARB_sampler_objects', oglExtensions);
  4532. GL_ARB_seamless_cube_map := gl_IsSupported('GL_ARB_seamless_cube_map', oglExtensions);
  4533. GL_ARB_seamless_cubemap_per_texture := gl_IsSupported('GL_ARB_seamless_cubemap_per_texture', oglExtensions);
  4534. GL_ARB_separate_shader_objects := gl_IsSupported('GL_ARB_separate_shader_objects', oglExtensions);
  4535. GL_ARB_shader_atomic_counter_ops := gl_IsSupported('GL_ARB_shader_atomic_counter_ops', oglExtensions);
  4536. GL_ARB_shader_atomic_counters := gl_IsSupported('GL_ARB_shader_atomic_counters', oglExtensions);
  4537. GL_ARB_shader_ballot := gl_IsSupported('GL_ARB_shader_ballot', oglExtensions);
  4538. GL_ARB_shader_bit_encoding := gl_IsSupported('GL_ARB_shader_bit_encoding', oglExtensions);
  4539. GL_ARB_shader_clock := gl_IsSupported('GL_ARB_shader_clock', oglExtensions);
  4540. GL_ARB_shader_draw_parameters := gl_IsSupported('GL_ARB_shader_draw_parameters', oglExtensions);
  4541. GL_ARB_shader_group_vote := gl_IsSupported('GL_ARB_shader_group_vote', oglExtensions);
  4542. GL_ARB_shader_image_load_store := gl_IsSupported('GL_ARB_shader_image_load_store', oglExtensions);
  4543. GL_ARB_shader_image_size := gl_IsSupported('GL_ARB_shader_image_size', oglExtensions);
  4544. {$IFDEF USE_GLEXT}
  4545. GL_ARB_shader_objects := gl_IsSupported('GL_ARB_shader_objects', oglExtensions);
  4546. {$EndIf}
  4547. GL_ARB_shader_precision := gl_IsSupported('GL_ARB_shader_precision', oglExtensions);
  4548. GL_ARB_shader_stencil_export := gl_IsSupported('GL_ARB_shader_stencil_export', oglExtensions);
  4549. GL_ARB_shader_storage_buffer_object := gl_IsSupported('GL_ARB_shader_storage_buffer_object', oglExtensions);
  4550. GL_ARB_shader_subroutine := gl_IsSupported('GL_ARB_shader_subroutine', oglExtensions);
  4551. GL_ARB_shader_texture_image_samples := gl_IsSupported('GL_ARB_shader_texture_image_samples', oglExtensions);
  4552. {$IFDEF USE_GLEXT}
  4553. GL_ARB_shader_texture_lod := gl_IsSupported('GL_ARB_shader_texture_lod', oglExtensions);
  4554. GL_ARB_shading_language_100 := gl_IsSupported('GL_ARB_shading_language_100', oglExtensions);
  4555. {$EndIf}
  4556. GL_ARB_shader_viewport_layer_array := gl_IsSupported('GL_ARB_shader_viewport_layer_array', oglExtensions);
  4557. GL_ARB_shading_language_420pack := gl_IsSupported('GL_ARB_shading_language_420pack', oglExtensions);
  4558. GL_ARB_shading_language_include := gl_IsSupported('GL_ARB_shading_language_include', oglExtensions);
  4559. GL_ARB_shading_language_packing := gl_IsSupported('GL_ARB_shading_language_packing', oglExtensions);
  4560. {$IFDEF USE_GLEXT}
  4561. GL_ARB_shadow := gl_IsSupported('GL_ARB_shadow', oglExtensions);
  4562. GL_ARB_shadow_ambient := gl_IsSupported('GL_ARB_shadow_ambient', oglExtensions);
  4563. {$EndIf}
  4564. GL_ARB_sparse_buffer := gl_IsSupported('GL_ARB_sparse_buffer', oglExtensions);
  4565. GL_ARB_sparse_texture := gl_IsSupported('GL_ARB_sparse_texture', oglExtensions);
  4566. GL_ARB_sparse_texture2 := gl_IsSupported('GL_ARB_sparse_texture2', oglExtensions);
  4567. GL_ARB_sparse_texture_clamp := gl_IsSupported('GL_ARB_sparse_texture_clamp', oglExtensions);
  4568. GL_ARB_spirv_extensions := gl_IsSupported('GL_ARB_spirv_extensions', oglExtensions);
  4569. GL_ARB_stencil_texturing := gl_IsSupported('GL_ARB_stencil_texturing', oglExtensions);
  4570. GL_ARB_sync := gl_IsSupported('GL_ARB_sync', oglExtensions);
  4571. GL_ARB_tessellation_shader := gl_IsSupported('GL_ARB_tessellation_shader', oglExtensions);
  4572. GL_ARB_texture_barrier := gl_IsSupported('GL_ARB_texture_barrier', oglExtensions);
  4573. GL_ARB_texture_border_clamp := gl_IsSupported('GL_ARB_texture_border_clamp', oglExtensions);
  4574. GL_ARB_texture_buffer_object := gl_IsSupported('GL_ARB_texture_buffer_object', oglExtensions);
  4575. GL_ARB_texture_buffer_object_rgb32 := gl_IsSupported('GL_ARB_texture_buffer_object_rgb32', oglExtensions);
  4576. GL_ARB_texture_buffer_range := gl_IsSupported('GL_ARB_texture_buffer_range', oglExtensions);
  4577. GL_ARB_texture_compression_bptc := gl_IsSupported('GL_ARB_texture_compression_bptc', oglExtensions);
  4578. GL_ARB_texture_compression_rgtc := gl_IsSupported('GL_ARB_texture_compression_rgtc', oglExtensions);
  4579. {$IFDEF USE_GLEXT}
  4580. GL_ARB_texture_compression := gl_IsSupported('GL_ARB_texture_compression', oglExtensions);
  4581. GL_ARB_texture_cube_map := gl_IsSupported('GL_ARB_texture_cube_map', oglExtensions);
  4582. {$EndIf}
  4583. GL_ARB_texture_cube_map_array := gl_IsSupported('GL_ARB_texture_cube_map_array', oglExtensions);
  4584. {$IFDEF USE_GLEXT}
  4585. GL_ARB_texture_env_add := gl_IsSupported('GL_ARB_texture_env_add', oglExtensions);
  4586. GL_ARB_texture_env_combine := gl_IsSupported('GL_ARB_texture_env_combine', oglExtensions);
  4587. GL_ARB_texture_env_crossbar := gl_IsSupported('GL_ARB_texture_env_crossbar', oglExtensions);
  4588. GL_ARB_texture_env_dot3 := gl_IsSupported('GL_ARB_texture_env_dot3', oglExtensions);
  4589. GL_ARB_texture_float := gl_IsSupported('GL_ARB_texture_float', oglExtensions);
  4590. {$EndIf}
  4591. GL_ARB_texture_filter_anisotropic := gl_IsSupported('GL_ARB_texture_filter_anisotropic', oglExtensions);
  4592. GL_ARB_texture_filter_minmax := gl_IsSupported('GL_ARB_texture_filter_minmax', oglExtensions);
  4593. GL_ARB_texture_gather := gl_IsSupported('GL_ARB_texture_gather', oglExtensions);
  4594. GL_ARB_texture_mirror_clamp_to_edge := gl_IsSupported('GL_ARB_texture_mirror_clamp_to_edge', oglExtensions);
  4595. GL_ARB_texture_mirrored_repeat := gl_IsSupported('GL_ARB_texture_mirrored_repeat', oglExtensions);
  4596. GL_ARB_texture_multisample := gl_IsSupported('GL_ARB_texture_multisample', oglExtensions);
  4597. GL_ARB_texture_non_power_of_two := gl_IsSupported('GL_ARB_texture_non_power_of_two', oglExtensions);
  4598. GL_ARB_texture_query_levels := gl_IsSupported('GL_ARB_texture_query_levels', oglExtensions);
  4599. GL_ARB_texture_query_lod := gl_IsSupported('GL_ARB_texture_query_lod', oglExtensions);
  4600. {$IFDEF USE_GLEXT}
  4601. GL_ARB_texture_rectangle := gl_IsSupported('GL_ARB_texture_rectangle', oglExtensions);
  4602. {$EndIf}
  4603. GL_ARB_texture_rg := gl_IsSupported('GL_ARB_texture_rg', oglExtensions);
  4604. GL_ARB_texture_rgb10_a2ui := gl_IsSupported('GL_ARB_texture_rgb10_a2ui', oglExtensions);
  4605. GL_ARB_texture_stencil8 := gl_IsSupported('GL_ARB_texture_stencil8', oglExtensions);
  4606. GL_ARB_texture_storage := gl_IsSupported('GL_ARB_texture_storage', oglExtensions);
  4607. GL_ARB_texture_storage_multisample := gl_IsSupported('GL_ARB_texture_storage_multisample', oglExtensions);
  4608. GL_ARB_texture_swizzle := gl_IsSupported('GL_ARB_texture_swizzle', oglExtensions);
  4609. GL_ARB_texture_view := gl_IsSupported('GL_ARB_texture_view', oglExtensions);
  4610. GL_ARB_timer_query := gl_IsSupported('GL_ARB_timer_query', oglExtensions);
  4611. GL_ARB_transform_feedback2 := gl_IsSupported('GL_ARB_transform_feedback2', oglExtensions);
  4612. GL_ARB_transform_feedback3 := gl_IsSupported('GL_ARB_transform_feedback3', oglExtensions);
  4613. GL_ARB_transform_feedback_instanced := gl_IsSupported('GL_ARB_transform_feedback_instanced', oglExtensions);
  4614. GL_ARB_transform_feedback_overflow_query := gl_IsSupported('GL_ARB_transform_feedback_overflow_query', oglExtensions);
  4615. {$IFDEF USE_GLEXT}
  4616. GL_ARB_transpose_matrix := gl_IsSupported('GL_ARB_transpose_matrix', oglExtensions);
  4617. {$EndIf}
  4618. GL_ARB_uniform_buffer_object := gl_IsSupported('GL_ARB_uniform_buffer_object', oglExtensions);
  4619. GL_ARB_vertex_array_bgra := gl_IsSupported('GL_ARB_vertex_array_bgra', oglExtensions);
  4620. GL_ARB_vertex_array_object := gl_IsSupported('GL_ARB_vertex_array_object', oglExtensions);
  4621. GL_ARB_vertex_attrib_64bit := gl_IsSupported('GL_ARB_vertex_attrib_64bit', oglExtensions);
  4622. GL_ARB_vertex_attrib_binding := gl_IsSupported('GL_ARB_vertex_attrib_binding', oglExtensions);
  4623. {$IFDEF USE_GLEXT}
  4624. GL_ARB_vertex_blend := gl_IsSupported('GL_ARB_vertex_blend', oglExtensions);
  4625. GL_ARB_vertex_buffer_object := gl_IsSupported('GL_ARB_vertex_buffer_object', oglExtensions);
  4626. GL_ARB_vertex_program := gl_IsSupported('GL_ARB_vertex_program', oglExtensions);
  4627. GL_ARB_vertex_shader := gl_IsSupported('GL_ARB_vertex_shader', oglExtensions);
  4628. GL_ARB_window_pos := gl_IsSupported('GL_ARB_window_pos', oglExtensions);
  4629. {$EndIf}
  4630. GL_ARB_vertex_type_10f_11f_11f_rev := gl_IsSupported('GL_ARB_vertex_type_10f_11f_11f_rev', oglExtensions);
  4631. GL_ARB_vertex_type_2_10_10_10_rev := gl_IsSupported('GL_ARB_vertex_type_2_10_10_10_rev', oglExtensions);
  4632. GL_ARB_viewport_array := gl_IsSupported('GL_ARB_viewport_array', oglExtensions);
  4633. GL_KHR_blend_equation_advanced := gl_IsSupported('GL_KHR_blend_equation_advanced', oglExtensions);
  4634. GL_KHR_blend_equation_advanced_coherent := gl_IsSupported('GL_KHR_blend_equation_advanced_coherent', oglExtensions);
  4635. GL_KHR_context_flush_control := gl_IsSupported('GL_KHR_context_flush_control', oglExtensions);
  4636. GL_KHR_debug := gl_IsSupported('GL_KHR_debug', oglExtensions);
  4637. GL_KHR_no_error := gl_IsSupported('GL_KHR_no_error', oglExtensions);
  4638. GL_KHR_parallel_shader_compile := gl_IsSupported('GL_KHR_parallel_shader_compile', oglExtensions);
  4639. GL_KHR_robust_buffer_access_behavior := gl_IsSupported('GL_KHR_robust_buffer_access_behavior', oglExtensions);
  4640. GL_KHR_robustness := gl_IsSupported('GL_KHR_robustness', oglExtensions);
  4641. GL_KHR_shader_subgroup := gl_IsSupported('GL_KHR_shader_subgroup', oglExtensions);
  4642. GL_KHR_texture_compression_astc_hdr := gl_IsSupported('GL_KHR_texture_compression_astc_hdr', oglExtensions);
  4643. GL_KHR_texture_compression_astc_ldr := gl_IsSupported('GL_KHR_texture_compression_astc_ldr', oglExtensions);
  4644. GL_KHR_texture_compression_astc_sliced_3d := gl_IsSupported('GL_KHR_texture_compression_astc_sliced_3d', oglExtensions);
  4645. {$IFDEF USE_GLEXT}
  4646. GL_OES_byte_coordinates := gl_IsSupported('GL_OES_byte_coordinates', oglExtensions);
  4647. GL_OES_compressed_paletted_texture := gl_IsSupported('GL_OES_compressed_paletted_texture', oglExtensions);
  4648. GL_OES_fixed_point := gl_IsSupported('GL_OES_fixed_point', oglExtensions);
  4649. GL_OES_query_matrix := gl_IsSupported('GL_OES_query_matrix', oglExtensions);
  4650. GL_OES_read_format := gl_IsSupported('GL_OES_read_format', oglExtensions);
  4651. GL_OES_single_precision := gl_IsSupported('GL_OES_single_precision', oglExtensions);
  4652. GL_3DFX_multisample := gl_IsSupported('GL_3DFX_multisample', oglExtensions);
  4653. GL_3DFX_tbuffer := gl_IsSupported('GL_3DFX_tbuffer', oglExtensions);
  4654. GL_3DFX_texture_compression_FXT1 := gl_IsSupported('GL_3DFX_texture_compression_FXT1', oglExtensions);
  4655. GL_AMD_blend_minmax_factor := gl_IsSupported('GL_AMD_blend_minmax_factor', oglExtensions);
  4656. GL_AMD_conservative_depth := gl_IsSupported('GL_AMD_conservative_depth', oglExtensions);
  4657. GL_AMD_debug_output := gl_IsSupported('GL_AMD_debug_output', oglExtensions);
  4658. GL_AMD_depth_clamp_separate := gl_IsSupported('GL_AMD_depth_clamp_separate', oglExtensions);
  4659. GL_AMD_draw_buffers_blend := gl_IsSupported('GL_AMD_draw_buffers_blend', oglExtensions);
  4660. {$EndIf}
  4661. GL_AMD_framebuffer_multisample_advanced := gl_IsSupported('GL_AMD_framebuffer_multisample_advanced', oglExtensions);
  4662. GL_AMD_gpu_shader_int64 := gl_IsSupported('GL_AMD_gpu_shader_int64', oglExtensions); // хотя это GL_EXT
  4663. {$IFDEF USE_GLEXT}
  4664. GL_AMD_framebuffer_sample_positions := gl_IsSupported('GL_AMD_framebuffer_sample_positions', oglExtensions);
  4665. GL_AMD_gcn_shader := gl_IsSupported('GL_AMD_gcn_shader', oglExtensions);
  4666. GL_AMD_gpu_shader_half_float := gl_IsSupported('GL_AMD_gpu_shader_half_float', oglExtensions);
  4667. GL_AMD_gpu_shader_int16 := gl_IsSupported('GL_AMD_gpu_shader_int16', oglExtensions);
  4668. GL_AMD_interleaved_elements := gl_IsSupported('GL_AMD_interleaved_elements', oglExtensions);
  4669. GL_AMD_multi_draw_indirect := gl_IsSupported('GL_AMD_multi_draw_indirect', oglExtensions);
  4670. GL_AMD_name_gen_delete := gl_IsSupported('GL_AMD_name_gen_delete', oglExtensions);
  4671. GL_AMD_occlusion_query_event := gl_IsSupported('GL_AMD_occlusion_query_event', oglExtensions);
  4672. {$EndIf}
  4673. GL_AMD_performance_monitor := gl_IsSupported('GL_AMD_performance_monitor', oglExtensions);
  4674. {$IFDEF USE_GLEXT}
  4675. GL_AMD_pinned_memory := gl_IsSupported('GL_AMD_pinned_memory', oglExtensions);
  4676. GL_AMD_query_buffer_object := gl_IsSupported('GL_AMD_query_buffer_object', oglExtensions);
  4677. GL_AMD_sample_positions := gl_IsSupported('GL_AMD_sample_positions', oglExtensions);
  4678. GL_AMD_seamless_cubemap_per_texture := gl_IsSupported('GL_AMD_seamless_cubemap_per_texture', oglExtensions);
  4679. GL_AMD_shader_atomic_counter_ops := gl_IsSupported('GL_AMD_shader_atomic_counter_ops', oglExtensions);
  4680. GL_AMD_shader_ballot := gl_IsSupported('GL_AMD_shader_ballot', oglExtensions);
  4681. GL_AMD_shader_explicit_vertex_parameter := gl_IsSupported('GL_AMD_shader_explicit_vertex_parameter', oglExtensions);
  4682. GL_AMD_shader_gpu_shader_half_float_fetch := gl_IsSupported('GL_AMD_shader_gpu_shader_half_float_fetch', oglExtensions);
  4683. GL_AMD_shader_image_load_store_lod := gl_IsSupported('GL_AMD_shader_image_load_store_lod', oglExtensions);
  4684. GL_AMD_shader_stencil_export := gl_IsSupported('GL_AMD_shader_stencil_export', oglExtensions);
  4685. GL_AMD_shader_trinary_minmax := gl_IsSupported('GL_AMD_shader_trinary_minmax', oglExtensions);
  4686. GL_AMD_sparse_texture := gl_IsSupported('GL_AMD_sparse_texture', oglExtensions);
  4687. GL_AMD_stencil_operation_extended := gl_IsSupported('GL_AMD_stencil_operation_extended', oglExtensions);
  4688. GL_AMD_texture_gather_bias_lod := gl_IsSupported('GL_AMD_texture_gather_bias_lod', oglExtensions);
  4689. GL_AMD_texture_texture4 := gl_IsSupported('GL_AMD_texture_texture4', oglExtensions);
  4690. GL_AMD_transform_feedback3_lines_triangles := gl_IsSupported('GL_AMD_transform_feedback3_lines_triangles', oglExtensions);
  4691. GL_AMD_transform_feedback4 := gl_IsSupported('GL_AMD_transform_feedback4', oglExtensions);
  4692. GL_AMD_vertex_shader_layer := gl_IsSupported('GL_AMD_vertex_shader_layer', oglExtensions);
  4693. GL_AMD_vertex_shader_tessellator := gl_IsSupported('GL_AMD_vertex_shader_tessellator', oglExtensions);
  4694. GL_AMD_vertex_shader_viewport_index := gl_IsSupported('GL_AMD_vertex_shader_viewport_index', oglExtensions);
  4695. GL_APPLE_aux_depth_stencil := gl_IsSupported('GL_APPLE_aux_depth_stencil', oglExtensions);
  4696. GL_APPLE_client_storage := gl_IsSupported('GL_APPLE_client_storage', oglExtensions);
  4697. GL_APPLE_element_array := gl_IsSupported('GL_APPLE_element_array', oglExtensions);
  4698. GL_APPLE_fence := gl_IsSupported('GL_APPLE_fence', oglExtensions);
  4699. GL_APPLE_float_pixels := gl_IsSupported('GL_APPLE_float_pixels', oglExtensions);
  4700. GL_APPLE_flush_buffer_range := gl_IsSupported('GL_APPLE_flush_buffer_range', oglExtensions);
  4701. GL_APPLE_object_purgeable := gl_IsSupported('GL_APPLE_object_purgeable', oglExtensions);
  4702. {$EndIf}
  4703. GL_APPLE_rgb_422 := gl_IsSupported('GL_APPLE_rgb_422', oglExtensions);
  4704. {$IFDEF USE_GLEXT}
  4705. GL_APPLE_row_bytes := gl_IsSupported('GL_APPLE_row_bytes', oglExtensions);
  4706. GL_APPLE_specular_vector := gl_IsSupported('GL_APPLE_specular_vector', oglExtensions);
  4707. GL_APPLE_texture_range := gl_IsSupported('GL_APPLE_texture_range', oglExtensions);
  4708. GL_APPLE_transform_hint := gl_IsSupported('GL_APPLE_transform_hint', oglExtensions);
  4709. GL_APPLE_vertex_array_object := gl_IsSupported('GL_APPLE_vertex_array_object', oglExtensions);
  4710. GL_APPLE_vertex_array_range := gl_IsSupported('GL_APPLE_vertex_array_range', oglExtensions);
  4711. GL_APPLE_vertex_program_evaluators := gl_IsSupported('GL_APPLE_vertex_program_evaluators', oglExtensions);
  4712. GL_APPLE_ycbcr_422 := gl_IsSupported('GL_APPLE_ycbcr_422', oglExtensions);
  4713. GL_ATI_draw_buffers := gl_IsSupported('GL_ATI_draw_buffers', oglExtensions);
  4714. GL_ATI_element_array := gl_IsSupported('GL_ATI_element_array', oglExtensions);
  4715. GL_ATI_envmap_bumpmap := gl_IsSupported('GL_ATI_envmap_bumpmap', oglExtensions);
  4716. GL_ATI_fragment_shader := gl_IsSupported('GL_ATI_fragment_shader', oglExtensions);
  4717. GL_ATI_map_object_buffer := gl_IsSupported('GL_ATI_map_object_buffer', oglExtensions);
  4718. GL_ATI_meminfo := gl_IsSupported('GL_ATI_meminfo', oglExtensions);
  4719. GL_ATI_pixel_format_float := gl_IsSupported('GL_ATI_pixel_format_float', oglExtensions);
  4720. GL_ATI_pn_triangles := gl_IsSupported('GL_ATI_pn_triangles', oglExtensions);
  4721. GL_ATI_separate_stencil := gl_IsSupported('GL_ATI_separate_stencil', oglExtensions);
  4722. GL_ATI_text_fragment_shader := gl_IsSupported('GL_ATI_text_fragment_shader', oglExtensions);
  4723. GL_ATI_texture_env_combine3 := gl_IsSupported('GL_ATI_texture_env_combine3', oglExtensions);
  4724. GL_ATI_texture_float := gl_IsSupported('GL_ATI_texture_float', oglExtensions);
  4725. GL_ATI_texture_mirror_once := gl_IsSupported('GL_ATI_texture_mirror_once', oglExtensions);
  4726. GL_ATI_vertex_array_object := gl_IsSupported('GL_ATI_vertex_array_object', oglExtensions);
  4727. GL_ATI_vertex_attrib_array_object := gl_IsSupported('GL_ATI_vertex_attrib_array_object', oglExtensions);
  4728. GL_ATI_vertex_streams := gl_IsSupported('GL_ATI_vertex_streams', oglExtensions);
  4729. GL_EXT_422_pixels := gl_IsSupported('GL_EXT_422_pixels', oglExtensions);
  4730. {$EndIf}
  4731. GL_EXT_EGL_image_storage := gl_IsSupported('GL_EXT_EGL_image_storage', oglExtensions);
  4732. GL_EXT_EGL_sync := gl_IsSupported('GL_EXT_EGL_sync', oglExtensions);
  4733. {$IFDEF USE_GLEXT}
  4734. GL_EXT_abgr := gl_IsSupported('GL_EXT_abgr', oglExtensions);
  4735. GL_EXT_bgra := gl_IsSupported('GL_EXT_bgra', oglExtensions);
  4736. GL_EXT_bindable_uniform := gl_IsSupported('GL_EXT_bindable_uniform', oglExtensions);
  4737. GL_EXT_blend_color := gl_IsSupported('GL_EXT_blend_color', oglExtensions);
  4738. GL_EXT_blend_equation_separate := gl_IsSupported('GL_EXT_blend_equation_separate', oglExtensions);
  4739. // GL_EXT_blend_func_separate := gl_IsSupported('GL_EXT_blend_func_separate', oglExtensions);
  4740. GL_EXT_blend_logic_op := gl_IsSupported('GL_EXT_blend_logic_op', oglExtensions);
  4741. GL_EXT_blend_minmax := gl_IsSupported('GL_EXT_blend_minmax', oglExtensions);
  4742. GL_EXT_blend_subtract := gl_IsSupported('GL_EXT_blend_subtract', oglExtensions);
  4743. GL_EXT_clip_volume_hint := gl_IsSupported('GL_EXT_clip_volume_hint', oglExtensions);
  4744. GL_EXT_cmyka := gl_IsSupported('GL_EXT_cmyka', oglExtensions);
  4745. GL_EXT_color_subtable := gl_IsSupported('GL_EXT_color_subtable', oglExtensions);
  4746. GL_EXT_compiled_vertex_array := gl_IsSupported('GL_EXT_compiled_vertex_array', oglExtensions);
  4747. GL_EXT_convolution := gl_IsSupported('GL_EXT_convolution', oglExtensions);
  4748. GL_EXT_coordinate_frame := gl_IsSupported('GL_EXT_coordinate_frame', oglExtensions);
  4749. GL_EXT_copy_texture := gl_IsSupported('GL_EXT_copy_texture', oglExtensions);
  4750. GL_EXT_cull_vertex := gl_IsSupported('GL_EXT_cull_vertex', oglExtensions);
  4751. GL_EXT_depth_bounds_test := gl_IsSupported('GL_EXT_depth_bounds_test', oglExtensions);
  4752. GL_EXT_draw_buffers2 := gl_IsSupported('GL_EXT_draw_buffers2', oglExtensions);
  4753. {$EndIf}
  4754. GL_EXT_debug_label := gl_IsSupported('GL_EXT_debug_label', oglExtensions);
  4755. GL_EXT_debug_marker := gl_IsSupported('GL_EXT_debug_marker', oglExtensions);
  4756. GL_EXT_direct_state_access := gl_IsSupported('GL_EXT_direct_state_access', oglExtensions);
  4757. GL_EXT_draw_instanced := gl_IsSupported('GL_EXT_draw_instanced', oglExtensions);
  4758. {$IFDEF USE_GLEXT}
  4759. GL_EXT_draw_range_elements := gl_IsSupported('GL_EXT_draw_range_elements', oglExtensions);
  4760. GL_EXT_external_buffer := gl_IsSupported('GL_EXT_external_buffer', oglExtensions);
  4761. GL_EXT_fog_coord := gl_IsSupported('GL_EXT_fog_coord', oglExtensions);
  4762. GL_EXT_framebuffer_blit := gl_IsSupported('GL_EXT_framebuffer_blit', oglExtensions);
  4763. GL_EXT_framebuffer_multisample := gl_IsSupported('GL_EXT_framebuffer_multisample', oglExtensions);
  4764. GL_EXT_framebuffer_multisample_blit_scaled := gl_IsSupported('GL_EXT_framebuffer_multisample_blit_scaled', oglExtensions);
  4765. GL_EXT_framebuffer_object := gl_IsSupported('GL_EXT_framebuffer_object', oglExtensions);
  4766. GL_EXT_framebuffer_sRGB := gl_IsSupported('GL_EXT_framebuffer_sRGB', oglExtensions);
  4767. GL_EXT_geometry_shader4 := gl_IsSupported('GL_EXT_geometry_shader4', oglExtensions);
  4768. GL_EXT_gpu_program_parameters := gl_IsSupported('GL_EXT_gpu_program_parameters', oglExtensions);
  4769. GL_EXT_gpu_shader4 := gl_IsSupported('GL_EXT_gpu_shader4', oglExtensions);
  4770. GL_EXT_histogram := gl_IsSupported('GL_EXT_histogram', oglExtensions);
  4771. GL_EXT_index_array_formats := gl_IsSupported('GL_EXT_index_array_formats', oglExtensions);
  4772. GL_EXT_index_func := gl_IsSupported('GL_EXT_index_func', oglExtensions);
  4773. GL_EXT_index_material := gl_IsSupported('GL_EXT_index_material', oglExtensions);
  4774. GL_EXT_index_texture := gl_IsSupported('GL_EXT_index_texture', oglExtensions);
  4775. GL_EXT_light_texture := gl_IsSupported('GL_EXT_light_texture', oglExtensions);
  4776. GL_EXT_memory_object := gl_IsSupported('GL_EXT_memory_object', oglExtensions);
  4777. GL_EXT_memory_object_fd := gl_IsSupported('GL_EXT_memory_object_fd', oglExtensions);
  4778. GL_EXT_memory_object_win32 := gl_IsSupported('GL_EXT_memory_object_win32', oglExtensions);
  4779. GL_EXT_misc_attribute := gl_IsSupported('GL_EXT_misc_attribute', oglExtensions);
  4780. GL_EXT_multi_draw_arrays := gl_IsSupported('GL_EXT_multi_draw_arrays', oglExtensions);
  4781. GL_EXT_multisample := gl_IsSupported('GL_EXT_multisample', oglExtensions);
  4782. {$EndIf}
  4783. GL_EXT_multiview_tessellation_geometry_shader := gl_IsSupported('GL_EXT_multiview_tessellation_geometry_shader', oglExtensions);
  4784. GL_EXT_multiview_texture_multisample := gl_IsSupported('GL_EXT_multiview_texture_multisample', oglExtensions);
  4785. GL_EXT_multiview_timer_query := gl_IsSupported('GL_EXT_multiview_timer_query', oglExtensions);
  4786. {$IFDEF USE_GLEXT}
  4787. GL_EXT_packed_depth_stencil := gl_IsSupported('GL_EXT_packed_depth_stencil', oglExtensions);
  4788. GL_EXT_packed_float := gl_IsSupported('GL_EXT_packed_float', oglExtensions);
  4789. GL_EXT_packed_pixels := gl_IsSupported('GL_EXT_packed_pixels', oglExtensions);
  4790. GL_EXT_paletted_texture := gl_IsSupported('GL_EXT_paletted_texture', oglExtensions);
  4791. GL_EXT_pixel_buffer_object := gl_IsSupported('GL_EXT_pixel_buffer_object', oglExtensions);
  4792. GL_EXT_pixel_transform := gl_IsSupported('GL_EXT_pixel_transform', oglExtensions);
  4793. GL_EXT_pixel_transform_color_table := gl_IsSupported('GL_EXT_pixel_transform_color_table', oglExtensions);
  4794. GL_EXT_point_parameters := gl_IsSupported('GL_EXT_point_parameters', oglExtensions);
  4795. GL_EXT_polygon_offset := gl_IsSupported('GL_EXT_polygon_offset', oglExtensions);
  4796. GL_EXT_provoking_vertex := gl_IsSupported('GL_EXT_provoking_vertex', oglExtensions);
  4797. {$EndIf}
  4798. GL_EXT_polygon_offset_clamp := gl_IsSupported('GL_EXT_polygon_offset_clamp', oglExtensions);
  4799. GL_EXT_post_depth_coverage := gl_IsSupported('GL_EXT_post_depth_coverage', oglExtensions);
  4800. GL_EXT_raster_multisample := gl_IsSupported('GL_EXT_raster_multisample', oglExtensions);
  4801. {$IFDEF USE_GLEXT}
  4802. GL_EXT_rescale_normal := gl_IsSupported('GL_EXT_rescale_normal', oglExtensions);
  4803. GL_EXT_secondary_color := gl_IsSupported('GL_EXT_secondary_color', oglExtensions);
  4804. GL_EXT_semaphore := gl_IsSupported('GL_EXT_semaphore', oglExtensions);
  4805. GL_EXT_semaphore_fd := gl_IsSupported('GL_EXT_semaphore_fd', oglExtensions);
  4806. GL_EXT_semaphore_win32 := gl_IsSupported('GL_EXT_semaphore_win32', oglExtensions);
  4807. GL_EXT_separate_specular_color := gl_IsSupported('GL_EXT_separate_specular_color', oglExtensions);
  4808. {$EndIf}
  4809. GL_EXT_separate_shader_objects := gl_IsSupported('GL_EXT_separate_shader_objects', oglExtensions);
  4810. GL_EXT_shader_framebuffer_fetch := gl_IsSupported('GL_EXT_shader_framebuffer_fetch', oglExtensions);
  4811. GL_EXT_shader_framebuffer_fetch_non_coherent := gl_IsSupported('GL_EXT_shader_framebuffer_fetch_non_coherent', oglExtensions);
  4812. GL_EXT_shader_integer_mix := gl_IsSupported('GL_EXT_shader_integer_mix', oglExtensions);
  4813. {$IFDEF USE_GLEXT}
  4814. GL_EXT_shader_image_load_formatted := gl_IsSupported('GL_EXT_shader_image_load_formatted', oglExtensions);
  4815. GL_EXT_shader_image_load_store := gl_IsSupported('GL_EXT_shader_image_load_store', oglExtensions);
  4816. GL_EXT_shadow_funcs := gl_IsSupported('GL_EXT_shadow_funcs', oglExtensions);
  4817. GL_EXT_shared_texture_palette := gl_IsSupported('GL_EXT_shared_texture_palette', oglExtensions);
  4818. GL_EXT_sparse_texture2 := gl_IsSupported('GL_EXT_sparse_texture2', oglExtensions);
  4819. GL_EXT_stencil_clear_tag := gl_IsSupported('GL_EXT_stencil_clear_tag', oglExtensions);
  4820. GL_EXT_stencil_two_side := gl_IsSupported('GL_EXT_stencil_two_side', oglExtensions);
  4821. GL_EXT_stencil_wrap := gl_IsSupported('GL_EXT_stencil_wrap', oglExtensions);
  4822. GL_EXT_subtexture := gl_IsSupported('GL_EXT_subtexture', oglExtensions);
  4823. GL_EXT_texture := gl_IsSupported('GL_EXT_texture', oglExtensions);
  4824. GL_EXT_texture3D := gl_IsSupported('GL_EXT_texture3D', oglExtensions);
  4825. GL_EXT_texture_array := gl_IsSupported('GL_EXT_texture_array', oglExtensions);
  4826. GL_EXT_texture_buffer_object := gl_IsSupported('GL_EXT_texture_buffer_object', oglExtensions);
  4827. GL_EXT_texture_compression_latc := gl_IsSupported('GL_EXT_texture_compression_latc', oglExtensions);
  4828. GL_EXT_texture_compression_rgtc := gl_IsSupported('GL_EXT_texture_compression_rgtc', oglExtensions);
  4829. // GL_EXT_texture_compression_s3tc := gl_IsSupported('GL_EXT_texture_compression_s3tc', oglExtensions);
  4830. GL_EXT_texture_cube_map := gl_IsSupported('GL_EXT_texture_cube_map', oglExtensions);
  4831. GL_EXT_texture_env_add := gl_IsSupported('GL_EXT_texture_env_add', oglExtensions);
  4832. GL_EXT_texture_env_combine := gl_IsSupported('GL_EXT_texture_env_combine', oglExtensions);
  4833. GL_EXT_texture_env_dot3 := gl_IsSupported('GL_EXT_texture_env_dot3', oglExtensions);
  4834. // GL_EXT_texture_filter_anisotropic := gl_IsSupported('GL_EXT_texture_filter_anisotropic', oglExtensions);
  4835. {$EndIf}
  4836. GL_EXT_texture_filter_minmax := gl_IsSupported('GL_EXT_texture_filter_minmax', oglExtensions);
  4837. {$IFDEF USE_GLEXT}
  4838. GL_EXT_texture_integer := gl_IsSupported('GL_EXT_texture_integer', oglExtensions);
  4839. GL_EXT_texture_lod_bias := gl_IsSupported('GL_EXT_texture_lod_bias', oglExtensions);
  4840. GL_EXT_texture_mirror_clamp := gl_IsSupported('GL_EXT_texture_mirror_clamp', oglExtensions);
  4841. GL_EXT_texture_object := gl_IsSupported('GL_EXT_texture_object', oglExtensions);
  4842. GL_EXT_texture_perturb_normal := gl_IsSupported('GL_EXT_texture_perturb_normal', oglExtensions);
  4843. GL_EXT_texture_sRGB := gl_IsSupported('GL_EXT_texture_sRGB', oglExtensions);
  4844. GL_EXT_texture_shared_exponent := gl_IsSupported('GL_EXT_texture_shared_exponent', oglExtensions);
  4845. GL_EXT_texture_snorm := gl_IsSupported('GL_EXT_texture_snorm', oglExtensions);
  4846. {$EndIf}
  4847. GL_EXT_texture_sRGB_R8 := gl_IsSupported('GL_EXT_texture_sRGB_R8', oglExtensions);
  4848. GL_EXT_texture_sRGB_RG8 := gl_IsSupported('GL_EXT_texture_sRGB_RG8', oglExtensions);
  4849. GL_EXT_texture_sRGB_decode := gl_IsSupported('GL_EXT_texture_sRGB_decode', oglExtensions);
  4850. GL_EXT_texture_shadow_lod := gl_IsSupported('GL_EXT_texture_shadow_lod', oglExtensions);
  4851. GL_EXT_texture_storage := gl_IsSupported('GL_EXT_texture_storage', oglExtensions);
  4852. {$IFDEF USE_GLEXT}
  4853. GL_EXT_texture_swizzle := gl_IsSupported('GL_EXT_texture_swizzle', oglExtensions);
  4854. GL_EXT_timer_query := gl_IsSupported('GL_EXT_timer_query', oglExtensions);
  4855. GL_EXT_transform_feedback := gl_IsSupported('GL_EXT_transform_feedback', oglExtensions);
  4856. GL_EXT_vertex_array := gl_IsSupported('GL_EXT_vertex_array', oglExtensions);
  4857. GL_EXT_vertex_array_bgra := gl_IsSupported('GL_EXT_vertex_array_bgra', oglExtensions);
  4858. GL_EXT_vertex_attrib_64bit := gl_IsSupported('GL_EXT_vertex_attrib_64bit', oglExtensions);
  4859. GL_EXT_vertex_shader := gl_IsSupported('GL_EXT_vertex_shader', oglExtensions);
  4860. GL_EXT_vertex_weighting := gl_IsSupported('GL_EXT_vertex_weighting', oglExtensions);
  4861. GL_EXT_win32_keyed_mutex := gl_IsSupported('GL_EXT_win32_keyed_mutex', oglExtensions);
  4862. {$EndIf}
  4863. GL_EXT_window_rectangles := gl_IsSupported('GL_EXT_window_rectangles', oglExtensions);
  4864. {$IFDEF USE_GLEXT}
  4865. GL_EXT_x11_sync_object := gl_IsSupported('GL_EXT_x11_sync_object', oglExtensions);
  4866. GL_GREMEDY_frame_terminator := gl_IsSupported('GL_GREMEDY_frame_terminator', oglExtensions);
  4867. GL_GREMEDY_string_marker := gl_IsSupported('GL_GREMEDY_string_marker', oglExtensions);
  4868. GL_HP_convolution_border_modes := gl_IsSupported('GL_HP_convolution_border_modes', oglExtensions);
  4869. GL_HP_image_transform := gl_IsSupported('GL_HP_image_transform', oglExtensions);
  4870. GL_HP_occlusion_test := gl_IsSupported('GL_HP_occlusion_test', oglExtensions);
  4871. GL_HP_texture_lighting := gl_IsSupported('GL_HP_texture_lighting', oglExtensions);
  4872. GL_IBM_cull_vertex := gl_IsSupported('GL_IBM_cull_vertex', oglExtensions);
  4873. GL_IBM_multimode_draw_arrays := gl_IsSupported('GL_IBM_multimode_draw_arrays', oglExtensions);
  4874. GL_IBM_rasterpos_clip := gl_IsSupported('GL_IBM_rasterpos_clip', oglExtensions);
  4875. GL_IBM_static_data := gl_IsSupported('GL_IBM_static_data', oglExtensions);
  4876. GL_IBM_texture_mirrored_repeat := gl_IsSupported('GL_IBM_texture_mirrored_repeat', oglExtensions);
  4877. GL_IBM_vertex_array_lists := gl_IsSupported('GL_IBM_vertex_array_lists', oglExtensions);
  4878. GL_INGR_blend_func_separate := gl_IsSupported('GL_INGR_blend_func_separate', oglExtensions);
  4879. GL_INGR_color_clamp := gl_IsSupported('GL_INGR_color_clamp', oglExtensions);
  4880. GL_INGR_interlace_read := gl_IsSupported('GL_INGR_interlace_read', oglExtensions);
  4881. GL_INTEL_fragment_shader_ordering := gl_IsSupported('GL_INTEL_fragment_shader_ordering', oglExtensions);
  4882. {$EndIf}
  4883. GL_INTEL_blackhole_render := gl_IsSupported('GL_INTEL_blackhole_render', oglExtensions);
  4884. GL_INTEL_conservative_rasterization := gl_IsSupported('GL_INTEL_conservative_rasterization', oglExtensions);
  4885. GL_INTEL_framebuffer_CMAA := gl_IsSupported('GL_INTEL_framebuffer_CMAA', oglExtensions);
  4886. {$IFDEF USE_GLEXT}
  4887. GL_INTEL_map_texture := gl_IsSupported('GL_INTEL_map_texture', oglExtensions);
  4888. GL_INTEL_parallel_arrays := gl_IsSupported('GL_INTEL_parallel_arrays', oglExtensions);
  4889. GL_MESAX_texture_stack := gl_IsSupported('GL_MESAX_texture_stack', oglExtensions);
  4890. {$EndIf}
  4891. GL_INTEL_performance_query := gl_IsSupported('GL_INTEL_performance_query', oglExtensions);
  4892. GL_MESA_framebuffer_flip_x := gl_IsSupported('GL_MESA_framebuffer_flip_x', oglExtensions);
  4893. GL_MESA_framebuffer_flip_y := gl_IsSupported('GL_MESA_framebuffer_flip_y', oglExtensions);
  4894. GL_MESA_framebuffer_swap_xy := gl_IsSupported('GL_MESA_framebuffer_swap_xy', oglExtensions);
  4895. {$IFDEF USE_GLEXT}
  4896. GL_MESA_pack_invert := gl_IsSupported('GL_MESA_pack_invert', oglExtensions);
  4897. GL_MESA_program_binary_formats := gl_IsSupported('GL_MESA_program_binary_formats', oglExtensions);
  4898. GL_MESA_resize_buffers := gl_IsSupported('GL_MESA_resize_buffers', oglExtensions);
  4899. GL_MESA_shader_integer_functions := gl_IsSupported('GL_MESA_shader_integer_functions', oglExtensions);
  4900. GL_MESA_tile_raster_order := gl_IsSupported('GL_MESA_tile_raster_order', oglExtensions);
  4901. GL_MESA_window_pos := gl_IsSupported('GL_MESA_window_pos', oglExtensions);
  4902. GL_MESA_ycbcr_texture := gl_IsSupported('GL_MESA_ycbcr_texture', oglExtensions);
  4903. GL_NVX_blend_equation_advanced_multi_draw_buffers := gl_IsSupported('GL_NVX_blend_equation_advanced_multi_draw_buffers', oglExtensions);
  4904. GL_NVX_conditional_render := gl_IsSupported('GL_NVX_conditional_render', oglExtensions);
  4905. GL_NVX_gpu_memory_info := gl_IsSupported('GL_NVX_gpu_memory_info', oglExtensions);
  4906. GL_NVX_gpu_multicast2 := gl_IsSupported('GL_NVX_gpu_multicast2', oglExtensions);
  4907. GL_NVX_linked_gpu_multicast := gl_IsSupported('GL_NVX_linked_gpu_multicast', oglExtensions);
  4908. GL_NVX_progress_fence := gl_IsSupported('GL_NVX_progress_fence', oglExtensions);
  4909. GL_NV_alpha_to_coverage_dither_control := gl_IsSupported('GL_NV_alpha_to_coverage_dither_control', oglExtensions);
  4910. {$EndIf}
  4911. GL_NV_bindless_multi_draw_indirect := gl_IsSupported('GL_NV_bindless_multi_draw_indirect', oglExtensions);
  4912. GL_NV_bindless_multi_draw_indirect_count := gl_IsSupported('GL_NV_bindless_multi_draw_indirect_count', oglExtensions);
  4913. GL_NV_bindless_texture := gl_IsSupported('GL_NV_bindless_texture', oglExtensions);
  4914. GL_NV_blend_equation_advanced := gl_IsSupported('GL_NV_blend_equation_advanced', oglExtensions);
  4915. GL_NV_blend_equation_advanced_coherent := gl_IsSupported('GL_NV_blend_equation_advanced_coherent', oglExtensions);
  4916. GL_NV_blend_minmax_factor := gl_IsSupported('GL_NV_blend_minmax_factor', oglExtensions);
  4917. {$IFDEF USE_GLEXT}
  4918. GL_NV_blend_square := gl_IsSupported('GL_NV_blend_square', oglExtensions);
  4919. GL_NV_compute_program5 := gl_IsSupported('GL_NV_compute_program5', oglExtensions);
  4920. {$EndIf}
  4921. GL_NV_clip_space_w_scaling := gl_IsSupported('GL_NV_clip_space_w_scaling', oglExtensions);
  4922. GL_NV_command_list := gl_IsSupported('GL_NV_command_list', oglExtensions);
  4923. GL_NV_compute_shader_derivatives := gl_IsSupported('GL_NV_compute_shader_derivatives', oglExtensions);
  4924. GL_NV_conditional_render := gl_IsSupported('GL_NV_conditional_render', oglExtensions);
  4925. GL_NV_conservative_raster := gl_IsSupported('GL_NV_conservative_raster', oglExtensions);
  4926. GL_NV_conservative_raster_dilate := gl_IsSupported('GL_NV_conservative_raster_dilate', oglExtensions);
  4927. GL_NV_conservative_raster_pre_snap := gl_IsSupported('GL_NV_conservative_raster_pre_snap', oglExtensions);
  4928. GL_NV_conservative_raster_pre_snap_triangles := gl_IsSupported('GL_NV_conservative_raster_pre_snap_triangles', oglExtensions);
  4929. GL_NV_conservative_raster_underestimation := gl_IsSupported('GL_NV_conservative_raster_underestimation', oglExtensions);
  4930. GL_NV_depth_buffer_float := gl_IsSupported('GL_NV_depth_buffer_float', oglExtensions);
  4931. {$IFDEF USE_GLEXT}
  4932. GL_NV_copy_depth_to_color := gl_IsSupported('GL_NV_copy_depth_to_color', oglExtensions);
  4933. GL_NV_copy_image := gl_IsSupported('GL_NV_copy_image', oglExtensions);
  4934. GL_NV_deep_texture3D := gl_IsSupported('GL_NV_deep_texture3D', oglExtensions);
  4935. GL_NV_depth_clamp := gl_IsSupported('GL_NV_depth_clamp', oglExtensions);
  4936. GL_NV_draw_texture := gl_IsSupported('GL_NV_draw_texture', oglExtensions);
  4937. GL_NV_evaluators := gl_IsSupported('GL_NV_evaluators', oglExtensions);
  4938. GL_NV_explicit_multisample := gl_IsSupported('GL_NV_explicit_multisample', oglExtensions);
  4939. GL_NV_fence := gl_IsSupported('GL_NV_fence', oglExtensions);
  4940. {$EndIf}
  4941. GL_NV_draw_vulkan_image := gl_IsSupported('GL_NV_draw_vulkan_image', oglExtensions);
  4942. GL_NV_fill_rectangle := gl_IsSupported('GL_NV_fill_rectangle', oglExtensions);
  4943. {$IFDEF USE_GLEXT}
  4944. GL_NV_float_buffer := gl_IsSupported('GL_NV_float_buffer', oglExtensions);
  4945. GL_NV_fog_distance := gl_IsSupported('GL_NV_fog_distance', oglExtensions);
  4946. GL_NV_fragment_program := gl_IsSupported('GL_NV_fragment_program', oglExtensions);
  4947. GL_NV_fragment_program2 := gl_IsSupported('GL_NV_fragment_program2', oglExtensions);
  4948. GL_NV_fragment_program4 := gl_IsSupported('GL_NV_fragment_program4', oglExtensions);
  4949. GL_NV_fragment_program_option := gl_IsSupported('GL_NV_fragment_program_option', oglExtensions);
  4950. {$EndIf}
  4951. GL_NV_fragment_coverage_to_color := gl_IsSupported('GL_NV_fragment_coverage_to_color', oglExtensions);
  4952. GL_NV_fragment_shader_barycentric := gl_IsSupported('GL_NV_fragment_shader_barycentric', oglExtensions);
  4953. GL_NV_fragment_shader_interlock := gl_IsSupported('GL_NV_fragment_shader_interlock', oglExtensions);
  4954. GL_NV_framebuffer_mixed_samples := gl_IsSupported('GL_NV_framebuffer_mixed_samples', oglExtensions);
  4955. GL_NV_framebuffer_multisample_coverage := gl_IsSupported('GL_NV_framebuffer_multisample_coverage', oglExtensions);
  4956. GL_NV_geometry_shader_passthrough := gl_IsSupported('GL_NV_geometry_shader_passthrough', oglExtensions);
  4957. {$IFDEF USE_GLEXT}
  4958. GL_NV_geometry_program4 := gl_IsSupported('GL_NV_geometry_program4', oglExtensions);
  4959. GL_NV_geometry_shader4 := gl_IsSupported('GL_NV_geometry_shader4', oglExtensions);
  4960. GL_NV_gpu_multicast := gl_IsSupported('GL_NV_gpu_multicast', oglExtensions);
  4961. GL_NV_gpu_program4 := gl_IsSupported('GL_NV_gpu_program4', oglExtensions);
  4962. GL_NV_gpu_program5 := gl_IsSupported('GL_NV_gpu_program5', oglExtensions);
  4963. GL_NV_gpu_program5_mem_extended := gl_IsSupported('GL_NV_gpu_program5_mem_extended', oglExtensions);
  4964. {$EndIf}
  4965. // узнать, работает ли эта часть при GLext!!!!
  4966. // хотя функции подменены в другом разделе.
  4967. GL_NV_gpu_shader5 := gl_IsSupported('GL_NV_gpu_shader5', oglExtensions);
  4968. GL_NV_internalformat_sample_query := gl_IsSupported('GL_NV_internalformat_sample_query', oglExtensions);
  4969. {$IFDEF USE_GLEXT}
  4970. GL_NV_half_float := gl_IsSupported('GL_NV_half_float', oglExtensions);
  4971. GL_NV_light_max_exponent := gl_IsSupported('GL_NV_light_max_exponent', oglExtensions);
  4972. {$EndIf}
  4973. GL_NV_memory_attachment := gl_IsSupported('GL_NV_memory_attachment', oglExtensions);
  4974. GL_NV_memory_object_sparse := gl_IsSupported('GL_NV_memory_object_sparse', oglExtensions);
  4975. GL_NV_mesh_shader := gl_IsSupported('GL_NV_mesh_shader', oglExtensions);
  4976. GL_NV_path_rendering := gl_IsSupported('GL_NV_path_rendering', oglExtensions);
  4977. GL_NV_path_rendering_shared_edge := gl_IsSupported('GL_NV_path_rendering_shared_edge', oglExtensions);
  4978. {$IFDEF USE_GLEXT}
  4979. GL_NV_multisample_coverage := gl_IsSupported('GL_NV_multisample_coverage', oglExtensions);
  4980. GL_NV_multisample_filter_hint := gl_IsSupported('GL_NV_multisample_filter_hint', oglExtensions);
  4981. GL_NV_occlusion_query := gl_IsSupported('GL_NV_occlusion_query', oglExtensions);
  4982. GL_NV_packed_depth_stencil := gl_IsSupported('GL_NV_packed_depth_stencil', oglExtensions);
  4983. GL_NV_parameter_buffer_object := gl_IsSupported('GL_NV_parameter_buffer_object', oglExtensions);
  4984. GL_NV_parameter_buffer_object2 := gl_IsSupported('GL_NV_parameter_buffer_object2', oglExtensions);
  4985. GL_NV_pixel_data_range := gl_IsSupported('GL_NV_pixel_data_range', oglExtensions);
  4986. GL_NV_point_sprite := gl_IsSupported('GL_NV_point_sprite', oglExtensions);
  4987. GL_NV_present_video := gl_IsSupported('GL_NV_present_video', oglExtensions);
  4988. GL_NV_primitive_restart := gl_IsSupported('GL_NV_primitive_restart', oglExtensions);
  4989. {$EndIf}
  4990. GL_NV_primitive_shading_rate := gl_IsSupported('GL_NV_primitive_shading_rate', oglExtensions);
  4991. GL_NV_representative_fragment_test := gl_IsSupported('GL_NV_representative_fragment_test', oglExtensions);
  4992. {$IFDEF USE_GLEXT}
  4993. GL_NV_query_resource := gl_IsSupported('GL_NV_query_resource', oglExtensions);
  4994. GL_NV_query_resource_tag := gl_IsSupported('GL_NV_query_resource_tag', oglExtensions);
  4995. GL_NV_register_combiners := gl_IsSupported('GL_NV_register_combiners', oglExtensions);
  4996. GL_NV_register_combiners2 := gl_IsSupported('GL_NV_register_combiners2', oglExtensions);
  4997. GL_NV_robustness_video_memory_purge := gl_IsSupported('GL_NV_robustness_video_memory_purge', oglExtensions);
  4998. {$EndIf}
  4999. GL_NV_sample_locations := gl_IsSupported('GL_NV_sample_locations', oglExtensions);
  5000. GL_NV_sample_mask_override_coverage := gl_IsSupported('GL_NV_sample_mask_override_coverage', oglExtensions);
  5001. GL_NV_scissor_exclusive := gl_IsSupported('GL_NV_scissor_exclusive', oglExtensions);
  5002. GL_NV_shader_atomic_counters := gl_IsSupported('GL_NV_shader_atomic_counters', oglExtensions);
  5003. GL_NV_shader_atomic_float := gl_IsSupported('GL_NV_shader_atomic_float', oglExtensions);
  5004. GL_NV_shader_atomic_float64 := gl_IsSupported('GL_NV_shader_atomic_float64', oglExtensions);
  5005. GL_NV_shader_atomic_fp16_vector := gl_IsSupported('GL_NV_shader_atomic_fp16_vector', oglExtensions);
  5006. GL_NV_shader_atomic_int64 := gl_IsSupported('GL_NV_shader_atomic_int64', oglExtensions);
  5007. GL_NV_shader_buffer_load := gl_IsSupported('GL_NV_shader_buffer_load', oglExtensions);
  5008. GL_NV_shader_buffer_store := gl_IsSupported('GL_NV_shader_buffer_store', oglExtensions);
  5009. GL_NV_shader_subgroup_partitioned := gl_IsSupported('GL_NV_shader_subgroup_partitioned', oglExtensions);
  5010. GL_NV_shader_texture_footprint := gl_IsSupported('GL_NV_shader_texture_footprint', oglExtensions);
  5011. GL_NV_shader_thread_group := gl_IsSupported('GL_NV_shader_thread_group', oglExtensions);
  5012. GL_NV_shader_thread_shuffle := gl_IsSupported('GL_NV_shader_thread_shuffle', oglExtensions);
  5013. GL_NV_shading_rate_image := gl_IsSupported('GL_NV_shading_rate_image', oglExtensions);
  5014. {$IFDEF USE_GLEXT}
  5015. GL_NV_shader_storage_buffer_object := gl_IsSupported('GL_NV_shader_storage_buffer_object', oglExtensions);
  5016. GL_NV_stereo_view_rendering := gl_IsSupported('GL_NV_stereo_view_rendering', oglExtensions);
  5017. GL_NV_tessellation_program5 := gl_IsSupported('GL_NV_tessellation_program5', oglExtensions);
  5018. GL_NV_texgen_emboss := gl_IsSupported('GL_NV_texgen_emboss', oglExtensions);
  5019. GL_NV_texgen_reflection := gl_IsSupported('GL_NV_texgen_reflection', oglExtensions);
  5020. GL_NV_texture_compression_vtc := gl_IsSupported('GL_NV_texture_compression_vtc', oglExtensions);
  5021. GL_NV_texture_env_combine4 := gl_IsSupported('GL_NV_texture_env_combine4', oglExtensions);
  5022. GL_NV_texture_expand_normal := gl_IsSupported('GL_NV_texture_expand_normal', oglExtensions);
  5023. GL_NV_texture_multisample := gl_IsSupported('GL_NV_texture_multisample', oglExtensions);
  5024. GL_NV_texture_rectangle := gl_IsSupported('GL_NV_texture_rectangle', oglExtensions);
  5025. {$EndIf}
  5026. GL_NV_texture_barrier := gl_IsSupported('GL_NV_texture_barrier', oglExtensions);
  5027. GL_NV_texture_rectangle_compressed := gl_IsSupported('GL_NV_texture_rectangle_compressed', oglExtensions);
  5028. {$IFDEF USE_GLEXT}
  5029. GL_NV_texture_shader := gl_IsSupported('GL_NV_texture_shader', oglExtensions);
  5030. GL_NV_texture_shader2 := gl_IsSupported('GL_NV_texture_shader2', oglExtensions);
  5031. GL_NV_texture_shader3 := gl_IsSupported('GL_NV_texture_shader3', oglExtensions);
  5032. GL_NV_timeline_semaphore := gl_IsSupported('GL_NV_timeline_semaphore', oglExtensions);
  5033. GL_NV_transform_feedback := gl_IsSupported('GL_NV_transform_feedback', oglExtensions);
  5034. GL_NV_transform_feedback2 := gl_IsSupported('GL_NV_transform_feedback2', oglExtensions);
  5035. GL_NV_vdpau_interop := gl_IsSupported('GL_NV_vdpau_interop', oglExtensions);
  5036. GL_NV_vdpau_interop2 := gl_IsSupported('GL_NV_vdpau_interop2', oglExtensions);
  5037. GL_NV_vertex_array_range := gl_IsSupported('GL_NV_vertex_array_range', oglExtensions);
  5038. GL_NV_vertex_array_range2 := gl_IsSupported('GL_NV_vertex_array_range2', oglExtensions);
  5039. {$EndIf}
  5040. GL_NV_uniform_buffer_unified_memory := gl_IsSupported('GL_NV_uniform_buffer_unified_memory', oglExtensions);
  5041. GL_NV_vertex_attrib_integer_64bit := gl_IsSupported('GL_NV_vertex_attrib_integer_64bit', oglExtensions);
  5042. GL_NV_vertex_buffer_unified_memory := gl_IsSupported('GL_NV_vertex_buffer_unified_memory', oglExtensions);
  5043. GL_NV_viewport_array2 := gl_IsSupported('GL_NV_viewport_array2', oglExtensions);
  5044. GL_NV_viewport_swizzle := gl_IsSupported('GL_NV_viewport_swizzle', oglExtensions);
  5045. {$IFDEF USE_GLEXT}
  5046. GL_NV_vertex_program := gl_IsSupported('GL_NV_vertex_program', oglExtensions);
  5047. GL_NV_vertex_program1_1 := gl_IsSupported('GL_NV_vertex_program1_1', oglExtensions);
  5048. GL_NV_vertex_program2 := gl_IsSupported('GL_NV_vertex_program2', oglExtensions);
  5049. GL_NV_vertex_program2_option := gl_IsSupported('GL_NV_vertex_program2_option', oglExtensions);
  5050. GL_NV_vertex_program3 := gl_IsSupported('GL_NV_vertex_program3', oglExtensions);
  5051. GL_NV_vertex_program4 := gl_IsSupported('GL_NV_vertex_program4', oglExtensions);
  5052. GL_NV_video_capture := gl_IsSupported('GL_NV_video_capture', oglExtensions);
  5053. GL_OML_interlace := gl_IsSupported('GL_OML_interlace', oglExtensions);
  5054. GL_OML_resample := gl_IsSupported('GL_OML_resample', oglExtensions);
  5055. GL_OML_subsample := gl_IsSupported('GL_OML_subsample', oglExtensions);
  5056. {$EndIf}
  5057. GL_OVR_multiview := gl_IsSupported('GL_OVR_multiview', oglExtensions);
  5058. GL_OVR_multiview2 := gl_IsSupported('GL_OVR_multiview2', oglExtensions);
  5059. {$IFDEF USE_GLEXT}
  5060. GL_PGI_misc_hints := gl_IsSupported('GL_PGI_misc_hints', oglExtensions);
  5061. GL_PGI_vertex_hints := gl_IsSupported('GL_PGI_vertex_hints', oglExtensions);
  5062. GL_REND_screen_coordinates := gl_IsSupported('GL_REND_screen_coordinates', oglExtensions);
  5063. GL_S3_s3tc := gl_IsSupported('GL_S3_s3tc', oglExtensions);
  5064. GL_SGIS_detail_texture := gl_IsSupported('GL_SGIS_detail_texture', oglExtensions);
  5065. GL_SGIS_fog_function := gl_IsSupported('GL_SGIS_fog_function', oglExtensions);
  5066. // GL_SGIS_generate_mipmap := gl_IsSupported('GL_SGIS_generate_mipmap', oglExtensions);
  5067. GL_SGIS_multisample := gl_IsSupported('GL_SGIS_multisample', oglExtensions);
  5068. GL_SGIS_pixel_texture := gl_IsSupported('GL_SGIS_pixel_texture', oglExtensions);
  5069. GL_SGIS_point_line_texgen := gl_IsSupported('GL_SGIS_point_line_texgen', oglExtensions);
  5070. GL_SGIS_point_parameters := gl_IsSupported('GL_SGIS_point_parameters', oglExtensions);
  5071. GL_SGIS_sharpen_texture := gl_IsSupported('GL_SGIS_sharpen_texture', oglExtensions);
  5072. GL_SGIS_texture4D := gl_IsSupported('GL_SGIS_texture4D', oglExtensions);
  5073. GL_SGIS_texture_border_clamp := gl_IsSupported('GL_SGIS_texture_border_clamp', oglExtensions);
  5074. GL_SGIS_texture_color_mask := gl_IsSupported('GL_SGIS_texture_color_mask', oglExtensions);
  5075. GL_SGIS_texture_edge_clamp := gl_IsSupported('GL_SGIS_texture_edge_clamp', oglExtensions);
  5076. GL_SGIS_texture_filter4 := gl_IsSupported('GL_SGIS_texture_filter4', oglExtensions);
  5077. GL_SGIS_texture_lod := gl_IsSupported('GL_SGIS_texture_lod', oglExtensions);
  5078. GL_SGIS_texture_select := gl_IsSupported('GL_SGIS_texture_select', oglExtensions);
  5079. GL_SGIX_async := gl_IsSupported('GL_SGIX_async', oglExtensions);
  5080. GL_SGIX_async_histogram := gl_IsSupported('GL_SGIX_async_histogram', oglExtensions);
  5081. GL_SGIX_async_pixel := gl_IsSupported('GL_SGIX_async_pixel', oglExtensions);
  5082. GL_SGIX_blend_alpha_minmax := gl_IsSupported('GL_SGIX_blend_alpha_minmax', oglExtensions);
  5083. GL_SGIX_calligraphic_fragment := gl_IsSupported('GL_SGIX_calligraphic_fragment', oglExtensions);
  5084. GL_SGIX_clipmap := gl_IsSupported('GL_SGIX_clipmap', oglExtensions);
  5085. GL_SGIX_convolution_accuracy := gl_IsSupported('GL_SGIX_convolution_accuracy', oglExtensions);
  5086. GL_SGIX_depth_pass_instrument := gl_IsSupported('GL_SGIX_depth_pass_instrument', oglExtensions);
  5087. GL_SGIX_depth_texture := gl_IsSupported('GL_SGIX_depth_texture', oglExtensions);
  5088. GL_SGIX_flush_raster := gl_IsSupported('GL_SGIX_flush_raster', oglExtensions);
  5089. GL_SGIX_fog_offset := gl_IsSupported('GL_SGIX_fog_offset', oglExtensions);
  5090. GL_SGIX_fragment_lighting := gl_IsSupported('GL_SGIX_fragment_lighting', oglExtensions);
  5091. GL_SGIX_framezoom := gl_IsSupported('GL_SGIX_framezoom', oglExtensions);
  5092. GL_SGIX_igloo_interface := gl_IsSupported('GL_SGIX_igloo_interface', oglExtensions);
  5093. GL_SGIX_instruments := gl_IsSupported('GL_SGIX_instruments', oglExtensions);
  5094. GL_SGIX_interlace := gl_IsSupported('GL_SGIX_interlace', oglExtensions);
  5095. GL_SGIX_ir_instrument1 := gl_IsSupported('GL_SGIX_ir_instrument1', oglExtensions);
  5096. GL_SGIX_list_priority := gl_IsSupported('GL_SGIX_list_priority', oglExtensions);
  5097. GL_SGIX_pixel_texture := gl_IsSupported('GL_SGIX_pixel_texture', oglExtensions);
  5098. GL_SGIX_pixel_tiles := gl_IsSupported('GL_SGIX_pixel_tiles', oglExtensions);
  5099. GL_SGIX_polynomial_ffd := gl_IsSupported('GL_SGIX_polynomial_ffd', oglExtensions);
  5100. GL_SGIX_reference_plane := gl_IsSupported('GL_SGIX_reference_plane', oglExtensions);
  5101. GL_SGIX_resample := gl_IsSupported('GL_SGIX_resample', oglExtensions);
  5102. GL_SGIX_scalebias_hint := gl_IsSupported('GL_SGIX_scalebias_hint', oglExtensions);
  5103. GL_SGIX_shadow := gl_IsSupported('GL_SGIX_shadow', oglExtensions);
  5104. GL_SGIX_shadow_ambient := gl_IsSupported('GL_SGIX_shadow_ambient', oglExtensions);
  5105. GL_SGIX_sprite := gl_IsSupported('GL_SGIX_sprite', oglExtensions);
  5106. GL_SGIX_subsample := gl_IsSupported('GL_SGIX_subsample', oglExtensions);
  5107. GL_SGIX_tag_sample_buffer := gl_IsSupported('GL_SGIX_tag_sample_buffer', oglExtensions);
  5108. GL_SGIX_texture_add_env := gl_IsSupported('GL_SGIX_texture_add_env', oglExtensions);
  5109. GL_SGIX_texture_coordinate_clamp := gl_IsSupported('GL_SGIX_texture_coordinate_clamp', oglExtensions);
  5110. GL_SGIX_texture_lod_bias := gl_IsSupported('GL_SGIX_texture_lod_bias', oglExtensions);
  5111. GL_SGIX_texture_multi_buffer := gl_IsSupported('GL_SGIX_texture_multi_buffer', oglExtensions);
  5112. GL_SGIX_texture_scale_bias := gl_IsSupported('GL_SGIX_texture_scale_bias', oglExtensions);
  5113. GL_SGIX_vertex_preclip := gl_IsSupported('GL_SGIX_vertex_preclip', oglExtensions);
  5114. GL_SGIX_ycrcb := gl_IsSupported('GL_SGIX_ycrcb', oglExtensions);
  5115. GL_SGIX_ycrcb_subsample := gl_IsSupported('GL_SGIX_ycrcb_subsample', oglExtensions);
  5116. GL_SGIX_ycrcba := gl_IsSupported('GL_SGIX_ycrcba', oglExtensions);
  5117. GL_SGI_color_matrix := gl_IsSupported('GL_SGI_color_matrix', oglExtensions);
  5118. GL_SGI_color_table := gl_IsSupported('GL_SGI_color_table', oglExtensions);
  5119. GL_SGI_texture_color_table := gl_IsSupported('GL_SGI_texture_color_table', oglExtensions);
  5120. GL_SUNX_constant_data := gl_IsSupported('GL_SUNX_constant_data', oglExtensions);
  5121. GL_SUN_convolution_border_modes := gl_IsSupported('GL_SUN_convolution_border_modes', oglExtensions);
  5122. GL_SUN_global_alpha := gl_IsSupported('GL_SUN_global_alpha', oglExtensions);
  5123. GL_SUN_mesh_array := gl_IsSupported('GL_SUN_mesh_array', oglExtensions);
  5124. GL_SUN_slice_accum := gl_IsSupported('GL_SUN_slice_accum', oglExtensions);
  5125. GL_SUN_triangle_list := gl_IsSupported('GL_SUN_triangle_list', oglExtensions);
  5126. GL_SUN_vertex := gl_IsSupported('GL_SUN_vertex', oglExtensions);
  5127. GL_WIN_phong_shading := gl_IsSupported('GL_WIN_phong_shading', oglExtensions);
  5128. GL_WIN_specular_fog := gl_IsSupported('GL_WIN_specular_fog', oglExtensions);
  5129. {$EndIf}
  5130. end;
  5131. {$IfEnd}
  5132. procedure CheckGLVersion;
  5133. var
  5134. Buffer: String;
  5135. begin
  5136. {$IfDef USE_GLU}
  5137. GLU_VERSION_1_1 := False;
  5138. GLU_VERSION_1_2 := False;
  5139. GLU_VERSION_1_3 := False;
  5140. Buffer := gluGetString(GLU_VERSION);
  5141. GLUVersion := Integer(buffer[3]) - 48;
  5142. GLU_VERSION_1_1 := True;
  5143. if GLUVersion >= 2 then
  5144. GLU_VERSION_1_2 := True;
  5145. if GLUVersion >= 3 then
  5146. GLU_VERSION_1_3 := True;
  5147. {$EndIf}
  5148. {$IfDef USE_GL_33}
  5149. glGetIntegerv(GL_MAJOR_VERSION, @GLVersion[0]);
  5150. glGetIntegerv(GL_MINOR_VERSION, @GLVersion[1]);
  5151. {$Else}
  5152. Buffer := glGetString(GL_VERSION);
  5153. GLVersion[0] := Integer(Buffer[1]) - 48;
  5154. GLVersion[1] := Integer(buffer[3]) - 48;
  5155. {$EndIf}
  5156. use_glMinorVer := 0;
  5157. use_glMajorVer := 1;
  5158. if GLVersion[0] > maxGLVerMajor then
  5159. GLVersion[0] := maxGLVerMajor;
  5160. if GLVersion[1] > maxGLVerMinor then
  5161. GLVersion[1] := maxGLVerMinor;
  5162. GL_VERSION_1_0 := True;
  5163. {$IfDef GL_VERSION_1_1}
  5164. GL_VERSION_1_1 := False;
  5165. {$EndIf}
  5166. {$IfDef GL_VERSION_1_2}
  5167. GL_VERSION_1_2 := False;
  5168. {$EndIf}
  5169. {$IfDef GL_VERSION_1_3}
  5170. GL_VERSION_1_3 := False;
  5171. {$EndIf}
  5172. {$IfDef GL_VERSION_1_4}
  5173. GL_VERSION_1_4 := False;
  5174. {$EndIf}
  5175. {$IfDef GL_VERSION_1_5}
  5176. GL_VERSION_1_5 := False;
  5177. {$EndIf}
  5178. {$IfDef GL_VERSION_2_0}
  5179. GL_VERSION_2_0 := False;
  5180. {$EndIf}
  5181. {$IfDef GL_VERSION_2_1}
  5182. GL_VERSION_2_1 := False;
  5183. {$EndIf}
  5184. {$IfDef GL_VERSION_3_0}
  5185. GL_VERSION_3_0 := False;
  5186. {$EndIf}
  5187. {$IfDef GL_VERSION_3_1}
  5188. GL_VERSION_3_1 := False;
  5189. {$EndIf}
  5190. {$IfDef GL_VERSION_3_2}
  5191. GL_VERSION_3_2 := False;
  5192. {$EndIf}
  5193. {$IfDef GL_VERSION_3_3}
  5194. GL_VERSION_3_3 := False;
  5195. {$EndIf}
  5196. {$IfDef GL_VERSION_4_0}
  5197. GL_VERSION_4_0 := False;
  5198. {$EndIf}
  5199. {$IfDef GL_VERSION_4_1}
  5200. GL_VERSION_4_1 := False;
  5201. {$EndIf}
  5202. {$IfDef GL_VERSION_4_2}
  5203. GL_VERSION_4_2 := False;
  5204. {$EndIf}
  5205. {$IfDef GL_VERSION_4_3}
  5206. GL_VERSION_4_3 := False;
  5207. {$EndIf}
  5208. {$IfDef GL_VERSION_4_4}
  5209. GL_VERSION_4_4 := False;
  5210. {$EndIf}
  5211. {$IfDef GL_VERSION_4_5}
  5212. GL_VERSION_4_5 := False;
  5213. {$EndIf}
  5214. {$IfDef GL_VERSION_4_6}
  5215. GL_VERSION_4_6 := False;
  5216. {$EndIf}
  5217. {$if defined(GL_VERSION_4_0) or defined(GL_VERSION_4_1) or defined(GL_VERSION_4_2) or defined(GL_VERSION_4_3) or defined(GL_VERSION_4_4) or defined(GL_VERSION_4_5) or defined(GL_VERSION_4_6)}
  5218. if GLVersion[0] >= 4 then
  5219. begin
  5220. use_glMajorVer := 4;
  5221. {$IfDef GL_VERSION_1_1}
  5222. GL_VERSION_1_1 := True;
  5223. {$EndIf}
  5224. {$IfDef GL_VERSION_1_2}
  5225. GL_VERSION_1_2 := True;
  5226. {$EndIf}
  5227. {$IfDef GL_VERSION_1_3}
  5228. GL_VERSION_1_3 := True;
  5229. {$EndIf}
  5230. {$IfDef GL_VERSION_1_4}
  5231. GL_VERSION_1_4 := True;
  5232. {$EndIf}
  5233. {$IfDef GL_VERSION_1_5}
  5234. GL_VERSION_1_5 := True;
  5235. {$EndIf}
  5236. {$IfDef GL_VERSION_2_0}
  5237. GL_VERSION_2_0 := True;
  5238. {$EndIf}
  5239. {$IfDef GL_VERSION_2_0}
  5240. GL_VERSION_2_1 := True;
  5241. {$EndIf}
  5242. {.$IfDef GL_VERSION_3_0}
  5243. GL_VERSION_3_0 := True;
  5244. {.$EndIf}
  5245. {$IfDef GL_VERSION_3_1}
  5246. GL_VERSION_3_1 := True;
  5247. {$EndIf}
  5248. {$IfDef GL_VERSION_3_2}
  5249. GL_VERSION_3_2 := True;
  5250. {$EndIf}
  5251. {$IfDef GL_VERSION_3_3}
  5252. GL_VERSION_3_3 := True;
  5253. {$EndIf}
  5254. {$IfDef GL_VERSION_4_0}
  5255. GL_VERSION_4_0 := True;
  5256. {$EndIf}
  5257. {$IfDef GL_VERSION_4_1}
  5258. if GLVersion[1] >= 1 then
  5259. begin
  5260. GL_VERSION_4_1 := True;
  5261. use_glMinorVer := 1;
  5262. end;
  5263. {$EndIf}
  5264. {$IfDef GL_VERSION_4_2}
  5265. if GLVersion[1] >= 2 then
  5266. begin
  5267. GL_VERSION_4_2 := True;
  5268. use_glMinorVer := 2;
  5269. end;
  5270. {$EndIf}
  5271. {$IfDef GL_VERSION_4_3}
  5272. if GLVersion[1] >= 3 then
  5273. begin
  5274. GL_VERSION_4_3 := True;
  5275. use_glMinorVer := 3;
  5276. end;
  5277. {$EndIf}
  5278. {$IfDef GL_VERSION_4_4}
  5279. if GLVersion[1] >= 4 then
  5280. begin
  5281. GL_VERSION_4_4 := True;
  5282. use_glMinorVer := 4;
  5283. end;
  5284. {$EndIf}
  5285. {$IfDef GL_VERSION_4_5}
  5286. if GLVersion[1] >= 5 then
  5287. begin
  5288. GL_VERSION_4_5 := True;
  5289. use_glMinorVer := 5;
  5290. end;
  5291. {$EndIf}
  5292. {$IfDef GL_VERSION_4_6}
  5293. if GLVersion[1] >= 6 then
  5294. begin
  5295. GL_VERSION_4_6 := True;
  5296. use_glMinorVer := 1;
  5297. end;
  5298. {$EndIf}
  5299. exit;
  5300. end;
  5301. {$IfEnd}
  5302. {$if defined(GL_VERSION_3_0) or defined(GL_VERSION_3_1) or defined(GL_VERSION_3_2) or defined(GL_VERSION_3_3)}
  5303. if GLVersion[0] >= 3 then
  5304. begin
  5305. // проверку на то какой контекст делаем надо делать или нет???
  5306. use_glMajorVer := 3;
  5307. {$IfDef GL_VERSION_1_1}
  5308. GL_VERSION_1_1 := True;
  5309. {$EndIf}
  5310. {$IfDef GL_VERSION_1_2}
  5311. GL_VERSION_1_2 := True;
  5312. {$EndIf}
  5313. {$IfDef GL_VERSION_1_3}
  5314. GL_VERSION_1_3 := True;
  5315. {$EndIf}
  5316. {$IfDef GL_VERSION_1_4}
  5317. GL_VERSION_1_4 := True;
  5318. {$EndIf}
  5319. {$IfDef GL_VERSION_1_5}
  5320. GL_VERSION_1_5 := True;
  5321. {$EndIf}
  5322. {$IfDef GL_VERSION_2_0}
  5323. GL_VERSION_2_0 := True;
  5324. {$EndIf}
  5325. {$IfDef GL_VERSION_2_0}
  5326. GL_VERSION_2_1 := True;
  5327. {$EndIf}
  5328. {.$IfDef GL_VERSION_3_0}
  5329. GL_VERSION_3_0 := True;
  5330. {.$EndIf}
  5331. {$IfDef GL_VERSION_3_1}
  5332. if GLVersion[1] >= 1 then
  5333. begin
  5334. GL_VERSION_3_1 := True;
  5335. use_glMinorVer := 1;
  5336. end;
  5337. {$EndIf}
  5338. {$IfDef GL_VERSION_3_2}
  5339. if GLVersion[1] >= 2 then
  5340. begin
  5341. GL_VERSION_3_2 := True;
  5342. use_glMinorVer := 2;
  5343. end;
  5344. {$EndIf}
  5345. {$IfDef GL_VERSION_3_3}
  5346. if GLVersion[1] >= 3 then
  5347. begin
  5348. GL_VERSION_3_3 := True;
  5349. use_glMinorVer := 3;
  5350. end;
  5351. {$EndIf}
  5352. exit;
  5353. end;
  5354. {$IfEnd}
  5355. {$If defined(GL_VERSION_2_0) or defined(GL_VERSION_2_1)}
  5356. if GLVersion[0] >= 2 then
  5357. begin
  5358. use_glMajorVer := 2;
  5359. {$IfDef GL_VERSION_1_1}
  5360. GL_VERSION_1_1 := True;
  5361. {$EndIf}
  5362. {$IfDef GL_VERSION_1_2}
  5363. GL_VERSION_1_2 := True;
  5364. {$EndIf}
  5365. {$IfDef GL_VERSION_1_3}
  5366. GL_VERSION_1_3 := True;
  5367. {$EndIf}
  5368. {$IfDef GL_VERSION_1_4}
  5369. GL_VERSION_1_4 := True;
  5370. {$EndIf}
  5371. {$IfDef GL_VERSION_1_5}
  5372. GL_VERSION_1_5 := True;
  5373. {$EndIf}
  5374. {$IfDef GL_VERSION_2_0}
  5375. GL_VERSION_2_0 := True;
  5376. {$EndIf}
  5377. {$IfDef GL_VERSION_2_1}
  5378. if GLVersion[1] >= 1 then
  5379. begin
  5380. GL_VERSION_2_1 := True;
  5381. use_glMinorVer := 1;
  5382. end;
  5383. {$EndIf}
  5384. exit;
  5385. end;
  5386. {$IfEnd}
  5387. {$if defined(GL_VERSION_1_1) or defined(GL_VERSION_1_2) or defined(GL_VERSION_1_3) or defined(GL_VERSION_1_4) or defined(GL_VERSION_1_5)}
  5388. if GLVersion[0] = 1 then
  5389. begin
  5390. {$IfDef GL_VERSION_1_1}
  5391. if GLVersion[1] >= 1 then
  5392. begin
  5393. GL_VERSION_1_1 := True;
  5394. use_glMinorVer := 1;
  5395. end;
  5396. {$EndIf}
  5397. {$IfDef GL_VERSION_1_2}
  5398. if GLVersion[1] >= 2 then
  5399. begin
  5400. GL_VERSION_1_2 := True;
  5401. use_glMinorVer := 2;
  5402. end;
  5403. {$EndIf}
  5404. {$IfDef GL_VERSION_1_3}
  5405. if GLVersion[1] >= 3 then
  5406. begin
  5407. GL_VERSION_1_3 := True;
  5408. use_glMinorVer := 3;
  5409. end;
  5410. {$EndIf}
  5411. {$IfDef GL_VERSION_1_4}
  5412. if GLVersion[1] >= 4 then
  5413. begin
  5414. GL_VERSION_1_4 := True;
  5415. use_glMinorVer := 4;
  5416. end;
  5417. {$EndIf}
  5418. {$IfDef GL_VERSION_1_5}
  5419. if GLVersion[1] >= 5 then
  5420. begin
  5421. GL_VERSION_1_5 := True;
  5422. use_glMinorVer := 5;
  5423. end;
  5424. {$EndIf}
  5425. end;
  5426. {$IfEnd}
  5427. end;
  5428. function LoadOpenGL: Boolean;
  5429. var
  5430. i, j: Integer;
  5431. begin
  5432. { Result := False;
  5433. if gl_Library <> Nil then
  5434. glFreeLib(gl_Library);
  5435. gl_Library := glLoadLib(PChar(libGL));
  5436. if gl_Library = nil then
  5437. exit; // Error!!! }
  5438. Result := True;
  5439. {$IfDef LINUX}
  5440. oglExtensions := '';
  5441. {$IfDef GL_VERSION_3_0}
  5442. if use_glMajorVer >= 3 then
  5443. begin
  5444. if not Assigned(glGetStringi) then
  5445. glGetStringi := gl_GetProc('glGetStringi');
  5446. if Assigned(glGetStringi) then
  5447. begin
  5448. glGetIntegerv(GL_NUM_EXTENSIONS, @j);
  5449. for i := 0 to j - 1 do
  5450. oglExtensions := oglExtensions + PAnsiChar(glGetStringi(GL_EXTENSIONS, i)) + #32;
  5451. end;
  5452. end;
  5453. {$EndIf}
  5454. if oglExtensions = '' then
  5455. oglExtensions := glGetString(GL_EXTENSIONS);
  5456. {$EndIf}
  5457. {$If defined(USE_GLEXT) or defined(USE_GLCORE)}
  5458. AllCheckGLExtension;
  5459. {$IfEnd}
  5460. // ZenGL ++
  5461. GL_SGIS_generate_mipmap := gl_IsSupported('GL_SGIS_generate_mipmap', oglExtensions);
  5462. GL_EXT_texture_compression_s3tc := gl_IsSupported('GL_EXT_texture_compression_s3tc', oglExtensions);
  5463. GL_EXT_texture_filter_anisotropic := gl_IsSupported('GL_EXT_texture_filter_anisotropic', oglExtensions);
  5464. GL_EXT_blend_func_separate := gl_IsSupported('GL_EXT_blend_func_separate', oglExtensions);
  5465. {$IfDef USE_DEPRECATED}
  5466. (* glAccum := gl_GetProc('glAccum');
  5467. // glAlphaFunc := gl_GetProc('glAlphaFunc');
  5468. glAreTexturesResident := gl_GetProc('glAreTexturesResident');
  5469. // glArrayElement := gl_GetProc('glArrayElement');
  5470. // glBegin := gl_GetProc('glBegin');
  5471. glBitmap := gl_GetProc('glBitmap');
  5472. // glCallList := gl_GetProc('glCallList');
  5473. // glCallLists := gl_GetProc('glCallLists');
  5474. glClearAccum := gl_GetProc('glClearAccum');
  5475. glClearIndex := gl_GetProc('glClearIndex');
  5476. glClipPlane := gl_GetProc('glClipPlane');
  5477. glColor3b := gl_GetProc('glColor3b');
  5478. glColor3bv := gl_GetProc('glColor3bv');
  5479. glColor3d := gl_GetProc('glColor3d');
  5480. glColor3dv := gl_GetProc('glColor3dv');
  5481. glColor3f := gl_GetProc('glColor3f');
  5482. glColor3fv := gl_GetProc('glColor3fv');
  5483. glColor3i := gl_GetProc('glColor3i');
  5484. glColor3iv := gl_GetProc('glColor3iv');
  5485. glColor3s := gl_GetProc('glColor3s');
  5486. glColor3sv := gl_GetProc('glColor3sv');
  5487. // glColor3ub := gl_GetProc('glColor3ub');
  5488. // glColor3ubv := gl_GetProc('glColor3ubv');
  5489. glColor3ui := gl_GetProc('glColor3ui');
  5490. glColor3uiv := gl_GetProc('glColor3uiv');
  5491. glColor3us := gl_GetProc('glColor3us');
  5492. glColor3usv := gl_GetProc('glColor3usv');
  5493. glColor4b := gl_GetProc('glColor4b');
  5494. glColor4bv := gl_GetProc('glColor4bv');
  5495. glColor4d := gl_GetProc('glColor4d');
  5496. glColor4dv := gl_GetProc('glColor4dv');
  5497. // glColor4f := gl_GetProc('glColor4f');
  5498. // glColor4fv := gl_GetProc('glColor4fv');
  5499. glColor4i := gl_GetProc('glColor4i');
  5500. glColor4iv := gl_GetProc('glColor4iv');
  5501. glColor4s := gl_GetProc('glColor4s');
  5502. glColor4sv := gl_GetProc('glColor4sv');
  5503. // glColor4ub := gl_GetProc('glColor4ub');
  5504. // glColor4ubv := gl_GetProc('glColor4ubv');
  5505. glColor4ui := gl_GetProc('glColor4ui');
  5506. glColor4uiv := gl_GetProc('glColor4uiv');
  5507. glColor4us := gl_GetProc('glColor4us');
  5508. glColor4usv := gl_GetProc('glColor4usv');
  5509. // glColorMaterial := gl_GetProc('glColorMaterial');
  5510. // glColorPointer := gl_GetProc('glColorPointer');
  5511. glCopyPixels := gl_GetProc('glCopyPixels');
  5512. // glDeleteLists := gl_GetProc('glDeleteLists');
  5513. // glDisableClientState := gl_GetProc('glDisableClientState');
  5514. glDrawPixels := gl_GetProc('glDrawPixels');
  5515. glEdgeFlag := gl_GetProc('glEdgeFlag');
  5516. // glEdgeFlagPointer := gl_GetProc('glEdgeFlagPointer');
  5517. glEdgeFlagv := gl_GetProc('glEdgeFlagv');
  5518. // glEnableClientState := gl_GetProc('glEnableClientState');
  5519. // glEnd := gl_GetProc('glEnd');
  5520. // glEndList := gl_GetProc('glEndList');
  5521. glEvalCoord1d := gl_GetProc('glEvalCoord1d');
  5522. glEvalCoord1dv := gl_GetProc('glEvalCoord1dv');
  5523. glEvalCoord1f := gl_GetProc('glEvalCoord1f');
  5524. glEvalCoord1fv := gl_GetProc('glEvalCoord1fv');
  5525. glEvalCoord2d := gl_GetProc('glEvalCoord2d');
  5526. glEvalCoord2dv := gl_GetProc('glEvalCoord2dv');
  5527. glEvalCoord2f := gl_GetProc('glEvalCoord2f');
  5528. glEvalCoord2fv := gl_GetProc('glEvalCoord2fv');
  5529. glEvalMesh1 := gl_GetProc('glEvalMesh1');
  5530. glEvalMesh2 := gl_GetProc('glEvalMesh2');
  5531. glEvalPoint1 := gl_GetProc('glEvalPoint1');
  5532. glEvalPoint2 := gl_GetProc('glEvalPoint2');
  5533. glFeedbackBuffer := gl_GetProc('glFeedbackBuffer');
  5534. glFogf := gl_GetProc('glFogf');
  5535. glFogfv := gl_GetProc('glFogfv');
  5536. glFogi := gl_GetProc('glFogi');
  5537. glFogiv := gl_GetProc('glFogiv');
  5538. // glFrustum := gl_GetProc('glFrustum');
  5539. // glGenLists := gl_GetProc('glGenLists');
  5540. glGetClipPlane := gl_GetProc('glGetClipPlane');
  5541. // glGetLightfv := gl_GetProc('glGetLightfv');
  5542. // glGetLightiv := gl_GetProc('glGetLightiv');
  5543. glGetMapdv := gl_GetProc('glGetMapdv');
  5544. glGetMapfv := gl_GetProc('glGetMapfv');
  5545. glGetMapiv := gl_GetProc('glGetMapiv');
  5546. // glGetMaterialfv := gl_GetProc('glGetMaterialfv');
  5547. // glGetMaterialiv := gl_GetProc('glGetMaterialiv');
  5548. glGetPixelMapfv := gl_GetProc('glGetPixelMapfv');
  5549. glGetPixelMapuiv := gl_GetProc('glGetPixelMapuiv');
  5550. glGetPixelMapusv := gl_GetProc('glGetPixelMapusv');
  5551. glGetPolygonStipple := gl_GetProc('glGetPolygonStipple');
  5552. glGetTexEnvfv := gl_GetProc('glGetTexEnvfv');
  5553. glGetTexEnviv := gl_GetProc('glGetTexEnviv');
  5554. glGetTexGendv := gl_GetProc('glGetTexGendv');
  5555. glGetTexGenfv := gl_GetProc('glGetTexGenfv');
  5556. glGetTexGeniv := gl_GetProc('glGetTexGeniv');
  5557. glIndexMask := gl_GetProc('glIndexMask');
  5558. glIndexPointer := gl_GetProc('glIndexPointer');
  5559. glIndexd := gl_GetProc('glIndexd');
  5560. glIndexdv := gl_GetProc('glIndexdv');
  5561. glIndexf := gl_GetProc('glIndexf');
  5562. glIndexfv := gl_GetProc('glIndexfv');
  5563. glIndexi := gl_GetProc('glIndexi');
  5564. glIndexiv := gl_GetProc('glIndexiv');
  5565. glIndexs := gl_GetProc('glIndexs');
  5566. glIndexsv := gl_GetProc('glIndexsv');
  5567. glIndexub := gl_GetProc('glIndexub');
  5568. glIndexubv := gl_GetProc('glIndexubv');
  5569. glInitNames := gl_GetProc('glInitNames');
  5570. // glInterleavedArrays := gl_GetProc('glInterleavedArrays');
  5571. // glIsList := gl_GetProc('glIsList');
  5572. // glLightModelf := gl_GetProc('glLightModelf');
  5573. // glLightModelfv := gl_GetProc('glLightModelfv');
  5574. glLightModeli := gl_GetProc('glLightModeli');
  5575. glLightModeliv := gl_GetProc('glLightModeliv');
  5576. // glLightf := gl_GetProc('glLightf');
  5577. // glLightfv := gl_GetProc('glLightfv');
  5578. glLighti := gl_GetProc('glLighti');
  5579. glLightiv := gl_GetProc('glLightiv');
  5580. glLineStipple := gl_GetProc('glLineStipple');
  5581. // glListBase := gl_GetProc('glListBase');
  5582. // glLoadIdentity := gl_GetProc('glLoadIdentity');
  5583. glLoadMatrixd := gl_GetProc('glLoadMatrixd');
  5584. // glLoadMatrixf := gl_GetProc('glLoadMatrixf');
  5585. glLoadName := gl_GetProc('glLoadName');
  5586. glMap1d := gl_GetProc('glMap1d');
  5587. glMap1f := gl_GetProc('glMap1f');
  5588. glMap2d := gl_GetProc('glMap2d');
  5589. glMap2f := gl_GetProc('glMap2f');
  5590. glMapGrid1d := gl_GetProc('glMapGrid1d');
  5591. glMapGrid1f := gl_GetProc('glMapGrid1f');
  5592. glMapGrid2d := gl_GetProc('glMapGrid2d');
  5593. glMapGrid2f := gl_GetProc('glMapGrid2f');
  5594. // glMaterialf := gl_GetProc('glMaterialf');
  5595. // glMaterialfv := gl_GetProc('glMaterialfv');
  5596. glMateriali := gl_GetProc('glMateriali');
  5597. glMaterialiv := gl_GetProc('glMaterialiv');
  5598. // glMatrixMode := gl_GetProc('glMatrixMode');
  5599. glMultMatrixd := gl_GetProc('glMultMatrixd');
  5600. glMultMatrixf := gl_GetProc('glMultMatrixf');
  5601. // glNewList := gl_GetProc('glNewList');
  5602. glNormal3b := gl_GetProc('glNormal3b');
  5603. glNormal3bv := gl_GetProc('glNormal3bv');
  5604. glNormal3d := gl_GetProc('glNormal3d');
  5605. glNormal3dv := gl_GetProc('glNormal3dv');
  5606. // glNormal3f := gl_GetProc('glNormal3f');
  5607. // glNormal3fv := gl_GetProc('glNormal3fv');
  5608. glNormal3i := gl_GetProc('glNormal3i');
  5609. glNormal3iv := gl_GetProc('glNormal3iv');
  5610. glNormal3s := gl_GetProc('glNormal3s');
  5611. glNormal3sv := gl_GetProc('glNormal3sv');
  5612. // glNormalPointer := gl_GetProc('glNormalPointer');
  5613. // glOrtho := gl_GetProc('glOrtho');
  5614. glPassThrough := gl_GetProc('glPassThrough');
  5615. glPixelMapfv := gl_GetProc('glPixelMapfv');
  5616. glPixelMapuiv := gl_GetProc('glPixelMapuiv');
  5617. glPixelMapusv := gl_GetProc('glPixelMapusv');
  5618. glPixelTransferf := gl_GetProc('glPixelTransferf');
  5619. glPixelTransferi := gl_GetProc('glPixelTransferi');
  5620. glPixelZoom := gl_GetProc('glPixelZoom');
  5621. glPolygonStipple := gl_GetProc('glPolygonStipple');
  5622. glPopAttrib := gl_GetProc('glPopAttrib');
  5623. glPopClientAttrib := gl_GetProc('glPopClientAttrib');
  5624. // glPopMatrix := gl_GetProc('glPopMatrix');
  5625. glPopName := gl_GetProc('glPopName');
  5626. glPrioritizeTextures := gl_GetProc('glPrioritizeTextures');
  5627. glPushAttrib := gl_GetProc('glPushAttrib');
  5628. glPushClientAttrib := gl_GetProc('glPushClientAttrib');
  5629. // glPushMatrix := gl_GetProc('glPushMatrix');
  5630. glPushName := gl_GetProc('glPushName');
  5631. glRasterPos2d := gl_GetProc('glRasterPos2d');
  5632. glRasterPos2dv := gl_GetProc('glRasterPos2dv');
  5633. glRasterPos2f := gl_GetProc('glRasterPos2f');
  5634. glRasterPos2fv := gl_GetProc('glRasterPos2fv');
  5635. glRasterPos2i := gl_GetProc('glRasterPos2i');
  5636. glRasterPos2iv := gl_GetProc('glRasterPos2iv');
  5637. glRasterPos2s := gl_GetProc('glRasterPos2s');
  5638. glRasterPos2sv := gl_GetProc('glRasterPos2sv');
  5639. glRasterPos3d := gl_GetProc('glRasterPos3d');
  5640. glRasterPos3dv := gl_GetProc('glRasterPos3dv');
  5641. glRasterPos3f := gl_GetProc('glRasterPos3f');
  5642. glRasterPos3fv := gl_GetProc('glRasterPos3fv');
  5643. glRasterPos3i := gl_GetProc('glRasterPos3i');
  5644. glRasterPos3iv := gl_GetProc('glRasterPos3iv');
  5645. glRasterPos3s := gl_GetProc('glRasterPos3s');
  5646. glRasterPos3sv := gl_GetProc('glRasterPos3sv');
  5647. glRasterPos4d := gl_GetProc('glRasterPos4d');
  5648. glRasterPos4dv := gl_GetProc('glRasterPos4dv');
  5649. glRasterPos4f := gl_GetProc('glRasterPos4f');
  5650. glRasterPos4fv := gl_GetProc('glRasterPos4fv');
  5651. glRasterPos4i := gl_GetProc('glRasterPos4i');
  5652. glRasterPos4iv := gl_GetProc('glRasterPos4iv');
  5653. glRasterPos4s := gl_GetProc('glRasterPos4s');
  5654. glRasterPos4sv := gl_GetProc('glRasterPos4sv');
  5655. glRectd := gl_GetProc('glRectd');
  5656. glRectdv := gl_GetProc('glRectdv');
  5657. glRectf := gl_GetProc('glRectf');
  5658. glRectfv := gl_GetProc('glRectfv');
  5659. glRecti := gl_GetProc('glRecti');
  5660. glRectiv := gl_GetProc('glRectiv');
  5661. glRects := gl_GetProc('glRects');
  5662. glRectsv := gl_GetProc('glRectsv');
  5663. glRenderMode := gl_GetProc('glRenderMode');
  5664. glRotated := gl_GetProc('glRotated');
  5665. // glRotatef := gl_GetProc('glRotatef');
  5666. glScaled := gl_GetProc('glScaled');
  5667. // glScalef := gl_GetProc('glScalef');
  5668. glSelectBuffer := gl_GetProc('glSelectBuffer');
  5669. // glShadeModel := gl_GetProc('glShadeModel');
  5670. glTexCoord1d := gl_GetProc('glTexCoord1d');
  5671. glTexCoord1dv := gl_GetProc('glTexCoord1dv');
  5672. glTexCoord1f := gl_GetProc('glTexCoord1f');
  5673. glTexCoord1fv := gl_GetProc('glTexCoord1fv');
  5674. glTexCoord1i := gl_GetProc('glTexCoord1i');
  5675. glTexCoord1iv := gl_GetProc('glTexCoord1iv');
  5676. glTexCoord1s := gl_GetProc('glTexCoord1s');
  5677. glTexCoord1sv := gl_GetProc('glTexCoord1sv');
  5678. glTexCoord2d := gl_GetProc('glTexCoord2d');
  5679. glTexCoord2dv := gl_GetProc('glTexCoord2dv');
  5680. // glTexCoord2f := gl_GetProc('glTexCoord2f');
  5681. // glTexCoord2fv := gl_GetProc('glTexCoord2fv');
  5682. glTexCoord2i := gl_GetProc('glTexCoord2i');
  5683. glTexCoord2iv := gl_GetProc('glTexCoord2iv');
  5684. glTexCoord2s := gl_GetProc('glTexCoord2s');
  5685. glTexCoord2sv := gl_GetProc('glTexCoord2sv');
  5686. glTexCoord3d := gl_GetProc('glTexCoord3d');
  5687. glTexCoord3dv := gl_GetProc('glTexCoord3dv');
  5688. glTexCoord3f := gl_GetProc('glTexCoord3f');
  5689. glTexCoord3fv := gl_GetProc('glTexCoord3fv');
  5690. glTexCoord3i := gl_GetProc('glTexCoord3i');
  5691. glTexCoord3iv := gl_GetProc('glTexCoord3iv');
  5692. glTexCoord3s := gl_GetProc('glTexCoord3s');
  5693. glTexCoord3sv := gl_GetProc('glTexCoord3sv');
  5694. glTexCoord4d := gl_GetProc('glTexCoord4d');
  5695. glTexCoord4dv := gl_GetProc('glTexCoord4dv');
  5696. glTexCoord4f := gl_GetProc('glTexCoord4f');
  5697. glTexCoord4fv := gl_GetProc('glTexCoord4fv');
  5698. glTexCoord4i := gl_GetProc('glTexCoord4i');
  5699. glTexCoord4iv := gl_GetProc('glTexCoord4iv');
  5700. glTexCoord4s := gl_GetProc('glTexCoord4s');
  5701. glTexCoord4sv := gl_GetProc('glTexCoord4sv');
  5702. // glTexCoordPointer := gl_GetProc('glTexCoordPointer');
  5703. glTexEnvf := gl_GetProc('glTexEnvf');
  5704. glTexEnvfv := gl_GetProc('glTexEnvfv');
  5705. // glTexEnvi := gl_GetProc('glTexEnvi');
  5706. // glTexEnviv := gl_GetProc('glTexEnviv');
  5707. glTexGend := gl_GetProc('glTexGend');
  5708. glTexGendv := gl_GetProc('glTexGendv');
  5709. glTexGenf := gl_GetProc('glTexGenf');
  5710. glTexGenfv := gl_GetProc('glTexGenfv');
  5711. glTexGeni := gl_GetProc('glTexGeni');
  5712. glTexGeniv := gl_GetProc('glTexGeniv');
  5713. glTranslated := gl_GetProc('glTranslated');
  5714. // glTranslatef := gl_GetProc('glTranslatef');
  5715. glVertex2d := gl_GetProc('glVertex2d');
  5716. glVertex2dv := gl_GetProc('glVertex2dv');
  5717. // glVertex2f := gl_GetProc('glVertex2f');
  5718. // glVertex2fv := gl_GetProc('glVertex2fv');
  5719. glVertex2i := gl_GetProc('glVertex2i');
  5720. glVertex2iv := gl_GetProc('glVertex2iv');
  5721. glVertex2s := gl_GetProc('glVertex2s');
  5722. glVertex2sv := gl_GetProc('glVertex2sv');
  5723. glVertex3d := gl_GetProc('glVertex3d');
  5724. glVertex3dv := gl_GetProc('glVertex3dv');
  5725. // glVertex3f := gl_GetProc('glVertex3f');
  5726. // glVertex3fv := gl_GetProc('glVertex3fv');
  5727. glVertex3i := gl_GetProc('glVertex3i');
  5728. glVertex3iv := gl_GetProc('glVertex3iv');
  5729. glVertex3s := gl_GetProc('glVertex3s');
  5730. glVertex3sv := gl_GetProc('glVertex3sv');
  5731. glVertex4d := gl_GetProc('glVertex4d');
  5732. glVertex4dv := gl_GetProc('glVertex4dv');
  5733. glVertex4f := gl_GetProc('glVertex4f');
  5734. glVertex4fv := gl_GetProc('glVertex4fv');
  5735. glVertex4i := gl_GetProc('glVertex4i');
  5736. glVertex4iv := gl_GetProc('glVertex4iv');
  5737. glVertex4s := gl_GetProc('glVertex4s');
  5738. glVertex4sv := gl_GetProc('glVertex4sv');
  5739. // glVertexPointer := gl_GetProc('glVertexPointer'); *)
  5740. {$EndIf}
  5741. {$IfDef GL_VERSION_1_0}
  5742. (* glCullFace := gl_GetProc('glCullFace');
  5743. glFrontFace := gl_GetProc('glFrontFace');
  5744. // glHint := gl_GetProc('glHint');
  5745. glLineWidth := gl_GetProc('glLineWidth');
  5746. // glPointSize := gl_GetProc('glPointSize');
  5747. glPolygonMode := gl_GetProc('glPolygonMode');
  5748. // glScissor := gl_GetProc('glScissor');
  5749. // glTexParameterf := gl_GetProc('glTexParameterf');
  5750. // glTexParameterfv := gl_GetProc('glTexParameterfv');
  5751. // glTexParameteri := gl_GetProc('glTexParameteri');
  5752. // glTexParameteriv := gl_GetProc('glTexParameteriv');
  5753. glTexImage1D := gl_GetProc('glTexImage1D');
  5754. // glTexImage2D := gl_GetProc('glTexImage2D');
  5755. glDrawBuffer := gl_GetProc('glDrawBuffer');
  5756. // glClear := gl_GetProc('glClear');
  5757. // glClearColor := gl_GetProc('glClearColor');
  5758. glClearStencil := gl_GetProc('glClearStencil');
  5759. // glClearDepth := gl_GetProc('glClearDepth');
  5760. glStencilMask := gl_GetProc('glStencilMask');
  5761. // glColorMask := gl_GetProc('glColorMask');
  5762. // glDepthMask := gl_GetProc('glDepthMask');
  5763. // glDisable := gl_GetProc('glDisable');
  5764. // glEnable := gl_GetProc('glEnable');
  5765. glFinish := gl_GetProc('glFinish');
  5766. glFlush := gl_GetProc('glFlush');
  5767. // glBlendFunc := gl_GetProc('glBlendFunc');
  5768. glLogicOp := gl_GetProc('glLogicOp');
  5769. glStencilFunc := gl_GetProc('glStencilFunc');
  5770. glStencilOp := gl_GetProc('glStencilOp');
  5771. // glDepthFunc := gl_GetProc('glDepthFunc');
  5772. // glPixelStoref := gl_GetProc('glPixelStoref');
  5773. // glPixelStorei := gl_GetProc('glPixelStorei');
  5774. glReadBuffer := gl_GetProc('glReadBuffer');
  5775. // glReadPixels := gl_GetProc('glReadPixels');
  5776. glGetBooleanv := gl_GetProc('glGetBooleanv');
  5777. glGetDoublev := gl_GetProc('glGetDoublev');
  5778. glGetError := gl_GetProc('glGetError');
  5779. // glGetFloatv := gl_GetProc('glGetFloatv');
  5780. // glGetIntegerv := gl_GetProc('glGetIntegerv');
  5781. // glGetString := gl_GetProc('glGetString');
  5782. // glGetTexImage := gl_GetProc('glGetTexImage');
  5783. glGetTexParameterfv := gl_GetProc('glGetTexParameterfv');
  5784. glGetTexParameteriv := gl_GetProc('glGetTexParameteriv');
  5785. glGetTexLevelParameterfv := gl_GetProc('glGetTexLevelParameterfv');
  5786. glGetTexLevelParameteriv := gl_GetProc('glGetTexLevelParameteriv');
  5787. glIsEnabled := gl_GetProc('glIsEnabled');
  5788. // glDepthRange := gl_GetProc('glDepthRange');
  5789. // glViewport := gl_GetProc('glViewport'); *)
  5790. {$EndIf}
  5791. {$IfDef GL_VERSION_1_1}
  5792. (*// glDrawArrays := gl_GetProc('glDrawArrays');
  5793. // glDrawElements := gl_GetProc('glDrawElements');
  5794. glGetPointerv := gl_GetProc('glGetPointerv');
  5795. glPolygonOffset := gl_GetProc('glPolygonOffset');
  5796. glCopyTexImage1D := gl_GetProc('glCopyTexImage1D');
  5797. glCopyTexImage2D := gl_GetProc('glCopyTexImage2D');
  5798. glCopyTexSubImage1D := gl_GetProc('glCopyTexSubImage1D');
  5799. // glCopyTexSubImage2D := gl_GetProc('glCopyTexSubImage2D');
  5800. glTexSubImage1D := gl_GetProc('glTexSubImage1D');
  5801. // glTexSubImage2D := gl_GetProc('glTexSubImage2D');
  5802. // glBindTexture := gl_GetProc('glBindTexture');
  5803. // glDeleteTextures := gl_GetProc('glDeleteTextures');
  5804. // glGenTextures := gl_GetProc('glGenTextures');
  5805. glIsTexture := gl_GetProc('glIsTexture'); *)
  5806. {$EndIf}
  5807. {$IfDef GL_VERSION_1_2}
  5808. (*// glDrawRangeElements := gl_GetProc('glDrawRangeElements');
  5809. glTexImage3D := gl_GetProc('glTexImage3D');
  5810. glTexSubImage3D := gl_GetProc('glTexSubImage3D');
  5811. glCopyTexSubImage3D := gl_GetProc('glCopyTexSubImage3D'); *)
  5812. {$EndIf}
  5813. {$IfDef GL_VERSION_1_3}
  5814. (* glActiveTexture := gl_GetProc('glActiveTexture');
  5815. glSampleCoverage := gl_GetProc('glSampleCoverage');
  5816. glCompressedTexImage3D := gl_GetProc('glCompressedTexImage3D');
  5817. // glCompressedTexImage2D := gl_GetProc('glCompressedTexImage2D');
  5818. glCompressedTexImage1D:= gl_GetProc('glCompressedTexImage1D');
  5819. glCompressedTexSubImage3D := gl_GetProc('glCompressedTexSubImage3D');
  5820. glCompressedTexSubImage2D := gl_GetProc('glCompressedTexSubImage2D');
  5821. glCompressedTexSubImage1D := gl_GetProc('glCompressedTexSubImage1D');
  5822. glGetCompressedTexImage := gl_GetProc('glGetCompressedTexImage');
  5823. {$IfNDef USE_GLCORE}
  5824. glClientActiveTexture := gl_GetProc('glClientActiveTexture');
  5825. glMultiTexCoord1d := gl_GetProc('glMultiTexCoord1d');
  5826. glMultiTexCoord1dv := gl_GetProc('glMultiTexCoord1dv');
  5827. glMultiTexCoord1f := gl_GetProc('glMultiTexCoord1f');
  5828. glMultiTexCoord1fv := gl_GetProc('glMultiTexCoord1fv');
  5829. glMultiTexCoord1i := gl_GetProc('glMultiTexCoord1i');
  5830. glMultiTexCoord1iv := gl_GetProc('glMultiTexCoord1iv');
  5831. glMultiTexCoord1s := gl_GetProc('glMultiTexCoord1s');
  5832. glMultiTexCoord1sv := gl_GetProc('glMultiTexCoord1sv');
  5833. glMultiTexCoord2d := gl_GetProc('glMultiTexCoord2d');
  5834. glMultiTexCoord2dv := gl_GetProc('glMultiTexCoord2dv');
  5835. glMultiTexCoord2f := gl_GetProc('glMultiTexCoord2f');
  5836. glMultiTexCoord2fv := gl_GetProc('glMultiTexCoord2fv');
  5837. glMultiTexCoord2i := gl_GetProc('glMultiTexCoord2i');
  5838. glMultiTexCoord2iv := gl_GetProc('glMultiTexCoord2iv');
  5839. glMultiTexCoord2s := gl_GetProc('glMultiTexCoord2s');
  5840. glMultiTexCoord2sv := gl_GetProc('glMultiTexCoord2sv');
  5841. glMultiTexCoord3d := gl_GetProc('glMultiTexCoord3d');
  5842. glMultiTexCoord3dv := gl_GetProc('glMultiTexCoord3dv');
  5843. glMultiTexCoord3f := gl_GetProc('glMultiTexCoord3f');
  5844. glMultiTexCoord3fv := gl_GetProc('glMultiTexCoord3fv');
  5845. glMultiTexCoord3i := gl_GetProc('glMultiTexCoord3i');
  5846. glMultiTexCoord3iv := gl_GetProc('glMultiTexCoord3iv');
  5847. glMultiTexCoord3s := gl_GetProc('glMultiTexCoord3s');
  5848. glMultiTexCoord3sv := gl_GetProc('glMultiTexCoord3sv');
  5849. glMultiTexCoord4d := gl_GetProc('glMultiTexCoord4d');
  5850. glMultiTexCoord4dv := gl_GetProc('glMultiTexCoord4dv');
  5851. glMultiTexCoord4f := gl_GetProc('glMultiTexCoord4f');
  5852. glMultiTexCoord4fv := gl_GetProc('glMultiTexCoord4fv');
  5853. glMultiTexCoord4i := gl_GetProc('glMultiTexCoord4i');
  5854. glMultiTexCoord4iv := gl_GetProc('glMultiTexCoord4iv');
  5855. glMultiTexCoord4s := gl_GetProc('glMultiTexCoord4s');
  5856. glMultiTexCoord4sv := gl_GetProc('glMultiTexCoord4sv');
  5857. glLoadTransposeMatrixf := gl_GetProc('glLoadTransposeMatrixf');
  5858. glLoadTransposeMatrixd := gl_GetProc('glLoadTransposeMatrixd');
  5859. glMultTransposeMatrixf := gl_GetProc('glMultTransposeMatrixf');
  5860. glMultTransposeMatrixd := gl_GetProc('glMultTransposeMatrixd');
  5861. {$EndIf} *)
  5862. {$EndIf}
  5863. {$IfDef GL_VERSION_1_4}
  5864. if GL_VERSION_1_4 then
  5865. begin
  5866. // glBlendFuncSeparate := gl_GetProc('glBlendFuncSeparate');
  5867. glMultiDrawArrays := gl_GetProc('glMultiDrawArrays');
  5868. // glMultiDrawElements := gl_GetProc('glMultiDrawElements');
  5869. glPointParameterf := gl_GetProc('glPointParameterf');
  5870. glPointParameterfv := gl_GetProc('glPointParameterfv');
  5871. glPointParameteri := gl_GetProc('glPointParameteri');
  5872. glPointParameteriv := gl_GetProc('glPointParameteriv');
  5873. glBlendColor := gl_GetProc('glBlendColor');
  5874. // glBlendEquation := gl_GetProc('glBlendEquation');
  5875. {$IfNDef USE_GLCORE}
  5876. glFogCoordf := gl_GetProc('glFogCoordf');
  5877. glFogCoordfv := gl_GetProc('glFogCoordfv');
  5878. glFogCoordd := gl_GetProc('glFogCoordd');
  5879. glFogCoorddv := gl_GetProc('glFogCoorddv');
  5880. // glFogCoordPointer := gl_GetProc('glFogCoordPointer');
  5881. glSecondaryColor3b := gl_GetProc('glSecondaryColor3b');
  5882. glSecondaryColor3bv := gl_GetProc('glSecondaryColor3bv');
  5883. glSecondaryColor3d := gl_GetProc('glSecondaryColor3d');
  5884. glSecondaryColor3dv := gl_GetProc('glSecondaryColor3dv');
  5885. glSecondaryColor3f := gl_GetProc('glSecondaryColor3f');
  5886. glSecondaryColor3fv := gl_GetProc('glSecondaryColor3fv');
  5887. glSecondaryColor3i := gl_GetProc('glSecondaryColor3i');
  5888. glSecondaryColor3iv := gl_GetProc('glSecondaryColor3iv');
  5889. glSecondaryColor3s := gl_GetProc('glSecondaryColor3s');
  5890. glSecondaryColor3sv := gl_GetProc('glSecondaryColor3sv');
  5891. glSecondaryColor3ub := gl_GetProc('glSecondaryColor3ub');
  5892. glSecondaryColor3ubv := gl_GetProc('glSecondaryColor3ubv');
  5893. glSecondaryColor3ui := gl_GetProc('glSecondaryColor3ui');
  5894. glSecondaryColor3uiv := gl_GetProc('glSecondaryColor3uiv');
  5895. glSecondaryColor3us := gl_GetProc('glSecondaryColor3us');
  5896. glSecondaryColor3usv := gl_GetProc('glSecondaryColor3usv');
  5897. // glSecondaryColorPointer := gl_GetProc('glSecondaryColorPointer');
  5898. glWindowPos2d := gl_GetProc('glWindowPos2d');
  5899. glWindowPos2dv := gl_GetProc('glWindowPos2dv');
  5900. glWindowPos2f := gl_GetProc('glWindowPos2f');
  5901. glWindowPos2fv := gl_GetProc('glWindowPos2fv');
  5902. glWindowPos2i := gl_GetProc('glWindowPos2i');
  5903. glWindowPos2iv := gl_GetProc('glWindowPos2iv');
  5904. glWindowPos2s := gl_GetProc('glWindowPos2s');
  5905. glWindowPos2sv := gl_GetProc('glWindowPos2sv');
  5906. glWindowPos3d := gl_GetProc('glWindowPos3d');
  5907. glWindowPos3dv := gl_GetProc('glWindowPos3dv');
  5908. glWindowPos3f := gl_GetProc('glWindowPos3f');
  5909. glWindowPos3fv := gl_GetProc('glWindowPos3fv');
  5910. glWindowPos3i := gl_GetProc('glWindowPos3i');
  5911. glWindowPos3iv := gl_GetProc('glWindowPos3iv');
  5912. glWindowPos3s := gl_GetProc('glWindowPos3s');
  5913. glWindowPos3sv := gl_GetProc('glWindowPos3sv');
  5914. {$EndIf}
  5915. end;
  5916. {$EndIf}
  5917. {$IfDef GL_VERSION_1_5}
  5918. if GL_VERSION_1_5 then
  5919. begin
  5920. glGenQueries := gl_GetProc('glGenQueries');
  5921. glDeleteQueries := gl_GetProc('glDeleteQueries');
  5922. glIsQuery := gl_GetProc('glIsQuery');
  5923. glBeginQuery := gl_GetProc('glBeginQuery');
  5924. glEndQuery := gl_GetProc('glEndQuery');
  5925. glGetQueryiv := gl_GetProc('glGetQueryiv');
  5926. glGetQueryObjectiv := gl_GetProc('glGetQueryObjectiv');
  5927. glGetQueryObjectuiv := gl_GetProc('glGetQueryObjectuiv');
  5928. glBindBuffer := gl_GetProc('glBindBuffer');
  5929. glDeleteBuffers := gl_GetProc('glDeleteBuffers');
  5930. glGenBuffers := gl_GetProc('glGenBuffers');
  5931. glIsBuffer := gl_GetProc('glIsBuffer');
  5932. glBufferData := gl_GetProc('glBufferData');
  5933. glBufferSubData := gl_GetProc('glBufferSubData');
  5934. glGetBufferSubData := gl_GetProc('glGetBufferSubData');
  5935. glMapBuffer := gl_GetProc('glMapBuffer');
  5936. glUnmapBuffer := gl_GetProc('glUnmapBuffer');
  5937. glGetBufferParameteriv := gl_GetProc('glGetBufferParameteriv');
  5938. glGetBufferPointerv := gl_GetProc('glGetBufferPointerv');
  5939. end;
  5940. {$EndIf}
  5941. {$IfDef GL_VERSION_2_0}
  5942. if GL_VERSION_2_0 then
  5943. begin
  5944. glBlendEquationSeparate := gl_GetProc('glBlendEquationSeparate');
  5945. glDrawBuffers := gl_GetProc('glDrawBuffers');
  5946. glStencilOpSeparate := gl_GetProc('glStencilOpSeparate');
  5947. glStencilFuncSeparate := gl_GetProc('glStencilFuncSeparate');
  5948. glStencilMaskSeparate := gl_GetProc('glStencilMaskSeparate');
  5949. glAttachShader := gl_GetProc('glAttachShader');
  5950. glBindAttribLocation := gl_GetProc('glBindAttribLocation');
  5951. glCompileShader := gl_GetProc('glCompileShader');
  5952. glCreateProgram := gl_GetProc('glCreateProgram');
  5953. glCreateShader := gl_GetProc('glCreateShader');
  5954. glDeleteProgram := gl_GetProc('glDeleteProgram');
  5955. glDeleteShader := gl_GetProc('glDeleteShader');
  5956. glDetachShader := gl_GetProc('glDetachShader');
  5957. glDisableVertexAttribArray := gl_GetProc('glDisableVertexAttribArray');
  5958. glEnableVertexAttribArray := gl_GetProc('glEnableVertexAttribArray');
  5959. glGetActiveAttrib := gl_GetProc('glGetActiveAttrib');
  5960. glGetActiveUniform := gl_GetProc('glGetActiveUniform');
  5961. glGetAttachedShaders := gl_GetProc('glGetAttachedShaders');
  5962. glGetAttribLocation := gl_GetProc('glGetAttribLocation');
  5963. glGetProgramiv := gl_GetProc('glGetProgramiv');
  5964. glGetProgramInfoLog := gl_GetProc('glGetProgramInfoLog');
  5965. glGetShaderiv := gl_GetProc('glGetShaderiv');
  5966. glGetShaderInfoLog := gl_GetProc('glGetShaderInfoLog');
  5967. glGetShaderSource := gl_GetProc('glGetShaderSource');
  5968. glGetUniformLocation := gl_GetProc('glGetUniformLocation');
  5969. glGetUniformfv := gl_GetProc('glGetUniformfv');
  5970. glGetUniformiv := gl_GetProc('glGetUniformiv');
  5971. glGetVertexAttribdv := gl_GetProc('glGetVertexAttribdv');
  5972. glGetVertexAttribfv := gl_GetProc('glGetVertexAttribfv');
  5973. glGetVertexAttribiv := gl_GetProc('glGetVertexAttribiv');
  5974. glGetVertexAttribPointerv := gl_GetProc('glGetVertexAttribPointerv');
  5975. glIsProgram := gl_GetProc('glIsProgram');
  5976. glIsShader := gl_GetProc('glIsShader');
  5977. glLinkProgram := gl_GetProc('glLinkProgram');
  5978. glShaderSource := gl_GetProc('glShaderSource');
  5979. glUseProgram := gl_GetProc('glUseProgram');
  5980. glUniform1f := gl_GetProc('glUniform1f');
  5981. glUniform2f := gl_GetProc('glUniform2f');
  5982. glUniform3f := gl_GetProc('glUniform3f');
  5983. glUniform4f := gl_GetProc('glUniform4f');
  5984. glUniform1i := gl_GetProc('glUniform1i');
  5985. glUniform2i := gl_GetProc('glUniform2i');
  5986. glUniform3i := gl_GetProc('glUniform3i');
  5987. glUniform4i := gl_GetProc('glUniform4i');
  5988. glUniform1fv := gl_GetProc('glUniform1fv');
  5989. glUniform2fv := gl_GetProc('glUniform2fv');
  5990. glUniform3fv := gl_GetProc('glUniform3fv');
  5991. glUniform4fv := gl_GetProc('glUniform4fv');
  5992. glUniform1iv := gl_GetProc('glUniform1iv');
  5993. glUniform2iv := gl_GetProc('glUniform2iv');
  5994. glUniform3iv := gl_GetProc('glUniform3iv');
  5995. glUniform4iv := gl_GetProc('glUniform4iv');
  5996. glUniformMatrix2fv := gl_GetProc('glUniformMatrix2fv');
  5997. glUniformMatrix3fv := gl_GetProc('glUniformMatrix3fv');
  5998. glUniformMatrix4fv := gl_GetProc('glUniformMatrix4fv');
  5999. glValidateProgram := gl_GetProc('glValidateProgram');
  6000. glVertexAttrib1d := gl_GetProc('glVertexAttrib1d');
  6001. glVertexAttrib1dv := gl_GetProc('glVertexAttrib1dv');
  6002. glVertexAttrib1f := gl_GetProc('glVertexAttrib1f');
  6003. glVertexAttrib1fv := gl_GetProc('glVertexAttrib1fv');
  6004. glVertexAttrib1s := gl_GetProc('glVertexAttrib1s');
  6005. glVertexAttrib1sv := gl_GetProc('glVertexAttrib1sv');
  6006. glVertexAttrib2d := gl_GetProc('glVertexAttrib2d');
  6007. glVertexAttrib2dv := gl_GetProc('glVertexAttrib2dv');
  6008. glVertexAttrib2f := gl_GetProc('glVertexAttrib2f');
  6009. glVertexAttrib2fv := gl_GetProc('glVertexAttrib2fv');
  6010. glVertexAttrib2s := gl_GetProc('glVertexAttrib2s');
  6011. glVertexAttrib2sv := gl_GetProc('glVertexAttrib2sv');
  6012. glVertexAttrib3d := gl_GetProc('glVertexAttrib3d');
  6013. glVertexAttrib3dv := gl_GetProc('glVertexAttrib3dv');
  6014. glVertexAttrib3f := gl_GetProc('glVertexAttrib3f');
  6015. glVertexAttrib3fv := gl_GetProc('glVertexAttrib3f');
  6016. glVertexAttrib3s := gl_GetProc('glVertexAttrib3s');
  6017. glVertexAttrib3sv := gl_GetProc('glVertexAttrib3sv');
  6018. glVertexAttrib4Nbv := gl_GetProc('glVertexAttrib4Nbv');
  6019. glVertexAttrib4Niv := gl_GetProc('glVertexAttrib4Niv');
  6020. glVertexAttrib4Nsv := gl_GetProc('glVertexAttrib4Nsv');
  6021. glVertexAttrib4Nub := gl_GetProc('glVertexAttrib4Nub');
  6022. glVertexAttrib4Nubv := gl_GetProc('glVertexAttrib4Nubv');
  6023. glVertexAttrib4Nuiv := gl_GetProc('glVertexAttrib4Nuiv');
  6024. glVertexAttrib4Nusv := gl_GetProc('glVertexAttrib4Nusv');
  6025. glVertexAttrib4bv := gl_GetProc('glVertexAttrib4bv');
  6026. glVertexAttrib4d := gl_GetProc('glVertexAttrib4d');
  6027. glVertexAttrib4dv := gl_GetProc('glVertexAttrib4dv');
  6028. glVertexAttrib4f := gl_GetProc('glVertexAttrib4f');
  6029. glVertexAttrib4fv := gl_GetProc('glVertexAttrib4fv');
  6030. glVertexAttrib4iv := gl_GetProc('glVertexAttrib4iv');
  6031. glVertexAttrib4s := gl_GetProc('glVertexAttrib4s');
  6032. glVertexAttrib4sv := gl_GetProc('glVertexAttrib4sv');
  6033. glVertexAttrib4ubv := gl_GetProc('glVertexAttrib4ubv');
  6034. glVertexAttrib4uiv := gl_GetProc('glVertexAttrib4uiv');
  6035. glVertexAttrib4usv := gl_GetProc('glVertexAttrib4usv');
  6036. glVertexAttribPointer := gl_GetProc('glVertexAttribPointer');
  6037. end;
  6038. {$EndIf}
  6039. {$IfDef GL_VERSION_2_1}
  6040. if GL_VERSION_2_1 then
  6041. begin
  6042. glUniformMatrix2x3fv := gl_GetProc('glUniformMatrix2x3fv');
  6043. glUniformMatrix3x2fv := gl_GetProc('glUniformMatrix3x2fv');
  6044. glUniformMatrix2x4fv := gl_GetProc('glUniformMatrix2x4fv');
  6045. glUniformMatrix4x2fv := gl_GetProc('glUniformMatrix4x2fv');
  6046. glUniformMatrix3x4fv := gl_GetProc('glUniformMatrix3x4fv');
  6047. glUniformMatrix4x3fv := gl_GetProc('glUniformMatrix4x3fv');
  6048. end;
  6049. {$EndIf}
  6050. {$IfDef GL_VERSION_3_0}
  6051. if GL_VERSION_3_0 then
  6052. begin
  6053. glColorMaski := gl_GetProc('glColorMaski');
  6054. glGetBooleani_v := gl_GetProc('glGetBooleani_v');
  6055. glGetIntegeri_v := gl_GetProc('glGetIntegeri_v');
  6056. glEnablei := gl_GetProc('glEnablei');
  6057. glDisablei := gl_GetProc('glDisablei');
  6058. glIsEnabledi := gl_GetProc('glIsEnabledi');
  6059. glBeginTransformFeedback := gl_GetProc('glBeginTransformFeedback');
  6060. glEndTransformFeedback := gl_GetProc('glEndTransformFeedback');
  6061. glBindBufferRange := gl_GetProc('glBindBufferRange');
  6062. glBindBufferBase := gl_GetProc('glBindBufferBase');
  6063. glTransformFeedbackVaryings := gl_GetProc('glTransformFeedbackVaryings');
  6064. glGetTransformFeedbackVarying := gl_GetProc('glGetTransformFeedbackVarying');
  6065. glClampColor := gl_GetProc('glClampColor');
  6066. glBeginConditionalRender := gl_GetProc('glBeginConditionalRender');
  6067. glEndConditionalRender := gl_GetProc('glEndConditionalRender');
  6068. glVertexAttribIPointer := gl_GetProc('glVertexAttribIPointer');
  6069. glGetVertexAttribIiv := gl_GetProc('glGetVertexAttribIiv');
  6070. glGetVertexAttribIuiv := gl_GetProc('glGetVertexAttribIuiv');
  6071. glVertexAttribI1i := gl_GetProc('glVertexAttribI1i');
  6072. glVertexAttribI2i := gl_GetProc('glVertexAttribI2i');
  6073. glVertexAttribI3i := gl_GetProc('glVertexAttribI3i');
  6074. glVertexAttribI4i := gl_GetProc('glVertexAttribI4i');
  6075. glVertexAttribI1ui := gl_GetProc('glVertexAttribI1ui');
  6076. glVertexAttribI2ui := gl_GetProc('glVertexAttribI2ui');
  6077. glVertexAttribI3ui := gl_GetProc('glVertexAttribI3ui');
  6078. glVertexAttribI4ui := gl_GetProc('glVertexAttribI4ui');
  6079. glVertexAttribI1iv := gl_GetProc('glVertexAttribI1iv');
  6080. glVertexAttribI2iv := gl_GetProc('glVertexAttribI2iv');
  6081. glVertexAttribI3iv := gl_GetProc('glVertexAttribI3iv');
  6082. glVertexAttribI4iv := gl_GetProc('glVertexAttribI4iv');
  6083. glVertexAttribI1uiv := gl_GetProc('glVertexAttribI1uiv');
  6084. glVertexAttribI2uiv := gl_GetProc('glVertexAttribI2uiv');
  6085. glVertexAttribI3uiv := gl_GetProc('glVertexAttribI3uiv');
  6086. glVertexAttribI4uiv := gl_GetProc('glVertexAttribI4uiv');
  6087. glVertexAttribI4bv := gl_GetProc('glVertexAttribI4bv');
  6088. glVertexAttribI4sv := gl_GetProc('glVertexAttribI4sv');
  6089. glVertexAttribI4ubv := gl_GetProc('glVertexAttribI4ubv');
  6090. glVertexAttribI4usv := gl_GetProc('glVertexAttribI4usv');
  6091. glGetUniformuiv := gl_GetProc('glGetUniformuiv');
  6092. glBindFragDataLocation := gl_GetProc('glBindFragDataLocation');
  6093. glGetFragDataLocation := gl_GetProc('glGetFragDataLocation');
  6094. glUniform1ui := gl_GetProc('glUniform1ui');
  6095. glUniform2ui := gl_GetProc('glUniform2ui');
  6096. glUniform3ui := gl_GetProc('glUniform3ui');
  6097. glUniform4ui := gl_GetProc('glUniform4ui');
  6098. glUniform1uiv := gl_GetProc('glUniform1uiv');
  6099. glUniform2uiv := gl_GetProc('glUniform2uiv');
  6100. glUniform3uiv := gl_GetProc('glUniform3uiv');
  6101. glUniform4uiv := gl_GetProc('glUniform4uiv');
  6102. glTexParameterIiv := gl_GetProc('glTexParameterIiv');
  6103. glTexParameterIuiv := gl_GetProc('glTexParameterIuiv');
  6104. glGetTexParameterIiv := gl_GetProc('glGetTexParameterIiv');
  6105. glGetTexParameterIuiv := gl_GetProc('glGetTexParameterIuiv');
  6106. glClearBufferiv := gl_GetProc('glClearBufferiv');
  6107. glClearBufferuiv := gl_GetProc('glClearBufferuiv');
  6108. glClearBufferfv := gl_GetProc('glClearBufferfv');
  6109. glClearBufferfi := gl_GetProc('glClearBufferfi');
  6110. glGetStringi := gl_GetProc('glGetStringi');
  6111. // glIsRenderbuffer := gl_GetProc('glIsRenderbuffer');
  6112. // glBindRenderbuffer := gl_GetProc('glBindRenderbuffer');
  6113. // glDeleteRenderbuffers := gl_GetProc('glDeleteRenderbuffers');
  6114. // glGenRenderbuffers := gl_GetProc('glGenRenderbuffers');
  6115. // glRenderbufferStorage := gl_GetProc('glRenderbufferStorage');
  6116. glGetRenderbufferParameteriv := gl_GetProc('glGetRenderbufferParameteriv');
  6117. // glIsFramebuffer := gl_GetProc('glIsFramebuffer');
  6118. // glBindFramebuffer := gl_GetProc('glBindFramebuffer');
  6119. // glDeleteFramebuffers := gl_GetProc('glDeleteFramebuffers');
  6120. // glGenFramebuffers := gl_GetProc('glGenFramebuffers');
  6121. // glCheckFramebufferStatus := gl_GetProc('glCheckFramebufferStatus');
  6122. glFramebufferTexture1D := gl_GetProc('glFramebufferTexture1D');
  6123. // glFramebufferTexture2D := gl_GetProc('glFramebufferTexture2D');
  6124. glFramebufferTexture3D := gl_GetProc('glFramebufferTexture3D');
  6125. // glFramebufferRenderbuffer := gl_GetProc('glFramebufferRenderbuffer');
  6126. glGetFramebufferAttachmentParameteriv := gl_GetProc('glGetFramebufferAttachmentParameteriv');
  6127. glGenerateMipmap := gl_GetProc('glGenerateMipmap');
  6128. glBlitFramebuffer := gl_GetProc('glBlitFramebuffer');
  6129. glRenderbufferStorageMultisample := gl_GetProc('glRenderbufferStorageMultisample');
  6130. glFramebufferTextureLayer := gl_GetProc('glFramebufferTextureLayer');
  6131. glMapBufferRange := gl_GetProc('glMapBufferRange');
  6132. glFlushMappedBufferRange := gl_GetProc('glFlushMappedBufferRange');
  6133. glBindVertexArray := gl_GetProc('glBindVertexArray');
  6134. glDeleteVertexArrays := gl_GetProc('glDeleteVertexArrays');
  6135. glGenVertexArrays := gl_GetProc('glGenVertexArrays');
  6136. glIsVertexArray := gl_GetProc('glIsVertexArray');
  6137. end;
  6138. {$EndIf}
  6139. {$IfDef GL_VERSION_3_1}
  6140. if GL_VERSION_3_1 then
  6141. begin
  6142. glDrawArraysInstanced := gl_GetProc('glDrawArraysInstanced');
  6143. glDrawElementsInstanced := gl_GetProc('glDrawElementsInstanced');
  6144. glTexBuffer := gl_GetProc('glTexBuffer');
  6145. glPrimitiveRestartIndex := gl_GetProc('glPrimitiveRestartIndex');
  6146. glCopyBufferSubData := gl_GetProc('glCopyBufferSubData');
  6147. glGetUniformIndices := gl_GetProc('glGetUniformIndices');
  6148. glGetActiveUniformsiv := gl_GetProc('glGetActiveUniformsiv');
  6149. glGetActiveUniformName := gl_GetProc('glGetActiveUniformName');
  6150. glGetUniformBlockIndex := gl_GetProc('glGetUniformBlockIndex');
  6151. glGetActiveUniformBlockiv := gl_GetProc('glGetActiveUniformBlockiv');
  6152. glGetActiveUniformBlockName := gl_GetProc('glGetActiveUniformBlockName');
  6153. glUniformBlockBinding := gl_GetProc('glUniformBlockBinding');
  6154. end;
  6155. {$EndIf}
  6156. {$IfDef GL_VERSION_3_2}
  6157. if GL_VERSION_3_2 then
  6158. begin
  6159. glDrawElementsBaseVertex := gl_GetProc('glDrawElementsBaseVertex');
  6160. glDrawRangeElementsBaseVertex := gl_GetProc('glDrawRangeElementsBaseVertex');
  6161. glDrawElementsInstancedBaseVertex := gl_GetProc('glDrawElementsInstancedBaseVertex');
  6162. glMultiDrawElementsBaseVertex := gl_GetProc('glMultiDrawElementsBaseVertex');
  6163. glProvokingVertex := gl_GetProc('glProvokingVertex');
  6164. glFenceSync := gl_GetProc('glFenceSync');
  6165. glIsSync := gl_GetProc('glIsSync');
  6166. glDeleteSync := gl_GetProc('glDeleteSync');
  6167. glClientWaitSync := gl_GetProc('glClientWaitSync');
  6168. glWaitSync := gl_GetProc('glWaitSync');
  6169. glGetInteger64v := gl_GetProc('glGetInteger64v');
  6170. glGetSynciv := gl_GetProc('glGetSynciv');
  6171. glGetInteger64i_v := gl_GetProc('glGetInteger64i_v');
  6172. glGetBufferParameteri64v := gl_GetProc('glGetBufferParameteri64v');
  6173. glFramebufferTexture := gl_GetProc('glFramebufferTexture');
  6174. glTexImage2DMultisample := gl_GetProc('glTexImage2DMultisample');
  6175. glTexImage3DMultisample := gl_GetProc('glTexImage3DMultisample');
  6176. glGetMultisamplefv := gl_GetProc('glGetMultisamplefv');
  6177. glSampleMaski := gl_GetProc('glSampleMaski');
  6178. end;
  6179. {$EndIf}
  6180. {$IfDef GL_VERSION_3_3}
  6181. if GL_VERSION_3_3 then
  6182. begin
  6183. glBindFragDataLocationIndexed := gl_GetProc('glBindFragDataLocationIndexed');
  6184. glGetFragDataIndex := gl_GetProc('glGetFragDataIndex');
  6185. glGenSamplers := gl_GetProc('glGenSamplers');
  6186. glDeleteSamplers := gl_GetProc('glDeleteSamplers');
  6187. glIsSampler := gl_GetProc('glIsSampler');
  6188. glBindSampler := gl_GetProc('glBindSampler');
  6189. glSamplerParameteri := gl_GetProc('glSamplerParameteri');
  6190. glSamplerParameteriv := gl_GetProc('glSamplerParameteriv');
  6191. glSamplerParameterf := gl_GetProc('glSamplerParameterf');
  6192. glSamplerParameterfv := gl_GetProc('glSamplerParameterfv');
  6193. glSamplerParameterIiv := gl_GetProc('glSamplerParameterIiv');
  6194. glSamplerParameterIuiv := gl_GetProc('glSamplerParameterIuiv');
  6195. glGetSamplerParameteriv := gl_GetProc('glGetSamplerParameteriv');
  6196. glGetSamplerParameterIiv := gl_GetProc('glGetSamplerParameterIiv');
  6197. glGetSamplerParameterfv := gl_GetProc('glGetSamplerParameterfv');
  6198. glGetSamplerParameterIuiv := gl_GetProc('glGetSamplerParameterIuiv');
  6199. glQueryCounter := gl_GetProc('glQueryCounter');
  6200. glGetQueryObjecti64v := gl_GetProc('glGetQueryObjecti64v');
  6201. glGetQueryObjectui64v := gl_GetProc('glGetQueryObjectui64v');
  6202. glVertexAttribDivisor := gl_GetProc('glVertexAttribDivisor');
  6203. glVertexAttribP1ui := gl_GetProc('glVertexAttribP1ui');
  6204. glVertexAttribP1uiv := gl_GetProc('glVertexAttribP1uiv');
  6205. glVertexAttribP2ui := gl_GetProc('glVertexAttribP2ui');
  6206. glVertexAttribP2uiv := gl_GetProc('glVertexAttribP2uiv');
  6207. glVertexAttribP3ui := gl_GetProc('glVertexAttribP3ui');
  6208. glVertexAttribP3uiv := gl_GetProc('glVertexAttribP3uiv');
  6209. glVertexAttribP4ui := gl_GetProc('glVertexAttribP4ui');
  6210. glVertexAttribP4uiv := gl_GetProc('glVertexAttribP4uiv');
  6211. {$IfNDef USE_GLCORE}
  6212. glVertexP2ui := gl_GetProc('glVertexP2ui');
  6213. glVertexP2uiv := gl_GetProc('glVertexP2uiv');
  6214. glVertexP3ui := gl_GetProc('glVertexP3ui');
  6215. glVertexP3uiv := gl_GetProc('glVertexP3uiv');
  6216. glVertexP4ui := gl_GetProc('glVertexP4ui');
  6217. glVertexP4uiv := gl_GetProc('glVertexP4uiv');
  6218. glTexCoordP1ui := gl_GetProc('glTexCoordP1ui');
  6219. glTexCoordP1uiv := gl_GetProc('glTexCoordP1uiv');
  6220. glTexCoordP2ui := gl_GetProc('glTexCoordP2ui');
  6221. glTexCoordP2uiv := gl_GetProc('glTexCoordP2uiv');
  6222. glTexCoordP3ui := gl_GetProc('glTexCoordP3ui');
  6223. glTexCoordP3uiv := gl_GetProc('glTexCoordP3uiv');
  6224. glTexCoordP4ui := gl_GetProc('glTexCoordP4ui');
  6225. glTexCoordP4uiv := gl_GetProc('glTexCoordP4uiv');
  6226. glMultiTexCoordP1ui := gl_GetProc('glMultiTexCoordP1ui');
  6227. glMultiTexCoordP1uiv := gl_GetProc('glMultiTexCoordP1uiv');
  6228. glMultiTexCoordP2ui := gl_GetProc('glMultiTexCoordP2ui');
  6229. glMultiTexCoordP2uiv := gl_GetProc('glMultiTexCoordP2uiv');
  6230. glMultiTexCoordP3ui := gl_GetProc('glMultiTexCoordP3ui');
  6231. glMultiTexCoordP3uiv := gl_GetProc('glMultiTexCoordP3uiv');
  6232. glMultiTexCoordP4ui := gl_GetProc('glMultiTexCoordP4ui');
  6233. glMultiTexCoordP4uiv := gl_GetProc('glMultiTexCoordP4uiv');
  6234. glNormalP3ui := gl_GetProc('glNormalP3ui');
  6235. glNormalP3uiv := gl_GetProc('glNormalP3uiv');
  6236. glColorP3ui := gl_GetProc('glColorP3ui');
  6237. glColorP3uiv := gl_GetProc('glColorP3uiv');
  6238. glColorP4ui := gl_GetProc('glColorP4ui');
  6239. glColorP4uiv := gl_GetProc('glColorP4uiv');
  6240. glSecondaryColorP3ui := gl_GetProc('glSecondaryColorP3ui');
  6241. glSecondaryColorP3uiv := gl_GetProc('glSecondaryColorP3uiv');
  6242. {$EndIf}
  6243. end;
  6244. {$EndIf}
  6245. {$IfDef GL_VERSION_4_0}
  6246. if GL_VERSION_4_0 then
  6247. begin
  6248. glMinSampleShading := gl_GetProc('glMinSampleShading');
  6249. glBlendEquationi := gl_GetProc('glBlendEquationi');
  6250. glBlendEquationSeparatei := gl_GetProc('glBlendEquationSeparatei');
  6251. glBlendFunci := gl_GetProc('glBlendFunci');
  6252. glBlendFuncSeparatei := gl_GetProc('glBlendFuncSeparatei');
  6253. glDrawArraysIndirect := gl_GetProc('glDrawArraysIndirect');
  6254. glDrawElementsIndirect := gl_GetProc('glDrawElementsIndirect');
  6255. glUniform1d := gl_GetProc('glUniform1d');
  6256. glUniform2d := gl_GetProc('glUniform2d');
  6257. glUniform3d := gl_GetProc('glUniform3d');
  6258. glUniform4d := gl_GetProc('glUniform4d');
  6259. glUniform1dv := gl_GetProc('glUniform1dv');
  6260. glUniform2dv := gl_GetProc('glUniform2dv');
  6261. glUniform3dv := gl_GetProc('glUniform3dv');
  6262. glUniform4dv := gl_GetProc('glUniform4dv');
  6263. glUniformMatrix2dv := gl_GetProc('glUniformMatrix2dv');
  6264. glUniformMatrix3dv := gl_GetProc('glUniformMatrix3dv');
  6265. glUniformMatrix4dv := gl_GetProc('glUniformMatrix4dv');
  6266. glUniformMatrix2x3dv := gl_GetProc('glUniformMatrix2x3dv');
  6267. glUniformMatrix2x4dv := gl_GetProc('glUniformMatrix2x4dv');
  6268. glUniformMatrix3x2dv := gl_GetProc('glUniformMatrix3x2dv');
  6269. glUniformMatrix3x4dv := gl_GetProc('glUniformMatrix3x4dv');
  6270. glUniformMatrix4x2dv := gl_GetProc('glUniformMatrix4x2dv');
  6271. glUniformMatrix4x3dv := gl_GetProc('glUniformMatrix4x3dv');
  6272. glGetUniformdv := gl_GetProc('glGetUniformdv');
  6273. glGetSubroutineUniformLocation := gl_GetProc('glGetSubroutineUniformLocation');
  6274. glGetSubroutineIndex := gl_GetProc('glGetSubroutineIndex');
  6275. glGetActiveSubroutineUniformiv := gl_GetProc('glGetActiveSubroutineUniformiv');
  6276. glGetActiveSubroutineUniformName := gl_GetProc('glGetActiveSubroutineUniformName');
  6277. glGetActiveSubroutineName := gl_GetProc('glGetActiveSubroutineName');
  6278. glUniformSubroutinesuiv := gl_GetProc('glUniformSubroutinesuiv');
  6279. glGetUniformSubroutineuiv := gl_GetProc('glGetUniformSubroutineuiv');
  6280. glGetProgramStageiv := gl_GetProc('glGetProgramStageiv');
  6281. glPatchParameteri := gl_GetProc('glPatchParameteri');
  6282. glPatchParameterfv := gl_GetProc('glPatchParameterfv');
  6283. glBindTransformFeedback := gl_GetProc('glBindTransformFeedback');
  6284. glDeleteTransformFeedbacks := gl_GetProc('glDeleteTransformFeedbacks');
  6285. glGenTransformFeedbacks := gl_GetProc('glGenTransformFeedbacks');
  6286. glIsTransformFeedback := gl_GetProc('glIsTransformFeedback');
  6287. glPauseTransformFeedback := gl_GetProc('glPauseTransformFeedback');
  6288. glResumeTransformFeedback := gl_GetProc('glResumeTransformFeedback');
  6289. glDrawTransformFeedback := gl_GetProc('glDrawTransformFeedback');
  6290. glDrawTransformFeedbackStream := gl_GetProc('glDrawTransformFeedbackStream');
  6291. glBeginQueryIndexed := gl_GetProc('glBeginQueryIndexed');
  6292. glEndQueryIndexed := gl_GetProc('glEndQueryIndexed');
  6293. glGetQueryIndexediv := gl_GetProc('glGetQueryIndexediv');
  6294. end;
  6295. {$EndIf}
  6296. {$IfDef GL_VERSION_4_1}
  6297. if GL_VERSION_4_1 then
  6298. begin
  6299. glReleaseShaderCompiler := gl_GetProc('glReleaseShaderCompiler');
  6300. glShaderBinary := gl_GetProc('glShaderBinary');
  6301. glGetShaderPrecisionFormat := gl_GetProc('glGetShaderPrecisionFormat');
  6302. glDepthRangef := gl_GetProc('glDepthRangef');
  6303. glClearDepthf := gl_GetProc('glClearDepthf');
  6304. glGetProgramBinary := gl_GetProc('glGetProgramBinary');
  6305. glProgramBinary := gl_GetProc('glProgramBinary');
  6306. glProgramParameteri := gl_GetProc('glProgramParameteri');
  6307. glUseProgramStages := gl_GetProc('glUseProgramStages');
  6308. glActiveShaderProgram := gl_GetProc('glActiveShaderProgram');
  6309. glCreateShaderProgramv := gl_GetProc('glCreateShaderProgramv');
  6310. glBindProgramPipeline := gl_GetProc('glBindProgramPipeline');
  6311. glDeleteProgramPipelines := gl_GetProc('glDeleteProgramPipelines');
  6312. glGenProgramPipelines := gl_GetProc('glGenProgramPipelines');
  6313. glIsProgramPipeline := gl_GetProc('glIsProgramPipeline');
  6314. glGetProgramPipelineiv := gl_GetProc('glGetProgramPipelineiv');
  6315. glProgramUniform1i := gl_GetProc('glProgramUniform1i');
  6316. glProgramUniform1iv := gl_GetProc('glProgramUniform1iv');
  6317. glProgramUniform1f := gl_GetProc('glProgramUniform1f');
  6318. glProgramUniform1fv := gl_GetProc('glProgramUniform1fv');
  6319. glProgramUniform1d := gl_GetProc('glProgramUniform1d');
  6320. glProgramUniform1dv := gl_GetProc('glProgramUniform1dv');
  6321. glProgramUniform1ui := gl_GetProc('glProgramUniform1ui');
  6322. glProgramUniform1uiv := gl_GetProc('glProgramUniform1uiv');
  6323. glProgramUniform2i := gl_GetProc('glProgramUniform2i');
  6324. glProgramUniform2iv := gl_GetProc('glProgramUniform2iv');
  6325. glProgramUniform2f := gl_GetProc('glProgramUniform2f');
  6326. glProgramUniform2fv := gl_GetProc('glProgramUniform2fv');
  6327. glProgramUniform2d := gl_GetProc('glProgramUniform2d');
  6328. glProgramUniform2dv := gl_GetProc('glProgramUniform2dv');
  6329. glProgramUniform2ui := gl_GetProc('glProgramUniform2ui');
  6330. glProgramUniform2uiv := gl_GetProc('glProgramUniform2uiv');
  6331. glProgramUniform3i := gl_GetProc('glProgramUniform3i');
  6332. glProgramUniform3iv := gl_GetProc('glProgramUniform3iv');
  6333. glProgramUniform3f := gl_GetProc('glProgramUniform3f');
  6334. glProgramUniform3fv := gl_GetProc('glProgramUniform3fv');
  6335. glProgramUniform3d := gl_GetProc('glProgramUniform3d');
  6336. glProgramUniform3dv := gl_GetProc('glProgramUniform3dv');
  6337. glProgramUniform3ui := gl_GetProc('glProgramUniform3ui');
  6338. glProgramUniform3uiv := gl_GetProc('glProgramUniform3uiv');
  6339. glProgramUniform4i := gl_GetProc('glProgramUniform4i');
  6340. glProgramUniform4iv := gl_GetProc('glProgramUniform4iv');
  6341. glProgramUniform4f := gl_GetProc('glProgramUniform4f');
  6342. glProgramUniform4fv := gl_GetProc('glProgramUniform4fv');
  6343. glProgramUniform4d := gl_GetProc('glProgramUniform4d');
  6344. glProgramUniform4dv := gl_GetProc('glProgramUniform4dv');
  6345. glProgramUniform4ui := gl_GetProc('glProgramUniform4ui');
  6346. glProgramUniform4uiv := gl_GetProc('glProgramUniform4uiv');
  6347. glProgramUniformMatrix2fv := gl_GetProc('glProgramUniformMatrix2fv');
  6348. glProgramUniformMatrix3fv := gl_GetProc('glProgramUniformMatrix3fv');
  6349. glProgramUniformMatrix4fv := gl_GetProc('glProgramUniformMatrix4fv');
  6350. glProgramUniformMatrix2dv := gl_GetProc('glProgramUniformMatrix2dv');
  6351. glProgramUniformMatrix3dv := gl_GetProc('glProgramUniformMatrix3dv');
  6352. glProgramUniformMatrix4dv := gl_GetProc('glProgramUniformMatrix4dv');
  6353. glProgramUniformMatrix2x3fv := gl_GetProc('glProgramUniformMatrix2x3fv');
  6354. glProgramUniformMatrix3x2fv := gl_GetProc('glProgramUniformMatrix3x2fv');
  6355. glProgramUniformMatrix2x4fv := gl_GetProc('glProgramUniformMatrix2x4fv');
  6356. glProgramUniformMatrix4x2fv := gl_GetProc('glProgramUniformMatrix4x2fv');
  6357. glProgramUniformMatrix3x4fv := gl_GetProc('glProgramUniformMatrix3x4fv');
  6358. glProgramUniformMatrix4x3fv := gl_GetProc('glProgramUniformMatrix4x3fv');
  6359. glProgramUniformMatrix2x3dv := gl_GetProc('glProgramUniformMatrix2x3dv');
  6360. glProgramUniformMatrix3x2dv := gl_GetProc('glProgramUniformMatrix3x2dv');
  6361. glProgramUniformMatrix2x4dv := gl_GetProc('glProgramUniformMatrix2x4dv');
  6362. glProgramUniformMatrix4x2dv := gl_GetProc('glProgramUniformMatrix4x2dv');
  6363. glProgramUniformMatrix3x4dv := gl_GetProc('glProgramUniformMatrix3x4dv');
  6364. glProgramUniformMatrix4x3dv := gl_GetProc('glProgramUniformMatrix4x3dv');
  6365. glValidateProgramPipeline := gl_GetProc('glValidateProgramPipeline');
  6366. glGetProgramPipelineInfoLog := gl_GetProc('glGetProgramPipelineInfoLog');
  6367. glVertexAttribL1d := gl_GetProc('glVertexAttribL1d');
  6368. glVertexAttribL2d := gl_GetProc('glVertexAttribL2d');
  6369. glVertexAttribL3d := gl_GetProc('glVertexAttribL3d');
  6370. glVertexAttribL4d := gl_GetProc('glVertexAttribL4d');
  6371. glVertexAttribL1dv := gl_GetProc('glVertexAttribL1dv');
  6372. glVertexAttribL2dv := gl_GetProc('glVertexAttribL2dv');
  6373. glVertexAttribL3dv := gl_GetProc('glVertexAttribL3dv');
  6374. glVertexAttribL4dv := gl_GetProc('glVertexAttribL4dv');
  6375. glVertexAttribLPointer := gl_GetProc('glVertexAttribLPointer');
  6376. glGetVertexAttribLdv := gl_GetProc('glGetVertexAttribLdv');
  6377. glViewportArrayv := gl_GetProc('glViewportArrayv');
  6378. glViewportIndexedf := gl_GetProc('glViewportIndexedf');
  6379. glViewportIndexedfv := gl_GetProc('glViewportIndexedfv');
  6380. glScissorArrayv := gl_GetProc('glScissorArrayv');
  6381. glScissorIndexed := gl_GetProc('glScissorIndexed');
  6382. glScissorIndexedv := gl_GetProc('glScissorIndexedv');
  6383. glDepthRangeArrayv := gl_GetProc('glDepthRangeArrayv');
  6384. glDepthRangeIndexed := gl_GetProc('glDepthRangeIndexed');
  6385. glGetFloati_v := gl_GetProc('glGetFloati_v');
  6386. glGetDoublei_v := gl_GetProc('glGetDoublei_v');
  6387. end;
  6388. {$EndIf}
  6389. {$IfDef GL_VERSION_4_2}
  6390. if GL_VERSION_4_2 then
  6391. begin
  6392. glDrawArraysInstancedBaseInstance := gl_GetProc('glDrawArraysInstancedBaseInstance');
  6393. glDrawElementsInstancedBaseInstance := gl_GetProc('glDrawElementsInstancedBaseInstance');
  6394. glDrawElementsInstancedBaseVertexBaseInstance := gl_GetProc('glDrawElementsInstancedBaseVertexBaseInstance');
  6395. glGetInternalformativ := gl_GetProc('glGetInternalformativ');
  6396. glGetActiveAtomicCounterBufferiv := gl_GetProc('glGetActiveAtomicCounterBufferiv');
  6397. glBindImageTexture := gl_GetProc('glBindImageTexture');
  6398. glMemoryBarrier := gl_GetProc('glMemoryBarrier');
  6399. glTexStorage1D := gl_GetProc('glTexStorage1D');
  6400. glTexStorage2D := gl_GetProc('glTexStorage2D');
  6401. glTexStorage3D := gl_GetProc('glTexStorage3D');
  6402. glDrawTransformFeedbackInstanced := gl_GetProc('glDrawTransformFeedbackInstanced');
  6403. glDrawTransformFeedbackStreamInstanced := gl_GetProc('glDrawTransformFeedbackStreamInstanced');
  6404. end;
  6405. {$EndIf}
  6406. {$IfDef GL_VERSION_4_3}
  6407. if GL_VERSION_4_3 then
  6408. begin
  6409. glClearBufferData := gl_GetProc('glClearBufferData');
  6410. glClearBufferSubData := gl_GetProc('glClearBufferSubData');
  6411. glDispatchCompute := gl_GetProc('glDispatchCompute');
  6412. glDispatchComputeIndirect := gl_GetProc('glDispatchComputeIndirect');
  6413. glCopyImageSubData := gl_GetProc('glCopyImageSubData');
  6414. glFramebufferParameteri := gl_GetProc('glFramebufferParameteri');
  6415. glGetFramebufferParameteriv := gl_GetProc('glGetFramebufferParameteriv');
  6416. glGetInternalformati64v := gl_GetProc('glGetInternalformati64v');
  6417. glInvalidateTexSubImage := gl_GetProc('glInvalidateTexSubImage');
  6418. glInvalidateTexImage := gl_GetProc('glInvalidateTexImage');
  6419. glInvalidateBufferSubData := gl_GetProc('glInvalidateBufferSubData');
  6420. glInvalidateBufferData := gl_GetProc('glInvalidateBufferData');
  6421. glInvalidateFramebuffer := gl_GetProc('glInvalidateFramebuffer');
  6422. glInvalidateSubFramebuffer := gl_GetProc('glInvalidateSubFramebuffer');
  6423. glMultiDrawArraysIndirect := gl_GetProc('glMultiDrawArraysIndirect');
  6424. glMultiDrawElementsIndirect := gl_GetProc('glMultiDrawElementsIndirect');
  6425. glGetProgramInterfaceiv := gl_GetProc('glGetProgramInterfaceiv');
  6426. glGetProgramResourceIndex := gl_GetProc('glGetProgramResourceIndex');
  6427. glGetProgramResourceName := gl_GetProc('glGetProgramResourceName');
  6428. glGetProgramResourceiv := gl_GetProc('glGetProgramResourceiv');
  6429. glGetProgramResourceLocation := gl_GetProc('glGetProgramResourceLocation');
  6430. glGetProgramResourceLocationIndex := gl_GetProc('glGetProgramResourceLocationIndex');
  6431. glShaderStorageBlockBinding := gl_GetProc('glShaderStorageBlockBinding');
  6432. glTexBufferRange := gl_GetProc('glTexBufferRange');
  6433. glTexStorage2DMultisample := gl_GetProc('glTexStorage2DMultisample');
  6434. glTexStorage3DMultisample := gl_GetProc('glTexStorage3DMultisample');
  6435. glTextureView := gl_GetProc('glTextureView');
  6436. glBindVertexBuffer := gl_GetProc('glBindVertexBuffer');
  6437. glVertexAttribFormat := gl_GetProc('glVertexAttribFormat');
  6438. glVertexAttribIFormat := gl_GetProc('glVertexAttribIFormat');
  6439. glVertexAttribLFormat := gl_GetProc('glVertexAttribLFormat');
  6440. glVertexAttribBinding := gl_GetProc('glVertexAttribBinding');
  6441. glVertexBindingDivisor := gl_GetProc('glVertexBindingDivisor');
  6442. glDebugMessageControl := gl_GetProc('glDebugMessageControl');
  6443. glDebugMessageInsert := gl_GetProc('glDebugMessageInsert');
  6444. glDebugMessageCallback := gl_GetProc('glDebugMessageCallback');
  6445. glGetDebugMessageLog := gl_GetProc('glGetDebugMessageLog');
  6446. glPushDebugGroup := gl_GetProc('glPushDebugGroup');
  6447. glPopDebugGroup := gl_GetProc('glPopDebugGroup');
  6448. glObjectLabel := gl_GetProc('glObjectLabel');
  6449. glGetObjectLabel := gl_GetProc('glGetObjectLabel');
  6450. glObjectPtrLabel := gl_GetProc('glObjectPtrLabel');
  6451. glGetObjectPtrLabel := gl_GetProc('glGetObjectPtrLabel');
  6452. end;
  6453. {$EndIf}
  6454. {$IfDef GL_VERSION_4_4}
  6455. if GL_VERSION_4_4 then
  6456. begin
  6457. glBufferStorage := gl_GetProc('glBufferStorage');
  6458. glClearTexImage := gl_GetProc('glClearTexImage');
  6459. glClearTexSubImage := gl_GetProc('glClearTexSubImage');
  6460. glBindBuffersBase := gl_GetProc('glBindBuffersBase');
  6461. glBindBuffersRange := gl_GetProc('glBindBuffersRange');
  6462. glBindTextures := gl_GetProc('glBindTextures');
  6463. glBindSamplers := gl_GetProc('glBindSamplers');
  6464. glBindImageTextures := gl_GetProc('glBindImageTextures');
  6465. glBindVertexBuffers := gl_GetProc('glBindVertexBuffers');
  6466. end;
  6467. {$EndIf}
  6468. {$IfDef GL_VERSION_4_5}
  6469. if GL_VERSION_4_5 then
  6470. begin
  6471. glClipControl := gl_GetProc('glClipControl');
  6472. glCreateTransformFeedbacks := gl_GetProc('glCreateTransformFeedbacks');
  6473. glTransformFeedbackBufferBase := gl_GetProc('glTransformFeedbackBufferBase');
  6474. glTransformFeedbackBufferRange := gl_GetProc('glTransformFeedbackBufferRange');
  6475. glGetTransformFeedbackiv := gl_GetProc('glGetTransformFeedbackiv');
  6476. glGetTransformFeedbacki_v := gl_GetProc('glGetTransformFeedbacki_v');
  6477. glGetTransformFeedbacki64_v := gl_GetProc('glGetTransformFeedbacki64_v');
  6478. glCreateBuffers := gl_GetProc('glCreateBuffers');
  6479. glNamedBufferStorage := gl_GetProc('glNamedBufferStorage');
  6480. glNamedBufferData := gl_GetProc('glNamedBufferData');
  6481. glNamedBufferSubData := gl_GetProc('glNamedBufferSubData');
  6482. glCopyNamedBufferSubData := gl_GetProc('glCopyNamedBufferSubData');
  6483. glClearNamedBufferData := gl_GetProc('glClearNamedBufferData');
  6484. glClearNamedBufferSubData := gl_GetProc('glClearNamedBufferSubData');
  6485. glMapNamedBuffer := gl_GetProc('glMapNamedBuffer');
  6486. glMapNamedBufferRange := gl_GetProc('glMapNamedBufferRange');
  6487. glUnmapNamedBuffer := gl_GetProc('glUnmapNamedBuffer');
  6488. glFlushMappedNamedBufferRange := gl_GetProc('glFlushMappedNamedBufferRange');
  6489. glGetNamedBufferParameteriv := gl_GetProc('glGetNamedBufferParameteriv');
  6490. glGetNamedBufferParameteri64v := gl_GetProc('glGetNamedBufferParameteri64v');
  6491. glGetNamedBufferPointerv := gl_GetProc('glGetNamedBufferPointerv');
  6492. glGetNamedBufferSubData := gl_GetProc('glGetNamedBufferSubData');
  6493. glCreateFramebuffers := gl_GetProc('glCreateFramebuffers');
  6494. glNamedFramebufferRenderbuffer := gl_GetProc('glNamedFramebufferRenderbuffer');
  6495. glNamedFramebufferParameteri := gl_GetProc('glNamedFramebufferParameteri');
  6496. glNamedFramebufferTexture := gl_GetProc('glNamedFramebufferTexture');
  6497. glNamedFramebufferTextureLayer := gl_GetProc('glNamedFramebufferTextureLayer');
  6498. glNamedFramebufferDrawBuffer := gl_GetProc('glNamedFramebufferDrawBuffer');
  6499. glNamedFramebufferDrawBuffers := gl_GetProc('glNamedFramebufferDrawBuffers');
  6500. glNamedFramebufferReadBuffer := gl_GetProc('glNamedFramebufferReadBuffer');
  6501. glInvalidateNamedFramebufferData := gl_GetProc('glInvalidateNamedFramebufferData');
  6502. glInvalidateNamedFramebufferSubData := gl_GetProc('glInvalidateNamedFramebufferSubData');
  6503. glClearNamedFramebufferiv := gl_GetProc('glClearNamedFramebufferiv');
  6504. glClearNamedFramebufferuiv := gl_GetProc('glClearNamedFramebufferuiv');
  6505. glClearNamedFramebufferfv := gl_GetProc('glClearNamedFramebufferfv');
  6506. glClearNamedFramebufferfi := gl_GetProc('glClearNamedFramebufferfi');
  6507. glBlitNamedFramebuffer := gl_GetProc('glBlitNamedFramebuffer');
  6508. glCheckNamedFramebufferStatus := gl_GetProc('glCheckNamedFramebufferStatus');
  6509. glGetNamedFramebufferParameteriv := gl_GetProc('glGetNamedFramebufferParameteriv');
  6510. glGetNamedFramebufferAttachmentParameteriv := gl_GetProc('glGetNamedFramebufferAttachmentParameteriv');
  6511. glCreateRenderbuffers := gl_GetProc('glCreateRenderbuffers');
  6512. glNamedRenderbufferStorage := gl_GetProc('glNamedRenderbufferStorage');
  6513. glNamedRenderbufferStorageMultisample := gl_GetProc('glNamedRenderbufferStorageMultisample');
  6514. glGetNamedRenderbufferParameteriv := gl_GetProc('glGetNamedRenderbufferParameteriv');
  6515. glCreateTextures := gl_GetProc('glCreateTextures');
  6516. glTextureBuffer := gl_GetProc('glTextureBuffer');
  6517. glTextureBufferRange := gl_GetProc('glTextureBufferRange');
  6518. glTextureStorage1D := gl_GetProc('glTextureStorage1D');
  6519. glTextureStorage2D := gl_GetProc('glTextureStorage2D');
  6520. glTextureStorage3D := gl_GetProc('glTextureStorage3D');
  6521. glTextureStorage2DMultisample := gl_GetProc('glTextureStorage2DMultisample');
  6522. glTextureStorage3DMultisample := gl_GetProc('glTextureStorage3DMultisample');
  6523. glTextureSubImage1D := gl_GetProc('glTextureSubImage1D');
  6524. glTextureSubImage2D := gl_GetProc('glTextureSubImage2D');
  6525. glTextureSubImage3D := gl_GetProc('glTextureSubImage3D');
  6526. glCompressedTextureSubImage1D := gl_GetProc('glCompressedTextureSubImage1D');
  6527. glCompressedTextureSubImage2D := gl_GetProc('glCompressedTextureSubImage2D');
  6528. glCompressedTextureSubImage3D := gl_GetProc('glCompressedTextureSubImage3D');
  6529. glCopyTextureSubImage1D := gl_GetProc('glCopyTextureSubImage1D');
  6530. glCopyTextureSubImage2D := gl_GetProc('glCopyTextureSubImage2D');
  6531. glCopyTextureSubImage3D := gl_GetProc('glCopyTextureSubImage3D');
  6532. glTextureParameterf := gl_GetProc('glTextureParameterf');
  6533. glTextureParameterfv := gl_GetProc('glTextureParameterfv');
  6534. glTextureParameteri := gl_GetProc('glTextureParameteri');
  6535. glTextureParameterIiv := gl_GetProc('glTextureParameterIiv');
  6536. glTextureParameterIuiv := gl_GetProc('glTextureParameterIuiv');
  6537. glTextureParameteriv := gl_GetProc('glTextureParameteriv');
  6538. glGenerateTextureMipmap := gl_GetProc('glGenerateTextureMipmap');
  6539. glBindTextureUnit := gl_GetProc('glBindTextureUnit');
  6540. glGetTextureImage := gl_GetProc('glGetTextureImage');
  6541. glGetCompressedTextureImage := gl_GetProc('glGetCompressedTextureImage');
  6542. glGetTextureLevelParameterfv := gl_GetProc('glGetTextureLevelParameterfv');
  6543. glGetTextureLevelParameteriv := gl_GetProc('glGetTextureLevelParameteriv');
  6544. glGetTextureParameterfv := gl_GetProc('glGetTextureParameterfv');
  6545. glGetTextureParameterIiv := gl_GetProc('glGetTextureParameterIiv');
  6546. glGetTextureParameterIuiv := gl_GetProc('glGetTextureParameterIuiv');
  6547. glGetTextureParameteriv := gl_GetProc('glGetTextureParameteriv');
  6548. glCreateVertexArrays := gl_GetProc('glCreateVertexArrays');
  6549. glDisableVertexArrayAttrib := gl_GetProc('glDisableVertexArrayAttrib');
  6550. glEnableVertexArrayAttrib := gl_GetProc('glEnableVertexArrayAttrib');
  6551. glVertexArrayElementBuffer := gl_GetProc('glVertexArrayElementBuffer');
  6552. glVertexArrayVertexBuffer := gl_GetProc('glVertexArrayVertexBuffer');
  6553. glVertexArrayVertexBuffers := gl_GetProc('glVertexArrayVertexBuffers');
  6554. glVertexArrayAttribBinding := gl_GetProc('glVertexArrayAttribBinding');
  6555. glVertexArrayAttribFormat := gl_GetProc('glVertexArrayAttribFormat');
  6556. glVertexArrayAttribIFormat := gl_GetProc('glVertexArrayAttribIFormat');
  6557. glVertexArrayAttribLFormat := gl_GetProc('glVertexArrayAttribLFormat');
  6558. glVertexArrayBindingDivisor := gl_GetProc('glVertexArrayBindingDivisor');
  6559. glGetVertexArrayiv := gl_GetProc('glGetVertexArrayiv');
  6560. glGetVertexArrayIndexediv := gl_GetProc('glGetVertexArrayIndexediv');
  6561. glGetVertexArrayIndexed64iv := gl_GetProc('glGetVertexArrayIndexed64iv');
  6562. glCreateSamplers := gl_GetProc('glCreateSamplers');
  6563. glCreateProgramPipelines := gl_GetProc('glCreateProgramPipelines');
  6564. glCreateQueries := gl_GetProc('glCreateQueries');
  6565. glGetQueryBufferObjecti64v := gl_GetProc('glGetQueryBufferObjecti64v');
  6566. glGetQueryBufferObjectiv := gl_GetProc('glGetQueryBufferObjectiv');
  6567. glGetQueryBufferObjectui64v := gl_GetProc('glGetQueryBufferObjectui64v');
  6568. glGetQueryBufferObjectuiv := gl_GetProc('glGetQueryBufferObjectuiv');
  6569. glMemoryBarrierByRegion := gl_GetProc('glMemoryBarrierByRegion');
  6570. glGetTextureSubImage := gl_GetProc('glGetTextureSubImage');
  6571. glGetCompressedTextureSubImage := gl_GetProc('glGetCompressedTextureSubImage');
  6572. glGetGraphicsResetStatus := gl_GetProc('glGetGraphicsResetStatus');
  6573. glGetnCompressedTexImage := gl_GetProc('glGetnCompressedTexImage');
  6574. glGetnTexImage := gl_GetProc('glGetnTexImage');
  6575. glGetnUniformdv := gl_GetProc('glGetnUniformdv');
  6576. glGetnUniformfv := gl_GetProc('glGetnUniformfv');
  6577. glGetnUniformiv := gl_GetProc('glGetnUniformiv');
  6578. glGetnUniformuiv := gl_GetProc('glGetnUniformuiv');
  6579. glReadnPixels := gl_GetProc('glReadnPixels');
  6580. glTextureBarrier := gl_GetProc('glTextureBarrier');
  6581. {$IfNDef USE_GLCORE}
  6582. glGetnMapdv := gl_GetProc('glGetnMapdv');
  6583. glGetnMapfv := gl_GetProc('glGetnMapfv');
  6584. glGetnMapiv := gl_GetProc('glGetnMapiv');
  6585. glGetnPixelMapfv := gl_GetProc('glGetnPixelMapfv');
  6586. glGetnPixelMapuiv := gl_GetProc('glGetnPixelMapuiv');
  6587. glGetnPixelMapusv := gl_GetProc('glGetnPixelMapusv');
  6588. glGetnPolygonStipple := gl_GetProc('glGetnPolygonStipple');
  6589. glGetnColorTable := gl_GetProc('glGetnColorTable');
  6590. glGetnConvolutionFilter := gl_GetProc('glGetnConvolutionFilter');
  6591. glGetnSeparableFilter := gl_GetProc('glGetnSeparableFilter');
  6592. glGetnHistogram := gl_GetProc('glGetnHistogram');
  6593. glGetnMinmax := gl_GetProc('glGetnMinmax');
  6594. {$EndIf}
  6595. end;
  6596. {$EndIf}
  6597. {$IfDef GL_VERSION_4_6}
  6598. if GL_VERSION_4_6 then
  6599. begin
  6600. glSpecializeShader := gl_GetProc('glSpecializeShader');
  6601. glMultiDrawArraysIndirectCount := gl_GetProc('glMultiDrawArraysIndirectCount');
  6602. glMultiDrawElementsIndirectCount := gl_GetProc('glMultiDrawElementsIndirectCount');
  6603. glPolygonOffsetClamp := gl_GetProc('glPolygonOffsetClamp');
  6604. end;
  6605. {$EndIf}
  6606. {$IfDef GL_ARB_ES3_2_compatibility}
  6607. if GL_ARB_ES3_2_compatibility then
  6608. glPrimitiveBoundingBoxARB := gl_GetProc('glPrimitiveBoundingBoxARB');
  6609. {$EndIf}
  6610. {$IfDef GL_ARB_bindless_texture}
  6611. if GL_ARB_bindless_texture then
  6612. begin
  6613. glGetTextureHandleARB := gl_GetProc('glGetTextureHandleARB');
  6614. glGetTextureSamplerHandleARB := gl_GetProc('glGetTextureSamplerHandleARB');
  6615. glMakeTextureHandleResidentARB := gl_GetProc('glMakeTextureHandleResidentARB');
  6616. glMakeTextureHandleNonResidentARB := gl_GetProc('glMakeTextureHandleNonResidentARB');
  6617. glGetImageHandleARB := gl_GetProc('glGetImageHandleARB');
  6618. glMakeImageHandleResidentARB := gl_GetProc('glMakeImageHandleResidentARB');
  6619. glMakeImageHandleNonResidentARB := gl_GetProc('glMakeImageHandleNonResidentARB');
  6620. glUniformHandleui64ARB := gl_GetProc('glUniformHandleui64ARB');
  6621. glUniformHandleui64vARB := gl_GetProc('glUniformHandleui64vARB');
  6622. glProgramUniformHandleui64ARB := gl_GetProc('glProgramUniformHandleui64ARB');
  6623. glProgramUniformHandleui64vARB := gl_GetProc('glProgramUniformHandleui64vARB');
  6624. glIsTextureHandleResidentARB := gl_GetProc('glIsTextureHandleResidentARB');
  6625. glIsImageHandleResidentARB := gl_GetProc('glIsImageHandleResidentARB');
  6626. glVertexAttribL1ui64ARB := gl_GetProc('glVertexAttribL1ui64ARB');
  6627. glVertexAttribL1ui64vARB := gl_GetProc('glVertexAttribL1ui64vARB');
  6628. glGetVertexAttribLui64vARB := gl_GetProc('glGetVertexAttribLui64vARB');
  6629. end;
  6630. {$EndIf}
  6631. {$IfDef GL_ARB_cl_event}
  6632. if GL_ARB_cl_event then
  6633. glCreateSyncFromCLeventARB := gl_GetProc('glCreateSyncFromCLeventARB');
  6634. {$EndIf}
  6635. {$IfDef GL_ARB_color_buffer_float}
  6636. if GL_ARB_color_buffer_float then
  6637. glClampColorARB := gl_GetProc('glClampColorARB');
  6638. {$EndIf}
  6639. {$IfDef GL_ARB_compute_variable_group_size}
  6640. if GL_ARB_compute_variable_group_size then
  6641. glDispatchComputeGroupSizeARB := gl_GetProc('glDispatchComputeGroupSizeARB');
  6642. {$EndIf}
  6643. {$IfDef GL_ARB_debug_output}
  6644. if GL_ARB_debug_output then
  6645. begin
  6646. glDebugMessageControlARB := gl_GetProc('glDebugMessageControlARB');
  6647. glDebugMessageInsertARB := gl_GetProc('glDebugMessageInsertARB');
  6648. glDebugMessageCallbackARB := gl_GetProc('glDebugMessageCallbackARB');
  6649. glGetDebugMessageLogARB := gl_GetProc('glGetDebugMessageLogARB');
  6650. end;
  6651. {$EndIf}
  6652. {$IfDef GL_ARB_draw_buffers}
  6653. if GL_ARB_draw_buffers then
  6654. glDrawBuffersARB := gl_GetProc('glDrawBuffersARB');
  6655. {$EndIf}
  6656. {$IfDef GL_ARB_draw_buffers_blend}
  6657. if GL_ARB_draw_buffers_blend then
  6658. begin
  6659. glBlendEquationiARB := gl_GetProc('glBlendEquationiARB');
  6660. glBlendEquationSeparateiARB := gl_GetProc('glBlendEquationSeparateiARB');
  6661. glBlendFunciARB := gl_GetProc('glBlendFunciARB');
  6662. glBlendFuncSeparateiARB := gl_GetProc('glBlendFuncSeparateiARB');
  6663. end;
  6664. {$EndIf}
  6665. {$IfDef GL_ARB_draw_instanced}
  6666. if GL_ARB_draw_instanced then
  6667. begin
  6668. glDrawArraysInstancedARB := gl_GetProc('glDrawArraysInstancedARB');
  6669. glDrawElementsInstancedARB := gl_GetProc('glDrawElementsInstancedARB');
  6670. end;
  6671. {$EndIf}
  6672. {$IfDef GL_ARB_fragment_program}
  6673. if GL_ARB_fragment_program then
  6674. begin
  6675. glProgramStringARB := gl_GetProc('glProgramStringARB');
  6676. glBindProgramARB := gl_GetProc('glBindProgramARB');
  6677. glDeleteProgramsARB := gl_GetProc('glDeleteProgramsARB');
  6678. glGenProgramsARB := gl_GetProc('glGenProgramsARB');
  6679. glProgramEnvParameter4dARB := gl_GetProc('glProgramEnvParameter4dARB');
  6680. glProgramEnvParameter4dvARB := gl_GetProc('glProgramEnvParameter4dvARB');
  6681. glProgramEnvParameter4fARB := gl_GetProc('glProgramEnvParameter4fARB');
  6682. glProgramEnvParameter4fvARB := gl_GetProc('glProgramEnvParameter4fvARB');
  6683. glProgramLocalParameter4dARB := gl_GetProc('glProgramLocalParameter4dARB');
  6684. glProgramLocalParameter4dvARB := gl_GetProc('glProgramLocalParameter4dvARB');
  6685. glProgramLocalParameter4fARB := gl_GetProc('glProgramLocalParameter4fARB');
  6686. glProgramLocalParameter4fvARB := gl_GetProc('glProgramLocalParameter4fvARB');
  6687. glGetProgramEnvParameterdvARB := gl_GetProc('glGetProgramEnvParameterdvARB');
  6688. glGetProgramEnvParameterfvARB := gl_GetProc('glGetProgramEnvParameterfvARB');
  6689. glGetProgramLocalParameterdvARB := gl_GetProc('glGetProgramLocalParameterdvARB');
  6690. glGetProgramLocalParameterfvARB := gl_GetProc('glGetProgramLocalParameterfvARB');
  6691. glGetProgramivARB := gl_GetProc('glGetProgramivARB');
  6692. glGetProgramStringARB := gl_GetProc('glGetProgramStringARB');
  6693. glIsProgramARB := gl_GetProc('glIsProgramARB');
  6694. end;
  6695. {$EndIf}
  6696. {$IfDef GL_ARB_geometry_shader4}
  6697. if GL_ARB_geometry_shader4 then
  6698. begin
  6699. glProgramParameteriARB := gl_GetProc('glProgramParameteriARB');
  6700. glFramebufferTextureARB := gl_GetProc('glFramebufferTextureARB');
  6701. glFramebufferTextureLayerARB := gl_GetProc('glFramebufferTextureLayerARB');
  6702. glFramebufferTextureFaceARB := gl_GetProc('glFramebufferTextureFaceARB');
  6703. end;
  6704. {$EndIf}
  6705. {$IfDef GL_ARB_gl_spirv}
  6706. if GL_ARB_gl_spirv then
  6707. glSpecializeShaderARB := gl_GetProc('glSpecializeShaderARB');
  6708. {$EndIf}
  6709. {$IfDef GL_ARB_gpu_shader_int64}
  6710. if GL_ARB_gpu_shader_int64 then
  6711. begin
  6712. glUniform1i64ARB := gl_GetProc('glUniform1i64ARB');
  6713. glUniform2i64ARB := gl_GetProc('glUniform2i64ARB');
  6714. glUniform3i64ARB := gl_GetProc('glUniform3i64ARB');
  6715. glUniform4i64ARB := gl_GetProc('glUniform4i64ARB');
  6716. glUniform1i64vARB := gl_GetProc('glUniform1i64vARB');
  6717. glUniform2i64vARB := gl_GetProc('glUniform2i64vARB');
  6718. glUniform3i64vARB := gl_GetProc('glUniform3i64vARB');
  6719. glUniform4i64vARB := gl_GetProc('glUniform4i64vARB');
  6720. glUniform1ui64ARB := gl_GetProc('glUniform1ui64ARB');
  6721. glUniform2ui64ARB := gl_GetProc('glUniform2ui64ARB');
  6722. glUniform3ui64ARB := gl_GetProc('glUniform3ui64ARB');
  6723. glUniform4ui64ARB := gl_GetProc('glUniform4ui64ARB');
  6724. glUniform1ui64vARB := gl_GetProc('glUniform1ui64vARB');
  6725. glUniform2ui64vARB := gl_GetProc('glUniform2ui64vARB');
  6726. glUniform3ui64vARB := gl_GetProc('glUniform3ui64vARB');
  6727. glUniform4ui64vARB := gl_GetProc('glUniform4ui64vARB');
  6728. glGetUniformi64vARB := gl_GetProc('glGetUniformi64vARB');
  6729. glGetUniformui64vARB := gl_GetProc('glGetUniformui64vARB');
  6730. glGetnUniformi64vARB := gl_GetProc('glGetnUniformi64vARB');
  6731. glGetnUniformui64vARB := gl_GetProc('glGetnUniformui64vARB');
  6732. glProgramUniform1i64ARB := gl_GetProc('glProgramUniform1i64ARB');
  6733. glProgramUniform2i64ARB := gl_GetProc('glProgramUniform2i64ARB');
  6734. glProgramUniform3i64ARB := gl_GetProc('glProgramUniform3i64ARB');
  6735. glProgramUniform4i64ARB := gl_GetProc('glProgramUniform4i64ARB');
  6736. glProgramUniform1i64vARB := gl_GetProc('glProgramUniform1i64vARB');
  6737. glProgramUniform2i64vARB := gl_GetProc('glProgramUniform2i64vARB');
  6738. glProgramUniform3i64vARB := gl_GetProc('glProgramUniform3i64vARB');
  6739. glProgramUniform4i64vARB := gl_GetProc('glProgramUniform4i64vARB');
  6740. glProgramUniform1ui64ARB := gl_GetProc('glProgramUniform1ui64ARB');
  6741. glProgramUniform2ui64ARB := gl_GetProc('glProgramUniform2ui64ARB');
  6742. glProgramUniform3ui64ARB := gl_GetProc('glProgramUniform3ui64ARB');
  6743. glProgramUniform4ui64ARB := gl_GetProc('glProgramUniform4ui64ARB');
  6744. glProgramUniform1ui64vARB := gl_GetProc('glProgramUniform1ui64vARB');
  6745. glProgramUniform2ui64vARB := gl_GetProc('glProgramUniform2ui64vARB');
  6746. glProgramUniform3ui64vARB := gl_GetProc('glProgramUniform3ui64vARB');
  6747. glProgramUniform4ui64vARB := gl_GetProc('glProgramUniform4ui64vARB');
  6748. end;
  6749. {$EndIf}
  6750. {$IfDef GL_ARB_imaging}
  6751. if GL_ARB_imaging then
  6752. begin
  6753. glColorTable := gl_GetProc('glColorTable');
  6754. glColorTableParameterfv := gl_GetProc('glColorTableParameterfv');
  6755. glColorTableParameteriv := gl_GetProc('glColorTableParameteriv');
  6756. glCopyColorTable := gl_GetProc('glCopyColorTable');
  6757. glGetColorTable := gl_GetProc('glGetColorTable');
  6758. glGetColorTableParameterfv := gl_GetProc('glGetColorTableParameterfv');
  6759. glGetColorTableParameteriv := gl_GetProc('glGetColorTableParameteriv');
  6760. glColorSubTable := gl_GetProc('glColorSubTable');
  6761. glCopyColorSubTable := gl_GetProc('glCopyColorSubTable');
  6762. glConvolutionFilter1D := gl_GetProc('glConvolutionFilter1D');
  6763. glConvolutionFilter2D := gl_GetProc('glConvolutionFilter2D');
  6764. glConvolutionParameterf := gl_GetProc('glConvolutionParameterf');
  6765. glConvolutionParameterfv := gl_GetProc('glConvolutionParameterfv');
  6766. glConvolutionParameteri := gl_GetProc('glConvolutionParameteri');
  6767. glConvolutionParameteriv := gl_GetProc('glConvolutionParameteriv');
  6768. glCopyConvolutionFilter1D := gl_GetProc('glCopyConvolutionFilter1D');
  6769. glCopyConvolutionFilter2D := gl_GetProc('glCopyConvolutionFilter2D');
  6770. glGetConvolutionFilter := gl_GetProc('glGetConvolutionFilter');
  6771. glGetConvolutionParameterfv := gl_GetProc('glGetConvolutionParameterfv');
  6772. glGetConvolutionParameteriv := gl_GetProc('glGetConvolutionParameteriv');
  6773. glGetSeparableFilter := gl_GetProc('glGetSeparableFilter');
  6774. glSeparableFilter2D := gl_GetProc('glSeparableFilter2D');
  6775. glGetHistogram := gl_GetProc('glGetHistogram');
  6776. glGetHistogramParameterfv := gl_GetProc('glGetHistogramParameterfv');
  6777. glGetHistogramParameteriv := gl_GetProc('glGetHistogramParameteriv');
  6778. glGetMinmax := gl_GetProc('glGetMinmax');
  6779. glGetMinmaxParameterfv := gl_GetProc('glGetMinmaxParameterfv');
  6780. glGetMinmaxParameteriv := gl_GetProc('glGetMinmaxParameteriv');
  6781. glHistogram := gl_GetProc('glHistogram');
  6782. glMinmax := gl_GetProc('glMinmax');
  6783. glResetHistogram := gl_GetProc('glResetHistogram');
  6784. glResetMinmax := gl_GetProc('glResetMinmax');
  6785. end;
  6786. {$EndIf}
  6787. {$IfDef GL_ARB_indirect_parameters}
  6788. if GL_ARB_indirect_parameters then
  6789. begin
  6790. glMultiDrawArraysIndirectCountARB := gl_GetProc('glMultiDrawArraysIndirectCountARB');
  6791. glMultiDrawElementsIndirectCountARB := gl_GetProc('glMultiDrawElementsIndirectCountARB');
  6792. end;
  6793. {$EndIf}
  6794. {$IfDef GL_ARB_instanced_arrays}
  6795. if GL_ARB_instanced_arrays then
  6796. glVertexAttribDivisorARB := gl_GetProc('glVertexAttribDivisorARB');
  6797. {$EndIf}
  6798. {$IfDef GL_ARB_matrix_palette}
  6799. if GL_ARB_matrix_palette then
  6800. begin
  6801. glCurrentPaletteMatrixARB := gl_GetProc('glCurrentPaletteMatrixARB');
  6802. glMatrixIndexubvARB := gl_GetProc('glMatrixIndexubvARB');
  6803. glMatrixIndexusvARB := gl_GetProc('glMatrixIndexusvARB');
  6804. glMatrixIndexuivARB := gl_GetProc('glMatrixIndexuivARB');
  6805. glMatrixIndexPointerARB := gl_GetProc('glMatrixIndexPointerARB');
  6806. end;
  6807. {$EndIf}
  6808. {$IfDef GL_ARB_multisample}
  6809. if GL_ARB_multisample then
  6810. glSampleCoverageARB := gl_GetProc('glSampleCoverageARB');
  6811. {$EndIf}
  6812. {$IfDef GL_ARB_multitexture}
  6813. if GL_ARB_multitexture then
  6814. begin
  6815. glActiveTextureARB := gl_GetProc('glActiveTextureARB');
  6816. glClientActiveTextureARB := gl_GetProc('glClientActiveTextureARB');
  6817. glMultiTexCoord1dARB := gl_GetProc('glMultiTexCoord1dARB');
  6818. glMultiTexCoord1dvARB := gl_GetProc('glMultiTexCoord1dvARB');
  6819. glMultiTexCoord1fARB := gl_GetProc('glMultiTexCoord1fARB');
  6820. glMultiTexCoord1fvARB := gl_GetProc('glMultiTexCoord1fvARB');
  6821. glMultiTexCoord1iARB := gl_GetProc('glMultiTexCoord1iARB');
  6822. glMultiTexCoord1ivARB := gl_GetProc('glMultiTexCoord1ivARB');
  6823. glMultiTexCoord1sARB := gl_GetProc('glMultiTexCoord1sARB');
  6824. glMultiTexCoord1svARB := gl_GetProc('glMultiTexCoord1svARB');
  6825. glMultiTexCoord2dARB := gl_GetProc('glMultiTexCoord2dARB');
  6826. glMultiTexCoord2dvARB := gl_GetProc('glMultiTexCoord2dvARB');
  6827. glMultiTexCoord2fARB := gl_GetProc('glMultiTexCoord2fARB');
  6828. glMultiTexCoord2fvARB := gl_GetProc('glMultiTexCoord2fvARB');
  6829. glMultiTexCoord2iARB := gl_GetProc('glMultiTexCoord2iARB');
  6830. glMultiTexCoord2ivARB := gl_GetProc('glMultiTexCoord2ivARB');
  6831. glMultiTexCoord2sARB := gl_GetProc('glMultiTexCoord2sARB');
  6832. glMultiTexCoord2svARB := gl_GetProc('glMultiTexCoord2svARB');
  6833. glMultiTexCoord3dARB := gl_GetProc('glMultiTexCoord3dARB');
  6834. glMultiTexCoord3dvARB := gl_GetProc('glMultiTexCoord3dvARB');
  6835. glMultiTexCoord3fARB := gl_GetProc('glMultiTexCoord3fARB');
  6836. glMultiTexCoord3fvARB := gl_GetProc('glMultiTexCoord3fvARB');
  6837. glMultiTexCoord3iARB := gl_GetProc('glMultiTexCoord3iARB');
  6838. glMultiTexCoord3ivARB := gl_GetProc('glMultiTexCoord3ivARB');
  6839. glMultiTexCoord3sARB := gl_GetProc('glMultiTexCoord3sARB');
  6840. glMultiTexCoord3svARB := gl_GetProc('glMultiTexCoord3svARB');
  6841. glMultiTexCoord4dARB := gl_GetProc('glMultiTexCoord4dARB');
  6842. glMultiTexCoord4dvARB := gl_GetProc('glMultiTexCoord4dvARB');
  6843. glMultiTexCoord4fARB := gl_GetProc('glMultiTexCoord4fARB');
  6844. glMultiTexCoord4fvARB := gl_GetProc('glMultiTexCoord4fvARB');
  6845. glMultiTexCoord4iARB := gl_GetProc('glMultiTexCoord4iARB');
  6846. glMultiTexCoord4ivARB := gl_GetProc('glMultiTexCoord4ivARB');
  6847. glMultiTexCoord4sARB := gl_GetProc('glMultiTexCoord4sARB');
  6848. glMultiTexCoord4svARB := gl_GetProc('glMultiTexCoord4svARB');
  6849. end;
  6850. {$EndIf}
  6851. {$IfDef GL_ARB_occlusion_query}
  6852. if GL_ARB_occlusion_query then
  6853. begin
  6854. glGenQueriesARB := gl_GetProc('glGenQueriesARB');
  6855. glDeleteQueriesARB := gl_GetProc('glDeleteQueriesARB');
  6856. glIsQueryARB := gl_GetProc('glIsQueryARB');
  6857. glBeginQueryARB := gl_GetProc('glBeginQueryARB');
  6858. glEndQueryARB := gl_GetProc('glEndQueryARB');
  6859. glGetQueryivARB := gl_GetProc('glGetQueryivARB');
  6860. glGetQueryObjectivARB := gl_GetProc('glGetQueryObjectivARB');
  6861. glGetQueryObjectuivARB := gl_GetProc('glGetQueryObjectuivARB');
  6862. end;
  6863. {$EndIf}
  6864. {$IfDef GL_ARB_parallel_shader_compile}
  6865. if GL_ARB_parallel_shader_compile then
  6866. glMaxShaderCompilerThreadsARB := gl_GetProc('glMaxShaderCompilerThreadsARB');
  6867. {$EndIf}
  6868. {$IfDef GL_ARB_point_parameters}
  6869. if GL_ARB_point_parameters then
  6870. begin
  6871. glPointParameterfARB := gl_GetProc('glPointParameterfARB');
  6872. glPointParameterfvARB := gl_GetProc('glPointParameterfvARB');
  6873. end;
  6874. {$EndIf}
  6875. {$IfDef GL_ARB_robustness}
  6876. if GL_ARB_robustness then
  6877. begin
  6878. glGetGraphicsResetStatusARB := gl_GetProc('glGetGraphicsResetStatusARB');
  6879. glGetnTexImageARB := gl_GetProc('glGetnTexImageARB');
  6880. glReadnPixelsARB := gl_GetProc('glReadnPixelsARB');
  6881. glGetnCompressedTexImageARB := gl_GetProc('glGetnCompressedTexImageARB');
  6882. glGetnUniformfvARB := gl_GetProc('glGetnUniformfvARB');
  6883. glGetnUniformivARB := gl_GetProc('glGetnUniformivARB');
  6884. glGetnUniformuivARB := gl_GetProc('glGetnUniformuivARB');
  6885. glGetnUniformdvARB := gl_GetProc('glGetnUniformdvARB');
  6886. {$IfNDef USE_GLCORE}
  6887. glGetnMapdvARB := gl_GetProc('glGetnMapdvARB');
  6888. glGetnMapfvARB := gl_GetProc('glGetnMapfvARB');
  6889. glGetnMapivARB := gl_GetProc('glGetnMapivARB');
  6890. glGetnPixelMapfvARB := gl_GetProc('glGetnPixelMapfvARB');
  6891. glGetnPixelMapuivARB := gl_GetProc('glGetnPixelMapuivARB');
  6892. glGetnPixelMapusvARB := gl_GetProc('glGetnPixelMapusvARB');
  6893. glGetnPolygonStippleARB := gl_GetProc('glGetnPolygonStippleARB');
  6894. glGetnColorTableARB := gl_GetProc('glGetnColorTableARB');
  6895. glGetnConvolutionFilterARB := gl_GetProc('glGetnConvolutionFilterARB');
  6896. glGetnSeparableFilterARB := gl_GetProc('glGetnSeparableFilterARB');
  6897. glGetnHistogramARB := gl_GetProc('glGetnHistogramARB');
  6898. glGetnMinmaxARB := gl_GetProc('glGetnMinmaxARB');
  6899. {$EndIf}
  6900. end;
  6901. {$EndIf}
  6902. {$IfDef GL_ARB_sample_locations}
  6903. if GL_ARB_sample_locations then
  6904. begin
  6905. glFramebufferSampleLocationsfvARB := gl_GetProc('glFramebufferSampleLocationsfvARB');
  6906. glNamedFramebufferSampleLocationsfvARB := gl_GetProc('glNamedFramebufferSampleLocationsfvARB');
  6907. glEvaluateDepthValuesARB := gl_GetProc('glEvaluateDepthValuesARB');
  6908. end;
  6909. {$EndIf}
  6910. {$IfDef GL_ARB_sample_shading}
  6911. if GL_ARB_sample_shading then
  6912. glMinSampleShadingARB := gl_GetProc('glMinSampleShadingARB');
  6913. {$EndIf}
  6914. {$IfDef GL_ARB_shader_objects}
  6915. if GL_ARB_shader_objects then
  6916. begin
  6917. glDeleteObjectARB := gl_GetProc('glDeleteObjectARB');
  6918. glGetHandleARB := gl_GetProc('glGetHandleARB');
  6919. glDetachObjectARB := gl_GetProc('glDetachObjectARB');
  6920. glCreateShaderObjectARB := gl_GetProc('glCreateShaderObjectARB');
  6921. glShaderSourceARB := gl_GetProc('glShaderSourceARB');
  6922. glCompileShaderARB := gl_GetProc('glCompileShaderARB');
  6923. glCreateProgramObjectARB := gl_GetProc('glCreateProgramObjectARB');
  6924. glAttachObjectARB := gl_GetProc('glAttachObjectARB');
  6925. glLinkProgramARB := gl_GetProc('glLinkProgramARB');
  6926. glUseProgramObjectARB := gl_GetProc('glUseProgramObjectARB');
  6927. glValidateProgramARB := gl_GetProc('glValidateProgramARB');
  6928. glUniform1fARB := gl_GetProc('glUniform1fARB');
  6929. glUniform2fARB := gl_GetProc('glUniform2fARB');
  6930. glUniform3fARB := gl_GetProc('glUniform3fARB');
  6931. glUniform4fARB := gl_GetProc('glUniform4fARB');
  6932. glUniform1iARB := gl_GetProc('glUniform1iARB');
  6933. glUniform2iARB := gl_GetProc('glUniform2iARB');
  6934. glUniform3iARB := gl_GetProc('glUniform3iARB');
  6935. glUniform4iARB := gl_GetProc('glUniform4iARB');
  6936. glUniform1fvARB := gl_GetProc('glUniform1fvARB');
  6937. glUniform2fvARB := gl_GetProc('glUniform2fvARB');
  6938. glUniform3fvARB := gl_GetProc('glUniform3fvARB');
  6939. glUniform4fvARB := gl_GetProc('glUniform4fvARB');
  6940. glUniform1ivARB := gl_GetProc('glUniform1ivARB');
  6941. glUniform2ivARB := gl_GetProc('glUniform2ivARB');
  6942. glUniform3ivARB := gl_GetProc('glUniform3ivARB');
  6943. glUniform4ivARB := gl_GetProc('glUniform4ivARB');
  6944. glUniformMatrix2fvARB := gl_GetProc('glUniformMatrix2fvARB');
  6945. glUniformMatrix3fvARB := gl_GetProc('glUniformMatrix3fvARB');
  6946. glUniformMatrix4fvARB := gl_GetProc('glUniformMatrix4fvARB');
  6947. glGetObjectParameterfvARB := gl_GetProc('glGetObjectParameterfvARB');
  6948. glGetObjectParameterivARB := gl_GetProc('glGetObjectParameterivARB');
  6949. glGetInfoLogARB := gl_GetProc('glGetInfoLogARB');
  6950. glGetAttachedObjectsARB := gl_GetProc('glGetAttachedObjectsARB');
  6951. glGetUniformLocationARB := gl_GetProc('glGetUniformLocationARB');
  6952. glGetActiveUniformARB := gl_GetProc('glGetActiveUniformARB');
  6953. glGetUniformfvARB := gl_GetProc('glGetUniformfvARB');
  6954. glGetUniformivARB := gl_GetProc('glGetUniformivARB');
  6955. glGetShaderSourceARB := gl_GetProc('glGetShaderSourceARB');
  6956. end;
  6957. {$EndIf}
  6958. {$IfDef GL_ARB_shading_language_include}
  6959. if GL_ARB_shading_language_include then
  6960. begin
  6961. glNamedStringARB := gl_GetProc('glNamedStringARB');
  6962. glDeleteNamedStringARB := gl_GetProc('glDeleteNamedStringARB');
  6963. glCompileShaderIncludeARB := gl_GetProc('glCompileShaderIncludeARB');
  6964. glIsNamedStringARB := gl_GetProc('glIsNamedStringARB');
  6965. glGetNamedStringARB := gl_GetProc('glGetNamedStringARB');
  6966. glGetNamedStringivARB := gl_GetProc('glGetNamedStringivARB');
  6967. end;
  6968. {$EndIf}
  6969. {$IfDef GL_ARB_sparse_buffer}
  6970. if GL_ARB_sparse_buffer then
  6971. begin
  6972. glBufferPageCommitmentARB := gl_GetProc('glBufferPageCommitmentARB');
  6973. glNamedBufferPageCommitmentEXT := gl_GetProc('glNamedBufferPageCommitmentEXT');
  6974. glNamedBufferPageCommitmentARB := gl_GetProc('glNamedBufferPageCommitmentARB');
  6975. end;
  6976. {$EndIf}
  6977. {$IfDef GL_ARB_sparse_texture}
  6978. if GL_ARB_sparse_texture then
  6979. glTexPageCommitmentARB := gl_GetProc('glTexPageCommitmentARB');
  6980. {$EndIf}
  6981. {$IfDef GL_ARB_texture_buffer_object}
  6982. if GL_ARB_texture_buffer_object then
  6983. glTexBufferARB := gl_GetProc('glTexBufferARB');
  6984. {$EndIf}
  6985. {$IfDef GL_ARB_texture_compression}
  6986. if GL_ARB_texture_compression then
  6987. begin
  6988. glCompressedTexImage3DARB := gl_GetProc('glCompressedTexImage3DARB');
  6989. glCompressedTexImage2DARB := gl_GetProc('glCompressedTexImage2DARB');
  6990. glCompressedTexImage1DARB := gl_GetProc('glCompressedTexImage1DARB');
  6991. glCompressedTexSubImage3DARB := gl_GetProc('glCompressedTexSubImage3DARB');
  6992. glCompressedTexSubImage2DARB := gl_GetProc('glCompressedTexSubImage2DARB');
  6993. glCompressedTexSubImage1DARB := gl_GetProc('glCompressedTexSubImage1DARB');
  6994. glGetCompressedTexImageARB := gl_GetProc('glGetCompressedTexImageARB');
  6995. end;
  6996. {$EndIf}
  6997. {$IfDef GL_ARB_transpose_matrix}
  6998. if GL_ARB_transpose_matrix then
  6999. begin
  7000. glLoadTransposeMatrixfARB := gl_GetProc('glLoadTransposeMatrixfARB');
  7001. glLoadTransposeMatrixdARB := gl_GetProc('glLoadTransposeMatrixdARB');
  7002. glMultTransposeMatrixfARB := gl_GetProc('glMultTransposeMatrixfARB');
  7003. glMultTransposeMatrixdARB := gl_GetProc('glMultTransposeMatrixdARB');
  7004. end;
  7005. {$EndIf}
  7006. {$IfDef GL_ARB_vertex_blend}
  7007. if GL_ARB_vertex_blend then
  7008. begin
  7009. glWeightbvARB := gl_GetProc('glWeightbvARB');
  7010. glWeightsvARB := gl_GetProc('glWeightsvARB');
  7011. glWeightivARB := gl_GetProc('glWeightivARB');
  7012. glWeightfvARB := gl_GetProc('glWeightfvARB');
  7013. glWeightdvARB := gl_GetProc('glWeightdvARB');
  7014. glWeightubvARB := gl_GetProc('glWeightubvARB');
  7015. glWeightusvARB := gl_GetProc('glWeightusvARB');
  7016. glWeightuivARB := gl_GetProc('glWeightuivARB');
  7017. glWeightPointerARB := gl_GetProc('glWeightPointerARB');
  7018. glVertexBlendARB := gl_GetProc('glVertexBlendARB');
  7019. end;
  7020. {$EndIf}
  7021. {$IfDef GL_ARB_vertex_buffer_object}
  7022. if GL_ARB_vertex_buffer_object then
  7023. begin
  7024. glBindBufferARB := gl_GetProc('glBindBufferARB');
  7025. glDeleteBuffersARB := gl_GetProc('glDeleteBuffersARB');
  7026. glGenBuffersARB := gl_GetProc('glGenBuffersARB');
  7027. glIsBufferARB := gl_GetProc('glIsBufferARB');
  7028. glBufferDataARB := gl_GetProc('glBufferDataARB');
  7029. glBufferSubDataARB := gl_GetProc('glBufferSubDataARB');
  7030. glGetBufferSubDataARB := gl_GetProc('glGetBufferSubDataARB');
  7031. glMapBufferARB := gl_GetProc('glMapBufferARB');
  7032. glUnmapBufferARB := gl_GetProc('glUnmapBufferARB');
  7033. glGetBufferParameterivARB := gl_GetProc('glGetBufferParameterivARB');
  7034. glGetBufferPointervARB := gl_GetProc('glGetBufferPointervARB');
  7035. end;
  7036. {$EndIf}
  7037. {$IfDef GL_ARB_vertex_program}
  7038. if GL_ARB_vertex_program then
  7039. begin
  7040. glVertexAttrib1dARB := gl_GetProc('glVertexAttrib1dARB');
  7041. glVertexAttrib1dvARB := gl_GetProc('glVertexAttrib1dvARB');
  7042. glVertexAttrib1fARB := gl_GetProc('glVertexAttrib1fARB');
  7043. glVertexAttrib1fvARB := gl_GetProc('glVertexAttrib1fvARB');
  7044. glVertexAttrib1sARB := gl_GetProc('glVertexAttrib1sARB');
  7045. glVertexAttrib1svARB := gl_GetProc('glVertexAttrib1svARB');
  7046. glVertexAttrib2dARB := gl_GetProc('glVertexAttrib2dARB');
  7047. glVertexAttrib2dvARB := gl_GetProc('glVertexAttrib2dvARB');
  7048. glVertexAttrib2fARB := gl_GetProc('glVertexAttrib2fARB');
  7049. glVertexAttrib2fvARB := gl_GetProc('glVertexAttrib2fvARB');
  7050. glVertexAttrib2sARB := gl_GetProc('glVertexAttrib2sARB');
  7051. glVertexAttrib2svARB := gl_GetProc('glVertexAttrib2svARB');
  7052. glVertexAttrib3dARB := gl_GetProc('glVertexAttrib3dARB');
  7053. glVertexAttrib3dvARB := gl_GetProc('glVertexAttrib3dvARB');
  7054. glVertexAttrib3fARB := gl_GetProc('glVertexAttrib3fARB');
  7055. glVertexAttrib3fvARB := gl_GetProc('glVertexAttrib3fvARB');
  7056. glVertexAttrib3sARB := gl_GetProc('glVertexAttrib3sARB');
  7057. glVertexAttrib3svARB := gl_GetProc('glVertexAttrib3svARB');
  7058. glVertexAttrib4NbvARB := gl_GetProc('glVertexAttrib4NbvARB');
  7059. glVertexAttrib4NivARB := gl_GetProc('glVertexAttrib4NivARB');
  7060. glVertexAttrib4NsvARB := gl_GetProc('glVertexAttrib4NsvARB');
  7061. glVertexAttrib4NubARB := gl_GetProc('glVertexAttrib4NubARB');
  7062. glVertexAttrib4NubvARB := gl_GetProc('glVertexAttrib4NubvARB');
  7063. glVertexAttrib4NuivARB := gl_GetProc('glVertexAttrib4NuivARB');
  7064. glVertexAttrib4NusvARB := gl_GetProc('glVertexAttrib4NusvARB');
  7065. glVertexAttrib4bvARB := gl_GetProc('glVertexAttrib4bvARB');
  7066. glVertexAttrib4dARB := gl_GetProc('glVertexAttrib4dARB');
  7067. glVertexAttrib4dvARB := gl_GetProc('glVertexAttrib4dvARB');
  7068. glVertexAttrib4fARB := gl_GetProc('glVertexAttrib4fARB');
  7069. glVertexAttrib4fvARB := gl_GetProc('glVertexAttrib4fvARB');
  7070. glVertexAttrib4ivARB := gl_GetProc('glVertexAttrib4ivARB');
  7071. glVertexAttrib4sARB := gl_GetProc('glVertexAttrib4sARB');
  7072. glVertexAttrib4svARB := gl_GetProc('glVertexAttrib4svARB');
  7073. glVertexAttrib4ubvARB := gl_GetProc('glVertexAttrib4ubvARB');
  7074. glVertexAttrib4uivARB := gl_GetProc('glVertexAttrib4uivARB');
  7075. glVertexAttrib4usvARB := gl_GetProc('glVertexAttrib4usvARB');
  7076. glVertexAttribPointerARB := gl_GetProc('glVertexAttribPointerARB');
  7077. glEnableVertexAttribArrayARB := gl_GetProc('glEnableVertexAttribArrayARB');
  7078. glDisableVertexAttribArrayARB := gl_GetProc('glDisableVertexAttribArrayARB');
  7079. glGetVertexAttribdvARB := gl_GetProc('glGetVertexAttribdvARB');
  7080. glGetVertexAttribfvARB := gl_GetProc('glGetVertexAttribfvARB');
  7081. glGetVertexAttribivARB := gl_GetProc('glGetVertexAttribivARB');
  7082. glGetVertexAttribPointervARB := gl_GetProc('glGetVertexAttribPointervARB');
  7083. end;
  7084. {$EndIf}
  7085. {$IfDef GL_ARB_vertex_shader}
  7086. if GL_ARB_vertex_shader then
  7087. begin
  7088. glBindAttribLocationARB := gl_GetProc('glBindAttribLocationARB');
  7089. glGetActiveAttribARB := gl_GetProc('glGetActiveAttribARB');
  7090. glGetAttribLocationARB := gl_GetProc('glGetAttribLocationARB');
  7091. end;
  7092. {$EndIf}
  7093. {$IfDef GL_ARB_viewport_array}
  7094. if GL_ARB_viewport_array then
  7095. begin
  7096. glDepthRangeArraydvNV := gl_GetProc('glDepthRangeArraydvNV');
  7097. glDepthRangeIndexeddNV := gl_GetProc('glDepthRangeIndexeddNV');
  7098. end;
  7099. {$EndIf}
  7100. {$IfDef GL_ARB_window_pos}
  7101. if GL_ARB_window_pos then
  7102. begin
  7103. glWindowPos2dARB := gl_GetProc('glWindowPos2dARB');
  7104. glWindowPos2dvARB := gl_GetProc('glWindowPos2dvARB');
  7105. glWindowPos2fARB := gl_GetProc('glWindowPos2fARB');
  7106. glWindowPos2fvARB := gl_GetProc('glWindowPos2fvARB');
  7107. glWindowPos2iARB := gl_GetProc('glWindowPos2iARB');
  7108. glWindowPos2ivARB := gl_GetProc('glWindowPos2ivARB');
  7109. glWindowPos2sARB := gl_GetProc('glWindowPos2sARB');
  7110. glWindowPos2svARB := gl_GetProc('glWindowPos2svARB');
  7111. glWindowPos3dARB := gl_GetProc('glWindowPos3dARB');
  7112. glWindowPos3dvARB := gl_GetProc('glWindowPos3dvARB');
  7113. glWindowPos3fARB := gl_GetProc('glWindowPos3fARB');
  7114. glWindowPos3fvARB := gl_GetProc('glWindowPos3fvARB');
  7115. glWindowPos3iARB := gl_GetProc('glWindowPos3iARB');
  7116. glWindowPos3ivARB := gl_GetProc('glWindowPos3ivARB');
  7117. glWindowPos3sARB := gl_GetProc('glWindowPos3sARB');
  7118. glWindowPos3svARB := gl_GetProc('glWindowPos3svARB');
  7119. end;
  7120. {$EndIf}
  7121. {$IfDef GL_KHR_blend_equation_advanced}
  7122. if GL_KHR_blend_equation_advanced then
  7123. glBlendBarrierKHR := gl_GetProc('glBlendBarrierKHR');
  7124. {$EndIf}
  7125. {$IfDef GL_KHR_parallel_shader_compile}
  7126. if GL_KHR_parallel_shader_compile then
  7127. glMaxShaderCompilerThreadsKHR := gl_GetProc('glMaxShaderCompilerThreadsKHR');
  7128. {$EndIf}
  7129. {$IfDef GL_OES_byte_coordinates}
  7130. if GL_OES_byte_coordinates then
  7131. begin
  7132. glMultiTexCoord1bOES := gl_GetProc('glMultiTexCoord1bOES');
  7133. glMultiTexCoord1bvOES := gl_GetProc('glMultiTexCoord1bvOES');
  7134. glMultiTexCoord2bOES := gl_GetProc('glMultiTexCoord2bOES');
  7135. glMultiTexCoord2bvOES := gl_GetProc('glMultiTexCoord2bvOES');
  7136. glMultiTexCoord3bOES := gl_GetProc('glMultiTexCoord3bOES');
  7137. glMultiTexCoord3bvOES := gl_GetProc('glMultiTexCoord3bvOES');
  7138. glMultiTexCoord4bOES := gl_GetProc('glMultiTexCoord4bOES');
  7139. glMultiTexCoord4bvOES := gl_GetProc('glMultiTexCoord4bvOES');
  7140. glTexCoord1bOES := gl_GetProc('glTexCoord1bOES');
  7141. glTexCoord1bvOES := gl_GetProc('glTexCoord1bvOES');
  7142. glTexCoord2bOES := gl_GetProc('glTexCoord2bOES');
  7143. glTexCoord2bvOES := gl_GetProc('glTexCoord2bvOES');
  7144. glTexCoord3bOES := gl_GetProc('glTexCoord3bOES');
  7145. glTexCoord3bvOES := gl_GetProc('glTexCoord3bvOES');
  7146. glTexCoord4bOES := gl_GetProc('glTexCoord4bOES');
  7147. glTexCoord4bvOES := gl_GetProc('glTexCoord4bvOES');
  7148. glVertex2bOES := gl_GetProc('glVertex2bOES');
  7149. glVertex2bvOES := gl_GetProc('glVertex2bvOES');
  7150. glVertex3bOES := gl_GetProc('glVertex3bOES');
  7151. glVertex3bvOES := gl_GetProc('glVertex3bvOES');
  7152. glVertex4bOES := gl_GetProc('glVertex4bOES');
  7153. glVertex4bvOES := gl_GetProc('glVertex4bvOES');
  7154. end;
  7155. {$EndIf}
  7156. {$IfDef GL_OES_fixed_point}
  7157. if GL_OES_fixed_point then
  7158. begin
  7159. glAlphaFuncxOES := gl_GetProc('glAlphaFuncxOES');
  7160. glClearColorxOES := gl_GetProc('glClearColorxOES');
  7161. glClearDepthxOES := gl_GetProc('glClearDepthxOES');
  7162. glClipPlanexOES := gl_GetProc('glClipPlanexOES');
  7163. glColor4xOES := gl_GetProc('glColor4xOES');
  7164. glDepthRangexOES := gl_GetProc('glDepthRangexOES');
  7165. glFogxOES := gl_GetProc('glFogxOES');
  7166. glFogxvOES := gl_GetProc('glFogxvOES');
  7167. glFrustumxOES := gl_GetProc('glFrustumxOES');
  7168. glGetClipPlanexOES := gl_GetProc('glGetClipPlanexOES');
  7169. glGetFixedvOES := gl_GetProc('glGetFixedvOES');
  7170. glGetTexEnvxvOES := gl_GetProc('glGetTexEnvxvOES');
  7171. glGetTexParameterxvOES := gl_GetProc('glGetTexParameterxvOES');
  7172. glLightModelxOES := gl_GetProc('glLightModelxOES');
  7173. glLightModelxvOES := gl_GetProc('glLightModelxvOES');
  7174. glLightxOES := gl_GetProc('glLightxOES');
  7175. glLightxvOES := gl_GetProc('glLightxvOES');
  7176. glLineWidthxOES := gl_GetProc('glLineWidthxOES');
  7177. glLoadMatrixxOES := gl_GetProc('glLoadMatrixxOES');
  7178. glMaterialxOES := gl_GetProc('glMaterialxOES');
  7179. glMaterialxvOES := gl_GetProc('glMaterialxvOES');
  7180. glMultMatrixxOES := gl_GetProc('glMultMatrixxOES');
  7181. glMultiTexCoord4xOES := gl_GetProc('glMultiTexCoord4xOES');
  7182. glNormal3xOES := gl_GetProc('glNormal3xOES');
  7183. glOrthoxOES := gl_GetProc('glOrthoxOES');
  7184. glPointParameterxvOES := gl_GetProc('glPointParameterxvOES');
  7185. glPointSizexOES := gl_GetProc('glPointSizexOES');
  7186. glPolygonOffsetxOES := gl_GetProc('glPolygonOffsetxOES');
  7187. glRotatexOES := gl_GetProc('glRotatexOES');
  7188. glScalexOES := gl_GetProc('glScalexOES');
  7189. glTexEnvxOES := gl_GetProc('glTexEnvxOES');
  7190. glTexEnvxvOES := gl_GetProc('glTexEnvxvOES');
  7191. glTexParameterxOES := gl_GetProc('glTexParameterxOES');
  7192. glTexParameterxvOES := gl_GetProc('glTexParameterxvOES');
  7193. glTranslatexOES := gl_GetProc('glTranslatexOES');
  7194. glAccumxOES := gl_GetProc('glAccumxOES');
  7195. glBitmapxOES := gl_GetProc('glBitmapxOES');
  7196. glBlendColorxOES := gl_GetProc('glBlendColorxOES');
  7197. glClearAccumxOES := gl_GetProc('glClearAccumxOES');
  7198. glColor3xOES := gl_GetProc('glColor3xOES');
  7199. glColor3xvOES := gl_GetProc('glColor3xvOES');
  7200. glColor4xvOES := gl_GetProc('glColor4xvOES');
  7201. glConvolutionParameterxOES := gl_GetProc('glConvolutionParameterxOES');
  7202. glConvolutionParameterxvOES := gl_GetProc('glConvolutionParameterxvOES');
  7203. glEvalCoord1xOES := gl_GetProc('glEvalCoord1xOES');
  7204. glEvalCoord1xvOES := gl_GetProc('glEvalCoord1xvOES');
  7205. glEvalCoord2xOES := gl_GetProc('glEvalCoord2xOES');
  7206. glEvalCoord2xvOES := gl_GetProc('glEvalCoord2xvOES');
  7207. glFeedbackBufferxOES := gl_GetProc('glFeedbackBufferxOES');
  7208. glGetConvolutionParameterxvOES := gl_GetProc('glGetConvolutionParameterxvOES');
  7209. glGetHistogramParameterxvOES := gl_GetProc('glGetHistogramParameterxvOES');
  7210. glGetLightxOES := gl_GetProc('glGetLightxOES');
  7211. glGetMapxvOES := gl_GetProc('glGetMapxvOES');
  7212. glGetMaterialxOES := gl_GetProc('glGetMaterialxOES');
  7213. glGetPixelMapxv := gl_GetProc('glGetPixelMapxv');
  7214. glGetTexGenxvOES := gl_GetProc('glGetTexGenxvOES');
  7215. glGetTexLevelParameterxvOES := gl_GetProc('glGetTexLevelParameterxvOES');
  7216. glIndexxOES := gl_GetProc('glIndexxOES');
  7217. glIndexxvOES := gl_GetProc('glIndexxvOES');
  7218. glLoadTransposeMatrixxOES := gl_GetProc('glLoadTransposeMatrixxOES');
  7219. glMap1xOES := gl_GetProc('glMap1xOES');
  7220. glMap2xOES := gl_GetProc('glMap2xOES');
  7221. glMapGrid1xOES := gl_GetProc('glMapGrid1xOES');
  7222. glMapGrid2xOES := gl_GetProc('glMapGrid2xOES');
  7223. glMultTransposeMatrixxOES := gl_GetProc('glMultTransposeMatrixxOES');
  7224. glMultiTexCoord1xOES := gl_GetProc('glMultiTexCoord1xOES');
  7225. glMultiTexCoord1xvOES := gl_GetProc('glMultiTexCoord1xvOES');
  7226. glMultiTexCoord2xOES := gl_GetProc('glMultiTexCoord2xOES');
  7227. glMultiTexCoord2xvOES := gl_GetProc('glMultiTexCoord2xvOES');
  7228. glMultiTexCoord3xOES := gl_GetProc('glMultiTexCoord3xOES');
  7229. glMultiTexCoord3xvOES := gl_GetProc('glMultiTexCoord3xvOES');
  7230. glMultiTexCoord4xvOES := gl_GetProc('glMultiTexCoord4xvOES');
  7231. glNormal3xvOES := gl_GetProc('glNormal3xvOES');
  7232. glPassThroughxOES := gl_GetProc('glPassThroughxOES');
  7233. glPixelMapx := gl_GetProc('glPixelMapx');
  7234. glPixelStorex := gl_GetProc('glPixelStorex');
  7235. glPixelTransferxOES := gl_GetProc('glPixelTransferxOES');
  7236. glPixelZoomxOES := gl_GetProc('glPixelZoomxOES');
  7237. glPrioritizeTexturesxOES := gl_GetProc('glPrioritizeTexturesxOES');
  7238. glRasterPos2xOES := gl_GetProc('glRasterPos2xOES');
  7239. glRasterPos2xvOES := gl_GetProc('glRasterPos2xvOES');
  7240. glRasterPos3xOES := gl_GetProc('glRasterPos3xOES');
  7241. glRasterPos3xvOES := gl_GetProc('glRasterPos3xvOES');
  7242. glRasterPos4xOES := gl_GetProc('glRasterPos4xOES');
  7243. glRasterPos4xvOES := gl_GetProc('glRasterPos4xvOES');
  7244. glRectxOES := gl_GetProc('glRectxOES');
  7245. glRectxvOES := gl_GetProc('glRectxvOES');
  7246. glTexCoord1xOES := gl_GetProc('glTexCoord1xOES');
  7247. glTexCoord1xvOES := gl_GetProc('glTexCoord1xvOES');
  7248. glTexCoord2xOES := gl_GetProc('glTexCoord2xOES');
  7249. glTexCoord2xvOES := gl_GetProc('glTexCoord2xvOES');
  7250. glTexCoord3xOES := gl_GetProc('glTexCoord3xOES');
  7251. glTexCoord3xvOES := gl_GetProc('glTexCoord3xvOES');
  7252. glTexCoord4xOES := gl_GetProc('glTexCoord4xOES');
  7253. glTexCoord4xvOES := gl_GetProc('glTexCoord4xvOES');
  7254. glTexGenxOES := gl_GetProc('glTexGenxOES');
  7255. glTexGenxvOES := gl_GetProc('glTexGenxvOES');
  7256. glVertex2xOES := gl_GetProc('glVertex2xOES');
  7257. glVertex2xvOES := gl_GetProc('glVertex2xvOES');
  7258. glVertex3xOES := gl_GetProc('glVertex3xOES');
  7259. glVertex3xvOES := gl_GetProc('glVertex3xvOES');
  7260. glVertex4xOES := gl_GetProc('glVertex4xOES');
  7261. glVertex4xvOES := gl_GetProc('glVertex4xvOES');
  7262. end;
  7263. {$EndIf}
  7264. {$IfDef GL_OES_query_matrix}
  7265. if GL_OES_query_matrix then
  7266. glQueryMatrixxOES := gl_GetProc('glQueryMatrixxOES');
  7267. {$EndIf}
  7268. {$IfDef GL_OES_single_precision}
  7269. if GL_OES_single_precision then
  7270. begin
  7271. glClearDepthfOES := gl_GetProc('glClearDepthfOES');
  7272. glClipPlanefOES := gl_GetProc('glClipPlanefOES');
  7273. glDepthRangefOES := gl_GetProc('glDepthRangefOES');
  7274. glFrustumfOES := gl_GetProc('glFrustumfOES');
  7275. glGetClipPlanefOES := gl_GetProc('glGetClipPlanefOES');
  7276. glOrthofOES := gl_GetProc('glOrthofOES');
  7277. end;
  7278. {$EndIf}
  7279. {$IfDef GL_3DFX_tbuffer}
  7280. if GL_3DFX_tbuffer then
  7281. glTbufferMask3DFX := gl_GetProc('glTbufferMask3DFX');
  7282. {$EndIf}
  7283. {$IfDef GL_AMD_debug_output}
  7284. if GL_AMD_debug_output then
  7285. begin
  7286. glDebugMessageEnableAMD := gl_GetProc('glDebugMessageEnableAMD');
  7287. glDebugMessageInsertAMD := gl_GetProc('glDebugMessageInsertAMD');
  7288. glDebugMessageCallbackAMD := gl_GetProc('glDebugMessageCallbackAMD');
  7289. glGetDebugMessageLogAMD := gl_GetProc('glGetDebugMessageLogAMD');
  7290. end;
  7291. {$EndIf}
  7292. {$IfDef GL_AMD_draw_buffers_blend}
  7293. if GL_AMD_draw_buffers_blend then
  7294. begin
  7295. glBlendFuncIndexedAMD := gl_GetProc('glBlendFuncIndexedAMD');
  7296. glBlendFuncSeparateIndexedAMD := gl_GetProc('glBlendFuncSeparateIndexedAMD');
  7297. glBlendEquationIndexedAMD := gl_GetProc('glBlendEquationIndexedAMD');
  7298. glBlendEquationSeparateIndexedAMD := gl_GetProc('glBlendEquationSeparateIndexedAMD');
  7299. end;
  7300. {$EndIf}
  7301. {$IfDef GL_AMD_framebuffer_multisample_advanced}
  7302. if GL_AMD_framebuffer_multisample_advanced then
  7303. begin
  7304. glRenderbufferStorageMultisampleAdvancedAMD := gl_GetProc('glRenderbufferStorageMultisampleAdvancedAMD');
  7305. glNamedRenderbufferStorageMultisampleAdvancedAMD := gl_GetProc('glNamedRenderbufferStorageMultisampleAdvancedAMD');
  7306. end;
  7307. {$EndIf}
  7308. {$IfDef GL_AMD_framebuffer_sample_positions}
  7309. if GL_AMD_framebuffer_sample_positions then
  7310. begin
  7311. glFramebufferSamplePositionsfvAMD := gl_GetProc('glFramebufferSamplePositionsfvAMD');
  7312. glNamedFramebufferSamplePositionsfvAMD := gl_GetProc('glNamedFramebufferSamplePositionsfvAMD');
  7313. glGetFramebufferParameterfvAMD := gl_GetProc('glGetFramebufferParameterfvAMD');
  7314. glGetNamedFramebufferParameterfvAMD := gl_GetProc('glGetNamedFramebufferParameterfvAMD');
  7315. end;
  7316. {$EndIf}
  7317. {$If defined(GL_AMD_gpu_shader_int64) or defined(GL_NV_gpu_shader5)}
  7318. if GL_AMD_gpu_shader_int64 or GL_NV_gpu_shader5 then
  7319. begin
  7320. glUniform1i64NV := gl_GetProc('glUniform1i64NV');
  7321. glUniform2i64NV := gl_GetProc('glUniform2i64NV');
  7322. glUniform3i64NV := gl_GetProc('glUniform3i64NV');
  7323. glUniform4i64NV := gl_GetProc('glUniform4i64NV');
  7324. glUniform1i64vNV := gl_GetProc('glUniform1i64vNV');
  7325. glUniform2i64vNV := gl_GetProc('glUniform2i64vNV');
  7326. glUniform3i64vNV := gl_GetProc('glUniform3i64vNV');
  7327. glUniform4i64vNV := gl_GetProc('glUniform4i64vNV');
  7328. glUniform1ui64NV := gl_GetProc('glUniform1ui64NV');
  7329. glUniform2ui64NV := gl_GetProc('glUniform2ui64NV');
  7330. glUniform3ui64NV := gl_GetProc('glUniform3ui64NV');
  7331. glUniform4ui64NV := gl_GetProc('glUniform4ui64NV');
  7332. glUniform1ui64vNV := gl_GetProc('glUniform1ui64vNV');
  7333. glUniform2ui64vNV := gl_GetProc('glUniform2ui64vNV');
  7334. glUniform3ui64vNV := gl_GetProc('glUniform3ui64vNV');
  7335. glUniform4ui64vNV := gl_GetProc('glUniform4ui64vNV');
  7336. glGetUniformi64vNV := gl_GetProc('glGetUniformi64vNV');
  7337. glProgramUniform1i64NV := gl_GetProc('glProgramUniform1i64NV');
  7338. glProgramUniform2i64NV := gl_GetProc('glProgramUniform2i64NV');
  7339. glProgramUniform3i64NV := gl_GetProc('glProgramUniform3i64NV');
  7340. glProgramUniform4i64NV := gl_GetProc('glProgramUniform4i64NV');
  7341. glProgramUniform1i64vNV := gl_GetProc('glProgramUniform1i64vNV');
  7342. glProgramUniform2i64vNV := gl_GetProc('glProgramUniform2i64vNV');
  7343. glProgramUniform3i64vNV := gl_GetProc('glProgramUniform3i64vNV');
  7344. glProgramUniform4i64vNV := gl_GetProc('glProgramUniform4i64vNV');
  7345. glProgramUniform1ui64NV := gl_GetProc('glProgramUniform1ui64NV');
  7346. glProgramUniform2ui64NV := gl_GetProc('glProgramUniform2ui64NV');
  7347. glProgramUniform3ui64NV := gl_GetProc('glProgramUniform3ui64NV');
  7348. glProgramUniform4ui64NV := gl_GetProc('glProgramUniform4ui64NV');
  7349. glProgramUniform1ui64vNV := gl_GetProc('glProgramUniform1ui64vNV');
  7350. glProgramUniform2ui64vNV := gl_GetProc('glProgramUniform2ui64vNV');
  7351. glProgramUniform3ui64vNV := gl_GetProc('glProgramUniform3ui64vNV');
  7352. glProgramUniform4ui64vNV := gl_GetProc('glProgramUniform4ui64vNV');
  7353. end;
  7354. {$IfEnd}
  7355. {$If defined(GL_AMD_gpu_shader_int64) or defined(GL_NV_shader_buffer_load)}
  7356. if GL_AMD_gpu_shader_int64 or GL_NV_shader_buffer_load then
  7357. glGetUniformui64vNV := gl_GetProc('glGetUniformui64vNV');
  7358. {$IfEnd}
  7359. {$IfDef GL_AMD_interleaved_elements}
  7360. if GL_AMD_interleaved_elements then
  7361. glVertexAttribParameteriAMD := gl_GetProc('glVertexAttribParameteriAMD');
  7362. {$EndIf}
  7363. {$IfDef GL_AMD_multi_draw_indirect}
  7364. if GL_AMD_multi_draw_indirect then
  7365. begin
  7366. glMultiDrawArraysIndirectAMD := gl_GetProc('glMultiDrawArraysIndirectAMD');
  7367. glMultiDrawElementsIndirectAMD := gl_GetProc('glMultiDrawElementsIndirectAMD');
  7368. end;
  7369. {$EndIf}
  7370. {$IfDef GL_AMD_name_gen_delete}
  7371. if GL_AMD_name_gen_delete then
  7372. begin
  7373. glGenNamesAMD := gl_GetProc('glGenNamesAMD');
  7374. glDeleteNamesAMD := gl_GetProc('glDeleteNamesAMD');
  7375. glIsNameAMD := gl_GetProc('glIsNameAMD');
  7376. end;
  7377. {$EndIf}
  7378. {$IfDef GL_AMD_occlusion_query_event}
  7379. if GL_AMD_occlusion_query_event then
  7380. glQueryObjectParameteruiAMD := gl_GetProc('glQueryObjectParameteruiAMD');
  7381. {$EndIf}
  7382. {$IfDef GL_AMD_performance_monitor}
  7383. if GL_AMD_performance_monitor then
  7384. begin
  7385. glGetPerfMonitorGroupsAMD := gl_GetProc('glGetPerfMonitorGroupsAMD');
  7386. glGetPerfMonitorCountersAMD := gl_GetProc('glGetPerfMonitorCountersAMD');
  7387. glGetPerfMonitorGroupStringAMD := gl_GetProc('glGetPerfMonitorGroupStringAMD');
  7388. glGetPerfMonitorCounterStringAMD := gl_GetProc('glGetPerfMonitorCounterStringAMD');
  7389. glGetPerfMonitorCounterInfoAMD := gl_GetProc('glGetPerfMonitorCounterInfoAMD');
  7390. glGenPerfMonitorsAMD := gl_GetProc('glGenPerfMonitorsAMD');
  7391. glDeletePerfMonitorsAMD := gl_GetProc('glDeletePerfMonitorsAMD');
  7392. glSelectPerfMonitorCountersAMD := gl_GetProc('glSelectPerfMonitorCountersAMD');
  7393. glBeginPerfMonitorAMD := gl_GetProc('glBeginPerfMonitorAMD');
  7394. glEndPerfMonitorAMD := gl_GetProc('glEndPerfMonitorAMD');
  7395. glGetPerfMonitorCounterDataAMD := gl_GetProc('glGetPerfMonitorCounterDataAMD');
  7396. end;
  7397. {$EndIf}
  7398. {$IfDef GL_AMD_sample_positions}
  7399. if GL_AMD_sample_positions then
  7400. glSetMultisamplefvAMD := gl_GetProc('glSetMultisamplefvAMD');
  7401. {$EndIf}
  7402. {$IfDef GL_AMD_sparse_texture}
  7403. if GL_AMD_sparse_texture then
  7404. begin
  7405. glTexStorageSparseAMD := gl_GetProc('glTexStorageSparseAMD');
  7406. glTextureStorageSparseAMD := gl_GetProc('glTextureStorageSparseAMD');
  7407. end;
  7408. {$EndIf}
  7409. {$IfDef GL_AMD_stencil_operation_extended}
  7410. if GL_AMD_stencil_operation_extended then
  7411. glStencilOpValueAMD := gl_GetProc('glStencilOpValueAMD');
  7412. {$EndIf}
  7413. {$IfDef GL_AMD_vertex_shader_tessellator}
  7414. if GL_AMD_vertex_shader_tessellator then
  7415. begin
  7416. glTessellationFactorAMD := gl_GetProc('glTessellationFactorAMD');
  7417. glTessellationModeAMD := gl_GetProc('glTessellationModeAMD');
  7418. end;
  7419. {$EndIf}
  7420. {$IfDef GL_APPLE_element_array}
  7421. if GL_APPLE_element_array then
  7422. begin
  7423. glElementPointerAPPLE := gl_GetProc('glElementPointerAPPLE');
  7424. glDrawElementArrayAPPLE := gl_GetProc('glDrawElementArrayAPPLE');
  7425. glDrawRangeElementArrayAPPLE := gl_GetProc('glDrawRangeElementArrayAPPLE');
  7426. glMultiDrawElementArrayAPPLE := gl_GetProc('glMultiDrawElementArrayAPPLE');
  7427. glMultiDrawRangeElementArrayAPPLE := gl_GetProc('glMultiDrawRangeElementArrayAPPLE');
  7428. end;
  7429. {$EndIf}
  7430. {$IfDef GL_APPLE_fence}
  7431. if GL_APPLE_fence then
  7432. begin
  7433. glGenFencesAPPLE := gl_GetProc('glGenFencesAPPLE');
  7434. glDeleteFencesAPPLE := gl_GetProc('glDeleteFencesAPPLE');
  7435. glSetFenceAPPLE := gl_GetProc('glSetFenceAPPLE');
  7436. glIsFenceAPPLE := gl_GetProc('glIsFenceAPPLE');
  7437. glTestFenceAPPLE := gl_GetProc('glTestFenceAPPLE');
  7438. glFinishFenceAPPLE := gl_GetProc('glFinishFenceAPPLE');
  7439. glTestObjectAPPLE := gl_GetProc('glTestObjectAPPLE');
  7440. glFinishObjectAPPLE := gl_GetProc('glFinishObjectAPPLE');
  7441. end;
  7442. {$EndIf}
  7443. {$IfDef GL_APPLE_flush_buffer_range}
  7444. if GL_APPLE_flush_buffer_range then
  7445. begin
  7446. glBufferParameteriAPPLE := gl_GetProc('glBufferParameteriAPPLE');
  7447. glFlushMappedBufferRangeAPPLE := gl_GetProc('glFlushMappedBufferRangeAPPLE');
  7448. end;
  7449. {$EndIf}
  7450. {$IfDef GL_APPLE_object_purgeable}
  7451. if GL_APPLE_object_purgeable then
  7452. begin
  7453. glObjectPurgeableAPPLE := gl_GetProc('glObjectPurgeableAPPLE');
  7454. glObjectUnpurgeableAPPLE := gl_GetProc('glObjectUnpurgeableAPPLE');
  7455. glGetObjectParameterivAPPLE := gl_GetProc('glGetObjectParameterivAPPLE');
  7456. end;
  7457. {$EndIf}
  7458. {$IfDef GL_APPLE_texture_range}
  7459. if GL_APPLE_texture_range then
  7460. begin
  7461. glTextureRangeAPPLE := gl_GetProc('glTextureRangeAPPLE');
  7462. glGetTexParameterPointervAPPLE := gl_GetProc('glGetTexParameterPointervAPPLE');
  7463. end;
  7464. {$EndIf}
  7465. {$IfDef GL_APPLE_vertex_array_object}
  7466. if GL_APPLE_vertex_array_object then
  7467. begin
  7468. glBindVertexArrayAPPLE := gl_GetProc('glBindVertexArrayAPPLE');
  7469. glDeleteVertexArraysAPPLE := gl_GetProc('glDeleteVertexArraysAPPLE');
  7470. glGenVertexArraysAPPLE := gl_GetProc('glGenVertexArraysAPPLE');
  7471. functionglIsVertexArrayAPPLE := gl_GetProc('functionglIsVertexArrayAPPLE');
  7472. end;
  7473. {$EndIf}
  7474. {$IfDef GL_APPLE_vertex_array_range}
  7475. if GL_APPLE_vertex_array_range then
  7476. begin
  7477. glVertexArrayRangeAPPLE := gl_GetProc('glVertexArrayRangeAPPLE');
  7478. glFlushVertexArrayRangeAPPLE := gl_GetProc('glFlushVertexArrayRangeAPPLE');
  7479. glVertexArrayParameteriAPPLE := gl_GetProc('glVertexArrayParameteriAPPLE');
  7480. end;
  7481. {$EndIf}
  7482. {$IfDef GL_APPLE_vertex_program_evaluators}
  7483. if GL_APPLE_vertex_program_evaluators then
  7484. begin
  7485. glEnableVertexAttribAPPLE := gl_GetProc('glEnableVertexAttribAPPLE');
  7486. glDisableVertexAttribAPPLE := gl_GetProc('glDisableVertexAttribAPPLE');
  7487. glIsVertexAttribEnabledAPPLE := gl_GetProc('glIsVertexAttribEnabledAPPLE');
  7488. glMapVertexAttrib1dAPPLE := gl_GetProc('glMapVertexAttrib1dAPPLE');
  7489. glMapVertexAttrib1fAPPLE := gl_GetProc('glMapVertexAttrib1fAPPLE');
  7490. glMapVertexAttrib2dAPPLE := gl_GetProc('glMapVertexAttrib2dAPPLE');
  7491. glMapVertexAttrib2fAPPLE := gl_GetProc('glMapVertexAttrib2fAPPLE');
  7492. end;
  7493. {$EndIf}
  7494. {$IfDef GL_ATI_draw_buffers}
  7495. if GL_ATI_draw_buffers then
  7496. glDrawBuffersATI := gl_GetProc('glDrawBuffersATI');
  7497. {$EndIf}
  7498. {$IfDef GL_ATI_element_array}
  7499. if GL_ATI_element_array then
  7500. begin
  7501. glElementPointerATI := gl_GetProc('glElementPointerATI');
  7502. glDrawElementArrayATI := gl_GetProc('glDrawElementArrayATI');
  7503. glDrawRangeElementArrayATI := gl_GetProc('glDrawRangeElementArrayATI');
  7504. end;
  7505. {$EndIf}
  7506. {$IfDef GL_ATI_envmap_bumpmap}
  7507. if GL_ATI_envmap_bumpmap then
  7508. begin
  7509. glTexBumpParameterivATI := gl_GetProc('glTexBumpParameterivATI');
  7510. glTexBumpParameterfvATI := gl_GetProc('glTexBumpParameterfvATI');
  7511. glGetTexBumpParameterivATI := gl_GetProc('glGetTexBumpParameterivATI');
  7512. glGetTexBumpParameterfvATI := gl_GetProc('glGetTexBumpParameterfvATI');
  7513. end;
  7514. {$EndIf}
  7515. {$IfDef GL_ATI_fragment_shader}
  7516. if GL_ATI_fragment_shader then
  7517. begin
  7518. glGenFragmentShadersATI := gl_GetProc('glGenFragmentShadersATI');
  7519. glBindFragmentShaderATI := gl_GetProc('glBindFragmentShaderATI');
  7520. glDeleteFragmentShaderATI := gl_GetProc('glDeleteFragmentShaderATI');
  7521. glBeginFragmentShaderATI := gl_GetProc('glBeginFragmentShaderATI');
  7522. glEndFragmentShaderATI := gl_GetProc('glEndFragmentShaderATI');
  7523. glPassTexCoordATI := gl_GetProc('glPassTexCoordATI');
  7524. glSampleMapATI := gl_GetProc('glSampleMapATI');
  7525. glColorFragmentOp1ATI := gl_GetProc('glColorFragmentOp1ATI');
  7526. glColorFragmentOp2ATI := gl_GetProc('glColorFragmentOp2ATI');
  7527. glColorFragmentOp3ATI := gl_GetProc('glColorFragmentOp3ATI');
  7528. glAlphaFragmentOp1ATI := gl_GetProc('glAlphaFragmentOp1ATI');
  7529. glAlphaFragmentOp2ATI := gl_GetProc('glAlphaFragmentOp2ATI');
  7530. glAlphaFragmentOp3ATI := gl_GetProc('glAlphaFragmentOp3ATI');
  7531. glSetFragmentShaderConstantATI := gl_GetProc('glSetFragmentShaderConstantATI');
  7532. end;
  7533. {$EndIf}
  7534. {$IfDef GL_ATI_map_object_buffer}
  7535. if GL_ATI_map_object_buffer then
  7536. begin
  7537. glMapObjectBufferATI := gl_GetProc('glMapObjectBufferATI');
  7538. glUnmapObjectBufferATI := gl_GetProc('glUnmapObjectBufferATI');
  7539. end;
  7540. {$EndIf}
  7541. {$IfDef GL_ATI_pn_triangles}
  7542. if GL_ATI_pn_triangles then
  7543. begin
  7544. glPNTrianglesiATI := gl_GetProc('glPNTrianglesiATI');
  7545. glPNTrianglesfATI := gl_GetProc('glPNTrianglesfATI');
  7546. end;
  7547. {$EndIf}
  7548. {$IfDef GL_ATI_separate_stencil}
  7549. if GL_ATI_separate_stencil then
  7550. begin
  7551. glStencilOpSeparateATI := gl_GetProc('glStencilOpSeparateATI');
  7552. glStencilFuncSeparateATI := gl_GetProc('glStencilFuncSeparateATI');
  7553. end;
  7554. {$EndIf}
  7555. {$IfDef GL_ATI_vertex_array_object}
  7556. if GL_ATI_vertex_array_object then
  7557. begin
  7558. glNewObjectBufferATI := gl_GetProc('glNewObjectBufferATI');
  7559. glIsObjectBufferATI := gl_GetProc('glIsObjectBufferATI');
  7560. glUpdateObjectBufferATI := gl_GetProc('glUpdateObjectBufferATI');
  7561. glGetObjectBufferfvATI := gl_GetProc('glGetObjectBufferfvATI');
  7562. glGetObjectBufferivATI := gl_GetProc('glGetObjectBufferivATI');
  7563. glFreeObjectBufferATI := gl_GetProc('glFreeObjectBufferATI');
  7564. glArrayObjectATI := gl_GetProc('glArrayObjectATI');
  7565. glGetArrayObjectfvATI := gl_GetProc('glGetArrayObjectfvATI');
  7566. glGetArrayObjectivATI := gl_GetProc('glGetArrayObjectivATI');
  7567. glVariantArrayObjectATI := gl_GetProc('glVariantArrayObjectATI');
  7568. glGetVariantArrayObjectfvATI := gl_GetProc('glGetVariantArrayObjectfvATI');
  7569. glGetVariantArrayObjectivATI := gl_GetProc('glGetVariantArrayObjectivATI');
  7570. end;
  7571. {$EndIf}
  7572. {$IfDef GL_ATI_vertex_attrib_array_object}
  7573. if GL_ATI_vertex_attrib_array_object then
  7574. begin
  7575. glVertexAttribArrayObjectATI := gl_GetProc('glVertexAttribArrayObjectATI');
  7576. glGetVertexAttribArrayObjectfvATI := gl_GetProc('glGetVertexAttribArrayObjectfvATI');
  7577. glGetVertexAttribArrayObjectivATI := gl_GetProc('glGetVertexAttribArrayObjectivATI');
  7578. end;
  7579. {$EndIf}
  7580. {$IfDef GL_ATI_vertex_streams}
  7581. if GL_ATI_vertex_streams then
  7582. begin
  7583. glVertexStream1sATI := gl_GetProc('glVertexStream1sATI');
  7584. glVertexStream1svATI := gl_GetProc('glVertexStream1svATI');
  7585. glVertexStream1iATI := gl_GetProc('glVertexStream1iATI');
  7586. glVertexStream1ivATI := gl_GetProc('glVertexStream1ivATI');
  7587. glVertexStream1fATI := gl_GetProc('glVertexStream1fATI');
  7588. glVertexStream1fvATI := gl_GetProc('glVertexStream1fvATI');
  7589. glVertexStream1dATI := gl_GetProc('glVertexStream1dATI');
  7590. glVertexStream1dvATI := gl_GetProc('glVertexStream1dvATI');
  7591. glVertexStream2sATI := gl_GetProc('glVertexStream2sATI');
  7592. glVertexStream2svATI := gl_GetProc('glVertexStream2svATI');
  7593. glVertexStream2iATI := gl_GetProc('glVertexStream2iATI');
  7594. glVertexStream2ivATI := gl_GetProc('glVertexStream2ivATI');
  7595. glVertexStream2fATI := gl_GetProc('glVertexStream2fATI');
  7596. glVertexStream2fvATI := gl_GetProc('glVertexStream2fvATI');
  7597. glVertexStream2dATI := gl_GetProc('glVertexStream2dATI');
  7598. glVertexStream2dvATI := gl_GetProc('glVertexStream2dvATI');
  7599. glVertexStream3sATI := gl_GetProc('glVertexStream3sATI');
  7600. glVertexStream3svATI := gl_GetProc('glVertexStream3svATI');
  7601. glVertexStream3iATI := gl_GetProc('glVertexStream3iATI');
  7602. glVertexStream3ivATI := gl_GetProc('glVertexStream3ivATI');
  7603. glVertexStream3fATI := gl_GetProc('glVertexStream3fATI');
  7604. glVertexStream3fvATI := gl_GetProc('glVertexStream3fvATI');
  7605. glVertexStream3dATI := gl_GetProc('glVertexStream3dATI');
  7606. glVertexStream3dvATI := gl_GetProc('glVertexStream3dvATI');
  7607. glVertexStream4sATI := gl_GetProc('glVertexStream4sATI');
  7608. glVertexStream4svATI := gl_GetProc('glVertexStream4svATI');
  7609. glVertexStream4iATI := gl_GetProc('glVertexStream4iATI');
  7610. glVertexStream4ivATI := gl_GetProc('glVertexStream4ivATI');
  7611. glVertexStream4fATI := gl_GetProc('glVertexStream4fATI');
  7612. glVertexStream4fvATI := gl_GetProc('glVertexStream4fvATI');
  7613. glVertexStream4dATI := gl_GetProc('glVertexStream4dATI');
  7614. glVertexStream4dvATI := gl_GetProc('glVertexStream4dvATI');
  7615. glNormalStream3bATI := gl_GetProc('glNormalStream3bATI');
  7616. glNormalStream3bvATI := gl_GetProc('glNormalStream3bvATI');
  7617. glNormalStream3sATI := gl_GetProc('glNormalStream3sATI');
  7618. glNormalStream3svATI := gl_GetProc('glNormalStream3svATI');
  7619. glNormalStream3iATI := gl_GetProc('glNormalStream3iATI');
  7620. glNormalStream3ivATI := gl_GetProc('glNormalStream3ivATI');
  7621. glNormalStream3fATI := gl_GetProc('glNormalStream3fATI');
  7622. glNormalStream3fvATI := gl_GetProc('glNormalStream3fvATI');
  7623. glNormalStream3dATI := gl_GetProc('glNormalStream3dATI');
  7624. glNormalStream3dvATI := gl_GetProc('glNormalStream3dvATI');
  7625. glClientActiveVertexStreamATI := gl_GetProc('glClientActiveVertexStreamATI');
  7626. glVertexBlendEnviATI := gl_GetProc('glVertexBlendEnviATI');
  7627. glVertexBlendEnvfATI := gl_GetProc('glVertexBlendEnvfATI');
  7628. end;
  7629. {$EndIf}
  7630. {$IfDef GL_EXT_EGL_image_storage}
  7631. if GL_EXT_EGL_image_storage then
  7632. begin
  7633. glEGLImageTargetTexStorageEXT := gl_GetProc('glEGLImageTargetTexStorageEXT');
  7634. glEGLImageTargetTextureStorageEXT := gl_GetProc('glEGLImageTargetTextureStorageEXT');
  7635. end;
  7636. {$EndIf}
  7637. {$IfDef GL_EXT_bindable_uniform}
  7638. if GL_EXT_bindable_uniform then
  7639. begin
  7640. glUniformBufferEXT := gl_GetProc('glUniformBufferEXT');
  7641. glGetUniformBufferSizeEXT := gl_GetProc('glGetUniformBufferSizeEXT');
  7642. glGetUniformOffsetEXT := gl_GetProc('glGetUniformOffsetEXT');
  7643. end;
  7644. {$EndIf}
  7645. {$IfDef GL_EXT_blend_color}
  7646. if GL_EXT_blend_color then
  7647. glBlendColorEXT := gl_GetProc('glBlendColorEXT');
  7648. {$EndIf}
  7649. {$IfDef GL_EXT_blend_equation_separate}
  7650. if GL_EXT_blend_equation_separate then
  7651. glBlendEquationSeparateEXT := gl_GetProc('glBlendEquationSeparateEXT');
  7652. {$EndIf}
  7653. (* {$IfDef GL_EXT_blend_func_separate}
  7654. glBlendFuncSeparateEXT := gl_GetProc('glBlendFuncSeparateEXT');
  7655. {$EndIf}
  7656. {$IfDef GL_EXT_blend_minmax}
  7657. glBlendEquationEXT := gl_GetProc('glBlendEquationEXT');
  7658. {$EndIf} *)
  7659. {$IfDef GL_EXT_color_subtable}
  7660. if GL_EXT_color_subtable then
  7661. begin
  7662. glColorSubTableEXT := gl_GetProc('glColorSubTableEXT');
  7663. glCopyColorSubTableEXT := gl_GetProc('glCopyColorSubTableEXT');
  7664. end;
  7665. {$EndIf}
  7666. {$IfDef GL_EXT_compiled_vertex_array}
  7667. if GL_EXT_compiled_vertex_array then
  7668. begin
  7669. glLockArraysEXT := gl_GetProc('glLockArraysEXT');
  7670. glUnlockArraysEXT := gl_GetProc('glUnlockArraysEXT');
  7671. end;
  7672. {$EndIf}
  7673. {$IfDef GL_EXT_convolution}
  7674. if GL_EXT_convolution then
  7675. begin
  7676. glConvolutionFilter1DEXT := gl_GetProc('glConvolutionFilter1DEXT');
  7677. glConvolutionFilter2DEXT := gl_GetProc('glConvolutionFilter2DEXT');
  7678. glConvolutionParameterfEXT := gl_GetProc('glConvolutionParameterfEXT');
  7679. glConvolutionParameterfvEXT := gl_GetProc('glConvolutionParameterfvEXT');
  7680. glConvolutionParameteriEXT := gl_GetProc('glConvolutionParameteriEXT');
  7681. glConvolutionParameterivEXT := gl_GetProc('glConvolutionParameterivEXT');
  7682. glCopyConvolutionFilter1DEXT := gl_GetProc('glCopyConvolutionFilter1DEXT');
  7683. glCopyConvolutionFilter2DEXT := gl_GetProc('glCopyConvolutionFilter2DEXT');
  7684. glGetConvolutionFilterEXT := gl_GetProc('glGetConvolutionFilterEXT');
  7685. glGetConvolutionParameterfvEXT := gl_GetProc('glGetConvolutionParameterfvEXT');
  7686. glGetConvolutionParameterivEXT := gl_GetProc('glGetConvolutionParameterivEXT');
  7687. glGetSeparableFilterEXT := gl_GetProc('glGetSeparableFilterEXT');
  7688. glSeparableFilter2DEXT := gl_GetProc('glSeparableFilter2DEXT');
  7689. end;
  7690. {$EndIf}
  7691. {$IfDef GL_EXT_coordinate_frame}
  7692. if GL_EXT_coordinate_frame then
  7693. begin
  7694. glTangent3bEXT := gl_GetProc('glTangent3bEXT');
  7695. glTangent3bvEXT := gl_GetProc('glTangent3bvEXT');
  7696. glTangent3dEXT := gl_GetProc('glTangent3dEXT');
  7697. glTangent3dvEXT := gl_GetProc('glTangent3dvEXT');
  7698. glTangent3fEXT := gl_GetProc('glTangent3fEXT');
  7699. glTangent3fvEXT := gl_GetProc('glTangent3fvEXT');
  7700. glTangent3iEXT := gl_GetProc('glTangent3iEXT');
  7701. glTangent3ivEXT := gl_GetProc('glTangent3ivEXT');
  7702. glTangent3sEXT := gl_GetProc('glTangent3sEXT');
  7703. glTangent3svEXT := gl_GetProc('glTangent3svEXT');
  7704. glBinormal3bEXT := gl_GetProc('glBinormal3bEXT');
  7705. glBinormal3bvEXT := gl_GetProc('glBinormal3bvEXT');
  7706. glBinormal3dEXT := gl_GetProc('glBinormal3dEXT');
  7707. glBinormal3dvEXT := gl_GetProc('glBinormal3dvEXT');
  7708. glBinormal3fEXT := gl_GetProc('glBinormal3fEXT');
  7709. glBinormal3fvEXT := gl_GetProc('glBinormal3fvEXT');
  7710. glBinormal3iEXT := gl_GetProc('glBinormal3iEXT');
  7711. glBinormal3ivEXT := gl_GetProc('glBinormal3ivEXT');
  7712. glBinormal3sEXT := gl_GetProc('glBinormal3sEXT');
  7713. glBinormal3svEXT := gl_GetProc('glBinormal3svEXT');
  7714. glTangentPointerEXT := gl_GetProc('glTangentPointerEXT');
  7715. glBinormalPointerEXT := gl_GetProc('glBinormalPointerEXT');
  7716. end;
  7717. {$EndIf}
  7718. {$IfDef GL_EXT_copy_texture}
  7719. if GL_EXT_copy_texture then
  7720. begin
  7721. glCopyTexImage1DEXT := gl_GetProc('glCopyTexImage1DEXT');
  7722. glCopyTexImage2DEXT := gl_GetProc('glCopyTexImage2DEXT');
  7723. glCopyTexSubImage1DEXT := gl_GetProc('glCopyTexSubImage1DEXT');
  7724. glCopyTexSubImage2DEXT := gl_GetProc('glCopyTexSubImage2DEXT');
  7725. glCopyTexSubImage3DEXT := gl_GetProc('glCopyTexSubImage3DEXT');
  7726. end;
  7727. {$EndIf}
  7728. {$IfDef GL_EXT_cull_vertex}
  7729. if GL_EXT_cull_vertex then
  7730. begin
  7731. glCullParameterdvEXT := gl_GetProc('glCullParameterdvEXT');
  7732. glCullParameterfvEXT := gl_GetProc('glCullParameterfvEXT');
  7733. end;
  7734. {$EndIf}
  7735. {$IfDef GL_EXT_debug_label}
  7736. if GL_EXT_debug_label then
  7737. begin
  7738. glLabelObjectEXT := gl_GetProc('glLabelObjectEXT');
  7739. glGetObjectLabelEXT := gl_GetProc('glGetObjectLabelEXT');
  7740. end;
  7741. {$EndIf}
  7742. {$IfDef GL_EXT_debug_marker}
  7743. if GL_EXT_debug_marker then
  7744. begin
  7745. glInsertEventMarkerEXT := gl_GetProc('glInsertEventMarkerEXT');
  7746. glPushGroupMarkerEXT := gl_GetProc('glPushGroupMarkerEXT');
  7747. glPopGroupMarkerEXT := gl_GetProc('glPopGroupMarkerEXT');
  7748. end;
  7749. {$EndIf}
  7750. {$IfDef GL_EXT_depth_bounds_test}
  7751. if GL_EXT_depth_bounds_test then
  7752. glDepthBoundsEXT := gl_GetProc('glDepthBoundsEXT');
  7753. {$EndIf}
  7754. {$IfDef GL_EXT_direct_state_access}
  7755. if GL_EXT_direct_state_access then
  7756. begin
  7757. glMatrixLoadfEXT := gl_GetProc('glMatrixLoadfEXT');
  7758. glMatrixLoaddEXT := gl_GetProc('glMatrixLoaddEXT');
  7759. glMatrixMultfEXT := gl_GetProc('glMatrixMultfEXT');
  7760. glMatrixMultdEXT := gl_GetProc('glMatrixMultdEXT');
  7761. glMatrixLoadIdentityEXT := gl_GetProc('glMatrixLoadIdentityEXT');
  7762. glMatrixRotatefEXT := gl_GetProc('glMatrixRotatefEXT');
  7763. glMatrixRotatedEXT := gl_GetProc('glMatrixRotatedEXT');
  7764. glMatrixScalefEXT := gl_GetProc('glMatrixScalefEXT');
  7765. glMatrixScaledEXT := gl_GetProc('glMatrixScaledEXT');
  7766. glMatrixTranslatefEXT := gl_GetProc('glMatrixTranslatefEXT');
  7767. glMatrixTranslatedEXT := gl_GetProc('glMatrixTranslatedEXT');
  7768. glMatrixFrustumEXT := gl_GetProc('glMatrixFrustumEXT');
  7769. glMatrixOrthoEXT := gl_GetProc('glMatrixOrthoEXT');
  7770. glMatrixPopEXT := gl_GetProc('glMatrixPopEXT');
  7771. glMatrixPushEXT := gl_GetProc('glMatrixPushEXT');
  7772. glClientAttribDefaultEXT := gl_GetProc('glClientAttribDefaultEXT');
  7773. glPushClientAttribDefaultEXT := gl_GetProc('glPushClientAttribDefaultEXT');
  7774. glTextureParameterfEXT := gl_GetProc('glTextureParameterfEXT');
  7775. glTextureParameterfvEXT := gl_GetProc('glTextureParameterfvEXT');
  7776. glTextureParameteriEXT := gl_GetProc('glTextureParameteriEXT');
  7777. glTextureParameterivEXT := gl_GetProc('glTextureParameterivEXT');
  7778. glTextureImage1DEXT := gl_GetProc('glTextureImage1DEXT');
  7779. glTextureImage2DEXT := gl_GetProc('glTextureImage2DEXT');
  7780. glTextureSubImage1DEXT := gl_GetProc('glTextureSubImage1DEXT');
  7781. glTextureSubImage2DEXT := gl_GetProc('glTextureSubImage2DEXT');
  7782. glCopyTextureImage1DEXT := gl_GetProc('glCopyTextureImage1DEXT');
  7783. glCopyTextureImage2DEXT := gl_GetProc('glCopyTextureImage2DEXT');
  7784. glCopyTextureSubImage1DEXT := gl_GetProc('glCopyTextureSubImage1DEXT');
  7785. glCopyTextureSubImage2DEXT := gl_GetProc('glCopyTextureSubImage2DEXT');
  7786. glGetTextureImageEXT := gl_GetProc('glGetTextureImageEXT');
  7787. glGetTextureParameterfvEXT := gl_GetProc('glGetTextureParameterfvEXT');
  7788. glGetTextureParameterivEXT := gl_GetProc('glGetTextureParameterivEXT');
  7789. glGetTextureLevelParameterfvEXT := gl_GetProc('glGetTextureLevelParameterfvEXT');
  7790. glGetTextureLevelParameterivEXT := gl_GetProc('glGetTextureLevelParameterivEXT');
  7791. glTextureImage3DEXT := gl_GetProc('glTextureImage3DEXT');
  7792. glTextureSubImage3DEXT := gl_GetProc('glTextureSubImage3DEXT');
  7793. glCopyTextureSubImage3DEXT := gl_GetProc('glCopyTextureSubImage3DEXT');
  7794. glBindMultiTextureEXT := gl_GetProc('glBindMultiTextureEXT');
  7795. glMultiTexCoordPointerEXT := gl_GetProc('glMultiTexCoordPointerEXT');
  7796. glMultiTexEnvfEXT := gl_GetProc('glMultiTexEnvfEXT');
  7797. glMultiTexEnvfvEXT := gl_GetProc('glMultiTexEnvfvEXT');
  7798. glMultiTexEnviEXT := gl_GetProc('glMultiTexEnviEXT');
  7799. glMultiTexEnvivEXT := gl_GetProc('glMultiTexEnvivEXT');
  7800. glMultiTexGendEXT := gl_GetProc('glMultiTexGendEXT');
  7801. glMultiTexGendvEXT := gl_GetProc('glMultiTexGendvEXT');
  7802. glMultiTexGenfEXT := gl_GetProc('glMultiTexGenfEXT');
  7803. glMultiTexGenfvEXT := gl_GetProc('glMultiTexGenfvEXT');
  7804. glMultiTexGeniEXT := gl_GetProc('glMultiTexGeniEXT');
  7805. glMultiTexGenivEXT := gl_GetProc('glMultiTexGenivEXT');
  7806. glGetMultiTexEnvfvEXT := gl_GetProc('glGetMultiTexEnvfvEXT');
  7807. glGetMultiTexEnvivEXT := gl_GetProc('glGetMultiTexEnvivEXT');
  7808. glGetMultiTexGendvEXT := gl_GetProc('glGetMultiTexGendvEXT');
  7809. glGetMultiTexGenfvEXT := gl_GetProc('glGetMultiTexGenfvEXT');
  7810. glGetMultiTexGenivEXT := gl_GetProc('glGetMultiTexGenivEXT');
  7811. glMultiTexParameteriEXT := gl_GetProc('glMultiTexParameteriEXT');
  7812. glMultiTexParameterivEXT := gl_GetProc('glMultiTexParameterivEXT');
  7813. glMultiTexParameterfEXT := gl_GetProc('glMultiTexParameterfEXT');
  7814. glMultiTexParameterfvEXT := gl_GetProc('glMultiTexParameterfvEXT');
  7815. glMultiTexImage1DEXT := gl_GetProc('glMultiTexImage1DEXT');
  7816. glMultiTexImage2DEXT := gl_GetProc('glMultiTexImage2DEXT');
  7817. glMultiTexSubImage1DEXT := gl_GetProc('glMultiTexSubImage1DEXT');
  7818. glMultiTexSubImage2DEXT := gl_GetProc('glMultiTexSubImage2DEXT');
  7819. glCopyMultiTexImage1DEXT := gl_GetProc('glCopyMultiTexImage1DEXT');
  7820. glCopyMultiTexImage2DEXT := gl_GetProc('glCopyMultiTexImage2DEXT');
  7821. glCopyMultiTexSubImage1DEXT := gl_GetProc('glCopyMultiTexSubImage1DEXT');
  7822. glCopyMultiTexSubImage2DEXT := gl_GetProc('glCopyMultiTexSubImage2DEXT');
  7823. glGetMultiTexImageEXT := gl_GetProc('glGetMultiTexImageEXT');
  7824. glGetMultiTexParameterfvEXT := gl_GetProc('glGetMultiTexParameterfvEXT');
  7825. glGetMultiTexParameterivEXT := gl_GetProc('glGetMultiTexParameterivEXT');
  7826. glGetMultiTexLevelParameterfvEXT := gl_GetProc('glGetMultiTexLevelParameterfvEXT');
  7827. glGetMultiTexLevelParameterivEXT := gl_GetProc('glGetMultiTexLevelParameterivEXT');
  7828. glMultiTexImage3DEXT := gl_GetProc('glMultiTexImage3DEXT');
  7829. glMultiTexSubImage3DEXT := gl_GetProc('glMultiTexSubImage3DEXT');
  7830. glCopyMultiTexSubImage3DEXT := gl_GetProc('glCopyMultiTexSubImage3DEXT');
  7831. glEnableClientStateIndexedEXT := gl_GetProc('glEnableClientStateIndexedEXT');
  7832. glDisableClientStateIndexedEXT := gl_GetProc('glDisableClientStateIndexedEXT');
  7833. glGetFloatIndexedvEXT := gl_GetProc('glGetFloatIndexedvEXT');
  7834. glGetDoubleIndexedvEXT := gl_GetProc('glGetDoubleIndexedvEXT');
  7835. glGetPointerIndexedvEXT := gl_GetProc('glGetPointerIndexedvEXT');
  7836. glEnableIndexedEXT := gl_GetProc('glEnableIndexedEXT');
  7837. glDisableIndexedEXT := gl_GetProc('glDisableIndexedEXT');
  7838. glIsEnabledIndexedEXT := gl_GetProc('glIsEnabledIndexedEXT');
  7839. glGetIntegerIndexedvEXT := gl_GetProc('glGetIntegerIndexedvEXT');
  7840. glGetBooleanIndexedvEXT := gl_GetProc('glGetBooleanIndexedvEXT');
  7841. glCompressedTextureImage3DEXT := gl_GetProc('glCompressedTextureImage3DEXT');
  7842. glCompressedTextureImage2DEXT := gl_GetProc('glCompressedTextureImage2DEXT');
  7843. glCompressedTextureImage1DEXT := gl_GetProc('glCompressedTextureImage1DEXT');
  7844. glCompressedTextureSubImage3DEXT := gl_GetProc('glCompressedTextureSubImage3DEXT');
  7845. glCompressedTextureSubImage2DEXT := gl_GetProc('glCompressedTextureSubImage2DEXT');
  7846. glCompressedTextureSubImage1DEXT := gl_GetProc('glCompressedTextureSubImage1DEXT');
  7847. glGetCompressedTextureImageEXT := gl_GetProc('glGetCompressedTextureImageEXT');
  7848. glCompressedMultiTexImage3DEXT := gl_GetProc('glCompressedMultiTexImage3DEXT');
  7849. glCompressedMultiTexImage2DEXT := gl_GetProc('glCompressedMultiTexImage2DEXT');
  7850. glCompressedMultiTexImage1DEXT := gl_GetProc('glCompressedMultiTexImage1DEXT');
  7851. glCompressedMultiTexSubImage3DEXT := gl_GetProc('glCompressedMultiTexSubImage3DEXT');
  7852. glCompressedMultiTexSubImage2DEXT := gl_GetProc('glCompressedMultiTexSubImage2DEXT');
  7853. glCompressedMultiTexSubImage1DEXT := gl_GetProc('glCompressedMultiTexSubImage1DEXT');
  7854. glGetCompressedMultiTexImageEXT := gl_GetProc('glGetCompressedMultiTexImageEXT');
  7855. glMatrixLoadTransposefEXT := gl_GetProc('glMatrixLoadTransposefEXT');
  7856. glMatrixLoadTransposedEXT := gl_GetProc('glMatrixLoadTransposedEXT');
  7857. glMatrixMultTransposefEXT := gl_GetProc('glMatrixMultTransposefEXT');
  7858. glMatrixMultTransposedEXT := gl_GetProc('glMatrixMultTransposedEXT');
  7859. glNamedBufferDataEXT := gl_GetProc('glNamedBufferDataEXT');
  7860. glNamedBufferSubDataEXT := gl_GetProc('glNamedBufferSubDataEXT');
  7861. glMapNamedBufferEXT := gl_GetProc('glMapNamedBufferEXT');
  7862. glUnmapNamedBufferEXT := gl_GetProc('glUnmapNamedBufferEXT');
  7863. glGetNamedBufferParameterivEXT := gl_GetProc('glGetNamedBufferParameterivEXT');
  7864. glGetNamedBufferPointervEXT := gl_GetProc('glGetNamedBufferPointervEXT');
  7865. glGetNamedBufferSubDataEXT := gl_GetProc('glGetNamedBufferSubDataEXT');
  7866. glProgramUniform1fEXT := gl_GetProc('glProgramUniform1fEXT');
  7867. glProgramUniform2fEXT := gl_GetProc('glProgramUniform2fEXT');
  7868. glProgramUniform3fEXT := gl_GetProc('glProgramUniform3fEXT');
  7869. glProgramUniform4fEXT := gl_GetProc('glProgramUniform4fEXT');
  7870. glProgramUniform1iEXT := gl_GetProc('glProgramUniform1iEXT');
  7871. glProgramUniform2iEXT := gl_GetProc('glProgramUniform2iEXT');
  7872. glProgramUniform3iEXT := gl_GetProc('glProgramUniform3iEXT');
  7873. glProgramUniform4iEXT := gl_GetProc('glProgramUniform4iEXT');
  7874. glProgramUniform1fvEXT := gl_GetProc('glProgramUniform1fvEXT');
  7875. glProgramUniform2fvEXT := gl_GetProc('glProgramUniform2fvEXT');
  7876. glProgramUniform3fvEXT := gl_GetProc('glProgramUniform3fvEXT');
  7877. glProgramUniform4fvEXT := gl_GetProc('glProgramUniform4fvEXT');
  7878. glProgramUniform1ivEXT := gl_GetProc('glProgramUniform1ivEXT');
  7879. glProgramUniform2ivEXT := gl_GetProc('glProgramUniform2ivEXT');
  7880. glProgramUniform3ivEXT := gl_GetProc('glProgramUniform3ivEXT');
  7881. glProgramUniform4ivEXT := gl_GetProc('glProgramUniform4ivEXT');
  7882. glProgramUniformMatrix2fvEXT := gl_GetProc('glProgramUniformMatrix2fvEXT');
  7883. glProgramUniformMatrix3fvEXT := gl_GetProc('glProgramUniformMatrix3fvEXT');
  7884. glProgramUniformMatrix4fvEXT := gl_GetProc('glProgramUniformMatrix4fvEXT');
  7885. glProgramUniformMatrix2x3fvEXT := gl_GetProc('glProgramUniformMatrix2x3fvEXT');
  7886. glProgramUniformMatrix3x2fvEXT := gl_GetProc('glProgramUniformMatrix3x2fvEXT');
  7887. glProgramUniformMatrix2x4fvEXT := gl_GetProc('glProgramUniformMatrix2x4fvEXT');
  7888. glProgramUniformMatrix4x2fvEXT := gl_GetProc('glProgramUniformMatrix4x2fvEXT');
  7889. glProgramUniformMatrix3x4fvEXT := gl_GetProc('glProgramUniformMatrix3x4fvEXT');
  7890. glProgramUniformMatrix4x3fvEXT := gl_GetProc('glProgramUniformMatrix4x3fvEXT');
  7891. glTextureBufferEXT := gl_GetProc('glTextureBufferEXT');
  7892. glMultiTexBufferEXT := gl_GetProc('glMultiTexBufferEXT');
  7893. glTextureParameterIivEXT := gl_GetProc('glTextureParameterIivEXT');
  7894. glTextureParameterIuivEXT := gl_GetProc('glTextureParameterIuivEXT');
  7895. glGetTextureParameterIivEXT := gl_GetProc('glGetTextureParameterIivEXT');
  7896. glGetTextureParameterIuivEXT := gl_GetProc('glGetTextureParameterIuivEXT');
  7897. glMultiTexParameterIivEXT := gl_GetProc('glMultiTexParameterIivEXT');
  7898. glMultiTexParameterIuivEXT := gl_GetProc('glMultiTexParameterIuivEXT');
  7899. glGetMultiTexParameterIivEXT := gl_GetProc('glGetMultiTexParameterIivEXT');
  7900. glGetMultiTexParameterIuivEXT := gl_GetProc('glGetMultiTexParameterIuivEXT');
  7901. glProgramUniform1uiEXT := gl_GetProc('glProgramUniform1uiEXT');
  7902. glProgramUniform2uiEXT := gl_GetProc('glProgramUniform2uiEXT');
  7903. glProgramUniform3uiEXT := gl_GetProc('glProgramUniform3uiEXT');
  7904. glProgramUniform4uiEXT := gl_GetProc('glProgramUniform4uiEXT');
  7905. glProgramUniform1uivEXT := gl_GetProc('glProgramUniform1uivEXT');
  7906. glProgramUniform2uivEXT := gl_GetProc('glProgramUniform2uivEXT');
  7907. glProgramUniform3uivEXT := gl_GetProc('glProgramUniform3uivEXT');
  7908. glProgramUniform4uivEXT := gl_GetProc('glProgramUniform4uivEXT');
  7909. glNamedProgramLocalParameters4fvEXT := gl_GetProc('glNamedProgramLocalParameters4fvEXT');
  7910. glNamedProgramLocalParameterI4iEXT := gl_GetProc('glNamedProgramLocalParameterI4iEXT');
  7911. glNamedProgramLocalParameterI4ivEXT := gl_GetProc('glNamedProgramLocalParameterI4ivEXT');
  7912. glNamedProgramLocalParametersI4ivEXT := gl_GetProc('glNamedProgramLocalParametersI4ivEXT');
  7913. glNamedProgramLocalParameterI4uiEXT := gl_GetProc('glNamedProgramLocalParameterI4uiEXT');
  7914. glNamedProgramLocalParameterI4uivEXT := gl_GetProc('glNamedProgramLocalParameterI4uivEXT');
  7915. glNamedProgramLocalParametersI4uivEXT := gl_GetProc('glNamedProgramLocalParametersI4uivEXT');
  7916. glGetNamedProgramLocalParameterIivEXT := gl_GetProc('glGetNamedProgramLocalParameterIivEXT');
  7917. glGetNamedProgramLocalParameterIuivEXT := gl_GetProc('glGetNamedProgramLocalParameterIuivEXT');
  7918. glEnableClientStateiEXT := gl_GetProc('glEnableClientStateiEXT');
  7919. glDisableClientStateiEXT := gl_GetProc('glDisableClientStateiEXT');
  7920. glGetFloati_vEXT := gl_GetProc('glGetFloati_vEXT');
  7921. glGetDoublei_vEXT := gl_GetProc('glGetDoublei_vEXT');
  7922. glGetPointeri_vEXT := gl_GetProc('glGetPointeri_vEXT');
  7923. glNamedProgramStringEXT := gl_GetProc('glNamedProgramStringEXT');
  7924. glNamedProgramLocalParameter4dEXT := gl_GetProc('glNamedProgramLocalParameter4dEXT');
  7925. glNamedProgramLocalParameter4dvEXT := gl_GetProc('glNamedProgramLocalParameter4dvEXT');
  7926. glNamedProgramLocalParameter4fEXT := gl_GetProc('glNamedProgramLocalParameter4fEXT');
  7927. glNamedProgramLocalParameter4fvEXT := gl_GetProc('glNamedProgramLocalParameter4fvEXT');
  7928. glGetNamedProgramLocalParameterdvEXT := gl_GetProc('glGetNamedProgramLocalParameterdvEXT');
  7929. glGetNamedProgramLocalParameterfvEXT := gl_GetProc('glGetNamedProgramLocalParameterfvEXT');
  7930. glGetNamedProgramivEXT := gl_GetProc('glGetNamedProgramivEXT');
  7931. glGetNamedProgramStringEXT := gl_GetProc('glGetNamedProgramStringEXT');
  7932. glNamedRenderbufferStorageEXT := gl_GetProc('glNamedRenderbufferStorageEXT');
  7933. glGetNamedRenderbufferParameterivEXT := gl_GetProc('glGetNamedRenderbufferParameterivEXT');
  7934. glNamedRenderbufferStorageMultisampleEXT := gl_GetProc('glNamedRenderbufferStorageMultisampleEXT');
  7935. glNamedRenderbufferStorageMultisampleCoverageEXT := gl_GetProc('glNamedRenderbufferStorageMultisampleCoverageEXT');
  7936. glCheckNamedFramebufferStatusEXT := gl_GetProc('glCheckNamedFramebufferStatusEXT');
  7937. glNamedFramebufferTexture1DEXT := gl_GetProc('glNamedFramebufferTexture1DEXT');
  7938. glNamedFramebufferTexture2DEXT := gl_GetProc('glNamedFramebufferTexture2DEXT');
  7939. glNamedFramebufferTexture3DEXT := gl_GetProc('glNamedFramebufferTexture3DEXT');
  7940. glNamedFramebufferRenderbufferEXT := gl_GetProc('glNamedFramebufferRenderbufferEXT');
  7941. glGetNamedFramebufferAttachmentParameterivEXT := gl_GetProc('glGetNamedFramebufferAttachmentParameterivEXT');
  7942. glGenerateTextureMipmapEXT := gl_GetProc('glGenerateTextureMipmapEXT');
  7943. glGenerateMultiTexMipmapEXT := gl_GetProc('glGenerateMultiTexMipmapEXT');
  7944. glFramebufferDrawBufferEXT := gl_GetProc('glFramebufferDrawBufferEXT');
  7945. glFramebufferDrawBuffersEXT := gl_GetProc('glFramebufferDrawBuffersEXT');
  7946. glFramebufferReadBufferEXT := gl_GetProc('glFramebufferReadBufferEXT');
  7947. glGetFramebufferParameterivEXT := gl_GetProc('glGetFramebufferParameterivEXT');
  7948. glNamedCopyBufferSubDataEXT := gl_GetProc('glNamedCopyBufferSubDataEXT');
  7949. glNamedFramebufferTextureEXT := gl_GetProc('glNamedFramebufferTextureEXT');
  7950. glNamedFramebufferTextureLayerEXT := gl_GetProc('glNamedFramebufferTextureLayerEXT');
  7951. glNamedFramebufferTextureFaceEXT := gl_GetProc('glNamedFramebufferTextureFaceEXT');
  7952. glTextureRenderbufferEXT := gl_GetProc('glTextureRenderbufferEXT');
  7953. glMultiTexRenderbufferEXT := gl_GetProc('glMultiTexRenderbufferEXT');
  7954. glVertexArrayVertexOffsetEXT := gl_GetProc('glVertexArrayVertexOffsetEXT');
  7955. glVertexArrayColorOffsetEXT := gl_GetProc('glVertexArrayColorOffsetEXT');
  7956. glVertexArrayEdgeFlagOffsetEXT := gl_GetProc('glVertexArrayEdgeFlagOffsetEXT');
  7957. glVertexArrayIndexOffsetEXT := gl_GetProc('glVertexArrayIndexOffsetEXT');
  7958. glVertexArrayNormalOffsetEXT := gl_GetProc('glVertexArrayNormalOffsetEXT');
  7959. glVertexArrayTexCoordOffsetEXT := gl_GetProc('glVertexArrayTexCoordOffsetEXT');
  7960. glVertexArrayMultiTexCoordOffsetEXT := gl_GetProc('glVertexArrayMultiTexCoordOffsetEXT');
  7961. glVertexArrayFogCoordOffsetEXT := gl_GetProc('glVertexArrayFogCoordOffsetEXT');
  7962. glVertexArraySecondaryColorOffsetEXT := gl_GetProc('glVertexArraySecondaryColorOffsetEXT');
  7963. glVertexArrayVertexAttribOffsetEXT := gl_GetProc('glVertexArrayVertexAttribOffsetEXT');
  7964. glVertexArrayVertexAttribIOffsetEXT := gl_GetProc('glVertexArrayVertexAttribIOffsetEXT');
  7965. glEnableVertexArrayEXT := gl_GetProc('glEnableVertexArrayEXT');
  7966. glDisableVertexArrayEXT := gl_GetProc('glDisableVertexArrayEXT');
  7967. glEnableVertexArrayAttribEXT := gl_GetProc('glEnableVertexArrayAttribEXT');
  7968. glDisableVertexArrayAttribEXT := gl_GetProc('glDisableVertexArrayAttribEXT');
  7969. glGetVertexArrayIntegervEXT := gl_GetProc('glGetVertexArrayIntegervEXT');
  7970. glGetVertexArrayPointervEXT := gl_GetProc('glGetVertexArrayPointervEXT');
  7971. glGetVertexArrayIntegeri_vEXT := gl_GetProc('glGetVertexArrayIntegeri_vEXT');
  7972. glGetVertexArrayPointeri_vEXT := gl_GetProc('glGetVertexArrayPointeri_vEXT');
  7973. glMapNamedBufferRangeEXT := gl_GetProc('glMapNamedBufferRangeEXT');
  7974. glFlushMappedNamedBufferRangeEXT := gl_GetProc('glFlushMappedNamedBufferRangeEXT');
  7975. glNamedBufferStorageEXT := gl_GetProc('glNamedBufferStorageEXT');
  7976. glClearNamedBufferDataEXT := gl_GetProc('glClearNamedBufferDataEXT');
  7977. glClearNamedBufferSubDataEXT := gl_GetProc('glClearNamedBufferSubDataEXT');
  7978. glNamedFramebufferParameteriEXT := gl_GetProc('glNamedFramebufferParameteriEXT');
  7979. glGetNamedFramebufferParameterivEXT := gl_GetProc('glGetNamedFramebufferParameterivEXT');
  7980. glProgramUniform1dEXT := gl_GetProc('glProgramUniform1dEXT');
  7981. glProgramUniform2dEXT := gl_GetProc('glProgramUniform2dEXT');
  7982. glProgramUniform3dEXT := gl_GetProc('glProgramUniform3dEXT');
  7983. glProgramUniform4dEXT := gl_GetProc('glProgramUniform4dEXT');
  7984. glProgramUniform1dvEXT := gl_GetProc('glProgramUniform1dvEXT');
  7985. glProgramUniform2dvEXT := gl_GetProc('glProgramUniform2dvEXT');
  7986. glProgramUniform3dvEXT := gl_GetProc('glProgramUniform3dvEXT');
  7987. glProgramUniform4dvEXT := gl_GetProc('glProgramUniform4dvEXT');
  7988. glProgramUniformMatrix2dvEXT := gl_GetProc('glProgramUniformMatrix2dvEXT');
  7989. glProgramUniformMatrix3dvEXT := gl_GetProc('glProgramUniformMatrix3dvEXT');
  7990. glProgramUniformMatrix4dvEXT := gl_GetProc('glProgramUniformMatrix4dvEXT');
  7991. glProgramUniformMatrix2x3dvEXT := gl_GetProc('glProgramUniformMatrix2x3dvEXT');
  7992. glProgramUniformMatrix2x4dvEXT := gl_GetProc('glProgramUniformMatrix2x4dvEXT');
  7993. glProgramUniformMatrix3x2dvEXT := gl_GetProc('glProgramUniformMatrix3x2dvEXT');
  7994. glProgramUniformMatrix3x4dvEXT := gl_GetProc('glProgramUniformMatrix3x4dvEXT');
  7995. glProgramUniformMatrix4x2dvEXT := gl_GetProc('glProgramUniformMatrix4x2dvEXT');
  7996. glProgramUniformMatrix4x3dvEXT := gl_GetProc('glProgramUniformMatrix4x3dvEXT');
  7997. glTextureBufferRangeEXT := gl_GetProc('glTextureBufferRangeEXT');
  7998. glTextureStorage1DEXT := gl_GetProc('glTextureStorage1DEXT');
  7999. glTextureStorage2DEXT := gl_GetProc('glTextureStorage2DEXT');
  8000. glTextureStorage3DEXT := gl_GetProc('glTextureStorage3DEXT');
  8001. glTextureStorage2DMultisampleEXT := gl_GetProc('glTextureStorage2DMultisampleEXT');
  8002. glTextureStorage3DMultisampleEXT := gl_GetProc('glTextureStorage3DMultisampleEXT');
  8003. glVertexArrayBindVertexBufferEXT := gl_GetProc('glVertexArrayBindVertexBufferEXT');
  8004. glVertexArrayVertexAttribFormatEXT := gl_GetProc('glVertexArrayVertexAttribFormatEXT');
  8005. glVertexArrayVertexAttribIFormatEXT := gl_GetProc('glVertexArrayVertexAttribIFormatEXT');
  8006. glVertexArrayVertexAttribLFormatEXT := gl_GetProc('glVertexArrayVertexAttribLFormatEXT');
  8007. glVertexArrayVertexAttribBindingEXT := gl_GetProc('glVertexArrayVertexAttribBindingEXT');
  8008. glVertexArrayVertexBindingDivisorEXT := gl_GetProc('glVertexArrayVertexBindingDivisorEXT');
  8009. glVertexArrayVertexAttribLOffsetEXT := gl_GetProc('glVertexArrayVertexAttribLOffsetEXT');
  8010. glTexturePageCommitmentEXT := gl_GetProc('glTexturePageCommitmentEXT');
  8011. glVertexArrayVertexAttribDivisorEXT := gl_GetProc('glVertexArrayVertexAttribDivisorEXT');
  8012. end;
  8013. {$EndIf}
  8014. {$IfDef GL_EXT_draw_buffers2}
  8015. if GL_EXT_draw_buffers2 then
  8016. glColorMaskIndexedEXT := gl_GetProc('glColorMaskIndexedEXT');
  8017. {$EndIf}
  8018. {$IfDef GL_EXT_draw_instanced}
  8019. if GL_EXT_draw_instanced then
  8020. begin
  8021. glDrawArraysInstancedEXT := gl_GetProc('glDrawArraysInstancedEXT');
  8022. glDrawElementsInstancedEXT := gl_GetProc('glDrawElementsInstancedEXT');
  8023. end;
  8024. {$EndIf}
  8025. {$IfDef GL_EXT_draw_range_elements}
  8026. if GL_EXT_draw_range_elements then
  8027. glDrawRangeElementsEXT := gl_GetProc('glDrawRangeElementsEXT');
  8028. {$EndIf}
  8029. {$IfDef GL_EXT_external_buffer}
  8030. if GL_EXT_external_buffer then
  8031. begin
  8032. glBufferStorageExternalEXT := gl_GetProc('glBufferStorageExternalEXT');
  8033. glNamedBufferStorageExternalEXT := gl_GetProc('glNamedBufferStorageExternalEXT');
  8034. end;
  8035. {$EndIf}
  8036. {$IfDef GL_EXT_fog_coord}
  8037. if GL_EXT_fog_coord then
  8038. begin
  8039. glFogCoordfEXT := gl_GetProc('glFogCoordfEXT');
  8040. glFogCoordfvEXT := gl_GetProc('glFogCoordfvEXT');
  8041. glFogCoorddEXT := gl_GetProc('glFogCoorddEXT');
  8042. glFogCoorddvEXT := gl_GetProc('glFogCoorddvEXT');
  8043. glFogCoordPointerEXT := gl_GetProc('glFogCoordPointerEXT');
  8044. end;
  8045. {$EndIf}
  8046. {$IfDef GL_EXT_framebuffer_blit}
  8047. if GL_EXT_framebuffer_blit then
  8048. glBlitFramebufferEXT := gl_GetProc('glBlitFramebufferEXT');
  8049. {$EndIf}
  8050. {$IfDef GL_EXT_framebuffer_multisample}
  8051. if GL_EXT_framebuffer_multisample then
  8052. glRenderbufferStorageMultisampleEXT := gl_GetProc('glRenderbufferStorageMultisampleEXT');
  8053. {$EndIf}
  8054. {$IfDef GL_EXT_framebuffer_object}
  8055. if GL_EXT_framebuffer_object then
  8056. begin
  8057. // glIsRenderbufferEXT := gl_GetProc('glIsRenderbufferEXT');
  8058. // glBindRenderbufferEXT := gl_GetProc('glBindRenderbufferEXT');
  8059. // glDeleteRenderbuffersEXT := gl_GetProc('glDeleteRenderbuffersEXT');
  8060. // glGenRenderbuffersEXT := gl_GetProc('glGenRenderbuffersEXT');
  8061. // glRenderbufferStorageEXT := gl_GetProc('glRenderbufferStorageEXT');
  8062. glGetRenderbufferParameterivEXT := gl_GetProc('glGetRenderbufferParameterivEXT');
  8063. // glIsFramebufferEXT := gl_GetProc('glIsFramebufferEXT');
  8064. // glBindFramebufferEXT := gl_GetProc('glBindFramebufferEXT');
  8065. // glDeleteFramebuffersEXT := gl_GetProc('glDeleteFramebuffersEXT');
  8066. // glGenFramebuffersEXT := gl_GetProc('glGenFramebuffersEXT');
  8067. // glCheckFramebufferStatusEXT := gl_GetProc('glCheckFramebufferStatusEXT');
  8068. glFramebufferTexture1DEXT := gl_GetProc('glFramebufferTexture1DEXT');
  8069. // glFramebufferTexture2DEXT := gl_GetProc('glFramebufferTexture2DEXT');
  8070. glFramebufferTexture3DEXT := gl_GetProc('glFramebufferTexture3DEXT');
  8071. // glFramebufferRenderbufferEXT := gl_GetProc('glFramebufferRenderbufferEXT');
  8072. glGetFramebufferAttachmentParameterivEXT := gl_GetProc('glGetFramebufferAttachmentParameterivEXT');
  8073. glGenerateMipmapEXT := gl_GetProc('glGenerateMipmapEXT');
  8074. end;
  8075. {$EndIf}
  8076. {$IfDef GL_EXT_geometry_shader4}
  8077. if GL_EXT_geometry_shader4 then
  8078. glProgramParameteriEXT := gl_GetProc('glProgramParameteriEXT');
  8079. {$EndIf}
  8080. {$IfDef GL_EXT_gpu_program_parameters}
  8081. if GL_EXT_gpu_program_parameters then
  8082. begin
  8083. glProgramEnvParameters4fvEXT := gl_GetProc('glProgramEnvParameters4fvEXT');
  8084. glProgramLocalParameters4fvEXT := gl_GetProc('glProgramLocalParameters4fvEXT');
  8085. end;
  8086. {$EndIf}
  8087. {$IfDef GL_EXT_gpu_shader4}
  8088. if GL_EXT_gpu_shader4 then
  8089. begin
  8090. glGetUniformuivEXT := gl_GetProc('glGetUniformuivEXT');
  8091. glBindFragDataLocationEXT := gl_GetProc('glBindFragDataLocationEXT');
  8092. glGetFragDataLocationEXT := gl_GetProc('glGetFragDataLocationEXT');
  8093. glUniform1uiEXT := gl_GetProc('glUniform1uiEXT');
  8094. glUniform2uiEXT := gl_GetProc('glUniform2uiEXT');
  8095. glUniform3uiEXT := gl_GetProc('glUniform3uiEXT');
  8096. glUniform4uiEXT := gl_GetProc('glUniform4uiEXT');
  8097. glUniform1uivEXT := gl_GetProc('glUniform1uivEXT');
  8098. glUniform2uivEXT := gl_GetProc('glUniform2uivEXT');
  8099. glUniform3uivEXT := gl_GetProc('glUniform3uivEXT');
  8100. glUniform4uivEXT := gl_GetProc('glUniform4uivEXT');
  8101. glVertexAttribI1iEXT := gl_GetProc('glVertexAttribI1iEXT');
  8102. glVertexAttribI2iEXT := gl_GetProc('glVertexAttribI2iEXT');
  8103. glVertexAttribI3iEXT := gl_GetProc('glVertexAttribI3iEXT');
  8104. glVertexAttribI4iEXT := gl_GetProc('glVertexAttribI4iEXT');
  8105. glVertexAttribI1uiEXT := gl_GetProc('glVertexAttribI1uiEXT');
  8106. glVertexAttribI2uiEXT := gl_GetProc('glVertexAttribI2uiEXT');
  8107. glVertexAttribI3uiEXT := gl_GetProc('glVertexAttribI3uiEXT');
  8108. glVertexAttribI4uiEXT := gl_GetProc('glVertexAttribI4uiEXT');
  8109. glVertexAttribI1ivEXT := gl_GetProc('glVertexAttribI1ivEXT');
  8110. glVertexAttribI2ivEXT := gl_GetProc('glVertexAttribI2ivEXT');
  8111. glVertexAttribI3ivEXT := gl_GetProc('glVertexAttribI3ivEXT');
  8112. glVertexAttribI4ivEXT := gl_GetProc('glVertexAttribI4ivEXT');
  8113. glVertexAttribI1uivEXT := gl_GetProc('glVertexAttribI1uivEXT');
  8114. glVertexAttribI2uivEXT := gl_GetProc('glVertexAttribI2uivEXT');
  8115. glVertexAttribI3uivEXT := gl_GetProc('glVertexAttribI3uivEXT');
  8116. glVertexAttribI4uivEXT := gl_GetProc('glVertexAttribI4uivEXT');
  8117. glVertexAttribI4bvEXT := gl_GetProc('glVertexAttribI4bvEXT');
  8118. glVertexAttribI4svEXT := gl_GetProc('glVertexAttribI4svEXT');
  8119. glVertexAttribI4ubvEXT := gl_GetProc('glVertexAttribI4ubvEXT');
  8120. glVertexAttribI4usvEXT := gl_GetProc('glVertexAttribI4usvEXT');
  8121. glVertexAttribIPointerEXT := gl_GetProc('glVertexAttribIPointerEXT');
  8122. glGetVertexAttribIivEXT := gl_GetProc('glGetVertexAttribIivEXT');
  8123. glGetVertexAttribIuivEXT := gl_GetProc('glGetVertexAttribIuivEXT');
  8124. end;
  8125. {$EndIf}
  8126. {$IfDef GL_EXT_histogram}
  8127. if GL_EXT_histogram then
  8128. begin
  8129. glGetHistogramEXT := gl_GetProc('glGetHistogramEXT');
  8130. glGetHistogramParameterfvEXT := gl_GetProc('glGetHistogramParameterfvEXT');
  8131. glGetHistogramParameterivEXT := gl_GetProc('glGetHistogramParameterivEXT');
  8132. glGetMinmaxEXT := gl_GetProc('glGetMinmaxEXT');
  8133. glGetMinmaxParameterfvEXT := gl_GetProc('glGetMinmaxParameterfvEXT');
  8134. glGetMinmaxParameterivEXT := gl_GetProc('glGetMinmaxParameterivEXT');
  8135. glHistogramEXT := gl_GetProc('glHistogramEXT');
  8136. glMinmaxEXT := gl_GetProc('glMinmaxEXT');
  8137. glResetHistogramEXT := gl_GetProc('glResetHistogramEXT');
  8138. glResetMinmaxEXT := gl_GetProc('glResetMinmaxEXT');
  8139. end;
  8140. {$EndIf}
  8141. {$IfDef GL_EXT_index_func}
  8142. if GL_EXT_index_func then
  8143. glIndexFuncEXT := gl_GetProc('glIndexFuncEXT');
  8144. {$EndIf}
  8145. {$IfDef GL_EXT_index_material}
  8146. if GL_EXT_index_material then
  8147. glIndexMaterialEXT := gl_GetProc('glIndexMaterialEXT');
  8148. {$EndIf}
  8149. {$IfDef GL_EXT_light_texture}
  8150. if GL_EXT_light_texture then
  8151. begin
  8152. glApplyTextureEXT := gl_GetProc('glApplyTextureEXT');
  8153. glTextureLightEXT := gl_GetProc('glTextureLightEXT');
  8154. glTextureMaterialEXT := gl_GetProc('glTextureMaterialEXT');
  8155. end;
  8156. {$EndIf}
  8157. {$IfDef GL_EXT_memory_object}
  8158. if GL_EXT_memory_object then
  8159. begin
  8160. glGetUnsignedBytevEXT := gl_GetProc('glGetUnsignedBytevEXT');
  8161. glGetUnsignedBytei_vEXT := gl_GetProc('glGetUnsignedBytei_vEXT');
  8162. glDeleteMemoryObjectsEXT := gl_GetProc('glDeleteMemoryObjectsEXT');
  8163. glIsMemoryObjectEXT := gl_GetProc('glIsMemoryObjectEXT');
  8164. glCreateMemoryObjectsEXT := gl_GetProc('glCreateMemoryObjectsEXT');
  8165. glMemoryObjectParameterivEXT := gl_GetProc('glMemoryObjectParameterivEXT');
  8166. glGetMemoryObjectParameterivEXT := gl_GetProc('glGetMemoryObjectParameterivEXT');
  8167. glTexStorageMem2DEXT := gl_GetProc('glTexStorageMem2DEXT');
  8168. glTexStorageMem2DMultisampleEXT := gl_GetProc('glTexStorageMem2DMultisampleEXT');
  8169. glTexStorageMem3DEXT := gl_GetProc('glTexStorageMem3DEXT');
  8170. glTexStorageMem3DMultisampleEXT := gl_GetProc('glTexStorageMem3DMultisampleEXT');
  8171. glBufferStorageMemEXT := gl_GetProc('glBufferStorageMemEXT');
  8172. glTextureStorageMem2DEXT := gl_GetProc('glTextureStorageMem2DEXT');
  8173. glTextureStorageMem2DMultisampleEXT := gl_GetProc('glTextureStorageMem2DMultisampleEXT');
  8174. glTextureStorageMem3DEXT := gl_GetProc('glTextureStorageMem3DEXT');
  8175. glTextureStorageMem3DMultisampleEXT := gl_GetProc('glTextureStorageMem3DMultisampleEXT');
  8176. glNamedBufferStorageMemEXT := gl_GetProc('glNamedBufferStorageMemEXT');
  8177. glTexStorageMem1DEXT := gl_GetProc('glTexStorageMem1DEXT');
  8178. glTextureStorageMem1DEXT := gl_GetProc('glTextureStorageMem1DEXT');
  8179. end;
  8180. {$EndIf}
  8181. {$IfDef GL_EXT_memory_object_fd}
  8182. if GL_EXT_memory_object_fd then
  8183. glImportMemoryFdEXT := gl_GetProc('glImportMemoryFdEXT');
  8184. {$EndIf}
  8185. {$IfDef GL_EXT_memory_object_win32}
  8186. if GL_EXT_memory_object_win32 then
  8187. begin
  8188. glImportMemoryWin32HandleEXT := gl_GetProc('glImportMemoryWin32HandleEXT');
  8189. glImportMemoryWin32NameEXT := gl_GetProc('glImportMemoryWin32NameEXT');
  8190. end;
  8191. {$EndIf}
  8192. {$IfDef GL_EXT_multi_draw_arrays}
  8193. if GL_EXT_multi_draw_arrays then
  8194. begin
  8195. glMultiDrawArraysEXT := gl_GetProc('glMultiDrawArraysEXT');
  8196. glMultiDrawElementsEXT := gl_GetProc('glMultiDrawElementsEXT');
  8197. end;
  8198. {$EndIf}
  8199. {$IfDef GL_EXT_multisample}
  8200. if GL_EXT_multisample then
  8201. begin
  8202. glSampleMaskEXT := gl_GetProc('glSampleMaskEXT');
  8203. glSamplePatternEXT := gl_GetProc('glSamplePatternEXT');
  8204. end;
  8205. {$EndIf}
  8206. {$IfDef GL_EXT_paletted_texture}
  8207. if GL_EXT_paletted_texture then
  8208. begin
  8209. glColorTableEXT := gl_GetProc('glColorTableEXT');
  8210. glGetColorTableEXT := gl_GetProc('glGetColorTableEXT');
  8211. glGetColorTableParameterivEXT := gl_GetProc('glGetColorTableParameterivEXT');
  8212. glGetColorTableParameterfvEXT := gl_GetProc('glGetColorTableParameterfvEXT');
  8213. end;
  8214. {$EndIf}
  8215. {$IfDef GL_EXT_pixel_transform}
  8216. if GL_EXT_pixel_transform then
  8217. begin
  8218. glPixelTransformParameteriEXT := gl_GetProc('glPixelTransformParameteriEXT');
  8219. glPixelTransformParameterfEXT := gl_GetProc('glPixelTransformParameterfEXT');
  8220. glPixelTransformParameterivEXT := gl_GetProc('glPixelTransformParameterivEXT');
  8221. glPixelTransformParameterfvEXT := gl_GetProc('glPixelTransformParameterfvEXT');
  8222. glGetPixelTransformParameterivEXT := gl_GetProc('glGetPixelTransformParameterivEXT');
  8223. glGetPixelTransformParameterfvEXT := gl_GetProc('glGetPixelTransformParameterfvEXT');
  8224. end;
  8225. {$EndIf}
  8226. {$IfDef GL_EXT_point_parameters}
  8227. if GL_EXT_point_parameters then
  8228. begin
  8229. glPointParameterfEXT := gl_GetProc('glPointParameterfEXT');
  8230. glPointParameterfvEXT := gl_GetProc('glPointParameterfvEXT');
  8231. end;
  8232. {$EndIf}
  8233. {$IfDef GL_EXT_polygon_offset}
  8234. if GL_EXT_polygon_offset then
  8235. glPolygonOffsetEXT := gl_GetProc('glPolygonOffsetEXT');
  8236. {$EndIf}
  8237. {$IfDef GL_EXT_polygon_offset_clamp}
  8238. if GL_EXT_polygon_offset_clamp then
  8239. glPolygonOffsetClampEXT := gl_GetProc('glPolygonOffsetClampEXT');
  8240. {$EndIf}
  8241. {$IfDef GL_EXT_provoking_vertex}
  8242. if GL_EXT_provoking_vertex then
  8243. glProvokingVertexEXT := gl_GetProc('glProvokingVertexEXT');
  8244. {$EndIf}
  8245. {$IfDef GL_EXT_raster_multisample}
  8246. if GL_EXT_raster_multisample then
  8247. glRasterSamplesEXT := gl_GetProc('glRasterSamplesEXT');
  8248. {$EndIf}
  8249. {$IfDef GL_EXT_secondary_color}
  8250. if GL_EXT_secondary_color then
  8251. begin
  8252. glSecondaryColor3bEXT := gl_GetProc('glSecondaryColor3bEXT');
  8253. glSecondaryColor3bvEXT := gl_GetProc('glSecondaryColor3bvEXT');
  8254. glSecondaryColor3dEXT := gl_GetProc('glSecondaryColor3dEXT');
  8255. glSecondaryColor3dvEXT := gl_GetProc('glSecondaryColor3dvEXT');
  8256. glSecondaryColor3fEXT := gl_GetProc('glSecondaryColor3fEXT');
  8257. glSecondaryColor3fvEXT := gl_GetProc('glSecondaryColor3fvEXT');
  8258. glSecondaryColor3iEXT := gl_GetProc('glSecondaryColor3iEXT');
  8259. glSecondaryColor3ivEXT := gl_GetProc('glSecondaryColor3ivEXT');
  8260. glSecondaryColor3sEXT := gl_GetProc('glSecondaryColor3sEXT');
  8261. glSecondaryColor3svEXT := gl_GetProc('glSecondaryColor3svEXT');
  8262. glSecondaryColor3ubEXT := gl_GetProc('glSecondaryColor3ubEXT');
  8263. glSecondaryColor3ubvEXT := gl_GetProc('glSecondaryColor3ubvEXT');
  8264. glSecondaryColor3uiEXT := gl_GetProc('glSecondaryColor3uiEXT');
  8265. glSecondaryColor3uivEXT := gl_GetProc('glSecondaryColor3uivEXT');
  8266. glSecondaryColor3usEXT := gl_GetProc('glSecondaryColor3usEXT');
  8267. glSecondaryColor3usvEXT := gl_GetProc('glSecondaryColor3usvEXT');
  8268. glSecondaryColorPointerEXT := gl_GetProc('glSecondaryColorPointerEXT');
  8269. end;
  8270. {$EndIf}
  8271. {$IfDef GL_EXT_semaphore}
  8272. if GL_EXT_semaphore then
  8273. begin
  8274. glGenSemaphoresEXT := gl_GetProc('glGenSemaphoresEXT');
  8275. glDeleteSemaphoresEXT := gl_GetProc('glDeleteSemaphoresEXT');
  8276. glGetSemaphoreParameterui64vEXT := gl_GetProc('glGetSemaphoreParameterui64vEXT');
  8277. glIsSemaphoreEXT := gl_GetProc('glIsSemaphoreEXT');
  8278. glSemaphoreParameterui64vEXT := gl_GetProc('glSemaphoreParameterui64vEXT');
  8279. glWaitSemaphoreEXT := gl_GetProc('glWaitSemaphoreEXT');
  8280. glSignalSemaphoreEXT := gl_GetProc('glSignalSemaphoreEXT');
  8281. end;
  8282. {$EndIf}
  8283. {$IfDef GL_EXT_semaphore_fd}
  8284. if GL_EXT_semaphore_fd then
  8285. glImportSemaphoreFdEXT := gl_GetProc('glImportSemaphoreFdEXT');
  8286. {$EndIf}
  8287. {$IfDef GL_EXT_semaphore_win32}
  8288. if GL_EXT_semaphore_win32 then
  8289. begin
  8290. glImportSemaphoreWin32HandleEXT := gl_GetProc('glImportSemaphoreWin32HandleEXT');
  8291. glImportSemaphoreWin32NameEXT := gl_GetProc('glImportSemaphoreWin32NameEXT');
  8292. end;
  8293. {$EndIf}
  8294. {$IfDef GL_EXT_separate_shader_objects}
  8295. if GL_EXT_separate_shader_objects then
  8296. begin
  8297. glUseShaderProgramEXT := gl_GetProc('glUseShaderProgramEXT');
  8298. glActiveProgramEXT := gl_GetProc('glActiveProgramEXT');
  8299. glCreateShaderProgramEXT := gl_GetProc('glCreateShaderProgramEXT');
  8300. end;
  8301. {$EndIf}
  8302. {$IfDef GL_EXT_shader_framebuffer_fetch_non_coherent}
  8303. if GL_EXT_shader_framebuffer_fetch_non_coherent then
  8304. glFramebufferFetchBarrierEXT := gl_GetProc('glFramebufferFetchBarrierEXT');
  8305. {$EndIf}
  8306. {$IfDef GL_EXT_shader_image_load_store}
  8307. if GL_EXT_shader_image_load_store then
  8308. begin
  8309. glBindImageTextureEXT := gl_GetProc('glBindImageTextureEXT');
  8310. glMemoryBarrierEXT := gl_GetProc('glMemoryBarrierEXT');
  8311. end;
  8312. {$EndIf}
  8313. {$IfDef GL_EXT_stencil_clear_tag}
  8314. if GL_EXT_stencil_clear_tag then
  8315. glStencilClearTagEXT := gl_GetProc('glStencilClearTagEXT');
  8316. {$EndIf}
  8317. {$IfDef GL_EXT_stencil_two_side}
  8318. if GL_EXT_stencil_two_side then
  8319. glActiveStencilFaceEXT := gl_GetProc('glActiveStencilFaceEXT');
  8320. {$EndIf}
  8321. {$IfDef GL_EXT_subtexture}
  8322. if GL_EXT_subtexture then
  8323. begin
  8324. glTexSubImage1DEXT := gl_GetProc('glTexSubImage1DEXT');
  8325. glTexSubImage2DEXT := gl_GetProc('glTexSubImage2DEXT');
  8326. end;
  8327. {$EndIf}
  8328. {$IfDef GL_EXT_texture3D}
  8329. if GL_EXT_texture3D then
  8330. begin
  8331. glTexImage3DEXT := gl_GetProc('glTexImage3DEXT');
  8332. glTexSubImage3DEXT := gl_GetProc('glTexSubImage3DEXT');
  8333. end;
  8334. {$EndIf}
  8335. {$IfDef GL_EXT_texture_array}
  8336. if GL_EXT_texture_array then
  8337. glFramebufferTextureLayerEXT := gl_GetProc('glFramebufferTextureLayerEXT');
  8338. {$EndIf}
  8339. {$IfDef GL_EXT_texture_buffer_object}
  8340. if GL_EXT_texture_buffer_object then
  8341. glTexBufferEXT := gl_GetProc('glTexBufferEXT');
  8342. {$EndIf}
  8343. {$IfDef GL_EXT_texture_integer}
  8344. if GL_EXT_texture_integer then
  8345. begin
  8346. glTexParameterIivEXT := gl_GetProc('glTexParameterIivEXT');
  8347. glTexParameterIuivEXT := gl_GetProc('glTexParameterIuivEXT');
  8348. glGetTexParameterIivEXT := gl_GetProc('glGetTexParameterIivEXT');
  8349. glGetTexParameterIuivEXT := gl_GetProc('glGetTexParameterIuivEXT');
  8350. glClearColorIiEXT := gl_GetProc('glClearColorIiEXT');
  8351. glClearColorIuiEXT := gl_GetProc('glClearColorIuiEXT');
  8352. end;
  8353. {$EndIf}
  8354. {$IfDef GL_EXT_texture_object}
  8355. if GL_EXT_texture_object then
  8356. begin
  8357. glAreTexturesResidentEXT := gl_GetProc('glAreTexturesResidentEXT');
  8358. glBindTextureEXT := gl_GetProc('glBindTextureEXT');
  8359. glDeleteTexturesEXT := gl_GetProc('glDeleteTexturesEXT');
  8360. glGenTexturesEXT := gl_GetProc('glGenTexturesEXT');
  8361. glIsTextureEXT := gl_GetProc('glIsTextureEXT');
  8362. glPrioritizeTexturesEXT := gl_GetProc('glPrioritizeTexturesEXT');
  8363. end;
  8364. {$EndIf}
  8365. {$IfDef GL_EXT_texture_perturb_normal}
  8366. if GL_EXT_texture_perturb_normal then
  8367. glTextureNormalEXT := gl_GetProc('glTextureNormalEXT');
  8368. {$EndIf}
  8369. {$IfDef GL_EXT_texture_storage}
  8370. if GL_EXT_texture_storage then
  8371. begin
  8372. glTexStorage1DEXT := gl_GetProc('glTexStorage1DEXT');
  8373. glTexStorage2DEXT := gl_GetProc('glTexStorage2DEXT');
  8374. glTexStorage3DEXT := gl_GetProc('glTexStorage3DEXT');
  8375. end;
  8376. {$EndIf}
  8377. {$IfDef GL_EXT_timer_query}
  8378. if GL_EXT_timer_query then
  8379. begin
  8380. glGetQueryObjecti64vEXT := gl_GetProc('glGetQueryObjecti64vEXT');
  8381. glGetQueryObjectui64vEXT := gl_GetProc('glGetQueryObjectui64vEXT');
  8382. end;
  8383. {$EndIf}
  8384. {$IfDef GL_EXT_transform_feedback}
  8385. if GL_EXT_transform_feedback then
  8386. begin
  8387. glBeginTransformFeedbackEXT := gl_GetProc('glBeginTransformFeedbackEXT');
  8388. glEndTransformFeedbackEXT := gl_GetProc('glEndTransformFeedbackEXT');
  8389. glBindBufferRangeEXT := gl_GetProc('glBindBufferRangeEXT');
  8390. glBindBufferOffsetEXT := gl_GetProc('glBindBufferOffsetEXT');
  8391. glBindBufferBaseEXT := gl_GetProc('glBindBufferBaseEXT');
  8392. glTransformFeedbackVaryingsEXT := gl_GetProc('glTransformFeedbackVaryingsEXT');
  8393. glGetTransformFeedbackVaryingEXT := gl_GetProc('glGetTransformFeedbackVaryingEXT');
  8394. end;
  8395. {$EndIf}
  8396. {$IfDef GL_EXT_vertex_array}
  8397. if GL_EXT_vertex_array then
  8398. begin
  8399. glArrayElementEXT := gl_GetProc('glArrayElementEXT');
  8400. glColorPointerEXT := gl_GetProc('glColorPointerEXT');
  8401. glDrawArraysEXT := gl_GetProc('glDrawArraysEXT');
  8402. glEdgeFlagPointerEXT := gl_GetProc('glEdgeFlagPointerEXT');
  8403. glGetPointervEXT := gl_GetProc('glGetPointervEXT');
  8404. glIndexPointerEXT := gl_GetProc('glIndexPointerEXT');
  8405. glNormalPointerEXT := gl_GetProc('glNormalPointerEXT');
  8406. glTexCoordPointerEXT := gl_GetProc('glTexCoordPointerEXT');
  8407. glVertexPointerEXT := gl_GetProc('glVertexPointerEXT');
  8408. end;
  8409. {$EndIf}
  8410. {$IfDef GL_EXT_vertex_attrib_64bit}
  8411. if GL_EXT_vertex_attrib_64bit then
  8412. begin
  8413. glVertexAttribL1dEXT := gl_GetProc('glVertexAttribL1dEXT');
  8414. glVertexAttribL2dEXT := gl_GetProc('glVertexAttribL2dEXT');
  8415. glVertexAttribL3dEXT := gl_GetProc('glVertexAttribL3dEXT');
  8416. glVertexAttribL4dEXT := gl_GetProc('glVertexAttribL4dEXT');
  8417. glVertexAttribL1dvEXT := gl_GetProc('glVertexAttribL1dvEXT');
  8418. glVertexAttribL2dvEXT := gl_GetProc('glVertexAttribL2dvEXT');
  8419. glVertexAttribL3dvEXT := gl_GetProc('glVertexAttribL3dvEXT');
  8420. glVertexAttribL4dvEXT := gl_GetProc('glVertexAttribL4dvEXT');
  8421. glVertexAttribLPointerEXT := gl_GetProc('glVertexAttribLPointerEXT');
  8422. glGetVertexAttribLdvEXT := gl_GetProc('glGetVertexAttribLdvEXT');
  8423. end;
  8424. {$EndIf}
  8425. {$IfDef GL_EXT_vertex_shader}
  8426. if GL_EXT_vertex_shader then
  8427. begin
  8428. glBeginVertexShaderEXT := gl_GetProc('glBeginVertexShaderEXT');
  8429. glEndVertexShaderEXT := gl_GetProc('glEndVertexShaderEXT');
  8430. glBindVertexShaderEXT := gl_GetProc('glBindVertexShaderEXT');
  8431. glGenVertexShadersEXT := gl_GetProc('glGenVertexShadersEXT');
  8432. glDeleteVertexShaderEXT := gl_GetProc('glDeleteVertexShaderEXT');
  8433. glShaderOp1EXT := gl_GetProc('glShaderOp1EXT');
  8434. glShaderOp2EXT := gl_GetProc('glShaderOp2EXT');
  8435. glShaderOp3EXT := gl_GetProc('glShaderOp3EXT');
  8436. glSwizzleEXT := gl_GetProc('glSwizzleEXT');
  8437. glWriteMaskEXT := gl_GetProc('glWriteMaskEXT');
  8438. glInsertComponentEXT := gl_GetProc('glInsertComponentEXT');
  8439. glExtractComponentEXT := gl_GetProc('glExtractComponentEXT');
  8440. glGenSymbolsEXT := gl_GetProc('glGenSymbolsEXT');
  8441. glSetInvariantEXT := gl_GetProc('glSetInvariantEXT');
  8442. glSetLocalConstantEXT := gl_GetProc('glSetLocalConstantEXT');
  8443. glVariantbvEXT := gl_GetProc('glVariantbvEXT');
  8444. glVariantsvEXT := gl_GetProc('glVariantsvEXT');
  8445. glVariantivEXT := gl_GetProc('glVariantivEXT');
  8446. glVariantfvEXT := gl_GetProc('glVariantfvEXT');
  8447. glVariantdvEXT := gl_GetProc('glVariantdvEXT');
  8448. glVariantubvEXT := gl_GetProc('glVariantubvEXT');
  8449. glVariantusvEXT := gl_GetProc('glVariantusvEXT');
  8450. glVariantuivEXT := gl_GetProc('glVariantuivEXT');
  8451. glVariantPointerEXT := gl_GetProc('glVariantPointerEXT');
  8452. glEnableVariantClientStateEXT := gl_GetProc('glEnableVariantClientStateEXT');
  8453. glDisableVariantClientStateEXT := gl_GetProc('glDisableVariantClientStateEXT');
  8454. glBindLightParameterEXT := gl_GetProc('glBindLightParameterEXT');
  8455. glBindMaterialParameterEXT := gl_GetProc('glBindMaterialParameterEXT');
  8456. glBindTexGenParameterEXT := gl_GetProc('glBindTexGenParameterEXT');
  8457. glBindTextureUnitParameterEXT := gl_GetProc('glBindTextureUnitParameterEXT');
  8458. glBindParameterEXT := gl_GetProc('glBindParameterEXT');
  8459. glIsVariantEnabledEXT := gl_GetProc('glIsVariantEnabledEXT');
  8460. glGetVariantBooleanvEXT := gl_GetProc('glGetVariantBooleanvEXT');
  8461. glGetVariantIntegervEXT := gl_GetProc('glGetVariantIntegervEXT');
  8462. glGetVariantFloatvEXT := gl_GetProc('glGetVariantFloatvEXT');
  8463. glGetVariantPointervEXT := gl_GetProc('glGetVariantPointervEXT');
  8464. glGetInvariantBooleanvEXT := gl_GetProc('glGetInvariantBooleanvEXT');
  8465. glGetInvariantIntegervEXT := gl_GetProc('glGetInvariantIntegervEXT');
  8466. glGetInvariantFloatvEXT := gl_GetProc('glGetInvariantFloatvEXT');
  8467. glGetLocalConstantBooleanvEXT := gl_GetProc('glGetLocalConstantBooleanvEXT');
  8468. glGetLocalConstantIntegervEXT := gl_GetProc('glGetLocalConstantIntegervEXT');
  8469. glGetLocalConstantFloatvEXT := gl_GetProc('glGetLocalConstantFloatvEXT');
  8470. end;
  8471. {$EndIf}
  8472. {$IfDef GL_EXT_vertex_weighting}
  8473. if GL_EXT_vertex_weighting then
  8474. begin
  8475. glVertexWeightfEXT := gl_GetProc('glVertexWeightfEXT');
  8476. glVertexWeightfvEXT := gl_GetProc('glVertexWeightfvEXT');
  8477. glVertexWeightPointerEXT := gl_GetProc('glVertexWeightPointerEXT');
  8478. end;
  8479. {$EndIf}
  8480. {$IfDef GL_EXT_win32_keyed_mutex}
  8481. if GL_EXT_win32_keyed_mutex then
  8482. begin
  8483. glAcquireKeyedMutexWin32EXT := gl_GetProc('glAcquireKeyedMutexWin32EXT');
  8484. glReleaseKeyedMutexWin32EXT := gl_GetProc('glReleaseKeyedMutexWin32EXT');
  8485. end;
  8486. {$EndIf}
  8487. {$IfDef GL_EXT_window_rectangles}
  8488. if GL_EXT_window_rectangles then
  8489. glWindowRectanglesEXT := gl_GetProc('glWindowRectanglesEXT');
  8490. {$EndIf}
  8491. {$IfDef GL_EXT_x11_sync_object}
  8492. if GL_EXT_x11_sync_object then
  8493. glImportSyncEXT := gl_GetProc('glImportSyncEXT');
  8494. {$EndIf}
  8495. {$IfDef GL_GREMEDY_frame_terminator}
  8496. if GL_GREMEDY_frame_terminator then
  8497. glFrameTerminatorGREMEDY := gl_GetProc('glFrameTerminatorGREMEDY');
  8498. {$EndIf}
  8499. {$IfDef GL_GREMEDY_string_marker}
  8500. if GL_GREMEDY_string_marker then
  8501. glStringMarkerGREMEDY := gl_GetProc('glStringMarkerGREMEDY');
  8502. {$EndIf}
  8503. {$IfDef GL_HP_image_transform}
  8504. if GL_HP_image_transform then
  8505. begin
  8506. glImageTransformParameteriHP := gl_GetProc('glImageTransformParameteriHP');
  8507. glImageTransformParameterfHP := gl_GetProc('glImageTransformParameterfHP');
  8508. glImageTransformParameterivHP := gl_GetProc('glImageTransformParameterivHP');
  8509. glImageTransformParameterfvHP := gl_GetProc('glImageTransformParameterfvHP');
  8510. glGetImageTransformParameterivHP := gl_GetProc('glGetImageTransformParameterivHP');
  8511. glGetImageTransformParameterfvHP := gl_GetProc('glGetImageTransformParameterfvHP');
  8512. end;
  8513. {$EndIf}
  8514. {$IfDef GL_IBM_multimode_draw_arrays}
  8515. if GL_IBM_multimode_draw_arrays then
  8516. begin
  8517. glMultiModeDrawArraysIBM := gl_GetProc('glMultiModeDrawArraysIBM');
  8518. glMultiModeDrawElementsIBM := gl_GetProc('glMultiModeDrawElementsIBM');
  8519. end;
  8520. {$EndIf}
  8521. {$IfDef GL_IBM_static_data}
  8522. if GL_IBM_static_data then
  8523. glFlushStaticDataIBM := gl_GetProc('glFlushStaticDataIBM');
  8524. {$EndIf}
  8525. {$IfDef GL_IBM_vertex_array_lists}
  8526. if GL_IBM_vertex_array_lists then
  8527. begin
  8528. glColorPointerListIBM := gl_GetProc('glColorPointerListIBM');
  8529. glSecondaryColorPointerListIBM := gl_GetProc('glSecondaryColorPointerListIBM');
  8530. glEdgeFlagPointerListIBM := gl_GetProc('glEdgeFlagPointerListIBM');
  8531. glFogCoordPointerListIBM := gl_GetProc('glFogCoordPointerListIBM');
  8532. glIndexPointerListIBM := gl_GetProc('glIndexPointerListIBM');
  8533. glNormalPointerListIBM := gl_GetProc('glNormalPointerListIBM');
  8534. glTexCoordPointerListIBM := gl_GetProc('glTexCoordPointerListIBM');
  8535. glVertexPointerListIBM := gl_GetProc('glVertexPointerListIBM');
  8536. end;
  8537. {$EndIf}
  8538. {$IfDef GL_INGR_blend_func_separate}
  8539. if GL_INGR_blend_func_separate then
  8540. glBlendFuncSeparateINGR := gl_GetProc('glBlendFuncSeparateINGR');
  8541. {$EndIf}
  8542. {$IfDef GL_INTEL_framebuffer_CMAA}
  8543. if GL_INTEL_framebuffer_CMAA then
  8544. glApplyFramebufferAttachmentCMAAINTEL := gl_GetProc('glApplyFramebufferAttachmentCMAAINTEL');
  8545. {$EndIf}
  8546. {$IfDef GL_INTEL_map_texture}
  8547. if GL_INTEL_map_texture then
  8548. begin
  8549. glSyncTextureINTEL := gl_GetProc('glSyncTextureINTEL');
  8550. glUnmapTexture2DINTEL := gl_GetProc('glUnmapTexture2DINTEL');
  8551. glMapTexture2DINTEL := gl_GetProc('glMapTexture2DINTEL');
  8552. end;
  8553. {$EndIf}
  8554. {$IfDef GL_INTEL_parallel_arrays}
  8555. if GL_INTEL_parallel_arrays then
  8556. begin
  8557. glVertexPointervINTEL := gl_GetProc('glVertexPointervINTEL');
  8558. glNormalPointervINTEL := gl_GetProc('glNormalPointervINTEL');
  8559. glColorPointervINTEL := gl_GetProc('glColorPointervINTEL');
  8560. glTexCoordPointervINTEL := gl_GetProc('glTexCoordPointervINTEL');
  8561. end;
  8562. {$EndIf}
  8563. {$IfDef GL_INTEL_performance_query}
  8564. if GL_INTEL_performance_query then
  8565. begin
  8566. glBeginPerfQueryINTEL := gl_GetProc('glBeginPerfQueryINTEL');
  8567. glCreatePerfQueryINTEL := gl_GetProc('glCreatePerfQueryINTEL');
  8568. glDeletePerfQueryINTEL := gl_GetProc('glDeletePerfQueryINTEL');
  8569. glEndPerfQueryINTEL := gl_GetProc('glEndPerfQueryINTEL');
  8570. glGetFirstPerfQueryIdINTEL := gl_GetProc('glGetFirstPerfQueryIdINTEL');
  8571. glGetNextPerfQueryIdINTEL := gl_GetProc('glGetNextPerfQueryIdINTEL');
  8572. glGetPerfCounterInfoINTEL := gl_GetProc('glGetPerfCounterInfoINTEL');
  8573. glGetPerfQueryDataINTEL := gl_GetProc('glGetPerfQueryDataINTEL');
  8574. glGetPerfQueryIdByNameINTEL := gl_GetProc('glGetPerfQueryIdByNameINTEL');
  8575. glGetPerfQueryInfoINTEL := gl_GetProc('glGetPerfQueryInfoINTEL');
  8576. end;
  8577. {$EndIf}
  8578. {$IfDef GL_MESA_framebuffer_flip_y}
  8579. if GL_MESA_framebuffer_flip_y then
  8580. begin
  8581. glFramebufferParameteriMESA := gl_GetProc('glFramebufferParameteriMESA');
  8582. glGetFramebufferParameterivMESA := gl_GetProc('glGetFramebufferParameterivMESA');
  8583. end;
  8584. {$EndIf}
  8585. {$IfDef GL_MESA_resize_buffers}
  8586. if GL_MESA_resize_buffers then
  8587. glResizeBuffersMESA := gl_GetProc('glResizeBuffersMESA');
  8588. {$EndIf}
  8589. {$IfDef GL_MESA_window_pos}
  8590. if GL_MESA_window_pos then
  8591. begin
  8592. glWindowPos2dMESA := gl_GetProc('glWindowPos2dMESA');
  8593. glWindowPos2dvMESA := gl_GetProc('glWindowPos2dvMESA');
  8594. glWindowPos2fMESA := gl_GetProc('glWindowPos2fMESA');
  8595. glWindowPos2fvMESA := gl_GetProc('glWindowPos2fvMESA');
  8596. glWindowPos2iMESA := gl_GetProc('glWindowPos2iMESA');
  8597. glWindowPos2ivMESA := gl_GetProc('glWindowPos2ivMESA');
  8598. glWindowPos2sMESA := gl_GetProc('glWindowPos2sMESA');
  8599. glWindowPos2svMESA := gl_GetProc('glWindowPos2svMESA');
  8600. glWindowPos3dMESA := gl_GetProc('glWindowPos3dMESA');
  8601. glWindowPos3dvMESA := gl_GetProc('glWindowPos3dvMESA');
  8602. glWindowPos3fMESA := gl_GetProc('glWindowPos3fMESA');
  8603. glWindowPos3fvMESA := gl_GetProc('glWindowPos3fvMESA');
  8604. glWindowPos3iMESA := gl_GetProc('glWindowPos3iMESA');
  8605. glWindowPos3ivMESA := gl_GetProc('glWindowPos3ivMESA');
  8606. glWindowPos3sMESA := gl_GetProc('glWindowPos3sMESA');
  8607. glWindowPos3svMESA := gl_GetProc('glWindowPos3svMESA');
  8608. glWindowPos4dMESA := gl_GetProc('glWindowPos4dMESA');
  8609. glWindowPos4dvMESA := gl_GetProc('glWindowPos4dvMESA');
  8610. glWindowPos4fMESA := gl_GetProc('glWindowPos4fMESA');
  8611. glWindowPos4fvMESA := gl_GetProc('glWindowPos4fvMESA');
  8612. glWindowPos4iMESA := gl_GetProc('glWindowPos4iMESA');
  8613. glWindowPos4ivMESA := gl_GetProc('glWindowPos4ivMESA');
  8614. glWindowPos4sMESA := gl_GetProc('glWindowPos4sMESA');
  8615. glWindowPos4svMESA := gl_GetProc('glWindowPos4svMESA');
  8616. end;
  8617. {$EndIf}
  8618. {$IfDef GL_NVX_conditional_render}
  8619. if GL_NVX_conditional_render then
  8620. begin
  8621. glBeginConditionalRenderNVX := gl_GetProc('glBeginConditionalRenderNVX');
  8622. glEndConditionalRenderNVX := gl_GetProc('glEndConditionalRenderNVX');
  8623. end;
  8624. {$EndIf}
  8625. {$IfDef GL_NVX_gpu_multicast2}
  8626. if GL_NVX_gpu_multicast2 then
  8627. begin
  8628. glUploadGpuMaskNVX := gl_GetProc('glUploadGpuMaskNVX');
  8629. glMulticastViewportArrayvNVX := gl_GetProc('glMulticastViewportArrayvNVX');
  8630. glMulticastViewportPositionWScaleNVX := gl_GetProc('glMulticastViewportPositionWScaleNVX');
  8631. glMulticastScissorArrayvNVX := gl_GetProc('glMulticastScissorArrayvNVX');
  8632. glAsyncCopyBufferSubDataNVX := gl_GetProc('glAsyncCopyBufferSubDataNVX');
  8633. glAsyncCopyImageSubDataNVX := gl_GetProc('glAsyncCopyImageSubDataNVX');
  8634. end;
  8635. {$EndIf}
  8636. {$IfDef GL_NVX_linked_gpu_multicast}
  8637. if GL_NVX_linked_gpu_multicast then
  8638. begin
  8639. glLGPUNamedBufferSubDataNVX := gl_GetProc('glLGPUNamedBufferSubDataNVX');
  8640. glLGPUCopyImageSubDataNVX := gl_GetProc('glLGPUCopyImageSubDataNVX');
  8641. glLGPUInterlockNVX := gl_GetProc('glLGPUInterlockNVX');
  8642. end;
  8643. {$EndIf}
  8644. {$IfDef GL_NVX_progress_fence}
  8645. if GL_NVX_progress_fence then
  8646. begin
  8647. glCreateProgressFenceNVX := gl_GetProc('glCreateProgressFenceNVX');
  8648. glSignalSemaphoreui64NVX := gl_GetProc('glSignalSemaphoreui64NVX');
  8649. glWaitSemaphoreui64NVX := gl_GetProc('glWaitSemaphoreui64NVX');
  8650. glClientWaitSemaphoreui64NVX := gl_GetProc('glClientWaitSemaphoreui64NVX');
  8651. end;
  8652. {$EndIf}
  8653. {$IfDef GL_NV_alpha_to_coverage_dither_control}
  8654. if GL_NV_alpha_to_coverage_dither_control then
  8655. glAlphaToCoverageDitherControlNV := gl_GetProc('glAlphaToCoverageDitherControlNV');
  8656. {$EndIf}
  8657. {$IfDef GL_NV_bindless_multi_draw_indirect}
  8658. if GL_NV_bindless_multi_draw_indirect then
  8659. begin
  8660. glMultiDrawArraysIndirectBindlessNV := gl_GetProc('glMultiDrawArraysIndirectBindlessNV');
  8661. glMultiDrawElementsIndirectBindlessNV := gl_GetProc('glMultiDrawElementsIndirectBindlessNV');
  8662. end;
  8663. {$EndIf}
  8664. {$IfDef GL_NV_bindless_multi_draw_indirect_count}
  8665. if GL_NV_bindless_multi_draw_indirect_count then
  8666. begin
  8667. glMultiDrawArraysIndirectBindlessCountNV := gl_GetProc('glMultiDrawArraysIndirectBindlessCountNV');
  8668. glMultiDrawElementsIndirectBindlessCountNV := gl_GetProc('glMultiDrawElementsIndirectBindlessCountNV');
  8669. end;
  8670. {$EndIf}
  8671. {$IfDef GL_NV_bindless_texture}
  8672. if GL_NV_bindless_texture then
  8673. begin
  8674. glGetTextureHandleNV := gl_GetProc('glGetTextureHandleNV');
  8675. glGetTextureSamplerHandleNV := gl_GetProc('glGetTextureSamplerHandleNV');
  8676. glMakeTextureHandleResidentNV := gl_GetProc('glMakeTextureHandleResidentNV');
  8677. glMakeTextureHandleNonResidentNV := gl_GetProc('glMakeTextureHandleNonResidentNV');
  8678. glGetImageHandleNV := gl_GetProc('glGetImageHandleNV');
  8679. glMakeImageHandleResidentNV := gl_GetProc('glMakeImageHandleResidentNV');
  8680. glMakeImageHandleNonResidentNV := gl_GetProc('glMakeImageHandleNonResidentNV');
  8681. glUniformHandleui64NV := gl_GetProc('glUniformHandleui64NV');
  8682. glUniformHandleui64vNV := gl_GetProc('glUniformHandleui64vNV');
  8683. glProgramUniformHandleui64NV := gl_GetProc('glProgramUniformHandleui64NV');
  8684. glProgramUniformHandleui64vNV := gl_GetProc('glProgramUniformHandleui64vNV');
  8685. glIsTextureHandleResidentNV := gl_GetProc('glIsTextureHandleResidentNV');
  8686. glIsImageHandleResidentNV := gl_GetProc('glIsImageHandleResidentNV');
  8687. end;
  8688. {$EndIf}
  8689. {$IfDef GL_NV_blend_equation_advanced}
  8690. if GL_NV_blend_equation_advanced then
  8691. begin
  8692. glBlendParameteriNV := gl_GetProc('glBlendParameteriNV');
  8693. glBlendBarrierNV := gl_GetProc('glBlendBarrierNV');
  8694. end;
  8695. {$EndIf}
  8696. {$IfDef GL_NV_clip_space_w_scaling}
  8697. if GL_NV_clip_space_w_scaling then
  8698. glViewportPositionWScaleNV := gl_GetProc('glViewportPositionWScaleNV');
  8699. {$EndIf}
  8700. {$IfDef GL_NV_command_list}
  8701. if GL_NV_command_list then
  8702. begin
  8703. glCreateStatesNV := gl_GetProc('glCreateStatesNV');
  8704. glDeleteStatesNV := gl_GetProc('glDeleteStatesNV');
  8705. glIsStateNV := gl_GetProc('glIsStateNV');
  8706. glStateCaptureNV := gl_GetProc('glStateCaptureNV');
  8707. glGetCommandHeaderNV := gl_GetProc('glGetCommandHeaderNV');
  8708. glGetStageIndexNV := gl_GetProc('glGetStageIndexNV');
  8709. glDrawCommandsNV := gl_GetProc('glDrawCommandsNV');
  8710. glDrawCommandsAddressNV := gl_GetProc('glDrawCommandsAddressNV');
  8711. glDrawCommandsStatesNV := gl_GetProc('glDrawCommandsStatesNV');
  8712. glDrawCommandsStatesAddressNV := gl_GetProc('glDrawCommandsStatesAddressNV');
  8713. glCreateCommandListsNV := gl_GetProc('glCreateCommandListsNV');
  8714. glDeleteCommandListsNV := gl_GetProc('glDeleteCommandListsNV');
  8715. glIsCommandListNV := gl_GetProc('glIsCommandListNV');
  8716. glListDrawCommandsStatesClientNV := gl_GetProc('glListDrawCommandsStatesClientNV');
  8717. glCommandListSegmentsNV := gl_GetProc('glCommandListSegmentsNV');
  8718. glCompileCommandListNV := gl_GetProc('glCompileCommandListNV');
  8719. glCallCommandListNV := gl_GetProc('glCallCommandListNV');
  8720. end;
  8721. {$EndIf}
  8722. {$IfDef GL_NV_conditional_render}
  8723. if GL_NV_conditional_render then
  8724. begin
  8725. glBeginConditionalRenderNV := gl_GetProc('glBeginConditionalRenderNV');
  8726. glEndConditionalRenderNV := gl_GetProc('glEndConditionalRenderNV');
  8727. end;
  8728. {$EndIf}
  8729. {$IfDef GL_NV_conservative_raster}
  8730. if GL_NV_conservative_raster then
  8731. glSubpixelPrecisionBiasNV := gl_GetProc('glSubpixelPrecisionBiasNV');
  8732. {$EndIf}
  8733. {$IfDef GL_NV_conservative_raster_dilate}
  8734. if GL_NV_conservative_raster_dilate then
  8735. glConservativeRasterParameterfNV := gl_GetProc('glConservativeRasterParameterfNV');
  8736. {$EndIf}
  8737. {$IfDef GL_NV_conservative_raster_pre_snap_triangles}
  8738. if GL_NV_conservative_raster_pre_snap_triangles then
  8739. glConservativeRasterParameteriNV := gl_GetProc('glConservativeRasterParameteriNV');
  8740. {$EndIf}
  8741. {$IfDef GL_NV_copy_image}
  8742. if GL_NV_copy_image then
  8743. glCopyImageSubDataNV := gl_GetProc('glCopyImageSubDataNV');
  8744. {$EndIf}
  8745. {$IfDef GL_NV_depth_buffer_float}
  8746. if GL_NV_depth_buffer_float then
  8747. begin
  8748. glDepthRangedNV := gl_GetProc('glDepthRangedNV');
  8749. glClearDepthdNV := gl_GetProc('glClearDepthdNV');
  8750. glDepthBoundsdNV := gl_GetProc('glDepthBoundsdNV');
  8751. end;
  8752. {$EndIf}
  8753. {$IfDef GL_NV_draw_texture}
  8754. if GL_NV_draw_texture then
  8755. glDrawTextureNV := gl_GetProc('glDrawTextureNV');
  8756. {$EndIf}
  8757. {$IfDef GL_NV_draw_vulkan_image}
  8758. if GL_NV_draw_vulkan_image then
  8759. begin
  8760. glDrawVkImageNV := gl_GetProc('glDrawVkImageNV');
  8761. glGetVkProcAddrNV := gl_GetProc('glGetVkProcAddrNV');
  8762. glWaitVkSemaphoreNV := gl_GetProc('glWaitVkSemaphoreNV');
  8763. glSignalVkSemaphoreNV := gl_GetProc('glSignalVkSemaphoreNV');
  8764. glSignalVkFenceNV := gl_GetProc('glSignalVkFenceNV');
  8765. end;
  8766. {$EndIf}
  8767. {$IfDef GL_NV_evaluators}
  8768. if GL_NV_evaluators then
  8769. begin
  8770. glMapControlPointsNV := gl_GetProc('glMapControlPointsNV');
  8771. glMapParameterivNV := gl_GetProc('glMapParameterivNV');
  8772. glMapParameterfvNV := gl_GetProc('glMapParameterfvNV');
  8773. glGetMapControlPointsNV := gl_GetProc('glGetMapControlPointsNV');
  8774. glGetMapParameterivNV := gl_GetProc('glGetMapParameterivNV');
  8775. glGetMapParameterfvNV := gl_GetProc('glGetMapParameterfvNV');
  8776. glGetMapAttribParameterivNV := gl_GetProc('glGetMapAttribParameterivNV');
  8777. glGetMapAttribParameterfvNV := gl_GetProc('glGetMapAttribParameterfvNV');
  8778. glEvalMapsNV := gl_GetProc('glEvalMapsNV');
  8779. end;
  8780. {$EndIf}
  8781. {$IfDef GL_NV_explicit_multisample}
  8782. if GL_NV_explicit_multisample then
  8783. begin
  8784. glGetMultisamplefvNV := gl_GetProc('glGetMultisamplefvNV');
  8785. glSampleMaskIndexedNV := gl_GetProc('glSampleMaskIndexedNV');
  8786. glTexRenderbufferNV := gl_GetProc('glTexRenderbufferNV');
  8787. end;
  8788. {$EndIf}
  8789. {$IfDef GL_NV_fence}
  8790. if GL_NV_fence then
  8791. begin
  8792. glDeleteFencesNV := gl_GetProc('glDeleteFencesNV');
  8793. glGenFencesNV := gl_GetProc('glGenFencesNV');
  8794. glIsFenceNV := gl_GetProc('glIsFenceNV');
  8795. glTestFenceNV := gl_GetProc('glTestFenceNV');
  8796. glGetFenceivNV := gl_GetProc('glGetFenceivNV');
  8797. glFinishFenceNV := gl_GetProc('glFinishFenceNV');
  8798. glSetFenceNV := gl_GetProc('glSetFenceNV');
  8799. end;
  8800. {$EndIf}
  8801. {$IfDef GL_NV_fragment_coverage_to_color}
  8802. if GL_NV_fragment_coverage_to_color then
  8803. glFragmentCoverageColorNV := gl_GetProc('glFragmentCoverageColorNV');
  8804. {$EndIf}
  8805. {$IfDef GL_NV_fragment_program}
  8806. if GL_NV_fragment_program then
  8807. begin
  8808. glProgramNamedParameter4fNV := gl_GetProc('glProgramNamedParameter4fNV');
  8809. glProgramNamedParameter4fvNV := gl_GetProc('glProgramNamedParameter4fvNV');
  8810. glProgramNamedParameter4dNV := gl_GetProc('glProgramNamedParameter4dNV');
  8811. glProgramNamedParameter4dvNV := gl_GetProc('glProgramNamedParameter4dvNV');
  8812. glGetProgramNamedParameterfvNV := gl_GetProc('glGetProgramNamedParameterfvNV');
  8813. glGetProgramNamedParameterdvNV := gl_GetProc('glGetProgramNamedParameterdvNV');
  8814. end;
  8815. {$EndIf}
  8816. {$IfDef GL_NV_framebuffer_mixed_samples}
  8817. if GL_NV_framebuffer_mixed_samples then
  8818. begin
  8819. glCoverageModulationTableNV := gl_GetProc('glCoverageModulationTableNV');
  8820. glGetCoverageModulationTableNV := gl_GetProc('glGetCoverageModulationTableNV');
  8821. glCoverageModulationNV := gl_GetProc('glCoverageModulationNV');
  8822. end;
  8823. {$EndIf}
  8824. {$IfDef GL_NV_framebuffer_multisample_coverage}
  8825. if GL_NV_framebuffer_multisample_coverage then
  8826. glRenderbufferStorageMultisampleCoverageNV := gl_GetProc('glRenderbufferStorageMultisampleCoverageNV');
  8827. {$EndIf}
  8828. {$IfDef GL_NV_geometry_program4}
  8829. if GL_NV_geometry_program4 then
  8830. begin
  8831. glProgramVertexLimitNV := gl_GetProc('glProgramVertexLimitNV');
  8832. glFramebufferTextureEXT := gl_GetProc('glFramebufferTextureEXT');
  8833. glFramebufferTextureFaceEXT := gl_GetProc('glFramebufferTextureFaceEXT');
  8834. end;
  8835. {$EndIf}
  8836. {$IfDef GL_NV_gpu_multicast}
  8837. if GL_NV_gpu_multicast then
  8838. begin
  8839. glRenderGpuMaskNV := gl_GetProc('glRenderGpuMaskNV');
  8840. glMulticastBufferSubDataNV := gl_GetProc('glMulticastBufferSubDataNV');
  8841. glMulticastCopyBufferSubDataNV := gl_GetProc('glMulticastCopyBufferSubDataNV');
  8842. glMulticastCopyImageSubDataNV := gl_GetProc('glMulticastCopyImageSubDataNV');
  8843. glMulticastBlitFramebufferNV := gl_GetProc('glMulticastBlitFramebufferNV');
  8844. glMulticastFramebufferSampleLocationsfvNV := gl_GetProc('glMulticastFramebufferSampleLocationsfvNV');
  8845. glMulticastBarrierNV := gl_GetProc('glMulticastBarrierNV');
  8846. glMulticastWaitSyncNV := gl_GetProc('glMulticastWaitSyncNV');
  8847. glMulticastGetQueryObjectivNV := gl_GetProc('glMulticastGetQueryObjectivNV');
  8848. glMulticastGetQueryObjectuivNV := gl_GetProc('glMulticastGetQueryObjectuivNV');
  8849. glMulticastGetQueryObjecti64vNV := gl_GetProc('glMulticastGetQueryObjecti64vNV');
  8850. glMulticastGetQueryObjectui64vNV := gl_GetProc('glMulticastGetQueryObjectui64vNV');
  8851. end;
  8852. {$EndIf}
  8853. {$IfDef GL_NV_gpu_program4}
  8854. if GL_NV_gpu_program4 then
  8855. begin
  8856. glProgramLocalParameterI4iNV := gl_GetProc('glProgramLocalParameterI4iNV');
  8857. glProgramLocalParameterI4ivNV := gl_GetProc('glProgramLocalParameterI4ivNV');
  8858. glProgramLocalParametersI4ivNV := gl_GetProc('glProgramLocalParametersI4ivNV');
  8859. glProgramLocalParameterI4uiNV := gl_GetProc('glProgramLocalParameterI4uiNV');
  8860. glProgramLocalParameterI4uivNV := gl_GetProc('glProgramLocalParameterI4uivNV');
  8861. glProgramLocalParametersI4uivNV := gl_GetProc('glProgramLocalParametersI4uivNV');
  8862. glProgramEnvParameterI4iNV := gl_GetProc('glProgramEnvParameterI4iNV');
  8863. glProgramEnvParameterI4ivNV := gl_GetProc('glProgramEnvParameterI4ivNV');
  8864. glProgramEnvParametersI4ivNV := gl_GetProc('glProgramEnvParametersI4ivNV');
  8865. glProgramEnvParameterI4uiNV := gl_GetProc('glProgramEnvParameterI4uiNV');
  8866. glProgramEnvParameterI4uivNV := gl_GetProc('glProgramEnvParameterI4uivNV');
  8867. glProgramEnvParametersI4uivNV := gl_GetProc('glProgramEnvParametersI4uivNV');
  8868. glGetProgramLocalParameterIivNV := gl_GetProc('glGetProgramLocalParameterIivNV');
  8869. glGetProgramLocalParameterIuivNV := gl_GetProc('glGetProgramLocalParameterIuivNV');
  8870. glGetProgramEnvParameterIivNV := gl_GetProc('glGetProgramEnvParameterIivNV');
  8871. glGetProgramEnvParameterIuivNV := gl_GetProc('glGetProgramEnvParameterIuivNV');
  8872. end;
  8873. {$EndIf}
  8874. {$IfDef GL_NV_gpu_program5}
  8875. if GL_NV_gpu_program5 then
  8876. begin
  8877. glProgramSubroutineParametersuivNV := gl_GetProc('glProgramSubroutineParametersuivNV');
  8878. glGetProgramSubroutineParameteruivNV := gl_GetProc('glGetProgramSubroutineParameteruivNV');
  8879. end;
  8880. {$EndIf}
  8881. {$IfDef GL_NV_half_float}
  8882. if GL_NV_half_float then
  8883. begin
  8884. glVertex2hNV := gl_GetProc('glVertex2hNV');
  8885. glVertex2hvNV := gl_GetProc('glVertex2hvNV');
  8886. glVertex3hNV := gl_GetProc('glVertex3hNV');
  8887. glVertex3hvNV := gl_GetProc('glVertex3hvNV');
  8888. glVertex4hNV := gl_GetProc('glVertex4hNV');
  8889. glVertex4hvNV := gl_GetProc('glVertex4hvNV');
  8890. glNormal3hNV := gl_GetProc('glNormal3hNV');
  8891. glNormal3hvNV := gl_GetProc('glNormal3hvNV');
  8892. glColor3hNV := gl_GetProc('glColor3hNV');
  8893. glColor3hvNV := gl_GetProc('glColor3hvNV');
  8894. glColor4hNV := gl_GetProc('glColor4hNV');
  8895. glColor4hvNV := gl_GetProc('glColor4hvNV');
  8896. glTexCoord1hNV := gl_GetProc('glTexCoord1hNV');
  8897. glTexCoord1hvNV := gl_GetProc('glTexCoord1hvNV');
  8898. glTexCoord2hNV := gl_GetProc('glTexCoord2hNV');
  8899. glTexCoord2hvNV := gl_GetProc('glTexCoord2hvNV');
  8900. glTexCoord3hNV := gl_GetProc('glTexCoord3hNV');
  8901. glTexCoord3hvNV := gl_GetProc('glTexCoord3hvNV');
  8902. glTexCoord4hNV := gl_GetProc('glTexCoord4hNV');
  8903. glTexCoord4hvNV := gl_GetProc('glTexCoord4hvNV');
  8904. glMultiTexCoord1hNV := gl_GetProc('glMultiTexCoord1hNV');
  8905. glMultiTexCoord1hvNV := gl_GetProc('glMultiTexCoord1hvNV');
  8906. glMultiTexCoord2hNV := gl_GetProc('glMultiTexCoord2hNV');
  8907. glMultiTexCoord2hvNV := gl_GetProc('glMultiTexCoord2hvNV');
  8908. glMultiTexCoord3hNV := gl_GetProc('glMultiTexCoord3hNV');
  8909. glMultiTexCoord3hvNV := gl_GetProc('glMultiTexCoord3hvNV');
  8910. glMultiTexCoord4hNV := gl_GetProc('glMultiTexCoord4hNV');
  8911. glMultiTexCoord4hvNV := gl_GetProc('glMultiTexCoord4hvNV');
  8912. glFogCoordhNV := gl_GetProc('glFogCoordhNV');
  8913. glFogCoordhvNV := gl_GetProc('glFogCoordhvNV');
  8914. glSecondaryColor3hNV := gl_GetProc('glSecondaryColor3hNV');
  8915. glSecondaryColor3hvNV := gl_GetProc('glSecondaryColor3hvNV');
  8916. glVertexWeighthNV := gl_GetProc('glVertexWeighthNV');
  8917. glVertexWeighthvNV := gl_GetProc('glVertexWeighthvNV');
  8918. glVertexAttrib1hNV := gl_GetProc('glVertexAttrib1hNV');
  8919. glVertexAttrib1hvNV := gl_GetProc('glVertexAttrib1hvNV');
  8920. glVertexAttrib2hNV := gl_GetProc('glVertexAttrib2hNV');
  8921. glVertexAttrib2hvNV := gl_GetProc('glVertexAttrib2hvNV');
  8922. glVertexAttrib3hNV := gl_GetProc('glVertexAttrib3hNV');
  8923. glVertexAttrib3hvNV := gl_GetProc('glVertexAttrib3hvNV');
  8924. glVertexAttrib4hNV := gl_GetProc('glVertexAttrib4hNV');
  8925. glVertexAttrib4hvNV := gl_GetProc('glVertexAttrib4hvNV');
  8926. glVertexAttribs1hvNV := gl_GetProc('glVertexAttribs1hvNV');
  8927. glVertexAttribs2hvNV := gl_GetProc('glVertexAttribs2hvNV');
  8928. glVertexAttribs3hvNV := gl_GetProc('glVertexAttribs3hvNV');
  8929. glVertexAttribs4hvNV := gl_GetProc('glVertexAttribs4hvNV');
  8930. end;
  8931. {$EndIf}
  8932. {$IfDef GL_NV_internalformat_sample_query}
  8933. if GL_NV_internalformat_sample_query then
  8934. glGetInternalformatSampleivNV := gl_GetProc('glGetInternalformatSampleivNV');
  8935. {$EndIf}
  8936. {$IfDef GL_NV_memory_attachment}
  8937. if GL_NV_memory_attachment then
  8938. begin
  8939. glGetMemoryObjectDetachedResourcesuivNV := gl_GetProc('glGetMemoryObjectDetachedResourcesuivNV');
  8940. glResetMemoryObjectParameterNV := gl_GetProc('glResetMemoryObjectParameterNV');
  8941. glTexAttachMemoryNV := gl_GetProc('glTexAttachMemoryNV');
  8942. glBufferAttachMemoryNV := gl_GetProc('glBufferAttachMemoryNV');
  8943. glTextureAttachMemoryNV := gl_GetProc('glTextureAttachMemoryNV');
  8944. glNamedBufferAttachMemoryNV := gl_GetProc('glNamedBufferAttachMemoryNV');
  8945. end;
  8946. {$EndIf}
  8947. {$IfDef GL_NV_memory_object_sparse}
  8948. if GL_NV_memory_object_sparse then
  8949. begin
  8950. glBufferPageCommitmentMemNV := gl_GetProc('glBufferPageCommitmentMemNV');
  8951. glTexPageCommitmentMemNV := gl_GetProc('glTexPageCommitmentMemNV');
  8952. glNamedBufferPageCommitmentMemNV := gl_GetProc('glNamedBufferPageCommitmentMemNV');
  8953. glTexturePageCommitmentMemNV := gl_GetProc('glTexturePageCommitmentMemNV');
  8954. end;
  8955. {$EndIf}
  8956. {$IfDef GL_NV_mesh_shader}
  8957. if GL_NV_mesh_shader then
  8958. begin
  8959. glDrawMeshTasksNV := gl_GetProc('glDrawMeshTasksNV');
  8960. glDrawMeshTasksIndirectNV := gl_GetProc('glDrawMeshTasksIndirectNV');
  8961. glMultiDrawMeshTasksIndirectNV := gl_GetProc('glMultiDrawMeshTasksIndirectNV');
  8962. glMultiDrawMeshTasksIndirectCountNV := gl_GetProc('glMultiDrawMeshTasksIndirectCountNV');
  8963. end;
  8964. {$EndIf}
  8965. {$IfDef GL_NV_occlusion_query}
  8966. if GL_NV_occlusion_query then
  8967. begin
  8968. glGenOcclusionQueriesNV := gl_GetProc('glGenOcclusionQueriesNV');
  8969. glDeleteOcclusionQueriesNV := gl_GetProc('glDeleteOcclusionQueriesNV');
  8970. glIsOcclusionQueryNV := gl_GetProc('glIsOcclusionQueryNV');
  8971. glBeginOcclusionQueryNV := gl_GetProc('glBeginOcclusionQueryNV');
  8972. glEndOcclusionQueryNV := gl_GetProc('glEndOcclusionQueryNV');
  8973. glGetOcclusionQueryivNV := gl_GetProc('glGetOcclusionQueryivNV');
  8974. glGetOcclusionQueryuivNV := gl_GetProc('glGetOcclusionQueryuivNV');
  8975. end;
  8976. {$EndIf}
  8977. {$IfDef GL_NV_parameter_buffer_object}
  8978. if GL_NV_parameter_buffer_object then
  8979. begin
  8980. glProgramBufferParametersfvNV := gl_GetProc('glProgramBufferParametersfvNV');
  8981. glProgramBufferParametersIivNV := gl_GetProc('glProgramBufferParametersIivNV');
  8982. glProgramBufferParametersIuivNV := gl_GetProc('glProgramBufferParametersIuivNV');
  8983. end;
  8984. {$EndIf}
  8985. {$IfDef GL_NV_path_rendering}
  8986. if GL_NV_path_rendering then
  8987. begin
  8988. glGenPathsNV := gl_GetProc('glGenPathsNV');
  8989. glDeletePathsNV := gl_GetProc('glDeletePathsNV');
  8990. glIsPathNV := gl_GetProc('glIsPathNV');
  8991. glPathCommandsNV := gl_GetProc('glPathCommandsNV');
  8992. glPathCoordsNV := gl_GetProc('glPathCoordsNV');
  8993. glPathSubCommandsNV := gl_GetProc('glPathSubCommandsNV');
  8994. glPathSubCoordsNV := gl_GetProc('glPathSubCoordsNV');
  8995. glPathStringNV := gl_GetProc('glPathStringNV');
  8996. glPathGlyphsNV := gl_GetProc('glPathGlyphsNV');
  8997. glPathGlyphRangeNV := gl_GetProc('glPathGlyphRangeNV');
  8998. glWeightPathsNV := gl_GetProc('glWeightPathsNV');
  8999. glCopyPathNV := gl_GetProc('glCopyPathNV');
  9000. glInterpolatePathsNV := gl_GetProc('glInterpolatePathsNV');
  9001. glTransformPathNV := gl_GetProc('glTransformPathNV');
  9002. glPathParameterivNV := gl_GetProc('glPathParameterivNV');
  9003. glPathParameteriNV := gl_GetProc('glPathParameteriNV');
  9004. glPathParameterfvNV := gl_GetProc('glPathParameterfvNV');
  9005. glPathParameterfNV := gl_GetProc('glPathParameterfNV');
  9006. glPathDashArrayNV := gl_GetProc('glPathDashArrayNV');
  9007. glPathStencilFuncNV := gl_GetProc('glPathStencilFuncNV');
  9008. glPathStencilDepthOffsetNV := gl_GetProc('glPathStencilDepthOffsetNV');
  9009. glStencilFillPathNV := gl_GetProc('glStencilFillPathNV');
  9010. glStencilStrokePathNV := gl_GetProc('glStencilStrokePathNV');
  9011. glStencilFillPathInstancedNV := gl_GetProc('glStencilFillPathInstancedNV');
  9012. glStencilStrokePathInstancedNV := gl_GetProc('glStencilStrokePathInstancedNV');
  9013. glPathCoverDepthFuncNV := gl_GetProc('glPathCoverDepthFuncNV');
  9014. glCoverFillPathNV := gl_GetProc('glCoverFillPathNV');
  9015. glCoverStrokePathNV := gl_GetProc('glCoverStrokePathNV');
  9016. glCoverFillPathInstancedNV := gl_GetProc('glCoverFillPathInstancedNV');
  9017. glCoverStrokePathInstancedNV := gl_GetProc('glCoverStrokePathInstancedNV');
  9018. glGetPathParameterivNV := gl_GetProc('glGetPathParameterivNV');
  9019. glGetPathParameterfvNV := gl_GetProc('glGetPathParameterfvNV');
  9020. glGetPathCommandsNV := gl_GetProc('glGetPathCommandsNV');
  9021. glGetPathCoordsNV := gl_GetProc('glGetPathCoordsNV');
  9022. glGetPathDashArrayNV := gl_GetProc('glGetPathDashArrayNV');
  9023. glGetPathMetricsNV := gl_GetProc('glGetPathMetricsNV');
  9024. glGetPathMetricRangeNV := gl_GetProc('glGetPathMetricRangeNV');
  9025. glGetPathSpacingNV := gl_GetProc('glGetPathSpacingNV');
  9026. glIsPointInFillPathNV := gl_GetProc('glIsPointInFillPathNV');
  9027. glIsPointInStrokePathNV := gl_GetProc('glIsPointInStrokePathNV');
  9028. glGetPathLengthNV := gl_GetProc('glGetPathLengthNV');
  9029. glPointAlongPathNV := gl_GetProc('glPointAlongPathNV');
  9030. glMatrixLoad3x2fNV := gl_GetProc('glMatrixLoad3x2fNV');
  9031. glMatrixLoad3x3fNV := gl_GetProc('glMatrixLoad3x3fNV');
  9032. glMatrixLoadTranspose3x3fNV := gl_GetProc('glMatrixLoadTranspose3x3fNV');
  9033. glMatrixMult3x2fNV := gl_GetProc('glMatrixMult3x2fNV');
  9034. glMatrixMult3x3fNV := gl_GetProc('glMatrixMult3x3fNV');
  9035. glMatrixMultTranspose3x3fNV := gl_GetProc('glMatrixMultTranspose3x3fNV');
  9036. glStencilThenCoverFillPathNV := gl_GetProc('glStencilThenCoverFillPathNV');
  9037. glStencilThenCoverStrokePathNV := gl_GetProc('glStencilThenCoverStrokePathNV');
  9038. glStencilThenCoverFillPathInstancedNV := gl_GetProc('glStencilThenCoverFillPathInstancedNV');
  9039. glStencilThenCoverStrokePathInstancedNV := gl_GetProc('glStencilThenCoverStrokePathInstancedNV');
  9040. glPathGlyphIndexRangeNV := gl_GetProc('glPathGlyphIndexRangeNV');
  9041. glPathGlyphIndexArrayNV := gl_GetProc('glPathGlyphIndexArrayNV');
  9042. glPathMemoryGlyphIndexArrayNV := gl_GetProc('glPathMemoryGlyphIndexArrayNV');
  9043. glProgramPathFragmentInputGenNV := gl_GetProc('glProgramPathFragmentInputGenNV');
  9044. glGetProgramResourcefvNV := gl_GetProc('glGetProgramResourcefvNV');
  9045. {$IfNDef USE_GLCORE}
  9046. glPathColorGenNV := gl_GetProc('glPathColorGenNV');
  9047. glPathTexGenNV := gl_GetProc('glPathTexGenNV');
  9048. glPathFogGenNV := gl_GetProc('glPathFogGenNV');
  9049. glGetPathColorGenivNV := gl_GetProc('glGetPathColorGenivNV');
  9050. glGetPathColorGenfvNV := gl_GetProc('glGetPathColorGenfvNV');
  9051. glGetPathTexGenivNV := gl_GetProc('glGetPathTexGenivNV');
  9052. glGetPathTexGenfvNV := gl_GetProc('glGetPathTexGenfvNV');
  9053. {$EndIf}
  9054. end;
  9055. {$EndIf}
  9056. {$IfDef GL_NV_pixel_data_range}
  9057. if GL_NV_pixel_data_range then
  9058. begin
  9059. glPixelDataRangeNV := gl_GetProc('glPixelDataRangeNV');
  9060. glFlushPixelDataRangeNV := gl_GetProc('glFlushPixelDataRangeNV');
  9061. end;
  9062. {$EndIf}
  9063. {$IfDef GL_NV_point_sprite}
  9064. if GL_NV_point_sprite then
  9065. begin
  9066. glPointParameteriNV := gl_GetProc('glPointParameteriNV');
  9067. glPointParameterivNV := gl_GetProc('glPointParameterivNV');
  9068. end;
  9069. {$EndIf}
  9070. {$IfDef GL_NV_present_video}
  9071. if GL_NV_present_video then
  9072. begin
  9073. glPresentFrameKeyedNV := gl_GetProc('glPresentFrameKeyedNV');
  9074. glPresentFrameDualFillNV := gl_GetProc('glPresentFrameDualFillNV');
  9075. glGetVideoivNV := gl_GetProc('glGetVideoivNV');
  9076. glGetVideouivNV := gl_GetProc('glGetVideouivNV');
  9077. glGetVideoi64vNV := gl_GetProc('glGetVideoi64vNV');
  9078. glGetVideoui64vNV := gl_GetProc('glGetVideoui64vNV');
  9079. end;
  9080. {$EndIf}
  9081. {$IfDef GL_NV_primitive_restart}
  9082. if GL_NV_primitive_restart then
  9083. begin
  9084. glPrimitiveRestartNV := gl_GetProc('glPrimitiveRestartNV');
  9085. glPrimitiveRestartIndexNV := gl_GetProc('glPrimitiveRestartIndexNV');
  9086. end;
  9087. {$EndIf}
  9088. {$IfDef GL_NV_query_resource}
  9089. if GL_NV_query_resource then
  9090. glQueryResourceNV := gl_GetProc('glQueryResourceNV');
  9091. {$EndIf}
  9092. {$IfDef GL_NV_query_resource_tag}
  9093. if GL_NV_query_resource_tag then
  9094. begin
  9095. glGenQueryResourceTagNV := gl_GetProc('glGenQueryResourceTagNV');
  9096. glDeleteQueryResourceTagNV := gl_GetProc('glDeleteQueryResourceTagNV');
  9097. glQueryResourceTagNV := gl_GetProc('glQueryResourceTagNV');
  9098. end;
  9099. {$EndIf}
  9100. {$IfDef GL_NV_register_combiners}
  9101. if GL_NV_register_combiners then
  9102. begin
  9103. glCombinerParameterfvNV := gl_GetProc('glCombinerParameterfvNV');
  9104. glCombinerParameterfNV := gl_GetProc('glCombinerParameterfNV');
  9105. glCombinerParameterivNV := gl_GetProc('glCombinerParameterivNV');
  9106. glCombinerParameteriNV := gl_GetProc('glCombinerParameteriNV');
  9107. glCombinerInputNV := gl_GetProc('glCombinerInputNV');
  9108. glCombinerOutputNV := gl_GetProc('glCombinerOutputNV');
  9109. glFinalCombinerInputNV := gl_GetProc('glFinalCombinerInputNV');
  9110. glGetCombinerInputParameterfvNV := gl_GetProc('glGetCombinerInputParameterfvNV');
  9111. glGetCombinerInputParameterivNV := gl_GetProc('glGetCombinerInputParameterivNV');
  9112. glGetCombinerOutputParameterfvNV := gl_GetProc('glGetCombinerOutputParameterfvNV');
  9113. glGetCombinerOutputParameterivNV := gl_GetProc('glGetCombinerOutputParameterivNV');
  9114. glGetFinalCombinerInputParameterfvNV := gl_GetProc('glGetFinalCombinerInputParameterfvNV');
  9115. glGetFinalCombinerInputParameterivNV := gl_GetProc('glGetFinalCombinerInputParameterivNV');
  9116. end;
  9117. {$EndIf}
  9118. {$IfDef GL_NV_register_combiners2}
  9119. if GL_NV_register_combiners2 then
  9120. begin
  9121. glCombinerStageParameterfvNV := gl_GetProc('glCombinerStageParameterfvNV');
  9122. glGetCombinerStageParameterfvNV := gl_GetProc('glGetCombinerStageParameterfvNV');
  9123. end;
  9124. {$EndIf}
  9125. {$IfDef GL_NV_sample_locations}
  9126. if GL_NV_sample_locations then
  9127. begin
  9128. glFramebufferSampleLocationsfvNV := gl_GetProc('glFramebufferSampleLocationsfvNV');
  9129. glNamedFramebufferSampleLocationsfvNV := gl_GetProc('glNamedFramebufferSampleLocationsfvNV');
  9130. glResolveDepthValuesNV := gl_GetProc('glResolveDepthValuesNV');
  9131. end;
  9132. {$EndIf}
  9133. {$IfDef GL_NV_scissor_exclusive}
  9134. if GL_NV_scissor_exclusive then
  9135. begin
  9136. glScissorExclusiveNV := gl_GetProc('glScissorExclusiveNV');
  9137. glScissorExclusiveArrayvNV := gl_GetProc('glScissorExclusiveArrayvNV');
  9138. end;
  9139. {$EndIf}
  9140. {$IfDef GL_NV_shader_buffer_load}
  9141. if GL_NV_shader_buffer_load then
  9142. begin
  9143. glMakeBufferResidentNV := gl_GetProc('glMakeBufferResidentNV');
  9144. glMakeBufferNonResidentNV := gl_GetProc('glMakeBufferNonResidentNV');
  9145. glIsBufferResidentNV := gl_GetProc('glIsBufferResidentNV');
  9146. glMakeNamedBufferResidentNV := gl_GetProc('glMakeNamedBufferResidentNV');
  9147. glMakeNamedBufferNonResidentNV := gl_GetProc('glMakeNamedBufferNonResidentNV');
  9148. glIsNamedBufferResidentNV := gl_GetProc('glIsNamedBufferResidentNV');
  9149. glGetBufferParameterui64vNV := gl_GetProc('glGetBufferParameterui64vNV');
  9150. glGetNamedBufferParameterui64vNV := gl_GetProc('glGetNamedBufferParameterui64vNV');
  9151. glGetIntegerui64vNV := gl_GetProc('glGetIntegerui64vNV');
  9152. glUniformui64NV := gl_GetProc('glUniformui64NV');
  9153. glUniformui64vNV := gl_GetProc('glUniformui64vNV');
  9154. glProgramUniformui64NV := gl_GetProc('glProgramUniformui64NV');
  9155. glProgramUniformui64vNV := gl_GetProc('glProgramUniformui64vNV');
  9156. end;
  9157. {$EndIf}
  9158. {$IfDef GL_NV_shading_rate_image}
  9159. if GL_NV_shading_rate_image then
  9160. begin
  9161. glBindShadingRateImageNV := gl_GetProc('glBindShadingRateImageNV');
  9162. glGetShadingRateImagePaletteNV := gl_GetProc('glGetShadingRateImagePaletteNV');
  9163. glGetShadingRateSampleLocationivNV := gl_GetProc('glGetShadingRateSampleLocationivNV');
  9164. glShadingRateImageBarrierNV := gl_GetProc('glShadingRateImageBarrierNV');
  9165. glShadingRateImagePaletteNV := gl_GetProc('glShadingRateImagePaletteNV');
  9166. glShadingRateSampleOrderNV := gl_GetProc('glShadingRateSampleOrderNV');
  9167. glShadingRateSampleOrderCustomNV := gl_GetProc('glShadingRateSampleOrderCustomNV');
  9168. end;
  9169. {$EndIf}
  9170. {$IfDef GL_NV_texture_barrier}
  9171. if GL_NV_texture_barrier then
  9172. glTextureBarrierNV := gl_GetProc('glTextureBarrierNV');
  9173. {$EndIf}
  9174. {$IfDef GL_NV_texture_multisample}
  9175. if GL_NV_texture_multisample then
  9176. begin
  9177. glTexImage2DMultisampleCoverageNV := gl_GetProc('glTexImage2DMultisampleCoverageNV');
  9178. glTexImage3DMultisampleCoverageNV := gl_GetProc('glTexImage3DMultisampleCoverageNV');
  9179. glTextureImage2DMultisampleNV := gl_GetProc('glTextureImage2DMultisampleNV');
  9180. glTextureImage3DMultisampleNV := gl_GetProc('glTextureImage3DMultisampleNV');
  9181. glTextureImage2DMultisampleCoverageNV := gl_GetProc('glTextureImage2DMultisampleCoverageNV');
  9182. glTextureImage3DMultisampleCoverageNV := gl_GetProc('glTextureImage3DMultisampleCoverageNV');
  9183. end;
  9184. {$EndIf}
  9185. {$IfDef GL_NV_timeline_semaphore}
  9186. if GL_NV_timeline_semaphore then
  9187. begin
  9188. glCreateSemaphoresNV := gl_GetProc('glCreateSemaphoresNV');
  9189. glSemaphoreParameterivNV := gl_GetProc('glSemaphoreParameterivNV');
  9190. glGetSemaphoreParameterivNV := gl_GetProc('glGetSemaphoreParameterivNV');
  9191. end;
  9192. {$EndIf}
  9193. {$IfDef GL_NV_transform_feedback}
  9194. if GL_NV_transform_feedback then
  9195. begin
  9196. glBeginTransformFeedbackNV := gl_GetProc('glBeginTransformFeedbackNV');
  9197. glEndTransformFeedbackNV := gl_GetProc('glEndTransformFeedbackNV');
  9198. glTransformFeedbackAttribsNV := gl_GetProc('glTransformFeedbackAttribsNV');
  9199. glBindBufferRangeNV := gl_GetProc('glBindBufferRangeNV');
  9200. glBindBufferOffsetNV := gl_GetProc('glBindBufferOffsetNV');
  9201. glBindBufferBaseNV := gl_GetProc('glBindBufferBaseNV');
  9202. glTransformFeedbackVaryingsNV := gl_GetProc('glTransformFeedbackVaryingsNV');
  9203. glActiveVaryingNV := gl_GetProc('glActiveVaryingNV');
  9204. glGetVaryingLocationNV := gl_GetProc('glGetVaryingLocationNV');
  9205. glGetActiveVaryingNV := gl_GetProc('glGetActiveVaryingNV');
  9206. glGetTransformFeedbackVaryingNV := gl_GetProc('glGetTransformFeedbackVaryingNV');
  9207. glTransformFeedbackStreamAttribsNV := gl_GetProc('glTransformFeedbackStreamAttribsNV');
  9208. end;
  9209. {$EndIf}
  9210. {$IfDef GL_NV_transform_feedback2}
  9211. if GL_NV_transform_feedback2 then
  9212. begin
  9213. glBindTransformFeedbackNV := gl_GetProc('glBindTransformFeedbackNV');
  9214. glDeleteTransformFeedbacksNV := gl_GetProc('glDeleteTransformFeedbacksNV');
  9215. glGenTransformFeedbacksNV := gl_GetProc('glGenTransformFeedbacksNV');
  9216. glIsTransformFeedbackNV := gl_GetProc('glIsTransformFeedbackNV');
  9217. glPauseTransformFeedbackNV := gl_GetProc('glPauseTransformFeedbackNV');
  9218. glResumeTransformFeedbackNV := gl_GetProc('glResumeTransformFeedbackNV');
  9219. glDrawTransformFeedbackNV := gl_GetProc('glDrawTransformFeedbackNV');
  9220. end;
  9221. {$EndIf}
  9222. {$IfDef GL_NV_vdpau_interop}
  9223. if GL_NV_vdpau_interop then
  9224. begin
  9225. glVDPAUInitNV := gl_GetProc('glVDPAUInitNV');
  9226. glVDPAUFiniNV := gl_GetProc('glVDPAUFiniNV');
  9227. glVDPAURegisterVideoSurfaceNV := gl_GetProc('glVDPAURegisterVideoSurfaceNV');
  9228. glVDPAURegisterOutputSurfaceNV := gl_GetProc('glVDPAURegisterOutputSurfaceNV');
  9229. glVDPAUIsSurfaceNV := gl_GetProc('glVDPAUIsSurfaceNV');
  9230. glVDPAUUnregisterSurfaceNV := gl_GetProc('glVDPAUUnregisterSurfaceNV');
  9231. glVDPAUGetSurfaceivNV := gl_GetProc('glVDPAUGetSurfaceivNV');
  9232. glVDPAUSurfaceAccessNV := gl_GetProc('glVDPAUSurfaceAccessNV');
  9233. glVDPAUMapSurfacesNV := gl_GetProc('glVDPAUMapSurfacesNV');
  9234. glVDPAUUnmapSurfacesNV := gl_GetProc('glVDPAUUnmapSurfacesNV');
  9235. end;
  9236. {$EndIf}
  9237. {$IfDef GL_NV_vdpau_interop2}
  9238. if GL_NV_vdpau_interop2 then
  9239. glVDPAURegisterVideoSurfaceWithPictureStructureNV := gl_GetProc('glVDPAURegisterVideoSurfaceWithPictureStructureNV');
  9240. {$EndIf}
  9241. {$IfDef GL_NV_vertex_array_range}
  9242. if GL_NV_vertex_array_range then
  9243. begin
  9244. glFlushVertexArrayRangeNV := gl_GetProc('glFlushVertexArrayRangeNV');
  9245. glVertexArrayRangeNV := gl_GetProc('glVertexArrayRangeNV');
  9246. end;
  9247. {$EndIf}
  9248. {$IfDef GL_NV_vertex_attrib_integer_64bit}
  9249. if GL_NV_vertex_attrib_integer_64bit then
  9250. begin
  9251. glVertexAttribL1i64NV := gl_GetProc('glVertexAttribL1i64NV');
  9252. glVertexAttribL2i64NV := gl_GetProc('glVertexAttribL2i64NV');
  9253. glVertexAttribL3i64NV := gl_GetProc('glVertexAttribL3i64NV');
  9254. glVertexAttribL4i64NV := gl_GetProc('glVertexAttribL4i64NV');
  9255. glVertexAttribL1i64vNV := gl_GetProc('glVertexAttribL1i64vNV');
  9256. glVertexAttribL2i64vNV := gl_GetProc('glVertexAttribL2i64vNV');
  9257. glVertexAttribL3i64vNV := gl_GetProc('glVertexAttribL3i64vNV');
  9258. glVertexAttribL4i64vNV := gl_GetProc('glVertexAttribL4i64vNV');
  9259. glVertexAttribL1ui64NV := gl_GetProc('glVertexAttribL1ui64NV');
  9260. glVertexAttribL2ui64NV := gl_GetProc('glVertexAttribL2ui64NV');
  9261. glVertexAttribL3ui64NV := gl_GetProc('glVertexAttribL3ui64NV');
  9262. glVertexAttribL4ui64NV := gl_GetProc('glVertexAttribL4ui64NV');
  9263. glVertexAttribL1ui64vNV := gl_GetProc('glVertexAttribL1ui64vNV');
  9264. glVertexAttribL2ui64vNV := gl_GetProc('glVertexAttribL2ui64vNV');
  9265. glVertexAttribL3ui64vNV := gl_GetProc('glVertexAttribL3ui64vNV');
  9266. glVertexAttribL4ui64vNV := gl_GetProc('glVertexAttribL4ui64vNV');
  9267. glGetVertexAttribLi64vNV := gl_GetProc('glGetVertexAttribLi64vNV');
  9268. glGetVertexAttribLui64vNV := gl_GetProc('glGetVertexAttribLui64vNV');
  9269. glVertexAttribLFormatNV := gl_GetProc('glVertexAttribLFormatNV');
  9270. end;
  9271. {$EndIf}
  9272. {$IfDef GL_NV_vertex_buffer_unified_memory}
  9273. if GL_NV_vertex_buffer_unified_memory then
  9274. begin
  9275. glBufferAddressRangeNV := gl_GetProc('glBufferAddressRangeNV');
  9276. glVertexFormatNV := gl_GetProc('glVertexFormatNV');
  9277. glNormalFormatNV := gl_GetProc('glNormalFormatNV');
  9278. glColorFormatNV := gl_GetProc('glColorFormatNV');
  9279. glIndexFormatNV := gl_GetProc('glIndexFormatNV');
  9280. glTexCoordFormatNV := gl_GetProc('glTexCoordFormatNV');
  9281. glEdgeFlagFormatNV := gl_GetProc('glEdgeFlagFormatNV');
  9282. glSecondaryColorFormatNV := gl_GetProc('glSecondaryColorFormatNV');
  9283. glFogCoordFormatNV := gl_GetProc('glFogCoordFormatNV');
  9284. glVertexAttribFormatNV := gl_GetProc('glVertexAttribFormatNV');
  9285. glVertexAttribIFormatNV := gl_GetProc('glVertexAttribIFormatNV');
  9286. glGetIntegerui64i_vNV := gl_GetProc('glGetIntegerui64i_vNV');
  9287. end;
  9288. {$EndIf}
  9289. {$IfDef GL_NV_vertex_program}
  9290. if GL_NV_vertex_program then
  9291. begin
  9292. glAreProgramsResidentNV := gl_GetProc('glAreProgramsResidentNV');
  9293. glBindProgramNV := gl_GetProc('glBindProgramNV');
  9294. glDeleteProgramsNV := gl_GetProc('glDeleteProgramsNV');
  9295. glExecuteProgramNV := gl_GetProc('glExecuteProgramNV');
  9296. glGenProgramsNV := gl_GetProc('glGenProgramsNV');
  9297. glGetProgramParameterdvNV := gl_GetProc('glGetProgramParameterdvNV');
  9298. glGetProgramParameterfvNV := gl_GetProc('glGetProgramParameterfvNV');
  9299. glGetProgramivNV := gl_GetProc('glGetProgramivNV');
  9300. glGetProgramStringNV := gl_GetProc('glGetProgramStringNV');
  9301. glGetTrackMatrixivNV := gl_GetProc('glGetTrackMatrixivNV');
  9302. glGetVertexAttribdvNV := gl_GetProc('glGetVertexAttribdvNV');
  9303. glGetVertexAttribfvNV := gl_GetProc('glGetVertexAttribfvNV');
  9304. glGetVertexAttribivNV := gl_GetProc('glGetVertexAttribivNV');
  9305. glGetVertexAttribPointervNV := gl_GetProc('glGetVertexAttribPointervNV');
  9306. glIsProgramNV := gl_GetProc('glIsProgramNV');
  9307. glLoadProgramNV := gl_GetProc('glLoadProgramNV');
  9308. glProgramParameter4dNV := gl_GetProc('glProgramParameter4dNV');
  9309. glProgramParameter4dvNV := gl_GetProc('glProgramParameter4dvNV');
  9310. glProgramParameter4fNV := gl_GetProc('glProgramParameter4fNV');
  9311. glProgramParameter4fvNV := gl_GetProc('glProgramParameter4fvNV');
  9312. glProgramParameters4dvNV := gl_GetProc('glProgramParameters4dvNV');
  9313. glProgramParameters4fvNV := gl_GetProc('glProgramParameters4fvNV');
  9314. glRequestResidentProgramsNV := gl_GetProc('glRequestResidentProgramsNV');
  9315. glTrackMatrixNV := gl_GetProc('glTrackMatrixNV');
  9316. glVertexAttribPointerNV := gl_GetProc('glVertexAttribPointerNV');
  9317. glVertexAttrib1dNV := gl_GetProc('glVertexAttrib1dNV');
  9318. glVertexAttrib1dvNV := gl_GetProc('glVertexAttrib1dvNV');
  9319. glVertexAttrib1fNV := gl_GetProc('glVertexAttrib1fNV');
  9320. glVertexAttrib1fvNV := gl_GetProc('glVertexAttrib1fvNV');
  9321. glVertexAttrib1sNV := gl_GetProc('glVertexAttrib1sNV');
  9322. glVertexAttrib1svNV := gl_GetProc('glVertexAttrib1svNV');
  9323. glVertexAttrib2dNV := gl_GetProc('glVertexAttrib2dNV');
  9324. glVertexAttrib2dvNV := gl_GetProc('glVertexAttrib2dvNV');
  9325. glVertexAttrib2fNV := gl_GetProc('glVertexAttrib2fNV');
  9326. glVertexAttrib2fvNV := gl_GetProc('glVertexAttrib2fvNV');
  9327. glVertexAttrib2sNV := gl_GetProc('glVertexAttrib2sNV');
  9328. glVertexAttrib2svNV := gl_GetProc('glVertexAttrib2svNV');
  9329. glVertexAttrib3dNV := gl_GetProc('glVertexAttrib3dNV');
  9330. glVertexAttrib3dvNV := gl_GetProc('glVertexAttrib3dvNV');
  9331. glVertexAttrib3fNV := gl_GetProc('glVertexAttrib3fNV');
  9332. glVertexAttrib3fvNV := gl_GetProc('glVertexAttrib3fvNV');
  9333. glVertexAttrib3sNV := gl_GetProc('glVertexAttrib3sNV');
  9334. glVertexAttrib3svNV := gl_GetProc('glVertexAttrib3svNV');
  9335. glVertexAttrib4dNV := gl_GetProc('glVertexAttrib4dNV');
  9336. glVertexAttrib4dvNV := gl_GetProc('glVertexAttrib4dvNV');
  9337. glVertexAttrib4fNV := gl_GetProc('glVertexAttrib4fNV');
  9338. glVertexAttrib4fvNV := gl_GetProc('glVertexAttrib4fvNV');
  9339. glVertexAttrib4sNV := gl_GetProc('glVertexAttrib4sNV');
  9340. glVertexAttrib4svNV := gl_GetProc('glVertexAttrib4svNV');
  9341. glVertexAttrib4ubNV := gl_GetProc('glVertexAttrib4ubNV');
  9342. glVertexAttrib4ubvNV := gl_GetProc('glVertexAttrib4ubvNV');
  9343. glVertexAttribs1dvNV := gl_GetProc('glVertexAttribs1dvNV');
  9344. glVertexAttribs1fvNV := gl_GetProc('glVertexAttribs1fvNV');
  9345. glVertexAttribs1svNV := gl_GetProc('glVertexAttribs1svNV');
  9346. glVertexAttribs2dvNV := gl_GetProc('glVertexAttribs2dvNV');
  9347. glVertexAttribs2fvNV := gl_GetProc('glVertexAttribs2fvNV');
  9348. glVertexAttribs2svNV := gl_GetProc('glVertexAttribs2svNV');
  9349. glVertexAttribs3dvNV := gl_GetProc('glVertexAttribs3dvNV');
  9350. glVertexAttribs3fvNV := gl_GetProc('glVertexAttribs3fvNV');
  9351. glVertexAttribs3svNV := gl_GetProc('glVertexAttribs3svNV');
  9352. glVertexAttribs4dvNV := gl_GetProc('glVertexAttribs4dvNV');
  9353. glVertexAttribs4fvNV := gl_GetProc('glVertexAttribs4fvNV');
  9354. glVertexAttribs4svNV := gl_GetProc('glVertexAttribs4svNV');
  9355. glVertexAttribs4ubvNV := gl_GetProc('glVertexAttribs4ubvNV');
  9356. end;
  9357. {$EndIf}
  9358. {$IfDef GL_NV_video_capture}
  9359. if GL_NV_video_capture then
  9360. begin
  9361. glBeginVideoCaptureNV := gl_GetProc('glBeginVideoCaptureNV');
  9362. glBindVideoCaptureStreamBufferNV := gl_GetProc('glBindVideoCaptureStreamBufferNV');
  9363. glBindVideoCaptureStreamTextureNV := gl_GetProc('glBindVideoCaptureStreamTextureNV');
  9364. glEndVideoCaptureNV := gl_GetProc('glEndVideoCaptureNV');
  9365. glGetVideoCaptureivNV := gl_GetProc('glGetVideoCaptureivNV');
  9366. glGetVideoCaptureStreamivNV := gl_GetProc('glGetVideoCaptureStreamivNV');
  9367. glGetVideoCaptureStreamfvNV := gl_GetProc('glGetVideoCaptureStreamfvNV');
  9368. glGetVideoCaptureStreamdvNV := gl_GetProc('glGetVideoCaptureStreamdvNV');
  9369. glVideoCaptureNV := gl_GetProc('glVideoCaptureNV');
  9370. glVideoCaptureStreamParameterivNV := gl_GetProc('glVideoCaptureStreamParameterivNV');
  9371. glVideoCaptureStreamParameterfvNV := gl_GetProc('glVideoCaptureStreamParameterfvNV');
  9372. glVideoCaptureStreamParameterdvNV := gl_GetProc('glVideoCaptureStreamParameterdvNV');
  9373. end;
  9374. {$EndIf}
  9375. {$IfDef GL_NV_viewport_swizzle}
  9376. if GL_NV_viewport_swizzle then
  9377. glViewportSwizzleNV := gl_GetProc('glViewportSwizzleNV');
  9378. {$EndIf}
  9379. {$IfDef GL_OVR_multiview}
  9380. if GL_OVR_multiview then
  9381. glFramebufferTextureMultiviewOVR := gl_GetProc('glFramebufferTextureMultiviewOVR');
  9382. {$EndIf}
  9383. {$IfDef GL_PGI_misc_hints}
  9384. if GL_PGI_misc_hints then
  9385. glHintPGI := gl_GetProc('glHintPGI');
  9386. {$EndIf}
  9387. {$IfDef GL_SGIS_detail_texture}
  9388. if GL_SGIS_detail_texture then
  9389. begin
  9390. glDetailTexFuncSGIS := gl_GetProc('glDetailTexFuncSGIS');
  9391. glGetDetailTexFuncSGIS := gl_GetProc('glGetDetailTexFuncSGIS');
  9392. end;
  9393. {$EndIf}
  9394. {$IfDef GL_SGIS_fog_function}
  9395. if GL_SGIS_fog_function then
  9396. begin
  9397. glFogFuncSGIS := gl_GetProc('glFogFuncSGIS');
  9398. glGetFogFuncSGIS := gl_GetProc('glGetFogFuncSGIS');
  9399. end;
  9400. {$EndIf}
  9401. {$IfDef GL_SGIS_multisample}
  9402. if GL_SGIS_multisample then
  9403. begin
  9404. glSampleMaskSGIS := gl_GetProc('glSampleMaskSGIS');
  9405. glSamplePatternSGIS := gl_GetProc('glSamplePatternSGIS');
  9406. end;
  9407. {$EndIf}
  9408. {$IfDef GL_SGIS_pixel_texture}
  9409. if GL_SGIS_pixel_texture then
  9410. begin
  9411. glPixelTexGenParameteriSGIS := gl_GetProc('glPixelTexGenParameteriSGIS');
  9412. glPixelTexGenParameterivSGIS := gl_GetProc('glPixelTexGenParameterivSGIS');
  9413. glPixelTexGenParameterfSGIS := gl_GetProc('glPixelTexGenParameterfSGIS');
  9414. glPixelTexGenParameterfvSGIS := gl_GetProc('glPixelTexGenParameterfvSGIS');
  9415. glGetPixelTexGenParameterivSGIS := gl_GetProc('glGetPixelTexGenParameterivSGIS');
  9416. glGetPixelTexGenParameterfvSGIS := gl_GetProc('glGetPixelTexGenParameterfvSGIS');
  9417. end;
  9418. {$EndIf}
  9419. {$IfDef GL_SGIS_point_parameters}
  9420. if GL_SGIS_point_parameters then
  9421. begin
  9422. glPointParameterfSGIS := gl_GetProc('glPointParameterfSGIS');
  9423. glPointParameterfvSGIS := gl_GetProc('glPointParameterfvSGIS');
  9424. end;
  9425. {$EndIf}
  9426. {$IfDef GL_SGIS_sharpen_texture}
  9427. if GL_SGIS_sharpen_texture then
  9428. begin
  9429. glSharpenTexFuncSGIS := gl_GetProc('glSharpenTexFuncSGIS');
  9430. glGetSharpenTexFuncSGIS := gl_GetProc('glGetSharpenTexFuncSGIS');
  9431. end;
  9432. {$EndIf}
  9433. {$IfDef GL_SGIS_texture4D}
  9434. if GL_SGIS_texture4D then
  9435. begin
  9436. glTexImage4DSGIS := gl_GetProc('glTexImage4DSGIS');
  9437. glTexSubImage4DSGIS := gl_GetProc('glTexSubImage4DSGIS');
  9438. end;
  9439. {$EndIf}
  9440. {$IfDef GL_SGIS_texture_color_mask}
  9441. if GL_SGIS_texture_color_mask then
  9442. glTextureColorMaskSGIS := gl_GetProc('glTextureColorMaskSGIS');
  9443. {$EndIf}
  9444. {$IfDef GL_SGIS_texture_filter4}
  9445. if GL_SGIS_texture_filter4 then
  9446. begin
  9447. glGetTexFilterFuncSGIS := gl_GetProc('glGetTexFilterFuncSGIS');
  9448. glTexFilterFuncSGIS := gl_GetProc('glTexFilterFuncSGIS');
  9449. end;
  9450. {$EndIf}
  9451. {$IfDef GL_SGIX_async}
  9452. if GL_SGIX_async then
  9453. begin
  9454. glAsyncMarkerSGIX := gl_GetProc('glAsyncMarkerSGIX');
  9455. glFinishAsyncSGIX := gl_GetProc('glFinishAsyncSGIX');
  9456. glPollAsyncSGIX := gl_GetProc('glPollAsyncSGIX');
  9457. glGenAsyncMarkersSGIX := gl_GetProc('glGenAsyncMarkersSGIX');
  9458. glDeleteAsyncMarkersSGIX := gl_GetProc('glDeleteAsyncMarkersSGIX');
  9459. glIsAsyncMarkerSGIX := gl_GetProc('glIsAsyncMarkerSGIX');
  9460. end;
  9461. {$EndIf}
  9462. {$IfDef GL_SGIX_flush_raster}
  9463. if GL_SGIX_flush_raster then
  9464. glFlushRasterSGIX := gl_GetProc('glFlushRasterSGIX');
  9465. {$EndIf}
  9466. {$IfDef GL_SGIX_fragment_lighting}
  9467. if GL_SGIX_fragment_lighting then
  9468. begin
  9469. glFragmentColorMaterialSGIX := gl_GetProc('glFragmentColorMaterialSGIX');
  9470. glFragmentLightfSGIX := gl_GetProc('glFragmentLightfSGIX');
  9471. glFragmentLightfvSGIX := gl_GetProc('glFragmentLightfvSGIX');
  9472. glFragmentLightiSGIX := gl_GetProc('glFragmentLightiSGIX');
  9473. glFragmentLightivSGIX := gl_GetProc('glFragmentLightivSGIX');
  9474. glFragmentLightModelfSGIX := gl_GetProc('glFragmentLightModelfSGIX');
  9475. glFragmentLightModelfvSGIX := gl_GetProc('glFragmentLightModelfvSGIX');
  9476. glFragmentLightModeliSGIX := gl_GetProc('glFragmentLightModeliSGIX');
  9477. glFragmentLightModelivSGIX := gl_GetProc('glFragmentLightModelivSGIX');
  9478. glFragmentMaterialfSGIX := gl_GetProc('glFragmentMaterialfSGIX');
  9479. glFragmentMaterialfvSGIX := gl_GetProc('glFragmentMaterialfvSGIX');
  9480. glFragmentMaterialiSGIX := gl_GetProc('glFragmentMaterialiSGIX');
  9481. glFragmentMaterialivSGIX := gl_GetProc('glFragmentMaterialivSGIX');
  9482. glGetFragmentLightfvSGIX := gl_GetProc('glGetFragmentLightfvSGIX');
  9483. glGetFragmentLightivSGIX := gl_GetProc('glGetFragmentLightivSGIX');
  9484. glGetFragmentMaterialfvSGIX := gl_GetProc('glGetFragmentMaterialfvSGIX');
  9485. glGetFragmentMaterialivSGIX := gl_GetProc('glGetFragmentMaterialivSGIX');
  9486. glLightEnviSGIX := gl_GetProc('glLightEnviSGIX');
  9487. end;
  9488. {$EndIf}
  9489. {$IfDef GL_SGIX_framezoom}
  9490. if GL_SGIX_framezoom then
  9491. glFrameZoomSGIX := gl_GetProc('glFrameZoomSGIX');
  9492. {$EndIf}
  9493. {$IfDef GL_SGIX_igloo_interface}
  9494. if GL_SGIX_igloo_interface then
  9495. glIglooInterfaceSGIX := gl_GetProc('glIglooInterfaceSGIX');
  9496. {$EndIf}
  9497. {$IfDef GL_SGIX_instruments}
  9498. if GL_SGIX_instruments then
  9499. begin
  9500. glGetInstrumentsSGIX := gl_GetProc('glGetInstrumentsSGIX');
  9501. glInstrumentsBufferSGIX := gl_GetProc('glInstrumentsBufferSGIX');
  9502. glPollInstrumentsSGIX := gl_GetProc('glPollInstrumentsSGIX');
  9503. glReadInstrumentsSGIX := gl_GetProc('glReadInstrumentsSGIX');
  9504. glStartInstrumentsSGIX := gl_GetProc('glStartInstrumentsSGIX');
  9505. glStopInstrumentsSGIX := gl_GetProc('glStopInstrumentsSGIX');
  9506. end;
  9507. {$EndIf}
  9508. {$IfDef GL_SGIX_list_priority}
  9509. if GL_SGIX_list_priority then
  9510. begin
  9511. glGetListParameterfvSGIX := gl_GetProc('glGetListParameterfvSGIX');
  9512. glGetListParameterivSGIX := gl_GetProc('glGetListParameterivSGIX');
  9513. glListParameterfSGIX := gl_GetProc('glListParameterfSGIX');
  9514. glListParameterfvSGIX := gl_GetProc('glListParameterfvSGIX');
  9515. glListParameteriSGIX := gl_GetProc('glListParameteriSGIX');
  9516. glListParameterivSGIX := gl_GetProc('glListParameterivSGIX');
  9517. end;
  9518. {$EndIf}
  9519. {$IfDef GL_SGIX_pixel_texture}
  9520. if GL_SGIX_pixel_texture then
  9521. glPixelTexGenSGIX := gl_GetProc('glPixelTexGenSGIX');
  9522. {$EndIf}
  9523. {$IfDef GL_SGIX_polynomial_ffd}
  9524. if GL_SGIX_polynomial_ffd then
  9525. begin
  9526. glDeformationMap3dSGIX := gl_GetProc('glDeformationMap3dSGIX');
  9527. glDeformationMap3fSGIX := gl_GetProc('glDeformationMap3fSGIX');
  9528. glDeformSGIX := gl_GetProc('glDeformSGIX');
  9529. glLoadIdentityDeformationMapSGIX := gl_GetProc('glLoadIdentityDeformationMapSGIX');
  9530. end;
  9531. {$EndIf}
  9532. {$IfDef GL_SGIX_reference_plane}
  9533. if GL_SGIX_reference_plane then
  9534. glReferencePlaneSGIX := gl_GetProc('glReferencePlaneSGIX');
  9535. {$EndIf}
  9536. {$IfDef GL_SGIX_sprite}
  9537. if GL_SGIX_sprite then
  9538. begin
  9539. glSpriteParameterfSGIX := gl_GetProc('glSpriteParameterfSGIX');
  9540. glSpriteParameterfvSGIX := gl_GetProc('glSpriteParameterfvSGIX');
  9541. glSpriteParameteriSGIX := gl_GetProc('glSpriteParameteriSGIX');
  9542. glSpriteParameterivSGIX := gl_GetProc('glSpriteParameterivSGIX');
  9543. end;
  9544. {$EndIf}
  9545. {$IfDef GL_SGIX_tag_sample_buffer}
  9546. if GL_SGIX_tag_sample_buffer then
  9547. glTagSampleBufferSGIX := gl_GetProc('glTagSampleBufferSGIX');
  9548. {$EndIf}
  9549. {$IfDef GL_SGI_color_table}
  9550. if GL_SGI_color_table then
  9551. begin
  9552. glColorTableSGI := gl_GetProc('glColorTableSGI');
  9553. glColorTableParameterfvSGI := gl_GetProc('glColorTableParameterfvSGI');
  9554. glColorTableParameterivSGI := gl_GetProc('glColorTableParameterivSGI');
  9555. glCopyColorTableSGI := gl_GetProc('glCopyColorTableSGI');
  9556. glGetColorTableSGI := gl_GetProc('glGetColorTableSGI');
  9557. glGetColorTableParameterfvSGI := gl_GetProc('glGetColorTableParameterfvSGI');
  9558. glGetColorTableParameterivSGI := gl_GetProc('glGetColorTableParameterivSGI');
  9559. end;
  9560. {$EndIf}
  9561. {$IfDef GL_SUNX_constant_data}
  9562. if GL_SUNX_constant_data then
  9563. glFinishTextureSUNX := gl_GetProc('glFinishTextureSUNX');
  9564. {$EndIf}
  9565. {$IfDef GL_SUN_global_alpha}
  9566. if GL_SUN_global_alpha then
  9567. begin
  9568. glGlobalAlphaFactorbSUN := gl_GetProc('glGlobalAlphaFactorbSUN');
  9569. glGlobalAlphaFactorsSUN := gl_GetProc('glGlobalAlphaFactorsSUN');
  9570. glGlobalAlphaFactoriSUN := gl_GetProc('glGlobalAlphaFactoriSUN');
  9571. glGlobalAlphaFactorfSUN := gl_GetProc('glGlobalAlphaFactorfSUN');
  9572. glGlobalAlphaFactordSUN := gl_GetProc('glGlobalAlphaFactordSUN');
  9573. glGlobalAlphaFactorubSUN := gl_GetProc('glGlobalAlphaFactorubSUN');
  9574. glGlobalAlphaFactorusSUN := gl_GetProc('glGlobalAlphaFactorusSUN');
  9575. glGlobalAlphaFactoruiSUN := gl_GetProc('glGlobalAlphaFactoruiSUN');
  9576. end;
  9577. {$EndIf}
  9578. {$IfDef GL_SUN_mesh_array}
  9579. if GL_SUN_mesh_array then
  9580. glDrawMeshArraysSUN := gl_GetProc('glDrawMeshArraysSUN');
  9581. {$EndIf}
  9582. {$IfDef GL_SUN_triangle_list}
  9583. if GL_SUN_triangle_list then
  9584. begin
  9585. glReplacementCodeuiSUN := gl_GetProc('glReplacementCodeuiSUN');
  9586. glReplacementCodeusSUN := gl_GetProc('glReplacementCodeusSUN');
  9587. glReplacementCodeubSUN := gl_GetProc('glReplacementCodeubSUN');
  9588. glReplacementCodeuivSUN := gl_GetProc('glReplacementCodeuivSUN');
  9589. glReplacementCodeusvSUN := gl_GetProc('glReplacementCodeusvSUN');
  9590. glReplacementCodeubvSUN := gl_GetProc('glReplacementCodeubvSUN');
  9591. glReplacementCodePointerSUN := gl_GetProc('glReplacementCodePointerSUN');
  9592. end;
  9593. {$EndIf}
  9594. {$IfDef GL_SUN_vertex}
  9595. if GL_SUN_vertex then
  9596. begin
  9597. glColor4ubVertex2fSUN := gl_GetProc('glColor4ubVertex2fSUN');
  9598. glColor4ubVertex2fvSUN := gl_GetProc('glColor4ubVertex2fvSUN');
  9599. glColor4ubVertex3fSUN := gl_GetProc('glColor4ubVertex3fSUN');
  9600. glColor4ubVertex3fvSUN := gl_GetProc('glColor4ubVertex3fvSUN');
  9601. glColor3fVertex3fSUN := gl_GetProc('glColor3fVertex3fSUN');
  9602. glColor3fVertex3fvSUN := gl_GetProc('glColor3fVertex3fvSUN');
  9603. glNormal3fVertex3fSUN := gl_GetProc('glNormal3fVertex3fSUN');
  9604. glNormal3fVertex3fvSUN := gl_GetProc('glNormal3fVertex3fvSUN');
  9605. glColor4fNormal3fVertex3fSUN := gl_GetProc('glColor4fNormal3fVertex3fSUN');
  9606. glColor4fNormal3fVertex3fvSUN := gl_GetProc('glColor4fNormal3fVertex3fvSUN');
  9607. glTexCoord2fVertex3fSUN := gl_GetProc('glTexCoord2fVertex3fSUN');
  9608. glTexCoord2fVertex3fvSUN := gl_GetProc('glTexCoord2fVertex3fvSUN');
  9609. glTexCoord4fVertex4fSUN := gl_GetProc('glTexCoord4fVertex4fSUN');
  9610. glTexCoord4fVertex4fvSUN := gl_GetProc('glTexCoord4fVertex4fvSUN');
  9611. glTexCoord2fColor4ubVertex3fSUN := gl_GetProc('glTexCoord2fColor4ubVertex3fSUN');
  9612. glTexCoord2fColor4ubVertex3fvSUN := gl_GetProc('glTexCoord2fColor4ubVertex3fvSUN');
  9613. glTexCoord2fColor3fVertex3fSUN := gl_GetProc('glTexCoord2fColor3fVertex3fSUN');
  9614. glTexCoord2fColor3fVertex3fvSUN := gl_GetProc('glTexCoord2fColor3fVertex3fvSUN');
  9615. glTexCoord2fNormal3fVertex3fSUN := gl_GetProc('glTexCoord2fNormal3fVertex3fSUN');
  9616. glTexCoord2fNormal3fVertex3fvSUN := gl_GetProc('glTexCoord2fNormal3fVertex3fvSUN');
  9617. glTexCoord2fColor4fNormal3fVertex3fSUN := gl_GetProc('glTexCoord2fColor4fNormal3fVertex3fSUN');
  9618. glTexCoord2fColor4fNormal3fVertex3fvSUN := gl_GetProc('glTexCoord2fColor4fNormal3fVertex3fvSUN');
  9619. glTexCoord4fColor4fNormal3fVertex4fSUN := gl_GetProc('glTexCoord4fColor4fNormal3fVertex4fSUN');
  9620. glTexCoord4fColor4fNormal3fVertex4fvSUN := gl_GetProc('glTexCoord4fColor4fNormal3fVertex4fvSUN');
  9621. glReplacementCodeuiVertex3fSUN := gl_GetProc('glReplacementCodeuiVertex3fSUN');
  9622. glReplacementCodeuiVertex3fvSUN := gl_GetProc('glReplacementCodeuiVertex3fvSUN');
  9623. glReplacementCodeuiColor4ubVertex3fSUN := gl_GetProc('glReplacementCodeuiColor4ubVertex3fSUN');
  9624. glReplacementCodeuiColor4ubVertex3fvSUN := gl_GetProc('glReplacementCodeuiColor4ubVertex3fvSUN');
  9625. glReplacementCodeuiColor3fVertex3fSUN := gl_GetProc('glReplacementCodeuiColor3fVertex3fSUN');
  9626. glReplacementCodeuiColor3fVertex3fvSUN := gl_GetProc('glReplacementCodeuiColor3fVertex3fvSUN');
  9627. glReplacementCodeuiNormal3fVertex3fSUN := gl_GetProc('glReplacementCodeuiNormal3fVertex3fSUN');
  9628. glReplacementCodeuiNormal3fVertex3fvSUN := gl_GetProc('glReplacementCodeuiNormal3fVertex3fvSUN');
  9629. glReplacementCodeuiColor4fNormal3fVertex3fSUN := gl_GetProc('glReplacementCodeuiColor4fNormal3fVertex3fSUN');
  9630. glReplacementCodeuiColor4fNormal3fVertex3fvSUN := gl_GetProc('glReplacementCodeuiColor4fNormal3fVertex3fvSUN');
  9631. glReplacementCodeuiTexCoord2fVertex3fSUN := gl_GetProc('glReplacementCodeuiTexCoord2fVertex3fSUN');
  9632. glReplacementCodeuiTexCoord2fVertex3fvSUN := gl_GetProc('glReplacementCodeuiTexCoord2fVertex3fvSUN');
  9633. glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN := gl_GetProc('glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN');
  9634. glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN := gl_GetProc('glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN');
  9635. glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN := gl_GetProc('glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN');
  9636. glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN := gl_GetProc('glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN');
  9637. end;
  9638. {$EndIf}
  9639. end;
  9640. initialization
  9641. (*{$IFDEF FPC}
  9642. {$IF DEFINED(cpui386) or DEFINED(cpux86_64)}
  9643. SetExceptionMask([exInvalidOp, exDenormalized, exZeroDivide, exOverflow, exUnderflow, exPrecision]);
  9644. {$IFEND}
  9645. {$ELSE}
  9646. Set8087CW($133F);
  9647. {$ENDIF}
  9648. *)
  9649. end.