zgl_pasOpenGL.pas 612 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236
  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. {$IFDEF MAC_COCOA}
  31. {$LINKFRAMEWORK OpenGL}
  32. {$ENDIF}
  33. interface
  34. uses
  35. {$IFDEF LINUX}
  36. zgl_glx_wgl,
  37. {$ENDIF}
  38. {$IFDEF WINDOWS}
  39. Windows,
  40. {$ENDIF}
  41. {$IfDef FPC}
  42. Math,
  43. {$EndIf}
  44. zgl_gltypeconst;
  45. type
  46. GLDEBUGPROC = procedure(source: GLenum; _type: GLenum; id: GLuint; severity: GLenum; length: GLsizei; const _message: PGLchar; userParam: PGLvoid); stdcall;
  47. GLDEBUGPROCARB = procedure(source: GLenum; _type: GLenum; id: GLuint; severity: GLenum; length: GLsizei; const _message: PGLchar; userParam: PGLvoid); stdcall;
  48. GLVULKANPROCNV = procedure; stdcall;
  49. // glext
  50. GLDEBUGPROCAMD = procedure (id: GLuint; category: GLenum; severity: GLenum; length: GLsizei; message: PGLchar; userParam: pointer); stdcall;
  51. var
  52. GLVersion: array[0..1] of Integer;
  53. GLUVersion: Integer;
  54. // версия выбираемая пользователем.
  55. use_glMinorVer, use_glMajorVer: Integer;
  56. GL_VERSION_1_0: Boolean;
  57. GL_VERSION_1_1: Boolean;
  58. GL_VERSION_1_2: Boolean;
  59. GL_VERSION_1_3: Boolean;
  60. GL_VERSION_1_4: Boolean;
  61. GL_VERSION_1_5: Boolean;
  62. GL_VERSION_2_0: Boolean;
  63. GL_VERSION_2_1: Boolean;
  64. GL_VERSION_3_0: Boolean;
  65. GL_VERSION_3_1: Boolean;
  66. GL_VERSION_3_2: Boolean;
  67. GL_VERSION_3_3: Boolean;
  68. GL_VERSION_4_0: Boolean;
  69. GL_VERSION_4_1: Boolean;
  70. GL_VERSION_4_2: Boolean;
  71. GL_VERSION_4_3: Boolean;
  72. GL_VERSION_4_4: Boolean;
  73. GL_VERSION_4_5: Boolean;
  74. GL_VERSION_4_6: Boolean;
  75. // ZenGL ++
  76. GL_SGIS_generate_mipmap: Boolean;
  77. GL_EXT_texture_compression_s3tc: Boolean;
  78. GL_EXT_texture_filter_anisotropic: Boolean;
  79. GL_EXT_blend_func_separate: Boolean;
  80. // перечисление всех дефайнов. Большая часть не используется по умолчанию, даже в Кроносе.
  81. {$If defined(USE_GLCORE) or defined(USE_GLEXT)}
  82. GL_ARB_ES2_compatibility: Boolean;
  83. GL_ARB_ES3_1_compatibility: Boolean;
  84. GL_ARB_ES3_2_compatibility: Boolean;
  85. GL_ARB_ES3_compatibility: Boolean;
  86. GL_ARB_arrays_of_arrays: Boolean;
  87. GL_ARB_base_instance: Boolean;
  88. GL_ARB_bindless_texture: Boolean;
  89. GL_ARB_blend_func_extended: Boolean;
  90. GL_ARB_buffer_storage: Boolean;
  91. GL_ARB_cl_event: Boolean;
  92. GL_ARB_clear_buffer_object: Boolean;
  93. GL_ARB_clear_texture: Boolean;
  94. GL_ARB_clip_control: Boolean;
  95. {$IFDEF GL_VERSION_3_0}
  96. GL_ARB_compatibility: Boolean;
  97. {$ENDIF}
  98. {$IFDEF USE_GLEXT}
  99. GL_ARB_color_buffer_float: Boolean;
  100. {$EndIf}
  101. GL_ARB_compressed_texture_pixel_storage: Boolean;
  102. GL_ARB_compute_shader: Boolean;
  103. GL_ARB_compute_variable_group_size: Boolean;
  104. GL_ARB_conditional_render_inverted: Boolean;
  105. GL_ARB_conservative_depth: Boolean;
  106. GL_ARB_copy_buffer: Boolean;
  107. GL_ARB_copy_image: Boolean;
  108. GL_ARB_cull_distance: Boolean;
  109. GL_ARB_debug_output: Boolean;
  110. GL_ARB_depth_buffer_float: Boolean;
  111. GL_ARB_depth_clamp: Boolean;
  112. {$IFDEF USE_GLEXT}
  113. GL_ARB_depth_texture: Boolean;
  114. {$EndIf}
  115. GL_ARB_derivative_control: Boolean;
  116. GL_ARB_direct_state_access: Boolean;
  117. {$IFDEF USE_GLEXT}
  118. GL_ARB_draw_buffers: Boolean;
  119. {$EndIf}
  120. GL_ARB_draw_buffers_blend: Boolean;
  121. GL_ARB_draw_elements_base_vertex: Boolean;
  122. GL_ARB_draw_indirect: Boolean;
  123. GL_ARB_draw_instanced: Boolean;
  124. GL_ARB_enhanced_layouts: Boolean;
  125. GL_ARB_explicit_attrib_location: Boolean;
  126. GL_ARB_explicit_uniform_location: Boolean;
  127. GL_ARB_fragment_coord_conventions: Boolean;
  128. GL_ARB_fragment_layer_viewport: Boolean;
  129. {$IFDEF USE_GLEXT}
  130. GL_ARB_fragment_program: Boolean;
  131. GL_ARB_fragment_program_shadow: Boolean;
  132. GL_ARB_fragment_shader: Boolean;
  133. {$EndIf}
  134. GL_ARB_fragment_shader_interlock: Boolean;
  135. GL_ARB_framebuffer_no_attachments: Boolean;
  136. GL_ARB_framebuffer_object: Boolean;
  137. GL_ARB_framebuffer_sRGB: Boolean;
  138. GL_ARB_geometry_shader4: Boolean;
  139. GL_ARB_get_program_binary: Boolean;
  140. GL_ARB_get_texture_sub_image: Boolean;
  141. GL_ARB_gl_spirv: Boolean;
  142. GL_ARB_gpu_shader5: Boolean;
  143. GL_ARB_gpu_shader_fp64: Boolean;
  144. GL_ARB_gpu_shader_int64: Boolean;
  145. {$IFDEF USE_GLEXT}
  146. GL_ARB_half_float_pixel: Boolean;
  147. GL_ARB_imaging: Boolean;
  148. {$EndIf}
  149. GL_ARB_half_float_vertex: Boolean;
  150. GL_ARB_indirect_parameters: Boolean;
  151. GL_ARB_instanced_arrays: Boolean;
  152. GL_ARB_internalformat_query: Boolean;
  153. GL_ARB_internalformat_query2: Boolean;
  154. GL_ARB_invalidate_subdata: Boolean;
  155. GL_ARB_map_buffer_alignment: Boolean;
  156. GL_ARB_map_buffer_range: Boolean;
  157. {$IFDEF USE_GLEXT}
  158. GL_ARB_matrix_palette: Boolean;
  159. {$EndIf}
  160. GL_ARB_multi_bind: Boolean;
  161. GL_ARB_multi_draw_indirect: Boolean;
  162. {$IFDEF USE_GLEXT}
  163. GL_ARB_multisample: Boolean;
  164. GL_ARB_multitexture: Boolean;
  165. GL_ARB_occlusion_query: Boolean;
  166. {$EndIf}
  167. GL_ARB_occlusion_query2: Boolean;
  168. GL_ARB_parallel_shader_compile: Boolean;
  169. GL_ARB_pipeline_statistics_query: Boolean;
  170. GL_ARB_pixel_buffer_object: Boolean;
  171. {$IFDEF USE_GLEXT}
  172. GL_ARB_point_parameters: Boolean;
  173. GL_ARB_point_sprite: Boolean;
  174. {$EndIf}
  175. GL_ARB_polygon_offset_clamp: Boolean;
  176. GL_ARB_post_depth_coverage: Boolean;
  177. GL_ARB_program_interface_query: Boolean;
  178. GL_ARB_provoking_vertex: Boolean;
  179. GL_ARB_query_buffer_object: Boolean;
  180. GL_ARB_robust_buffer_access_behavior: Boolean;
  181. GL_ARB_robustness: Boolean;
  182. GL_ARB_robustness_isolation: Boolean;
  183. GL_ARB_sample_locations: Boolean;
  184. GL_ARB_sample_shading: Boolean;
  185. GL_ARB_sampler_objects: Boolean;
  186. GL_ARB_seamless_cube_map: Boolean;
  187. GL_ARB_seamless_cubemap_per_texture: Boolean;
  188. GL_ARB_separate_shader_objects: Boolean;
  189. GL_ARB_shader_atomic_counter_ops: Boolean;
  190. GL_ARB_shader_atomic_counters: Boolean;
  191. GL_ARB_shader_ballot: Boolean;
  192. GL_ARB_shader_bit_encoding: Boolean;
  193. GL_ARB_shader_clock: Boolean;
  194. GL_ARB_shader_draw_parameters: Boolean;
  195. GL_ARB_shader_group_vote: Boolean;
  196. GL_ARB_shader_image_load_store: Boolean;
  197. GL_ARB_shader_image_size: Boolean;
  198. {$IFDEF USE_GLEXT}
  199. GL_ARB_shader_objects: Boolean;
  200. {$EndIf}
  201. GL_ARB_shader_precision: Boolean;
  202. GL_ARB_shader_stencil_export: Boolean;
  203. GL_ARB_shader_storage_buffer_object: Boolean;
  204. GL_ARB_shader_subroutine: Boolean;
  205. GL_ARB_shader_texture_image_samples: Boolean;
  206. {$IFDEF USE_GLEXT}
  207. GL_ARB_shader_texture_lod: Boolean;
  208. GL_ARB_shading_language_100: Boolean;
  209. {$EndIf}
  210. GL_ARB_shader_viewport_layer_array: Boolean;
  211. GL_ARB_shading_language_420pack: Boolean;
  212. GL_ARB_shading_language_include: Boolean;
  213. GL_ARB_shading_language_packing: Boolean;
  214. {$IFDEF USE_GLEXT}
  215. GL_ARB_shadow: Boolean;
  216. GL_ARB_shadow_ambient: Boolean;
  217. {$EndIf}
  218. GL_ARB_sparse_buffer: Boolean;
  219. GL_ARB_sparse_texture: Boolean;
  220. GL_ARB_sparse_texture2: Boolean;
  221. GL_ARB_sparse_texture_clamp: Boolean;
  222. GL_ARB_spirv_extensions: Boolean;
  223. GL_ARB_stencil_texturing: Boolean;
  224. GL_ARB_sync: Boolean;
  225. GL_ARB_tessellation_shader: Boolean;
  226. GL_ARB_texture_barrier: Boolean;
  227. GL_ARB_texture_border_clamp: Boolean;
  228. GL_ARB_texture_buffer_object: Boolean;
  229. GL_ARB_texture_buffer_object_rgb32: Boolean;
  230. GL_ARB_texture_buffer_range: Boolean;
  231. GL_ARB_texture_compression_bptc: Boolean;
  232. GL_ARB_texture_compression_rgtc: Boolean;
  233. {$IFDEF USE_GLEXT}
  234. GL_ARB_texture_compression: Boolean;
  235. GL_ARB_texture_cube_map: Boolean;
  236. {$EndIf}
  237. GL_ARB_texture_cube_map_array: Boolean;
  238. {$IFDEF USE_GLEXT}
  239. GL_ARB_texture_env_add: Boolean;
  240. GL_ARB_texture_env_combine: Boolean;
  241. GL_ARB_texture_env_crossbar: Boolean;
  242. GL_ARB_texture_env_dot3: Boolean;
  243. GL_ARB_texture_float: Boolean;
  244. {$EndIf}
  245. GL_ARB_texture_filter_anisotropic: Boolean;
  246. GL_ARB_texture_filter_minmax: Boolean;
  247. GL_ARB_texture_gather: Boolean;
  248. GL_ARB_texture_mirror_clamp_to_edge: Boolean;
  249. GL_ARB_texture_mirrored_repeat: Boolean;
  250. GL_ARB_texture_multisample: Boolean;
  251. GL_ARB_texture_non_power_of_two: Boolean;
  252. GL_ARB_texture_query_levels: Boolean;
  253. GL_ARB_texture_query_lod: Boolean;
  254. {$IFDEF USE_GLEXT}
  255. GL_ARB_texture_rectangle: Boolean;
  256. {$EndIf}
  257. GL_ARB_texture_rg: Boolean;
  258. GL_ARB_texture_rgb10_a2ui: Boolean;
  259. GL_ARB_texture_stencil8: Boolean;
  260. GL_ARB_texture_storage: Boolean;
  261. GL_ARB_texture_storage_multisample: Boolean;
  262. GL_ARB_texture_swizzle: Boolean;
  263. GL_ARB_texture_view: Boolean;
  264. GL_ARB_timer_query: Boolean;
  265. GL_ARB_transform_feedback2: Boolean;
  266. GL_ARB_transform_feedback3: Boolean;
  267. GL_ARB_transform_feedback_instanced: Boolean;
  268. GL_ARB_transform_feedback_overflow_query: Boolean;
  269. {$IFDEF USE_GLEXT}
  270. GL_ARB_transpose_matrix: Boolean;
  271. {$EndIf}
  272. GL_ARB_uniform_buffer_object: Boolean;
  273. GL_ARB_vertex_array_bgra: Boolean;
  274. GL_ARB_vertex_array_object: Boolean;
  275. GL_ARB_vertex_attrib_64bit: Boolean;
  276. GL_ARB_vertex_attrib_binding: Boolean;
  277. {$IFDEF USE_GLEXT}
  278. GL_ARB_vertex_blend: Boolean;
  279. GL_ARB_vertex_buffer_object: Boolean;
  280. GL_ARB_vertex_program: Boolean;
  281. GL_ARB_vertex_shader: Boolean;
  282. GL_ARB_window_pos: Boolean;
  283. {$EndIf}
  284. GL_ARB_vertex_type_10f_11f_11f_rev: Boolean;
  285. GL_ARB_vertex_type_2_10_10_10_rev: Boolean;
  286. GL_ARB_viewport_array: Boolean;
  287. GL_KHR_blend_equation_advanced: Boolean;
  288. GL_KHR_blend_equation_advanced_coherent: Boolean;
  289. GL_KHR_context_flush_control: Boolean;
  290. GL_KHR_debug: Boolean;
  291. GL_KHR_no_error: Boolean;
  292. GL_KHR_parallel_shader_compile: Boolean;
  293. GL_KHR_robust_buffer_access_behavior: Boolean;
  294. GL_KHR_robustness: Boolean;
  295. GL_KHR_shader_subgroup: Boolean;
  296. GL_KHR_texture_compression_astc_hdr: Boolean;
  297. GL_KHR_texture_compression_astc_ldr: Boolean;
  298. GL_KHR_texture_compression_astc_sliced_3d: Boolean;
  299. {$IFDEF USE_GLEXT}
  300. GL_OES_byte_coordinates: Boolean;
  301. GL_OES_compressed_paletted_texture: Boolean;
  302. GL_OES_fixed_point: Boolean;
  303. GL_OES_query_matrix: Boolean;
  304. GL_OES_read_format: Boolean;
  305. GL_OES_single_precision: Boolean;
  306. GL_3DFX_multisample: Boolean;
  307. GL_3DFX_tbuffer: Boolean;
  308. GL_3DFX_texture_compression_FXT1: Boolean;
  309. GL_AMD_blend_minmax_factor: Boolean;
  310. GL_AMD_conservative_depth: Boolean;
  311. GL_AMD_debug_output: Boolean;
  312. GL_AMD_depth_clamp_separate: Boolean;
  313. GL_AMD_draw_buffers_blend: Boolean;
  314. {$EndIf}
  315. GL_AMD_framebuffer_multisample_advanced: Boolean;
  316. GL_AMD_gpu_shader_int64: Boolean; // хотя это GL_EXT
  317. {$IFDEF USE_GLEXT}
  318. GL_AMD_framebuffer_sample_positions: Boolean;
  319. GL_AMD_gcn_shader: Boolean;
  320. GL_AMD_gpu_shader_half_float: Boolean;
  321. GL_AMD_gpu_shader_int16: Boolean;
  322. GL_AMD_interleaved_elements: Boolean;
  323. GL_AMD_multi_draw_indirect: Boolean;
  324. GL_AMD_name_gen_delete: Boolean;
  325. GL_AMD_occlusion_query_event: Boolean;
  326. {$EndIf}
  327. GL_AMD_performance_monitor: Boolean;
  328. {$IFDEF USE_GLEXT}
  329. GL_AMD_pinned_memory: Boolean;
  330. GL_AMD_query_buffer_object: Boolean;
  331. GL_AMD_sample_positions: Boolean;
  332. GL_AMD_seamless_cubemap_per_texture: Boolean;
  333. GL_AMD_shader_atomic_counter_ops: Boolean;
  334. GL_AMD_shader_ballot: Boolean;
  335. GL_AMD_shader_explicit_vertex_parameter: Boolean;
  336. GL_AMD_shader_gpu_shader_half_float_fetch: Boolean;
  337. GL_AMD_shader_image_load_store_lod: Boolean;
  338. GL_AMD_shader_stencil_export: Boolean;
  339. GL_AMD_shader_trinary_minmax: Boolean;
  340. GL_AMD_sparse_texture: Boolean;
  341. GL_AMD_stencil_operation_extended: Boolean;
  342. GL_AMD_texture_gather_bias_lod: Boolean;
  343. GL_AMD_texture_texture4: Boolean;
  344. GL_AMD_transform_feedback3_lines_triangles: Boolean;
  345. GL_AMD_transform_feedback4: Boolean;
  346. GL_AMD_vertex_shader_layer: Boolean;
  347. GL_AMD_vertex_shader_tessellator: Boolean;
  348. GL_AMD_vertex_shader_viewport_index: Boolean;
  349. GL_APPLE_aux_depth_stencil: Boolean;
  350. GL_APPLE_client_storage: Boolean;
  351. GL_APPLE_element_array: Boolean;
  352. GL_APPLE_fence: Boolean;
  353. GL_APPLE_float_pixels: Boolean;
  354. GL_APPLE_flush_buffer_range: Boolean;
  355. GL_APPLE_object_purgeable: Boolean;
  356. {$EndIf}
  357. GL_APPLE_rgb_422: Boolean;
  358. {$IFDEF USE_GLEXT}
  359. GL_APPLE_row_bytes: Boolean;
  360. GL_APPLE_specular_vector: Boolean;
  361. GL_APPLE_texture_range: Boolean;
  362. GL_APPLE_transform_hint: Boolean;
  363. GL_APPLE_vertex_array_object: Boolean;
  364. GL_APPLE_vertex_array_range: Boolean;
  365. GL_APPLE_vertex_program_evaluators: Boolean;
  366. GL_APPLE_ycbcr_422: Boolean;
  367. GL_ATI_draw_buffers: Boolean;
  368. GL_ATI_element_array: Boolean;
  369. GL_ATI_envmap_bumpmap: Boolean;
  370. GL_ATI_fragment_shader: Boolean;
  371. GL_ATI_map_object_buffer: Boolean;
  372. GL_ATI_meminfo: Boolean;
  373. GL_ATI_pixel_format_float: Boolean;
  374. GL_ATI_pn_triangles: Boolean;
  375. GL_ATI_separate_stencil: Boolean;
  376. GL_ATI_text_fragment_shader: Boolean;
  377. GL_ATI_texture_env_combine3: Boolean;
  378. GL_ATI_texture_float: Boolean;
  379. GL_ATI_texture_mirror_once: Boolean;
  380. GL_ATI_vertex_array_object: Boolean;
  381. GL_ATI_vertex_attrib_array_object: Boolean;
  382. GL_ATI_vertex_streams: Boolean;
  383. GL_EXT_422_pixels: Boolean;
  384. {$EndIf}
  385. GL_EXT_EGL_image_storage: Boolean;
  386. GL_EXT_EGL_sync: Boolean;
  387. {$IFDEF USE_GLEXT}
  388. GL_EXT_abgr: Boolean;
  389. GL_EXT_bgra: Boolean;
  390. GL_EXT_bindable_uniform: Boolean;
  391. GL_EXT_blend_color: Boolean;
  392. GL_EXT_blend_equation_separate: Boolean;
  393. // GL_EXT_blend_func_separate: Boolean;
  394. GL_EXT_blend_logic_op: Boolean;
  395. GL_EXT_blend_minmax: Boolean;
  396. GL_EXT_blend_subtract: Boolean;
  397. GL_EXT_clip_volume_hint: Boolean;
  398. GL_EXT_cmyka: Boolean;
  399. GL_EXT_color_subtable: Boolean;
  400. GL_EXT_compiled_vertex_array: Boolean;
  401. GL_EXT_convolution: Boolean;
  402. GL_EXT_coordinate_frame: Boolean;
  403. GL_EXT_copy_texture: Boolean;
  404. GL_EXT_cull_vertex: Boolean;
  405. GL_EXT_depth_bounds_test: Boolean;
  406. GL_EXT_draw_buffers2: Boolean;
  407. {$EndIf}
  408. GL_EXT_debug_label: Boolean;
  409. GL_EXT_debug_marker: Boolean;
  410. GL_EXT_direct_state_access: Boolean;
  411. GL_EXT_draw_instanced: Boolean;
  412. {$IFDEF USE_GLEXT}
  413. GL_EXT_draw_range_elements: Boolean;
  414. GL_EXT_external_buffer: Boolean;
  415. GL_EXT_fog_coord: Boolean;
  416. GL_EXT_framebuffer_blit: Boolean;
  417. GL_EXT_framebuffer_multisample: Boolean;
  418. GL_EXT_framebuffer_multisample_blit_scaled: Boolean;
  419. GL_EXT_framebuffer_object: Boolean;
  420. GL_EXT_framebuffer_sRGB: Boolean;
  421. GL_EXT_geometry_shader4: Boolean;
  422. GL_EXT_gpu_program_parameters: Boolean;
  423. GL_EXT_gpu_shader4: Boolean;
  424. GL_EXT_histogram: Boolean;
  425. GL_EXT_index_array_formats: Boolean;
  426. GL_EXT_index_func: Boolean;
  427. GL_EXT_index_material: Boolean;
  428. GL_EXT_index_texture: Boolean;
  429. GL_EXT_light_texture: Boolean;
  430. GL_EXT_memory_object: Boolean;
  431. GL_EXT_memory_object_fd: Boolean;
  432. GL_EXT_memory_object_win32: Boolean;
  433. GL_EXT_misc_attribute: Boolean;
  434. GL_EXT_multi_draw_arrays: Boolean;
  435. GL_EXT_multisample: Boolean;
  436. {$EndIf}
  437. GL_EXT_multiview_tessellation_geometry_shader: Boolean;
  438. GL_EXT_multiview_texture_multisample: Boolean;
  439. GL_EXT_multiview_timer_query: Boolean;
  440. {$IFDEF USE_GLEXT}
  441. GL_EXT_packed_depth_stencil: Boolean;
  442. GL_EXT_packed_float: Boolean;
  443. GL_EXT_packed_pixels: Boolean;
  444. GL_EXT_paletted_texture: Boolean;
  445. GL_EXT_pixel_buffer_object: Boolean;
  446. GL_EXT_pixel_transform: Boolean;
  447. GL_EXT_pixel_transform_color_table: Boolean;
  448. GL_EXT_point_parameters: Boolean;
  449. GL_EXT_polygon_offset: Boolean;
  450. {$EndIf}
  451. GL_EXT_polygon_offset_clamp: Boolean;
  452. GL_EXT_post_depth_coverage: Boolean;
  453. GL_EXT_raster_multisample: Boolean;
  454. {$IFDEF USE_GLEXT}
  455. GL_EXT_provoking_vertex: Boolean;
  456. GL_EXT_rescale_normal: Boolean;
  457. GL_EXT_secondary_color: Boolean;
  458. GL_EXT_semaphore: Boolean;
  459. GL_EXT_semaphore_fd: Boolean;
  460. GL_EXT_semaphore_win32: Boolean;
  461. GL_EXT_separate_specular_color: Boolean;
  462. {$EndIf}
  463. GL_EXT_separate_shader_objects: Boolean;
  464. GL_EXT_shader_framebuffer_fetch: Boolean;
  465. GL_EXT_shader_framebuffer_fetch_non_coherent: Boolean;
  466. GL_EXT_shader_integer_mix: Boolean;
  467. {$IFDEF USE_GLEXT}
  468. GL_EXT_shader_image_load_formatted: Boolean;
  469. GL_EXT_shader_image_load_store: Boolean;
  470. GL_EXT_shadow_funcs: Boolean;
  471. GL_EXT_shared_texture_palette: Boolean;
  472. GL_EXT_sparse_texture2: Boolean;
  473. GL_EXT_stencil_clear_tag: Boolean;
  474. GL_EXT_stencil_two_side: Boolean;
  475. GL_EXT_stencil_wrap: Boolean;
  476. GL_EXT_subtexture: Boolean;
  477. GL_EXT_texture: Boolean;
  478. GL_EXT_texture3D: Boolean;
  479. GL_EXT_texture_array: Boolean;
  480. GL_EXT_texture_buffer_object: Boolean;
  481. GL_EXT_texture_compression_latc: Boolean;
  482. GL_EXT_texture_compression_rgtc: Boolean;
  483. // GL_EXT_texture_compression_s3tc: Boolean;
  484. GL_EXT_texture_cube_map: Boolean;
  485. GL_EXT_texture_env_add: Boolean;
  486. GL_EXT_texture_env_combine: Boolean;
  487. GL_EXT_texture_env_dot3: Boolean;
  488. // GL_EXT_texture_filter_anisotropic: Boolean;
  489. {$EndIf}
  490. GL_EXT_texture_filter_minmax: Boolean;
  491. {$IFDEF USE_GLEXT}
  492. GL_EXT_texture_integer: Boolean;
  493. GL_EXT_texture_lod_bias: Boolean;
  494. GL_EXT_texture_mirror_clamp: Boolean;
  495. GL_EXT_texture_object: Boolean;
  496. GL_EXT_texture_perturb_normal: Boolean;
  497. GL_EXT_texture_sRGB: Boolean;
  498. {$EndIf}
  499. GL_EXT_texture_sRGB_R8: Boolean;
  500. GL_EXT_texture_sRGB_RG8: Boolean;
  501. GL_EXT_texture_sRGB_decode: Boolean;
  502. GL_EXT_texture_shadow_lod: Boolean;
  503. GL_EXT_texture_storage: Boolean;
  504. {$IFDEF USE_GLEXT}
  505. GL_EXT_texture_shared_exponent: Boolean;
  506. GL_EXT_texture_snorm: Boolean;
  507. GL_EXT_texture_swizzle: Boolean;
  508. GL_EXT_timer_query: Boolean;
  509. GL_EXT_transform_feedback: Boolean;
  510. GL_EXT_vertex_array: Boolean;
  511. GL_EXT_vertex_array_bgra: Boolean;
  512. GL_EXT_vertex_attrib_64bit: Boolean;
  513. GL_EXT_vertex_shader: Boolean;
  514. GL_EXT_vertex_weighting: Boolean;
  515. GL_EXT_win32_keyed_mutex: Boolean;
  516. {$EndIf}
  517. GL_EXT_window_rectangles: Boolean;
  518. {$IFDEF USE_GLEXT}
  519. GL_EXT_x11_sync_object: Boolean;
  520. GL_GREMEDY_frame_terminator: Boolean;
  521. GL_GREMEDY_string_marker: Boolean;
  522. GL_HP_convolution_border_modes: Boolean;
  523. GL_HP_image_transform: Boolean;
  524. GL_HP_occlusion_test: Boolean;
  525. GL_HP_texture_lighting: Boolean;
  526. GL_IBM_cull_vertex: Boolean;
  527. GL_IBM_multimode_draw_arrays: Boolean;
  528. GL_IBM_rasterpos_clip: Boolean;
  529. GL_IBM_static_data: Boolean;
  530. GL_IBM_texture_mirrored_repeat: Boolean;
  531. GL_IBM_vertex_array_lists: Boolean;
  532. GL_INGR_blend_func_separate: Boolean;
  533. GL_INGR_color_clamp: Boolean;
  534. GL_INGR_interlace_read: Boolean;
  535. {$EndIf}
  536. GL_INTEL_blackhole_render: Boolean;
  537. GL_INTEL_conservative_rasterization: Boolean;
  538. GL_INTEL_framebuffer_CMAA: Boolean;
  539. {$IFDEF USE_GLEXT}
  540. GL_INTEL_fragment_shader_ordering: Boolean;
  541. GL_INTEL_map_texture: Boolean;
  542. GL_INTEL_parallel_arrays: Boolean;
  543. GL_MESAX_texture_stack: Boolean;
  544. {$EndIf}
  545. GL_INTEL_performance_query: Boolean;
  546. GL_MESA_framebuffer_flip_x: Boolean;
  547. GL_MESA_framebuffer_flip_y: Boolean;
  548. GL_MESA_framebuffer_swap_xy: Boolean;
  549. {$IFDEF USE_GLEXT}
  550. GL_MESA_pack_invert: Boolean;
  551. GL_MESA_program_binary_formats: Boolean;
  552. GL_MESA_resize_buffers: Boolean;
  553. GL_MESA_shader_integer_functions: Boolean;
  554. GL_MESA_tile_raster_order: Boolean;
  555. GL_MESA_window_pos: Boolean;
  556. GL_MESA_ycbcr_texture: Boolean;
  557. GL_NVX_blend_equation_advanced_multi_draw_buffers: Boolean;
  558. GL_NVX_conditional_render: Boolean;
  559. GL_NVX_gpu_memory_info: Boolean;
  560. GL_NVX_gpu_multicast2: Boolean;
  561. GL_NVX_linked_gpu_multicast: Boolean;
  562. GL_NVX_progress_fence: Boolean;
  563. GL_NV_alpha_to_coverage_dither_control: Boolean;
  564. {$EndIf}
  565. GL_NV_bindless_multi_draw_indirect: Boolean;
  566. GL_NV_bindless_multi_draw_indirect_count: Boolean;
  567. GL_NV_bindless_texture: Boolean;
  568. GL_NV_blend_equation_advanced: Boolean;
  569. GL_NV_blend_equation_advanced_coherent: Boolean;
  570. GL_NV_blend_minmax_factor: Boolean;
  571. {$IFDEF USE_GLEXT}
  572. GL_NV_blend_square: Boolean;
  573. GL_NV_compute_program5: Boolean;
  574. {$EndIf}
  575. GL_NV_clip_space_w_scaling: Boolean;
  576. GL_NV_command_list: Boolean;
  577. GL_NV_compute_shader_derivatives: Boolean;
  578. GL_NV_conditional_render: Boolean;
  579. GL_NV_conservative_raster: Boolean;
  580. GL_NV_conservative_raster_dilate: Boolean;
  581. GL_NV_conservative_raster_pre_snap: Boolean;
  582. GL_NV_conservative_raster_pre_snap_triangles: Boolean;
  583. GL_NV_conservative_raster_underestimation: Boolean;
  584. {$IFDEF USE_GLEXT}
  585. GL_NV_copy_depth_to_color: Boolean;
  586. GL_NV_copy_image: Boolean;
  587. GL_NV_deep_texture3D: Boolean;
  588. GL_NV_depth_clamp: Boolean;
  589. GL_NV_draw_texture: Boolean;
  590. {$EndIf}
  591. GL_NV_depth_buffer_float: Boolean;
  592. GL_NV_draw_vulkan_image: Boolean;
  593. {$IFDEF USE_GLEXT}
  594. GL_NV_evaluators: Boolean;
  595. GL_NV_explicit_multisample: Boolean;
  596. GL_NV_fence: Boolean;
  597. GL_NV_float_buffer: Boolean;
  598. GL_NV_fog_distance: Boolean;
  599. {$EndIf}
  600. GL_NV_fill_rectangle: Boolean;
  601. GL_NV_fragment_coverage_to_color: Boolean;
  602. {$IFDEF USE_GLEXT}
  603. GL_NV_fragment_program: Boolean;
  604. GL_NV_fragment_program2: Boolean;
  605. GL_NV_fragment_program4: Boolean;
  606. GL_NV_fragment_program_option: Boolean;
  607. {$EndIf}
  608. GL_NV_fragment_shader_barycentric: Boolean;
  609. GL_NV_fragment_shader_interlock: Boolean;
  610. GL_NV_framebuffer_mixed_samples: Boolean;
  611. GL_NV_framebuffer_multisample_coverage: Boolean;
  612. GL_NV_geometry_shader_passthrough: Boolean;
  613. {$IFDEF USE_GLEXT}
  614. GL_NV_geometry_program4: Boolean;
  615. GL_NV_geometry_shader4: Boolean;
  616. GL_NV_gpu_multicast: Boolean;
  617. GL_NV_gpu_program4: Boolean;
  618. GL_NV_gpu_program5: Boolean;
  619. GL_NV_gpu_program5_mem_extended: Boolean;
  620. {$EndIf}
  621. // узнать, работает ли эта часть при GLext!!!!
  622. // хотя функции подменены в другом разделе.
  623. GL_NV_gpu_shader5: Boolean;
  624. GL_NV_internalformat_sample_query: Boolean;
  625. {$IFDEF USE_GLEXT}
  626. GL_NV_half_float: Boolean;
  627. GL_NV_light_max_exponent: Boolean;
  628. {$EndIf}
  629. GL_NV_memory_attachment: Boolean;
  630. GL_NV_memory_object_sparse: Boolean;
  631. GL_NV_mesh_shader: Boolean;
  632. {$IFDEF USE_GLEXT}
  633. GL_NV_multisample_coverage: Boolean;
  634. GL_NV_multisample_filter_hint: Boolean;
  635. GL_NV_occlusion_query: Boolean;
  636. GL_NV_packed_depth_stencil: Boolean;
  637. GL_NV_parameter_buffer_object: Boolean;
  638. GL_NV_parameter_buffer_object2: Boolean;
  639. {$EndIf}
  640. GL_NV_path_rendering: Boolean;
  641. GL_NV_path_rendering_shared_edge: Boolean;
  642. GL_NV_primitive_shading_rate: Boolean;
  643. {$IFDEF USE_GLEXT}
  644. GL_NV_pixel_data_range: Boolean;
  645. GL_NV_point_sprite: Boolean;
  646. GL_NV_present_video: Boolean;
  647. GL_NV_primitive_restart: Boolean;
  648. GL_NV_query_resource: Boolean;
  649. GL_NV_query_resource_tag: Boolean;
  650. GL_NV_register_combiners: Boolean;
  651. GL_NV_register_combiners2: Boolean;
  652. GL_NV_robustness_video_memory_purge: Boolean;
  653. {$EndIf}
  654. GL_NV_representative_fragment_test: Boolean;
  655. GL_NV_sample_locations: Boolean;
  656. GL_NV_sample_mask_override_coverage: Boolean;
  657. GL_NV_scissor_exclusive: Boolean;
  658. GL_NV_shader_atomic_counters: Boolean;
  659. GL_NV_shader_atomic_float: Boolean;
  660. GL_NV_shader_atomic_float64: Boolean;
  661. GL_NV_shader_atomic_fp16_vector: Boolean;
  662. GL_NV_shader_atomic_int64: Boolean;
  663. GL_NV_shader_buffer_load: Boolean;
  664. GL_NV_shader_buffer_store: Boolean;
  665. {$IFDEF USE_GLEXT}
  666. GL_NV_shader_storage_buffer_object: Boolean;
  667. {$EndIf}
  668. GL_NV_shader_subgroup_partitioned: Boolean;
  669. GL_NV_shader_texture_footprint: Boolean;
  670. GL_NV_shader_thread_group: Boolean;
  671. GL_NV_shader_thread_shuffle: Boolean;
  672. GL_NV_shading_rate_image: Boolean;
  673. GL_NV_texture_barrier: Boolean;
  674. GL_NV_texture_rectangle_compressed: Boolean;
  675. {$IFDEF USE_GLEXT}
  676. GL_NV_stereo_view_rendering: Boolean;
  677. GL_NV_tessellation_program5: Boolean;
  678. GL_NV_texgen_emboss: Boolean;
  679. GL_NV_texgen_reflection: Boolean;
  680. GL_NV_texture_compression_vtc: Boolean;
  681. GL_NV_texture_env_combine4: Boolean;
  682. GL_NV_texture_expand_normal: Boolean;
  683. GL_NV_texture_multisample: Boolean;
  684. GL_NV_texture_rectangle: Boolean;
  685. GL_NV_texture_shader: Boolean;
  686. GL_NV_texture_shader2: Boolean;
  687. GL_NV_texture_shader3: Boolean;
  688. GL_NV_timeline_semaphore: Boolean;
  689. GL_NV_transform_feedback: Boolean;
  690. GL_NV_transform_feedback2: Boolean;
  691. GL_NV_vdpau_interop: Boolean;
  692. GL_NV_vdpau_interop2: Boolean;
  693. GL_NV_vertex_array_range: Boolean;
  694. GL_NV_vertex_array_range2: Boolean;
  695. {$EndIf}
  696. GL_NV_uniform_buffer_unified_memory: Boolean;
  697. GL_NV_vertex_attrib_integer_64bit: Boolean;
  698. GL_NV_vertex_buffer_unified_memory: Boolean;
  699. {$IFDEF USE_GLEXT}
  700. GL_NV_vertex_program: Boolean;
  701. GL_NV_vertex_program1_1: Boolean;
  702. GL_NV_vertex_program2: Boolean;
  703. GL_NV_vertex_program2_option: Boolean;
  704. GL_NV_vertex_program3: Boolean;
  705. GL_NV_vertex_program4: Boolean;
  706. GL_NV_video_capture: Boolean;
  707. GL_OML_interlace: Boolean;
  708. GL_OML_resample: Boolean;
  709. GL_OML_subsample: Boolean;
  710. {$EndIf}
  711. GL_NV_viewport_array2: Boolean;
  712. GL_NV_viewport_swizzle: Boolean;
  713. GL_OVR_multiview: Boolean;
  714. GL_OVR_multiview2: Boolean;
  715. {$IFDEF USE_GLEXT}
  716. GL_PGI_misc_hints: Boolean;
  717. GL_PGI_vertex_hints: Boolean;
  718. GL_REND_screen_coordinates: Boolean;
  719. GL_S3_s3tc: Boolean;
  720. GL_SGIS_detail_texture: Boolean;
  721. GL_SGIS_fog_function: Boolean;
  722. // GL_SGIS_generate_mipmap: Boolean;
  723. GL_SGIS_multisample: Boolean;
  724. GL_SGIS_pixel_texture: Boolean;
  725. GL_SGIS_point_line_texgen: Boolean;
  726. GL_SGIS_point_parameters: Boolean;
  727. GL_SGIS_sharpen_texture: Boolean;
  728. GL_SGIS_texture4D: Boolean;
  729. GL_SGIS_texture_border_clamp: Boolean;
  730. GL_SGIS_texture_color_mask: Boolean;
  731. GL_SGIS_texture_edge_clamp: Boolean;
  732. GL_SGIS_texture_filter4: Boolean;
  733. GL_SGIS_texture_lod: Boolean;
  734. GL_SGIS_texture_select: Boolean;
  735. GL_SGIX_async: Boolean;
  736. GL_SGIX_async_histogram: Boolean;
  737. GL_SGIX_async_pixel: Boolean;
  738. GL_SGIX_blend_alpha_minmax: Boolean;
  739. GL_SGIX_calligraphic_fragment: Boolean;
  740. GL_SGIX_clipmap: Boolean;
  741. GL_SGIX_convolution_accuracy: Boolean;
  742. GL_SGIX_depth_pass_instrument: Boolean;
  743. GL_SGIX_depth_texture: Boolean;
  744. GL_SGIX_flush_raster: Boolean;
  745. GL_SGIX_fog_offset: Boolean;
  746. GL_SGIX_fragment_lighting: Boolean;
  747. GL_SGIX_framezoom: Boolean;
  748. GL_SGIX_igloo_interface: Boolean;
  749. GL_SGIX_instruments: Boolean;
  750. GL_SGIX_interlace: Boolean;
  751. GL_SGIX_ir_instrument1: Boolean;
  752. GL_SGIX_list_priority: Boolean;
  753. GL_SGIX_pixel_texture: Boolean;
  754. GL_SGIX_pixel_tiles: Boolean;
  755. GL_SGIX_polynomial_ffd: Boolean;
  756. GL_SGIX_reference_plane: Boolean;
  757. GL_SGIX_resample: Boolean;
  758. GL_SGIX_scalebias_hint: Boolean;
  759. GL_SGIX_shadow: Boolean;
  760. GL_SGIX_shadow_ambient: Boolean;
  761. GL_SGIX_sprite: Boolean;
  762. GL_SGIX_subsample: Boolean;
  763. GL_SGIX_tag_sample_buffer: Boolean;
  764. GL_SGIX_texture_add_env: Boolean;
  765. GL_SGIX_texture_coordinate_clamp: Boolean;
  766. GL_SGIX_texture_lod_bias: Boolean;
  767. GL_SGIX_texture_multi_buffer: Boolean;
  768. GL_SGIX_texture_scale_bias: Boolean;
  769. GL_SGIX_vertex_preclip: Boolean;
  770. GL_SGIX_ycrcb: Boolean;
  771. GL_SGIX_ycrcb_subsample: Boolean;
  772. GL_SGIX_ycrcba: Boolean;
  773. GL_SGI_color_matrix: Boolean;
  774. GL_SGI_color_table: Boolean;
  775. GL_SGI_texture_color_table: Boolean;
  776. GL_SUNX_constant_data: Boolean;
  777. GL_SUN_convolution_border_modes: Boolean;
  778. GL_SUN_global_alpha: Boolean;
  779. GL_SUN_mesh_array: Boolean;
  780. GL_SUN_slice_accum: Boolean;
  781. GL_SUN_triangle_list: Boolean;
  782. GL_SUN_vertex: Boolean;
  783. GL_WIN_phong_shading: Boolean;
  784. GL_WIN_specular_fog: Boolean;
  785. {$EndIf}
  786. {$IfEnd}
  787. (*******************************************************************************
  788. * deprecated *
  789. *******************************************************************************)
  790. {$IfDef USE_DEPRECATED}
  791. procedure glAccum(op: GLenum; value: GLfloat); stdcall; external libGL;
  792. // glAlphaFunc: procedure(func: GLenum; ref: GLclampf); stdcall; external libGL;
  793. function glAreTexturesResident(n: GLsizei; const textures: PGLuint; residences: PGLboolean): GLboolean; stdcall; external libGL;
  794. // glArrayElement: procedure(i: GLint); stdcall; external libGL; // + EXT
  795. // glBegin: procedure(mode: GLenum); stdcall; external libGL;
  796. procedure glBitmap (width, height: GLsizei; xorig, yorig: GLfloat; xmove, ymove: GLfloat; const bitmap: PGLubyte); stdcall; external libGL;
  797. procedure glCallList(list: GLuint); stdcall; external libGL;
  798. procedure glCallLists(n: GLsizei; atype: GLenum; const lists: Pointer); stdcall; external libGL;
  799. procedure glClearAccum(red, green, blue, alpha: GLfloat); stdcall; external libGL;
  800. procedure glClearIndex(c: GLfloat); stdcall; external libGL;
  801. procedure glClipPlane(plane: GLenum; const equation: PGLdouble); stdcall; external libGL;
  802. procedure glColor3b(red, green, blue: GLbyte); stdcall; external libGL;
  803. procedure glColor3bv(const v: PGLbyte); stdcall; external libGL;
  804. procedure glColor3d(red, green, blue: GLdouble); stdcall; external libGL;
  805. procedure glColor3dv(const v: PGLdouble); stdcall; external libGL;
  806. procedure glColor3f(red, green, blue: GLfloat); stdcall; external libGL;
  807. procedure glColor3fv(const v: PGLfloat); stdcall; external libGL;
  808. procedure glColor3i(red, green, blue: GLint); stdcall; external libGL;
  809. procedure glColor3iv(const v: PGLint); stdcall; external libGL;
  810. procedure glColor3s(red, green, blue: GLshort); stdcall; external libGL;
  811. procedure glColor3sv(const v: PGLshort); stdcall; external libGL;
  812. // glColor3ub: procedure(red, green, blue: GLubyte); stdcall; external libGL;
  813. // glColor3ubv: procedure(const v: PGLubyte); stdcall; external libGL;
  814. procedure glColor3ui(red, green, blue: GLuint); stdcall; external libGL;
  815. procedure glColor3uiv(const v: PGLuint); stdcall; external libGL;
  816. procedure glColor3us(red, green, blue: GLushort); stdcall; external libGL;
  817. procedure glColor3usv(const v: PGLushort); stdcall; external libGL;
  818. procedure glColor4b(red, green, blue, alpha: GLbyte); stdcall; external libGL;
  819. procedure glColor4bv(const v: PGLbyte); stdcall; external libGL;
  820. procedure glColor4d(red, green, blue, alpha: GLdouble); stdcall; external libGL;
  821. procedure glColor4dv(const v: PGLdouble); stdcall; external libGL;
  822. // glColor4f: procedure(red, green, blue, alpha: GLfloat); stdcall; external libGL;
  823. // glColor4fv: procedure(const v: PGLfloat); stdcall; external libGL;
  824. procedure glColor4i(red, green, blue, alpha: GLint); stdcall; external libGL;
  825. procedure glColor4iv(const v: PGLint); stdcall; external libGL;
  826. procedure glColor4s(red, green, blue, alpha: GLshort); stdcall; external libGL;
  827. procedure glColor4sv(const v: PGLshort); stdcall; external libGL;
  828. // glColor4ub: procedure(red, green, blue, alpha: GLubyte); stdcall; external libGL;
  829. // glColor4ubv: procedure(const v: PGLubyte); stdcall; external libGL;
  830. procedure glColor4ui(red, green, blue, alpha: GLuint); stdcall; external libGL;
  831. procedure glColor4uiv(const v: PGLuint); stdcall; external libGL;
  832. procedure glColor4us(red, green, blue, alpha: GLushort); stdcall; external libGL;
  833. procedure glColor4usv(const v: PGLushort); stdcall; external libGL;
  834. // glColorMaterial: procedure(face, mode: GLenum); stdcall; external libGL;
  835. // glColorPointer: procedure(size: GLint; atype: GLenum; stride: GLsizei; const pointer: Pointer); stdcall; external libGL;
  836. procedure glCopyPixels(x, y: GLint; width, height: GLsizei; atype: GLenum); stdcall; external libGL;
  837. procedure glDeleteLists(list: GLuint; range: GLsizei); stdcall; external libGL;
  838. // glDisableClientState: procedure(aarray: GLenum); stdcall; external libGL;
  839. procedure glDrawPixels(width, height: GLsizei; format, atype: GLenum; const pixels: Pointer); stdcall; external libGL;
  840. procedure glEdgeFlag(flag: GLboolean); stdcall; external libGL;
  841. // glEdgeFlagPointer: procedure(stride: GLsizei; const pointer: Pointer); stdcall; external libGL;
  842. procedure glEdgeFlagv(const flag: PGLboolean); stdcall; external libGL;
  843. // glEnableClientState: procedure(aarray: GLenum); stdcall; external libGL;
  844. // glEnd: procedure; stdcall; external libGL;
  845. procedure glEndList; stdcall; external libGL;
  846. procedure glEvalCoord1d(u: GLdouble); stdcall; external libGL;
  847. procedure glEvalCoord1dv(const u: PGLdouble); stdcall; external libGL;
  848. procedure glEvalCoord1f(u: GLfloat); stdcall; external libGL;
  849. procedure glEvalCoord1fv(const u: PGLfloat); stdcall; external libGL;
  850. procedure glEvalCoord2d(u, v: GLdouble); stdcall; external libGL;
  851. procedure glEvalCoord2dv(const u: PGLdouble); stdcall; external libGL;
  852. procedure glEvalCoord2f(u, v: GLfloat); stdcall; external libGL;
  853. procedure glEvalCoord2fv(const u: PGLfloat); stdcall; external libGL;
  854. procedure glEvalMesh1(mode: GLenum; i1, i2: GLint); stdcall; external libGL;
  855. procedure glEvalMesh2(mode: GLenum; i1, i2, j1, j2: GLint); stdcall; external libGL;
  856. procedure glEvalPoint1(i: GLint); stdcall; external libGL;
  857. procedure glEvalPoint2(i, j: GLint); stdcall; external libGL;
  858. procedure glFeedbackBuffer(size: GLsizei; atype: GLenum; buffer: PGLfloat); stdcall; external libGL;
  859. procedure glFogf(pname: GLenum; param: GLfloat); stdcall; external libGL;
  860. procedure glFogfv(pname: GLenum; const params: PGLfloat); stdcall; external libGL;
  861. procedure glFogi(pname: GLenum; param: GLint); stdcall; external libGL;
  862. procedure glFogiv(pname: GLenum; const params: PGLint); stdcall; external libGL;
  863. // glFrustum: procedure(left, right, bottom, top, zNear, zFar: GLdouble); stdcall; external libGL;
  864. function glGenLists(range: GLsizei): GLuint; stdcall; external libGL;
  865. procedure glGetClipPlane(plane: GLenum; equation: PGLdouble); stdcall; external libGL;
  866. // glGetLightfv: procedure(light, pname: GLenum; params: PGLfloat); stdcall; external libGL;
  867. // glGetLightiv: procedure(light, pname: GLenum; params: PGLint); stdcall; external libGL;
  868. procedure glGetMapdv(target, query: GLenum; v: PGLdouble); stdcall; external libGL;
  869. procedure glGetMapfv(target, query: GLenum; v: PGLfloat); stdcall; external libGL;
  870. procedure glGetMapiv(target, query: GLenum; v: PGLint); stdcall; external libGL;
  871. // glGetMaterialfv: procedure(face, pname: GLenum; params: PGLfloat); stdcall; external libGL;
  872. // glGetMaterialiv: procedure(face, pname: GLenum; params: PGLint); stdcall; external libGL;
  873. procedure glGetPixelMapfv(map: GLenum; values: PGLfloat); stdcall; external libGL;
  874. procedure glGetPixelMapuiv(map: GLenum; values: PGLuint); stdcall; external libGL;
  875. procedure glGetPixelMapusv(map: GLenum; values: PGLushort); stdcall; external libGL;
  876. procedure glGetPolygonStipple(mask: PGLubyte); stdcall; external libGL;
  877. procedure glGetTexEnvfv(target, pname: GLenum; params: PGLfloat); stdcall; external libGL;
  878. procedure glGetTexEnviv(target, pname: GLenum; params: PGLint); stdcall; external libGL;
  879. procedure glGetTexGendv(coord, pname: GLenum; params: PGLdouble); stdcall; external libGL;
  880. procedure glGetTexGenfv(coord, pname: GLenum; params: PGLfloat); stdcall; external libGL;
  881. procedure glGetTexGeniv(coord, pname: GLenum; params: PGLint); stdcall; external libGL;
  882. procedure glIndexMask(mask: GLuint); stdcall; external libGL;
  883. procedure glIndexPointer(atype: GLenum; stride: GLsizei; const pointer: Pointer); stdcall; external libGL;
  884. procedure glIndexd(c: GLdouble); stdcall; external libGL;
  885. procedure glIndexdv(const c: PGLdouble); stdcall; external libGL;
  886. procedure glIndexf(c: GLfloat); stdcall; external libGL;
  887. procedure glIndexfv(const c: PGLfloat); stdcall; external libGL;
  888. procedure glIndexi(c: GLint); stdcall; external libGL;
  889. procedure glIndexiv(const c: PGLint); stdcall; external libGL;
  890. procedure glIndexs(c: GLshort); stdcall; external libGL;
  891. procedure glIndexsv(const c: PGLshort); stdcall; external libGL;
  892. procedure glIndexub(c: GLubyte); stdcall; external libGL;
  893. procedure glIndexubv(const c: PGLubyte); stdcall; external libGL;
  894. procedure glInitNames; stdcall; external libGL;
  895. // glInterleavedArrays: procedure(format: GLenum; stride: GLsizei; const pointer: Pointer); stdcall; external libGL;
  896. function glIsList(list: GLuint): GLboolean; stdcall; external libGL;
  897. // glLightModelf: procedure(pname: GLenum; param: GLfloat); stdcall; external libGL;
  898. // glLightModelfv: procedure(pname: GLenum; const params: PGLfloat); stdcall; external libGL;
  899. procedure glLightModeli(pname: GLenum; param: GLint); stdcall; external libGL;
  900. procedure glLightModeliv(pname: GLenum; const params: PGLint); stdcall; external libGL;
  901. // glLightf: procedure(light, pname: GLenum; param: GLfloat); stdcall; external libGL;
  902. // glLightfv: procedure(light, pname: GLenum; const params: PGLfloat); stdcall; external libGL;
  903. procedure glLighti(light, pname: GLenum; param: GLint); stdcall; external libGL;
  904. procedure glLightiv(light, pname: GLenum; const params: PGLint); stdcall; external libGL;
  905. procedure glLineStipple(factor: GLint; pattern: GLushort); stdcall; external libGL;
  906. procedure glListBase(base: GLuint); stdcall; external libGL;
  907. // glLoadIdentity: procedure; stdcall; external libGL;
  908. procedure glLoadMatrixd(const m: PGLdouble); stdcall; external libGL;
  909. // glLoadMatrixf: procedure(const m: PGLfloat); stdcall; external libGL;
  910. procedure glLoadName(name: GLuint); stdcall; external libGL;
  911. procedure glMap1d(target: GLenum; u1, u2: GLdouble; stride, order: GLint; const points: PGLdouble); stdcall; external libGL;
  912. procedure glMap1f(target: GLenum; u1, u2: GLfloat; stride, order: GLint; const points: PGLfloat); stdcall; external libGL;
  913. procedure glMap2d(target: GLenum; u1, u2: GLdouble; ustride, uorder: GLint; v1, v2: GLdouble; vstride, vorder: GLint; const points: PGLdouble); stdcall; external libGL;
  914. procedure glMap2f(target: GLenum; u1, u2: GLfloat; ustride, uorder: GLint; v1, v2: GLfloat; vstride, vorder: GLint; const points: PGLfloat); stdcall; external libGL;
  915. procedure glMapGrid1d(un: GLint; u1, u2: GLdouble); stdcall; external libGL;
  916. procedure glMapGrid1f(un: GLint; u1, u2: GLfloat); stdcall; external libGL;
  917. procedure glMapGrid2d(un: GLint; u1, u2: GLdouble; vn: GLint; v1, v2: GLdouble); stdcall; external libGL;
  918. procedure glMapGrid2f(un: GLint; u1, u2: GLfloat; vn: GLint; v1, v2: GLfloat); stdcall; external libGL;
  919. // glMaterialf: procedure(face, pname: GLenum; param: GLfloat); stdcall; external libGL;
  920. // glMaterialfv: procedure(face, pname: GLenum; const params: PGLfloat); stdcall; external libGL;
  921. procedure glMateriali(face, pname: GLenum; param: GLint); stdcall; external libGL;
  922. procedure glMaterialiv(face, pname: GLenum; const params: PGLint); stdcall; external libGL;
  923. // glMatrixMode: procedure(mode: GLenum); stdcall; external libGL;
  924. procedure glMultMatrixd(const m: PGLdouble); stdcall; external libGL;
  925. procedure glMultMatrixf(const m: PGLfloat); stdcall; external libGL;
  926. procedure glNewList(list: GLuint; mode: GLenum); stdcall; external libGL;
  927. procedure glNormal3b(nx, ny, nz: GLbyte); stdcall; external libGL;
  928. procedure glNormal3bv(const v: PGLbyte); stdcall; external libGL;
  929. procedure glNormal3d(nx, ny, nz: GLdouble); stdcall; external libGL;
  930. procedure glNormal3dv(const v: PGLdouble); stdcall; external libGL;
  931. // glNormal3f: procedure(nx, ny, nz: GLfloat); stdcall; external libGL;
  932. // glNormal3fv: procedure(const v: PGLfloat); stdcall; external libGL;
  933. procedure glNormal3i(nx, ny, nz: GLint); stdcall; external libGL;
  934. procedure glNormal3iv(const v: PGLint); stdcall; external libGL;
  935. procedure glNormal3s(nx, ny, nz: GLshort); stdcall; external libGL;
  936. procedure glNormal3sv(const v: PGLshort); stdcall; external libGL;
  937. // glNormalPointer: procedure(atype: GLenum; stride: GLsizei; const pointer: Pointer); stdcall; external libGL;
  938. // glOrtho: procedure(left, right, bottom, top, zNear, zFar: GLdouble); stdcall; external libGL;
  939. procedure glPassThrough(token: GLfloat); stdcall; external libGL;
  940. procedure glPixelMapfv(map: GLenum; mapsize: GLint; const values: PGLfloat); stdcall; external libGL;
  941. procedure glPixelMapuiv(map: GLenum; mapsize: GLint; const values: PGLuint); stdcall; external libGL;
  942. procedure glPixelMapusv(map: GLenum; mapsize: GLint; const values: PGLushort); stdcall; external libGL;
  943. procedure glPixelTransferf(pname: GLenum; param: GLfloat); stdcall; external libGL;
  944. procedure glPixelTransferi(pname: GLenum; param: GLint); stdcall; external libGL;
  945. procedure glPixelZoom(xfactor, yfactor: GLfloat); stdcall; external libGL;
  946. procedure glPolygonStipple(const mask: PGLubyte); stdcall; external libGL;
  947. procedure glPopAttrib; stdcall; external libGL;
  948. procedure glPopClientAttrib; stdcall; external libGL;
  949. // glPopMatrix: procedure; stdcall; external libGL;
  950. procedure glPopName; stdcall; external libGL;
  951. procedure glPrioritizeTextures(n: GLsizei; const textures: PGLuint; const priorities: PGLclampf); stdcall; external libGL;
  952. procedure glPushAttrib(mask: GLbitfield); stdcall; external libGL;
  953. procedure glPushClientAttrib(mask: GLbitfield); stdcall; external libGL;
  954. // glPushMatrix: procedure; stdcall; external libGL;
  955. procedure glPushName(name: GLuint); stdcall; external libGL;
  956. procedure glRasterPos2d(x, y: GLdouble); stdcall; external libGL;
  957. procedure glRasterPos2dv(const v: PGLdouble); stdcall; external libGL;
  958. procedure glRasterPos2f(x, y: GLfloat); stdcall; external libGL;
  959. procedure glRasterPos2fv(const v: PGLfloat); stdcall; external libGL;
  960. procedure glRasterPos2i(x, y: GLint); stdcall; external libGL;
  961. procedure glRasterPos2iv(const v: PGLint); stdcall; external libGL;
  962. procedure glRasterPos2s(x, y: GLshort); stdcall; external libGL;
  963. procedure glRasterPos2sv(const v: PGLshort); stdcall; external libGL;
  964. procedure glRasterPos3d(x, y, z: GLdouble); stdcall; external libGL;
  965. procedure glRasterPos3dv(const v: PGLdouble); stdcall; external libGL;
  966. procedure glRasterPos3f(x, y, z: GLfloat); stdcall; external libGL;
  967. procedure glRasterPos3fv(const v: PGLfloat); stdcall; external libGL;
  968. procedure glRasterPos3i(x, y, z: GLint); stdcall; external libGL;
  969. procedure glRasterPos3iv(const v: PGLint); stdcall; external libGL;
  970. procedure glRasterPos3s(x, y, z: GLshort); stdcall; external libGL;
  971. procedure glRasterPos3sv(const v: PGLshort); stdcall; external libGL;
  972. procedure glRasterPos4d(x, y, z, w: GLdouble); stdcall; external libGL;
  973. procedure glRasterPos4dv(const v: PGLdouble); stdcall; external libGL;
  974. procedure glRasterPos4f(x, y, z, w: GLfloat); stdcall; external libGL;
  975. procedure glRasterPos4fv(const v: PGLfloat); stdcall; external libGL;
  976. procedure glRasterPos4i(x, y, z, w: GLint); stdcall; external libGL;
  977. procedure glRasterPos4iv(const v: PGLint); stdcall; external libGL;
  978. procedure glRasterPos4s(x, y, z, w: GLshort); stdcall; external libGL;
  979. procedure glRasterPos4sv(const v: PGLshort); stdcall; external libGL;
  980. procedure glRectd(x1, y1, x2, y2: GLdouble); stdcall; external libGL;
  981. procedure glRectdv(const v1: PGLdouble; const v2: PGLdouble); stdcall; external libGL;
  982. procedure glRectf(x1, y1, x2, y2: GLfloat); stdcall; external libGL;
  983. procedure glRectfv(const v1: PGLfloat; const v2: PGLfloat); stdcall; external libGL;
  984. procedure glRecti(x1, y1, x2, y2: GLint); stdcall; external libGL;
  985. procedure glRectiv(const v1: PGLint; const v2: PGLint); stdcall; external libGL;
  986. procedure glRects(x1, y1, x2, y2: GLshort); stdcall; external libGL;
  987. procedure glRectsv(const v1: PGLshort; const v2: PGLshort); stdcall; external libGL;
  988. function glRenderMode(mode: GLint): GLint; stdcall; external libGL;
  989. procedure glRotated(angle, x, y, z: GLdouble); stdcall; external libGL;
  990. // glRotatef: procedure(angle, x, y, z: GLfloat); stdcall; external libGL;
  991. procedure glScaled(x, y, z: GLdouble); stdcall; external libGL;
  992. // glScalef: procedure(x, y, z: GLfloat); stdcall; external libGL;
  993. procedure glSelectBuffer(size: GLsizei; buffer: PGLuint); stdcall; external libGL;
  994. // glShadeModel: procedure(mode: GLenum); stdcall; external libGL;
  995. procedure glTexCoord1d(s: GLdouble); stdcall; external libGL;
  996. procedure glTexCoord1dv(const v: PGLdouble); stdcall; external libGL;
  997. procedure glTexCoord1f(s: GLfloat); stdcall; external libGL;
  998. procedure glTexCoord1fv(const v: PGLfloat); stdcall; external libGL;
  999. procedure glTexCoord1i(s: GLint); stdcall; external libGL;
  1000. procedure glTexCoord1iv(const v: PGLint); stdcall; external libGL;
  1001. procedure glTexCoord1s(s: GLshort); stdcall; external libGL;
  1002. procedure glTexCoord1sv(const v: PGLshort); stdcall; external libGL;
  1003. procedure glTexCoord2d(s, t: GLdouble); stdcall; external libGL;
  1004. procedure glTexCoord2dv(const v: PGLdouble); stdcall; external libGL;
  1005. // glTexCoord2f: procedure(s, t: GLfloat); stdcall; external libGL;
  1006. // glTexCoord2fv: procedure(const v: PGLfloat); stdcall; external libGL;
  1007. procedure glTexCoord2i(s, t: GLint); stdcall; external libGL;
  1008. procedure glTexCoord2iv(const v: PGLint); stdcall; external libGL;
  1009. procedure glTexCoord2s(s, t: GLshort); stdcall; external libGL;
  1010. procedure glTexCoord2sv(const v: PGLshort); stdcall; external libGL;
  1011. procedure glTexCoord3d(s, t, r: GLdouble); stdcall; external libGL;
  1012. procedure glTexCoord3dv(const v: PGLdouble); stdcall; external libGL;
  1013. procedure glTexCoord3f(s, t, r: GLfloat); stdcall; external libGL;
  1014. procedure glTexCoord3fv(const v: PGLfloat); stdcall; external libGL;
  1015. procedure glTexCoord3i(s, t, r: GLint); stdcall; external libGL;
  1016. procedure glTexCoord3iv(const v: PGLint); stdcall; external libGL;
  1017. procedure glTexCoord3s(s, t, r: GLshort); stdcall; external libGL;
  1018. procedure glTexCoord3sv(const v: PGLshort); stdcall; external libGL;
  1019. procedure glTexCoord4d(s, t, r, q: GLdouble); stdcall; external libGL;
  1020. procedure glTexCoord4dv(const v: PGLdouble); stdcall; external libGL;
  1021. procedure glTexCoord4f(s, t, r, q: GLfloat); stdcall; external libGL;
  1022. procedure glTexCoord4fv(const v: PGLfloat); stdcall; external libGL;
  1023. procedure glTexCoord4i(s, t, r, q: GLint); stdcall; external libGL;
  1024. procedure glTexCoord4iv(const v: PGLint); stdcall; external libGL;
  1025. procedure glTexCoord4s(s, t, r, q: GLshort); stdcall; external libGL;
  1026. procedure glTexCoord4sv(const v: PGLshort); stdcall; external libGL;
  1027. // glTexCoordPointer: procedure(size: GLint; atype: GLenum; stride: GLsizei; const pointer: Pointer); stdcall; external libGL;
  1028. procedure glTexEnvf(target: GLenum; pname: GLenum; param: GLfloat); stdcall; external libGL;
  1029. procedure glTexEnvfv(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall; external libGL;
  1030. // glTexEnvi: procedure(target: GLenum; pname: GLenum; param: GLint); stdcall; external libGL;
  1031. // glTexEnviv: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall; external libGL;
  1032. procedure glTexGend(coord: GLenum; pname: GLenum; param: GLdouble); stdcall; external libGL;
  1033. procedure glTexGendv(coord: GLenum; pname: GLenum; const params: PGLdouble); stdcall; external libGL;
  1034. procedure glTexGenf(coord: GLenum; pname: GLenum; param: GLfloat); stdcall; external libGL;
  1035. procedure glTexGenfv(coord: GLenum; pname: GLenum; const params: PGLfloat); stdcall; external libGL;
  1036. procedure glTexGeni(coord: GLenum; pname: GLenum; param: GLint); stdcall; external libGL;
  1037. procedure glTexGeniv(coord: GLenum; pname: GLenum; const params: PGLint); stdcall; external libGL;
  1038. procedure glTranslated(x, y, z: GLdouble); stdcall; external libGL;
  1039. // glTranslatef: procedure(x, y, z: GLfloat); stdcall;
  1040. procedure glVertex2d(x, y: GLdouble); stdcall; external libGL;
  1041. procedure glVertex2dv(const v: PGLdouble); stdcall; external libGL;
  1042. // glVertex2f: procedure(x, y: GLfloat); stdcall;
  1043. // glVertex2fv: procedure(const v: PGLfloat); stdcall;
  1044. procedure glVertex2i(x, y: GLint); stdcall; external libGL;
  1045. procedure glVertex2iv(const v: PGLint); stdcall; external libGL;
  1046. procedure glVertex2s(x, y: GLshort); stdcall; external libGL;
  1047. procedure glVertex2sv(const v: PGLshort); stdcall; external libGL;
  1048. procedure glVertex3d(x, y, z: GLdouble); stdcall; external libGL;
  1049. procedure glVertex3dv(const v: PGLdouble); stdcall; external libGL;
  1050. // glVertex3f: procedure(x, y, z: GLfloat); stdcall;
  1051. // glVertex3fv: procedure(const v: PGLfloat); stdcall;
  1052. procedure glVertex3i(x, y, z: GLint); stdcall; external libGL;
  1053. procedure glVertex3iv(const v: PGLint); stdcall; external libGL;
  1054. procedure glVertex3s(x, y, z: GLshort); stdcall; external libGL;
  1055. procedure glVertex3sv(const v: PGLshort); stdcall; external libGL;
  1056. procedure glVertex4d(x, y, z, w: GLdouble); stdcall; external libGL;
  1057. procedure glVertex4dv(const v: PGLdouble); stdcall; external libGL;
  1058. procedure glVertex4f(x, y, z, w: GLfloat); stdcall; external libGL;
  1059. procedure glVertex4fv(const v: PGLfloat); stdcall; external libGL;
  1060. procedure glVertex4i(x, y, z, w: GLint); stdcall; external libGL;
  1061. procedure glVertex4iv(const v: PGLint); stdcall; external libGL;
  1062. procedure glVertex4s(x, y, z, w: GLshort); stdcall; external libGL;
  1063. procedure glVertex4sv(const v: PGLshort); stdcall; external libGL;
  1064. // glVertexPointer: procedure(size: GLint; atype: GLenum; stride: GLsizei; const pointer: Pointer); stdcall;
  1065. {$EndIf}
  1066. (*******************************************************************************
  1067. * end deprecated *
  1068. *******************************************************************************)
  1069. {$IfDef GL_VERSION_1_0}
  1070. procedure glCullFace(mode: GLenum); stdcall; external libGL;
  1071. procedure glFrontFace(mode: GLenum); stdcall; external libGL;
  1072. // procedure glHint(target: GLenum; mode: GLenum); stdcall; external libGL;
  1073. procedure glLineWidth(width: GLfloat); stdcall; external libGL;
  1074. // procedure glPointSize(size: GLfloat); stdcall; external libGL;
  1075. procedure glPolygonMode(face: GLenum; mode: GLenum); stdcall; external libGL;
  1076. // procedure glScissor(x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall; external libGL;
  1077. // procedure glTexParameterf(target: GLenum; pname: GLenum; param: GLfloat); stdcall; external libGL;
  1078. // procedure glTexParameterfv(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall; external libGL;
  1079. // procedure glTexParameteri(target: GLenum; pname: GLenum; param: GLint); stdcall; external libGL;
  1080. // procedure glTexParameteriv(target: GLenum; pname: GLenum; const params: PGLint); stdcall; external libGL;
  1081. procedure glTexImage1D(target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: pointer); stdcall; external libGL;
  1082. // procedure glTexImage2D(target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; height: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: pointer); stdcall; external libGL;
  1083. procedure glDrawBuffer(buf: GLenum); stdcall; external libGL;
  1084. // procedure glClear(mask: GLbitfield); stdcall; external libGL;
  1085. // procedure glClearColor(red: GLfloat; green: GLfloat; blue: GLfloat; alpha: GLfloat); stdcall; external libGL;
  1086. procedure glClearStencil(s: GLint); stdcall; external libGL;
  1087. // procedure glClearDepth(depth: GLdouble); stdcall; external libGL;
  1088. procedure glStencilMask(mask: GLuint); stdcall; external libGL;
  1089. // procedure glColorMask(red: GLboolean; green: GLboolean; blue: GLboolean; alpha: GLboolean); stdcall; external libGL;
  1090. // procedure glDepthMask(flag: GLboolean); stdcall; external libGL;
  1091. // procedure glDisable(cap: GLenum); stdcall; external libGL;
  1092. // procedure glEnable(cap: GLenum); stdcall; external libGL;
  1093. procedure glFinish; stdcall; external libGL;
  1094. procedure glFlush; stdcall; external libGL;
  1095. // procedure glBlendFunc(sfactor: GLenum; dfactor: GLenum); stdcall; external libGL;
  1096. procedure glLogicOp(opcode: GLenum); stdcall; external libGL;
  1097. procedure glStencilFunc(func: GLenum; ref: GLint; mask: GLuint); stdcall; external libGL;
  1098. procedure glStencilOp(fail: GLenum; zfail: GLenum; zpass: GLenum); stdcall; external libGL;
  1099. // procedure glDepthFunc(func: GLenum); stdcall; external libGL;
  1100. // procedure glPixelStoref(pname: GLenum; param: GLfloat); stdcall; external libGL;
  1101. // procedure glPixelStorei(pname: GLenum; param: GLint); stdcall; external libGL;
  1102. procedure glReadBuffer(src: GLenum); stdcall; external libGL;
  1103. // procedure glReadPixels(x: GLint; y: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; pixels: pointer); stdcall; external libGL;
  1104. procedure glGetBooleanv(pname: GLenum; data: PGLboolean); stdcall; external libGL;
  1105. procedure glGetDoublev(pname: GLenum; data: PGLdouble); stdcall; external libGL;
  1106. function glGetError: GLenum; stdcall; external libGL;
  1107. // procedure glGetFloatv(pname: GLenum; data: PGLfloat); stdcall; external libGL;
  1108. // procedure glGetIntegerv(pname: GLenum; data: PGLint); stdcall; external libGL;
  1109. // function glGetString(name: GLenum): PAnsiChar; stdcall; external libGL;
  1110. // procedure glGetTexImage(target: GLenum; level: GLint; format: GLenum; _type: GLenum; pixels: pointer); stdcall; external libGL;
  1111. procedure glGetTexParameterfv(target: GLenum; pname: GLenum; params: PGLfloat); stdcall; external libGL;
  1112. procedure glGetTexParameteriv(target: GLenum; pname: GLenum; params: PGLint); stdcall; external libGL;
  1113. procedure glGetTexLevelParameterfv(target: GLenum; level: GLint; pname: GLenum; params: PGLfloat); stdcall; external libGL;
  1114. procedure glGetTexLevelParameteriv(target: GLenum; level: GLint; pname: GLenum; params: PGLint); stdcall; external libGL;
  1115. function glIsEnabled(cap: GLenum): GLboolean; stdcall; external libGL;
  1116. // procedure glDepthRange(n: GLdouble; f: GLdouble); stdcall; external libGL;
  1117. // procedure glViewport(x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall; external libGL;
  1118. {$EndIf}
  1119. {$IfDef GL_VERSION_1_1}
  1120. // glDrawArrays: procedure(mode: GLenum; first: GLint; count: GLsizei); stdcall; external libGL; // + EXT
  1121. // glDrawElements: procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: pointer); stdcall; external libGL;
  1122. procedure glGetPointerv(pname: GLenum; params:Ppointer); stdcall; external libGL;
  1123. procedure glPolygonOffset(factor: GLfloat; units: GLfloat); stdcall; external libGL;
  1124. procedure glCopyTexImage1D(target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; border: GLint); stdcall; external libGL;
  1125. procedure glCopyTexImage2D(target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei; border: GLint); stdcall; external libGL;
  1126. procedure glCopyTexSubImage1D(target: GLenum; level: GLint; xoffset: GLint; x: GLint; y: GLint; width: GLsizei); stdcall; external libGL; // +EXT
  1127. // procedure glCopyTexSubImage2D(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall; external libGL; // + EXT
  1128. procedure glTexSubImage1D(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall; external libGL; // + EXT
  1129. // 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
  1130. // procedure glBindTexture(target: GLenum; texture: GLuint); stdcall; external libGL; // + EXT
  1131. // procedure glDeleteTextures(n: GLsizei; const textures: PGLuint); stdcall; external libGL; // + EXT
  1132. // procedure glGenTextures(n: GLsizei; textures: PGLuint); stdcall; external libGL; // + EXT
  1133. function glIsTexture(texture: GLuint): GLboolean; stdcall; external libGL;
  1134. {$EndIf}
  1135. {$IfDef GL_VERSION_1_2}
  1136. // procedure glDrawRangeElements(mode: GLenum; start: GLuint; _end: GLuint; count: GLsizei; _type: GLenum; const indices: pointer); stdcall; external libGL;// + EXT
  1137. 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;
  1138. 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;
  1139. procedure glCopyTexSubImage3D(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall; external libGL;
  1140. {$EndIf}
  1141. {$IfDef GL_VERSION_1_3}
  1142. procedure glActiveTexture(texture: GLenum); stdcall; external libGL;
  1143. procedure glSampleCoverage(value: GLfloat; invert: GLboolean); stdcall; external libGL;
  1144. procedure glCompressedTexImage3D(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; imageSize: GLsizei; const data: pointer); stdcall; external libGL;
  1145. // procedure glCompressedTexImage2D(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; imageSize: GLsizei; const data: pointer); stdcall; external libGL; // + ARB
  1146. procedure glCompressedTexImage1D(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei; const data: pointer); stdcall; external libGL;
  1147. 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;
  1148. procedure glCompressedTexSubImage2D(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const data: pointer); stdcall; external libGL;
  1149. procedure glCompressedTexSubImage1D(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const data: pointer); stdcall; external libGL;
  1150. procedure glGetCompressedTexImage(target: GLenum; level: GLint; img: pointer); stdcall; external libGL;
  1151. {$IfNDef USE_GLCORE}
  1152. procedure glClientActiveTexture(texture: GLenum); stdcall; external libGL;
  1153. procedure glMultiTexCoord1d(target: GLenum; s: GLdouble); stdcall; external libGL;
  1154. procedure glMultiTexCoord1dv(target: GLenum; const v: PGLdouble); stdcall; external libGL;
  1155. procedure glMultiTexCoord1f(target: GLenum; s: GLfloat); stdcall; external libGL;
  1156. procedure glMultiTexCoord1fv(target: GLenum; const v: PGLfloat); stdcall; external libGL;
  1157. procedure glMultiTexCoord1i(target: GLenum; s: GLint); stdcall; external libGL;
  1158. procedure glMultiTexCoord1iv(target: GLenum; const v: PGLint); stdcall; external libGL;
  1159. procedure glMultiTexCoord1s(target: GLenum; s: GLshort); stdcall; external libGL;
  1160. procedure glMultiTexCoord1sv(target: GLenum; const v: PGLshort); stdcall; external libGL;
  1161. procedure glMultiTexCoord2d(target: GLenum; s: GLdouble; t: GLdouble); stdcall; external libGL;
  1162. procedure glMultiTexCoord2dv(target: GLenum; const v: PGLdouble); stdcall; external libGL;
  1163. procedure glMultiTexCoord2f(target: GLenum; s: GLfloat; t: GLfloat); stdcall; external libGL;
  1164. procedure glMultiTexCoord2fv(target: GLenum; const v: PGLfloat); stdcall; external libGL;
  1165. procedure glMultiTexCoord2i(target: GLenum; s: GLint; t: GLint); stdcall; external libGL;
  1166. procedure glMultiTexCoord2iv(target: GLenum; const v: PGLint); stdcall; external libGL;
  1167. procedure glMultiTexCoord2s(target: GLenum; s: GLshort; t: GLshort); stdcall; external libGL;
  1168. procedure glMultiTexCoord2sv(target: GLenum; const v: PGLshort); stdcall; external libGL;
  1169. procedure glMultiTexCoord3d(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble); stdcall; external libGL;
  1170. procedure glMultiTexCoord3dv(target: GLenum; const v: PGLdouble); stdcall; external libGL;
  1171. procedure glMultiTexCoord3f(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat); stdcall; external libGL;
  1172. procedure glMultiTexCoord3fv(target: GLenum; const v: PGLfloat); stdcall; external libGL;
  1173. procedure glMultiTexCoord3i(target: GLenum; s: GLint; t: GLint; r: GLint); stdcall; external libGL;
  1174. procedure glMultiTexCoord3iv(target: GLenum; const v: PGLint); stdcall; external libGL;
  1175. procedure glMultiTexCoord3s(target: GLenum; s: GLshort; t: GLshort; r: GLshort); stdcall; external libGL;
  1176. procedure glMultiTexCoord3sv(target: GLenum; const v: PGLshort); stdcall; external libGL;
  1177. procedure glMultiTexCoord4d(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble; q: GLdouble); stdcall; external libGL;
  1178. procedure glMultiTexCoord4dv(target: GLenum; const v: PGLdouble); stdcall; external libGL;
  1179. procedure glMultiTexCoord4f(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat; q: GLfloat); stdcall; external libGL;
  1180. procedure glMultiTexCoord4fv(target: GLenum; const v: PGLfloat); stdcall; external libGL;
  1181. procedure glMultiTexCoord4i(target: GLenum; s: GLint; t: GLint; r: GLint; q: GLint); stdcall; external libGL;
  1182. procedure glMultiTexCoord4iv(target: GLenum; const v: PGLint); stdcall; external libGL;
  1183. procedure glMultiTexCoord4s(target: GLenum; s: GLshort; t: GLshort; r: GLshort; q: GLshort); stdcall; external libGL;
  1184. procedure glMultiTexCoord4sv(target: GLenum; const v: PGLshort); stdcall; external libGL;
  1185. procedure glLoadTransposeMatrixf(const m: PGLfloat); stdcall; external libGL;
  1186. procedure glLoadTransposeMatrixd(const m: PGLdouble); stdcall; external libGL;
  1187. procedure glMultTransposeMatrixf(const m: PGLfloat); stdcall; external libGL;
  1188. procedure glMultTransposeMatrixd(const m: PGLdouble); stdcall; external libGL;
  1189. {$EndIf}
  1190. {$EndIf}
  1191. {$If defined(GL_VERSION_1_4) or defined(GL_EXT_blend_func_separate)}
  1192. // glBlendFuncSeparate: procedure(sfactorRGB: GLenum; dfactorRGB: GLenum; sfactorAlpha: GLenum; dfactorAlpha: GLenum); stdcall;
  1193. {$IfEnd}
  1194. {$If defined(GL_VERSION_1_4) or defined(GL_EXT_blend_minmax)}
  1195. // glBlendEquation: procedure(mode: GLenum); stdcall; // + EXT
  1196. {$IfEnd}
  1197. {$IfDef GL_VERSION_1_4}
  1198. var
  1199. glMultiDrawArrays: procedure(mode: GLenum; const first: PGLint; const count: PGLsizei; drawcount: GLsizei); stdcall;
  1200. // glMultiDrawElements: procedure(mode: GLenum; const count: PGLsizei; _type: GLenum; const indices: {P}Ppointer; drawcount: GLsizei); stdcall; // + EXT
  1201. glPointParameterf: procedure(pname: GLenum; param: GLfloat); stdcall;
  1202. glPointParameterfv: procedure(pname: GLenum; const params: PGLfloat); stdcall;
  1203. glPointParameteri: procedure(pname: GLenum; param: GLint); stdcall;
  1204. glPointParameteriv: procedure(pname: GLenum; const params: PGLint); stdcall;
  1205. glBlendColor: procedure(red: GLfloat; green: GLfloat; blue: GLfloat; alpha: GLfloat); stdcall; // + GL_EXT_blend_color + GL_OES_fixed_point
  1206. {$IfNDef USE_GLCORE}
  1207. glFogCoordf: procedure(coord: GLfloat); stdcall;
  1208. glFogCoordfv: procedure(const coord: PGLfloat); stdcall;
  1209. glFogCoordd: procedure(coord: GLdouble); stdcall;
  1210. glFogCoorddv: procedure(const coord: PGLdouble); stdcall;
  1211. // glFogCoordPointer: procedure(_type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall; // + EXT
  1212. glSecondaryColor3b: procedure(red: GLbyte; green: GLbyte; blue: GLbyte); stdcall;
  1213. glSecondaryColor3bv: procedure(const v: PGLbyte); stdcall;
  1214. glSecondaryColor3d: procedure(red: GLdouble; green: GLdouble; blue: GLdouble); stdcall;
  1215. glSecondaryColor3dv: procedure(const v: PGLdouble); stdcall;
  1216. glSecondaryColor3f: procedure(red: GLfloat; green: GLfloat; blue: GLfloat); stdcall;
  1217. glSecondaryColor3fv: procedure(const v: PGLfloat); stdcall;
  1218. glSecondaryColor3i: procedure(red: GLint; green: GLint; blue: GLint); stdcall;
  1219. glSecondaryColor3iv: procedure(const v: PGLint); stdcall;
  1220. glSecondaryColor3s: procedure(red: GLshort; green: GLshort; blue: GLshort); stdcall;
  1221. glSecondaryColor3sv: procedure(const v: PGLshort); stdcall;
  1222. glSecondaryColor3ub: procedure(red: GLubyte; green: GLubyte; blue: GLubyte); stdcall;
  1223. glSecondaryColor3ubv: procedure(const v: PGLubyte); stdcall;
  1224. glSecondaryColor3ui: procedure(red: GLuint; green: GLuint; blue: GLuint); stdcall;
  1225. glSecondaryColor3uiv: procedure(const v: PGLuint); stdcall;
  1226. glSecondaryColor3us: procedure(red: GLushort; green: GLushort; blue: GLushort); stdcall;
  1227. glSecondaryColor3usv: procedure(const v: PGLushort); stdcall;
  1228. // glSecondaryColorPointer: procedure(size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall; // + EXT
  1229. glWindowPos2d: procedure(x: GLdouble; y: GLdouble); stdcall;
  1230. glWindowPos2dv: procedure(const v: PGLdouble); stdcall;
  1231. glWindowPos2f: procedure(x: GLfloat; y: GLfloat); stdcall;
  1232. glWindowPos2fv: procedure(const v: PGLfloat); stdcall;
  1233. glWindowPos2i: procedure(x: GLint; y: GLint); stdcall;
  1234. glWindowPos2iv: procedure(const v: PGLint); stdcall;
  1235. glWindowPos2s: procedure(x: GLshort; y: GLshort); stdcall;
  1236. glWindowPos2sv: procedure(const v: PGLshort); stdcall;
  1237. glWindowPos3d: procedure(x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  1238. glWindowPos3dv: procedure(const v: PGLdouble); stdcall;
  1239. glWindowPos3f: procedure(x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  1240. glWindowPos3fv: procedure(const v: PGLfloat); stdcall;
  1241. glWindowPos3i: procedure(x: GLint; y: GLint; z: GLint); stdcall;
  1242. glWindowPos3iv: procedure(const v: PGLint); stdcall;
  1243. glWindowPos3s: procedure(x: GLshort; y: GLshort; z: GLshort); stdcall;
  1244. glWindowPos3sv: procedure(const v: PGLshort); stdcall;
  1245. {$EndIf}
  1246. {$EndIf}
  1247. {$IfDef GL_VERSION_1_5}
  1248. var
  1249. glGenQueries: procedure(n: GLsizei; const ids: PGLuint); stdcall;
  1250. glDeleteQueries: procedure(n: GLsizei; ids: PGLuint); stdcall;
  1251. glIsQuery: function(id: GLuint): GLboolean; stdcall;
  1252. glBeginQuery: procedure(target: GLenum; id: GLuint); stdcall;
  1253. glEndQuery: procedure(target: GLenum); stdcall;
  1254. glGetQueryiv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  1255. glGetQueryObjectiv: procedure(id: GLuint; pname: GLenum; params: PGLint); stdcall;
  1256. glGetQueryObjectuiv: procedure(id: GLuint; pname: GLenum; params: PGLuint); stdcall;
  1257. glBindBuffer: procedure(target: GLenum; buffer: GLuint); stdcall;
  1258. glDeleteBuffers: procedure(n: GLsizei; const buffers: PGLuint); stdcall;
  1259. glGenBuffers: procedure(n: GLsizei; buffers: PGLuint); stdcall;
  1260. glIsBuffer: function(buffer: GLuint): GLboolean; stdcall;
  1261. glBufferData: procedure(target: GLenum; size: GLsizeiptr; const data: pointer; usage: GLenum); stdcall;
  1262. glBufferSubData: procedure(target: GLenum; offset: GLintptr; size: GLsizeiptr; const data: pointer); stdcall;
  1263. glGetBufferSubData: procedure(target: GLenum; offset: GLintptr; size: GLsizeiptr; const data: pointer); stdcall;
  1264. glMapBuffer: function(target: GLenum; access: GLenum): pointer; stdcall;
  1265. glUnmapBuffer: function(target: GLenum): GLboolean; stdcall;
  1266. glGetBufferParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  1267. glGetBufferPointerv: procedure(target: GLenum; pname: GLenum; params:Ppointer); stdcall;
  1268. {$EndIf}
  1269. {$IfDef GL_VERSION_2_0}
  1270. var
  1271. glBlendEquationSeparate: procedure(modeRGB: GLenum; modeAlpha: GLenum); stdcall; // + GL_EXT_blend_equation_separate
  1272. glDrawBuffers: procedure(n: GLsizei; const bufs: PGLenum); stdcall;
  1273. glStencilOpSeparate: procedure(face: GLenum; sfail: GLenum; dpfail: GLenum; dppass: GLenum); stdcall;
  1274. glStencilFuncSeparate: procedure(face: GLenum; func: GLenum; ref: GLint; mask: GLuint); stdcall;
  1275. glStencilMaskSeparate: procedure(face: GLenum; mask: GLuint); stdcall;
  1276. glAttachShader: procedure(_program: GLuint; shader: GLuint); stdcall;
  1277. glBindAttribLocation: procedure(_program: GLuint; index: GLuint; const name: PGLchar); stdcall;
  1278. glCompileShader: procedure(shader: GLuint); stdcall;
  1279. glCreateProgram: function : GLuint; stdcall;
  1280. glCreateShader: function(_type: GLenum): GLuint; stdcall;
  1281. glDeleteProgram: procedure(_program: GLuint); stdcall;
  1282. glDeleteShader: procedure(shader: GLuint); stdcall;
  1283. glDetachShader: procedure(_program: GLuint; shader: GLuint); stdcall;
  1284. glDisableVertexAttribArray: procedure(index: GLuint); stdcall;
  1285. glEnableVertexAttribArray: procedure(index: GLuint); stdcall;
  1286. glGetActiveAttrib: procedure(_program: GLuint; index: GLuint; bufSize: GLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLchar); stdcall;
  1287. glGetActiveUniform: procedure(_program: GLuint; index: GLuint; bufSize: GLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLchar); stdcall;
  1288. glGetAttachedShaders: procedure(_program: GLuint; maxCount: GLsizei; count: PGLsizei; shaders: PGLuint); stdcall;
  1289. glGetAttribLocation: function(_program: GLuint; const name: PGLchar): GLint; stdcall;
  1290. glGetProgramiv: procedure(_program: GLuint; pname: GLenum; params: PGLint); stdcall;
  1291. glGetProgramInfoLog: procedure(_program: GLuint; bufSize: GLsizei; length: PGLsizei; infoLog: PGLchar); stdcall;
  1292. glGetShaderiv: procedure(shader: GLuint; pname: GLenum; params: PGLint); stdcall;
  1293. glGetShaderInfoLog: procedure(shader: GLuint; bufSize: GLsizei; length: PGLsizei; infoLog: PGLchar); stdcall;
  1294. glGetShaderSource: procedure(shader: GLuint; bufSize: GLsizei; length: PGLsizei; source: PGLchar); stdcall;
  1295. glGetUniformLocation: function(_program: GLuint; const name: PGLchar): GLint; stdcall;
  1296. glGetUniformfv: procedure(_program: GLuint; location: GLint; params: PGLfloat); stdcall;
  1297. glGetUniformiv: procedure(_program: GLuint; location: GLint; params: PGLint); stdcall;
  1298. glGetVertexAttribdv: procedure(index: GLuint; pname: GLenum; params: PGLdouble); stdcall;
  1299. glGetVertexAttribfv: procedure(index: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  1300. glGetVertexAttribiv: procedure(index: GLuint; pname: GLenum; params: PGLint); stdcall;
  1301. glGetVertexAttribPointerv: procedure(index: GLuint; pname: GLenum; pointer:Ppointer); stdcall;
  1302. glIsProgram: function(_program: GLuint): GLboolean; stdcall;
  1303. glIsShader: function(shader: GLuint): GLboolean; stdcall;
  1304. glLinkProgram: procedure(_program: GLuint); stdcall;
  1305. glShaderSource: procedure(shader: GLuint; count: GLsizei; const _string: PPGLchar; const length: PGLint); stdcall;
  1306. glUseProgram: procedure(_program: GLuint); stdcall;
  1307. glUniform1f: procedure(location: GLint; v0: GLfloat); stdcall;
  1308. glUniform2f: procedure(location: GLint; v0: GLfloat; v1: GLfloat); stdcall;
  1309. glUniform3f: procedure(location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat); stdcall;
  1310. glUniform4f: procedure(location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat; v3: GLfloat); stdcall;
  1311. glUniform1i: procedure(location: GLint; v0: GLint); stdcall;
  1312. glUniform2i: procedure(location: GLint; v0: GLint; v1: GLint); stdcall;
  1313. glUniform3i: procedure(location: GLint; v0: GLint; v1: GLint; v2: GLint); stdcall;
  1314. glUniform4i: procedure(location: GLint; v0: GLint; v1: GLint; v2: GLint; v3: GLint); stdcall;
  1315. glUniform1fv: procedure(location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  1316. glUniform2fv: procedure(location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  1317. glUniform3fv: procedure(location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  1318. glUniform4fv: procedure(location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  1319. glUniform1iv: procedure(location: GLint; count: GLsizei; const value: PGLint); stdcall;
  1320. glUniform2iv: procedure(location: GLint; count: GLsizei; const value: PGLint); stdcall;
  1321. glUniform3iv: procedure(location: GLint; count: GLsizei; const value: PGLint); stdcall;
  1322. glUniform4iv: procedure(location: GLint; count: GLsizei; const value: PGLint); stdcall;
  1323. glUniformMatrix2fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1324. glUniformMatrix3fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1325. glUniformMatrix4fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1326. glValidateProgram: procedure(_program: GLuint); stdcall;
  1327. glVertexAttrib1d: procedure(index: GLuint; x: GLdouble); stdcall;
  1328. glVertexAttrib1dv: procedure(index: GLuint; const v: PGLdouble); stdcall;
  1329. glVertexAttrib1f: procedure(index: GLuint; x: GLfloat); stdcall;
  1330. glVertexAttrib1fv: procedure(index: GLuint; const v: PGLfloat); stdcall;
  1331. glVertexAttrib1s: procedure(index: GLuint; x: GLshort); stdcall;
  1332. glVertexAttrib1sv: procedure(index: GLuint; const v: PGLshort); stdcall;
  1333. glVertexAttrib2d: procedure(index: GLuint; x: GLdouble; y: GLdouble); stdcall;
  1334. glVertexAttrib2dv: procedure(index: GLuint; const v: PGLdouble); stdcall;
  1335. glVertexAttrib2f: procedure(index: GLuint; x: GLfloat; y: GLfloat); stdcall;
  1336. glVertexAttrib2fv: procedure(index: GLuint; const v: PGLfloat); stdcall;
  1337. glVertexAttrib2s: procedure(index: GLuint; x: GLshort; y: GLshort); stdcall;
  1338. glVertexAttrib2sv: procedure(index: GLuint; const v: PGLshort); stdcall;
  1339. glVertexAttrib3d: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  1340. glVertexAttrib3dv: procedure(index: GLuint; const v: PGLdouble); stdcall;
  1341. glVertexAttrib3f: procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  1342. glVertexAttrib3fv: procedure(index: GLuint; const v: PGLfloat); stdcall;
  1343. glVertexAttrib3s: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort); stdcall;
  1344. glVertexAttrib3sv: procedure(index: GLuint; const v: PGLshort); stdcall;
  1345. glVertexAttrib4Nbv: procedure(index: GLuint; const v: PGLbyte); stdcall;
  1346. glVertexAttrib4Niv: procedure(index: GLuint; const v: PGLint); stdcall;
  1347. glVertexAttrib4Nsv: procedure(index: GLuint; const v: PGLshort); stdcall;
  1348. glVertexAttrib4Nub: procedure(index: GLuint; x: GLubyte; y: GLubyte; z: GLubyte; w: GLubyte); stdcall;
  1349. glVertexAttrib4Nubv: procedure(index: GLuint; const v: PGLubyte); stdcall;
  1350. glVertexAttrib4Nuiv: procedure(index: GLuint; const v: PGLuint); stdcall;
  1351. glVertexAttrib4Nusv: procedure(index: GLuint; const v: PGLushort); stdcall;
  1352. glVertexAttrib4bv: procedure(index: GLuint; const v: PGLbyte); stdcall;
  1353. glVertexAttrib4d: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  1354. glVertexAttrib4dv: procedure(index: GLuint; const v: PGLdouble); stdcall;
  1355. glVertexAttrib4f: procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  1356. glVertexAttrib4fv: procedure(index: GLuint; const v: PGLfloat); stdcall;
  1357. glVertexAttrib4iv: procedure(index: GLuint; const v: PGLint); stdcall;
  1358. glVertexAttrib4s: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort; w: GLshort); stdcall;
  1359. glVertexAttrib4sv: procedure(index: GLuint; const v: PGLshort); stdcall;
  1360. glVertexAttrib4ubv: procedure(index: GLuint; const v: PGLubyte); stdcall;
  1361. glVertexAttrib4uiv: procedure(index: GLuint; const v: PGLuint); stdcall;
  1362. glVertexAttrib4usv: procedure(index: GLuint; const v: PGLushort); stdcall;
  1363. glVertexAttribPointer: procedure(index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei; const _pointer: pointer); stdcall;
  1364. {$EndIf}
  1365. {$IfDef GL_VERSION_2_1}
  1366. var
  1367. glUniformMatrix2x3fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1368. glUniformMatrix3x2fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1369. glUniformMatrix2x4fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1370. glUniformMatrix4x2fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1371. glUniformMatrix3x4fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1372. glUniformMatrix4x3fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1373. {$EndIf}
  1374. {$If defined(GL_VERSION_3_0) or defined(GL_EXT_framebuffer_object)}
  1375. //var
  1376. // glIsRenderbuffer: function(renderbuffer: GLuint): GLboolean; stdcall;
  1377. // glBindRenderbuffer: procedure(target: GLenum; renderbuffer: GLuint); stdcall;
  1378. // glDeleteRenderbuffers: procedure(n: GLsizei; const renderbuffers: PGLuint); stdcall;
  1379. // glGenRenderbuffers: procedure(n: GLsizei; renderbuffers: PGLuint); stdcall;
  1380. // glRenderbufferStorage: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  1381. // glIsFramebuffer: function(framebuffer: GLuint): GLboolean; stdcall;
  1382. // glBindFramebuffer: procedure(target: GLenum; framebuffer: GLuint); stdcall;
  1383. // glDeleteFramebuffers: procedure(n: GLsizei; const framebuffers: PGLuint); stdcall;
  1384. // glGenFramebuffers: procedure(n: GLsizei; framebuffers: PGLuint); stdcall;
  1385. // glCheckFramebufferStatus: function(target: GLenum): GLenum; stdcall;
  1386. // glFramebufferTexture2D: procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); stdcall;
  1387. // glFramebufferRenderbuffer: procedure(target: GLenum; attachment: GLenum; renderbuffertarget: GLenum; renderbuffer: GLuint); stdcall;
  1388. {$IfEnd}
  1389. {$IfDef GL_VERSION_3_0}
  1390. var
  1391. glColorMaski: procedure(index: GLuint; r: GLboolean; g: GLboolean; b: GLboolean; a: GLboolean); stdcall;
  1392. glGetBooleani_v: procedure(target: GLenum; index: GLuint; data: PGLboolean); stdcall;
  1393. glGetIntegeri_v: procedure(target: GLenum; index: GLuint; data: PGLint); stdcall;
  1394. glEnablei: procedure(target: GLenum; index: GLuint); stdcall;
  1395. glDisablei: procedure(target: GLenum; index: GLuint); stdcall;
  1396. glIsEnabledi: function(target: GLenum; index: GLuint): GLboolean; stdcall;
  1397. glBeginTransformFeedback: procedure(primitiveMode: GLenum); stdcall;
  1398. glEndTransformFeedback: procedure;
  1399. glBindBufferRange: procedure(target: GLenum; index: GLuint; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); stdcall;
  1400. glBindBufferBase: procedure(target: GLenum; index: GLuint; buffer: GLuint); stdcall;
  1401. glTransformFeedbackVaryings: procedure(_program: GLuint; count: GLsizei; const varyings: PPGLchar; bufferMode: GLenum); stdcall;
  1402. glGetTransformFeedbackVarying: procedure(_program: GLuint; index: GLuint; bufSize: GLsizei; length: PGLsizei; size: PGLsizei; _type: PGLenum; name: PGLchar); stdcall;
  1403. glClampColor: procedure(target: GLenum; clamp: GLenum); stdcall;
  1404. glBeginConditionalRender: procedure(id: GLuint; mode: GLenum); stdcall;
  1405. glEndConditionalRender: procedure;
  1406. glVertexAttribIPointer: procedure(index: GLuint; size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  1407. glGetVertexAttribIiv: procedure(index: GLuint; pname: GLenum; params: PGLint); stdcall;
  1408. glGetVertexAttribIuiv: procedure(index: GLuint; pname: GLenum; params: PGLuint); stdcall;
  1409. glVertexAttribI1i: procedure(index: GLuint; x: GLint); stdcall;
  1410. glVertexAttribI2i: procedure(index: GLuint; x: GLint; y: GLint); stdcall;
  1411. glVertexAttribI3i: procedure(index: GLuint; x: GLint; y: GLint; z: GLint); stdcall;
  1412. glVertexAttribI4i: procedure(index: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); stdcall;
  1413. glVertexAttribI1ui: procedure(index: GLuint; x: GLuint); stdcall;
  1414. glVertexAttribI2ui: procedure(index: GLuint; x: GLuint; y: GLuint); stdcall;
  1415. glVertexAttribI3ui: procedure(index: GLuint; x: GLuint; y: GLuint; z: GLuint); stdcall;
  1416. glVertexAttribI4ui: procedure(index: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); stdcall;
  1417. glVertexAttribI1iv: procedure(index: GLuint; const v: PGLint); stdcall;
  1418. glVertexAttribI2iv: procedure(index: GLuint; const v: PGLint); stdcall;
  1419. glVertexAttribI3iv: procedure(index: GLuint; const v: PGLint); stdcall;
  1420. glVertexAttribI4iv: procedure(index: GLuint; const v: PGLint); stdcall;
  1421. glVertexAttribI1uiv: procedure(index: GLuint; const v: PGLuint); stdcall;
  1422. glVertexAttribI2uiv: procedure(index: GLuint; const v: PGLuint); stdcall;
  1423. glVertexAttribI3uiv: procedure(index: GLuint; const v: PGLuint); stdcall;
  1424. glVertexAttribI4uiv: procedure(index: GLuint; const v: PGLuint); stdcall;
  1425. glVertexAttribI4bv: procedure(index: GLuint; const v: PGLbyte); stdcall;
  1426. glVertexAttribI4sv: procedure(index: GLuint; const v: PGLshort); stdcall;
  1427. glVertexAttribI4ubv: procedure(index: GLuint; const v: PGLubyte); stdcall;
  1428. glVertexAttribI4usv: procedure(index: GLuint; const v: PGLushort); stdcall;
  1429. glGetUniformuiv: procedure(_program: GLuint; location: GLint; params: PGLuint); stdcall;
  1430. glBindFragDataLocation: procedure(_program: GLuint; color: GLuint; const name: PGLchar); stdcall;
  1431. glGetFragDataLocation: function(_program: GLuint; const name: PGLchar): GLint; stdcall;
  1432. glUniform1ui: procedure(location: GLint; v0: GLuint); stdcall;
  1433. glUniform2ui: procedure(location: GLint; v0: GLuint; v1: GLuint); stdcall;
  1434. glUniform3ui: procedure(location: GLint; v0: GLuint; v1: GLuint; v2: GLuint); stdcall;
  1435. glUniform4ui: procedure(location: GLint; v0: GLuint; v1: GLuint; v2: GLuint; v3: GLuint); stdcall;
  1436. glUniform1uiv: procedure(location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  1437. glUniform2uiv: procedure(location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  1438. glUniform3uiv: procedure(location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  1439. glUniform4uiv: procedure(location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  1440. glTexParameterIiv: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  1441. glTexParameterIuiv: procedure(target: GLenum; pname: GLenum; const params: PGLuint); stdcall;
  1442. glGetTexParameterIiv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  1443. glGetTexParameterIuiv: procedure(target: GLenum; pname: GLenum; params: PGLuint); stdcall;
  1444. glClearBufferiv: procedure(buffer: GLenum; drawbuffer: GLint; const value: PGLint); stdcall;
  1445. glClearBufferuiv: procedure(buffer: GLenum; drawbuffer: GLint; const value: PGLuint); stdcall;
  1446. glClearBufferfv: procedure(buffer: GLenum; drawbuffer: GLint; const value: PGLfloat); stdcall;
  1447. glClearBufferfi: procedure(buffer: GLenum; drawbuffer: GLint; depth: GLfloat; stencil: GLint); stdcall;
  1448. glGetStringi: function(name: GLenum; index: GLuint): PGLubyte; stdcall;
  1449. // glIsRenderbuffer: function(renderbuffer: GLuint): GLboolean; stdcall;
  1450. // glBindRenderbuffer: procedure(target: GLenum; renderbuffer: GLuint); stdcall;
  1451. // glDeleteRenderbuffers: procedure(n: GLsizei; const renderbuffers: PGLuint); stdcall;
  1452. // glGenRenderbuffers: procedure(n: GLsizei; renderbuffers: PGLuint); stdcall;
  1453. // glRenderbufferStorage: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  1454. glGetRenderbufferParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  1455. // glIsFramebuffer: function(framebuffer: GLuint): GLboolean; stdcall;
  1456. // glBindFramebuffer: procedure(target: GLenum; framebuffer: GLuint); stdcall;
  1457. // glDeleteFramebuffers: procedure(n: GLsizei; const framebuffers: PGLuint); stdcall;
  1458. // glGenFramebuffers: procedure(n: GLsizei; framebuffers: PGLuint); stdcall;
  1459. // glCheckFramebufferStatus: function(target: GLenum): GLenum; stdcall;
  1460. glFramebufferTexture1D: procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); stdcall;
  1461. // glFramebufferTexture2D: procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); stdcall;
  1462. glFramebufferTexture3D: procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint; zoffset: GLint); stdcall;
  1463. // glFramebufferRenderbuffer: procedure(target: GLenum; attachment: GLenum; renderbuffertarget: GLenum; renderbuffer: GLuint); stdcall;
  1464. glGetFramebufferAttachmentParameteriv: procedure(target: GLenum; attachment: GLenum; pname: GLenum; params: PGLint); stdcall;
  1465. glGenerateMipmap: procedure(target: GLenum); stdcall;
  1466. glBlitFramebuffer: procedure(srcX0: GLint; srcY0: GLint; srcX1: GLint; srcY1: GLint; dstX0: GLint; dstY0: GLint; dstX1: GLint; dstY1: GLint; mask: GLbitfield; filter: GLenum); stdcall;
  1467. glRenderbufferStorageMultisample: procedure(target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  1468. glFramebufferTextureLayer: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; layer: GLint); stdcall;
  1469. glMapBufferRange: function(target: GLenum; offset: GLintptr; length: GLsizeiptr; access: GLbitfield): pointer; stdcall;
  1470. glFlushMappedBufferRange: procedure(target: GLenum; offset: GLintptr; length: GLsizeiptr); stdcall;
  1471. glBindVertexArray: procedure(_array: GLuint); stdcall;
  1472. glDeleteVertexArrays: procedure(n: GLsizei; const arrays: PGLuint); stdcall;
  1473. glGenVertexArrays: procedure(n: GLsizei; arrays: PGLuint); stdcall;
  1474. glIsVertexArray: function(_array: GLuint): GLboolean; stdcall;
  1475. {$EndIf}
  1476. {$IfDef GL_VERSION_3_1}
  1477. var
  1478. glDrawArraysInstanced: procedure(mode: GLenum; first: GLint; count: GLsizei; instancecount: GLsizei); stdcall;
  1479. glDrawElementsInstanced: procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: pointer; instancecount: GLsizei); stdcall;
  1480. glTexBuffer: procedure(target: GLenum; internalformat: GLenum; buffer: GLuint); stdcall;
  1481. glPrimitiveRestartIndex: procedure(index: GLuint); stdcall;
  1482. glCopyBufferSubData: procedure(readTarget: GLenum; writeTarget: GLenum; readOffset: GLintptr; writeOffset: GLintptr; size: GLsizeiptr); stdcall;
  1483. glGetUniformIndices: procedure(_program: GLuint; uniformCount: GLsizei; const uniformNames: PPGLchar; uniformIndices: PGLuint); stdcall;
  1484. glGetActiveUniformsiv: procedure(_program: GLuint; uniformCount: GLsizei; const uniformIndices: PGLuint; pname: GLenum; params: PGLint); stdcall;
  1485. glGetActiveUniformName: procedure(_program: GLuint; uniformIndex: GLuint; bufSize: GLsizei; length: PGLsizei; uniformName: PGLchar); stdcall;
  1486. glGetUniformBlockIndex: function(_program: GLuint; const uniformBlockName: PGLchar): GLuint; stdcall;
  1487. glGetActiveUniformBlockiv: procedure(_program: GLuint; uniformBlockIndex: GLuint; pname: GLenum; params: PGLint); stdcall;
  1488. glGetActiveUniformBlockName: procedure(_program: GLuint; uniformBlockIndex: GLuint; bufSize: GLsizei; length: PGLsizei; uniformBlockName: PGLchar); stdcall;
  1489. glUniformBlockBinding: procedure(_program: GLuint; uniformBlockIndex: GLuint; uniformBlockBinding: GLuint); stdcall;
  1490. {$EndIf}
  1491. {$IfDef GL_VERSION_3_2}
  1492. var
  1493. glDrawElementsBaseVertex: procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: pointer; basevertex: GLint); stdcall;
  1494. glDrawRangeElementsBaseVertex: procedure(mode: GLenum; start: GLuint; _end: GLuint; count: GLsizei; _type: GLenum; const indices: pointer; basevertex: GLint); stdcall;
  1495. glDrawElementsInstancedBaseVertex: procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: pointer; instancecount: GLsizei; basevertex: GLint); stdcall;
  1496. glMultiDrawElementsBaseVertex: procedure(mode: GLenum; const count: PGLsizei; _type: GLenum; const indices: {P}Ppointer; drawcount: GLsizei; const basevertex: PGLint); stdcall;
  1497. glProvokingVertex: procedure(mode: GLenum); stdcall;
  1498. glFenceSync: function(condition: GLenum; flags: GLbitfield): GLsync; stdcall;
  1499. glIsSync: function(sync: GLsync): GLboolean; stdcall;
  1500. glDeleteSync: procedure(sync: GLsync); stdcall;
  1501. glClientWaitSync: function(sync: GLsync; flags: GLbitfield; timeout: GLuint64): GLenum; stdcall;
  1502. glWaitSync: procedure(sync: GLsync; flags: GLbitfield; timeout: GLuint64); stdcall;
  1503. glGetInteger64v: procedure(pname: GLenum; data: PGLint64); stdcall;
  1504. glGetSynciv: procedure(sync: GLsync; pname: GLenum; count: GLsizei; length: PGLsizei; values: PGLint); stdcall;
  1505. glGetInteger64i_v: procedure(target: GLenum; index: GLuint; data: PGLint64); stdcall;
  1506. glGetBufferParameteri64v: procedure(target: GLenum; pname: GLenum; params: PGLint64); stdcall;
  1507. glFramebufferTexture: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint); stdcall;
  1508. glTexImage2DMultisample: procedure(target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; fixedsamplelocations: GLboolean); stdcall;
  1509. glTexImage3DMultisample: procedure(target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; fixedsamplelocations: GLboolean); stdcall;
  1510. glGetMultisamplefv: procedure(pname: GLenum; index: GLuint; val: PGLfloat); stdcall;
  1511. glSampleMaski: procedure(maskNumber: GLuint; mask: GLbitfield); stdcall;
  1512. {$EndIf}
  1513. {$IfDef GL_VERSION_3_3}
  1514. var
  1515. glBindFragDataLocationIndexed: procedure(_program: GLuint; colorNumber: GLuint; index: GLuint; const name: PGLchar); stdcall;
  1516. glGetFragDataIndex: function(_program: GLuint; const name: PGLchar): GLint; stdcall;
  1517. glGenSamplers: procedure(count: GLsizei; samplers: PGLuint); stdcall;
  1518. glDeleteSamplers: procedure(count: GLsizei; const samplers: PGLuint); stdcall;
  1519. glIsSampler: function(sampler: GLuint): GLboolean; stdcall;
  1520. glBindSampler: procedure(_unit: GLuint; sampler: GLuint); stdcall;
  1521. glSamplerParameteri: procedure(sampler: GLuint; pname: GLenum; param: GLint); stdcall;
  1522. glSamplerParameteriv: procedure(sampler: GLuint; pname: GLenum; const param: PGLint); stdcall;
  1523. glSamplerParameterf: procedure(sampler: GLuint; pname: GLenum; param: GLfloat); stdcall;
  1524. glSamplerParameterfv: procedure(sampler: GLuint; pname: GLenum; const param: PGLfloat); stdcall;
  1525. glSamplerParameterIiv: procedure(sampler: GLuint; pname: GLenum; const param: PGLint); stdcall;
  1526. glSamplerParameterIuiv: procedure(sampler: GLuint; pname: GLenum; const param: PGLuint); stdcall;
  1527. glGetSamplerParameteriv: procedure(sampler: GLuint; pname: GLenum; params: PGLint); stdcall;
  1528. glGetSamplerParameterIiv: procedure(sampler: GLuint; pname: GLenum; params: PGLint); stdcall;
  1529. glGetSamplerParameterfv: procedure(sampler: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  1530. glGetSamplerParameterIuiv: procedure(sampler: GLuint; pname: GLenum; params: PGLuint); stdcall;
  1531. glQueryCounter: procedure(id: GLuint; target: GLenum); stdcall;
  1532. glGetQueryObjecti64v: procedure(id: GLuint; pname: GLenum; params: PGLint64); stdcall;
  1533. glGetQueryObjectui64v: procedure(id: GLuint; pname: GLenum; params: PGLuint64); stdcall;
  1534. glVertexAttribDivisor: procedure(index: GLuint; divisor: GLuint); stdcall;
  1535. glVertexAttribP1ui: procedure(index: GLuint; _type: GLenum; normalized: GLboolean; value: GLuint); stdcall;
  1536. glVertexAttribP1uiv: procedure(index: GLuint; _type: GLenum; normalized: GLboolean; const value: PGLuint); stdcall;
  1537. glVertexAttribP2ui: procedure(index: GLuint; _type: GLenum; normalized: GLboolean; value: GLuint); stdcall;
  1538. glVertexAttribP2uiv: procedure(index: GLuint; _type: GLenum; normalized: GLboolean; const value: PGLuint); stdcall;
  1539. glVertexAttribP3ui: procedure(index: GLuint; _type: GLenum; normalized: GLboolean; value: GLuint); stdcall;
  1540. glVertexAttribP3uiv: procedure(index: GLuint; _type: GLenum; normalized: GLboolean; const value: PGLuint); stdcall;
  1541. glVertexAttribP4ui: procedure(index: GLuint; _type: GLenum; normalized: GLboolean; value: GLuint); stdcall;
  1542. glVertexAttribP4uiv: procedure(index: GLuint; _type: GLenum; normalized: GLboolean; const value: PGLuint); stdcall;
  1543. {$IfNDef USE_GLCORE}
  1544. glVertexP2ui: procedure(_type: GLenum; value: GLuint); stdcall;
  1545. glVertexP2uiv: procedure(_type: GLenum; const value: PGLuint); stdcall;
  1546. glVertexP3ui: procedure(_type: GLenum; value: GLuint); stdcall;
  1547. glVertexP3uiv: procedure(_type: GLenum; const value: PGLuint); stdcall;
  1548. glVertexP4ui: procedure(_type: GLenum; value: GLuint); stdcall;
  1549. glVertexP4uiv: procedure(_type: GLenum; const value: PGLuint); stdcall;
  1550. glTexCoordP1ui: procedure(_type: GLenum; coords: GLuint); stdcall;
  1551. glTexCoordP1uiv: procedure(_type: GLenum; const coords: PGLuint); stdcall;
  1552. glTexCoordP2ui: procedure(_type: GLenum; coords: GLuint); stdcall;
  1553. glTexCoordP2uiv: procedure(_type: GLenum; const coords: PGLuint); stdcall;
  1554. glTexCoordP3ui: procedure(_type: GLenum; coords: GLuint); stdcall;
  1555. glTexCoordP3uiv: procedure(_type: GLenum; const coords: PGLuint); stdcall;
  1556. glTexCoordP4ui: procedure(_type: GLenum; coords: GLuint); stdcall;
  1557. glTexCoordP4uiv: procedure(_type: GLenum; const coords: PGLuint); stdcall;
  1558. glMultiTexCoordP1ui: procedure(texture: GLenum; _type: GLenum; coords: GLuint); stdcall;
  1559. glMultiTexCoordP1uiv: procedure(texture: GLenum; _type: GLenum; const coords: PGLuint); stdcall;
  1560. glMultiTexCoordP2ui: procedure(texture: GLenum; _type: GLenum; coords: GLuint); stdcall;
  1561. glMultiTexCoordP2uiv: procedure(texture: GLenum; _type: GLenum; const coords: PGLuint); stdcall;
  1562. glMultiTexCoordP3ui: procedure(texture: GLenum; _type: GLenum; coords: GLuint); stdcall;
  1563. glMultiTexCoordP3uiv: procedure(texture: GLenum; _type: GLenum; const coords: PGLuint); stdcall;
  1564. glMultiTexCoordP4ui: procedure(texture: GLenum; _type: GLenum; coords: GLuint); stdcall;
  1565. glMultiTexCoordP4uiv: procedure(texture: GLenum; _type: GLenum; const coords: PGLuint); stdcall;
  1566. glNormalP3ui: procedure(_type: GLenum; coords: GLuint); stdcall;
  1567. glNormalP3uiv: procedure(_type: GLenum; const coords: PGLuint); stdcall;
  1568. glColorP3ui: procedure(_type: GLenum; color: GLuint); stdcall;
  1569. glColorP3uiv: procedure(_type: GLenum; const color: PGLuint); stdcall;
  1570. glColorP4ui: procedure(_type: GLenum; color: GLuint); stdcall;
  1571. glColorP4uiv: procedure(_type: GLenum; const color: PGLuint); stdcall;
  1572. glSecondaryColorP3ui: procedure(_type: GLenum; color: GLuint); stdcall;
  1573. glSecondaryColorP3uiv: procedure(_type: GLenum; const color: PGLuint); stdcall;
  1574. {$EndIf}
  1575. {$EndIf}
  1576. {$IfDef GL_VERSION_4_0}
  1577. var
  1578. glMinSampleShading: procedure(value: GLfloat); stdcall;
  1579. glBlendEquationi: procedure(buf: GLuint; mode: GLenum); stdcall;
  1580. glBlendEquationSeparatei: procedure(buf: GLuint; modeRGB: GLenum; modeAlpha: GLenum); stdcall;
  1581. glBlendFunci: procedure(buf: GLuint; src: GLenum; dst: GLenum); stdcall;
  1582. glBlendFuncSeparatei: procedure(buf: GLuint; srcRGB: GLenum; dstRGB: GLenum; srcAlpha: GLenum; dstAlpha: GLenum); stdcall;
  1583. glDrawArraysIndirect: procedure(mode: GLenum; const indirect: pointer); stdcall;
  1584. glDrawElementsIndirect: procedure(mode: GLenum; _type: GLenum; const indirect: pointer); stdcall;
  1585. glUniform1d: procedure(location: GLint; x: GLdouble); stdcall;
  1586. glUniform2d: procedure(location: GLint; x: GLdouble; y: GLdouble); stdcall;
  1587. glUniform3d: procedure(location: GLint; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  1588. glUniform4d: procedure(location: GLint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  1589. glUniform1dv: procedure(location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  1590. glUniform2dv: procedure(location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  1591. glUniform3dv: procedure(location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  1592. glUniform4dv: procedure(location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  1593. glUniformMatrix2dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1594. glUniformMatrix3dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1595. glUniformMatrix4dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1596. glUniformMatrix2x3dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1597. glUniformMatrix2x4dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1598. glUniformMatrix3x2dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1599. glUniformMatrix3x4dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1600. glUniformMatrix4x2dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1601. glUniformMatrix4x3dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1602. glGetUniformdv: procedure(_program: GLuint; location: GLint; params: PGLdouble); stdcall;
  1603. glGetSubroutineUniformLocation: function(_program: GLuint; shadertype: GLenum; const name: PGLchar): GLint; stdcall;
  1604. glGetSubroutineIndex: function(_program: GLuint; shadertype: GLenum; const name: PGLchar): GLuint; stdcall;
  1605. glGetActiveSubroutineUniformiv: procedure(_program: GLuint; shadertype: GLenum; index: GLuint; pname: GLenum; values: PGLint); stdcall;
  1606. glGetActiveSubroutineUniformName: procedure(_program: GLuint; shadertype: GLenum; index: GLuint; bufSize: GLsizei; length: PGLsizei; name: PGLchar); stdcall;
  1607. glGetActiveSubroutineName: procedure(_program: GLuint; shadertype: GLenum; index: GLuint; bufSize: GLsizei; length: PGLsizei; name: PGLchar); stdcall;
  1608. glUniformSubroutinesuiv: procedure(shadertype: GLenum; count: GLsizei; const indices: PGLuint); stdcall;
  1609. glGetUniformSubroutineuiv: procedure(shadertype: GLenum; location: GLint; params: PGLuint); stdcall;
  1610. glGetProgramStageiv: procedure(_program: GLuint; shadertype: GLenum; pname: GLenum; values: PGLint); stdcall;
  1611. glPatchParameteri: procedure(pname: GLenum; value: GLint); stdcall;
  1612. glPatchParameterfv: procedure(pname: GLenum; const values: PGLfloat); stdcall;
  1613. glBindTransformFeedback: procedure(target: GLenum; id: GLuint); stdcall;
  1614. glDeleteTransformFeedbacks: procedure(n: GLsizei; const ids: PGLuint); stdcall;
  1615. glGenTransformFeedbacks: procedure(n: GLsizei; ids: PGLuint); stdcall;
  1616. glIsTransformFeedback: function(id: GLuint): GLboolean; stdcall;
  1617. glPauseTransformFeedback: procedure; stdcall;
  1618. glResumeTransformFeedback: procedure; stdcall;
  1619. glDrawTransformFeedback: procedure(mode: GLenum; id: GLuint); stdcall;
  1620. glDrawTransformFeedbackStream: procedure(mode: GLenum; id: GLuint; stream: GLuint); stdcall;
  1621. glBeginQueryIndexed: procedure(target: GLenum; index: GLuint; id: GLuint); stdcall;
  1622. glEndQueryIndexed: procedure(target: GLenum; index: GLuint); stdcall;
  1623. glGetQueryIndexediv: procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLint); stdcall;
  1624. {$EndIf}
  1625. {$IfDef GL_VERSION_4_1}
  1626. var
  1627. glReleaseShaderCompiler: procedure; stdcall;
  1628. glShaderBinary: procedure(count: GLsizei; const shaders: PGLuint; binaryFormat: GLenum; const binary: pointer; length: GLsizei); stdcall;
  1629. glGetShaderPrecisionFormat: procedure(shadertype: GLenum; precisiontype: GLenum; range: PGLint; precision: PGLint); stdcall;
  1630. glDepthRangef: procedure(n: GLfloat; f: GLfloat); stdcall;
  1631. glClearDepthf: procedure(d: GLfloat); stdcall;
  1632. glGetProgramBinary: procedure(_program: GLuint; bufSize: GLsizei; length: PGLsizei; binaryFormat: PGLenum; binary: pointer); stdcall;
  1633. glProgramBinary: procedure(_program: GLuint; binaryFormat: GLenum; const binary: pointer; length: GLsizei); stdcall;
  1634. glProgramParameteri: procedure(_program: GLuint; pname: GLenum; value: GLint); stdcall;
  1635. glUseProgramStages: procedure(pipeline: GLuint; stages: GLbitfield; _program: GLuint); stdcall;
  1636. glActiveShaderProgram: procedure(pipeline: GLuint; _program: GLuint); stdcall;
  1637. glCreateShaderProgramv: function(_type: GLenum; count: GLsizei; const strings: PPGLchar): GLuint; stdcall;
  1638. glBindProgramPipeline: procedure(pipeline: GLuint); stdcall;
  1639. glDeleteProgramPipelines: procedure(n: GLsizei; const pipelines: PGLuint); stdcall;
  1640. glGenProgramPipelines: procedure(n: GLsizei; pipelines: PGLuint); stdcall;
  1641. glIsProgramPipeline: function(pipeline: GLuint): GLboolean; stdcall;
  1642. glGetProgramPipelineiv: procedure(pipeline: GLuint; pname: GLenum; params: PGLint); stdcall;
  1643. glProgramUniform1i: procedure(_program: GLuint; location: GLint; v0: GLint); stdcall;
  1644. glProgramUniform1iv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint); stdcall;
  1645. glProgramUniform1f: procedure(_program: GLuint; location: GLint; v0: GLfloat); stdcall;
  1646. glProgramUniform1fv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  1647. glProgramUniform1d: procedure(_program: GLuint; location: GLint; v0: GLdouble); stdcall;
  1648. glProgramUniform1dv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  1649. glProgramUniform1ui: procedure(_program: GLuint; location: GLint; v0: GLuint); stdcall;
  1650. glProgramUniform1uiv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  1651. glProgramUniform2i: procedure(_program: GLuint; location: GLint; v0: GLint; v1: GLint); stdcall;
  1652. glProgramUniform2iv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint); stdcall;
  1653. glProgramUniform2f: procedure(_program: GLuint; location: GLint; v0: GLfloat; v1: GLfloat); stdcall;
  1654. glProgramUniform2fv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  1655. glProgramUniform2d: procedure(_program: GLuint; location: GLint; v0: GLdouble; v1: GLdouble); stdcall;
  1656. glProgramUniform2dv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  1657. glProgramUniform2ui: procedure(_program: GLuint; location: GLint; v0: GLuint; v1: GLuint); stdcall;
  1658. glProgramUniform2uiv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  1659. glProgramUniform3i: procedure(_program: GLuint; location: GLint; v0: GLint; v1: GLint; v2: GLint); stdcall;
  1660. glProgramUniform3iv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint); stdcall;
  1661. glProgramUniform3f: procedure(_program: GLuint; location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat); stdcall;
  1662. glProgramUniform3fv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  1663. glProgramUniform3d: procedure(_program: GLuint; location: GLint; v0: GLdouble; v1: GLdouble; v2: GLdouble); stdcall;
  1664. glProgramUniform3dv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  1665. glProgramUniform3ui: procedure(_program: GLuint; location: GLint; v0: GLuint; v1: GLuint; v2: GLuint); stdcall;
  1666. glProgramUniform3uiv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  1667. glProgramUniform4i: procedure(_program: GLuint; location: GLint; v0: GLint; v1: GLint; v2: GLint; v3: GLint); stdcall;
  1668. glProgramUniform4iv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint); stdcall;
  1669. glProgramUniform4f: procedure(_program: GLuint; location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat; v3: GLfloat); stdcall;
  1670. glProgramUniform4fv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  1671. glProgramUniform4d: procedure(_program: GLuint; location: GLint; v0: GLdouble; v1: GLdouble; v2: GLdouble; v3: GLdouble); stdcall;
  1672. glProgramUniform4dv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  1673. glProgramUniform4ui: procedure(_program: GLuint; location: GLint; v0: GLuint; v1: GLuint; v2: GLuint; v3: GLuint); stdcall;
  1674. glProgramUniform4uiv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  1675. glProgramUniformMatrix2fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1676. glProgramUniformMatrix3fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1677. glProgramUniformMatrix4fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1678. glProgramUniformMatrix2dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1679. glProgramUniformMatrix3dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1680. glProgramUniformMatrix4dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1681. glProgramUniformMatrix2x3fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1682. glProgramUniformMatrix3x2fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1683. glProgramUniformMatrix2x4fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1684. glProgramUniformMatrix4x2fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1685. glProgramUniformMatrix3x4fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1686. glProgramUniformMatrix4x3fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1687. glProgramUniformMatrix2x3dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1688. glProgramUniformMatrix3x2dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1689. glProgramUniformMatrix2x4dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1690. glProgramUniformMatrix4x2dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1691. glProgramUniformMatrix3x4dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1692. glProgramUniformMatrix4x3dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1693. glValidateProgramPipeline: procedure(pipeline: GLuint); stdcall;
  1694. glGetProgramPipelineInfoLog: procedure(pipeline: GLuint; bufSize: GLsizei; length: PGLsizei; infoLog: PGLchar); stdcall;
  1695. glVertexAttribL1d: procedure(index: GLuint; x: GLdouble); stdcall;
  1696. glVertexAttribL2d: procedure(index: GLuint; x: GLdouble; y: GLdouble); stdcall;
  1697. glVertexAttribL3d: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  1698. glVertexAttribL4d: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  1699. glVertexAttribL1dv: procedure(index: GLuint; const v: PGLdouble); stdcall;
  1700. glVertexAttribL2dv: procedure(index: GLuint; const v: PGLdouble); stdcall;
  1701. glVertexAttribL3dv: procedure(index: GLuint; const v: PGLdouble); stdcall;
  1702. glVertexAttribL4dv: procedure(index: GLuint; const v: PGLdouble); stdcall;
  1703. glVertexAttribLPointer: procedure(index: GLuint; size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  1704. glGetVertexAttribLdv: procedure(index: GLuint; pname: GLenum; params: PGLdouble); stdcall;
  1705. glViewportArrayv: procedure(first: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  1706. glViewportIndexedf: procedure(index: GLuint; x: GLfloat; y: GLfloat; w: GLfloat; h: GLfloat); stdcall;
  1707. glViewportIndexedfv: procedure(index: GLuint; const v: PGLfloat); stdcall;
  1708. glScissorArrayv: procedure(first: GLuint; count: GLsizei; const v: PGLint); stdcall;
  1709. glScissorIndexed: procedure(index: GLuint; left: GLint; bottom: GLint; width: GLsizei; height: GLsizei); stdcall;
  1710. glScissorIndexedv: procedure(index: GLuint; const v: PGLint); stdcall;
  1711. glDepthRangeArrayv: procedure(first: GLuint; count: GLsizei; const v: PGLdouble); stdcall;
  1712. glDepthRangeIndexed: procedure(index: GLuint; n: GLdouble; f: GLdouble); stdcall;
  1713. glGetFloati_v: procedure(target: GLenum; index: GLuint; data: PGLfloat); stdcall;
  1714. glGetDoublei_v: procedure(target: GLenum; index: GLuint; data: PGLdouble); stdcall;
  1715. {$EndIf}
  1716. {$IfDef GL_VERSION_4_2}
  1717. var
  1718. glDrawArraysInstancedBaseInstance: procedure(mode: GLenum; first: GLint; count: GLsizei; instancecount: GLsizei; baseinstance: GLuint);
  1719. glDrawElementsInstancedBaseInstance: procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: pointer; instancecount: GLsizei; baseinstance: GLuint); stdcall;
  1720. glDrawElementsInstancedBaseVertexBaseInstance: procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: pointer; instancecount: GLsizei; basevertex: GLint; baseinstance: GLuint); stdcall;
  1721. glGetInternalformativ: procedure(target: GLenum; internalformat: GLenum; pname: GLenum; count: GLsizei; params: PGLint); stdcall;
  1722. glGetActiveAtomicCounterBufferiv: procedure(_program: GLuint; bufferIndex: GLuint; pname: GLenum; params: PGLint); stdcall;
  1723. glBindImageTexture: procedure(_unit: GLuint; texture: GLuint; level: GLint; layered: GLboolean; layer: GLint; access: GLenum; format: GLenum); stdcall;
  1724. glMemoryBarrier: procedure(barriers: GLbitfield); stdcall;
  1725. glTexStorage1D: procedure(target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei); stdcall;
  1726. glTexStorage2D: procedure(target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  1727. glTexStorage3D: procedure(target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei); stdcall;
  1728. glDrawTransformFeedbackInstanced: procedure(mode: GLenum; id: GLuint; instancecount: GLsizei); stdcall;
  1729. glDrawTransformFeedbackStreamInstanced: procedure(mode: GLenum; id: GLuint; stream: GLuint; instancecount: GLsizei); stdcall;
  1730. {$EndIf}
  1731. {$IfDef GL_VERSION_4_3}
  1732. var
  1733. glClearBufferData: procedure(target: GLenum; internalformat: GLenum; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  1734. glClearBufferSubData: procedure(target: GLenum; internalformat: GLenum; offset: GLintptr; size: GLsizeiptr; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  1735. glDispatchCompute: procedure(num_groups_x: GLuint; num_groups_y: GLuint; num_groups_z: GLuint); stdcall;
  1736. glDispatchComputeIndirect: procedure(indirect: GLintptr); stdcall;
  1737. 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;
  1738. glFramebufferParameteri: procedure(target: GLenum; pname: GLenum; param: GLint); stdcall;
  1739. glGetFramebufferParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  1740. glGetInternalformati64v: procedure(target: GLenum; internalformat: GLenum; pname: GLenum; count: GLsizei; params: PGLint64); stdcall;
  1741. glInvalidateTexSubImage: procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei); stdcall;
  1742. glInvalidateTexImage: procedure(texture: GLuint; level: GLint); stdcall;
  1743. glInvalidateBufferSubData: procedure(buffer: GLuint; offset: GLintptr; length: GLsizeiptr); stdcall;
  1744. glInvalidateBufferData: procedure(buffer: GLuint); stdcall;
  1745. glInvalidateFramebuffer: procedure(target: GLenum; numAttachments: GLsizei; const attachments: PGLenum); stdcall;
  1746. glInvalidateSubFramebuffer: procedure(target: GLenum; numAttachments: GLsizei; const attachments: PGLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  1747. glMultiDrawArraysIndirect: procedure(mode: GLenum; const indirect: pointer; drawcount: GLsizei; stride: GLsizei); stdcall;
  1748. glMultiDrawElementsIndirect: procedure(mode: GLenum; _type: GLenum; const indirect: pointer; drawcount: GLsizei; stride: GLsizei); stdcall;
  1749. glGetProgramInterfaceiv: procedure(_program: GLuint; programInterface: GLenum; pname: GLenum; params: PGLint); stdcall;
  1750. glGetProgramResourceIndex: function(_program: GLuint; programInterface: GLenum; const name: PGLchar): GLuint; stdcall;
  1751. glGetProgramResourceName: procedure(_program: GLuint; programInterface: GLenum; index: GLuint; bufSize: GLsizei; length: PGLsizei; name: PGLchar); stdcall;
  1752. glGetProgramResourceiv: procedure(_program: GLuint; programInterface: GLenum; index: GLuint; propCount: GLsizei; const props: PGLenum; count: GLsizei; length: PGLsizei; params: PGLint); stdcall;
  1753. glGetProgramResourceLocation: function(_program: GLuint; programInterface: GLenum; const name: PGLchar): GLint; stdcall;
  1754. glGetProgramResourceLocationIndex: function(_program: GLuint; programInterface: GLenum; const name: PGLchar): GLint; stdcall;
  1755. glShaderStorageBlockBinding: procedure(_program: GLuint; storageBlockIndex: GLuint; storageBlockBinding: GLuint); stdcall;
  1756. glTexBufferRange: procedure(target: GLenum; internalformat: GLenum; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); stdcall;
  1757. glTexStorage2DMultisample: procedure(target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; fixedsamplelocations: GLboolean); stdcall;
  1758. glTexStorage3DMultisample: procedure(target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; fixedsamplelocations: GLboolean); stdcall;
  1759. glTextureView: procedure(texture: GLuint; target: GLenum; origtexture: GLuint; internalformat: GLenum; minlevel: GLuint; numlevels: GLuint; minlayer: GLuint; numlayers: GLuint); stdcall;
  1760. glBindVertexBuffer: procedure(bindingindex: GLuint; buffer: GLuint; offset: GLintptr; stride: GLsizei); stdcall;
  1761. glVertexAttribFormat: procedure(attribindex: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; relativeoffset: GLuint); stdcall;
  1762. glVertexAttribIFormat: procedure(attribindex: GLuint; size: GLint; _type: GLenum; relativeoffset: GLuint); stdcall;
  1763. glVertexAttribLFormat: procedure(attribindex: GLuint; size: GLint; _type: GLenum; relativeoffset: GLuint); stdcall;
  1764. glVertexAttribBinding: procedure(attribindex: GLuint; bindingindex: GLuint); stdcall;
  1765. glVertexBindingDivisor: procedure(bindingindex: GLuint; divisor: GLuint); stdcall;
  1766. glDebugMessageControl: procedure(source: GLenum; _type: GLenum; severity: GLenum; count: GLsizei; const ids: PGLuint; enabled: GLboolean); stdcall;
  1767. glDebugMessageInsert: procedure(source: GLenum; _type: GLenum; id: GLuint; severity: GLenum; length: GLsizei; const buf: PGLchar); stdcall;
  1768. glDebugMessageCallback: procedure(callback: GLDEBUGPROC; const userParam: pointer); stdcall;
  1769. glGetDebugMessageLog: function(count: GLuint; bufSize: GLsizei; sources: PGLenum; types: PGLenum; ids: PGLuint; severities: PGLenum; lengths: PGLsizei; messageLog: PGLchar): GLuint; stdcall;
  1770. glPushDebugGroup: procedure(source: GLenum; id: GLuint; length: GLsizei; const message: PGLchar); stdcall;
  1771. glPopDebugGroup: procedure; stdcall;
  1772. glObjectLabel: procedure(identifier: GLenum; name: GLuint; length: GLsizei; const _label: PGLchar); stdcall;
  1773. glGetObjectLabel: procedure(identifier: GLenum; name: GLuint; bufSize: GLsizei; length: PGLsizei; _label: PGLchar); stdcall;
  1774. glObjectPtrLabel: procedure(const ptr: pointer; length: GLsizei; const _label: PGLchar); stdcall;
  1775. glGetObjectPtrLabel: procedure(const ptr: pointer; bufSize: GLsizei; length: PGLsizei; _label: PGLchar); stdcall;
  1776. {$EndIf}
  1777. {$IfDef GL_VERSION_4_4}
  1778. var
  1779. glBufferStorage: procedure(target: GLenum; size: GLsizeiptr; const data: pointer; flags: GLbitfield); stdcall;
  1780. glClearTexImage: procedure(texture: GLuint; level: GLint; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  1781. 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;
  1782. glBindBuffersBase: procedure(target: GLenum; first: GLuint; count: GLsizei; const buffers: PGLuint); stdcall;
  1783. glBindBuffersRange: procedure(target: GLenum; first: GLuint; count: GLsizei; const buffers: PGLuint; const offsets: PGLintptr; const sizes: PGLsizeiptr); stdcall;
  1784. glBindTextures: procedure(first: GLuint; count: GLsizei; const textures: PGLuint); stdcall;
  1785. glBindSamplers: procedure(first: GLuint; count: GLsizei; const samplers: PGLuint); stdcall;
  1786. glBindImageTextures: procedure(first: GLuint; count: GLsizei; const textures: PGLuint); stdcall;
  1787. glBindVertexBuffers: procedure(first: GLuint; count: GLsizei; const buffers: PGLuint; const offsets: PGLintptr; const strides: PGLsizei); stdcall;
  1788. {$EndIf}
  1789. {$IfDef GL_VERSION_4_5}
  1790. var
  1791. glClipControl: procedure(origin: GLenum; depth: GLenum); stdcall;
  1792. glCreateTransformFeedbacks: procedure(n: GLsizei; ids: PGLuint); stdcall;
  1793. glTransformFeedbackBufferBase: procedure(xfb: GLuint; index: GLuint; buffer: GLuint); stdcall;
  1794. glTransformFeedbackBufferRange: procedure(xfb: GLuint; index: GLuint; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); stdcall;
  1795. glGetTransformFeedbackiv: procedure(xfb: GLuint; pname: GLenum; param: PGLint); stdcall;
  1796. glGetTransformFeedbacki_v: procedure(xfb: GLuint; pname: GLenum; index: GLuint; param: PGLint); stdcall;
  1797. glGetTransformFeedbacki64_v: procedure(xfb: GLuint; pname: GLenum; index: GLuint; param: PGLint64); stdcall;
  1798. glCreateBuffers: procedure(n: GLsizei; buffers: PGLuint); stdcall;
  1799. glNamedBufferStorage: procedure(buffer: GLuint; size: GLsizeiptr; const data: pointer; flags: GLbitfield); stdcall;
  1800. glNamedBufferData: procedure(buffer: GLuint; size: GLsizeiptr; const data: pointer; usage: GLenum); stdcall;
  1801. glNamedBufferSubData: procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; const data: pointer); stdcall;
  1802. glCopyNamedBufferSubData: procedure(readBuffer: GLuint; writeBuffer: GLuint; readOffset: GLintptr; writeOffset: GLintptr; size: GLsizeiptr); stdcall;
  1803. glClearNamedBufferData: procedure(buffer: GLuint; internalformat: GLenum; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  1804. glClearNamedBufferSubData: procedure(buffer: GLuint; internalformat: GLenum; offset: GLintptr; size: GLsizeiptr; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  1805. glMapNamedBuffer: function(buffer: GLuint; access: GLenum): pointer; stdcall;
  1806. glMapNamedBufferRange: function(buffer: GLuint; offset: GLintptr; length: GLsizeiptr; access: GLbitfield): pointer; stdcall;
  1807. glUnmapNamedBuffer: function(buffer: GLuint): GLboolean; stdcall;
  1808. glFlushMappedNamedBufferRange: procedure(buffer: GLuint; offset: GLintptr; length: GLsizeiptr); stdcall;
  1809. glGetNamedBufferParameteriv: procedure(buffer: GLuint; pname: GLenum; params: PGLint); stdcall;
  1810. glGetNamedBufferParameteri64v: procedure(buffer: GLuint; pname: GLenum; params: PGLint64); stdcall;
  1811. glGetNamedBufferPointerv: procedure(buffer: GLuint; pname: GLenum; params:Ppointer); stdcall;
  1812. glGetNamedBufferSubData: procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; data: pointer); stdcall;
  1813. glCreateFramebuffers: procedure(n: GLsizei; framebuffers: PGLuint); stdcall;
  1814. glNamedFramebufferRenderbuffer: procedure(framebuffer: GLuint; attachment: GLenum; renderbuffertarget: GLenum; renderbuffer: GLuint); stdcall;
  1815. glNamedFramebufferParameteri: procedure(framebuffer: GLuint; pname: GLenum; param: GLint); stdcall;
  1816. glNamedFramebufferTexture: procedure(framebuffer: GLuint; attachment: GLenum; texture: GLuint; level: GLint); stdcall;
  1817. glNamedFramebufferTextureLayer: procedure(framebuffer: GLuint; attachment: GLenum; texture: GLuint; level: GLint; layer: GLint); stdcall;
  1818. glNamedFramebufferDrawBuffer: procedure(framebuffer: GLuint; buf: GLenum); stdcall;
  1819. glNamedFramebufferDrawBuffers: procedure(framebuffer: GLuint; n: GLsizei; const bufs: PGLenum); stdcall;
  1820. glNamedFramebufferReadBuffer: procedure(framebuffer: GLuint; src: GLenum); stdcall;
  1821. glInvalidateNamedFramebufferData: procedure(framebuffer: GLuint; numAttachments: GLsizei; const attachments: PGLenum); stdcall;
  1822. glInvalidateNamedFramebufferSubData: procedure(framebuffer: GLuint; numAttachments: GLsizei; const attachments: PGLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  1823. glClearNamedFramebufferiv: procedure(framebuffer: GLuint; buffer: GLenum; drawbuffer: GLint; const value: PGLint); stdcall;
  1824. glClearNamedFramebufferuiv: procedure(framebuffer: GLuint; buffer: GLenum; drawbuffer: GLint; const value: PGLuint); stdcall;
  1825. glClearNamedFramebufferfv: procedure(framebuffer: GLuint; buffer: GLenum; drawbuffer: GLint; const value: PGLfloat); stdcall;
  1826. glClearNamedFramebufferfi: procedure(framebuffer: GLuint; buffer: GLenum; drawbuffer: GLint; depth: GLfloat; stencil: GLint); stdcall;
  1827. 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;
  1828. glCheckNamedFramebufferStatus: function(framebuffer: GLuint; target: GLenum): GLenum; stdcall;
  1829. glGetNamedFramebufferParameteriv: procedure(framebuffer: GLuint; pname: GLenum; param: PGLint); stdcall;
  1830. glGetNamedFramebufferAttachmentParameteriv: procedure(framebuffer: GLuint; attachment: GLenum; pname: GLenum; params: PGLint); stdcall;
  1831. glCreateRenderbuffers: procedure(n: GLsizei; renderbuffers: PGLuint); stdcall;
  1832. glNamedRenderbufferStorage: procedure(renderbuffer: GLuint; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  1833. glNamedRenderbufferStorageMultisample: procedure(renderbuffer: GLuint; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  1834. glGetNamedRenderbufferParameteriv: procedure(renderbuffer: GLuint; pname: GLenum; params: PGLint); stdcall;
  1835. glCreateTextures: procedure(target: GLenum; n: GLsizei; textures: PGLuint); stdcall;
  1836. glTextureBuffer: procedure(texture: GLuint; internalformat: GLenum; buffer: GLuint); stdcall;
  1837. glTextureBufferRange: procedure(texture: GLuint; internalformat: GLenum; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); stdcall;
  1838. glTextureStorage1D: procedure(texture: GLuint; levels: GLsizei; internalformat: GLenum; width: GLsizei); stdcall;
  1839. glTextureStorage2D: procedure(texture: GLuint; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  1840. glTextureStorage3D: procedure(texture: GLuint; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei); stdcall;
  1841. glTextureStorage2DMultisample: procedure(texture: GLuint; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; fixedsamplelocations: GLboolean); stdcall;
  1842. glTextureStorage3DMultisample: procedure(texture: GLuint; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; fixedsamplelocations: GLboolean); stdcall;
  1843. glTextureSubImage1D: procedure(texture: GLuint; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  1844. glTextureSubImage2D: procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  1845. 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;
  1846. glCompressedTextureSubImage1D: procedure(texture: GLuint; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const data: pointer); stdcall;
  1847. glCompressedTextureSubImage2D: procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const data: pointer); stdcall;
  1848. 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;
  1849. glCopyTextureSubImage1D: procedure(texture: GLuint; level: GLint; xoffset: GLint; x: GLint; y: GLint; width: GLsizei); stdcall;
  1850. glCopyTextureSubImage2D: procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  1851. glCopyTextureSubImage3D: procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  1852. glTextureParameterf: procedure(texture: GLuint; pname: GLenum; param: GLfloat); stdcall;
  1853. glTextureParameterfv: procedure(texture: GLuint; pname: GLenum; const param: PGLfloat); stdcall;
  1854. glTextureParameteri: procedure(texture: GLuint; pname: GLenum; param: GLint); stdcall;
  1855. glTextureParameterIiv: procedure(texture: GLuint; pname: GLenum; const params: PGLint); stdcall;
  1856. glTextureParameterIuiv: procedure(texture: GLuint; pname: GLenum; const params: PGLuint); stdcall;
  1857. glTextureParameteriv: procedure(texture: GLuint; pname: GLenum; const param: PGLint); stdcall;
  1858. glGenerateTextureMipmap: procedure(texture: GLuint); stdcall;
  1859. glBindTextureUnit: procedure(_unit: GLuint; texture: GLuint); stdcall;
  1860. glGetTextureImage: procedure(texture: GLuint; level: GLint; format: GLenum; _type: GLenum; bufSize: GLsizei; pixels: pointer); stdcall;
  1861. glGetCompressedTextureImage: procedure(texture: GLuint; level: GLint; bufSize: GLsizei; pixels: pointer); stdcall;
  1862. glGetTextureLevelParameterfv: procedure(texture: GLuint; level: GLint; pname: GLenum; params: PGLfloat); stdcall;
  1863. glGetTextureLevelParameteriv: procedure(texture: GLuint; level: GLint; pname: GLenum; params: PGLint); stdcall;
  1864. glGetTextureParameterfv: procedure(texture: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  1865. glGetTextureParameterIiv: procedure(texture: GLuint; pname: GLenum; params: PGLint); stdcall;
  1866. glGetTextureParameterIuiv: procedure(texture: GLuint; pname: GLenum; params: PGLuint); stdcall;
  1867. glGetTextureParameteriv: procedure(texture: GLuint; pname: GLenum; params: PGLint); stdcall;
  1868. glCreateVertexArrays: procedure(n: GLsizei; arrays: PGLuint); stdcall;
  1869. glDisableVertexArrayAttrib: procedure(vaobj: GLuint; index: GLuint); stdcall;
  1870. glEnableVertexArrayAttrib: procedure(vaobj: GLuint; index: GLuint); stdcall;
  1871. glVertexArrayElementBuffer: procedure(vaobj: GLuint; buffer: GLuint); stdcall;
  1872. glVertexArrayVertexBuffer: procedure(vaobj: GLuint; bindingindex: GLuint; buffer: GLuint; offset: GLintptr; stride: GLsizei); stdcall;
  1873. glVertexArrayVertexBuffers: procedure(vaobj: GLuint; first: GLuint; count: GLsizei; const buffers: PGLuint; const offsets: PGLintptr; const strides: PGLsizei); stdcall;
  1874. glVertexArrayAttribBinding: procedure(vaobj: GLuint; attribindex: GLuint; bindingindex: GLuint); stdcall;
  1875. glVertexArrayAttribFormat: procedure(vaobj: GLuint; attribindex: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; relativeoffset: GLuint); stdcall;
  1876. glVertexArrayAttribIFormat: procedure(vaobj: GLuint; attribindex: GLuint; size: GLint; _type: GLenum; relativeoffset: GLuint); stdcall;
  1877. glVertexArrayAttribLFormat: procedure(vaobj: GLuint; attribindex: GLuint; size: GLint; _type: GLenum; relativeoffset: GLuint); stdcall;
  1878. glVertexArrayBindingDivisor: procedure(vaobj: GLuint; bindingindex: GLuint; divisor: GLuint); stdcall;
  1879. glGetVertexArrayiv: procedure(vaobj: GLuint; pname: GLenum; param: PGLint); stdcall;
  1880. glGetVertexArrayIndexediv: procedure(vaobj: GLuint; index: GLuint; pname: GLenum; param: PGLint); stdcall;
  1881. glGetVertexArrayIndexed64iv: procedure(vaobj: GLuint; index: GLuint; pname: GLenum; param: PGLint64); stdcall;
  1882. glCreateSamplers: procedure(n: GLsizei; samplers: PGLuint); stdcall;
  1883. glCreateProgramPipelines: procedure(n: GLsizei; pipelines: PGLuint); stdcall;
  1884. glCreateQueries: procedure(target: GLenum; n: GLsizei; ids: PGLuint); stdcall;
  1885. glGetQueryBufferObjecti64v: procedure(id: GLuint; buffer: GLuint; pname: GLenum; offset: GLintptr); stdcall;
  1886. glGetQueryBufferObjectiv: procedure(id: GLuint; buffer: GLuint; pname: GLenum; offset: GLintptr); stdcall;
  1887. glGetQueryBufferObjectui64v: procedure(id: GLuint; buffer: GLuint; pname: GLenum; offset: GLintptr); stdcall;
  1888. glGetQueryBufferObjectuiv: procedure(id: GLuint; buffer: GLuint; pname: GLenum; offset: GLintptr); stdcall;
  1889. glMemoryBarrierByRegion: procedure(barriers: GLbitfield); stdcall;
  1890. 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;
  1891. glGetCompressedTextureSubImage: procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; bufSize: GLsizei; pixels: pointer); stdcall;
  1892. glGetGraphicsResetStatus: function: GLenum; stdcall;
  1893. glGetnCompressedTexImage: procedure(target: GLenum; lod: GLint; bufSize: GLsizei; pixels: pointer); stdcall;
  1894. glGetnTexImage: procedure(target: GLenum; level: GLint; format: GLenum; _type: GLenum; bufSize: GLsizei; pixels: pointer); stdcall;
  1895. glGetnUniformdv: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLdouble); stdcall;
  1896. glGetnUniformfv: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLfloat); stdcall;
  1897. glGetnUniformiv: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLint); stdcall;
  1898. glGetnUniformuiv: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLuint); stdcall;
  1899. glReadnPixels: procedure(x: GLint; y: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; bufSize: GLsizei; data: pointer); stdcall;
  1900. glTextureBarrier: procedure; stdcall;
  1901. {$IfNDef USE_GLCORE}
  1902. glGetnMapdv: procedure(target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLdouble); stdcall;
  1903. glGetnMapfv: procedure(target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLfloat); stdcall;
  1904. glGetnMapiv: procedure(target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLint); stdcall;
  1905. glGetnPixelMapfv: procedure(map: GLenum; bufSize: GLsizei; values: PGLfloat); stdcall;
  1906. glGetnPixelMapuiv: procedure(map: GLenum; bufSize: GLsizei; values: PGLuint); stdcall;
  1907. glGetnPixelMapusv: procedure(map: GLenum; bufSize: GLsizei; values: PGLushort); stdcall;
  1908. glGetnPolygonStipple: procedure(bufSize: GLsizei; pattern: PGLubyte); stdcall;
  1909. glGetnColorTable: procedure(target: GLenum; format: GLenum; _type: GLenum; bufSize: GLsizei; table: pointer); stdcall;
  1910. glGetnConvolutionFilter: procedure(target: GLenum; format: GLenum; _type: GLenum; bufSize: GLsizei; image: pointer); stdcall;
  1911. glGetnSeparableFilter: procedure(target: GLenum; format: GLenum; _type: GLenum; rowBufSize: GLsizei; row: pointer; columnBufSize: GLsizei; column: pointer; span: pointer); stdcall;
  1912. glGetnHistogram: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; bufSize: GLsizei; values: pointer); stdcall;
  1913. glGetnMinmax: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; bufSize: GLsizei; values: pointer); stdcall;
  1914. {$EndIf}
  1915. {$EndIf}
  1916. {$IfDef GL_VERSION_4_6}
  1917. var
  1918. glSpecializeShader: procedure(shader: GLuint; const pEntryPoint: PGLchar; numSpecializationConstants: GLuint; const pConstantIndex: PGLuint; const pConstantValue: PGLuint); stdcall;
  1919. glMultiDrawArraysIndirectCount: procedure(mode: GLenum; const indirect: pointer; drawcount: GLintptr; maxdrawcount: GLsizei; stride: GLsizei); stdcall;
  1920. glMultiDrawElementsIndirectCount: procedure(mode: GLenum; _type: GLenum; const indirect: pointer; drawcount: GLintptr; maxdrawcount: GLsizei; stride: GLsizei); stdcall;
  1921. glPolygonOffsetClamp: procedure(factor: GLfloat; units: GLfloat; clamp: GLfloat); stdcall;
  1922. {$EndIf}
  1923. {$IfDef GL_ARB_ES3_2_compatibility}
  1924. glPrimitiveBoundingBoxARB: procedure(minX: GLfloat; minY: GLfloat; minZ: GLfloat; minW: GLfloat; maxX: GLfloat; maxY: GLfloat; maxZ: GLfloat; maxW: GLfloat); stdcall;
  1925. {$EndIf}
  1926. {$IfDef GL_ARB_bindless_texture}
  1927. glGetTextureHandleARB: function(texture: GLuint): GLuint64; stdcall;
  1928. glGetTextureSamplerHandleARB: function(texture: GLuint; sampler: GLuint): GLuint64; stdcall;
  1929. glMakeTextureHandleResidentARB: procedure(handle: GLuint64); stdcall;
  1930. glMakeTextureHandleNonResidentARB: procedure(handle: GLuint64); stdcall;
  1931. glGetImageHandleARB: function(texture: GLuint; level: GLint; layered: GLboolean; layer: GLint; format: GLenum): GLuint64; stdcall;
  1932. glMakeImageHandleResidentARB: procedure(handle: GLuint64; access: GLenum); stdcall;
  1933. glMakeImageHandleNonResidentARB: procedure(handle: GLuint64); stdcall;
  1934. glUniformHandleui64ARB: procedure(location: GLint; value: GLuint64); stdcall;
  1935. glUniformHandleui64vARB: procedure(location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  1936. glProgramUniformHandleui64ARB: procedure(_program: GLuint; location: GLint; value: GLuint64); stdcall;
  1937. glProgramUniformHandleui64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const values: PGLuint64); stdcall;
  1938. glIsTextureHandleResidentARB: function(handle: GLuint64): GLboolean; stdcall;
  1939. glIsImageHandleResidentARB: function(handle: GLuint64): GLboolean; stdcall;
  1940. glVertexAttribL1ui64ARB: procedure(index: GLuint; x: GLuint64EXT); stdcall;
  1941. glVertexAttribL1ui64vARB: procedure(index: GLuint; const v: PGLuint64EXT); stdcall;
  1942. glGetVertexAttribLui64vARB: procedure(index: GLuint; pname: GLenum; params: PGLuint64EXT); stdcall;
  1943. {$EndIf}
  1944. {$IfDef GL_ARB_cl_event}
  1945. glCreateSyncFromCLeventARB: function(context:P_cl_context; event:P_cl_event; flags: GLbitfield): GLsync; stdcall;
  1946. {$EndIf}
  1947. {$IfDef GL_ARB_color_buffer_float}
  1948. glClampColorARB: procedure(target: GLenum; clamp: GLenum); stdcall;
  1949. {$EndIf}
  1950. {$IfDef GL_ARB_compute_variable_group_size}
  1951. 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;
  1952. {$EndIf}
  1953. {$IfDef GL_ARB_debug_output}
  1954. glDebugMessageControlARB: procedure(source: GLenum; _type: GLenum; severity: GLenum; count: GLsizei; const ids: PGLuint; enabled: GLboolean); stdcall;
  1955. glDebugMessageInsertARB: procedure(source: GLenum; _type: GLenum; id: GLuint; severity: GLenum; length: GLsizei; const buf: PGLchar); stdcall;
  1956. glDebugMessageCallbackARB: procedure(callback: GLDEBUGPROCARB; const userParam: pointer); stdcall;
  1957. glGetDebugMessageLogARB: function(count: GLuint; bufSize: GLsizei; sources: PGLenum; types: PGLenum; ids: PGLuint; severities: PGLenum; lengths: PGLsizei; messageLog: PGLchar): GLuint; stdcall;
  1958. {$EndIf}
  1959. {$IfDef GL_ARB_draw_buffers}
  1960. glDrawBuffersARB: procedure(n: GLsizei; const bufs: PGLenum); stdcall;
  1961. {$EndIf}
  1962. {$IfDef GL_ARB_draw_buffers_blend}
  1963. glBlendEquationiARB: procedure(buf: GLuint; mode: GLenum); stdcall;
  1964. glBlendEquationSeparateiARB: procedure(buf: GLuint; modeRGB: GLenum; modeAlpha: GLenum); stdcall;
  1965. glBlendFunciARB: procedure(buf: GLuint; src: GLenum; dst: GLenum); stdcall;
  1966. glBlendFuncSeparateiARB: procedure(buf: GLuint; srcRGB: GLenum; dstRGB: GLenum; srcAlpha: GLenum; dstAlpha: GLenum); stdcall;
  1967. {$EndIf}
  1968. {$IfDef GL_ARB_draw_instanced}
  1969. glDrawArraysInstancedARB: procedure(mode: GLenum; first: GLint; count: GLsizei; primcount: GLsizei); stdcall;
  1970. glDrawElementsInstancedARB: procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: pointer; primcount: GLsizei); stdcall;
  1971. {$EndIf}
  1972. {$IfDef GL_ARB_fragment_program}
  1973. glProgramStringARB: procedure(target: GLenum; format: GLenum; len: GLsizei; const _string: pointer); stdcall;
  1974. glBindProgramARB: procedure(target: GLenum; _program: GLuint); stdcall;
  1975. glDeleteProgramsARB: procedure(n: GLsizei; const programs: PGLuint); stdcall;
  1976. glGenProgramsARB: procedure(n: GLsizei; programs: PGLuint); stdcall;
  1977. glProgramEnvParameter4dARB: procedure(target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  1978. glProgramEnvParameter4dvARB: procedure(target: GLenum; index: GLuint; const params: PGLdouble); stdcall;
  1979. glProgramEnvParameter4fARB: procedure(target: GLenum; index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  1980. glProgramEnvParameter4fvARB: procedure(target: GLenum; index: GLuint; const params: PGLfloat); stdcall;
  1981. glProgramLocalParameter4dARB: procedure(target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  1982. glProgramLocalParameter4dvARB: procedure(target: GLenum; index: GLuint; const params: PGLdouble); stdcall;
  1983. glProgramLocalParameter4fARB: procedure(target: GLenum; index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  1984. glProgramLocalParameter4fvARB: procedure(target: GLenum; index: GLuint; const params: PGLfloat); stdcall;
  1985. glGetProgramEnvParameterdvARB: procedure(target: GLenum; index: GLuint; params: PGLdouble); stdcall;
  1986. glGetProgramEnvParameterfvARB: procedure(target: GLenum; index: GLuint; params: PGLfloat); stdcall;
  1987. glGetProgramLocalParameterdvARB: procedure(target: GLenum; index: GLuint; params: PGLdouble); stdcall;
  1988. glGetProgramLocalParameterfvARB: procedure(target: GLenum; index: GLuint; params: PGLfloat); stdcall;
  1989. glGetProgramivARB: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  1990. glGetProgramStringARB: procedure(target: GLenum; pname: GLenum; _string: pointer); stdcall;
  1991. glIsProgramARB: function(_program: GLuint): GLboolean; stdcall;
  1992. {$EndIf}
  1993. {$IfDef GL_ARB_geometry_shader4}
  1994. glProgramParameteriARB: procedure(_program: GLuint; pname: GLenum; value: GLint); stdcall;
  1995. glFramebufferTextureARB: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint); stdcall;
  1996. glFramebufferTextureLayerARB: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; layer: GLint); stdcall;
  1997. glFramebufferTextureFaceARB: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; face: GLenum); stdcall;
  1998. {$EndIf}
  1999. {$IfDef GL_ARB_gl_spirv}
  2000. glSpecializeShaderARB: procedure(shader: GLuint; const pEntryPoint: PGLchar; numSpecializationConstants: GLuint; const pConstantIndex: PGLuint; const pConstantValue: PGLuint); stdcall;
  2001. {$EndIf}
  2002. {$IfDef GL_ARB_gpu_shader_int64}
  2003. glUniform1i64ARB: procedure(location: GLint; x: GLint64); stdcall;
  2004. glUniform2i64ARB: procedure(location: GLint; x: GLint64; y: GLint64); stdcall;
  2005. glUniform3i64ARB: procedure(location: GLint; x: GLint64; y: GLint64; z: GLint64); stdcall;
  2006. glUniform4i64ARB: procedure(location: GLint; x: GLint64; y: GLint64; z: GLint64; w: GLint64); stdcall;
  2007. glUniform1i64vARB: procedure(location: GLint; count: GLsizei; const value: PGLint64); stdcall;
  2008. glUniform2i64vARB: procedure(location: GLint; count: GLsizei; const value: PGLint64); stdcall;
  2009. glUniform3i64vARB: procedure(location: GLint; count: GLsizei; const value: PGLint64); stdcall;
  2010. glUniform4i64vARB: procedure(location: GLint; count: GLsizei; const value: PGLint64); stdcall;
  2011. glUniform1ui64ARB: procedure(location: GLint; x: GLuint64); stdcall;
  2012. glUniform2ui64ARB: procedure(location: GLint; x: GLuint64; y: GLuint64); stdcall;
  2013. glUniform3ui64ARB: procedure(location: GLint; x: GLuint64; y: GLuint64; z: GLuint64); stdcall;
  2014. glUniform4ui64ARB: procedure(location: GLint; x: GLuint64; y: GLuint64; z: GLuint64; w: GLuint64); stdcall;
  2015. glUniform1ui64vARB: procedure(location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  2016. glUniform2ui64vARB: procedure(location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  2017. glUniform3ui64vARB: procedure(location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  2018. glUniform4ui64vARB: procedure(location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  2019. glGetUniformi64vARB: procedure(_program: GLuint; location: GLint; params: PGLint64); stdcall;
  2020. glGetUniformui64vARB: procedure(_program: GLuint; location: GLint; params: PGLuint64); stdcall;
  2021. glGetnUniformi64vARB: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLint64); stdcall;
  2022. glGetnUniformui64vARB: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLuint64); stdcall;
  2023. glProgramUniform1i64ARB: procedure(_program: GLuint; location: GLint; x: GLint64); stdcall;
  2024. glProgramUniform2i64ARB: procedure(_program: GLuint; location: GLint; x: GLint64; y: GLint64); stdcall;
  2025. glProgramUniform3i64ARB: procedure(_program: GLuint; location: GLint; x: GLint64; y: GLint64; z: GLint64); stdcall;
  2026. glProgramUniform4i64ARB: procedure(_program: GLuint; location: GLint; x: GLint64; y: GLint64; z: GLint64; w: GLint64); stdcall;
  2027. glProgramUniform1i64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint64); stdcall;
  2028. glProgramUniform2i64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint64); stdcall;
  2029. glProgramUniform3i64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint64); stdcall;
  2030. glProgramUniform4i64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint64); stdcall;
  2031. glProgramUniform1ui64ARB: procedure(_program: GLuint; location: GLint; x: GLuint64); stdcall;
  2032. glProgramUniform2ui64ARB: procedure(_program: GLuint; location: GLint; x: GLuint64; y: GLuint64); stdcall;
  2033. glProgramUniform3ui64ARB: procedure(_program: GLuint; location: GLint; x: GLuint64; y: GLuint64; z: GLuint64); stdcall;
  2034. glProgramUniform4ui64ARB: procedure(_program: GLuint; location: GLint; x: GLuint64; y: GLuint64; z: GLuint64; w: GLuint64); stdcall;
  2035. glProgramUniform1ui64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  2036. glProgramUniform2ui64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  2037. glProgramUniform3ui64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  2038. glProgramUniform4ui64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  2039. {$EndIf}
  2040. {$IfDef GL_ARB_imaging}
  2041. glColorTable: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; const table: pointer); stdcall;
  2042. glColorTableParameterfv: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  2043. glColorTableParameteriv: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2044. glCopyColorTable: procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); stdcall;
  2045. glGetColorTable: procedure(target: GLenum; format: GLenum; _type: GLenum; table: pointer); stdcall;
  2046. glGetColorTableParameterfv: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2047. glGetColorTableParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2048. glColorSubTable: procedure(target: GLenum; start: GLsizei; count: GLsizei; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  2049. glCopyColorSubTable: procedure(target: GLenum; start: GLsizei; x: GLint; y: GLint; width: GLsizei); stdcall;
  2050. glConvolutionFilter1D: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; const image: pointer); stdcall;
  2051. glConvolutionFilter2D: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const image: pointer); stdcall;
  2052. glConvolutionParameterf: procedure(target: GLenum; pname: GLenum; params: GLfloat); stdcall;
  2053. glConvolutionParameterfv: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  2054. glConvolutionParameteri: procedure(target: GLenum; pname: GLenum; params: GLint); stdcall;
  2055. glConvolutionParameteriv: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2056. glCopyConvolutionFilter1D: procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); stdcall;
  2057. glCopyConvolutionFilter2D: procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  2058. glGetConvolutionFilter: procedure(target: GLenum; format: GLenum; _type: GLenum; image: pointer); stdcall;
  2059. glGetConvolutionParameterfv: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2060. glGetConvolutionParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2061. glGetSeparableFilter: procedure(target: GLenum; format: GLenum; _type: GLenum; row: pointer; column: pointer; span: pointer); stdcall;
  2062. glSeparableFilter2D: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const row: pointer; const column: pointer); stdcall;
  2063. glGetHistogram: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; values: pointer); stdcall;
  2064. glGetHistogramParameterfv: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2065. glGetHistogramParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2066. glGetMinmax: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; values: pointer); stdcall;
  2067. glGetMinmaxParameterfv: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2068. glGetMinmaxParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2069. glHistogram: procedure(target: GLenum; width: GLsizei; internalformat: GLenum; sink: GLboolean); stdcall;
  2070. glMinmax: procedure(target: GLenum; internalformat: GLenum; sink: GLboolean); stdcall;
  2071. glResetHistogram: procedure(target: GLenum); stdcall;
  2072. glResetMinmax: procedure(target: GLenum); stdcall;
  2073. {$EndIf}
  2074. {$IfDef GL_ARB_indirect_parameters}
  2075. glMultiDrawArraysIndirectCountARB: procedure(mode: GLenum; const indirect: pointer; drawcount: GLintptr; maxdrawcount: GLsizei; stride: GLsizei); stdcall;
  2076. glMultiDrawElementsIndirectCountARB: procedure(mode: GLenum; _type: GLenum; const indirect: pointer; drawcount: GLintptr; maxdrawcount: GLsizei; stride: GLsizei); stdcall;
  2077. {$EndIf}
  2078. {$IfDef GL_ARB_instanced_arrays}
  2079. glVertexAttribDivisorARB: procedure(index: GLuint; divisor: GLuint); stdcall;
  2080. {$EndIf}
  2081. {$IfDef GL_ARB_matrix_palette}
  2082. glCurrentPaletteMatrixARB: procedure(index: GLint); stdcall;
  2083. glMatrixIndexubvARB: procedure(size: GLint; const indices: PGLubyte); stdcall;
  2084. glMatrixIndexusvARB: procedure(size: GLint; const indices: PGLushort); stdcall;
  2085. glMatrixIndexuivARB: procedure(size: GLint; const indices: PGLuint); stdcall;
  2086. glMatrixIndexPointerARB: procedure(size: GLint; _type: GLenum; stride: GLsizei; const pointer: pointer); stdcall;
  2087. {$EndIf}
  2088. {$IfDef GL_ARB_multisample}
  2089. glSampleCoverageARB: procedure(value: GLfloat; invert: GLboolean); stdcall;
  2090. {$EndIf}
  2091. {$IfDef GL_ARB_multitexture}
  2092. glActiveTextureARB: procedure(texture: GLenum); stdcall;
  2093. glClientActiveTextureARB: procedure(texture: GLenum); stdcall;
  2094. glMultiTexCoord1dARB: procedure(target: GLenum; s: GLdouble); stdcall;
  2095. glMultiTexCoord1dvARB: procedure(target: GLenum; const v: PGLdouble); stdcall;
  2096. glMultiTexCoord1fARB: procedure(target: GLenum; s: GLfloat); stdcall;
  2097. glMultiTexCoord1fvARB: procedure(target: GLenum; const v: PGLfloat); stdcall;
  2098. glMultiTexCoord1iARB: procedure(target: GLenum; s: GLint); stdcall;
  2099. glMultiTexCoord1ivARB: procedure(target: GLenum; const v: PGLint); stdcall;
  2100. glMultiTexCoord1sARB: procedure(target: GLenum; s: GLshort); stdcall;
  2101. glMultiTexCoord1svARB: procedure(target: GLenum; const v: PGLshort); stdcall;
  2102. glMultiTexCoord2dARB: procedure(target: GLenum; s: GLdouble; t: GLdouble); stdcall;
  2103. glMultiTexCoord2dvARB: procedure(target: GLenum; const v: PGLdouble); stdcall;
  2104. glMultiTexCoord2fARB: procedure(target: GLenum; s: GLfloat; t: GLfloat); stdcall;
  2105. glMultiTexCoord2fvARB: procedure(target: GLenum; const v: PGLfloat); stdcall;
  2106. glMultiTexCoord2iARB: procedure(target: GLenum; s: GLint; t: GLint); stdcall;
  2107. glMultiTexCoord2ivARB: procedure(target: GLenum; const v: PGLint); stdcall;
  2108. glMultiTexCoord2sARB: procedure(target: GLenum; s: GLshort; t: GLshort); stdcall;
  2109. glMultiTexCoord2svARB: procedure(target: GLenum; const v: PGLshort); stdcall;
  2110. glMultiTexCoord3dARB: procedure(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble); stdcall;
  2111. glMultiTexCoord3dvARB: procedure(target: GLenum; const v: PGLdouble); stdcall;
  2112. glMultiTexCoord3fARB: procedure(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat); stdcall;
  2113. glMultiTexCoord3fvARB: procedure(target: GLenum; const v: PGLfloat); stdcall;
  2114. glMultiTexCoord3iARB: procedure(target: GLenum; s: GLint; t: GLint; r: GLint); stdcall;
  2115. glMultiTexCoord3ivARB: procedure(target: GLenum; const v: PGLint); stdcall;
  2116. glMultiTexCoord3sARB: procedure(target: GLenum; s: GLshort; t: GLshort; r: GLshort); stdcall;
  2117. glMultiTexCoord3svARB: procedure(target: GLenum; const v: PGLshort); stdcall;
  2118. glMultiTexCoord4dARB: procedure(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble; q: GLdouble); stdcall;
  2119. glMultiTexCoord4dvARB: procedure(target: GLenum; const v: PGLdouble); stdcall;
  2120. glMultiTexCoord4fARB: procedure(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat; q: GLfloat); stdcall;
  2121. glMultiTexCoord4fvARB: procedure(target: GLenum; const v: PGLfloat); stdcall;
  2122. glMultiTexCoord4iARB: procedure(target: GLenum; s: GLint; t: GLint; r: GLint; q: GLint); stdcall;
  2123. glMultiTexCoord4ivARB: procedure(target: GLenum; const v: PGLint); stdcall;
  2124. glMultiTexCoord4sARB: procedure(target: GLenum; s: GLshort; t: GLshort; r: GLshort; q: GLshort); stdcall;
  2125. glMultiTexCoord4svARB: procedure(target: GLenum; const v: PGLshort); stdcall;
  2126. {$EndIf}
  2127. {$IfDef GL_ARB_occlusion_query}
  2128. glGenQueriesARB: procedure(n: GLsizei; ids: PGLuint); stdcall;
  2129. glDeleteQueriesARB: procedure(n: GLsizei; const ids: PGLuint); stdcall;
  2130. glIsQueryARB: function(id: GLuint): GLboolean; stdcall;
  2131. glBeginQueryARB: procedure(target: GLenum; id: GLuint); stdcall;
  2132. glEndQueryARB: procedure(target: GLenum); stdcall;
  2133. glGetQueryivARB: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2134. glGetQueryObjectivARB: procedure(id: GLuint; pname: GLenum; params: PGLint); stdcall;
  2135. glGetQueryObjectuivARB: procedure(id: GLuint; pname: GLenum; params: PGLuint); stdcall;
  2136. {$EndIf}
  2137. {$IfDef GL_ARB_parallel_shader_compile}
  2138. glMaxShaderCompilerThreadsARB: procedure(count: GLuint); stdcall;
  2139. {$EndIf}
  2140. {$IfDef GL_ARB_point_parameters}
  2141. glPointParameterfARB: procedure(pname: GLenum; param: GLfloat); stdcall;
  2142. glPointParameterfvARB: procedure(pname: GLenum; const params: PGLfloat); stdcall;
  2143. {$EndIf}
  2144. {$IfDef GL_ARB_robustness}
  2145. glGetGraphicsResetStatusARB: function: GLenum; stdcall;
  2146. glGetnTexImageARB: procedure(target: GLenum; level: GLint; format: GLenum; _type: GLenum; bufSize: GLsizei; img: pointer); stdcall;
  2147. glReadnPixelsARB: procedure(x: GLint; y: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; bufSize: GLsizei; data: pointer); stdcall;
  2148. glGetnCompressedTexImageARB: procedure(target: GLenum; lod: GLint; bufSize: GLsizei; img: pointer); stdcall;
  2149. glGetnUniformfvARB: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLfloat); stdcall;
  2150. glGetnUniformivARB: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLint); stdcall;
  2151. glGetnUniformuivARB: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLuint); stdcall;
  2152. glGetnUniformdvARB: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLdouble); stdcall;
  2153. {$IfNDef USE_GLCORE}
  2154. glGetnMapdvARB: procedure(target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLdouble); stdcall;
  2155. glGetnMapfvARB: procedure(target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLfloat); stdcall;
  2156. glGetnMapivARB: procedure(target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLint); stdcall;
  2157. glGetnPixelMapfvARB: procedure(map: GLenum; bufSize: GLsizei; values: PGLfloat); stdcall;
  2158. glGetnPixelMapuivARB: procedure(map: GLenum; bufSize: GLsizei; values: PGLuint); stdcall;
  2159. glGetnPixelMapusvARB: procedure(map: GLenum; bufSize: GLsizei; values: PGLushort); stdcall;
  2160. glGetnPolygonStippleARB: procedure(bufSize: GLsizei; pattern: PGLubyte); stdcall;
  2161. glGetnColorTableARB: procedure(target: GLenum; format: GLenum; _type: GLenum; bufSize: GLsizei; table: pointer); stdcall;
  2162. glGetnConvolutionFilterARB: procedure(target: GLenum; format: GLenum; _type: GLenum; bufSize: GLsizei; image: pointer); stdcall;
  2163. glGetnSeparableFilterARB: procedure(target: GLenum; format: GLenum; _type: GLenum; rowBufSize: GLsizei; row: pointer; columnBufSize: GLsizei; column: pointer; span: pointer); stdcall;
  2164. glGetnHistogramARB: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; bufSize: GLsizei; values: pointer); stdcall;
  2165. glGetnMinmaxARB: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; bufSize: GLsizei; values: pointer); stdcall;
  2166. {$EndIf}
  2167. {$EndIf}
  2168. {$IfDef GL_ARB_sample_locations}
  2169. glFramebufferSampleLocationsfvARB: procedure(target: GLenum; start: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  2170. glNamedFramebufferSampleLocationsfvARB: procedure(framebuffer: GLuint; start: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  2171. glEvaluateDepthValuesARB: procedure; stdcall;
  2172. {$EndIf}
  2173. {$IfDef GL_ARB_sample_shading}
  2174. glMinSampleShadingARB: procedure(value: GLfloat); stdcall;
  2175. {$EndIf}
  2176. {$IfDef GL_ARB_shader_objects}
  2177. glDeleteObjectARB: procedure(obj: GLhandleARB); stdcall;
  2178. glGetHandleARB: function(pname: GLenum): GLhandleARB; stdcall;
  2179. glDetachObjectARB: procedure(containerObj: GLhandleARB; attachedObj: GLhandleARB); stdcall;
  2180. glCreateShaderObjectARB: function(shaderType: GLenum): GLhandleARB; stdcall;
  2181. glShaderSourceARB: procedure(shaderObj: GLhandleARB; count: GLsizei; const _string: PPGLcharARB; const length: PGLint); stdcall;
  2182. glCompileShaderARB: procedure(shaderObj: GLhandleARB); stdcall;
  2183. glCreateProgramObjectARB: function: GLhandleARB; stdcall;
  2184. glAttachObjectARB: procedure(containerObj: GLhandleARB; obj: GLhandleARB); stdcall;
  2185. glLinkProgramARB: procedure(programObj: GLhandleARB); stdcall;
  2186. glUseProgramObjectARB: procedure(programObj: GLhandleARB); stdcall;
  2187. glValidateProgramARB: procedure(programObj: GLhandleARB); stdcall;
  2188. glUniform1fARB: procedure(location: GLint; v0: GLfloat); stdcall;
  2189. glUniform2fARB: procedure(location: GLint; v0: GLfloat; v1: GLfloat); stdcall;
  2190. glUniform3fARB: procedure(location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat); stdcall;
  2191. glUniform4fARB: procedure(location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat; v3: GLfloat); stdcall;
  2192. glUniform1iARB: procedure(location: GLint; v0: GLint); stdcall;
  2193. glUniform2iARB: procedure(location: GLint; v0: GLint; v1: GLint); stdcall;
  2194. glUniform3iARB: procedure(location: GLint; v0: GLint; v1: GLint; v2: GLint); stdcall;
  2195. glUniform4iARB: procedure(location: GLint; v0: GLint; v1: GLint; v2: GLint; v3: GLint); stdcall;
  2196. glUniform1fvARB: procedure(location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  2197. glUniform2fvARB: procedure(location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  2198. glUniform3fvARB: procedure(location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  2199. glUniform4fvARB: procedure(location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  2200. glUniform1ivARB: procedure(location: GLint; count: GLsizei; const value: PGLint); stdcall;
  2201. glUniform2ivARB: procedure(location: GLint; count: GLsizei; const value: PGLint); stdcall;
  2202. glUniform3ivARB: procedure(location: GLint; count: GLsizei; const value: PGLint); stdcall;
  2203. glUniform4ivARB: procedure(location: GLint; count: GLsizei; const value: PGLint); stdcall;
  2204. glUniformMatrix2fvARB: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2205. glUniformMatrix3fvARB: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2206. glUniformMatrix4fvARB: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2207. glGetObjectParameterfvARB: procedure(obj: GLhandleARB; pname: GLenum; params: PGLfloat); stdcall;
  2208. glGetObjectParameterivARB: procedure(obj: GLhandleARB; pname: GLenum; params: PGLint); stdcall;
  2209. glGetInfoLogARB: procedure(obj: GLhandleARB; maxLength: GLsizei; length: PGLsizei; infoLog: PGLcharARB); stdcall;
  2210. glGetAttachedObjectsARB: procedure(containerObj: GLhandleARB; maxCount: GLsizei; count: PGLsizei; obj: PGLhandleARB); stdcall;
  2211. glGetUniformLocationARB: function(programObj: GLhandleARB; const name: PGLcharARB): GLint; stdcall;
  2212. glGetActiveUniformARB: procedure(programObj: GLhandleARB; index: GLuint; maxLength: GLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLcharARB); stdcall;
  2213. glGetUniformfvARB: procedure(programObj: GLhandleARB; location: GLint; params: PGLfloat); stdcall;
  2214. glGetUniformivARB: procedure(programObj: GLhandleARB; location: GLint; params: PGLint); stdcall;
  2215. glGetShaderSourceARB: procedure(obj: GLhandleARB; maxLength: GLsizei; length: PGLsizei; source: PGLcharARB); stdcall;
  2216. {$EndIf}
  2217. {$IfDef GL_ARB_shading_language_include}
  2218. glNamedStringARB: procedure(_type: GLenum; namelen: GLint; const name: PGLchar; stringlen: GLint; const _string: PGLchar); stdcall;
  2219. glDeleteNamedStringARB: procedure(namelen: GLint; const name: PGLchar); stdcall;
  2220. glCompileShaderIncludeARB: procedure(shader: GLuint; count: GLsizei; const path: PPGLchar; const length: PGLint); stdcall;
  2221. glIsNamedStringARB: function(namelen: GLint; const name: PGLchar): GLboolean; stdcall;
  2222. glGetNamedStringARB: procedure(namelen: GLint; const name: PGLchar; bufSize: GLsizei; stringlen: PGLint; _string: PGLchar); stdcall;
  2223. glGetNamedStringivARB: procedure(namelen: GLint; const name: PGLchar; pname: GLenum; params: PGLint); stdcall;
  2224. {$EndIf}
  2225. {$IfDef GL_ARB_sparse_buffer}
  2226. glBufferPageCommitmentARB: procedure(target: GLenum; offset: GLintptr; size: GLsizeiptr; commit: GLboolean); stdcall;
  2227. glNamedBufferPageCommitmentEXT: procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; commit: GLboolean); stdcall;
  2228. glNamedBufferPageCommitmentARB: procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; commit: GLboolean); stdcall;
  2229. {$EndIf}
  2230. {$IfDef GL_ARB_sparse_texture}
  2231. glTexPageCommitmentARB: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; commit: GLboolean); stdcall;
  2232. {$EndIf}
  2233. {$IfDef GL_ARB_texture_buffer_object}
  2234. glTexBufferARB: procedure(target: GLenum; internalformat: GLenum; buffer: GLuint); stdcall;
  2235. {$EndIf}
  2236. {$IfDef GL_ARB_texture_compression}
  2237. glCompressedTexImage3DARB: procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; imageSize: GLsizei; const data: pointer); stdcall;
  2238. glCompressedTexImage2DARB: procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; imageSize: GLsizei; const data: pointer); stdcall;
  2239. glCompressedTexImage1DARB: procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei; const data: pointer); stdcall;
  2240. 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;
  2241. glCompressedTexSubImage2DARB: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const data: pointer); stdcall;
  2242. glCompressedTexSubImage1DARB: procedure(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const data: pointer); stdcall;
  2243. glGetCompressedTexImageARB: procedure(target: GLenum; level: GLint; img: pointer); stdcall;
  2244. {$EndIf}
  2245. {$IfDef GL_ARB_transpose_matrix}
  2246. glLoadTransposeMatrixfARB: procedure(const m: PGLfloat); stdcall;
  2247. glLoadTransposeMatrixdARB: procedure(const m: PGLdouble); stdcall;
  2248. glMultTransposeMatrixfARB: procedure(const m: PGLfloat); stdcall;
  2249. glMultTransposeMatrixdARB: procedure(const m: PGLdouble); stdcall;
  2250. {$EndIf}
  2251. {$IfDef GL_ARB_vertex_blend}
  2252. glWeightbvARB: procedure(size: GLint; const weights: PGLbyte); stdcall;
  2253. glWeightsvARB: procedure(size: GLint; const weights: PGLshort); stdcall;
  2254. glWeightivARB: procedure(size: GLint; const weights: PGLint); stdcall;
  2255. glWeightfvARB: procedure(size: GLint; const weights: PGLfloat); stdcall;
  2256. glWeightdvARB: procedure(size: GLint; const weights: PGLdouble); stdcall;
  2257. glWeightubvARB: procedure(size: GLint; const weights: PGLubyte); stdcall;
  2258. glWeightusvARB: procedure(size: GLint; const weights: PGLushort); stdcall;
  2259. glWeightuivARB: procedure(size: GLint; const weights: PGLuint); stdcall;
  2260. glWeightPointerARB: procedure(size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  2261. glVertexBlendARB: procedure(count: GLint); stdcall;
  2262. {$EndIf}
  2263. {$IfDef GL_ARB_vertex_buffer_object}
  2264. glBindBufferARB: procedure(target: GLenum; buffer: GLuint); stdcall;
  2265. glDeleteBuffersARB: procedure(n: GLsizei; const buffers: PGLuint); stdcall;
  2266. glGenBuffersARB: procedure(n: GLsizei; buffers: PGLuint); stdcall;
  2267. glIsBufferARB: function(buffer: GLuint): GLboolean; stdcall;
  2268. glBufferDataARB: procedure(target: GLenum; size: GLsizeiptrARB; const data: pointer; usage: GLenum); stdcall;
  2269. glBufferSubDataARB: procedure(target: GLenum; offset: GLintptrARB; size: GLsizeiptrARB; const data: pointer); stdcall;
  2270. glGetBufferSubDataARB: procedure(target: GLenum; offset: GLintptrARB; size: GLsizeiptrARB; data: pointer); stdcall;
  2271. glMapBufferARB: function(target: GLenum; access: GLenum): pointer; stdcall;
  2272. glUnmapBufferARB: function(target: GLenum): GLboolean; stdcall;
  2273. glGetBufferParameterivARB: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2274. glGetBufferPointervARB: procedure(target: GLenum; pname: GLenum; params:Ppointer); stdcall;
  2275. {$EndIf}
  2276. {$IfDef GL_ARB_vertex_program}
  2277. glVertexAttrib1dARB: procedure(index: GLuint; x: GLdouble); stdcall;
  2278. glVertexAttrib1dvARB: procedure(index: GLuint; const v: PGLdouble); stdcall;
  2279. glVertexAttrib1fARB: procedure(index: GLuint; x: GLfloat); stdcall;
  2280. glVertexAttrib1fvARB: procedure(index: GLuint; const v: PGLfloat); stdcall;
  2281. glVertexAttrib1sARB: procedure(index: GLuint; x: GLshort); stdcall;
  2282. glVertexAttrib1svARB: procedure(index: GLuint; const v: PGLshort); stdcall;
  2283. glVertexAttrib2dARB: procedure(index: GLuint; x: GLdouble; y: GLdouble); stdcall;
  2284. glVertexAttrib2dvARB: procedure(index: GLuint; const v: PGLdouble); stdcall;
  2285. glVertexAttrib2fARB: procedure(index: GLuint; x: GLfloat; y: GLfloat); stdcall;
  2286. glVertexAttrib2fvARB: procedure(index: GLuint; const v: PGLfloat); stdcall;
  2287. glVertexAttrib2sARB: procedure(index: GLuint; x: GLshort; y: GLshort); stdcall;
  2288. glVertexAttrib2svARB: procedure(index: GLuint; const v: PGLshort); stdcall;
  2289. glVertexAttrib3dARB: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  2290. glVertexAttrib3dvARB: procedure(index: GLuint; const v: PGLdouble); stdcall;
  2291. glVertexAttrib3fARB: procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  2292. glVertexAttrib3fvARB: procedure(index: GLuint; const v: PGLfloat); stdcall;
  2293. glVertexAttrib3sARB: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort); stdcall;
  2294. glVertexAttrib3svARB: procedure(index: GLuint; const v: PGLshort); stdcall;
  2295. glVertexAttrib4NbvARB: procedure(index: GLuint; const v: PGLbyte); stdcall;
  2296. glVertexAttrib4NivARB: procedure(index: GLuint; const v: PGLint); stdcall;
  2297. glVertexAttrib4NsvARB: procedure(index: GLuint; const v: PGLshort); stdcall;
  2298. glVertexAttrib4NubARB: procedure(index: GLuint; x: GLubyte; y: GLubyte; z: GLubyte; w: GLubyte); stdcall;
  2299. glVertexAttrib4NubvARB: procedure(index: GLuint; const v: PGLubyte); stdcall;
  2300. glVertexAttrib4NuivARB: procedure(index: GLuint; const v: PGLuint); stdcall;
  2301. glVertexAttrib4NusvARB: procedure(index: GLuint; const v: PGLushort); stdcall;
  2302. glVertexAttrib4bvARB: procedure(index: GLuint; const v: PGLbyte); stdcall;
  2303. glVertexAttrib4dARB: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  2304. glVertexAttrib4dvARB: procedure(index: GLuint; const v: PGLdouble); stdcall;
  2305. glVertexAttrib4fARB: procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  2306. glVertexAttrib4fvARB: procedure(index: GLuint; const v: PGLfloat); stdcall;
  2307. glVertexAttrib4ivARB: procedure(index: GLuint; const v: PGLint); stdcall;
  2308. glVertexAttrib4sARB: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort; w: GLshort); stdcall;
  2309. glVertexAttrib4svARB: procedure(index: GLuint; const v: PGLshort); stdcall;
  2310. glVertexAttrib4ubvARB: procedure(index: GLuint; const v: PGLubyte); stdcall;
  2311. glVertexAttrib4uivARB: procedure(index: GLuint; const v: PGLuint); stdcall;
  2312. glVertexAttrib4usvARB: procedure(index: GLuint; const v: PGLushort); stdcall;
  2313. glVertexAttribPointerARB: procedure(index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei; const _pointer: pointer); stdcall;
  2314. glEnableVertexAttribArrayARB: procedure(index: GLuint); stdcall;
  2315. glDisableVertexAttribArrayARB: procedure(index: GLuint); stdcall;
  2316. glGetVertexAttribdvARB: procedure(index: GLuint; pname: GLenum; params: PGLdouble); stdcall;
  2317. glGetVertexAttribfvARB: procedure(index: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  2318. glGetVertexAttribivARB: procedure(index: GLuint; pname: GLenum; params: PGLint); stdcall;
  2319. glGetVertexAttribPointervARB: procedure(index: GLuint; pname: GLenum; pointer:Ppointer); stdcall;
  2320. {$EndIf}
  2321. {$IfDef GL_ARB_vertex_shader}
  2322. glBindAttribLocationARB: procedure(programObj: GLhandleARB; index: GLuint; const name: PGLcharARB); stdcall;
  2323. glGetActiveAttribARB: procedure(programObj: GLhandleARB; index: GLuint; maxLength: GLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLcharARB); stdcall;
  2324. glGetAttribLocationARB: function(programObj: GLhandleARB; const name: PGLcharARB): GLint; stdcall;
  2325. {$EndIf}
  2326. {$IfDef GL_ARB_viewport_array}
  2327. glDepthRangeArraydvNV: procedure(first: GLuint; count: GLsizei; const v: PGLdouble); stdcall;
  2328. glDepthRangeIndexeddNV: procedure(index: GLuint; n: GLdouble; f: GLdouble); stdcall;
  2329. {$EndIf}
  2330. {$IfDef GL_ARB_window_pos}
  2331. glWindowPos2dARB: procedure(x: GLdouble; y: GLdouble); stdcall;
  2332. glWindowPos2dvARB: procedure(const v: PGLdouble); stdcall;
  2333. glWindowPos2fARB: procedure(x: GLfloat; y: GLfloat); stdcall;
  2334. glWindowPos2fvARB: procedure(const v: PGLfloat); stdcall;
  2335. glWindowPos2iARB: procedure(x: GLint; y: GLint); stdcall;
  2336. glWindowPos2ivARB: procedure(const v: PGLint); stdcall;
  2337. glWindowPos2sARB: procedure(x: GLshort; y: GLshort); stdcall;
  2338. glWindowPos2svARB: procedure(const v: PGLshort); stdcall;
  2339. glWindowPos3dARB: procedure(x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  2340. glWindowPos3dvARB: procedure(const v: PGLdouble); stdcall;
  2341. glWindowPos3fARB: procedure(x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  2342. glWindowPos3fvARB: procedure(const v: PGLfloat); stdcall;
  2343. glWindowPos3iARB: procedure(x: GLint; y: GLint; z: GLint); stdcall;
  2344. glWindowPos3ivARB: procedure(const v: PGLint); stdcall;
  2345. glWindowPos3sARB: procedure(x: GLshort; y: GLshort; z: GLshort); stdcall;
  2346. glWindowPos3svARB: procedure(const v: PGLshort); stdcall;
  2347. {$EndIf}
  2348. {$IfDef GL_KHR_blend_equation_advanced}
  2349. glBlendBarrierKHR: procedure; stdcall;
  2350. {$EndIf}
  2351. {$IfDef GL_KHR_parallel_shader_compile}
  2352. glMaxShaderCompilerThreadsKHR: procedure(count: GLuint); stdcall;
  2353. {$EndIf}
  2354. {$IfDef GL_OES_byte_coordinates}
  2355. glMultiTexCoord1bOES: procedure(texture: GLenum; s: GLbyte); stdcall;
  2356. glMultiTexCoord1bvOES: procedure(texture: GLenum; const coords: PGLbyte); stdcall;
  2357. glMultiTexCoord2bOES: procedure(texture: GLenum; s: GLbyte; t: GLbyte); stdcall;
  2358. glMultiTexCoord2bvOES: procedure(texture: GLenum; const coords: PGLbyte); stdcall;
  2359. glMultiTexCoord3bOES: procedure(texture: GLenum; s: GLbyte; t: GLbyte; r: GLbyte); stdcall;
  2360. glMultiTexCoord3bvOES: procedure(texture: GLenum; const coords: PGLbyte); stdcall;
  2361. glMultiTexCoord4bOES: procedure(texture: GLenum; s: GLbyte; t: GLbyte; r: GLbyte; q: GLbyte); stdcall;
  2362. glMultiTexCoord4bvOES: procedure(texture: GLenum; const coords: PGLbyte); stdcall;
  2363. glTexCoord1bOES: procedure(s: GLbyte); stdcall;
  2364. glTexCoord1bvOES: procedure(const coords: PGLbyte); stdcall;
  2365. glTexCoord2bOES: procedure(s: GLbyte; t: GLbyte); stdcall;
  2366. glTexCoord2bvOES: procedure(const coords: PGLbyte); stdcall;
  2367. glTexCoord3bOES: procedure(s: GLbyte; t: GLbyte; r: GLbyte); stdcall;
  2368. glTexCoord3bvOES: procedure(const coords: PGLbyte); stdcall;
  2369. glTexCoord4bOES: procedure(s: GLbyte; t: GLbyte; r: GLbyte; q: GLbyte); stdcall;
  2370. glTexCoord4bvOES: procedure(const coords: PGLbyte); stdcall;
  2371. glVertex2bOES: procedure(x: GLbyte; y: GLbyte); stdcall;
  2372. glVertex2bvOES: procedure(const coords: PGLbyte); stdcall;
  2373. glVertex3bOES: procedure(x: GLbyte; y: GLbyte; z: GLbyte); stdcall;
  2374. glVertex3bvOES: procedure(const coords: PGLbyte); stdcall;
  2375. glVertex4bOES: procedure(x: GLbyte; y: GLbyte; z: GLbyte; w: GLbyte); stdcall;
  2376. glVertex4bvOES: procedure(const coords: PGLbyte); stdcall;
  2377. {$EndIf}
  2378. {$IfDef GL_OES_fixed_point}
  2379. glAlphaFuncxOES: procedure(func: GLenum; ref: GLfixed); stdcall;
  2380. glClearColorxOES: procedure(red: GLfixed; green: GLfixed; blue: GLfixed; alpha: GLfixed); stdcall;
  2381. glClearDepthxOES: procedure(depth: GLfixed); stdcall;
  2382. glClipPlanexOES: procedure(plane: GLenum; const equation: PGLfixed); stdcall;
  2383. glColor4xOES: procedure(red: GLfixed; green: GLfixed; blue: GLfixed; alpha: GLfixed); stdcall;
  2384. glDepthRangexOES: procedure(n: GLfixed; f: GLfixed); stdcall;
  2385. glFogxOES: procedure(pname: GLenum; param: GLfixed); stdcall;
  2386. glFogxvOES: procedure(pname: GLenum; const param: PGLfixed); stdcall;
  2387. glFrustumxOES: procedure(l: GLfixed; r: GLfixed; b: GLfixed; t: GLfixed; n: GLfixed; f: GLfixed); stdcall;
  2388. glGetClipPlanexOES: procedure(plane: GLenum; equation: PGLfixed); stdcall;
  2389. glGetFixedvOES: procedure(pname: GLenum; params: PGLfixed); stdcall;
  2390. glGetTexEnvxvOES: procedure(target: GLenum; pname: GLenum; params: PGLfixed); stdcall;
  2391. glGetTexParameterxvOES: procedure(target: GLenum; pname: GLenum; params: PGLfixed); stdcall;
  2392. glLightModelxOES: procedure(pname: GLenum; param: GLfixed); stdcall;
  2393. glLightModelxvOES: procedure(pname: GLenum; const param: PGLfixed); stdcall;
  2394. glLightxOES: procedure(light: GLenum; pname: GLenum; param: GLfixed); stdcall;
  2395. glLightxvOES: procedure(light: GLenum; pname: GLenum; const params: PGLfixed); stdcall;
  2396. glLineWidthxOES: procedure(width: GLfixed); stdcall;
  2397. glLoadMatrixxOES: procedure(const m: PGLfixed); stdcall;
  2398. glMaterialxOES: procedure(face: GLenum; pname: GLenum; param: GLfixed); stdcall;
  2399. glMaterialxvOES: procedure(face: GLenum; pname: GLenum; const param: PGLfixed); stdcall;
  2400. glMultMatrixxOES: procedure(const m: PGLfixed); stdcall;
  2401. glMultiTexCoord4xOES: procedure(texture: GLenum; s: GLfixed; t: GLfixed; r: GLfixed; q: GLfixed); stdcall;
  2402. glNormal3xOES: procedure(nx: GLfixed; ny: GLfixed; nz: GLfixed); stdcall;
  2403. glOrthoxOES: procedure(l: GLfixed; r: GLfixed; b: GLfixed; t: GLfixed; n: GLfixed; f: GLfixed); stdcall;
  2404. glPointParameterxvOES: procedure(pname: GLenum; const params: PGLfixed); stdcall;
  2405. glPointSizexOES: procedure(size: GLfixed); stdcall;
  2406. glPolygonOffsetxOES: procedure(factor: GLfixed; units: GLfixed); stdcall;
  2407. glRotatexOES: procedure(angle: GLfixed; x: GLfixed; y: GLfixed; z: GLfixed); stdcall;
  2408. glScalexOES: procedure(x: GLfixed; y: GLfixed; z: GLfixed); stdcall;
  2409. glTexEnvxOES: procedure(target: GLenum; pname: GLenum; param: GLfixed); stdcall;
  2410. glTexEnvxvOES: procedure(target: GLenum; pname: GLenum; const params: PGLfixed); stdcall;
  2411. glTexParameterxOES: procedure(target: GLenum; pname: GLenum; param: GLfixed); stdcall;
  2412. glTexParameterxvOES: procedure(target: GLenum; pname: GLenum; const params: PGLfixed); stdcall;
  2413. glTranslatexOES: procedure(x: GLfixed; y: GLfixed; z: GLfixed); stdcall;
  2414. glAccumxOES: procedure(op: GLenum; value: GLfixed); stdcall;
  2415. glBitmapxOES: procedure(width: GLsizei; height: GLsizei; xorig: GLfixed; yorig: GLfixed; xmove: GLfixed; ymove: GLfixed; const bitmap: PGLubyte); stdcall;
  2416. glBlendColorxOES: procedure(red: GLfixed; green: GLfixed; blue: GLfixed; alpha: GLfixed); stdcall;
  2417. glClearAccumxOES: procedure(red: GLfixed; green: GLfixed; blue: GLfixed; alpha: GLfixed); stdcall;
  2418. glColor3xOES: procedure(red: GLfixed; green: GLfixed; blue: GLfixed); stdcall;
  2419. glColor3xvOES: procedure(const components: PGLfixed); stdcall;
  2420. glColor4xvOES: procedure(const components: PGLfixed); stdcall;
  2421. glConvolutionParameterxOES: procedure(target: GLenum; pname: GLenum; param: GLfixed); stdcall;
  2422. glConvolutionParameterxvOES: procedure(target: GLenum; pname: GLenum; const params: PGLfixed); stdcall;
  2423. glEvalCoord1xOES: procedure(u: GLfixed); stdcall;
  2424. glEvalCoord1xvOES: procedure(const coords: PGLfixed); stdcall;
  2425. glEvalCoord2xOES: procedure(u: GLfixed; v: GLfixed); stdcall;
  2426. glEvalCoord2xvOES: procedure(const coords: PGLfixed); stdcall;
  2427. glFeedbackBufferxOES: procedure(n: GLsizei; _type: GLenum; const buffer: PGLfixed); stdcall;
  2428. glGetConvolutionParameterxvOES: procedure(target: GLenum; pname: GLenum; params: PGLfixed); stdcall;
  2429. glGetHistogramParameterxvOES: procedure(target: GLenum; pname: GLenum; params: PGLfixed); stdcall;
  2430. glGetLightxOES: procedure(light: GLenum; pname: GLenum; params: PGLfixed); stdcall;
  2431. glGetMapxvOES: procedure(target: GLenum; query: GLenum; v: PGLfixed); stdcall;
  2432. glGetMaterialxOES: procedure(face: GLenum; pname: GLenum; param: GLfixed); stdcall;
  2433. glGetPixelMapxv: procedure(map: GLenum; size: GLint; values: PGLfixed); stdcall;
  2434. glGetTexGenxvOES: procedure(coord: GLenum; pname: GLenum; params: PGLfixed); stdcall;
  2435. glGetTexLevelParameterxvOES: procedure(target: GLenum; level: GLint; pname: GLenum; params: PGLfixed); stdcall;
  2436. glIndexxOES: procedure(component: GLfixed); stdcall;
  2437. glIndexxvOES: procedure(const component: PGLfixed); stdcall;
  2438. glLoadTransposeMatrixxOES: procedure(const m: PGLfixed); stdcall;
  2439. glMap1xOES: procedure(target: GLenum; u1: GLfixed; u2: GLfixed; stride: GLint; order: GLint; points: GLfixed); stdcall;
  2440. glMap2xOES: procedure(target: GLenum; u1: GLfixed; u2: GLfixed; ustride: GLint; uorder: GLint; v1: GLfixed; v2: GLfixed; vstride: GLint; vorder: GLint; points: GLfixed); stdcall;
  2441. glMapGrid1xOES: procedure(n: GLint; u1: GLfixed; u2: GLfixed); stdcall;
  2442. glMapGrid2xOES: procedure(n: GLint; u1: GLfixed; u2: GLfixed; v1: GLfixed; v2: GLfixed); stdcall;
  2443. glMultTransposeMatrixxOES: procedure(const m: PGLfixed); stdcall;
  2444. glMultiTexCoord1xOES: procedure(texture: GLenum; s: GLfixed); stdcall;
  2445. glMultiTexCoord1xvOES: procedure(texture: GLenum; const coords: PGLfixed); stdcall;
  2446. glMultiTexCoord2xOES: procedure(texture: GLenum; s: GLfixed; t: GLfixed); stdcall;
  2447. glMultiTexCoord2xvOES: procedure(texture: GLenum; const coords: PGLfixed); stdcall;
  2448. glMultiTexCoord3xOES: procedure(texture: GLenum; s: GLfixed; t: GLfixed; r: GLfixed); stdcall;
  2449. glMultiTexCoord3xvOES: procedure(texture: GLenum; const coords: PGLfixed); stdcall;
  2450. glMultiTexCoord4xvOES: procedure(texture: GLenum; const coords: PGLfixed); stdcall;
  2451. glNormal3xvOES: procedure(const coords: PGLfixed); stdcall;
  2452. glPassThroughxOES: procedure(token: GLfixed); stdcall;
  2453. glPixelMapx: procedure(map: GLenum; size: GLint; const values: PGLfixed); stdcall;
  2454. glPixelStorex: procedure(pname: GLenum; param: GLfixed); stdcall;
  2455. glPixelTransferxOES: procedure(pname: GLenum; param: GLfixed); stdcall;
  2456. glPixelZoomxOES: procedure(xfactor: GLfixed; yfactor: GLfixed); stdcall;
  2457. glPrioritizeTexturesxOES: procedure(n: GLsizei; const textures: PGLuint; const priorities: PGLfixed); stdcall;
  2458. glRasterPos2xOES: procedure(x: GLfixed; y: GLfixed); stdcall;
  2459. glRasterPos2xvOES: procedure(const coords: PGLfixed); stdcall;
  2460. glRasterPos3xOES: procedure(x: GLfixed; y: GLfixed; z: GLfixed); stdcall;
  2461. glRasterPos3xvOES: procedure(const coords: PGLfixed); stdcall;
  2462. glRasterPos4xOES: procedure(x: GLfixed; y: GLfixed; z: GLfixed; w: GLfixed); stdcall;
  2463. glRasterPos4xvOES: procedure(const coords: PGLfixed); stdcall;
  2464. glRectxOES: procedure(x1: GLfixed; y1: GLfixed; x2: GLfixed; y2: GLfixed); stdcall;
  2465. glRectxvOES: procedure(const v1: PGLfixed; const v2: PGLfixed); stdcall;
  2466. glTexCoord1xOES: procedure(s: GLfixed); stdcall;
  2467. glTexCoord1xvOES: procedure(const coords: PGLfixed); stdcall;
  2468. glTexCoord2xOES: procedure(s: GLfixed; t: GLfixed); stdcall;
  2469. glTexCoord2xvOES: procedure(const coords: PGLfixed); stdcall;
  2470. glTexCoord3xOES: procedure(s: GLfixed; t: GLfixed; r: GLfixed); stdcall;
  2471. glTexCoord3xvOES: procedure(const coords: PGLfixed); stdcall;
  2472. glTexCoord4xOES: procedure(s: GLfixed; t: GLfixed; r: GLfixed; q: GLfixed); stdcall;
  2473. glTexCoord4xvOES: procedure(const coords: PGLfixed); stdcall;
  2474. glTexGenxOES: procedure(coord: GLenum; pname: GLenum; param: GLfixed); stdcall;
  2475. glTexGenxvOES: procedure(coord: GLenum; pname: GLenum; const params: PGLfixed); stdcall;
  2476. glVertex2xOES: procedure(x: GLfixed); stdcall;
  2477. glVertex2xvOES: procedure(const coords: PGLfixed); stdcall;
  2478. glVertex3xOES: procedure(x: GLfixed; y: GLfixed); stdcall;
  2479. glVertex3xvOES: procedure(const coords: PGLfixed); stdcall;
  2480. glVertex4xOES: procedure(x: GLfixed; y: GLfixed; z: GLfixed); stdcall;
  2481. glVertex4xvOES: procedure(const coords: PGLfixed); stdcall;
  2482. {$EndIf}
  2483. {$IfDef GL_OES_query_matrix}
  2484. glQueryMatrixxOES: function(mantissa: PGLfixed; exponent: PGLint): GLbitfield; stdcall;
  2485. {$EndIf}
  2486. {$IfDef GL_OES_single_precision}
  2487. glClearDepthfOES: procedure(depth: GLclampf); stdcall;
  2488. glClipPlanefOES: procedure(plane: GLenum; const equation: PGLfloat); stdcall;
  2489. glDepthRangefOES: procedure(n: GLclampf; f: GLclampf); stdcall;
  2490. glFrustumfOES: procedure(l: GLfloat; r: GLfloat; b: GLfloat; t: GLfloat; n: GLfloat; f: GLfloat); stdcall;
  2491. glGetClipPlanefOES: procedure(plane: GLenum; equation: PGLfloat); stdcall;
  2492. glOrthofOES: procedure(l: GLfloat; r: GLfloat; b: GLfloat; t: GLfloat; n: GLfloat; f: GLfloat); stdcall;
  2493. {$EndIf}
  2494. {$IfDef GL_3DFX_tbuffer}
  2495. glTbufferMask3DFX: procedure(mask: GLuint); stdcall;
  2496. {$EndIf}
  2497. {$IfDef GL_AMD_debug_output}
  2498. glDebugMessageEnableAMD: procedure(category: GLenum; severity: GLenum; count: GLsizei; const ids: PGLuint; enabled: GLboolean); stdcall;
  2499. glDebugMessageInsertAMD: procedure(category: GLenum; severity: GLenum; id: GLuint; length: GLsizei; const buf: PGLchar); stdcall;
  2500. glDebugMessageCallbackAMD: procedure(callback: GLDEBUGPROCAMD; userParam: pointer); stdcall;
  2501. glGetDebugMessageLogAMD: function(count: GLuint; bufSize: GLsizei; categories: PGLenum; severities: PGLuint; ids: PGLuint; lengths: PGLsizei; _message: PGLchar): GLuint; stdcall;
  2502. {$EndIf}
  2503. {$IfDef GL_AMD_draw_buffers_blend}
  2504. glBlendFuncIndexedAMD: procedure(buf: GLuint; src: GLenum; dst: GLenum); stdcall;
  2505. glBlendFuncSeparateIndexedAMD: procedure(buf: GLuint; srcRGB: GLenum; dstRGB: GLenum; srcAlpha: GLenum; dstAlpha: GLenum); stdcall;
  2506. glBlendEquationIndexedAMD: procedure(buf: GLuint; mode: GLenum); stdcall;
  2507. glBlendEquationSeparateIndexedAMD: procedure(buf: GLuint; modeRGB: GLenum; modeAlpha: GLenum); stdcall;
  2508. {$EndIf}
  2509. {$IfDef GL_AMD_framebuffer_multisample_advanced}
  2510. glRenderbufferStorageMultisampleAdvancedAMD: procedure(target: GLenum; samples: GLsizei; storageSamples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  2511. glNamedRenderbufferStorageMultisampleAdvancedAMD: procedure(renderbuffer: GLuint; samples: GLsizei; storageSamples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  2512. {$EndIf}
  2513. {$IfDef GL_AMD_framebuffer_sample_positions}
  2514. glFramebufferSamplePositionsfvAMD: procedure(target: GLenum; numsamples: GLuint; pixelindex: GLuint; const values: PGLfloat); stdcall;
  2515. glNamedFramebufferSamplePositionsfvAMD: procedure(framebuffer: GLuint; numsamples: GLuint; pixelindex: GLuint; const values: PGLfloat); stdcall;
  2516. glGetFramebufferParameterfvAMD: procedure(target: GLenum; pname: GLenum; numsamples: GLuint; pixelindex: GLuint; size: GLsizei; values: PGLfloat); stdcall;
  2517. glGetNamedFramebufferParameterfvAMD: procedure(framebuffer: GLuint; pname: GLenum; numsamples: GLuint; pixelindex: GLuint; size: GLsizei; values: PGLfloat); stdcall;
  2518. {$EndIf}
  2519. {$If defined(GL_AMD_gpu_shader_int64) or defined(GL_NV_gpu_shader5)}
  2520. glUniform1i64NV: procedure(location: GLint; x: GLint64EXT); stdcall;
  2521. glUniform2i64NV: procedure(location: GLint; x: GLint64EXT; y: GLint64EXT); stdcall;
  2522. glUniform3i64NV: procedure(location: GLint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT); stdcall;
  2523. glUniform4i64NV: procedure(location: GLint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT; w: GLint64EXT); stdcall;
  2524. glUniform1i64vNV: procedure(location: GLint; count: GLsizei; const value: PGLint64EXT); stdcall;
  2525. glUniform2i64vNV: procedure(location: GLint; count: GLsizei; const value: PGLint64EXT); stdcall;
  2526. glUniform3i64vNV: procedure(location: GLint; count: GLsizei; const value: PGLint64EXT); stdcall;
  2527. glUniform4i64vNV: procedure(location: GLint; count: GLsizei; const value: PGLint64EXT); stdcall;
  2528. glUniform1ui64NV: procedure(location: GLint; x: GLuint64EXT); stdcall;
  2529. glUniform2ui64NV: procedure(location: GLint; x: GLuint64EXT; y: GLuint64EXT); stdcall;
  2530. glUniform3ui64NV: procedure(location: GLint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT); stdcall;
  2531. glUniform4ui64NV: procedure(location: GLint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT; w: GLuint64EXT); stdcall;
  2532. glUniform1ui64vNV: procedure(location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  2533. glUniform2ui64vNV: procedure(location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  2534. glUniform3ui64vNV: procedure(location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  2535. glUniform4ui64vNV: procedure(location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  2536. glGetUniformi64vNV: procedure(_program: GLuint; location: GLint; params: PGLint64EXT); stdcall;
  2537. glProgramUniform1i64NV: procedure(_program: GLuint; location: GLint; x: GLint64EXT); stdcall;
  2538. glProgramUniform2i64NV: procedure(_program: GLuint; location: GLint; x: GLint64EXT; y: GLint64EXT); stdcall;
  2539. glProgramUniform3i64NV: procedure(_program: GLuint; location: GLint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT); stdcall;
  2540. glProgramUniform4i64NV: procedure(_program: GLuint; location: GLint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT; w: GLint64EXT); stdcall;
  2541. glProgramUniform1i64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint64EXT); stdcall;
  2542. glProgramUniform2i64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint64EXT); stdcall;
  2543. glProgramUniform3i64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint64EXT); stdcall;
  2544. glProgramUniform4i64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint64EXT); stdcall;
  2545. glProgramUniform1ui64NV: procedure(_program: GLuint; location: GLint; x: GLuint64EXT); stdcall;
  2546. glProgramUniform2ui64NV: procedure(_program: GLuint; location: GLint; x: GLuint64EXT; y: GLuint64EXT); stdcall;
  2547. glProgramUniform3ui64NV: procedure(_program: GLuint; location: GLint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT); stdcall;
  2548. glProgramUniform4ui64NV: procedure(_program: GLuint; location: GLint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT; w: GLuint64EXT); stdcall;
  2549. glProgramUniform1ui64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  2550. glProgramUniform2ui64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  2551. glProgramUniform3ui64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  2552. glProgramUniform4ui64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  2553. {$IfEnd}
  2554. {$If defined(GL_AMD_gpu_shader_int64) or defined(GL_NV_shader_buffer_load)}
  2555. glGetUniformui64vNV: procedure(_program: GLuint; location: GLint; params: PGLuint64EXT); stdcall;
  2556. {$IfEnd}
  2557. {$IfDef GL_AMD_interleaved_elements}
  2558. glVertexAttribParameteriAMD: procedure(index: GLuint; pname: GLenum; param: GLint); stdcall;
  2559. {$EndIf}
  2560. {$IfDef GL_AMD_multi_draw_indirect}
  2561. glMultiDrawArraysIndirectAMD: procedure(mode: GLenum; const indirect: pointer; primcount: GLsizei; stride: GLsizei); stdcall;
  2562. glMultiDrawElementsIndirectAMD: procedure(mode: GLenum; _type: GLenum; const indirect: pointer; primcount: GLsizei; stride: GLsizei); stdcall;
  2563. {$EndIf}
  2564. {$IfDef GL_AMD_name_gen_delete}
  2565. glGenNamesAMD: procedure(identifier: GLenum; num: GLuint; names: PGLuint); stdcall;
  2566. glDeleteNamesAMD: procedure(identifier: GLenum; num: GLuint; const names: PGLuint); stdcall;
  2567. glIsNameAMD: function(identifier: GLenum; name: GLuint): GLboolean; stdcall;
  2568. {$EndIf}
  2569. {$IfDef GL_AMD_occlusion_query_event}
  2570. glQueryObjectParameteruiAMD: procedure(target: GLenum; id: GLuint; pname: GLenum; param: GLuint); stdcall;
  2571. {$EndIf}
  2572. {$IfDef GL_AMD_performance_monitor}
  2573. glGetPerfMonitorGroupsAMD: procedure(numGroups: PGLint; groupsSize: GLsizei; groups: PGLuint); stdcall;
  2574. glGetPerfMonitorCountersAMD: procedure(group: GLuint; numCounters: PGLint; maxActiveCounters: PGLint; counterSize: GLsizei; counters: PGLuint); stdcall;
  2575. glGetPerfMonitorGroupStringAMD: procedure(group: GLuint; bufSize: GLsizei; length: PGLsizei; groupString: PGLchar); stdcall;
  2576. glGetPerfMonitorCounterStringAMD: procedure(group: GLuint; counter: GLuint; bufSize: GLsizei; length: PGLsizei; counterString: PGLchar); stdcall;
  2577. glGetPerfMonitorCounterInfoAMD: procedure(group: GLuint; counter: GLuint; pname: GLenum; data: pointer); stdcall;
  2578. glGenPerfMonitorsAMD: procedure(n: GLsizei; monitors: PGLuint); stdcall;
  2579. glDeletePerfMonitorsAMD: procedure(n: GLsizei; monitors: PGLuint); stdcall;
  2580. glSelectPerfMonitorCountersAMD: procedure(monitor: GLuint; enable: GLboolean; group: GLuint; numCounters: GLint; counterList: PGLuint); stdcall;
  2581. glBeginPerfMonitorAMD: procedure(monitor: GLuint); stdcall;
  2582. glEndPerfMonitorAMD: procedure(monitor: GLuint); stdcall;
  2583. glGetPerfMonitorCounterDataAMD: procedure(monitor: GLuint; pname: GLenum; dataSize: GLsizei; data: PGLuint; bytesWritten: PGLint); stdcall;
  2584. {$EndIf}
  2585. {$IfDef GL_AMD_sample_positions}
  2586. glSetMultisamplefvAMD: procedure(pname: GLenum; index: GLuint; const val: PGLfloat); stdcall;
  2587. {$EndIf}
  2588. {$IfDef GL_AMD_sparse_texture}
  2589. glTexStorageSparseAMD: procedure(target: GLenum; internalFormat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; layers: GLsizei; flags: GLbitfield); stdcall;
  2590. glTextureStorageSparseAMD: procedure(texture: GLuint; target: GLenum; internalFormat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; layers: GLsizei; flags: GLbitfield); stdcall;
  2591. {$EndIf}
  2592. {$IfDef GL_AMD_stencil_operation_extended}
  2593. glStencilOpValueAMD: procedure(face: GLenum; value: GLuint); stdcall;
  2594. {$EndIf}
  2595. {$IfDef GL_AMD_vertex_shader_tessellator}
  2596. glTessellationFactorAMD: procedure(factor: GLfloat); stdcall;
  2597. glTessellationModeAMD: procedure(mode: GLenum); stdcall;
  2598. {$EndIf}
  2599. {$IfDef GL_APPLE_element_array}
  2600. glElementPointerAPPLE: procedure(_type: GLenum; const _pointer: pointer); stdcall;
  2601. glDrawElementArrayAPPLE: procedure(mode: GLenum; first: GLint; count: GLsizei); stdcall;
  2602. glDrawRangeElementArrayAPPLE: procedure(mode: GLenum; start: GLuint; _end: GLuint; first: GLint; count: GLsizei); stdcall;
  2603. glMultiDrawElementArrayAPPLE: procedure(mode: GLenum; const first: PGLint; const count: PGLsizei; primcount: GLsizei); stdcall;
  2604. glMultiDrawRangeElementArrayAPPLE: procedure(mode: GLenum; start: GLuint; _end: GLuint; const first: PGLint; const count: PGLsizei; primcount: GLsizei); stdcall;
  2605. {$EndIf}
  2606. {$IfDef GL_APPLE_fence}
  2607. glGenFencesAPPLE: procedure(n: GLsizei; fences: PGLuint); stdcall;
  2608. glDeleteFencesAPPLE: procedure(n: GLsizei; const fences: PGLuint); stdcall;
  2609. glSetFenceAPPLE: procedure(fence: GLuint); stdcall;
  2610. glIsFenceAPPLE: function(fence: GLuint): GLboolean; stdcall;
  2611. glTestFenceAPPLE: function(fence: GLuint): GLboolean; stdcall;
  2612. glFinishFenceAPPLE: procedure(fence: GLuint); stdcall;
  2613. glTestObjectAPPLE: function(_object: GLenum; name: GLuint): GLboolean; stdcall;
  2614. glFinishObjectAPPLE: procedure(_object: GLenum; name: GLint); stdcall;
  2615. {$EndIf}
  2616. {$IfDef GL_APPLE_flush_buffer_range}
  2617. glBufferParameteriAPPLE: procedure(target: GLenum; pname: GLenum; param: GLint); stdcall;
  2618. glFlushMappedBufferRangeAPPLE: procedure(target: GLenum; offset: GLintptr; size: GLsizeiptr); stdcall;
  2619. {$EndIf}
  2620. {$IfDef GL_APPLE_object_purgeable}
  2621. glObjectPurgeableAPPLE: function(objectType: GLenum; name: GLuint; option: GLenum): GLenum; stdcall;
  2622. glObjectUnpurgeableAPPLE: function(objectType: GLenum; name: GLuint; option: GLenum): GLenum; stdcall;
  2623. glGetObjectParameterivAPPLE: procedure(objectType: GLenum; name: GLuint; pname: GLenum; params: PGLint); stdcall;
  2624. {$EndIf}
  2625. {$IfDef GL_APPLE_texture_range}
  2626. glTextureRangeAPPLE: procedure(target: GLenum; length: GLsizei; const _pointer: pointer); stdcall;
  2627. glGetTexParameterPointervAPPLE: procedure(target: GLenum; pname: GLenum; params:Ppointer); stdcall;
  2628. {$EndIf}
  2629. {$IfDef GL_APPLE_vertex_array_object}
  2630. glBindVertexArrayAPPLE: procedure(_array: GLuint); stdcall;
  2631. glDeleteVertexArraysAPPLE: procedure(n: GLsizei; const arrays: PGLuint); stdcall;
  2632. glGenVertexArraysAPPLE: procedure(n: GLsizei; arrays: PGLuint); stdcall;
  2633. functionglIsVertexArrayAPPLE: function(_array: GLuint): GLboolean; stdcall;
  2634. {$EndIf}
  2635. {$IfDef GL_APPLE_vertex_array_range}
  2636. glVertexArrayRangeAPPLE: procedure(length: GLsizei; pointer: pointer); stdcall;
  2637. glFlushVertexArrayRangeAPPLE: procedure(length: GLsizei; pointer: pointer); stdcall;
  2638. glVertexArrayParameteriAPPLE: procedure(pname: GLenum; param: GLint); stdcall;
  2639. {$EndIf}
  2640. {$IfDef GL_APPLE_vertex_program_evaluators}
  2641. glEnableVertexAttribAPPLE: procedure(index: GLuint; pname: GLenum); stdcall;
  2642. glDisableVertexAttribAPPLE: procedure(index: GLuint; pname: GLenum); stdcall;
  2643. glIsVertexAttribEnabledAPPLE: function(index: GLuint; pname: GLenum): GLboolean; stdcall;
  2644. glMapVertexAttrib1dAPPLE: procedure(index: GLuint; size: GLuint; u1: GLdouble; u2: GLdouble; stride: GLint; order: GLint; const points: PGLdouble); stdcall;
  2645. glMapVertexAttrib1fAPPLE: procedure(index: GLuint; size: GLuint; u1: GLfloat; u2: GLfloat; stride: GLint; order: GLint; const points: PGLfloat); stdcall;
  2646. 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;
  2647. 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;
  2648. {$EndIf}
  2649. {$IfDef GL_ATI_draw_buffers}
  2650. glDrawBuffersATI: procedure(n: GLsizei; const bufs: PGLenum); stdcall;
  2651. {$EndIf}
  2652. {$IfDef GL_ATI_element_array}
  2653. glElementPointerATI: procedure(_type: GLenum; const _pointer: pointer); stdcall;
  2654. glDrawElementArrayATI: procedure(mode: GLenum; count: GLsizei); stdcall;
  2655. glDrawRangeElementArrayATI: procedure(mode: GLenum; start: GLuint; _end: GLuint; count: GLsizei); stdcall;
  2656. {$EndIf}
  2657. {$IfDef GL_ATI_envmap_bumpmap}
  2658. glTexBumpParameterivATI: procedure(pname: GLenum; const param: PGLint); stdcall;
  2659. glTexBumpParameterfvATI: procedure(pname: GLenum; const param: PGLfloat); stdcall;
  2660. glGetTexBumpParameterivATI: procedure(pname: GLenum; param: PGLint); stdcall;
  2661. glGetTexBumpParameterfvATI: procedure(pname: GLenum; param: PGLfloat); stdcall;
  2662. {$EndIf}
  2663. {$IfDef GL_ATI_fragment_shader}
  2664. glGenFragmentShadersATI: function(range: GLuint): GLuint; stdcall;
  2665. glBindFragmentShaderATI: procedure(id: GLuint); stdcall;
  2666. glDeleteFragmentShaderATI: procedure(id: GLuint); stdcall;
  2667. glBeginFragmentShaderATI: procedure; stdcall;
  2668. glEndFragmentShaderATI: procedure; stdcall;
  2669. glPassTexCoordATI: procedure(dst: GLuint; coord: GLuint; swizzle: GLenum); stdcall;
  2670. glSampleMapATI: procedure(dst: GLuint; interp: GLuint; swizzle: GLenum); stdcall;
  2671. glColorFragmentOp1ATI: procedure(op: GLenum; dst: GLuint; dstMask: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint); stdcall;
  2672. glColorFragmentOp2ATI: procedure(op: GLenum; dst: GLuint; dstMask: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint; arg2: GLuint; arg2Rep: GLuint; arg2Mod: GLuint); stdcall;
  2673. 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;
  2674. glAlphaFragmentOp1ATI: procedure(op: GLenum; dst: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint); stdcall;
  2675. glAlphaFragmentOp2ATI: procedure(op: GLenum; dst: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint; arg2: GLuint; arg2Rep: GLuint; arg2Mod: GLuint); stdcall;
  2676. 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;
  2677. glSetFragmentShaderConstantATI: procedure(dst: GLuint; const value: PGLfloat); stdcall;
  2678. {$EndIf}
  2679. {$IfDef GL_ATI_map_object_buffer}
  2680. glMapObjectBufferATI: function(buffer: GLuint): pointer;
  2681. glUnmapObjectBufferATI: procedure(buffer: GLuint); stdcall;
  2682. {$EndIf}
  2683. {$IfDef GL_ATI_pn_triangles}
  2684. glPNTrianglesiATI: procedure(pname: GLenum; param: GLint); stdcall;
  2685. glPNTrianglesfATI: procedure(pname: GLenum; param: GLfloat); stdcall;
  2686. {$EndIf}
  2687. {$IfDef GL_ATI_separate_stencil}
  2688. glStencilOpSeparateATI: procedure(face: GLenum; sfail: GLenum; dpfail: GLenum; dppass: GLenum); stdcall;
  2689. glStencilFuncSeparateATI: procedure(frontfunc: GLenum; backfunc: GLenum; ref: GLint; mask: GLuint); stdcall;
  2690. {$EndIf}
  2691. {$IfDef GL_ATI_vertex_array_object}
  2692. glNewObjectBufferATI: function(size: GLsizei; const _pointer: pointer; usage: GLenum): GLuint; stdcall;
  2693. glIsObjectBufferATI: function(buffer: GLuint): GLboolean; stdcall;
  2694. glUpdateObjectBufferATI: procedure(buffer: GLuint; offset: GLuint; size: GLsizei; const _pointer: pointer; preserve: GLenum); stdcall;
  2695. glGetObjectBufferfvATI: procedure(buffer: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  2696. glGetObjectBufferivATI: procedure(buffer: GLuint; pname: GLenum; params: PGLint); stdcall;
  2697. glFreeObjectBufferATI: procedure(buffer: GLuint); stdcall;
  2698. glArrayObjectATI: procedure(_array: GLenum; size: GLint; _type: GLenum; stride: GLsizei; buffer: GLuint; offset: GLuint); stdcall;
  2699. glGetArrayObjectfvATI: procedure(_array: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2700. glGetArrayObjectivATI: procedure(_array: GLenum; pname: GLenum; params: PGLint); stdcall;
  2701. glVariantArrayObjectATI: procedure(id: GLuint; _type: GLenum; stride: GLsizei; buffer: GLuint; offset: GLuint); stdcall;
  2702. glGetVariantArrayObjectfvATI: procedure(id: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  2703. glGetVariantArrayObjectivATI: procedure(id: GLuint; pname: GLenum; params: PGLint); stdcall;
  2704. {$EndIf}
  2705. {$IfDef GL_ATI_vertex_attrib_array_object}
  2706. glVertexAttribArrayObjectATI: procedure(index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei; buffer: GLuint; offset: GLuint); stdcall;
  2707. glGetVertexAttribArrayObjectfvATI: procedure(index: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  2708. glGetVertexAttribArrayObjectivATI: procedure(index: GLuint; pname: GLenum; params: PGLint); stdcall;
  2709. {$EndIf}
  2710. {$IfDef GL_ATI_vertex_streams}
  2711. glVertexStream1sATI: procedure(stream: GLenum; x: GLshort); stdcall;
  2712. glVertexStream1svATI: procedure(stream: GLenum; const coords: PGLshort); stdcall;
  2713. glVertexStream1iATI: procedure(stream: GLenum; x: GLint); stdcall;
  2714. glVertexStream1ivATI: procedure(stream: GLenum; const coords: PGLint); stdcall;
  2715. glVertexStream1fATI: procedure(stream: GLenum; x: GLfloat); stdcall;
  2716. glVertexStream1fvATI: procedure(stream: GLenum; const coords: PGLfloat); stdcall;
  2717. glVertexStream1dATI: procedure(stream: GLenum; x: GLdouble); stdcall;
  2718. glVertexStream1dvATI: procedure(stream: GLenum; const coords: PGLdouble); stdcall;
  2719. glVertexStream2sATI: procedure(stream: GLenum; x: GLshort; y: GLshort); stdcall;
  2720. glVertexStream2svATI: procedure(stream: GLenum; const coords: PGLshort); stdcall;
  2721. glVertexStream2iATI: procedure(stream: GLenum; x: GLint; y: GLint); stdcall;
  2722. glVertexStream2ivATI: procedure(stream: GLenum; const coords: PGLint); stdcall;
  2723. glVertexStream2fATI: procedure(stream: GLenum; x: GLfloat; y: GLfloat); stdcall;
  2724. glVertexStream2fvATI: procedure(stream: GLenum; const coords: PGLfloat); stdcall;
  2725. glVertexStream2dATI: procedure(stream: GLenum; x: GLdouble; y: GLdouble); stdcall;
  2726. glVertexStream2dvATI: procedure(stream: GLenum; const coords: PGLdouble); stdcall;
  2727. glVertexStream3sATI: procedure(stream: GLenum; x: GLshort; y: GLshort; z: GLshort); stdcall;
  2728. glVertexStream3svATI: procedure(stream: GLenum; const coords: PGLshort); stdcall;
  2729. glVertexStream3iATI: procedure(stream: GLenum; x: GLint; y: GLint; z: GLint); stdcall;
  2730. glVertexStream3ivATI: procedure(stream: GLenum; const coords: PGLint); stdcall;
  2731. glVertexStream3fATI: procedure(stream: GLenum; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  2732. glVertexStream3fvATI: procedure(stream: GLenum; const coords: PGLfloat); stdcall;
  2733. glVertexStream3dATI: procedure(stream: GLenum; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  2734. glVertexStream3dvATI: procedure(stream: GLenum; const coords: PGLdouble); stdcall;
  2735. glVertexStream4sATI: procedure(stream: GLenum; x: GLshort; y: GLshort; z: GLshort; w: GLshort); stdcall;
  2736. glVertexStream4svATI: procedure(stream: GLenum; const coords: PGLshort); stdcall;
  2737. glVertexStream4iATI: procedure(stream: GLenum; x: GLint; y: GLint; z: GLint; w: GLint); stdcall;
  2738. glVertexStream4ivATI: procedure(stream: GLenum; const coords: PGLint); stdcall;
  2739. glVertexStream4fATI: procedure(stream: GLenum; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  2740. glVertexStream4fvATI: procedure(stream: GLenum; const coords: PGLfloat); stdcall;
  2741. glVertexStream4dATI: procedure(stream: GLenum; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  2742. glVertexStream4dvATI: procedure(stream: GLenum; const coords: PGLdouble); stdcall;
  2743. glNormalStream3bATI: procedure(stream: GLenum; nx: GLbyte; ny: GLbyte; nz: GLbyte); stdcall;
  2744. glNormalStream3bvATI: procedure(stream: GLenum; const coords: PGLbyte); stdcall;
  2745. glNormalStream3sATI: procedure(stream: GLenum; nx: GLshort; ny: GLshort; nz: GLshort); stdcall;
  2746. glNormalStream3svATI: procedure(stream: GLenum; const coords: PGLshort); stdcall;
  2747. glNormalStream3iATI: procedure(stream: GLenum; nx: GLint; ny: GLint; nz: GLint); stdcall;
  2748. glNormalStream3ivATI: procedure(stream: GLenum; const coords: PGLint); stdcall;
  2749. glNormalStream3fATI: procedure(stream: GLenum; nx: GLfloat; ny: GLfloat; nz: GLfloat); stdcall;
  2750. glNormalStream3fvATI: procedure(stream: GLenum; const coords: PGLfloat); stdcall;
  2751. glNormalStream3dATI: procedure(stream: GLenum; nx: GLdouble; ny: GLdouble; nz: GLdouble); stdcall;
  2752. glNormalStream3dvATI: procedure(stream: GLenum; const coords: PGLdouble); stdcall;
  2753. glClientActiveVertexStreamATI: procedure(stream: GLenum); stdcall;
  2754. glVertexBlendEnviATI: procedure(pname: GLenum; param: GLint); stdcall;
  2755. glVertexBlendEnvfATI: procedure(pname: GLenum; param: GLfloat); stdcall;
  2756. {$EndIf}
  2757. {$IfDef GL_EXT_EGL_image_storage}
  2758. glEGLImageTargetTexStorageEXT: procedure(target: GLenum; image: GLeglImageOES; const attrib_list: PGLint); stdcall;
  2759. glEGLImageTargetTextureStorageEXT: procedure(texture: GLuint; image: GLeglImageOES; const attrib_list: PGLint); stdcall;
  2760. {$EndIf}
  2761. {$IfDef GL_EXT_bindable_uniform}
  2762. glUniformBufferEXT: procedure(_program: GLuint; location: GLint; buffer: GLuint); stdcall;
  2763. glGetUniformBufferSizeEXT: function(_program: GLuint; location: GLint): GLint; stdcall;
  2764. glGetUniformOffsetEXT: function(_program: GLuint; location: GLint): GLintptr; stdcall;
  2765. {$EndIf}
  2766. {$IfDef GL_EXT_blend_color}
  2767. glBlendColorEXT: procedure(red: GLfloat; green: GLfloat; blue: GLfloat; alpha: GLfloat); stdcall;
  2768. {$EndIf}
  2769. {$IfDef GL_EXT_blend_equation_separate}
  2770. glBlendEquationSeparateEXT: procedure(modeRGB: GLenum; modeAlpha: GLenum); stdcall;
  2771. {$EndIf}
  2772. (* {$IfDef GL_EXT_blend_func_separate}
  2773. glBlendFuncSeparateEXT: procedure(sfactorRGB: GLenum; dfactorRGB: GLenum; sfactorAlpha: GLenum; dfactorAlpha: GLenum); stdcall;
  2774. {$EndIf}
  2775. {$IfDef GL_EXT_blend_minmax}
  2776. glBlendEquationEXT: procedure(mode: GLenum); stdcall;
  2777. {$EndIf} *)
  2778. {$IfDef GL_EXT_color_subtable}
  2779. glColorSubTableEXT: procedure(target: GLenum; start: GLsizei; count: GLsizei; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  2780. glCopyColorSubTableEXT: procedure(target: GLenum; start: GLsizei; x: GLint; y: GLint; width: GLsizei); stdcall;
  2781. {$EndIf}
  2782. {$IfDef GL_EXT_compiled_vertex_array}
  2783. glLockArraysEXT: procedure(first: GLint; count: GLsizei); stdcall;
  2784. glUnlockArraysEXT: procedure; stdcall;
  2785. {$EndIf}
  2786. {$IfDef GL_EXT_convolution}
  2787. glConvolutionFilter1DEXT: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; const image: pointer); stdcall;
  2788. glConvolutionFilter2DEXT: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const image: pointer); stdcall;
  2789. glConvolutionParameterfEXT: procedure(target: GLenum; pname: GLenum; params: GLfloat); stdcall;
  2790. glConvolutionParameterfvEXT: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  2791. glConvolutionParameteriEXT: procedure(target: GLenum; pname: GLenum; params: GLint); stdcall;
  2792. glConvolutionParameterivEXT: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2793. glCopyConvolutionFilter1DEXT: procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); stdcall;
  2794. glCopyConvolutionFilter2DEXT: procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  2795. glGetConvolutionFilterEXT: procedure(target: GLenum; format: GLenum; _type: GLenum; image: pointer); stdcall;
  2796. glGetConvolutionParameterfvEXT: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2797. glGetConvolutionParameterivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2798. glGetSeparableFilterEXT: procedure(target: GLenum; format: GLenum; _type: GLenum; row: pointer; column: pointer; span: pointer); stdcall;
  2799. glSeparableFilter2DEXT: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const row: pointer; const column: pointer); stdcall;
  2800. {$EndIf}
  2801. {$IfDef GL_EXT_coordinate_frame}
  2802. glTangent3bEXT: procedure(tx: GLbyte; ty: GLbyte; tz: GLbyte); stdcall;
  2803. glTangent3bvEXT: procedure(const v: PGLbyte); stdcall;
  2804. glTangent3dEXT: procedure(tx: GLdouble; ty: GLdouble; tz: GLdouble); stdcall;
  2805. glTangent3dvEXT: procedure(const v: PGLdouble); stdcall;
  2806. glTangent3fEXT: procedure(tx: GLfloat; ty: GLfloat; tz: GLfloat); stdcall;
  2807. glTangent3fvEXT: procedure(const v: PGLfloat); stdcall;
  2808. glTangent3iEXT: procedure(tx: GLint; ty: GLint; tz: GLint); stdcall;
  2809. glTangent3ivEXT: procedure(const v: PGLint); stdcall;
  2810. glTangent3sEXT: procedure(tx: GLshort; ty: GLshort; tz: GLshort); stdcall;
  2811. glTangent3svEXT: procedure(const v: PGLshort); stdcall;
  2812. glBinormal3bEXT: procedure(bx: GLbyte; by: GLbyte; bz: GLbyte); stdcall;
  2813. glBinormal3bvEXT: procedure(const v: PGLbyte); stdcall;
  2814. glBinormal3dEXT: procedure(bx: GLdouble; by: GLdouble; bz: GLdouble); stdcall;
  2815. glBinormal3dvEXT: procedure(const v: PGLdouble); stdcall;
  2816. glBinormal3fEXT: procedure(bx: GLfloat; by: GLfloat; bz: GLfloat); stdcall;
  2817. glBinormal3fvEXT: procedure(const v: PGLfloat); stdcall;
  2818. glBinormal3iEXT: procedure(bx: GLint; by: GLint; bz: GLint); stdcall;
  2819. glBinormal3ivEXT: procedure(const v: PGLint); stdcall;
  2820. glBinormal3sEXT: procedure(bx: GLshort; by: GLshort; bz: GLshort); stdcall;
  2821. glBinormal3svEXT: procedure(const v: PGLshort); stdcall;
  2822. glTangentPointerEXT: procedure(_type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  2823. glBinormalPointerEXT: procedure(_type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  2824. {$EndIf}
  2825. {$IfDef GL_EXT_copy_texture}
  2826. glCopyTexImage1DEXT: procedure(target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; border: GLint); stdcall;
  2827. glCopyTexImage2DEXT: procedure(target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei; border: GLint); stdcall;
  2828. glCopyTexSubImage1DEXT: procedure(target: GLenum; level: GLint; xoffset: GLint; x: GLint; y: GLint; width: GLsizei); stdcall;
  2829. glCopyTexSubImage2DEXT: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  2830. glCopyTexSubImage3DEXT: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  2831. {$EndIf}
  2832. {$IfDef GL_EXT_cull_vertex}
  2833. glCullParameterdvEXT: procedure(pname: GLenum; params: PGLdouble); stdcall;
  2834. glCullParameterfvEXT: procedure(pname: GLenum; params: PGLfloat); stdcall;
  2835. {$EndIf}
  2836. {$IfDef GL_EXT_debug_label}
  2837. glLabelObjectEXT: procedure(_type: GLenum; _object: GLuint; length: GLsizei; const _label: PGLchar); stdcall;
  2838. glGetObjectLabelEXT: procedure(_type: GLenum; _object: GLuint; bufSize: GLsizei; length: PGLsizei; _label: PGLchar); stdcall;
  2839. {$EndIf}
  2840. {$IfDef GL_EXT_debug_marker}
  2841. glInsertEventMarkerEXT: procedure(length: GLsizei; const marker: PGLchar); stdcall;
  2842. glPushGroupMarkerEXT: procedure(length: GLsizei; const marker: PGLchar); stdcall;
  2843. glPopGroupMarkerEXT: procedure; stdcall;
  2844. {$EndIf}
  2845. {$IfDef GL_EXT_depth_bounds_test}
  2846. glDepthBoundsEXT: procedure(zmin: GLclampd; zmax: GLclampd); stdcall;
  2847. {$EndIf}
  2848. {$IfDef GL_EXT_direct_state_access}
  2849. glMatrixLoadfEXT: procedure(mode: GLenum; const m: PGLfloat); stdcall;
  2850. glMatrixLoaddEXT: procedure(mode: GLenum; const m: PGLdouble); stdcall;
  2851. glMatrixMultfEXT: procedure(mode: GLenum; const m: PGLfloat); stdcall;
  2852. glMatrixMultdEXT: procedure(mode: GLenum; const m: PGLdouble); stdcall;
  2853. glMatrixLoadIdentityEXT: procedure(mode: GLenum); stdcall;
  2854. glMatrixRotatefEXT: procedure(mode: GLenum; angle: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  2855. glMatrixRotatedEXT: procedure(mode: GLenum; angle: GLdouble; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  2856. glMatrixScalefEXT: procedure(mode: GLenum; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  2857. glMatrixScaledEXT: procedure(mode: GLenum; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  2858. glMatrixTranslatefEXT: procedure(mode: GLenum; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  2859. glMatrixTranslatedEXT: procedure(mode: GLenum; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  2860. glMatrixFrustumEXT: procedure(mode: GLenum; left: GLdouble; right: GLdouble; bottom: GLdouble; top: GLdouble; zNear: GLdouble; zFar: GLdouble); stdcall;
  2861. glMatrixOrthoEXT: procedure(mode: GLenum; left: GLdouble; right: GLdouble; bottom: GLdouble; top: GLdouble; zNear: GLdouble; zFar: GLdouble); stdcall;
  2862. glMatrixPopEXT: procedure(mode: GLenum); stdcall;
  2863. glMatrixPushEXT: procedure(mode: GLenum); stdcall;
  2864. glClientAttribDefaultEXT: procedure(mask: GLbitfield); stdcall;
  2865. glPushClientAttribDefaultEXT: procedure(mask: GLbitfield); stdcall;
  2866. glTextureParameterfEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; param: GLfloat); stdcall;
  2867. glTextureParameterfvEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  2868. glTextureParameteriEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; param: GLint); stdcall;
  2869. glTextureParameterivEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2870. glTextureImage1DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2871. glTextureImage2DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; height: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2872. glTextureSubImage1DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2873. glTextureSubImage2DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2874. glCopyTextureImage1DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; border: GLint); stdcall;
  2875. glCopyTextureImage2DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei; border: GLint); stdcall;
  2876. glCopyTextureSubImage1DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; x: GLint; y: GLint; width: GLsizei); stdcall;
  2877. glCopyTextureSubImage2DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  2878. glGetTextureImageEXT: procedure(texture: GLuint; target: GLenum; level: GLint; format: GLenum; _type: GLenum; pixels: pointer); stdcall;
  2879. glGetTextureParameterfvEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2880. glGetTextureParameterivEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2881. glGetTextureLevelParameterfvEXT: procedure(texture: GLuint; target: GLenum; level: GLint; pname: GLenum; params: PGLfloat); stdcall;
  2882. glGetTextureLevelParameterivEXT: procedure(texture: GLuint; target: GLenum; level: GLint; pname: GLenum; params: PGLint); stdcall;
  2883. 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;
  2884. 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;
  2885. glCopyTextureSubImage3DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  2886. glBindMultiTextureEXT: procedure(texunit: GLenum; target: GLenum; texture: GLuint); stdcall;
  2887. glMultiTexCoordPointerEXT: procedure(texunit: GLenum; size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  2888. glMultiTexEnvfEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLfloat); stdcall;
  2889. glMultiTexEnvfvEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  2890. glMultiTexEnviEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLint); stdcall;
  2891. glMultiTexEnvivEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2892. glMultiTexGendEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; param: GLdouble); stdcall;
  2893. glMultiTexGendvEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; const params: PGLdouble); stdcall;
  2894. glMultiTexGenfEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; param: GLfloat); stdcall;
  2895. glMultiTexGenfvEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  2896. glMultiTexGeniEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; param: GLint); stdcall;
  2897. glMultiTexGenivEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2898. glGetMultiTexEnvfvEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2899. glGetMultiTexEnvivEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2900. glGetMultiTexGendvEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; params: PGLdouble); stdcall;
  2901. glGetMultiTexGenfvEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2902. glGetMultiTexGenivEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; params: PGLint); stdcall;
  2903. glMultiTexParameteriEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLint); stdcall;
  2904. glMultiTexParameterivEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2905. glMultiTexParameterfEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLfloat); stdcall;
  2906. glMultiTexParameterfvEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  2907. glMultiTexImage1DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2908. glMultiTexImage2DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; height: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2909. glMultiTexSubImage1DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2910. glMultiTexSubImage2DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2911. glCopyMultiTexImage1DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; border: GLint); stdcall;
  2912. glCopyMultiTexImage2DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei; border: GLint); stdcall;
  2913. glCopyMultiTexSubImage1DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; x: GLint; y: GLint; width: GLsizei); stdcall;
  2914. glCopyMultiTexSubImage2DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  2915. glGetMultiTexImageEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; format: GLenum; _type: GLenum; pixels: pointer); stdcall;
  2916. glGetMultiTexParameterfvEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2917. glGetMultiTexParameterivEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2918. glGetMultiTexLevelParameterfvEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; pname: GLenum; params: PGLfloat); stdcall;
  2919. glGetMultiTexLevelParameterivEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; pname: GLenum; params: PGLint); stdcall;
  2920. 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;
  2921. 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;
  2922. glCopyMultiTexSubImage3DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  2923. glEnableClientStateIndexedEXT: procedure(_array: GLenum; index: GLuint); stdcall;
  2924. glDisableClientStateIndexedEXT: procedure(_array: GLenum; index: GLuint); stdcall;
  2925. glGetFloatIndexedvEXT: procedure(target: GLenum; index: GLuint; data: PGLfloat); stdcall;
  2926. glGetDoubleIndexedvEXT: procedure(target: GLenum; index: GLuint; data: PGLdouble); stdcall;
  2927. glGetPointerIndexedvEXT: procedure(target: GLenum; index: GLuint; data:Ppointer); stdcall;
  2928. glEnableIndexedEXT: procedure(target: GLenum; index: GLuint); stdcall;
  2929. glDisableIndexedEXT: procedure(target: GLenum; index: GLuint); stdcall;
  2930. glIsEnabledIndexedEXT: function(target: GLenum; index: GLuint): GLboolean; stdcall;
  2931. glGetIntegerIndexedvEXT: procedure(target: GLenum; index: GLuint; data: PGLint); stdcall;
  2932. glGetBooleanIndexedvEXT: procedure(target: GLenum; index: GLuint; data: PGLboolean); stdcall;
  2933. glCompressedTextureImage3DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; imageSize: GLsizei; const bits: pointer); stdcall;
  2934. glCompressedTextureImage2DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; imageSize: GLsizei; const bits: pointer); stdcall;
  2935. glCompressedTextureImage1DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei; const bits: pointer); stdcall;
  2936. 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;
  2937. glCompressedTextureSubImage2DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const bits: pointer); stdcall;
  2938. glCompressedTextureSubImage1DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const bits: pointer); stdcall;
  2939. glGetCompressedTextureImageEXT: procedure(texture: GLuint; target: GLenum; lod: GLint; img: pointer); stdcall;
  2940. glCompressedMultiTexImage3DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; imageSize: GLsizei; const bits: pointer); stdcall;
  2941. glCompressedMultiTexImage2DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; imageSize: GLsizei; const bits: pointer); stdcall;
  2942. glCompressedMultiTexImage1DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei; const bits: pointer); stdcall;
  2943. 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;
  2944. glCompressedMultiTexSubImage2DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const bits: pointer); stdcall;
  2945. glCompressedMultiTexSubImage1DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const bits: pointer); stdcall;
  2946. glGetCompressedMultiTexImageEXT: procedure(texunit: GLenum; target: GLenum; lod: GLint; img: pointer); stdcall;
  2947. glMatrixLoadTransposefEXT: procedure(mode: GLenum; const m: PGLfloat); stdcall;
  2948. glMatrixLoadTransposedEXT: procedure(mode: GLenum; const m: PGLdouble); stdcall;
  2949. glMatrixMultTransposefEXT: procedure(mode: GLenum; const m: PGLfloat); stdcall;
  2950. glMatrixMultTransposedEXT: procedure(mode: GLenum; const m: PGLdouble); stdcall;
  2951. glNamedBufferDataEXT: procedure(buffer: GLuint; size: GLsizeiptr; const data: pointer; usage: GLenum); stdcall;
  2952. glNamedBufferSubDataEXT: procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; const data: pointer); stdcall;
  2953. glMapNamedBufferEXT: function(buffer: GLuint; access: GLenum): pointer; stdcall;
  2954. glUnmapNamedBufferEXT: function(buffer: GLuint): GLboolean; stdcall;
  2955. glGetNamedBufferParameterivEXT: procedure(buffer: GLuint; pname: GLenum; params: PGLint); stdcall;
  2956. glGetNamedBufferPointervEXT: procedure(buffer: GLuint; pname: GLenum; params:Ppointer); stdcall;
  2957. glGetNamedBufferSubDataEXT: procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; data: pointer); stdcall;
  2958. glProgramUniform1fEXT: procedure(_program: GLuint; location: GLint; v0: GLfloat); stdcall;
  2959. glProgramUniform2fEXT: procedure(_program: GLuint; location: GLint; v0: GLfloat; v1: GLfloat); stdcall;
  2960. glProgramUniform3fEXT: procedure(_program: GLuint; location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat); stdcall;
  2961. glProgramUniform4fEXT: procedure(_program: GLuint; location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat; v3: GLfloat); stdcall;
  2962. glProgramUniform1iEXT: procedure(_program: GLuint; location: GLint; v0: GLint); stdcall;
  2963. glProgramUniform2iEXT: procedure(_program: GLuint; location: GLint; v0: GLint; v1: GLint); stdcall;
  2964. glProgramUniform3iEXT: procedure(_program: GLuint; location: GLint; v0: GLint; v1: GLint; v2: GLint); stdcall;
  2965. glProgramUniform4iEXT: procedure(_program: GLuint; location: GLint; v0: GLint; v1: GLint; v2: GLint; v3: GLint); stdcall;
  2966. glProgramUniform1fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  2967. glProgramUniform2fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  2968. glProgramUniform3fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  2969. glProgramUniform4fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  2970. glProgramUniform1ivEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint); stdcall;
  2971. glProgramUniform2ivEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint); stdcall;
  2972. glProgramUniform3ivEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint); stdcall;
  2973. glProgramUniform4ivEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint); stdcall;
  2974. glProgramUniformMatrix2fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2975. glProgramUniformMatrix3fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2976. glProgramUniformMatrix4fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2977. glProgramUniformMatrix2x3fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2978. glProgramUniformMatrix3x2fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2979. glProgramUniformMatrix2x4fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2980. glProgramUniformMatrix4x2fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2981. glProgramUniformMatrix3x4fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2982. glProgramUniformMatrix4x3fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2983. glTextureBufferEXT: procedure(texture: GLuint; target: GLenum; internalformat: GLenum; buffer: GLuint); stdcall;
  2984. glMultiTexBufferEXT: procedure(texunit: GLenum; target: GLenum; internalformat: GLenum; buffer: GLuint); stdcall;
  2985. glTextureParameterIivEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2986. glTextureParameterIuivEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; const params: PGLuint); stdcall;
  2987. glGetTextureParameterIivEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2988. glGetTextureParameterIuivEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; params: PGLuint); stdcall;
  2989. glMultiTexParameterIivEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2990. glMultiTexParameterIuivEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLuint); stdcall;
  2991. glGetMultiTexParameterIivEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2992. glGetMultiTexParameterIuivEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLuint); stdcall;
  2993. glProgramUniform1uiEXT: procedure(_program: GLuint; location: GLint; v0: GLuint); stdcall;
  2994. glProgramUniform2uiEXT: procedure(_program: GLuint; location: GLint; v0: GLuint; v1: GLuint); stdcall;
  2995. glProgramUniform3uiEXT: procedure(_program: GLuint; location: GLint; v0: GLuint; v1: GLuint; v2: GLuint); stdcall;
  2996. glProgramUniform4uiEXT: procedure(_program: GLuint; location: GLint; v0: GLuint; v1: GLuint; v2: GLuint; v3: GLuint); stdcall;
  2997. glProgramUniform1uivEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  2998. glProgramUniform2uivEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  2999. glProgramUniform3uivEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  3000. glProgramUniform4uivEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  3001. glNamedProgramLocalParameters4fvEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; count: GLsizei; const params: PGLfloat); stdcall;
  3002. glNamedProgramLocalParameterI4iEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); stdcall;
  3003. glNamedProgramLocalParameterI4ivEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; const params: PGLint); stdcall;
  3004. glNamedProgramLocalParametersI4ivEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; count: GLsizei; const params: PGLint); stdcall;
  3005. glNamedProgramLocalParameterI4uiEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); stdcall;
  3006. glNamedProgramLocalParameterI4uivEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; const params: PGLuint); stdcall;
  3007. glNamedProgramLocalParametersI4uivEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; count: GLsizei; const params: PGLuint); stdcall;
  3008. glGetNamedProgramLocalParameterIivEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; params: PGLint); stdcall;
  3009. glGetNamedProgramLocalParameterIuivEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; params: PGLuint); stdcall;
  3010. glEnableClientStateiEXT: procedure(_array: GLenum; index: GLuint); stdcall;
  3011. glDisableClientStateiEXT: procedure(_array: GLenum; index: GLuint); stdcall;
  3012. glGetFloati_vEXT: procedure(pname: GLenum; index: GLuint; params: PGLfloat); stdcall;
  3013. glGetDoublei_vEXT: procedure(pname: GLenum; index: GLuint; params: PGLdouble); stdcall;
  3014. glGetPointeri_vEXT: procedure(pname: GLenum; index: GLuint; params:Ppointer); stdcall;
  3015. glNamedProgramStringEXT: procedure(_program: GLuint; target: GLenum; format: GLenum; len: GLsizei; const _string: pointer); stdcall;
  3016. glNamedProgramLocalParameter4dEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  3017. glNamedProgramLocalParameter4dvEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; const params: PGLdouble); stdcall;
  3018. glNamedProgramLocalParameter4fEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  3019. glNamedProgramLocalParameter4fvEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; const params: PGLfloat); stdcall;
  3020. glGetNamedProgramLocalParameterdvEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; params: PGLdouble); stdcall;
  3021. glGetNamedProgramLocalParameterfvEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; params: PGLfloat); stdcall;
  3022. glGetNamedProgramivEXT: procedure(_program: GLuint; target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3023. glGetNamedProgramStringEXT: procedure(_program: GLuint; target: GLenum; pname: GLenum; _string: pointer); stdcall;
  3024. glNamedRenderbufferStorageEXT: procedure(renderbuffer: GLuint; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  3025. glGetNamedRenderbufferParameterivEXT: procedure(renderbuffer: GLuint; pname: GLenum; params: PGLint); stdcall;
  3026. glNamedRenderbufferStorageMultisampleEXT: procedure(renderbuffer: GLuint; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  3027. glNamedRenderbufferStorageMultisampleCoverageEXT: procedure(renderbuffer: GLuint; coverageSamples: GLsizei; colorSamples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  3028. glCheckNamedFramebufferStatusEXT: function(framebuffer: GLuint; target: GLenum): GLenum; stdcall;
  3029. glNamedFramebufferTexture1DEXT: procedure(framebuffer: GLuint; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); stdcall;
  3030. glNamedFramebufferTexture2DEXT: procedure(framebuffer: GLuint; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); stdcall;
  3031. glNamedFramebufferTexture3DEXT: procedure(framebuffer: GLuint; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint; zoffset: GLint); stdcall;
  3032. glNamedFramebufferRenderbufferEXT: procedure(framebuffer: GLuint; attachment: GLenum; renderbuffertarget: GLenum; renderbuffer: GLuint); stdcall;
  3033. glGetNamedFramebufferAttachmentParameterivEXT: procedure(framebuffer: GLuint; attachment: GLenum; pname: GLenum; params: PGLint); stdcall;
  3034. glGenerateTextureMipmapEXT: procedure(texture: GLuint; target: GLenum); stdcall;
  3035. glGenerateMultiTexMipmapEXT: procedure(texunit: GLenum; target: GLenum); stdcall;
  3036. glFramebufferDrawBufferEXT: procedure(framebuffer: GLuint; mode: GLenum); stdcall;
  3037. glFramebufferDrawBuffersEXT: procedure(framebuffer: GLuint; n: GLsizei; const bufs: PGLenum); stdcall;
  3038. glFramebufferReadBufferEXT: procedure(framebuffer: GLuint; mode: GLenum); stdcall;
  3039. glGetFramebufferParameterivEXT: procedure(framebuffer: GLuint; pname: GLenum; params: PGLint); stdcall;
  3040. glNamedCopyBufferSubDataEXT: procedure(readBuffer: GLuint; writeBuffer: GLuint; readOffset: GLintptr; writeOffset: GLintptr; size: GLsizeiptr); stdcall;
  3041. glNamedFramebufferTextureEXT: procedure(framebuffer: GLuint; attachment: GLenum; texture: GLuint; level: GLint); stdcall;
  3042. glNamedFramebufferTextureLayerEXT: procedure(framebuffer: GLuint; attachment: GLenum; texture: GLuint; level: GLint; layer: GLint); stdcall;
  3043. glNamedFramebufferTextureFaceEXT: procedure(framebuffer: GLuint; attachment: GLenum; texture: GLuint; level: GLint; face: GLenum); stdcall;
  3044. glTextureRenderbufferEXT: procedure(texture: GLuint; target: GLenum; renderbuffer: GLuint); stdcall;
  3045. glMultiTexRenderbufferEXT: procedure(texunit: GLenum; target: GLenum; renderbuffer: GLuint); stdcall;
  3046. glVertexArrayVertexOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; size: GLint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3047. glVertexArrayColorOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; size: GLint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3048. glVertexArrayEdgeFlagOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; stride: GLsizei; offset: GLintptr); stdcall;
  3049. glVertexArrayIndexOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3050. glVertexArrayNormalOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3051. glVertexArrayTexCoordOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; size: GLint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3052. glVertexArrayMultiTexCoordOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; texunit: GLenum; size: GLint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3053. glVertexArrayFogCoordOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3054. glVertexArraySecondaryColorOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; size: GLint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3055. glVertexArrayVertexAttribOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei; offset: GLintptr); stdcall;
  3056. glVertexArrayVertexAttribIOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; index: GLuint; size: GLint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3057. glEnableVertexArrayEXT: procedure(vaobj: GLuint; _array: GLenum); stdcall;
  3058. glDisableVertexArrayEXT: procedure(vaobj: GLuint; _array: GLenum); stdcall;
  3059. glEnableVertexArrayAttribEXT: procedure(vaobj: GLuint; index: GLuint); stdcall;
  3060. glDisableVertexArrayAttribEXT: procedure(vaobj: GLuint; index: GLuint); stdcall;
  3061. glGetVertexArrayIntegervEXT: procedure(vaobj: GLuint; pname: GLenum; param: PGLint); stdcall;
  3062. glGetVertexArrayPointervEXT: procedure(vaobj: GLuint; pname: GLenum; param:Ppointer); stdcall;
  3063. glGetVertexArrayIntegeri_vEXT: procedure(vaobj: GLuint; index: GLuint; pname: GLenum; param: PGLint); stdcall;
  3064. glGetVertexArrayPointeri_vEXT: procedure(vaobj: GLuint; index: GLuint; pname: GLenum; param:Ppointer); stdcall;
  3065. glMapNamedBufferRangeEXT: function(buffer: GLuint; offset: GLintptr; length: GLsizeiptr; access: GLbitfield): pointer; stdcall;
  3066. glFlushMappedNamedBufferRangeEXT: procedure(buffer: GLuint; offset: GLintptr; length: GLsizeiptr); stdcall;
  3067. glNamedBufferStorageEXT: procedure(buffer: GLuint; size: GLsizeiptr; const data: pointer; flags: GLbitfield); stdcall;
  3068. glClearNamedBufferDataEXT: procedure(buffer: GLuint; internalformat: GLenum; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  3069. glClearNamedBufferSubDataEXT: procedure(buffer: GLuint; internalformat: GLenum; offset: GLsizeiptr; size: GLsizeiptr; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  3070. glNamedFramebufferParameteriEXT: procedure(framebuffer: GLuint; pname: GLenum; param: GLint); stdcall;
  3071. glGetNamedFramebufferParameterivEXT: procedure(framebuffer: GLuint; pname: GLenum; params: PGLint); stdcall;
  3072. glProgramUniform1dEXT: procedure(_program: GLuint; location: GLint; x: GLdouble); stdcall;
  3073. glProgramUniform2dEXT: procedure(_program: GLuint; location: GLint; x: GLdouble; y: GLdouble); stdcall;
  3074. glProgramUniform3dEXT: procedure(_program: GLuint; location: GLint; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  3075. glProgramUniform4dEXT: procedure(_program: GLuint; location: GLint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  3076. glProgramUniform1dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  3077. glProgramUniform2dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  3078. glProgramUniform3dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  3079. glProgramUniform4dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  3080. glProgramUniformMatrix2dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3081. glProgramUniformMatrix3dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3082. glProgramUniformMatrix4dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3083. glProgramUniformMatrix2x3dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3084. glProgramUniformMatrix2x4dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3085. glProgramUniformMatrix3x2dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3086. glProgramUniformMatrix3x4dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3087. glProgramUniformMatrix4x2dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3088. glProgramUniformMatrix4x3dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3089. glTextureBufferRangeEXT: procedure(texture: GLuint; target: GLenum; internalformat: GLenum; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); stdcall;
  3090. glTextureStorage1DEXT: procedure(texture: GLuint; target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei); stdcall;
  3091. glTextureStorage2DEXT: procedure(texture: GLuint; target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  3092. glTextureStorage3DEXT: procedure(texture: GLuint; target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei); stdcall;
  3093. glTextureStorage2DMultisampleEXT: procedure(texture: GLuint; target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; fixedsamplelocations: GLboolean); stdcall;
  3094. glTextureStorage3DMultisampleEXT: procedure(texture: GLuint; target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; fixedsamplelocations: GLboolean); stdcall;
  3095. glVertexArrayBindVertexBufferEXT: procedure(vaobj: GLuint; bindingindex: GLuint; buffer: GLuint; offset: GLintptr; stride: GLsizei); stdcall;
  3096. glVertexArrayVertexAttribFormatEXT: procedure(vaobj: GLuint; attribindex: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; relativeoffset: GLuint); stdcall;
  3097. glVertexArrayVertexAttribIFormatEXT: procedure(vaobj: GLuint; attribindex: GLuint; size: GLint; _type: GLenum; relativeoffset: GLuint); stdcall;
  3098. glVertexArrayVertexAttribLFormatEXT: procedure(vaobj: GLuint; attribindex: GLuint; size: GLint; _type: GLenum; relativeoffset: GLuint); stdcall;
  3099. glVertexArrayVertexAttribBindingEXT: procedure(vaobj: GLuint; attribindex: GLuint; bindingindex: GLuint); stdcall;
  3100. glVertexArrayVertexBindingDivisorEXT: procedure(vaobj: GLuint; bindingindex: GLuint; divisor: GLuint); stdcall;
  3101. glVertexArrayVertexAttribLOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; index: GLuint; size: GLint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3102. glTexturePageCommitmentEXT: procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; commit: GLboolean); stdcall;
  3103. glVertexArrayVertexAttribDivisorEXT: procedure(vaobj: GLuint; index: GLuint; divisor: GLuint); stdcall;
  3104. {$EndIf}
  3105. {$IfDef GL_EXT_draw_buffers2}
  3106. glColorMaskIndexedEXT: procedure(index: GLuint; r: GLboolean; g: GLboolean; b: GLboolean; a: GLboolean); stdcall;
  3107. {$EndIf}
  3108. {$IfDef GL_EXT_draw_instanced}
  3109. glDrawArraysInstancedEXT: procedure(mode: GLenum; start: GLint; count: GLsizei; primcount: GLsizei); stdcall;
  3110. glDrawElementsInstancedEXT: procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: pointer; primcount: GLsizei); stdcall;
  3111. {$EndIf}
  3112. {$IfDef GL_EXT_draw_range_elements}
  3113. glDrawRangeElementsEXT: procedure(mode: GLenum; start: GLuint; _end: GLuint; count: GLsizei; _type: GLenum; const indices: pointer); stdcall;
  3114. {$EndIf}
  3115. {$IfDef GL_EXT_external_buffer}
  3116. glBufferStorageExternalEXT: procedure(target: GLenum; offset: GLintptr; size: GLsizeiptr; clientBuffer: GLeglClientBufferEXT; flags: GLbitfield); stdcall;
  3117. glNamedBufferStorageExternalEXT: procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; clientBuffer: GLeglClientBufferEXT; flags: GLbitfield); stdcall;
  3118. {$EndIf}
  3119. {$IfDef GL_EXT_fog_coord}
  3120. glFogCoordfEXT: procedure(coord: GLfloat); stdcall;
  3121. glFogCoordfvEXT: procedure(const coord: PGLfloat); stdcall;
  3122. glFogCoorddEXT: procedure(coord: GLdouble); stdcall;
  3123. glFogCoorddvEXT: procedure(const coord: PGLdouble); stdcall;
  3124. glFogCoordPointerEXT: procedure(_type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  3125. {$EndIf}
  3126. {$IfDef GL_EXT_framebuffer_blit}
  3127. glBlitFramebufferEXT: procedure(srcX0: GLint; srcY0: GLint; srcX1: GLint; srcY1: GLint; dstX0: GLint; dstY0: GLint; dstX1: GLint; dstY1: GLint; mask: GLbitfield; filter: GLenum); stdcall;
  3128. {$EndIf}
  3129. {$IfDef GL_EXT_framebuffer_multisample}
  3130. glRenderbufferStorageMultisampleEXT: procedure(target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  3131. {$EndIf}
  3132. {$IfDef GL_EXT_framebuffer_object}
  3133. // glIsRenderbufferEXT: function(renderbuffer: GLuint): GLboolean; stdcall;
  3134. // glBindRenderbufferEXT: procedure(target: GLenum; renderbuffer: GLuint); stdcall;
  3135. // glDeleteRenderbuffersEXT: procedure(n: GLsizei; const renderbuffers: PGLuint); stdcall;
  3136. // glGenRenderbuffersEXT: procedure(n: GLsizei; renderbuffers: PGLuint); stdcall;
  3137. // glRenderbufferStorageEXT: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  3138. glGetRenderbufferParameterivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3139. // glIsFramebufferEXT: function(framebuffer: GLuint): GLboolean; stdcall;
  3140. // glBindFramebufferEXT: procedure(target: GLenum; framebuffer: GLuint); stdcall;
  3141. // glDeleteFramebuffersEXT: procedure(n: GLsizei; const framebuffers: PGLuint); stdcall;
  3142. // glGenFramebuffersEXT: procedure(n: GLsizei; framebuffers: PGLuint); stdcall;
  3143. // glCheckFramebufferStatusEXT: function(target: GLenum): GLenum; stdcall;
  3144. glFramebufferTexture1DEXT: procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); stdcall;
  3145. // glFramebufferTexture2DEXT: procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); stdcall;
  3146. glFramebufferTexture3DEXT: procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint; zoffset: GLint); stdcall;
  3147. // glFramebufferRenderbufferEXT: procedure(target: GLenum; attachment: GLenum; renderbuffertarget: GLenum; renderbuffer: GLuint); stdcall;
  3148. glGetFramebufferAttachmentParameterivEXT: procedure(target: GLenum; attachment: GLenum; pname: GLenum; params: PGLint); stdcall;
  3149. glGenerateMipmapEXT: procedure(target: GLenum); stdcall;
  3150. {$EndIf}
  3151. {$IfDef GL_EXT_geometry_shader4}
  3152. glProgramParameteriEXT: procedure(_program: GLuint; pname: GLenum; value: GLint); stdcall;
  3153. {$EndIf}
  3154. {$IfDef GL_EXT_gpu_program_parameters}
  3155. glProgramEnvParameters4fvEXT: procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLfloat); stdcall;
  3156. glProgramLocalParameters4fvEXT: procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLfloat); stdcall;
  3157. {$EndIf}
  3158. {$IfDef GL_EXT_gpu_shader4}
  3159. glGetUniformuivEXT: procedure(_program: GLuint; location: GLint; params: PGLuint); stdcall;
  3160. glBindFragDataLocationEXT: procedure(_program: GLuint; color: GLuint; const name: PGLchar); stdcall;
  3161. glGetFragDataLocationEXT: function(_program: GLuint; const name: PGLchar): GLint; stdcall;
  3162. glUniform1uiEXT: procedure(location: GLint; v0: GLuint); stdcall;
  3163. glUniform2uiEXT: procedure(location: GLint; v0: GLuint; v1: GLuint); stdcall;
  3164. glUniform3uiEXT: procedure(location: GLint; v0: GLuint; v1: GLuint; v2: GLuint); stdcall;
  3165. glUniform4uiEXT: procedure(location: GLint; v0: GLuint; v1: GLuint; v2: GLuint; v3: GLuint); stdcall;
  3166. glUniform1uivEXT: procedure(location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  3167. glUniform2uivEXT: procedure(location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  3168. glUniform3uivEXT: procedure(location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  3169. glUniform4uivEXT: procedure(location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  3170. glVertexAttribI1iEXT: procedure(index: GLuint; x: GLint); stdcall;
  3171. glVertexAttribI2iEXT: procedure(index: GLuint; x: GLint; y: GLint); stdcall;
  3172. glVertexAttribI3iEXT: procedure(index: GLuint; x: GLint; y: GLint; z: GLint); stdcall;
  3173. glVertexAttribI4iEXT: procedure(index: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); stdcall;
  3174. glVertexAttribI1uiEXT: procedure(index: GLuint; x: GLuint); stdcall;
  3175. glVertexAttribI2uiEXT: procedure(index: GLuint; x: GLuint; y: GLuint); stdcall;
  3176. glVertexAttribI3uiEXT: procedure(index: GLuint; x: GLuint; y: GLuint; z: GLuint); stdcall;
  3177. glVertexAttribI4uiEXT: procedure(index: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); stdcall;
  3178. glVertexAttribI1ivEXT: procedure(index: GLuint; const v: PGLint); stdcall;
  3179. glVertexAttribI2ivEXT: procedure(index: GLuint; const v: PGLint); stdcall;
  3180. glVertexAttribI3ivEXT: procedure(index: GLuint; const v: PGLint); stdcall;
  3181. glVertexAttribI4ivEXT: procedure(index: GLuint; const v: PGLint); stdcall;
  3182. glVertexAttribI1uivEXT: procedure(index: GLuint; const v: PGLuint); stdcall;
  3183. glVertexAttribI2uivEXT: procedure(index: GLuint; const v: PGLuint); stdcall;
  3184. glVertexAttribI3uivEXT: procedure(index: GLuint; const v: PGLuint); stdcall;
  3185. glVertexAttribI4uivEXT: procedure(index: GLuint; const v: PGLuint); stdcall;
  3186. glVertexAttribI4bvEXT: procedure(index: GLuint; const v: PGLbyte); stdcall;
  3187. glVertexAttribI4svEXT: procedure(index: GLuint; const v: PGLshort); stdcall;
  3188. glVertexAttribI4ubvEXT: procedure(index: GLuint; const v: PGLubyte); stdcall;
  3189. glVertexAttribI4usvEXT: procedure(index: GLuint; const v: PGLushort); stdcall;
  3190. glVertexAttribIPointerEXT: procedure(index: GLuint; size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  3191. glGetVertexAttribIivEXT: procedure(index: GLuint; pname: GLenum; params: PGLint); stdcall;
  3192. glGetVertexAttribIuivEXT: procedure(index: GLuint; pname: GLenum; params: PGLuint); stdcall;
  3193. {$EndIf}
  3194. {$IfDef GL_EXT_histogram}
  3195. glGetHistogramEXT: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; values: pointer); stdcall;
  3196. glGetHistogramParameterfvEXT: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3197. glGetHistogramParameterivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3198. glGetMinmaxEXT: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; values: pointer); stdcall;
  3199. glGetMinmaxParameterfvEXT: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3200. glGetMinmaxParameterivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3201. glHistogramEXT: procedure(target: GLenum; width: GLsizei; internalformat: GLenum; sink: GLboolean); stdcall;
  3202. glMinmaxEXT: procedure(target: GLenum; internalformat: GLenum; sink: GLboolean); stdcall;
  3203. glResetHistogramEXT: procedure(target: GLenum); stdcall;
  3204. glResetMinmaxEXT: procedure(target: GLenum); stdcall;
  3205. {$EndIf}
  3206. {$IfDef GL_EXT_index_func}
  3207. glIndexFuncEXT: procedure(func: GLenum; ref: GLclampf); stdcall;
  3208. {$EndIf}
  3209. {$IfDef GL_EXT_index_material}
  3210. glIndexMaterialEXT: procedure(face: GLenum; mode: GLenum); stdcall;
  3211. {$EndIf}
  3212. {$IfDef GL_EXT_light_texture}
  3213. glApplyTextureEXT: procedure(mode: GLenum); stdcall;
  3214. glTextureLightEXT: procedure(pname: GLenum); stdcall;
  3215. glTextureMaterialEXT: procedure(face: GLenum; mode: GLenum); stdcall;
  3216. {$EndIf}
  3217. {$IfDef GL_EXT_memory_object}
  3218. glGetUnsignedBytevEXT: procedure(pname: GLenum; data: PGLubyte); stdcall;
  3219. glGetUnsignedBytei_vEXT: procedure(target: GLenum; index: GLuint; data: PGLubyte); stdcall;
  3220. glDeleteMemoryObjectsEXT: procedure(n: GLsizei; const memoryObjects: PGLuint); stdcall;
  3221. glIsMemoryObjectEXT: function(memoryObject: GLuint): GLboolean; stdcall;
  3222. glCreateMemoryObjectsEXT: procedure(n: GLsizei; memoryObjects: PGLuint); stdcall;
  3223. glMemoryObjectParameterivEXT: procedure(memoryObject: GLuint; pname: GLenum; const params: PGLint); stdcall;
  3224. glGetMemoryObjectParameterivEXT: procedure(memoryObject: GLuint; pname: GLenum; params: PGLint); stdcall;
  3225. glTexStorageMem2DEXT: procedure(target: GLenum; levels: GLsizei; internalFormat: GLenum; width: GLsizei; height: GLsizei; memory: GLuint; offset: GLuint64); stdcall;
  3226. glTexStorageMem2DMultisampleEXT: procedure(target: GLenum; samples: GLsizei; internalFormat: GLenum; width: GLsizei; height: GLsizei; fixedSampleLocations: GLboolean; memory: GLuint; offset: GLuint64); stdcall;
  3227. glTexStorageMem3DEXT: procedure(target: GLenum; levels: GLsizei; internalFormat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; memory: GLuint; offset: GLuint64); stdcall;
  3228. glTexStorageMem3DMultisampleEXT: procedure(target: GLenum; samples: GLsizei; internalFormat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; fixedSampleLocations: GLboolean; memory: GLuint; offset: GLuint64); stdcall;
  3229. glBufferStorageMemEXT: procedure(target: GLenum; size: GLsizeiptr; memory: GLuint; offset: GLuint64); stdcall;
  3230. glTextureStorageMem2DEXT: procedure(texture: GLuint; levels: GLsizei; internalFormat: GLenum; width: GLsizei; height: GLsizei; memory: GLuint; offset: GLuint64); stdcall;
  3231. glTextureStorageMem2DMultisampleEXT: procedure(texture: GLuint; samples: GLsizei; internalFormat: GLenum; width: GLsizei; height: GLsizei; fixedSampleLocations: GLboolean; memory: GLuint; offset: GLuint64); stdcall;
  3232. glTextureStorageMem3DEXT: procedure(texture: GLuint; levels: GLsizei; internalFormat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; memory: GLuint; offset: GLuint64); stdcall;
  3233. glTextureStorageMem3DMultisampleEXT: procedure(texture: GLuint; samples: GLsizei; internalFormat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; fixedSampleLocations: GLboolean; memory: GLuint; offset: GLuint64); stdcall;
  3234. glNamedBufferStorageMemEXT: procedure(buffer: GLuint; size: GLsizeiptr; memory: GLuint; offset: GLuint64); stdcall;
  3235. glTexStorageMem1DEXT: procedure(target: GLenum; levels: GLsizei; internalFormat: GLenum; width: GLsizei; memory: GLuint; offset: GLuint64); stdcall;
  3236. glTextureStorageMem1DEXT: procedure(texture: GLuint; levels: GLsizei; internalFormat: GLenum; width: GLsizei; memory: GLuint; offset: GLuint64); stdcall;
  3237. {$EndIf}
  3238. {$IfDef GL_EXT_memory_object_fd}
  3239. glImportMemoryFdEXT: procedure(memory: GLuint; size: GLuint64; handleType: GLenum; fd: GLint); stdcall;
  3240. {$EndIf}
  3241. {$IfDef GL_EXT_memory_object_win32}
  3242. glImportMemoryWin32HandleEXT: procedure(memory: GLuint; size: GLuint64; handleType: GLenum; handle: pointer); stdcall;
  3243. glImportMemoryWin32NameEXT: procedure(memory: GLuint; size: GLuint64; handleType: GLenum; const name: pointer); stdcall;
  3244. {$EndIf}
  3245. {$IfDef GL_EXT_multi_draw_arrays}
  3246. glMultiDrawArraysEXT: procedure(mode: GLenum; const first: PGLint; const count: PGLsizei; primcount: GLsizei); stdcall;
  3247. glMultiDrawElementsEXT: procedure(mode: GLenum; const count: PGLsizei; _type: GLenum; const indices:Ppointer; primcount: GLsizei); stdcall;
  3248. {$EndIf}
  3249. {$IfDef GL_EXT_multisample}
  3250. glSampleMaskEXT: procedure(value: GLclampf; invert: GLboolean); stdcall;
  3251. glSamplePatternEXT: procedure(pattern: GLenum); stdcall;
  3252. {$EndIf}
  3253. {$IfDef GL_EXT_paletted_texture}
  3254. glColorTableEXT: procedure(target: GLenum; internalFormat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; const table: pointer); stdcall;
  3255. glGetColorTableEXT: procedure(target: GLenum; format: GLenum; _type: GLenum; data: pointer); stdcall;
  3256. glGetColorTableParameterivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3257. glGetColorTableParameterfvEXT: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3258. {$EndIf}
  3259. {$IfDef GL_EXT_pixel_transform}
  3260. glPixelTransformParameteriEXT: procedure(target: GLenum; pname: GLenum; param: GLint); stdcall;
  3261. glPixelTransformParameterfEXT: procedure(target: GLenum; pname: GLenum; param: GLfloat); stdcall;
  3262. glPixelTransformParameterivEXT: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  3263. glPixelTransformParameterfvEXT: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  3264. glGetPixelTransformParameterivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3265. glGetPixelTransformParameterfvEXT: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3266. {$EndIf}
  3267. {$IfDef GL_EXT_point_parameters}
  3268. glPointParameterfEXT: procedure(pname: GLenum; param: GLfloat); stdcall;
  3269. glPointParameterfvEXT: procedure(pname: GLenum; const params: PGLfloat); stdcall;
  3270. {$EndIf}
  3271. {$IfDef GL_EXT_polygon_offset}
  3272. glPolygonOffsetEXT: procedure(factor: GLfloat; bias: GLfloat); stdcall;
  3273. {$EndIf}
  3274. {$IfDef GL_EXT_polygon_offset_clamp}
  3275. glPolygonOffsetClampEXT: procedure(factor: GLfloat; units: GLfloat; clamp: GLfloat); stdcall;
  3276. {$EndIf}
  3277. {$IfDef GL_EXT_provoking_vertex}
  3278. glProvokingVertexEXT: procedure(mode: GLenum); stdcall;
  3279. {$EndIf}
  3280. {$IfDef GL_EXT_raster_multisample}
  3281. glRasterSamplesEXT: procedure(samples: GLuint; fixedsamplelocations: GLboolean); stdcall;
  3282. {$EndIf}
  3283. {$IfDef GL_EXT_secondary_color}
  3284. glSecondaryColor3bEXT: procedure(red: GLbyte; green: GLbyte; blue: GLbyte); stdcall;
  3285. glSecondaryColor3bvEXT: procedure(const v: PGLbyte); stdcall;
  3286. glSecondaryColor3dEXT: procedure(red: GLdouble; green: GLdouble; blue: GLdouble); stdcall;
  3287. glSecondaryColor3dvEXT: procedure(const v: PGLdouble); stdcall;
  3288. glSecondaryColor3fEXT: procedure(red: GLfloat; green: GLfloat; blue: GLfloat); stdcall;
  3289. glSecondaryColor3fvEXT: procedure(const v: PGLfloat); stdcall;
  3290. glSecondaryColor3iEXT: procedure(red: GLint; green: GLint; blue: GLint); stdcall;
  3291. glSecondaryColor3ivEXT: procedure(const v: PGLint); stdcall;
  3292. glSecondaryColor3sEXT: procedure(red: GLshort; green: GLshort; blue: GLshort); stdcall;
  3293. glSecondaryColor3svEXT: procedure(const v: PGLshort); stdcall;
  3294. glSecondaryColor3ubEXT: procedure(red: GLubyte; green: GLubyte; blue: GLubyte); stdcall;
  3295. glSecondaryColor3ubvEXT: procedure(const v: PGLubyte); stdcall;
  3296. glSecondaryColor3uiEXT: procedure(red: GLuint; green: GLuint; blue: GLuint); stdcall;
  3297. glSecondaryColor3uivEXT: procedure(const v: PGLuint); stdcall;
  3298. glSecondaryColor3usEXT: procedure(red: GLushort; green: GLushort; blue: GLushort); stdcall;
  3299. glSecondaryColor3usvEXT: procedure(const v: PGLushort); stdcall;
  3300. glSecondaryColorPointerEXT: procedure(size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  3301. {$EndIf}
  3302. {$IfDef GL_EXT_semaphore}
  3303. glGenSemaphoresEXT: procedure(n: GLsizei; semaphores: PGLuint); stdcall;
  3304. glDeleteSemaphoresEXT: procedure(n: GLsizei; const semaphores: PGLuint); stdcall;
  3305. glIsSemaphoreEXT: function(semaphore: GLuint): GLboolean; stdcall;
  3306. glSemaphoreParameterui64vEXT: procedure(semaphore: GLuint; pname: GLenum; const params: PGLuint64); stdcall;
  3307. glGetSemaphoreParameterui64vEXT: procedure(semaphore: GLuint; pname: GLenum; params: PGLuint64); stdcall;
  3308. glWaitSemaphoreEXT: procedure(semaphore: GLuint; numBufferBarriers: GLuint; const buffers: PGLuint; numTextureBarriers: GLuint; const textures: PGLuint; const srcLayouts: PGLenum); stdcall;
  3309. glSignalSemaphoreEXT: procedure(semaphore: GLuint; numBufferBarriers: GLuint; const buffers: PGLuint; numTextureBarriers: GLuint; const textures: PGLuint; const dstLayouts: PGLenum); stdcall;
  3310. {$EndIf}
  3311. {$IfDef GL_EXT_semaphore_fd}
  3312. glImportSemaphoreFdEXT: procedure(semaphore: GLuint; handleType: GLenum; fd: GLint); stdcall;
  3313. {$EndIf}
  3314. {$IfDef GL_EXT_semaphore_win32}
  3315. glImportSemaphoreWin32HandleEXT: procedure(semaphore: GLuint; handleType: GLenum; handle: pointer); stdcall;
  3316. glImportSemaphoreWin32NameEXT: procedure(semaphore: GLuint; handleType: GLenum; const name: pointer); stdcall;
  3317. {$EndIf}
  3318. {$IfDef GL_EXT_separate_shader_objects}
  3319. glUseShaderProgramEXT: procedure(_type: GLenum; _program: GLuint); stdcall;
  3320. glActiveProgramEXT: procedure(_program: GLuint); stdcall;
  3321. glCreateShaderProgramEXT: function(_type: GLenum; const _string: PGLchar): GLuint; stdcall;
  3322. {$EndIf}
  3323. {$IfDef GL_EXT_shader_framebuffer_fetch_non_coherent}
  3324. glFramebufferFetchBarrierEXT: procedure; stdcall;
  3325. {$EndIf}
  3326. {$IfDef GL_EXT_shader_image_load_store}
  3327. glBindImageTextureEXT: procedure(index: GLuint; texture: GLuint; level: GLint; layered: GLboolean; layer: GLint; access: GLenum; format: GLint); stdcall;
  3328. glMemoryBarrierEXT: procedure(barriers: GLbitfield); stdcall;
  3329. {$EndIf}
  3330. {$IfDef GL_EXT_stencil_clear_tag}
  3331. glStencilClearTagEXT: procedure(stencilTagBits: GLsizei; stencilClearTag: GLuint); stdcall;
  3332. {$EndIf}
  3333. {$IfDef GL_EXT_stencil_two_side}
  3334. glActiveStencilFaceEXT: procedure(face: GLenum); stdcall;
  3335. {$EndIf}
  3336. {$IfDef GL_EXT_subtexture}
  3337. glTexSubImage1DEXT: procedure(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  3338. glTexSubImage2DEXT: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  3339. {$EndIf}
  3340. {$IfDef GL_EXT_texture3D}
  3341. glTexImage3DEXT: procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  3342. 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;
  3343. {$EndIf}
  3344. {$IfDef GL_EXT_texture_array}
  3345. glFramebufferTextureLayerEXT: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; layer: GLint); stdcall;
  3346. {$EndIf}
  3347. {$IfDef GL_EXT_texture_buffer_object}
  3348. glTexBufferEXT: procedure(target: GLenum; internalformat: GLenum; buffer: GLuint); stdcall;
  3349. {$EndIf}
  3350. {$IfDef GL_EXT_texture_integer}
  3351. glTexParameterIivEXT: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  3352. glTexParameterIuivEXT: procedure(target: GLenum; pname: GLenum; const params: PGLuint); stdcall;
  3353. glGetTexParameterIivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3354. glGetTexParameterIuivEXT: procedure(target: GLenum; pname: GLenum; params: PGLuint); stdcall;
  3355. glClearColorIiEXT: procedure(red: GLint; green: GLint; blue: GLint; alpha: GLint); stdcall;
  3356. glClearColorIuiEXT: procedure(red: GLuint; green: GLuint; blue: GLuint; alpha: GLuint); stdcall;
  3357. {$EndIf}
  3358. {$IfDef GL_EXT_texture_object}
  3359. glAreTexturesResidentEXT: function(n: GLsizei; const textures: PGLuint; residences: PGLboolean): GLboolean; stdcall;
  3360. glBindTextureEXT: procedure(target: GLenum; texture: GLuint); stdcall;
  3361. glDeleteTexturesEXT: procedure(n: GLsizei; const textures: PGLuint); stdcall;
  3362. glGenTexturesEXT: procedure(n: GLsizei; textures: PGLuint); stdcall;
  3363. glIsTextureEXT: function(texture: GLuint): GLboolean; stdcall;
  3364. glPrioritizeTexturesEXT: procedure(n: GLsizei; const textures: PGLuint; const priorities: PGLclampf); stdcall;
  3365. {$EndIf}
  3366. {$IfDef GL_EXT_texture_perturb_normal}
  3367. glTextureNormalEXT: procedure(mode: GLenum); stdcall;
  3368. {$EndIf}
  3369. {$IfDef GL_EXT_texture_storage}
  3370. glTexStorage1DEXT: procedure(target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei); stdcall;
  3371. glTexStorage2DEXT: procedure(target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  3372. glTexStorage3DEXT: procedure(target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei); stdcall;
  3373. {$EndIf}
  3374. {$IfDef GL_EXT_timer_query}
  3375. glGetQueryObjecti64vEXT: procedure(id: GLuint; pname: GLenum; params: PGLint64); stdcall;
  3376. glGetQueryObjectui64vEXT: procedure(id: GLuint; pname: GLenum; params: PGLuint64); stdcall;
  3377. {$EndIf}
  3378. {$IfDef GL_EXT_transform_feedback}
  3379. glBeginTransformFeedbackEXT: procedure(primitiveMode: GLenum); stdcall;
  3380. glEndTransformFeedbackEXT: procedure; stdcall;
  3381. glBindBufferRangeEXT: procedure(target: GLenum; index: GLuint; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); stdcall;
  3382. glBindBufferOffsetEXT: procedure(target: GLenum; index: GLuint; buffer: GLuint; offset: GLintptr); stdcall;
  3383. glBindBufferBaseEXT: procedure(target: GLenum; index: GLuint; buffer: GLuint); stdcall;
  3384. glTransformFeedbackVaryingsEXT: procedure(_program: GLuint; count: GLsizei; const varyings: PPGLchar; bufferMode: GLenum); stdcall;
  3385. glGetTransformFeedbackVaryingEXT: procedure(_program: GLuint; index: GLuint; bufSize: GLsizei; length: PGLsizei; size: PGLsizei; _type: PGLenum; name: PGLchar); stdcall;
  3386. {$EndIf}
  3387. {$IfDef GL_EXT_vertex_array}
  3388. glArrayElementEXT: procedure(i: GLint); stdcall;
  3389. glColorPointerEXT: procedure(size: GLint; _type: GLenum; stride: GLsizei; count: GLsizei; const _pointer: pointer); stdcall;
  3390. glDrawArraysEXT: procedure(mode: GLenum; first: GLint; count: GLsizei); stdcall;
  3391. glEdgeFlagPointerEXT: procedure(stride: GLsizei; count: GLsizei; const pointer: PGLboolean); stdcall;
  3392. glGetPointervEXT: procedure(pname: GLenum; params:Ppointer); stdcall;
  3393. glIndexPointerEXT: procedure(_type: GLenum; stride: GLsizei; count: GLsizei; const _pointer: pointer); stdcall;
  3394. glNormalPointerEXT: procedure(_type: GLenum; stride: GLsizei; count: GLsizei; const _pointer: pointer); stdcall;
  3395. glTexCoordPointerEXT: procedure(size: GLint; _type: GLenum; stride: GLsizei; count: GLsizei; const _pointer: pointer); stdcall;
  3396. glVertexPointerEXT: procedure(size: GLint; _type: GLenum; stride: GLsizei; count: GLsizei; const _pointer: pointer); stdcall;
  3397. {$EndIf}
  3398. {$IfDef GL_EXT_vertex_attrib_64bit}
  3399. glVertexAttribL1dEXT: procedure(index: GLuint; x: GLdouble); stdcall;
  3400. glVertexAttribL2dEXT: procedure(index: GLuint; x: GLdouble; y: GLdouble); stdcall;
  3401. glVertexAttribL3dEXT: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  3402. glVertexAttribL4dEXT: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  3403. glVertexAttribL1dvEXT: procedure(index: GLuint; const v: PGLdouble); stdcall;
  3404. glVertexAttribL2dvEXT: procedure(index: GLuint; const v: PGLdouble); stdcall;
  3405. glVertexAttribL3dvEXT: procedure(index: GLuint; const v: PGLdouble); stdcall;
  3406. glVertexAttribL4dvEXT: procedure(index: GLuint; const v: PGLdouble); stdcall;
  3407. glVertexAttribLPointerEXT: procedure(index: GLuint; size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  3408. glGetVertexAttribLdvEXT: procedure(index: GLuint; pname: GLenum; params: PGLdouble); stdcall;
  3409. {$EndIf}
  3410. {$IfDef GL_EXT_vertex_shader}
  3411. glBeginVertexShaderEXT: procedure; stdcall;
  3412. glEndVertexShaderEXT: procedure; stdcall;
  3413. glBindVertexShaderEXT: procedure(id: GLuint); stdcall;
  3414. glGenVertexShadersEXT: function(range: GLuint): GLuint; stdcall;
  3415. glDeleteVertexShaderEXT: procedure(id: GLuint); stdcall;
  3416. glShaderOp1EXT: procedure(op: GLenum; res: GLuint; arg1: GLuint); stdcall;
  3417. glShaderOp2EXT: procedure(op: GLenum; res: GLuint; arg1: GLuint; arg2: GLuint); stdcall;
  3418. glShaderOp3EXT: procedure(op: GLenum; res: GLuint; arg1: GLuint; arg2: GLuint; arg3: GLuint); stdcall;
  3419. glSwizzleEXT: procedure(res: GLuint; _in: GLuint; outX: GLenum; outY: GLenum; outZ: GLenum; outW: GLenum); stdcall;
  3420. glWriteMaskEXT: procedure(res: GLuint; _in: GLuint; outX: GLenum; outY: GLenum; outZ: GLenum; outW: GLenum); stdcall;
  3421. glInsertComponentEXT: procedure(res: GLuint; src: GLuint; num: GLuint); stdcall;
  3422. glExtractComponentEXT: procedure(res: GLuint; src: GLuint; num: GLuint); stdcall;
  3423. glGenSymbolsEXT: function(datatype: GLenum; storagetype: GLenum; range: GLenum; components: GLuint): GLuint; stdcall;
  3424. glSetInvariantEXT: procedure(id: GLuint; _type: GLenum; const addr: pointer); stdcall;
  3425. glSetLocalConstantEXT: procedure(id: GLuint; _type: GLenum; const addr: pointer); stdcall;
  3426. glVariantbvEXT: procedure(id: GLuint; const addr: PGLbyte); stdcall;
  3427. glVariantsvEXT: procedure(id: GLuint; const addr: PGLshort); stdcall;
  3428. glVariantivEXT: procedure(id: GLuint; const addr: PGLint); stdcall;
  3429. glVariantfvEXT: procedure(id: GLuint; const addr: PGLfloat); stdcall;
  3430. glVariantdvEXT: procedure(id: GLuint; const addr: PGLdouble); stdcall;
  3431. glVariantubvEXT: procedure(id: GLuint; const addr: PGLubyte); stdcall;
  3432. glVariantusvEXT: procedure(id: GLuint; const addr: PGLushort); stdcall;
  3433. glVariantuivEXT: procedure(id: GLuint; const addr: PGLuint); stdcall;
  3434. glVariantPointerEXT: procedure(id: GLuint; _type: GLenum; stride: GLuint; const addr: pointer); stdcall;
  3435. glEnableVariantClientStateEXT: procedure(id: GLuint); stdcall;
  3436. glDisableVariantClientStateEXT: procedure(id: GLuint); stdcall;
  3437. glBindLightParameterEXT: function(light: GLenum; value: GLenum): GLuint; stdcall;
  3438. glBindMaterialParameterEXT: function(face: GLenum; value: GLenum): GLuint; stdcall;
  3439. glBindTexGenParameterEXT: function(_unit: GLenum; coord: GLenum; value: GLenum): GLuint; stdcall;
  3440. glBindTextureUnitParameterEXT: function(_unit: GLenum; value: GLenum): GLuint; stdcall;
  3441. glBindParameterEXT: function(value: GLenum): GLuint; stdcall;
  3442. glIsVariantEnabledEXT: function(id: GLuint; cap: GLenum): GLboolean; stdcall;
  3443. glGetVariantBooleanvEXT: procedure(id: GLuint; value: GLenum; data: PGLboolean); stdcall;
  3444. glGetVariantIntegervEXT: procedure(id: GLuint; value: GLenum; data: PGLint); stdcall;
  3445. glGetVariantFloatvEXT: procedure(id: GLuint; value: GLenum; data: PGLfloat); stdcall;
  3446. glGetVariantPointervEXT: procedure(id: GLuint; value: GLenum; data:Ppointer); stdcall;
  3447. glGetInvariantBooleanvEXT: procedure(id: GLuint; value: GLenum; data: PGLboolean); stdcall;
  3448. glGetInvariantIntegervEXT: procedure(id: GLuint; value: GLenum; data: PGLint); stdcall;
  3449. glGetInvariantFloatvEXT: procedure(id: GLuint; value: GLenum; data: PGLfloat); stdcall;
  3450. glGetLocalConstantBooleanvEXT: procedure(id: GLuint; value: GLenum; data: PGLboolean); stdcall;
  3451. glGetLocalConstantIntegervEXT: procedure(id: GLuint; value: GLenum; data: PGLint); stdcall;
  3452. glGetLocalConstantFloatvEXT: procedure(id: GLuint; value: GLenum; data: PGLfloat); stdcall;
  3453. {$EndIf}
  3454. {$IfDef GL_EXT_vertex_weighting}
  3455. glVertexWeightfEXT: procedure(weight: GLfloat); stdcall;
  3456. glVertexWeightfvEXT: procedure(const weight: PGLfloat); stdcall;
  3457. glVertexWeightPointerEXT: procedure(size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  3458. {$EndIf}
  3459. {$IfDef GL_EXT_win32_keyed_mutex}
  3460. glAcquireKeyedMutexWin32EXT: function(memory: GLuint; key: GLuint64; timeout: GLuint): GLboolean; stdcall;
  3461. glReleaseKeyedMutexWin32EXT: function(memory: GLuint; key: GLuint64): GLboolean; stdcall;
  3462. {$EndIf}
  3463. {$IfDef GL_EXT_window_rectangles}
  3464. glWindowRectanglesEXT: procedure(mode: GLenum; count: GLsizei; const box: PGLint); stdcall;
  3465. {$EndIf}
  3466. {$IfDef GL_EXT_x11_sync_object}
  3467. glImportSyncEXT: function(external_sync_type: GLenum; external_sync: GLintptr; flags: GLbitfield): GLsync; stdcall;
  3468. {$EndIf}
  3469. {$IfDef GL_GREMEDY_frame_terminator}
  3470. glFrameTerminatorGREMEDY: procedure; stdcall;
  3471. {$EndIf}
  3472. {$IfDef GL_GREMEDY_string_marker}
  3473. glStringMarkerGREMEDY: procedure(len: GLsizei; const _string: pointer); stdcall;
  3474. {$EndIf}
  3475. {$IfDef GL_HP_image_transform}
  3476. glImageTransformParameteriHP: procedure(target: GLenum; pname: GLenum; param: GLint); stdcall;
  3477. glImageTransformParameterfHP: procedure(target: GLenum; pname: GLenum; param: GLfloat); stdcall;
  3478. glImageTransformParameterivHP: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  3479. glImageTransformParameterfvHP: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  3480. glGetImageTransformParameterivHP: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3481. glGetImageTransformParameterfvHP: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3482. {$EndIf}
  3483. {$IfDef GL_IBM_multimode_draw_arrays}
  3484. glMultiModeDrawArraysIBM: procedure(const mode: PGLenum; const first: PGLint; const count: PGLsizei; primcount: GLsizei; modestride: GLint); stdcall;
  3485. glMultiModeDrawElementsIBM: procedure(const mode: PGLenum; const count: PGLsizei; _type: GLenum; const indices: {P}Ppointer; primcount: GLsizei; modestride: GLint); stdcall;
  3486. {$EndIf}
  3487. {$IfDef GL_IBM_static_data}
  3488. glFlushStaticDataIBM: procedure(target: GLenum); stdcall;
  3489. {$EndIf}
  3490. {$IfDef GL_IBM_vertex_array_lists}
  3491. glColorPointerListIBM: procedure(size: GLint; _type: GLenum; stride: GLint; const _pointer: {P}Ppointer; ptrstride: GLint); stdcall;
  3492. glSecondaryColorPointerListIBM: procedure(size: GLint; _type: GLenum; stride: GLint; const _pointer: {P}Ppointer; ptrstride: GLint); stdcall;
  3493. glEdgeFlagPointerListIBM: procedure(stride: GLint; const _pointer: {P}PGLboolean; ptrstride: GLint); stdcall;
  3494. glFogCoordPointerListIBM: procedure(_type: GLenum; stride: GLint; const _pointer: {P}Ppointer; ptrstride: GLint); stdcall;
  3495. glIndexPointerListIBM: procedure(_type: GLenum; stride: GLint; const _pointer: {P}Ppointer; ptrstride: GLint); stdcall;
  3496. glNormalPointerListIBM: procedure(_type: GLenum; stride: GLint; const _pointer: {P}Ppointer; ptrstride: GLint); stdcall;
  3497. glTexCoordPointerListIBM: procedure(size: GLint; _type: GLenum; stride: GLint; const _pointer: {P}Ppointer; ptrstride: GLint); stdcall;
  3498. glVertexPointerListIBM: procedure(size: GLint; _type: GLenum; stride: GLint; const _pointer: {P}Ppointer; ptrstride: GLint); stdcall;
  3499. {$EndIf}
  3500. {$IfDef GL_INGR_blend_func_separate}
  3501. glBlendFuncSeparateINGR: procedure(sfactorRGB: GLenum; dfactorRGB: GLenum; sfactorAlpha: GLenum; dfactorAlpha: GLenum); stdcall;
  3502. {$EndIf}
  3503. {$IfDef GL_INTEL_framebuffer_CMAA}
  3504. glApplyFramebufferAttachmentCMAAINTEL: procedure; stdcall;
  3505. {$EndIf}
  3506. {$IfDef GL_INTEL_map_texture}
  3507. glSyncTextureINTEL: procedure(texture: GLuint); stdcall;
  3508. glUnmapTexture2DINTEL: procedure(texture: GLuint; level: GLint); stdcall;
  3509. glMapTexture2DINTEL: function(texture: GLuint; level: GLint; access: GLbitfield; stride: PGLint; layout: PGLenum): pointer;
  3510. {$EndIf}
  3511. {$IfDef GL_INTEL_parallel_arrays}
  3512. glVertexPointervINTEL: procedure(size: GLint; _type: GLenum; const _pointer: {P}Ppointer); stdcall;
  3513. glNormalPointervINTEL: procedure(_type: GLenum; const _pointer: {P}Ppointer); stdcall;
  3514. glColorPointervINTEL: procedure(size: GLint; _type: GLenum; const _pointer: {P}Ppointer); stdcall;
  3515. glTexCoordPointervINTEL: procedure(size: GLint; _type: GLenum; const _pointer: {P}Ppointer); stdcall;
  3516. {$EndIf}
  3517. {$IfDef GL_INTEL_performance_query}
  3518. glBeginPerfQueryINTEL: procedure(queryHandle: GLuint); stdcall;
  3519. glCreatePerfQueryINTEL: procedure(queryId: GLuint; queryHandle: PGLuint); stdcall;
  3520. glDeletePerfQueryINTEL: procedure(queryHandle: GLuint); stdcall;
  3521. glEndPerfQueryINTEL: procedure(queryHandle: GLuint); stdcall;
  3522. glGetFirstPerfQueryIdINTEL: procedure(queryId: PGLuint); stdcall;
  3523. glGetNextPerfQueryIdINTEL: procedure(queryId: GLuint; nextQueryId: PGLuint); stdcall;
  3524. 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;
  3525. glGetPerfQueryDataINTEL: procedure(queryHandle: GLuint; flags: GLuint; dataSize: GLsizei; data: pointer; bytesWritten: PGLuint); stdcall;
  3526. glGetPerfQueryIdByNameINTEL: procedure(queryName: PGLchar; queryId: PGLuint); stdcall;
  3527. glGetPerfQueryInfoINTEL: procedure(queryId: GLuint; queryNameLength: GLuint; queryName: PGLchar; dataSize: PGLuint; noCounters: PGLuint; noInstances: PGLuint; capsMask: PGLuint); stdcall;
  3528. {$EndIf}
  3529. {$IfDef GL_MESA_framebuffer_flip_y}
  3530. glFramebufferParameteriMESA: procedure(target: GLenum; pname: GLenum; param: GLint); stdcall;
  3531. glGetFramebufferParameterivMESA: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3532. {$EndIf}
  3533. {$IfDef GL_MESA_resize_buffers}
  3534. glResizeBuffersMESA: procedure; stdcall;
  3535. {$EndIf}
  3536. {$IfDef GL_MESA_window_pos}
  3537. glWindowPos2dMESA: procedure(x: GLdouble; y: GLdouble); stdcall;
  3538. glWindowPos2dvMESA: procedure(const v: PGLdouble); stdcall;
  3539. glWindowPos2fMESA: procedure(x: GLfloat; y: GLfloat); stdcall;
  3540. glWindowPos2fvMESA: procedure(const v: PGLfloat); stdcall;
  3541. glWindowPos2iMESA: procedure(x: GLint; y: GLint); stdcall;
  3542. glWindowPos2ivMESA: procedure(const v: PGLint); stdcall;
  3543. glWindowPos2sMESA: procedure(x: GLshort; y: GLshort); stdcall;
  3544. glWindowPos2svMESA: procedure(const v: PGLshort); stdcall;
  3545. glWindowPos3dMESA: procedure(x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  3546. glWindowPos3dvMESA: procedure(const v: PGLdouble); stdcall;
  3547. glWindowPos3fMESA: procedure(x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  3548. glWindowPos3fvMESA: procedure(const v: PGLfloat); stdcall;
  3549. glWindowPos3iMESA: procedure(x: GLint; y: GLint; z: GLint); stdcall;
  3550. glWindowPos3ivMESA: procedure(const v: PGLint); stdcall;
  3551. glWindowPos3sMESA: procedure(x: GLshort; y: GLshort; z: GLshort); stdcall;
  3552. glWindowPos3svMESA: procedure(const v: PGLshort); stdcall;
  3553. glWindowPos4dMESA: procedure(x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  3554. glWindowPos4dvMESA: procedure(const v: PGLdouble); stdcall;
  3555. glWindowPos4fMESA: procedure(x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  3556. glWindowPos4fvMESA: procedure(const v: PGLfloat); stdcall;
  3557. glWindowPos4iMESA: procedure(x: GLint; y: GLint; z: GLint; w: GLint); stdcall;
  3558. glWindowPos4ivMESA: procedure(const v: PGLint); stdcall;
  3559. glWindowPos4sMESA: procedure(x: GLshort; y: GLshort; z: GLshort; w: GLshort); stdcall;
  3560. glWindowPos4svMESA: procedure(const v: PGLshort); stdcall;
  3561. {$EndIf}
  3562. {$IfDef GL_NVX_conditional_render}
  3563. glBeginConditionalRenderNVX: procedure(id: GLuint); stdcall;
  3564. glEndConditionalRenderNVX: procedure; stdcall;
  3565. {$EndIf}
  3566. {$IfDef GL_NVX_gpu_multicast2}
  3567. glUploadGpuMaskNVX: procedure(mask: GLbitfield); stdcall;
  3568. glMulticastViewportArrayvNVX: procedure(gpu: GLuint; first: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  3569. glMulticastViewportPositionWScaleNVX: procedure(gpu: GLuint; index: GLuint; xcoeff: GLfloat; ycoeff: GLfloat); stdcall;
  3570. glMulticastScissorArrayvNVX: procedure(gpu: GLuint; first: GLuint; count: GLsizei; const v: PGLint); stdcall;
  3571. 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;
  3572. 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;
  3573. {$EndIf}
  3574. {$IfDef GL_NVX_linked_gpu_multicast}
  3575. glLGPUNamedBufferSubDataNVX: procedure(gpuMask: GLbitfield; buffer: GLuint; offset: GLintptr; size: GLsizeiptr; const data: pointer); stdcall;
  3576. 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;
  3577. glLGPUInterlockNVX: procedure; stdcall;
  3578. {$EndIf}
  3579. {$IfDef GL_NVX_progress_fence}
  3580. glCreateProgressFenceNVX: function: GLuint; stdcall;
  3581. glSignalSemaphoreui64NVX: procedure(signalGpu: GLuint; fenceObjectCount: GLsizei; const semaphoreArray: PGLuint; const fenceValueArray: PGLuint64); stdcall;
  3582. glWaitSemaphoreui64NVX: procedure(waitGpu: GLuint; fenceObjectCount: GLsizei; const semaphoreArray: PGLuint; const fenceValueArray: PGLuint64); stdcall;
  3583. glClientWaitSemaphoreui64NVX: procedure(fenceObjectCount: GLsizei; const semaphoreArray: PGLuint; const fenceValueArray: PGLuint64); stdcall;
  3584. {$EndIf}
  3585. {$IfDef GL_NV_alpha_to_coverage_dither_control}
  3586. glAlphaToCoverageDitherControlNV: procedure(mode: GLenum); stdcall;
  3587. {$EndIf}
  3588. {$IfDef GL_NV_bindless_multi_draw_indirect}
  3589. glMultiDrawArraysIndirectBindlessNV: procedure(mode: GLenum; const indirect: pointer; drawCount: GLsizei; stride: GLsizei; vertexBufferCount: GLint); stdcall;
  3590. glMultiDrawElementsIndirectBindlessNV: procedure(mode: GLenum; _type: GLenum; const indirect: pointer; drawCount: GLsizei; stride: GLsizei; vertexBufferCount: GLint); stdcall;
  3591. {$EndIf}
  3592. {$IfDef GL_NV_bindless_multi_draw_indirect_count}
  3593. glMultiDrawArraysIndirectBindlessCountNV: procedure(mode: GLenum; const indirect: pointer; drawCount: GLsizei; maxDrawCount: GLsizei; stride: GLsizei; vertexBufferCount: GLint); stdcall;
  3594. glMultiDrawElementsIndirectBindlessCountNV: procedure(mode: GLenum; _type: GLenum; const indirect: pointer; drawCount: GLsizei; maxDrawCount: GLsizei; stride: GLsizei; vertexBufferCount: GLint); stdcall;
  3595. {$EndIf}
  3596. {$IfDef GL_NV_bindless_texture}
  3597. glGetTextureHandleNV: function(texture: GLuint): GLuint64; stdcall;
  3598. glGetTextureSamplerHandleNV: function(texture: GLuint; sampler: GLuint): GLuint64; stdcall;
  3599. glMakeTextureHandleResidentNV: procedure(handle: GLuint64); stdcall;
  3600. glMakeTextureHandleNonResidentNV: procedure(handle: GLuint64); stdcall;
  3601. glGetImageHandleNV: function(texture: GLuint; level: GLint; layered: GLboolean; layer: GLint; format: GLenum): GLuint64; stdcall;
  3602. glMakeImageHandleResidentNV: procedure(handle: GLuint64; access: GLenum); stdcall;
  3603. glMakeImageHandleNonResidentNV: procedure(handle: GLuint64); stdcall;
  3604. glUniformHandleui64NV: procedure(location: GLint; value: GLuint64); stdcall;
  3605. glUniformHandleui64vNV: procedure(location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  3606. glProgramUniformHandleui64NV: procedure(_program: GLuint; location: GLint; value: GLuint64); stdcall;
  3607. glProgramUniformHandleui64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const values: PGLuint64); stdcall;
  3608. glIsTextureHandleResidentNV: function(handle: GLuint64): GLboolean; stdcall;
  3609. glIsImageHandleResidentNV: function(handle: GLuint64): GLboolean; stdcall;
  3610. {$EndIf}
  3611. {$IfDef GL_NV_blend_equation_advanced}
  3612. glBlendParameteriNV: procedure(pname: GLenum; value: GLint); stdcall;
  3613. glBlendBarrierNV: procedure; stdcall;
  3614. {$EndIf}
  3615. {$IfDef GL_NV_clip_space_w_scaling}
  3616. glViewportPositionWScaleNV: procedure(index: GLuint; xcoeff: GLfloat; ycoeff: GLfloat); stdcall;
  3617. {$EndIf}
  3618. {$IfDef GL_NV_command_list}
  3619. glCreateStatesNV: procedure(n: GLsizei; states: PGLuint); stdcall;
  3620. glDeleteStatesNV: procedure(n: GLsizei; states: PGLuint); stdcall;
  3621. glIsStateNV: function(state: GLuint): GLboolean; stdcall;
  3622. glStateCaptureNV: procedure(state: GLuint; mode: GLenum); stdcall;
  3623. glGetCommandHeaderNV: function(tokenID: GLenum; size: GLuint): GLuint;
  3624. glGetStageIndexNV: function(shadertype: GLenum): GLushort; stdcall;
  3625. glDrawCommandsNV: procedure(primitiveMode: GLenum; buffer: GLuint; const indirects: PGLintptr; const sizes: PGLsizei; count: GLuint); stdcall;
  3626. glDrawCommandsAddressNV: procedure(primitiveMode: GLenum; const indirects: PGLuint64; const sizes: PGLsizei; count: GLuint); stdcall;
  3627. glDrawCommandsStatesNV: procedure(buffer: GLuint; const indirects: PGLintptr; const sizes: PGLsizei; const states: PGLuint; const fbos: PGLuint; count: GLuint); stdcall;
  3628. glDrawCommandsStatesAddressNV: procedure(const indirects: PGLuint64; const sizes: PGLsizei; const states: PGLuint; const fbos: PGLuint; count: GLuint); stdcall;
  3629. glCreateCommandListsNV: procedure(n: GLsizei; lists: PGLuint); stdcall;
  3630. glDeleteCommandListsNV: procedure(n: GLsizei; const lists: PGLuint); stdcall;
  3631. glIsCommandListNV: function(list: GLuint): GLboolean; stdcall;
  3632. glListDrawCommandsStatesClientNV: procedure(list: GLuint; segment: GLuint; const indirects: {P}Ppointer; const sizes: PGLsizei; const states: PGLuint; const fbos: PGLuint; count: GLuint); stdcall;
  3633. glCommandListSegmentsNV: procedure(list: GLuint; segments: GLuint); stdcall;
  3634. glCompileCommandListNV: procedure(list: GLuint); stdcall;
  3635. glCallCommandListNV: procedure(list: GLuint); stdcall;
  3636. {$EndIf}
  3637. {$IfDef GL_NV_conditional_render}
  3638. glBeginConditionalRenderNV: procedure(id: GLuint; mode: GLenum); stdcall;
  3639. glEndConditionalRenderNV: procedure; stdcall;
  3640. {$EndIf}
  3641. {$IfDef GL_NV_conservative_raster}
  3642. glSubpixelPrecisionBiasNV: procedure(xbits: GLuint; ybits: GLuint); stdcall;
  3643. {$EndIf}
  3644. {$IfDef GL_NV_conservative_raster_dilate}
  3645. glConservativeRasterParameterfNV: procedure(pname: GLenum; value: GLfloat); stdcall;
  3646. {$EndIf}
  3647. {$IfDef GL_NV_conservative_raster_pre_snap_triangles}
  3648. glConservativeRasterParameteriNV: procedure(pname: GLenum; param: GLint); stdcall;
  3649. {$EndIf}
  3650. {$IfDef GL_NV_copy_image}
  3651. 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;
  3652. {$EndIf}
  3653. {$IfDef GL_NV_depth_buffer_float}
  3654. glDepthRangedNV: procedure(zNear: GLdouble; zFar: GLdouble); stdcall;
  3655. glClearDepthdNV: procedure(depth: GLdouble); stdcall;
  3656. glDepthBoundsdNV: procedure(zmin: GLdouble; zmax: GLdouble); stdcall;
  3657. {$EndIf}
  3658. {$IfDef GL_NV_draw_texture}
  3659. 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;
  3660. {$EndIf}
  3661. {$IfDef GL_NV_draw_vulkan_image}
  3662. 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;
  3663. glGetVkProcAddrNV: function(const name: PGLchar): GLVULKANPROCNV;
  3664. glWaitVkSemaphoreNV: procedure(vkSemaphore: GLuint64); stdcall;
  3665. glSignalVkSemaphoreNV: procedure(vkSemaphore: GLuint64); stdcall;
  3666. glSignalVkFenceNV: procedure(vkFence: GLuint64); stdcall;
  3667. {$EndIf}
  3668. {$IfDef GL_NV_evaluators}
  3669. glMapControlPointsNV: procedure(target: GLenum; index: GLuint; _type: GLenum; ustride: GLsizei; vstride: GLsizei; uorder: GLint; vorder: GLint; _packed: GLboolean; const points: pointer); stdcall;
  3670. glMapParameterivNV: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  3671. glMapParameterfvNV: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  3672. glGetMapControlPointsNV: procedure(target: GLenum; index: GLuint; _type: GLenum; ustride: GLsizei; vstride: GLsizei; _packed: GLboolean; points: pointer); stdcall;
  3673. glGetMapParameterivNV: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3674. glGetMapParameterfvNV: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3675. glGetMapAttribParameterivNV: procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLint); stdcall;
  3676. glGetMapAttribParameterfvNV: procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  3677. glEvalMapsNV: procedure(target: GLenum; mode: GLenum); stdcall;
  3678. {$EndIf}
  3679. {$IfDef GL_NV_explicit_multisample}
  3680. glGetMultisamplefvNV: procedure(pname: GLenum; index: GLuint; val: PGLfloat); stdcall;
  3681. glSampleMaskIndexedNV: procedure(index: GLuint; mask: GLbitfield); stdcall;
  3682. glTexRenderbufferNV: procedure(target: GLenum; renderbuffer: GLuint); stdcall;
  3683. {$EndIf}
  3684. {$IfDef GL_NV_fence}
  3685. glDeleteFencesNV: procedure(n: GLsizei; const fences: PGLuint); stdcall;
  3686. glGenFencesNV: procedure(n: GLsizei; fences: PGLuint); stdcall;
  3687. glIsFenceNV: function(fence: GLuint): GLboolean;
  3688. glTestFenceNV: function(fence: GLuint): GLboolean;
  3689. glGetFenceivNV: procedure(fence: GLuint; pname: GLenum; params: PGLint); stdcall;
  3690. glFinishFenceNV: procedure(fence: GLuint); stdcall;
  3691. glSetFenceNV: procedure(fence: GLuint; condition: GLenum); stdcall;
  3692. {$EndIf}
  3693. {$IfDef GL_NV_fragment_coverage_to_color}
  3694. glFragmentCoverageColorNV: procedure(color: GLuint); stdcall;
  3695. {$EndIf}
  3696. {$IfDef GL_NV_fragment_program}
  3697. glProgramNamedParameter4fNV: procedure(id: GLuint; len: GLsizei; const name: PGLubyte; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  3698. glProgramNamedParameter4fvNV: procedure(id: GLuint; len: GLsizei; const name: PGLubyte; const v: PGLfloat); stdcall;
  3699. glProgramNamedParameter4dNV: procedure(id: GLuint; len: GLsizei; const name: PGLubyte; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  3700. glProgramNamedParameter4dvNV: procedure(id: GLuint; len: GLsizei; const name: PGLubyte; const v: PGLdouble); stdcall;
  3701. glGetProgramNamedParameterfvNV: procedure(id: GLuint; len: GLsizei; const name: PGLubyte; params: PGLfloat); stdcall;
  3702. glGetProgramNamedParameterdvNV: procedure(id: GLuint; len: GLsizei; const name: PGLubyte; params: PGLdouble); stdcall;
  3703. {$EndIf}
  3704. {$IfDef GL_NV_framebuffer_mixed_samples}
  3705. glCoverageModulationTableNV: procedure(n: GLsizei; const v: PGLfloat); stdcall;
  3706. glGetCoverageModulationTableNV: procedure(bufSize: GLsizei; v: PGLfloat); stdcall;
  3707. glCoverageModulationNV: procedure(components: GLenum); stdcall;
  3708. {$EndIf}
  3709. {$IfDef GL_NV_framebuffer_multisample_coverage}
  3710. glRenderbufferStorageMultisampleCoverageNV: procedure(target: GLenum; coverageSamples: GLsizei; colorSamples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  3711. {$EndIf}
  3712. {$IfDef GL_NV_geometry_program4}
  3713. glProgramVertexLimitNV: procedure(target: GLenum; limit: GLint); stdcall;
  3714. glFramebufferTextureEXT: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint); stdcall;
  3715. glFramebufferTextureFaceEXT: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; face: GLenum); stdcall;
  3716. {$EndIf}
  3717. {$IfDef GL_NV_gpu_multicast}
  3718. glRenderGpuMaskNV: procedure(mask: GLbitfield); stdcall;
  3719. glMulticastBufferSubDataNV: procedure(gpuMask: GLbitfield; buffer: GLuint; offset: GLintptr; size: GLsizeiptr; data: pointer); stdcall;
  3720. glMulticastCopyBufferSubDataNV: procedure(readGpu: GLuint; writeGpuMask: GLbitfield; readBuffer: GLuint; writeBuffer: GLuint; readOffset: GLintptr; writeOffset: GLintptr; size: GLsizeiptr); stdcall;
  3721. 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;
  3722. 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;
  3723. glMulticastFramebufferSampleLocationsfvNV: procedure(gpu: GLuint; framebuffer: GLuint; start: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  3724. glMulticastBarrierNV: procedure; stdcall;
  3725. glMulticastWaitSyncNV: procedure(signalGpu: GLuint; waitGpuMask: GLbitfield); stdcall;
  3726. glMulticastGetQueryObjectivNV: procedure(gpu: GLuint; id: GLuint; pname: GLenum; params: PGLint); stdcall;
  3727. glMulticastGetQueryObjectuivNV: procedure(gpu: GLuint; id: GLuint; pname: GLenum; params: PGLuint); stdcall;
  3728. glMulticastGetQueryObjecti64vNV: procedure(gpu: GLuint; id: GLuint; pname: GLenum; params: PGLint64); stdcall;
  3729. glMulticastGetQueryObjectui64vNV: procedure(gpu: GLuint; id: GLuint; pname: GLenum; params: PGLuint64); stdcall;
  3730. {$EndIf}
  3731. {$IfDef GL_NV_gpu_program4}
  3732. glProgramLocalParameterI4iNV: procedure(target: GLenum; index: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); stdcall;
  3733. glProgramLocalParameterI4ivNV: procedure(target: GLenum; index: GLuint; const params: PGLint); stdcall;
  3734. glProgramLocalParametersI4ivNV: procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLint); stdcall;
  3735. glProgramLocalParameterI4uiNV: procedure(target: GLenum; index: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); stdcall;
  3736. glProgramLocalParameterI4uivNV: procedure(target: GLenum; index: GLuint; const params: PGLuint); stdcall;
  3737. glProgramLocalParametersI4uivNV: procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLuint); stdcall;
  3738. glProgramEnvParameterI4iNV: procedure(target: GLenum; index: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); stdcall;
  3739. glProgramEnvParameterI4ivNV: procedure(target: GLenum; index: GLuint; const params: PGLint); stdcall;
  3740. glProgramEnvParametersI4ivNV: procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLint); stdcall;
  3741. glProgramEnvParameterI4uiNV: procedure(target: GLenum; index: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); stdcall;
  3742. glProgramEnvParameterI4uivNV: procedure(target: GLenum; index: GLuint; const params: PGLuint); stdcall;
  3743. glProgramEnvParametersI4uivNV: procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLuint); stdcall;
  3744. glGetProgramLocalParameterIivNV: procedure(target: GLenum; index: GLuint; params: PGLint); stdcall;
  3745. glGetProgramLocalParameterIuivNV: procedure(target: GLenum; index: GLuint; params: PGLuint); stdcall;
  3746. glGetProgramEnvParameterIivNV: procedure(target: GLenum; index: GLuint; params: PGLint); stdcall;
  3747. glGetProgramEnvParameterIuivNV: procedure(target: GLenum; index: GLuint; params: PGLuint); stdcall;
  3748. {$EndIf}
  3749. {$IfDef GL_NV_gpu_program5}
  3750. glProgramSubroutineParametersuivNV: procedure(target: GLenum; count: GLsizei; const params: PGLuint); stdcall;
  3751. glGetProgramSubroutineParameteruivNV: procedure(target: GLenum; index: GLuint; param: PGLuint); stdcall;
  3752. {$EndIf}
  3753. {$IfDef GL_NV_half_float}
  3754. glVertex2hNV: procedure(x: GLhalfNV; y: GLhalfNV); stdcall;
  3755. glVertex2hvNV: procedure(const v: PGLhalfNV); stdcall;
  3756. glVertex3hNV: procedure(x: GLhalfNV; y: GLhalfNV; z: GLhalfNV); stdcall;
  3757. glVertex3hvNV: procedure(const v: PGLhalfNV); stdcall;
  3758. glVertex4hNV: procedure(x: GLhalfNV; y: GLhalfNV; z: GLhalfNV; w: GLhalfNV); stdcall;
  3759. glVertex4hvNV: procedure(const v: PGLhalfNV); stdcall;
  3760. glNormal3hNV: procedure(nx: GLhalfNV; ny: GLhalfNV; nz: GLhalfNV); stdcall;
  3761. glNormal3hvNV: procedure(const v: PGLhalfNV); stdcall;
  3762. glColor3hNV: procedure(red: GLhalfNV; green: GLhalfNV; blue: GLhalfNV); stdcall;
  3763. glColor3hvNV: procedure(const v: PGLhalfNV); stdcall;
  3764. glColor4hNV: procedure(red: GLhalfNV; green: GLhalfNV; blue: GLhalfNV; alpha: GLhalfNV); stdcall;
  3765. glColor4hvNV: procedure(const v: PGLhalfNV); stdcall;
  3766. glTexCoord1hNV: procedure(s: GLhalfNV); stdcall;
  3767. glTexCoord1hvNV: procedure(const v: PGLhalfNV); stdcall;
  3768. glTexCoord2hNV: procedure(s: GLhalfNV; t: GLhalfNV); stdcall;
  3769. glTexCoord2hvNV: procedure(const v: PGLhalfNV); stdcall;
  3770. glTexCoord3hNV: procedure(s: GLhalfNV; t: GLhalfNV; r: GLhalfNV); stdcall;
  3771. glTexCoord3hvNV: procedure(const v: PGLhalfNV); stdcall;
  3772. glTexCoord4hNV: procedure(s: GLhalfNV; t: GLhalfNV; r: GLhalfNV; q: GLhalfNV); stdcall;
  3773. glTexCoord4hvNV: procedure(const v: PGLhalfNV); stdcall;
  3774. glMultiTexCoord1hNV: procedure(target: GLenum; s: GLhalfNV); stdcall;
  3775. glMultiTexCoord1hvNV: procedure(target: GLenum; const v: PGLhalfNV); stdcall;
  3776. glMultiTexCoord2hNV: procedure(target: GLenum; s: GLhalfNV; t: GLhalfNV); stdcall;
  3777. glMultiTexCoord2hvNV: procedure(target: GLenum; const v: PGLhalfNV); stdcall;
  3778. glMultiTexCoord3hNV: procedure(target: GLenum; s: GLhalfNV; t: GLhalfNV; r: GLhalfNV); stdcall;
  3779. glMultiTexCoord3hvNV: procedure(target: GLenum; const v: PGLhalfNV); stdcall;
  3780. glMultiTexCoord4hNV: procedure(target: GLenum; s: GLhalfNV; t: GLhalfNV; r: GLhalfNV; q: GLhalfNV); stdcall;
  3781. glMultiTexCoord4hvNV: procedure(target: GLenum; const v: PGLhalfNV); stdcall;
  3782. glFogCoordhNV: procedure(fog: GLhalfNV); stdcall;
  3783. glFogCoordhvNV: procedure(const fog: PGLhalfNV); stdcall;
  3784. glSecondaryColor3hNV: procedure(red: GLhalfNV; green: GLhalfNV; blue: GLhalfNV); stdcall;
  3785. glSecondaryColor3hvNV: procedure(const v: PGLhalfNV); stdcall;
  3786. glVertexWeighthNV: procedure(weight: GLhalfNV); stdcall;
  3787. glVertexWeighthvNV: procedure(const weight: PGLhalfNV); stdcall;
  3788. glVertexAttrib1hNV: procedure(index: GLuint; x: GLhalfNV); stdcall;
  3789. glVertexAttrib1hvNV: procedure(index: GLuint; const v: PGLhalfNV); stdcall;
  3790. glVertexAttrib2hNV: procedure(index: GLuint; x: GLhalfNV; y: GLhalfNV); stdcall;
  3791. glVertexAttrib2hvNV: procedure(index: GLuint; const v: PGLhalfNV); stdcall;
  3792. glVertexAttrib3hNV: procedure(index: GLuint; x: GLhalfNV; y: GLhalfNV; z: GLhalfNV); stdcall;
  3793. glVertexAttrib3hvNV: procedure(index: GLuint; const v: PGLhalfNV); stdcall;
  3794. glVertexAttrib4hNV: procedure(index: GLuint; x: GLhalfNV; y: GLhalfNV; z: GLhalfNV; w: GLhalfNV); stdcall;
  3795. glVertexAttrib4hvNV: procedure(index: GLuint; const v: PGLhalfNV); stdcall;
  3796. glVertexAttribs1hvNV: procedure(index: GLuint; n: GLsizei; const v: PGLhalfNV); stdcall;
  3797. glVertexAttribs2hvNV: procedure(index: GLuint; n: GLsizei; const v: PGLhalfNV); stdcall;
  3798. glVertexAttribs3hvNV: procedure(index: GLuint; n: GLsizei; const v: PGLhalfNV); stdcall;
  3799. glVertexAttribs4hvNV: procedure(index: GLuint; n: GLsizei; const v: PGLhalfNV); stdcall;
  3800. {$EndIf}
  3801. {$IfDef GL_NV_internalformat_sample_query}
  3802. glGetInternalformatSampleivNV: procedure(target: GLenum; internalformat: GLenum; samples: GLsizei; pname: GLenum; count: GLsizei; params: PGLint); stdcall;
  3803. {$EndIf}
  3804. {$IfDef GL_NV_memory_attachment}
  3805. glGetMemoryObjectDetachedResourcesuivNV: procedure(memory: GLuint; pname: GLenum; first: GLint; count: GLsizei; params: PGLuint); stdcall;
  3806. glResetMemoryObjectParameterNV: procedure(memory: GLuint; pname: GLenum); stdcall;
  3807. glTexAttachMemoryNV: procedure(target: GLenum; memory: GLuint; offset: GLuint64); stdcall;
  3808. glBufferAttachMemoryNV: procedure(target: GLenum; memory: GLuint; offset: GLuint64); stdcall;
  3809. glTextureAttachMemoryNV: procedure(texture: GLuint; memory: GLuint; offset: GLuint64); stdcall;
  3810. glNamedBufferAttachMemoryNV: procedure(buffer: GLuint; memory: GLuint; offset: GLuint64); stdcall;
  3811. {$EndIf}
  3812. {$IfDef GL_NV_memory_object_sparse}
  3813. glBufferPageCommitmentMemNV: procedure(target: GLenum; offset: GLintptr; size: GLsizeiptr; memory: GLuint; memOffset: GLuint64; commit: GLboolean); stdcall;
  3814. 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;
  3815. glNamedBufferPageCommitmentMemNV: procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; memory: GLuint; memOffset: GLuint64; commit: GLboolean); stdcall;
  3816. 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;
  3817. {$EndIf}
  3818. {$IfDef GL_NV_mesh_shader}
  3819. glDrawMeshTasksNV: procedure(first: GLuint; count: GLuint); stdcall;
  3820. glDrawMeshTasksIndirectNV: procedure(indirect: GLintptr); stdcall;
  3821. glMultiDrawMeshTasksIndirectNV: procedure(indirect: GLintptr; drawcount: GLsizei; stride: GLsizei); stdcall;
  3822. glMultiDrawMeshTasksIndirectCountNV: procedure(indirect: GLintptr; drawcount: GLintptr; maxdrawcount: GLsizei; stride: GLsizei); stdcall;
  3823. {$EndIf}
  3824. {$IfDef GL_NV_occlusion_query}
  3825. glGenOcclusionQueriesNV: procedure(n: GLsizei; ids: PGLuint); stdcall;
  3826. glDeleteOcclusionQueriesNV: procedure(n: GLsizei; const ids: PGLuint); stdcall;
  3827. glIsOcclusionQueryNV: function(id: GLuint): GLboolean; stdcall;
  3828. glBeginOcclusionQueryNV: procedure(id: GLuint); stdcall;
  3829. glEndOcclusionQueryNV: procedure; stdcall;
  3830. glGetOcclusionQueryivNV: procedure(id: GLuint; pname: GLenum; params: PGLint); stdcall;
  3831. glGetOcclusionQueryuivNV: procedure(id: GLuint; pname: GLenum; params: PGLuint); stdcall;
  3832. {$EndIf}
  3833. {$IfDef GL_NV_parameter_buffer_object}
  3834. glProgramBufferParametersfvNV: procedure(target: GLenum; bindingIndex: GLuint; wordIndex: GLuint; count: GLsizei; const params: PGLfloat); stdcall;
  3835. glProgramBufferParametersIivNV: procedure(target: GLenum; bindingIndex: GLuint; wordIndex: GLuint; count: GLsizei; const params: PGLint); stdcall;
  3836. glProgramBufferParametersIuivNV: procedure(target: GLenum; bindingIndex: GLuint; wordIndex: GLuint; count: GLsizei; const params: PGLuint); stdcall;
  3837. {$EndIf}
  3838. {$IfDef GL_NV_path_rendering}
  3839. glGenPathsNV: function(range: GLsizei): GLuint; stdcall;
  3840. glDeletePathsNV: procedure(path: GLuint; range: GLsizei); stdcall;
  3841. glIsPathNV: function(path: GLuint): GLboolean; stdcall;
  3842. glPathCommandsNV: procedure(path: GLuint; numCommands: GLsizei; const commands: PGLubyte; numCoords: GLsizei; coordType: GLenum; const coords: pointer); stdcall;
  3843. glPathCoordsNV: procedure(path: GLuint; numCoords: GLsizei; coordType: GLenum; const coords: pointer); stdcall;
  3844. glPathSubCommandsNV: procedure(path: GLuint; commandStart: GLsizei; commandsToDelete: GLsizei; numCommands: GLsizei; const commands: PGLubyte; numCoords: GLsizei; coordType: GLenum; const coords: pointer); stdcall;
  3845. glPathSubCoordsNV: procedure(path: GLuint; coordStart: GLsizei; numCoords: GLsizei; coordType: GLenum; const coords: pointer); stdcall;
  3846. glPathStringNV: procedure(path: GLuint; format: GLenum; length: GLsizei; const pathString: pointer); stdcall;
  3847. 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;
  3848. glPathGlyphRangeNV: procedure(firstPathName: GLuint; fontTarget: GLenum; const fontName: pointer; fontStyle: GLbitfield; firstGlyph: GLuint; numGlyphs: GLsizei; handleMissingGlyphs: GLenum; pathParameterTemplate: GLuint; emScale: GLfloat); stdcall;
  3849. glWeightPathsNV: procedure(resultPath: GLuint; numPaths: GLsizei; const paths: PGLuint; const weights: PGLfloat); stdcall;
  3850. glCopyPathNV: procedure(resultPath: GLuint; srcPath: GLuint); stdcall;
  3851. glInterpolatePathsNV: procedure(resultPath: GLuint; pathA: GLuint; pathB: GLuint; weight: GLfloat); stdcall;
  3852. glTransformPathNV: procedure(resultPath: GLuint; srcPath: GLuint; transformType: GLenum; const transformValues: PGLfloat); stdcall;
  3853. glPathParameterivNV: procedure(path: GLuint; pname: GLenum; const value: PGLint); stdcall;
  3854. glPathParameteriNV: procedure(path: GLuint; pname: GLenum; value: GLint); stdcall;
  3855. glPathParameterfvNV: procedure(path: GLuint; pname: GLenum; const value: PGLfloat); stdcall;
  3856. glPathParameterfNV: procedure(path: GLuint; pname: GLenum; value: GLfloat); stdcall;
  3857. glPathDashArrayNV: procedure(path: GLuint; dashCount: GLsizei; const dashArray: PGLfloat); stdcall;
  3858. glPathStencilFuncNV: procedure(func: GLenum; ref: GLint; mask: GLuint); stdcall;
  3859. glPathStencilDepthOffsetNV: procedure(factor: GLfloat; units: GLfloat); stdcall;
  3860. glStencilFillPathNV: procedure(path: GLuint; fillMode: GLenum; mask: GLuint); stdcall;
  3861. glStencilStrokePathNV: procedure(path: GLuint; reference: GLint; mask: GLuint); stdcall;
  3862. glStencilFillPathInstancedNV: procedure(numPaths: GLsizei; pathNameType: GLenum; const paths: pointer; pathBase: GLuint; fillMode: GLenum; mask: GLuint; transformType: GLenum; const transformValues: PGLfloat); stdcall;
  3863. glStencilStrokePathInstancedNV: procedure(numPaths: GLsizei; pathNameType: GLenum; const paths: pointer; pathBase: GLuint; reference: GLint; mask: GLuint; transformType: GLenum; const transformValues: PGLfloat); stdcall;
  3864. glPathCoverDepthFuncNV: procedure(func: GLenum); stdcall;
  3865. glCoverFillPathNV: procedure(path: GLuint; coverMode: GLenum); stdcall;
  3866. glCoverStrokePathNV: procedure(path: GLuint; coverMode: GLenum); stdcall;
  3867. glCoverFillPathInstancedNV: procedure(numPaths: GLsizei; pathNameType: GLenum; const paths: pointer; pathBase: GLuint; coverMode: GLenum; transformType: GLenum; const transformValues: PGLfloat); stdcall;
  3868. glCoverStrokePathInstancedNV: procedure(numPaths: GLsizei; pathNameType: GLenum; const paths: pointer; pathBase: GLuint; coverMode: GLenum; transformType: GLenum; const transformValues: PGLfloat); stdcall;
  3869. glGetPathParameterivNV: procedure(path: GLuint; pname: GLenum; value: PGLint); stdcall;
  3870. glGetPathParameterfvNV: procedure(path: GLuint; pname: GLenum; value: PGLfloat); stdcall;
  3871. glGetPathCommandsNV: procedure(path: GLuint; commands: PGLubyte); stdcall;
  3872. glGetPathCoordsNV: procedure(path: GLuint; coords: PGLfloat); stdcall;
  3873. glGetPathDashArrayNV: procedure(path: GLuint; dashArray: PGLfloat); stdcall;
  3874. glGetPathMetricsNV: procedure(metricQueryMask: GLbitfield; numPaths: GLsizei; pathNameType: GLenum; const paths: pointer; pathBase: GLuint; stride: GLsizei; metrics: PGLfloat); stdcall;
  3875. glGetPathMetricRangeNV: procedure(metricQueryMask: GLbitfield; firstPathName: GLuint; numPaths: GLsizei; stride: GLsizei; metrics: PGLfloat); stdcall;
  3876. glGetPathSpacingNV: procedure(pathListMode: GLenum; numPaths: GLsizei; pathNameType: GLenum; const paths: pointer; pathBase: GLuint; advanceScale: GLfloat; kerningScale: GLfloat; transformType: GLenum; returnedSpacing: PGLfloat); stdcall;
  3877. glIsPointInFillPathNV: function(path: GLuint; mask: GLuint; x: GLfloat; y: GLfloat): GLboolean; stdcall;
  3878. glIsPointInStrokePathNV: function(path: GLuint; x: GLfloat; y: GLfloat): GLboolean; stdcall;
  3879. glGetPathLengthNV: function(path: GLuint; startSegment: GLsizei; numSegments: GLsizei): GLfloat; stdcall;
  3880. glPointAlongPathNV: function(path: GLuint; startSegment: GLsizei; numSegments: GLsizei; distance: GLfloat; x: PGLfloat; y: PGLfloat; tangentX: PGLfloat; tangentY: PGLfloat): GLboolean; stdcall;
  3881. glMatrixLoad3x2fNV: procedure(matrixMode: GLenum; const m: PGLfloat); stdcall;
  3882. glMatrixLoad3x3fNV: procedure(matrixMode: GLenum; const m: PGLfloat); stdcall;
  3883. glMatrixLoadTranspose3x3fNV: procedure(matrixMode: GLenum; const m: PGLfloat); stdcall;
  3884. glMatrixMult3x2fNV: procedure(matrixMode: GLenum; const m: PGLfloat); stdcall;
  3885. glMatrixMult3x3fNV: procedure(matrixMode: GLenum; const m: PGLfloat); stdcall;
  3886. glMatrixMultTranspose3x3fNV: procedure(matrixMode: GLenum; const m: PGLfloat); stdcall;
  3887. glStencilThenCoverFillPathNV: procedure(path: GLuint; fillMode: GLenum; mask: GLuint; coverMode: GLenum); stdcall;
  3888. glStencilThenCoverStrokePathNV: procedure(path: GLuint; reference: GLint; mask: GLuint; coverMode: GLenum); stdcall;
  3889. glStencilThenCoverFillPathInstancedNV: procedure(numPaths: GLsizei; pathNameType: GLenum; const paths: pointer; pathBase: GLuint; fillMode: GLenum; mask: GLuint; coverMode: GLenum; transformType: GLenum; const transformValues: PGLfloat); stdcall;
  3890. glStencilThenCoverStrokePathInstancedNV: procedure(numPaths: GLsizei; pathNameType: GLenum; const paths: pointer; pathBase: GLuint; reference: GLint; mask: GLuint; coverMode: GLenum; transformType: GLenum; const transformValues: PGLfloat); stdcall;
  3891. glPathGlyphIndexRangeNV: function(fontTarget: GLenum; const fontName: pointer; fontStyle: GLbitfield; pathParameterTemplate: GLuint; emScale: GLfloat; baseAndCount: PGLuint): GLenum; stdcall;
  3892. glPathGlyphIndexArrayNV: function(firstPathName: GLuint; fontTarget: GLenum; const fontName: pointer; fontStyle: GLbitfield; firstGlyphIndex: GLuint; numGlyphs: GLsizei; pathParameterTemplate: GLuint; emScale: GLfloat): GLenum; stdcall;
  3893. glPathMemoryGlyphIndexArrayNV: function(firstPathName: GLuint; fontTarget: GLenum; fontSize: GLsizeiptr; const fontData: pointer; faceIndex: GLsizei; firstGlyphIndex: GLuint; numGlyphs: GLsizei; pathParameterTemplate: GLuint; emScale: GLfloat): GLenum; stdcall;
  3894. glProgramPathFragmentInputGenNV: procedure(_program: GLuint; location: GLint; genMode: GLenum; components: GLint; const coeffs: PGLfloat); stdcall;
  3895. glGetProgramResourcefvNV: procedure(_program: GLuint; programInterface: GLenum; index: GLuint; propCount: GLsizei; const props: PGLenum; count: GLsizei; length: PGLsizei; params: PGLfloat); stdcall;
  3896. {$IfNDef USE_GLCORE}
  3897. glPathColorGenNV: procedure(color: GLenum; genMode: GLenum; colorFormat: GLenum; const coeffs: PGLfloat); stdcall;
  3898. glPathTexGenNV: procedure(texCoordSet: GLenum; genMode: GLenum; components: GLint; const coeffs: PGLfloat); stdcall;
  3899. glPathFogGenNV: procedure(genMode: GLenum); stdcall;
  3900. glGetPathColorGenivNV: procedure(color: GLenum; pname: GLenum; value: PGLint); stdcall;
  3901. glGetPathColorGenfvNV: procedure(color: GLenum; pname: GLenum; value: PGLfloat); stdcall;
  3902. glGetPathTexGenivNV: procedure(texCoordSet: GLenum; pname: GLenum; value: PGLint); stdcall;
  3903. glGetPathTexGenfvNV: procedure(texCoordSet: GLenum; pname: GLenum; value: PGLfloat); stdcall;
  3904. {$EndIf}
  3905. {$EndIf}
  3906. {$IfDef GL_NV_pixel_data_range}
  3907. glPixelDataRangeNV: procedure(target: GLenum; length: GLsizei; pointer: pointer); stdcall;
  3908. glFlushPixelDataRangeNV: procedure(target: GLenum); stdcall;
  3909. {$EndIf}
  3910. {$IfDef GL_NV_point_sprite}
  3911. glPointParameteriNV: procedure(pname: GLenum; param: GLint); stdcall;
  3912. glPointParameterivNV: procedure(pname: GLenum; const params: PGLint); stdcall;
  3913. {$EndIf}
  3914. {$IfDef GL_NV_present_video}
  3915. 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;
  3916. 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;
  3917. glGetVideoivNV: procedure(video_slot: GLuint; pname: GLenum; params: PGLint); stdcall;
  3918. glGetVideouivNV: procedure(video_slot: GLuint; pname: GLenum; params: PGLuint); stdcall;
  3919. glGetVideoi64vNV: procedure(video_slot: GLuint; pname: GLenum; params: PGLint64EXT); stdcall;
  3920. glGetVideoui64vNV: procedure(video_slot: GLuint; pname: GLenum; params: PGLuint64EXT); stdcall;
  3921. {$EndIf}
  3922. {$IfDef GL_NV_primitive_restart}
  3923. glPrimitiveRestartNV: procedure; stdcall;
  3924. glPrimitiveRestartIndexNV: procedure(index: GLuint); stdcall;
  3925. {$EndIf}
  3926. {$IfDef GL_NV_query_resource}
  3927. glQueryResourceNV: function(queryType: GLenum; tagId: GLint; count: GLuint; buffer: PGLint): GLint; stdcall;
  3928. {$EndIf}
  3929. {$IfDef GL_NV_query_resource_tag}
  3930. glGenQueryResourceTagNV: procedure(n: GLsizei; tagIds: PGLint); stdcall;
  3931. glDeleteQueryResourceTagNV: procedure(n: GLsizei; const tagIds: PGLint); stdcall;
  3932. glQueryResourceTagNV: procedure(tagId: GLint; const tagString: PGLchar); stdcall;
  3933. {$EndIf}
  3934. {$IfDef GL_NV_register_combiners}
  3935. glCombinerParameterfvNV: procedure(pname: GLenum; const params: PGLfloat); stdcall;
  3936. glCombinerParameterfNV: procedure(pname: GLenum; param: GLfloat); stdcall;
  3937. glCombinerParameterivNV: procedure(pname: GLenum; const params: PGLint); stdcall;
  3938. glCombinerParameteriNV: procedure(pname: GLenum; param: GLint); stdcall;
  3939. glCombinerInputNV: procedure(stage: GLenum; portion: GLenum; variable: GLenum; input: GLenum; mapping: GLenum; componentUsage: GLenum); stdcall;
  3940. glCombinerOutputNV: procedure(stage: GLenum; portion: GLenum; abOutput: GLenum; cdOutput: GLenum; sumOutput: GLenum; scale: GLenum; bias: GLenum; abDotProduct: GLboolean; cdDotProduct: GLboolean; muxSum: GLboolean); stdcall;
  3941. glFinalCombinerInputNV: procedure(variable: GLenum; input: GLenum; mapping: GLenum; componentUsage: GLenum); stdcall;
  3942. glGetCombinerInputParameterfvNV: procedure(stage: GLenum; portion: GLenum; variable: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3943. glGetCombinerInputParameterivNV: procedure(stage: GLenum; portion: GLenum; variable: GLenum; pname: GLenum; params: PGLint); stdcall;
  3944. glGetCombinerOutputParameterfvNV: procedure(stage: GLenum; portion: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3945. glGetCombinerOutputParameterivNV: procedure(stage: GLenum; portion: GLenum; pname: GLenum; params: PGLint); stdcall;
  3946. glGetFinalCombinerInputParameterfvNV: procedure(variable: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3947. glGetFinalCombinerInputParameterivNV: procedure(variable: GLenum; pname: GLenum; params: PGLint); stdcall;
  3948. {$EndIf}
  3949. {$IfDef GL_NV_register_combiners2}
  3950. glCombinerStageParameterfvNV: procedure(stage: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  3951. glGetCombinerStageParameterfvNV: procedure(stage: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3952. {$EndIf}
  3953. {$IfDef GL_NV_sample_locations}
  3954. glFramebufferSampleLocationsfvNV: procedure(target: GLenum; start: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  3955. glNamedFramebufferSampleLocationsfvNV: procedure(framebuffer: GLuint; start: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  3956. glResolveDepthValuesNV: procedure; stdcall;
  3957. {$EndIf}
  3958. {$IfDef GL_NV_scissor_exclusive}
  3959. glScissorExclusiveNV: procedure(x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  3960. glScissorExclusiveArrayvNV: procedure(first: GLuint; count: GLsizei; const v: PGLint); stdcall;
  3961. {$EndIf}
  3962. {$IfDef GL_NV_shader_buffer_load}
  3963. glMakeBufferResidentNV: procedure(target: GLenum; access: GLenum); stdcall;
  3964. glMakeBufferNonResidentNV: procedure(target: GLenum); stdcall;
  3965. glIsBufferResidentNV: function(target: GLenum): GLboolean; stdcall;
  3966. glMakeNamedBufferResidentNV: procedure(buffer: GLuint; access: GLenum); stdcall;
  3967. glMakeNamedBufferNonResidentNV: procedure(buffer: GLuint); stdcall;
  3968. glIsNamedBufferResidentNV: function(buffer: GLuint): GLboolean; stdcall;
  3969. glGetBufferParameterui64vNV: procedure(target: GLenum; pname: GLenum; params: PGLuint64EXT); stdcall;
  3970. glGetNamedBufferParameterui64vNV: procedure(buffer: GLuint; pname: GLenum; params: PGLuint64EXT); stdcall;
  3971. glGetIntegerui64vNV: procedure(value: GLenum; result: PGLuint64EXT); stdcall;
  3972. glUniformui64NV: procedure(location: GLint; value: GLuint64EXT); stdcall;
  3973. glUniformui64vNV: procedure(location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  3974. glProgramUniformui64NV: procedure(_program: GLuint; location: GLint; value: GLuint64EXT); stdcall;
  3975. glProgramUniformui64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  3976. {$EndIf}
  3977. {$IfDef GL_NV_shading_rate_image}
  3978. glBindShadingRateImageNV: procedure(texture: GLuint); stdcall;
  3979. glGetShadingRateImagePaletteNV: procedure(viewport: GLuint; entry: GLuint; rate: PGLenum); stdcall;
  3980. glGetShadingRateSampleLocationivNV: procedure(rate: GLenum; samples: GLuint; index: GLuint; location: PGLint); stdcall;
  3981. glShadingRateImageBarrierNV: procedure(synchronize: GLboolean); stdcall;
  3982. glShadingRateImagePaletteNV: procedure(viewport: GLuint; first: GLuint; count: GLsizei; const rates: PGLenum); stdcall;
  3983. glShadingRateSampleOrderNV: procedure(order: GLenum); stdcall;
  3984. glShadingRateSampleOrderCustomNV: procedure(rate: GLenum; samples: GLuint; const locations: PGLint); stdcall;
  3985. {$EndIf}
  3986. {$IfDef GL_NV_texture_barrier}
  3987. glTextureBarrierNV: procedure; stdcall;
  3988. {$EndIf}
  3989. {$IfDef GL_NV_texture_multisample}
  3990. glTexImage2DMultisampleCoverageNV: procedure(target: GLenum; coverageSamples: GLsizei; colorSamples: GLsizei; internalFormat: GLint; width: GLsizei; height: GLsizei; fixedSampleLocations: GLboolean); stdcall;
  3991. glTexImage3DMultisampleCoverageNV: procedure(target: GLenum; coverageSamples: GLsizei; colorSamples: GLsizei; internalFormat: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; fixedSampleLocations: GLboolean); stdcall;
  3992. glTextureImage2DMultisampleNV: procedure(texture: GLuint; target: GLenum; samples: GLsizei; internalFormat: GLint; width: GLsizei; height: GLsizei; fixedSampleLocations: GLboolean); stdcall;
  3993. glTextureImage3DMultisampleNV: procedure(texture: GLuint; target: GLenum; samples: GLsizei; internalFormat: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; fixedSampleLocations: GLboolean); stdcall;
  3994. glTextureImage2DMultisampleCoverageNV: procedure(texture: GLuint; target: GLenum; coverageSamples: GLsizei; colorSamples: GLsizei; internalFormat: GLint; width: GLsizei; height: GLsizei; fixedSampleLocations: GLboolean); stdcall;
  3995. glTextureImage3DMultisampleCoverageNV: procedure(texture: GLuint; target: GLenum; coverageSamples: GLsizei; colorSamples: GLsizei; internalFormat: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; fixedSampleLocations: GLboolean); stdcall;
  3996. {$EndIf}
  3997. {$IfDef GL_NV_timeline_semaphore}
  3998. glCreateSemaphoresNV: procedure(n: GLsizei; semaphores: PGLuint); stdcall;
  3999. glSemaphoreParameterivNV: procedure(semaphore: GLuint; pname: GLenum; const params: PGLint); stdcall;
  4000. glGetSemaphoreParameterivNV: procedure(semaphore: GLuint; pname: GLenum; params: PGLint); stdcall;
  4001. {$EndIf}
  4002. {$IfDef GL_NV_transform_feedback}
  4003. glBeginTransformFeedbackNV: procedure(primitiveMode: GLenum); stdcall;
  4004. glEndTransformFeedbackNV: procedure; stdcall;
  4005. glTransformFeedbackAttribsNV: procedure(count: GLsizei; const attribs: PGLint; bufferMode: GLenum); stdcall;
  4006. glBindBufferRangeNV: procedure(target: GLenum; index: GLuint; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); stdcall;
  4007. glBindBufferOffsetNV: procedure(target: GLenum; index: GLuint; buffer: GLuint; offset: GLintptr); stdcall;
  4008. glBindBufferBaseNV: procedure(target: GLenum; index: GLuint; buffer: GLuint); stdcall;
  4009. glTransformFeedbackVaryingsNV: procedure(_program: GLuint; count: GLsizei; const locations: PGLint; bufferMode: GLenum); stdcall;
  4010. glActiveVaryingNV: procedure(_program: GLuint; const name: PGLchar); stdcall;
  4011. glGetVaryingLocationNV: function(_program: GLuint; const name: PGLchar): GLint; stdcall;
  4012. glGetActiveVaryingNV: procedure(_program: GLuint; index: GLuint; bufSize: GLsizei; length: PGLsizei; size: PGLsizei; _type: PGLenum; name: PGLchar); stdcall;
  4013. glGetTransformFeedbackVaryingNV: procedure(_program: GLuint; index: GLuint; location: PGLint); stdcall;
  4014. glTransformFeedbackStreamAttribsNV: procedure(count: GLsizei; const attribs: PGLint; nbuffers: GLsizei; const bufstreams: PGLint; bufferMode: GLenum); stdcall;
  4015. {$EndIf}
  4016. {$IfDef GL_NV_transform_feedback2}
  4017. glBindTransformFeedbackNV: procedure(target: GLenum; id: GLuint); stdcall;
  4018. glDeleteTransformFeedbacksNV: procedure(n: GLsizei; const ids: PGLuint); stdcall;
  4019. glGenTransformFeedbacksNV: procedure(n: GLsizei; ids: PGLuint); stdcall;
  4020. glIsTransformFeedbackNV: function(id: GLuint): GLboolean; stdcall;
  4021. glPauseTransformFeedbackNV: procedure; stdcall;
  4022. glResumeTransformFeedbackNV: procedure; stdcall;
  4023. glDrawTransformFeedbackNV: procedure(mode: GLenum; id: GLuint); stdcall;
  4024. {$EndIf}
  4025. {$IfDef GL_NV_vdpau_interop}
  4026. glVDPAUInitNV: procedure(vdpDevice: pointer; const getProcAddress: pointer); stdcall;
  4027. glVDPAUFiniNV: procedure; stdcall;
  4028. glVDPAURegisterVideoSurfaceNV: function(const vdpSurface: pointer; target: GLenum; numTextureNames: GLsizei; const textureNames: PGLuint): GLvdpauSurfaceNV; stdcall;
  4029. glVDPAURegisterOutputSurfaceNV: function(const vdpSurface: pointer; target: GLenum; numTextureNames: GLsizei; const textureNames: PGLuint): GLvdpauSurfaceNV; stdcall;
  4030. glVDPAUIsSurfaceNV: function(surface: GLvdpauSurfaceNV): GLboolean; stdcall;
  4031. glVDPAUUnregisterSurfaceNV: procedure(surface: GLvdpauSurfaceNV); stdcall;
  4032. glVDPAUGetSurfaceivNV: procedure(surface: GLvdpauSurfaceNV; pname: GLenum; count: GLsizei; length: PGLsizei; values: PGLint); stdcall;
  4033. glVDPAUSurfaceAccessNV: procedure(surface: GLvdpauSurfaceNV; access: GLenum); stdcall;
  4034. glVDPAUMapSurfacesNV: procedure(numSurfaces: GLsizei; const surfaces: PGLvdpauSurfaceNV); stdcall;
  4035. glVDPAUUnmapSurfacesNV: procedure(numSurface: GLsizei; const surfaces: PGLvdpauSurfaceNV); stdcall;
  4036. {$EndIf}
  4037. {$IfDef GL_NV_vdpau_interop2}
  4038. glVDPAURegisterVideoSurfaceWithPictureStructureNV: function(const vdpSurface: pointer; target: GLenum; numTextureNames: GLsizei; const textureNames: PGLuint; isFrameStructure: GLboolean): GLvdpauSurfaceNV; stdcall;
  4039. {$EndIf}
  4040. {$IfDef GL_NV_vertex_array_range}
  4041. glFlushVertexArrayRangeNV: procedure; stdcall;
  4042. glVertexArrayRangeNV: procedure(length: GLsizei; const _pointer: pointer); stdcall;
  4043. {$EndIf}
  4044. {$IfDef GL_NV_vertex_attrib_integer_64bit}
  4045. glVertexAttribL1i64NV: procedure(index: GLuint; x: GLint64EXT); stdcall;
  4046. glVertexAttribL2i64NV: procedure(index: GLuint; x: GLint64EXT; y: GLint64EXT); stdcall;
  4047. glVertexAttribL3i64NV: procedure(index: GLuint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT); stdcall;
  4048. glVertexAttribL4i64NV: procedure(index: GLuint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT; w: GLint64EXT); stdcall;
  4049. glVertexAttribL1i64vNV: procedure(index: GLuint; const v: PGLint64EXT); stdcall;
  4050. glVertexAttribL2i64vNV: procedure(index: GLuint; const v: PGLint64EXT); stdcall;
  4051. glVertexAttribL3i64vNV: procedure(index: GLuint; const v: PGLint64EXT); stdcall;
  4052. glVertexAttribL4i64vNV: procedure(index: GLuint; const v: PGLint64EXT); stdcall;
  4053. glVertexAttribL1ui64NV: procedure(index: GLuint; x: GLuint64EXT); stdcall;
  4054. glVertexAttribL2ui64NV: procedure(index: GLuint; x: GLuint64EXT; y: GLuint64EXT); stdcall;
  4055. glVertexAttribL3ui64NV: procedure(index: GLuint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT); stdcall;
  4056. glVertexAttribL4ui64NV: procedure(index: GLuint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT; w: GLuint64EXT); stdcall;
  4057. glVertexAttribL1ui64vNV: procedure(index: GLuint; const v: PGLuint64EXT); stdcall;
  4058. glVertexAttribL2ui64vNV: procedure(index: GLuint; const v: PGLuint64EXT); stdcall;
  4059. glVertexAttribL3ui64vNV: procedure(index: GLuint; const v: PGLuint64EXT); stdcall;
  4060. glVertexAttribL4ui64vNV: procedure(index: GLuint; const v: PGLuint64EXT); stdcall;
  4061. glGetVertexAttribLi64vNV: procedure(index: GLuint; pname: GLenum; params: PGLint64EXT); stdcall;
  4062. glGetVertexAttribLui64vNV: procedure(index: GLuint; pname: GLenum; params: PGLuint64EXT); stdcall;
  4063. glVertexAttribLFormatNV: procedure(index: GLuint; size: GLint; _type: GLenum; stride: GLsizei); stdcall;
  4064. {$EndIf}
  4065. {$IfDef GL_NV_vertex_buffer_unified_memory}
  4066. glBufferAddressRangeNV: procedure(pname: GLenum; index: GLuint; address: GLuint64EXT; length: GLsizeiptr); stdcall;
  4067. glVertexFormatNV: procedure(size: GLint; _type: GLenum; stride: GLsizei); stdcall;
  4068. glNormalFormatNV: procedure(_type: GLenum; stride: GLsizei); stdcall;
  4069. glColorFormatNV: procedure(size: GLint; _type: GLenum; stride: GLsizei); stdcall;
  4070. glIndexFormatNV: procedure(_type: GLenum; stride: GLsizei); stdcall;
  4071. glTexCoordFormatNV: procedure(size: GLint; _type: GLenum; stride: GLsizei); stdcall;
  4072. glEdgeFlagFormatNV: procedure(stride: GLsizei); stdcall;
  4073. glSecondaryColorFormatNV: procedure(size: GLint; _type: GLenum; stride: GLsizei); stdcall;
  4074. glFogCoordFormatNV: procedure(_type: GLenum; stride: GLsizei); stdcall;
  4075. glVertexAttribFormatNV: procedure(index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei); stdcall;
  4076. glVertexAttribIFormatNV: procedure(index: GLuint; size: GLint; _type: GLenum; stride: GLsizei); stdcall;
  4077. glGetIntegerui64i_vNV: procedure(value: GLenum; index: GLuint; result: PGLuint64EXT); stdcall;
  4078. {$EndIf}
  4079. {$IfDef GL_NV_vertex_program}
  4080. glAreProgramsResidentNV: function(n: GLsizei; const programs: PGLuint; residences: PGLboolean): GLboolean; stdcall;
  4081. glBindProgramNV: procedure(target: GLenum; id: GLuint); stdcall;
  4082. glDeleteProgramsNV: procedure(n: GLsizei; const programs: PGLuint); stdcall;
  4083. glExecuteProgramNV: procedure(target: GLenum; id: GLuint; const params: PGLfloat); stdcall;
  4084. glGenProgramsNV: procedure(n: GLsizei; programs: PGLuint); stdcall;
  4085. glGetProgramParameterdvNV: procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLdouble); stdcall;
  4086. glGetProgramParameterfvNV: procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  4087. glGetProgramivNV: procedure(id: GLuint; pname: GLenum; params: PGLint); stdcall;
  4088. glGetProgramStringNV: procedure(id: GLuint; pname: GLenum; _program: PGLubyte); stdcall;
  4089. glGetTrackMatrixivNV: procedure(target: GLenum; address: GLuint; pname: GLenum; params: PGLint); stdcall;
  4090. glGetVertexAttribdvNV: procedure(index: GLuint; pname: GLenum; params: PGLdouble); stdcall;
  4091. glGetVertexAttribfvNV: procedure(index: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  4092. glGetVertexAttribivNV: procedure(index: GLuint; pname: GLenum; params: PGLint); stdcall;
  4093. glGetVertexAttribPointervNV: procedure(index: GLuint; pname: GLenum; pointer:Ppointer); stdcall;
  4094. glIsProgramNV: function(id: GLuint): GLboolean; stdcall;
  4095. glLoadProgramNV: procedure(target: GLenum; id: GLuint; len: GLsizei; const _program: PGLubyte); stdcall;
  4096. glProgramParameter4dNV: procedure(target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  4097. glProgramParameter4dvNV: procedure(target: GLenum; index: GLuint; const v: PGLdouble); stdcall;
  4098. glProgramParameter4fNV: procedure(target: GLenum; index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  4099. glProgramParameter4fvNV: procedure(target: GLenum; index: GLuint; const v: PGLfloat); stdcall;
  4100. glProgramParameters4dvNV: procedure(target: GLenum; index: GLuint; count: GLsizei; const v: PGLdouble); stdcall;
  4101. glProgramParameters4fvNV: procedure(target: GLenum; index: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  4102. glRequestResidentProgramsNV: procedure(n: GLsizei; const programs: PGLuint); stdcall;
  4103. glTrackMatrixNV: procedure(target: GLenum; address: GLuint; matrix: GLenum; transform: GLenum); stdcall;
  4104. glVertexAttribPointerNV: procedure(index: GLuint; fsize: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  4105. glVertexAttrib1dNV: procedure(index: GLuint; x: GLdouble); stdcall;
  4106. glVertexAttrib1dvNV: procedure(index: GLuint; const v: PGLdouble); stdcall;
  4107. glVertexAttrib1fNV: procedure(index: GLuint; x: GLfloat); stdcall;
  4108. glVertexAttrib1fvNV: procedure(index: GLuint; const v: PGLfloat); stdcall;
  4109. glVertexAttrib1sNV: procedure(index: GLuint; x: GLshort); stdcall;
  4110. glVertexAttrib1svNV: procedure(index: GLuint; const v: PGLshort); stdcall;
  4111. glVertexAttrib2dNV: procedure(index: GLuint; x: GLdouble; y: GLdouble); stdcall;
  4112. glVertexAttrib2dvNV: procedure(index: GLuint; const v: PGLdouble); stdcall;
  4113. glVertexAttrib2fNV: procedure(index: GLuint; x: GLfloat; y: GLfloat); stdcall;
  4114. glVertexAttrib2fvNV: procedure(index: GLuint; const v: PGLfloat); stdcall;
  4115. glVertexAttrib2sNV: procedure(index: GLuint; x: GLshort; y: GLshort); stdcall;
  4116. glVertexAttrib2svNV: procedure(index: GLuint; const v: PGLshort); stdcall;
  4117. glVertexAttrib3dNV: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  4118. glVertexAttrib3dvNV: procedure(index: GLuint; const v: PGLdouble); stdcall;
  4119. glVertexAttrib3fNV: procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4120. glVertexAttrib3fvNV: procedure(index: GLuint; const v: PGLfloat); stdcall;
  4121. glVertexAttrib3sNV: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort); stdcall;
  4122. glVertexAttrib3svNV: procedure(index: GLuint; const v: PGLshort); stdcall;
  4123. glVertexAttrib4dNV: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  4124. glVertexAttrib4dvNV: procedure(index: GLuint; const v: PGLdouble); stdcall;
  4125. glVertexAttrib4fNV: procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  4126. glVertexAttrib4fvNV: procedure(index: GLuint; const v: PGLfloat); stdcall;
  4127. glVertexAttrib4sNV: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort; w: GLshort); stdcall;
  4128. glVertexAttrib4svNV: procedure(index: GLuint; const v: PGLshort); stdcall;
  4129. glVertexAttrib4ubNV: procedure(index: GLuint; x: GLubyte; y: GLubyte; z: GLubyte; w: GLubyte); stdcall;
  4130. glVertexAttrib4ubvNV: procedure(index: GLuint; const v: PGLubyte); stdcall;
  4131. glVertexAttribs1dvNV: procedure(index: GLuint; count: GLsizei; const v: PGLdouble); stdcall;
  4132. glVertexAttribs1fvNV: procedure(index: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  4133. glVertexAttribs1svNV: procedure(index: GLuint; count: GLsizei; const v: PGLshort); stdcall;
  4134. glVertexAttribs2dvNV: procedure(index: GLuint; count: GLsizei; const v: PGLdouble); stdcall;
  4135. glVertexAttribs2fvNV: procedure(index: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  4136. glVertexAttribs2svNV: procedure(index: GLuint; count: GLsizei; const v: PGLshort); stdcall;
  4137. glVertexAttribs3dvNV: procedure(index: GLuint; count: GLsizei; const v: PGLdouble); stdcall;
  4138. glVertexAttribs3fvNV: procedure(index: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  4139. glVertexAttribs3svNV: procedure(index: GLuint; count: GLsizei; const v: PGLshort); stdcall;
  4140. glVertexAttribs4dvNV: procedure(index: GLuint; count: GLsizei; const v: PGLdouble); stdcall;
  4141. glVertexAttribs4fvNV: procedure(index: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  4142. glVertexAttribs4svNV: procedure(index: GLuint; count: GLsizei; const v: PGLshort); stdcall;
  4143. glVertexAttribs4ubvNV: procedure(index: GLuint; count: GLsizei; const v: PGLubyte); stdcall;
  4144. {$EndIf}
  4145. {$IfDef GL_NV_video_capture}
  4146. glBeginVideoCaptureNV: procedure(video_capture_slot: GLuint); stdcall;
  4147. glBindVideoCaptureStreamBufferNV: procedure(video_capture_slot: GLuint; stream: GLuint; frame_region: GLenum; offset: GLintptrARB); stdcall;
  4148. glBindVideoCaptureStreamTextureNV: procedure(video_capture_slot: GLuint; stream: GLuint; frame_region: GLenum; target: GLenum; texture: GLuint); stdcall;
  4149. glEndVideoCaptureNV: procedure(video_capture_slot: GLuint); stdcall;
  4150. glGetVideoCaptureivNV: procedure(video_capture_slot: GLuint; pname: GLenum; params: PGLint); stdcall;
  4151. glGetVideoCaptureStreamivNV: procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; params: PGLint); stdcall;
  4152. glGetVideoCaptureStreamfvNV: procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  4153. glGetVideoCaptureStreamdvNV: procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; params: PGLdouble); stdcall;
  4154. glVideoCaptureNV: function(video_capture_slot: GLuint; sequence_num: PGLuint; capture_time: PGLuint64EXT): GLenum; stdcall;
  4155. glVideoCaptureStreamParameterivNV: procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; const params: PGLint); stdcall;
  4156. glVideoCaptureStreamParameterfvNV: procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; const params: PGLfloat); stdcall;
  4157. glVideoCaptureStreamParameterdvNV: procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; const params: PGLdouble); stdcall;
  4158. {$EndIf}
  4159. {$IfDef GL_NV_viewport_swizzle}
  4160. glViewportSwizzleNV: procedure(index: GLuint; swizzlex: GLenum; swizzley: GLenum; swizzlez: GLenum; swizzlew: GLenum); stdcall;
  4161. {$EndIf}
  4162. {$IfDef GL_OVR_multiview}
  4163. glFramebufferTextureMultiviewOVR: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; baseViewIndex: GLint; numViews: GLsizei); stdcall;
  4164. {$EndIf}
  4165. {$IfDef GL_PGI_misc_hints}
  4166. glHintPGI: procedure(target: GLenum; mode: GLint); stdcall; // = glHint
  4167. {$EndIf}
  4168. {$IfDef GL_SGIS_detail_texture}
  4169. glDetailTexFuncSGIS: procedure(target: GLenum; n: GLsizei; const points: PGLfloat); stdcall;
  4170. glGetDetailTexFuncSGIS: procedure(target: GLenum; points: PGLfloat); stdcall;
  4171. {$EndIf}
  4172. {$IfDef GL_SGIS_fog_function}
  4173. glFogFuncSGIS: procedure(n: GLsizei; const points: PGLfloat); stdcall;
  4174. glGetFogFuncSGIS: procedure(points: PGLfloat); stdcall;
  4175. {$EndIf}
  4176. {$IfDef GL_SGIS_multisample}
  4177. glSampleMaskSGIS: procedure(value: GLclampf; invert: GLboolean); stdcall;
  4178. glSamplePatternSGIS: procedure(pattern: GLenum); stdcall;
  4179. {$EndIf}
  4180. {$IfDef GL_SGIS_pixel_texture}
  4181. glPixelTexGenParameteriSGIS: procedure(pname: GLenum; param: GLint); stdcall;
  4182. glPixelTexGenParameterivSGIS: procedure(pname: GLenum; const params: PGLint); stdcall;
  4183. glPixelTexGenParameterfSGIS: procedure(pname: GLenum; param: GLfloat); stdcall;
  4184. glPixelTexGenParameterfvSGIS: procedure(pname: GLenum; const params: PGLfloat); stdcall;
  4185. glGetPixelTexGenParameterivSGIS: procedure(pname: GLenum; params: PGLint); stdcall;
  4186. glGetPixelTexGenParameterfvSGIS: procedure(pname: GLenum; params: PGLfloat); stdcall;
  4187. {$EndIf}
  4188. {$IfDef GL_SGIS_point_parameters}
  4189. glPointParameterfSGIS: procedure(pname: GLenum; param: GLfloat); stdcall;
  4190. glPointParameterfvSGIS: procedure(pname: GLenum; const params: PGLfloat); stdcall;
  4191. {$EndIf}
  4192. {$IfDef GL_SGIS_sharpen_texture}
  4193. glSharpenTexFuncSGIS: procedure(target: GLenum; n: GLsizei; const points: PGLfloat); stdcall;
  4194. glGetSharpenTexFuncSGIS: procedure(target: GLenum; points: PGLfloat); stdcall;
  4195. {$EndIf}
  4196. {$IfDef GL_SGIS_texture4D}
  4197. 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;
  4198. 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;
  4199. {$EndIf}
  4200. {$IfDef GL_SGIS_texture_color_mask}
  4201. glTextureColorMaskSGIS: procedure(red: GLboolean; green: GLboolean; blue: GLboolean; alpha: GLboolean); stdcall;
  4202. {$EndIf}
  4203. {$IfDef GL_SGIS_texture_filter4}
  4204. glGetTexFilterFuncSGIS: procedure(target: GLenum; filter: GLenum; weights: PGLfloat); stdcall;
  4205. glTexFilterFuncSGIS: procedure(target: GLenum; filter: GLenum; n: GLsizei; const weights: PGLfloat); stdcall;
  4206. {$EndIf}
  4207. {$IfDef GL_SGIX_async}
  4208. glAsyncMarkerSGIX: procedure(marker: GLuint); stdcall;
  4209. glFinishAsyncSGIX: function(markerp: PGLuint): GLint; stdcall;
  4210. glPollAsyncSGIX: function(markerp: PGLuint): GLint; stdcall;
  4211. glGenAsyncMarkersSGIX: function(range: GLsizei): GLuint; stdcall;
  4212. glDeleteAsyncMarkersSGIX: procedure(marker: GLuint; range: GLsizei); stdcall;
  4213. glIsAsyncMarkerSGIX: function(marker: GLuint): GLboolean; stdcall;
  4214. {$EndIf}
  4215. {$IfDef GL_SGIX_flush_raster}
  4216. glFlushRasterSGIX: procedure; stdcall;
  4217. {$EndIf}
  4218. {$IfDef GL_SGIX_fragment_lighting}
  4219. glFragmentColorMaterialSGIX: procedure(face: GLenum; mode: GLenum); stdcall;
  4220. glFragmentLightfSGIX: procedure(light: GLenum; pname: GLenum; param: GLfloat); stdcall;
  4221. glFragmentLightfvSGIX: procedure(light: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  4222. glFragmentLightiSGIX: procedure(light: GLenum; pname: GLenum; param: GLint); stdcall;
  4223. glFragmentLightivSGIX: procedure(light: GLenum; pname: GLenum; const params: PGLint); stdcall;
  4224. glFragmentLightModelfSGIX: procedure(pname: GLenum; param: GLfloat); stdcall;
  4225. glFragmentLightModelfvSGIX: procedure(pname: GLenum; const params: PGLfloat); stdcall;
  4226. glFragmentLightModeliSGIX: procedure(pname: GLenum; param: GLint); stdcall;
  4227. glFragmentLightModelivSGIX: procedure(pname: GLenum; const params: PGLint); stdcall;
  4228. glFragmentMaterialfSGIX: procedure(face: GLenum; pname: GLenum; param: GLfloat); stdcall;
  4229. glFragmentMaterialfvSGIX: procedure(face: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  4230. glFragmentMaterialiSGIX: procedure(face: GLenum; pname: GLenum; param: GLint); stdcall;
  4231. glFragmentMaterialivSGIX: procedure(face: GLenum; pname: GLenum; const params: PGLint); stdcall;
  4232. glGetFragmentLightfvSGIX: procedure(light: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  4233. glGetFragmentLightivSGIX: procedure(light: GLenum; pname: GLenum; params: PGLint); stdcall;
  4234. glGetFragmentMaterialfvSGIX: procedure(face: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  4235. glGetFragmentMaterialivSGIX: procedure(face: GLenum; pname: GLenum; params: PGLint); stdcall;
  4236. glLightEnviSGIX: procedure(pname: GLenum; param: GLint); stdcall;
  4237. {$EndIf}
  4238. {$IfDef GL_SGIX_framezoom}
  4239. glFrameZoomSGIX: procedure(factor: GLint); stdcall;
  4240. {$EndIf}
  4241. {$IfDef GL_SGIX_igloo_interface}
  4242. glIglooInterfaceSGIX: procedure(pname: GLenum; const params: pointer); stdcall;
  4243. {$EndIf}
  4244. {$IfDef GL_SGIX_instruments}
  4245. glGetInstrumentsSGIX: function: GLint; stdcall;
  4246. glInstrumentsBufferSGIX: procedure(size: GLsizei; buffer: PGLint); stdcall;
  4247. glPollInstrumentsSGIX: function(marker_p: PGLint): GLint; stdcall;
  4248. glReadInstrumentsSGIX: procedure(marker: GLint); stdcall;
  4249. glStartInstrumentsSGIX: procedure; stdcall;
  4250. glStopInstrumentsSGIX: procedure(marker: GLint); stdcall;
  4251. {$EndIf}
  4252. {$IfDef GL_SGIX_list_priority}
  4253. glGetListParameterfvSGIX: procedure(list: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  4254. glGetListParameterivSGIX: procedure(list: GLuint; pname: GLenum; params: PGLint); stdcall;
  4255. glListParameterfSGIX: procedure(list: GLuint; pname: GLenum; param: GLfloat); stdcall;
  4256. glListParameterfvSGIX: procedure(list: GLuint; pname: GLenum; const params: PGLfloat); stdcall;
  4257. glListParameteriSGIX: procedure(list: GLuint; pname: GLenum; param: GLint); stdcall;
  4258. glListParameterivSGIX: procedure(list: GLuint; pname: GLenum; const params: PGLint); stdcall;
  4259. {$EndIf}
  4260. {$IfDef GL_SGIX_pixel_texture}
  4261. glPixelTexGenSGIX: procedure(mode: GLenum); stdcall;
  4262. {$EndIf}
  4263. {$IfDef GL_SGIX_polynomial_ffd}
  4264. 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;
  4265. 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;
  4266. glDeformSGIX: procedure(mask: GLbitfield); stdcall;
  4267. glLoadIdentityDeformationMapSGIX: procedure(mask: GLbitfield); stdcall;
  4268. {$EndIf}
  4269. {$IfDef GL_SGIX_reference_plane}
  4270. glReferencePlaneSGIX: procedure(const equation: PGLdouble); stdcall;
  4271. {$EndIf}
  4272. {$IfDef GL_SGIX_sprite}
  4273. glSpriteParameterfSGIX: procedure(pname: GLenum; param: GLfloat); stdcall;
  4274. glSpriteParameterfvSGIX: procedure(pname: GLenum; const params: PGLfloat); stdcall;
  4275. glSpriteParameteriSGIX: procedure(pname: GLenum; param: GLint); stdcall;
  4276. glSpriteParameterivSGIX: procedure(pname: GLenum; const params: PGLint); stdcall;
  4277. {$EndIf}
  4278. {$IfDef GL_SGIX_tag_sample_buffer}
  4279. glTagSampleBufferSGIX: procedure; stdcall;
  4280. {$EndIf}
  4281. {$IfDef GL_SGI_color_table}
  4282. glColorTableSGI: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; table: pointer); stdcall;
  4283. glColorTableParameterfvSGI: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  4284. glColorTableParameterivSGI: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  4285. glCopyColorTableSGI: procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); stdcall;
  4286. glGetColorTableSGI: procedure(target: GLenum; format: GLenum; _type: GLenum; table: pointer); stdcall;
  4287. glGetColorTableParameterfvSGI: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  4288. glGetColorTableParameterivSGI: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  4289. {$EndIf}
  4290. {$IfDef GL_SUNX_constant_data}
  4291. glFinishTextureSUNX: procedure; stdcall;
  4292. {$EndIf}
  4293. {$IfDef GL_SUN_global_alpha}
  4294. glGlobalAlphaFactorbSUN: procedure(factor: GLbyte); stdcall;
  4295. glGlobalAlphaFactorsSUN: procedure(factor: GLshort); stdcall;
  4296. glGlobalAlphaFactoriSUN: procedure(factor: GLint); stdcall;
  4297. glGlobalAlphaFactorfSUN: procedure(factor: GLfloat); stdcall;
  4298. glGlobalAlphaFactordSUN: procedure(factor: GLdouble); stdcall;
  4299. glGlobalAlphaFactorubSUN: procedure(factor: GLubyte); stdcall;
  4300. glGlobalAlphaFactorusSUN: procedure(factor: GLushort); stdcall;
  4301. glGlobalAlphaFactoruiSUN: procedure(factor: GLuint); stdcall;
  4302. {$EndIf}
  4303. {$IfDef GL_SUN_mesh_array}
  4304. glDrawMeshArraysSUN: procedure(mode: GLenum; first: GLint; count: GLsizei; width: GLsizei); stdcall;
  4305. {$EndIf}
  4306. {$IfDef GL_SUN_triangle_list}
  4307. glReplacementCodeuiSUN: procedure(code: GLuint); stdcall;
  4308. glReplacementCodeusSUN: procedure(code: GLushort); stdcall;
  4309. glReplacementCodeubSUN: procedure(code: GLubyte); stdcall;
  4310. glReplacementCodeuivSUN: procedure(const code: PGLuint); stdcall;
  4311. glReplacementCodeusvSUN: procedure(const code: PGLushort); stdcall;
  4312. glReplacementCodeubvSUN: procedure(const code: PGLubyte); stdcall;
  4313. glReplacementCodePointerSUN: procedure(_type: GLenum; stride: GLsizei; const _pointer: {P}Ppointer); stdcall;
  4314. {$EndIf}
  4315. {$IfDef GL_SUN_vertex}
  4316. glColor4ubVertex2fSUN: procedure(r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat); stdcall;
  4317. glColor4ubVertex2fvSUN: procedure(const c: PGLubyte; const v: PGLfloat); stdcall;
  4318. glColor4ubVertex3fSUN: procedure(r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4319. glColor4ubVertex3fvSUN: procedure(const c: PGLubyte; const v: PGLfloat); stdcall;
  4320. glColor3fVertex3fSUN: procedure(r: GLfloat; g: GLfloat; b: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4321. glColor3fVertex3fvSUN: procedure(const c: PGLfloat; const v: PGLfloat); stdcall;
  4322. glNormal3fVertex3fSUN: procedure(nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4323. glNormal3fVertex3fvSUN: procedure(const n: PGLfloat; const v: PGLfloat); stdcall;
  4324. glColor4fNormal3fVertex3fSUN: procedure(r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4325. glColor4fNormal3fVertex3fvSUN: procedure(const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); stdcall;
  4326. glTexCoord2fVertex3fSUN: procedure(s: GLfloat; t: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4327. glTexCoord2fVertex3fvSUN: procedure(const tc: PGLfloat; const v: PGLfloat); stdcall;
  4328. glTexCoord4fVertex4fSUN: procedure(s: GLfloat; t: GLfloat; p: GLfloat; q: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  4329. glTexCoord4fVertex4fvSUN: procedure(const tc: PGLfloat; const v: PGLfloat); stdcall;
  4330. glTexCoord2fColor4ubVertex3fSUN: procedure(s: GLfloat; t: GLfloat; r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4331. glTexCoord2fColor4ubVertex3fvSUN: procedure(const tc: PGLfloat; const c: PGLubyte; const v: PGLfloat); stdcall;
  4332. glTexCoord2fColor3fVertex3fSUN: procedure(s: GLfloat; t: GLfloat; r: GLfloat; g: GLfloat; b: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4333. glTexCoord2fColor3fVertex3fvSUN: procedure(const tc: PGLfloat; const c: PGLfloat; const v: PGLfloat); stdcall;
  4334. glTexCoord2fNormal3fVertex3fSUN: procedure(s: GLfloat; t: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4335. glTexCoord2fNormal3fVertex3fvSUN: procedure(const tc: PGLfloat; const n: PGLfloat; const v: PGLfloat); stdcall;
  4336. 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;
  4337. glTexCoord2fColor4fNormal3fVertex3fvSUN: procedure(const tc: PGLfloat; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); stdcall;
  4338. 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;
  4339. glTexCoord4fColor4fNormal3fVertex4fvSUN: procedure(const tc: PGLfloat; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); stdcall;
  4340. glReplacementCodeuiVertex3fSUN: procedure(rc: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4341. glReplacementCodeuiVertex3fvSUN: procedure(const rc: PGLuint; const v: PGLfloat); stdcall;
  4342. glReplacementCodeuiColor4ubVertex3fSUN: procedure(rc: GLuint; r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4343. glReplacementCodeuiColor4ubVertex3fvSUN: procedure(const rc: PGLuint; const c: PGLubyte; const v: PGLfloat); stdcall;
  4344. glReplacementCodeuiColor3fVertex3fSUN: procedure(rc: GLuint; r: GLfloat; g: GLfloat; b: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4345. glReplacementCodeuiColor3fVertex3fvSUN: procedure(const rc: PGLuint; const c: PGLfloat; const v: PGLfloat); stdcall;
  4346. glReplacementCodeuiNormal3fVertex3fSUN: procedure(rc: GLuint; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4347. glReplacementCodeuiNormal3fVertex3fvSUN: procedure(const rc: PGLuint; const n: PGLfloat; const v: PGLfloat); stdcall;
  4348. 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;
  4349. glReplacementCodeuiColor4fNormal3fVertex3fvSUN: procedure(const rc: PGLuint; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); stdcall;
  4350. glReplacementCodeuiTexCoord2fVertex3fSUN: procedure(rc: GLuint; s: GLfloat; t: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4351. glReplacementCodeuiTexCoord2fVertex3fvSUN: procedure(const rc: PGLuint; const tc: PGLfloat; const v: PGLfloat); stdcall;
  4352. glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN: procedure(rc: GLuint; s: GLfloat; t: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4353. glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN: procedure(const rc: PGLuint; const tc: PGLfloat; const n: PGLfloat; const v: PGLfloat); stdcall;
  4354. 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;
  4355. glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN: procedure(const rc: PGLuint; const tc: PGLfloat; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); stdcall;
  4356. {$EndIf}
  4357. var
  4358. gl_Library: Pointer;
  4359. {$If defined(USE_GLEXT) or defined(USE_GLCORE)}
  4360. // Rus: проверка всех расширений.
  4361. // Eng:
  4362. procedure AllCheckGLExtension;
  4363. {$IfEnd}
  4364. // Rus: проверка версии OpenGL. Вернёт действующее значение или значение,
  4365. // максимально возможное. Если в файле конфигурации (GLdefine.cfg) задано
  4366. // использовать версию OpenGL 2.1 (USE_GL_21), а ваша видеокарта может
  4367. // работать с OpenGL версии 4.4, то вы будете работать с версией OpengL не
  4368. // выше 2.1. !!! Обратите на это нвимание!!!
  4369. // Eng:
  4370. procedure CheckGLVersion;
  4371. // Rus: загрузка динамических функций.
  4372. // Eng:
  4373. function LoadOpenGL: Boolean;
  4374. implementation
  4375. uses
  4376. zgl_opengl,
  4377. zgl_opengl_all,
  4378. zgl_glu;
  4379. (*{$IFDEF LINUX}
  4380. function dlopen(Name: PAnsiChar; Flags: LongInt): Pointer; cdecl; external 'dl';
  4381. function dlclose(Lib: Pointer): LongInt; cdecl; external 'dl';
  4382. function dlsym(Lib: Pointer; Name: PAnsiChar): Pointer; cdecl; external 'dl';
  4383. {$ENDIF}
  4384. function glLoadLib(Name: PChar): Pointer;
  4385. begin
  4386. {$IfDef WINDOWS}
  4387. Result := Pointer(LoadLibrary(Name));
  4388. {$EndIf}
  4389. {$IfDef LINUX}
  4390. Result := dlopen(Name, $001);
  4391. {$EndIf}
  4392. end;
  4393. function glFreeLib(Lib: Pointer): Boolean;
  4394. begin
  4395. {$IfDef WINDOWS}
  4396. Result := FreeLibrary();
  4397. {$EndIf}
  4398. {$IfDef LINUX}
  4399. Result := dlclose(Lib) = 0;
  4400. {$EndIf}
  4401. end; *)
  4402. (* function gl_GetProcAddr(const procName: PAnsiChar): Pointer; // в ZenGL это не нужно
  4403. begin
  4404. {$IfDef WINDOWS}
  4405. if Assigned(wglGetProcAddress) then
  4406. Result := wglGetProcAddress(procName);
  4407. if Result = nil then
  4408. Result := GetProcAddress(HMODULE(gl_Library), procName);
  4409. {$EndIf}
  4410. {$IfDef LINUX}
  4411. if Assigned(glXGetProcAddress) then
  4412. Result := glXGetProcAddress(procName);
  4413. if Result = nil then
  4414. if Assigned(glXGetProcAddressARB) then
  4415. Result := glXGetProcAddressARB(procName);
  4416. if Result = nil then
  4417. Result := dlsym(gl_Library, procName);
  4418. {$EndIf}
  4419. end; *)
  4420. {$If defined(USE_GLCORE) or defined(USE_GLEXT)}
  4421. procedure AllCheckGLExtension;
  4422. begin
  4423. GL_ARB_ES2_compatibility := gl_IsSupported('GL_ARB_ES2_compatibility', oglExtensions);
  4424. GL_ARB_ES3_1_compatibility := gl_IsSupported('GL_ARB_ES3_1_compatibility', oglExtensions);
  4425. GL_ARB_ES3_2_compatibility := gl_IsSupported('GL_ARB_ES3_2_compatibility', oglExtensions);
  4426. GL_ARB_ES3_compatibility := gl_IsSupported('GL_ARB_ES3_compatibility', oglExtensions);
  4427. GL_ARB_arrays_of_arrays := gl_IsSupported('GL_ARB_arrays_of_arrays', oglExtensions);
  4428. GL_ARB_base_instance := gl_IsSupported('GL_ARB_base_instance', oglExtensions);
  4429. GL_ARB_bindless_texture := gl_IsSupported('GL_ARB_bindless_texture', oglExtensions);
  4430. GL_ARB_blend_func_extended := gl_IsSupported('GL_ARB_blend_func_extended', oglExtensions);
  4431. GL_ARB_buffer_storage := gl_IsSupported('GL_ARB_buffer_storage', oglExtensions);
  4432. GL_ARB_cl_event := gl_IsSupported('GL_ARB_cl_event', oglExtensions);
  4433. GL_ARB_clear_buffer_object := gl_IsSupported('GL_ARB_clear_buffer_object', oglExtensions);
  4434. GL_ARB_clear_texture := gl_IsSupported('GL_ARB_clear_texture', oglExtensions);
  4435. GL_ARB_clip_control := gl_IsSupported('GL_ARB_clip_control', oglExtensions);
  4436. {$IFDEF GL_VERSION_3_0}
  4437. GL_ARB_compatibility := gl_IsSupported('GL_ARB_compatibility', oglExtensions);
  4438. {$ENDIF}
  4439. {$IFDEF USE_GLEXT}
  4440. GL_ARB_color_buffer_float := gl_IsSupported('GL_ARB_color_buffer_float', oglExtensions);
  4441. {$EndIf}
  4442. GL_ARB_compressed_texture_pixel_storage := gl_IsSupported('GL_ARB_compressed_texture_pixel_storage', oglExtensions);
  4443. GL_ARB_compute_shader := gl_IsSupported('GL_ARB_compute_shader', oglExtensions);
  4444. GL_ARB_compute_variable_group_size := gl_IsSupported('GL_ARB_compute_variable_group_size', oglExtensions);
  4445. GL_ARB_conditional_render_inverted := gl_IsSupported('GL_ARB_conditional_render_inverted', oglExtensions);
  4446. GL_ARB_conservative_depth := gl_IsSupported('GL_ARB_conservative_depth', oglExtensions);
  4447. GL_ARB_copy_buffer := gl_IsSupported('GL_ARB_copy_buffer', oglExtensions);
  4448. GL_ARB_copy_image := gl_IsSupported('GL_ARB_copy_image', oglExtensions);
  4449. GL_ARB_cull_distance := gl_IsSupported('GL_ARB_cull_distance', oglExtensions);
  4450. GL_ARB_debug_output := gl_IsSupported('GL_ARB_debug_output', oglExtensions);
  4451. GL_ARB_depth_buffer_float := gl_IsSupported('GL_ARB_depth_buffer_float', oglExtensions);
  4452. GL_ARB_depth_clamp := gl_IsSupported('GL_ARB_depth_clamp', oglExtensions);
  4453. {$IFDEF USE_GLEXT}
  4454. GL_ARB_depth_texture := gl_IsSupported('GL_ARB_depth_texture', oglExtensions);
  4455. {$EndIf}
  4456. GL_ARB_derivative_control := gl_IsSupported('GL_ARB_derivative_control', oglExtensions);
  4457. GL_ARB_direct_state_access := gl_IsSupported('GL_ARB_direct_state_access', oglExtensions);
  4458. {$IFDEF USE_GLEXT}
  4459. GL_ARB_draw_buffers := gl_IsSupported('GL_ARB_draw_buffers', oglExtensions);
  4460. {$EndIf}
  4461. GL_ARB_draw_buffers_blend := gl_IsSupported('GL_ARB_draw_buffers_blend', oglExtensions);
  4462. GL_ARB_draw_elements_base_vertex := gl_IsSupported('GL_ARB_draw_elements_base_vertex', oglExtensions);
  4463. GL_ARB_draw_indirect := gl_IsSupported('GL_ARB_draw_indirect', oglExtensions);
  4464. GL_ARB_draw_instanced := gl_IsSupported('GL_ARB_draw_instanced', oglExtensions);
  4465. GL_ARB_enhanced_layouts := gl_IsSupported('GL_ARB_enhanced_layouts', oglExtensions);
  4466. GL_ARB_explicit_attrib_location := gl_IsSupported('GL_ARB_explicit_attrib_location', oglExtensions);
  4467. GL_ARB_explicit_uniform_location := gl_IsSupported('GL_ARB_explicit_uniform_location', oglExtensions);
  4468. GL_ARB_fragment_coord_conventions := gl_IsSupported('GL_ARB_fragment_coord_conventions', oglExtensions);
  4469. GL_ARB_fragment_layer_viewport := gl_IsSupported('GL_ARB_fragment_layer_viewport', oglExtensions);
  4470. {$IFDEF USE_GLEXT}
  4471. GL_ARB_fragment_program := gl_IsSupported('GL_ARB_fragment_program', oglExtensions);
  4472. GL_ARB_fragment_program_shadow := gl_IsSupported('GL_ARB_fragment_program_shadow', oglExtensions);
  4473. GL_ARB_fragment_shader := gl_IsSupported('GL_ARB_fragment_shader', oglExtensions);
  4474. {$EndIf}
  4475. GL_ARB_fragment_shader_interlock := gl_IsSupported('GL_ARB_fragment_shader_interlock', oglExtensions);
  4476. GL_ARB_framebuffer_no_attachments := gl_IsSupported('GL_ARB_framebuffer_no_attachments', oglExtensions);
  4477. GL_ARB_framebuffer_object := gl_IsSupported('GL_ARB_framebuffer_object', oglExtensions);
  4478. GL_ARB_framebuffer_sRGB := gl_IsSupported('GL_ARB_framebuffer_sRGB', oglExtensions);
  4479. GL_ARB_geometry_shader4 := gl_IsSupported('GL_ARB_geometry_shader4', oglExtensions);
  4480. GL_ARB_get_program_binary := gl_IsSupported('GL_ARB_get_program_binary', oglExtensions);
  4481. GL_ARB_get_texture_sub_image := gl_IsSupported('GL_ARB_get_texture_sub_image', oglExtensions);
  4482. GL_ARB_gl_spirv := gl_IsSupported('GL_ARB_gl_spirv', oglExtensions);
  4483. GL_ARB_gpu_shader5 := gl_IsSupported('GL_ARB_gpu_shader5', oglExtensions);
  4484. GL_ARB_gpu_shader_fp64 := gl_IsSupported('GL_ARB_gpu_shader_fp64', oglExtensions);
  4485. GL_ARB_gpu_shader_int64 := gl_IsSupported('GL_ARB_gpu_shader_int64', oglExtensions);
  4486. {$IFDEF USE_GLEXT}
  4487. GL_ARB_half_float_pixel := gl_IsSupported('GL_ARB_half_float_pixel', oglExtensions);
  4488. GL_ARB_imaging := gl_IsSupported('GL_ARB_imaging', oglExtensions);
  4489. {$EndIf}
  4490. GL_ARB_half_float_vertex := gl_IsSupported('GL_ARB_half_float_vertex', oglExtensions);
  4491. GL_ARB_indirect_parameters := gl_IsSupported('GL_ARB_indirect_parameters', oglExtensions);
  4492. GL_ARB_instanced_arrays := gl_IsSupported('GL_ARB_instanced_arrays', oglExtensions);
  4493. GL_ARB_internalformat_query := gl_IsSupported('GL_ARB_internalformat_query', oglExtensions);
  4494. GL_ARB_internalformat_query2 := gl_IsSupported('GL_ARB_internalformat_query2', oglExtensions);
  4495. GL_ARB_invalidate_subdata := gl_IsSupported('GL_ARB_invalidate_subdata', oglExtensions);
  4496. GL_ARB_map_buffer_alignment := gl_IsSupported('GL_ARB_map_buffer_alignment', oglExtensions);
  4497. GL_ARB_map_buffer_range := gl_IsSupported('GL_ARB_map_buffer_range', oglExtensions);
  4498. {$IFDEF USE_GLEXT}
  4499. GL_ARB_matrix_palette := gl_IsSupported('GL_ARB_matrix_palette', oglExtensions);
  4500. {$EndIf}
  4501. GL_ARB_multi_bind := gl_IsSupported('GL_ARB_multi_bind', oglExtensions);
  4502. GL_ARB_multi_draw_indirect := gl_IsSupported('GL_ARB_multi_draw_indirect', oglExtensions);
  4503. {$IFDEF USE_GLEXT}
  4504. GL_ARB_multisample := gl_IsSupported('GL_ARB_multisample', oglExtensions);
  4505. GL_ARB_multitexture := gl_IsSupported('GL_ARB_multitexture', oglExtensions);
  4506. GL_ARB_occlusion_query := gl_IsSupported('GL_ARB_occlusion_query', oglExtensions);
  4507. {$EndIf}
  4508. GL_ARB_occlusion_query2 := gl_IsSupported('GL_ARB_occlusion_query2', oglExtensions);
  4509. GL_ARB_parallel_shader_compile := gl_IsSupported('GL_ARB_parallel_shader_compile', oglExtensions);
  4510. GL_ARB_pipeline_statistics_query := gl_IsSupported('GL_ARB_pipeline_statistics_query', oglExtensions);
  4511. GL_ARB_pixel_buffer_object := gl_IsSupported('GL_ARB_pixel_buffer_object', oglExtensions);
  4512. {$IFDEF USE_GLEXT}
  4513. GL_ARB_point_parameters := gl_IsSupported('GL_ARB_point_parameters', oglExtensions);
  4514. GL_ARB_point_sprite := gl_IsSupported('GL_ARB_point_sprite', oglExtensions);
  4515. {$EndIf}
  4516. GL_ARB_polygon_offset_clamp := gl_IsSupported('GL_ARB_polygon_offset_clamp', oglExtensions);
  4517. GL_ARB_post_depth_coverage := gl_IsSupported('GL_ARB_post_depth_coverage', oglExtensions);
  4518. GL_ARB_program_interface_query := gl_IsSupported('GL_ARB_program_interface_query', oglExtensions);
  4519. GL_ARB_provoking_vertex := gl_IsSupported('GL_ARB_provoking_vertex', oglExtensions);
  4520. GL_ARB_query_buffer_object := gl_IsSupported('GL_ARB_query_buffer_object', oglExtensions);
  4521. GL_ARB_robust_buffer_access_behavior := gl_IsSupported('GL_ARB_robust_buffer_access_behavior', oglExtensions);
  4522. GL_ARB_robustness := gl_IsSupported('GL_ARB_robustness', oglExtensions);
  4523. GL_ARB_robustness_isolation := gl_IsSupported('GL_ARB_robustness_isolation', oglExtensions);
  4524. GL_ARB_sample_locations := gl_IsSupported('GL_ARB_sample_locations', oglExtensions);
  4525. GL_ARB_sample_shading := gl_IsSupported('GL_ARB_sample_shading', oglExtensions);
  4526. GL_ARB_sampler_objects := gl_IsSupported('GL_ARB_sampler_objects', oglExtensions);
  4527. GL_ARB_seamless_cube_map := gl_IsSupported('GL_ARB_seamless_cube_map', oglExtensions);
  4528. GL_ARB_seamless_cubemap_per_texture := gl_IsSupported('GL_ARB_seamless_cubemap_per_texture', oglExtensions);
  4529. GL_ARB_separate_shader_objects := gl_IsSupported('GL_ARB_separate_shader_objects', oglExtensions);
  4530. GL_ARB_shader_atomic_counter_ops := gl_IsSupported('GL_ARB_shader_atomic_counter_ops', oglExtensions);
  4531. GL_ARB_shader_atomic_counters := gl_IsSupported('GL_ARB_shader_atomic_counters', oglExtensions);
  4532. GL_ARB_shader_ballot := gl_IsSupported('GL_ARB_shader_ballot', oglExtensions);
  4533. GL_ARB_shader_bit_encoding := gl_IsSupported('GL_ARB_shader_bit_encoding', oglExtensions);
  4534. GL_ARB_shader_clock := gl_IsSupported('GL_ARB_shader_clock', oglExtensions);
  4535. GL_ARB_shader_draw_parameters := gl_IsSupported('GL_ARB_shader_draw_parameters', oglExtensions);
  4536. GL_ARB_shader_group_vote := gl_IsSupported('GL_ARB_shader_group_vote', oglExtensions);
  4537. GL_ARB_shader_image_load_store := gl_IsSupported('GL_ARB_shader_image_load_store', oglExtensions);
  4538. GL_ARB_shader_image_size := gl_IsSupported('GL_ARB_shader_image_size', oglExtensions);
  4539. {$IFDEF USE_GLEXT}
  4540. GL_ARB_shader_objects := gl_IsSupported('GL_ARB_shader_objects', oglExtensions);
  4541. {$EndIf}
  4542. GL_ARB_shader_precision := gl_IsSupported('GL_ARB_shader_precision', oglExtensions);
  4543. GL_ARB_shader_stencil_export := gl_IsSupported('GL_ARB_shader_stencil_export', oglExtensions);
  4544. GL_ARB_shader_storage_buffer_object := gl_IsSupported('GL_ARB_shader_storage_buffer_object', oglExtensions);
  4545. GL_ARB_shader_subroutine := gl_IsSupported('GL_ARB_shader_subroutine', oglExtensions);
  4546. GL_ARB_shader_texture_image_samples := gl_IsSupported('GL_ARB_shader_texture_image_samples', oglExtensions);
  4547. {$IFDEF USE_GLEXT}
  4548. GL_ARB_shader_texture_lod := gl_IsSupported('GL_ARB_shader_texture_lod', oglExtensions);
  4549. GL_ARB_shading_language_100 := gl_IsSupported('GL_ARB_shading_language_100', oglExtensions);
  4550. {$EndIf}
  4551. GL_ARB_shader_viewport_layer_array := gl_IsSupported('GL_ARB_shader_viewport_layer_array', oglExtensions);
  4552. GL_ARB_shading_language_420pack := gl_IsSupported('GL_ARB_shading_language_420pack', oglExtensions);
  4553. GL_ARB_shading_language_include := gl_IsSupported('GL_ARB_shading_language_include', oglExtensions);
  4554. GL_ARB_shading_language_packing := gl_IsSupported('GL_ARB_shading_language_packing', oglExtensions);
  4555. {$IFDEF USE_GLEXT}
  4556. GL_ARB_shadow := gl_IsSupported('GL_ARB_shadow', oglExtensions);
  4557. GL_ARB_shadow_ambient := gl_IsSupported('GL_ARB_shadow_ambient', oglExtensions);
  4558. {$EndIf}
  4559. GL_ARB_sparse_buffer := gl_IsSupported('GL_ARB_sparse_buffer', oglExtensions);
  4560. GL_ARB_sparse_texture := gl_IsSupported('GL_ARB_sparse_texture', oglExtensions);
  4561. GL_ARB_sparse_texture2 := gl_IsSupported('GL_ARB_sparse_texture2', oglExtensions);
  4562. GL_ARB_sparse_texture_clamp := gl_IsSupported('GL_ARB_sparse_texture_clamp', oglExtensions);
  4563. GL_ARB_spirv_extensions := gl_IsSupported('GL_ARB_spirv_extensions', oglExtensions);
  4564. GL_ARB_stencil_texturing := gl_IsSupported('GL_ARB_stencil_texturing', oglExtensions);
  4565. GL_ARB_sync := gl_IsSupported('GL_ARB_sync', oglExtensions);
  4566. GL_ARB_tessellation_shader := gl_IsSupported('GL_ARB_tessellation_shader', oglExtensions);
  4567. GL_ARB_texture_barrier := gl_IsSupported('GL_ARB_texture_barrier', oglExtensions);
  4568. GL_ARB_texture_border_clamp := gl_IsSupported('GL_ARB_texture_border_clamp', oglExtensions);
  4569. GL_ARB_texture_buffer_object := gl_IsSupported('GL_ARB_texture_buffer_object', oglExtensions);
  4570. GL_ARB_texture_buffer_object_rgb32 := gl_IsSupported('GL_ARB_texture_buffer_object_rgb32', oglExtensions);
  4571. GL_ARB_texture_buffer_range := gl_IsSupported('GL_ARB_texture_buffer_range', oglExtensions);
  4572. GL_ARB_texture_compression_bptc := gl_IsSupported('GL_ARB_texture_compression_bptc', oglExtensions);
  4573. GL_ARB_texture_compression_rgtc := gl_IsSupported('GL_ARB_texture_compression_rgtc', oglExtensions);
  4574. {$IFDEF USE_GLEXT}
  4575. GL_ARB_texture_compression := gl_IsSupported('GL_ARB_texture_compression', oglExtensions);
  4576. GL_ARB_texture_cube_map := gl_IsSupported('GL_ARB_texture_cube_map', oglExtensions);
  4577. {$EndIf}
  4578. GL_ARB_texture_cube_map_array := gl_IsSupported('GL_ARB_texture_cube_map_array', oglExtensions);
  4579. {$IFDEF USE_GLEXT}
  4580. GL_ARB_texture_env_add := gl_IsSupported('GL_ARB_texture_env_add', oglExtensions);
  4581. GL_ARB_texture_env_combine := gl_IsSupported('GL_ARB_texture_env_combine', oglExtensions);
  4582. GL_ARB_texture_env_crossbar := gl_IsSupported('GL_ARB_texture_env_crossbar', oglExtensions);
  4583. GL_ARB_texture_env_dot3 := gl_IsSupported('GL_ARB_texture_env_dot3', oglExtensions);
  4584. GL_ARB_texture_float := gl_IsSupported('GL_ARB_texture_float', oglExtensions);
  4585. {$EndIf}
  4586. GL_ARB_texture_filter_anisotropic := gl_IsSupported('GL_ARB_texture_filter_anisotropic', oglExtensions);
  4587. GL_ARB_texture_filter_minmax := gl_IsSupported('GL_ARB_texture_filter_minmax', oglExtensions);
  4588. GL_ARB_texture_gather := gl_IsSupported('GL_ARB_texture_gather', oglExtensions);
  4589. GL_ARB_texture_mirror_clamp_to_edge := gl_IsSupported('GL_ARB_texture_mirror_clamp_to_edge', oglExtensions);
  4590. GL_ARB_texture_mirrored_repeat := gl_IsSupported('GL_ARB_texture_mirrored_repeat', oglExtensions);
  4591. GL_ARB_texture_multisample := gl_IsSupported('GL_ARB_texture_multisample', oglExtensions);
  4592. GL_ARB_texture_non_power_of_two := gl_IsSupported('GL_ARB_texture_non_power_of_two', oglExtensions);
  4593. GL_ARB_texture_query_levels := gl_IsSupported('GL_ARB_texture_query_levels', oglExtensions);
  4594. GL_ARB_texture_query_lod := gl_IsSupported('GL_ARB_texture_query_lod', oglExtensions);
  4595. {$IFDEF USE_GLEXT}
  4596. GL_ARB_texture_rectangle := gl_IsSupported('GL_ARB_texture_rectangle', oglExtensions);
  4597. {$EndIf}
  4598. GL_ARB_texture_rg := gl_IsSupported('GL_ARB_texture_rg', oglExtensions);
  4599. GL_ARB_texture_rgb10_a2ui := gl_IsSupported('GL_ARB_texture_rgb10_a2ui', oglExtensions);
  4600. GL_ARB_texture_stencil8 := gl_IsSupported('GL_ARB_texture_stencil8', oglExtensions);
  4601. GL_ARB_texture_storage := gl_IsSupported('GL_ARB_texture_storage', oglExtensions);
  4602. GL_ARB_texture_storage_multisample := gl_IsSupported('GL_ARB_texture_storage_multisample', oglExtensions);
  4603. GL_ARB_texture_swizzle := gl_IsSupported('GL_ARB_texture_swizzle', oglExtensions);
  4604. GL_ARB_texture_view := gl_IsSupported('GL_ARB_texture_view', oglExtensions);
  4605. GL_ARB_timer_query := gl_IsSupported('GL_ARB_timer_query', oglExtensions);
  4606. GL_ARB_transform_feedback2 := gl_IsSupported('GL_ARB_transform_feedback2', oglExtensions);
  4607. GL_ARB_transform_feedback3 := gl_IsSupported('GL_ARB_transform_feedback3', oglExtensions);
  4608. GL_ARB_transform_feedback_instanced := gl_IsSupported('GL_ARB_transform_feedback_instanced', oglExtensions);
  4609. GL_ARB_transform_feedback_overflow_query := gl_IsSupported('GL_ARB_transform_feedback_overflow_query', oglExtensions);
  4610. {$IFDEF USE_GLEXT}
  4611. GL_ARB_transpose_matrix := gl_IsSupported('GL_ARB_transpose_matrix', oglExtensions);
  4612. {$EndIf}
  4613. GL_ARB_uniform_buffer_object := gl_IsSupported('GL_ARB_uniform_buffer_object', oglExtensions);
  4614. GL_ARB_vertex_array_bgra := gl_IsSupported('GL_ARB_vertex_array_bgra', oglExtensions);
  4615. GL_ARB_vertex_array_object := gl_IsSupported('GL_ARB_vertex_array_object', oglExtensions);
  4616. GL_ARB_vertex_attrib_64bit := gl_IsSupported('GL_ARB_vertex_attrib_64bit', oglExtensions);
  4617. GL_ARB_vertex_attrib_binding := gl_IsSupported('GL_ARB_vertex_attrib_binding', oglExtensions);
  4618. {$IFDEF USE_GLEXT}
  4619. GL_ARB_vertex_blend := gl_IsSupported('GL_ARB_vertex_blend', oglExtensions);
  4620. GL_ARB_vertex_buffer_object := gl_IsSupported('GL_ARB_vertex_buffer_object', oglExtensions);
  4621. GL_ARB_vertex_program := gl_IsSupported('GL_ARB_vertex_program', oglExtensions);
  4622. GL_ARB_vertex_shader := gl_IsSupported('GL_ARB_vertex_shader', oglExtensions);
  4623. GL_ARB_window_pos := gl_IsSupported('GL_ARB_window_pos', oglExtensions);
  4624. {$EndIf}
  4625. GL_ARB_vertex_type_10f_11f_11f_rev := gl_IsSupported('GL_ARB_vertex_type_10f_11f_11f_rev', oglExtensions);
  4626. GL_ARB_vertex_type_2_10_10_10_rev := gl_IsSupported('GL_ARB_vertex_type_2_10_10_10_rev', oglExtensions);
  4627. GL_ARB_viewport_array := gl_IsSupported('GL_ARB_viewport_array', oglExtensions);
  4628. GL_KHR_blend_equation_advanced := gl_IsSupported('GL_KHR_blend_equation_advanced', oglExtensions);
  4629. GL_KHR_blend_equation_advanced_coherent := gl_IsSupported('GL_KHR_blend_equation_advanced_coherent', oglExtensions);
  4630. GL_KHR_context_flush_control := gl_IsSupported('GL_KHR_context_flush_control', oglExtensions);
  4631. GL_KHR_debug := gl_IsSupported('GL_KHR_debug', oglExtensions);
  4632. GL_KHR_no_error := gl_IsSupported('GL_KHR_no_error', oglExtensions);
  4633. GL_KHR_parallel_shader_compile := gl_IsSupported('GL_KHR_parallel_shader_compile', oglExtensions);
  4634. GL_KHR_robust_buffer_access_behavior := gl_IsSupported('GL_KHR_robust_buffer_access_behavior', oglExtensions);
  4635. GL_KHR_robustness := gl_IsSupported('GL_KHR_robustness', oglExtensions);
  4636. GL_KHR_shader_subgroup := gl_IsSupported('GL_KHR_shader_subgroup', oglExtensions);
  4637. GL_KHR_texture_compression_astc_hdr := gl_IsSupported('GL_KHR_texture_compression_astc_hdr', oglExtensions);
  4638. GL_KHR_texture_compression_astc_ldr := gl_IsSupported('GL_KHR_texture_compression_astc_ldr', oglExtensions);
  4639. GL_KHR_texture_compression_astc_sliced_3d := gl_IsSupported('GL_KHR_texture_compression_astc_sliced_3d', oglExtensions);
  4640. {$IFDEF USE_GLEXT}
  4641. GL_OES_byte_coordinates := gl_IsSupported('GL_OES_byte_coordinates', oglExtensions);
  4642. GL_OES_compressed_paletted_texture := gl_IsSupported('GL_OES_compressed_paletted_texture', oglExtensions);
  4643. GL_OES_fixed_point := gl_IsSupported('GL_OES_fixed_point', oglExtensions);
  4644. GL_OES_query_matrix := gl_IsSupported('GL_OES_query_matrix', oglExtensions);
  4645. GL_OES_read_format := gl_IsSupported('GL_OES_read_format', oglExtensions);
  4646. GL_OES_single_precision := gl_IsSupported('GL_OES_single_precision', oglExtensions);
  4647. GL_3DFX_multisample := gl_IsSupported('GL_3DFX_multisample', oglExtensions);
  4648. GL_3DFX_tbuffer := gl_IsSupported('GL_3DFX_tbuffer', oglExtensions);
  4649. GL_3DFX_texture_compression_FXT1 := gl_IsSupported('GL_3DFX_texture_compression_FXT1', oglExtensions);
  4650. GL_AMD_blend_minmax_factor := gl_IsSupported('GL_AMD_blend_minmax_factor', oglExtensions);
  4651. GL_AMD_conservative_depth := gl_IsSupported('GL_AMD_conservative_depth', oglExtensions);
  4652. GL_AMD_debug_output := gl_IsSupported('GL_AMD_debug_output', oglExtensions);
  4653. GL_AMD_depth_clamp_separate := gl_IsSupported('GL_AMD_depth_clamp_separate', oglExtensions);
  4654. GL_AMD_draw_buffers_blend := gl_IsSupported('GL_AMD_draw_buffers_blend', oglExtensions);
  4655. {$EndIf}
  4656. GL_AMD_framebuffer_multisample_advanced := gl_IsSupported('GL_AMD_framebuffer_multisample_advanced', oglExtensions);
  4657. GL_AMD_gpu_shader_int64 := gl_IsSupported('GL_AMD_gpu_shader_int64', oglExtensions); // хотя это GL_EXT
  4658. {$IFDEF USE_GLEXT}
  4659. GL_AMD_framebuffer_sample_positions := gl_IsSupported('GL_AMD_framebuffer_sample_positions', oglExtensions);
  4660. GL_AMD_gcn_shader := gl_IsSupported('GL_AMD_gcn_shader', oglExtensions);
  4661. GL_AMD_gpu_shader_half_float := gl_IsSupported('GL_AMD_gpu_shader_half_float', oglExtensions);
  4662. GL_AMD_gpu_shader_int16 := gl_IsSupported('GL_AMD_gpu_shader_int16', oglExtensions);
  4663. GL_AMD_interleaved_elements := gl_IsSupported('GL_AMD_interleaved_elements', oglExtensions);
  4664. GL_AMD_multi_draw_indirect := gl_IsSupported('GL_AMD_multi_draw_indirect', oglExtensions);
  4665. GL_AMD_name_gen_delete := gl_IsSupported('GL_AMD_name_gen_delete', oglExtensions);
  4666. GL_AMD_occlusion_query_event := gl_IsSupported('GL_AMD_occlusion_query_event', oglExtensions);
  4667. {$EndIf}
  4668. GL_AMD_performance_monitor := gl_IsSupported('GL_AMD_performance_monitor', oglExtensions);
  4669. {$IFDEF USE_GLEXT}
  4670. GL_AMD_pinned_memory := gl_IsSupported('GL_AMD_pinned_memory', oglExtensions);
  4671. GL_AMD_query_buffer_object := gl_IsSupported('GL_AMD_query_buffer_object', oglExtensions);
  4672. GL_AMD_sample_positions := gl_IsSupported('GL_AMD_sample_positions', oglExtensions);
  4673. GL_AMD_seamless_cubemap_per_texture := gl_IsSupported('GL_AMD_seamless_cubemap_per_texture', oglExtensions);
  4674. GL_AMD_shader_atomic_counter_ops := gl_IsSupported('GL_AMD_shader_atomic_counter_ops', oglExtensions);
  4675. GL_AMD_shader_ballot := gl_IsSupported('GL_AMD_shader_ballot', oglExtensions);
  4676. GL_AMD_shader_explicit_vertex_parameter := gl_IsSupported('GL_AMD_shader_explicit_vertex_parameter', oglExtensions);
  4677. GL_AMD_shader_gpu_shader_half_float_fetch := gl_IsSupported('GL_AMD_shader_gpu_shader_half_float_fetch', oglExtensions);
  4678. GL_AMD_shader_image_load_store_lod := gl_IsSupported('GL_AMD_shader_image_load_store_lod', oglExtensions);
  4679. GL_AMD_shader_stencil_export := gl_IsSupported('GL_AMD_shader_stencil_export', oglExtensions);
  4680. GL_AMD_shader_trinary_minmax := gl_IsSupported('GL_AMD_shader_trinary_minmax', oglExtensions);
  4681. GL_AMD_sparse_texture := gl_IsSupported('GL_AMD_sparse_texture', oglExtensions);
  4682. GL_AMD_stencil_operation_extended := gl_IsSupported('GL_AMD_stencil_operation_extended', oglExtensions);
  4683. GL_AMD_texture_gather_bias_lod := gl_IsSupported('GL_AMD_texture_gather_bias_lod', oglExtensions);
  4684. GL_AMD_texture_texture4 := gl_IsSupported('GL_AMD_texture_texture4', oglExtensions);
  4685. GL_AMD_transform_feedback3_lines_triangles := gl_IsSupported('GL_AMD_transform_feedback3_lines_triangles', oglExtensions);
  4686. GL_AMD_transform_feedback4 := gl_IsSupported('GL_AMD_transform_feedback4', oglExtensions);
  4687. GL_AMD_vertex_shader_layer := gl_IsSupported('GL_AMD_vertex_shader_layer', oglExtensions);
  4688. GL_AMD_vertex_shader_tessellator := gl_IsSupported('GL_AMD_vertex_shader_tessellator', oglExtensions);
  4689. GL_AMD_vertex_shader_viewport_index := gl_IsSupported('GL_AMD_vertex_shader_viewport_index', oglExtensions);
  4690. GL_APPLE_aux_depth_stencil := gl_IsSupported('GL_APPLE_aux_depth_stencil', oglExtensions);
  4691. GL_APPLE_client_storage := gl_IsSupported('GL_APPLE_client_storage', oglExtensions);
  4692. GL_APPLE_element_array := gl_IsSupported('GL_APPLE_element_array', oglExtensions);
  4693. GL_APPLE_fence := gl_IsSupported('GL_APPLE_fence', oglExtensions);
  4694. GL_APPLE_float_pixels := gl_IsSupported('GL_APPLE_float_pixels', oglExtensions);
  4695. GL_APPLE_flush_buffer_range := gl_IsSupported('GL_APPLE_flush_buffer_range', oglExtensions);
  4696. GL_APPLE_object_purgeable := gl_IsSupported('GL_APPLE_object_purgeable', oglExtensions);
  4697. {$EndIf}
  4698. GL_APPLE_rgb_422 := gl_IsSupported('GL_APPLE_rgb_422', oglExtensions);
  4699. {$IFDEF USE_GLEXT}
  4700. GL_APPLE_row_bytes := gl_IsSupported('GL_APPLE_row_bytes', oglExtensions);
  4701. GL_APPLE_specular_vector := gl_IsSupported('GL_APPLE_specular_vector', oglExtensions);
  4702. GL_APPLE_texture_range := gl_IsSupported('GL_APPLE_texture_range', oglExtensions);
  4703. GL_APPLE_transform_hint := gl_IsSupported('GL_APPLE_transform_hint', oglExtensions);
  4704. GL_APPLE_vertex_array_object := gl_IsSupported('GL_APPLE_vertex_array_object', oglExtensions);
  4705. GL_APPLE_vertex_array_range := gl_IsSupported('GL_APPLE_vertex_array_range', oglExtensions);
  4706. GL_APPLE_vertex_program_evaluators := gl_IsSupported('GL_APPLE_vertex_program_evaluators', oglExtensions);
  4707. GL_APPLE_ycbcr_422 := gl_IsSupported('GL_APPLE_ycbcr_422', oglExtensions);
  4708. GL_ATI_draw_buffers := gl_IsSupported('GL_ATI_draw_buffers', oglExtensions);
  4709. GL_ATI_element_array := gl_IsSupported('GL_ATI_element_array', oglExtensions);
  4710. GL_ATI_envmap_bumpmap := gl_IsSupported('GL_ATI_envmap_bumpmap', oglExtensions);
  4711. GL_ATI_fragment_shader := gl_IsSupported('GL_ATI_fragment_shader', oglExtensions);
  4712. GL_ATI_map_object_buffer := gl_IsSupported('GL_ATI_map_object_buffer', oglExtensions);
  4713. GL_ATI_meminfo := gl_IsSupported('GL_ATI_meminfo', oglExtensions);
  4714. GL_ATI_pixel_format_float := gl_IsSupported('GL_ATI_pixel_format_float', oglExtensions);
  4715. GL_ATI_pn_triangles := gl_IsSupported('GL_ATI_pn_triangles', oglExtensions);
  4716. GL_ATI_separate_stencil := gl_IsSupported('GL_ATI_separate_stencil', oglExtensions);
  4717. GL_ATI_text_fragment_shader := gl_IsSupported('GL_ATI_text_fragment_shader', oglExtensions);
  4718. GL_ATI_texture_env_combine3 := gl_IsSupported('GL_ATI_texture_env_combine3', oglExtensions);
  4719. GL_ATI_texture_float := gl_IsSupported('GL_ATI_texture_float', oglExtensions);
  4720. GL_ATI_texture_mirror_once := gl_IsSupported('GL_ATI_texture_mirror_once', oglExtensions);
  4721. GL_ATI_vertex_array_object := gl_IsSupported('GL_ATI_vertex_array_object', oglExtensions);
  4722. GL_ATI_vertex_attrib_array_object := gl_IsSupported('GL_ATI_vertex_attrib_array_object', oglExtensions);
  4723. GL_ATI_vertex_streams := gl_IsSupported('GL_ATI_vertex_streams', oglExtensions);
  4724. GL_EXT_422_pixels := gl_IsSupported('GL_EXT_422_pixels', oglExtensions);
  4725. {$EndIf}
  4726. GL_EXT_EGL_image_storage := gl_IsSupported('GL_EXT_EGL_image_storage', oglExtensions);
  4727. GL_EXT_EGL_sync := gl_IsSupported('GL_EXT_EGL_sync', oglExtensions);
  4728. {$IFDEF USE_GLEXT}
  4729. GL_EXT_abgr := gl_IsSupported('GL_EXT_abgr', oglExtensions);
  4730. GL_EXT_bgra := gl_IsSupported('GL_EXT_bgra', oglExtensions);
  4731. GL_EXT_bindable_uniform := gl_IsSupported('GL_EXT_bindable_uniform', oglExtensions);
  4732. GL_EXT_blend_color := gl_IsSupported('GL_EXT_blend_color', oglExtensions);
  4733. GL_EXT_blend_equation_separate := gl_IsSupported('GL_EXT_blend_equation_separate', oglExtensions);
  4734. // GL_EXT_blend_func_separate := gl_IsSupported('GL_EXT_blend_func_separate', oglExtensions);
  4735. GL_EXT_blend_logic_op := gl_IsSupported('GL_EXT_blend_logic_op', oglExtensions);
  4736. GL_EXT_blend_minmax := gl_IsSupported('GL_EXT_blend_minmax', oglExtensions);
  4737. GL_EXT_blend_subtract := gl_IsSupported('GL_EXT_blend_subtract', oglExtensions);
  4738. GL_EXT_clip_volume_hint := gl_IsSupported('GL_EXT_clip_volume_hint', oglExtensions);
  4739. GL_EXT_cmyka := gl_IsSupported('GL_EXT_cmyka', oglExtensions);
  4740. GL_EXT_color_subtable := gl_IsSupported('GL_EXT_color_subtable', oglExtensions);
  4741. GL_EXT_compiled_vertex_array := gl_IsSupported('GL_EXT_compiled_vertex_array', oglExtensions);
  4742. GL_EXT_convolution := gl_IsSupported('GL_EXT_convolution', oglExtensions);
  4743. GL_EXT_coordinate_frame := gl_IsSupported('GL_EXT_coordinate_frame', oglExtensions);
  4744. GL_EXT_copy_texture := gl_IsSupported('GL_EXT_copy_texture', oglExtensions);
  4745. GL_EXT_cull_vertex := gl_IsSupported('GL_EXT_cull_vertex', oglExtensions);
  4746. GL_EXT_depth_bounds_test := gl_IsSupported('GL_EXT_depth_bounds_test', oglExtensions);
  4747. GL_EXT_draw_buffers2 := gl_IsSupported('GL_EXT_draw_buffers2', oglExtensions);
  4748. {$EndIf}
  4749. GL_EXT_debug_label := gl_IsSupported('GL_EXT_debug_label', oglExtensions);
  4750. GL_EXT_debug_marker := gl_IsSupported('GL_EXT_debug_marker', oglExtensions);
  4751. GL_EXT_direct_state_access := gl_IsSupported('GL_EXT_direct_state_access', oglExtensions);
  4752. GL_EXT_draw_instanced := gl_IsSupported('GL_EXT_draw_instanced', oglExtensions);
  4753. {$IFDEF USE_GLEXT}
  4754. GL_EXT_draw_range_elements := gl_IsSupported('GL_EXT_draw_range_elements', oglExtensions);
  4755. GL_EXT_external_buffer := gl_IsSupported('GL_EXT_external_buffer', oglExtensions);
  4756. GL_EXT_fog_coord := gl_IsSupported('GL_EXT_fog_coord', oglExtensions);
  4757. GL_EXT_framebuffer_blit := gl_IsSupported('GL_EXT_framebuffer_blit', oglExtensions);
  4758. GL_EXT_framebuffer_multisample := gl_IsSupported('GL_EXT_framebuffer_multisample', oglExtensions);
  4759. GL_EXT_framebuffer_multisample_blit_scaled := gl_IsSupported('GL_EXT_framebuffer_multisample_blit_scaled', oglExtensions);
  4760. GL_EXT_framebuffer_object := gl_IsSupported('GL_EXT_framebuffer_object', oglExtensions);
  4761. GL_EXT_framebuffer_sRGB := gl_IsSupported('GL_EXT_framebuffer_sRGB', oglExtensions);
  4762. GL_EXT_geometry_shader4 := gl_IsSupported('GL_EXT_geometry_shader4', oglExtensions);
  4763. GL_EXT_gpu_program_parameters := gl_IsSupported('GL_EXT_gpu_program_parameters', oglExtensions);
  4764. GL_EXT_gpu_shader4 := gl_IsSupported('GL_EXT_gpu_shader4', oglExtensions);
  4765. GL_EXT_histogram := gl_IsSupported('GL_EXT_histogram', oglExtensions);
  4766. GL_EXT_index_array_formats := gl_IsSupported('GL_EXT_index_array_formats', oglExtensions);
  4767. GL_EXT_index_func := gl_IsSupported('GL_EXT_index_func', oglExtensions);
  4768. GL_EXT_index_material := gl_IsSupported('GL_EXT_index_material', oglExtensions);
  4769. GL_EXT_index_texture := gl_IsSupported('GL_EXT_index_texture', oglExtensions);
  4770. GL_EXT_light_texture := gl_IsSupported('GL_EXT_light_texture', oglExtensions);
  4771. GL_EXT_memory_object := gl_IsSupported('GL_EXT_memory_object', oglExtensions);
  4772. GL_EXT_memory_object_fd := gl_IsSupported('GL_EXT_memory_object_fd', oglExtensions);
  4773. GL_EXT_memory_object_win32 := gl_IsSupported('GL_EXT_memory_object_win32', oglExtensions);
  4774. GL_EXT_misc_attribute := gl_IsSupported('GL_EXT_misc_attribute', oglExtensions);
  4775. GL_EXT_multi_draw_arrays := gl_IsSupported('GL_EXT_multi_draw_arrays', oglExtensions);
  4776. GL_EXT_multisample := gl_IsSupported('GL_EXT_multisample', oglExtensions);
  4777. {$EndIf}
  4778. GL_EXT_multiview_tessellation_geometry_shader := gl_IsSupported('GL_EXT_multiview_tessellation_geometry_shader', oglExtensions);
  4779. GL_EXT_multiview_texture_multisample := gl_IsSupported('GL_EXT_multiview_texture_multisample', oglExtensions);
  4780. GL_EXT_multiview_timer_query := gl_IsSupported('GL_EXT_multiview_timer_query', oglExtensions);
  4781. {$IFDEF USE_GLEXT}
  4782. GL_EXT_packed_depth_stencil := gl_IsSupported('GL_EXT_packed_depth_stencil', oglExtensions);
  4783. GL_EXT_packed_float := gl_IsSupported('GL_EXT_packed_float', oglExtensions);
  4784. GL_EXT_packed_pixels := gl_IsSupported('GL_EXT_packed_pixels', oglExtensions);
  4785. GL_EXT_paletted_texture := gl_IsSupported('GL_EXT_paletted_texture', oglExtensions);
  4786. GL_EXT_pixel_buffer_object := gl_IsSupported('GL_EXT_pixel_buffer_object', oglExtensions);
  4787. GL_EXT_pixel_transform := gl_IsSupported('GL_EXT_pixel_transform', oglExtensions);
  4788. GL_EXT_pixel_transform_color_table := gl_IsSupported('GL_EXT_pixel_transform_color_table', oglExtensions);
  4789. GL_EXT_point_parameters := gl_IsSupported('GL_EXT_point_parameters', oglExtensions);
  4790. GL_EXT_polygon_offset := gl_IsSupported('GL_EXT_polygon_offset', oglExtensions);
  4791. GL_EXT_provoking_vertex := gl_IsSupported('GL_EXT_provoking_vertex', oglExtensions);
  4792. {$EndIf}
  4793. GL_EXT_polygon_offset_clamp := gl_IsSupported('GL_EXT_polygon_offset_clamp', oglExtensions);
  4794. GL_EXT_post_depth_coverage := gl_IsSupported('GL_EXT_post_depth_coverage', oglExtensions);
  4795. GL_EXT_raster_multisample := gl_IsSupported('GL_EXT_raster_multisample', oglExtensions);
  4796. {$IFDEF USE_GLEXT}
  4797. GL_EXT_rescale_normal := gl_IsSupported('GL_EXT_rescale_normal', oglExtensions);
  4798. GL_EXT_secondary_color := gl_IsSupported('GL_EXT_secondary_color', oglExtensions);
  4799. GL_EXT_semaphore := gl_IsSupported('GL_EXT_semaphore', oglExtensions);
  4800. GL_EXT_semaphore_fd := gl_IsSupported('GL_EXT_semaphore_fd', oglExtensions);
  4801. GL_EXT_semaphore_win32 := gl_IsSupported('GL_EXT_semaphore_win32', oglExtensions);
  4802. GL_EXT_separate_specular_color := gl_IsSupported('GL_EXT_separate_specular_color', oglExtensions);
  4803. {$EndIf}
  4804. GL_EXT_separate_shader_objects := gl_IsSupported('GL_EXT_separate_shader_objects', oglExtensions);
  4805. GL_EXT_shader_framebuffer_fetch := gl_IsSupported('GL_EXT_shader_framebuffer_fetch', oglExtensions);
  4806. GL_EXT_shader_framebuffer_fetch_non_coherent := gl_IsSupported('GL_EXT_shader_framebuffer_fetch_non_coherent', oglExtensions);
  4807. GL_EXT_shader_integer_mix := gl_IsSupported('GL_EXT_shader_integer_mix', oglExtensions);
  4808. {$IFDEF USE_GLEXT}
  4809. GL_EXT_shader_image_load_formatted := gl_IsSupported('GL_EXT_shader_image_load_formatted', oglExtensions);
  4810. GL_EXT_shader_image_load_store := gl_IsSupported('GL_EXT_shader_image_load_store', oglExtensions);
  4811. GL_EXT_shadow_funcs := gl_IsSupported('GL_EXT_shadow_funcs', oglExtensions);
  4812. GL_EXT_shared_texture_palette := gl_IsSupported('GL_EXT_shared_texture_palette', oglExtensions);
  4813. GL_EXT_sparse_texture2 := gl_IsSupported('GL_EXT_sparse_texture2', oglExtensions);
  4814. GL_EXT_stencil_clear_tag := gl_IsSupported('GL_EXT_stencil_clear_tag', oglExtensions);
  4815. GL_EXT_stencil_two_side := gl_IsSupported('GL_EXT_stencil_two_side', oglExtensions);
  4816. GL_EXT_stencil_wrap := gl_IsSupported('GL_EXT_stencil_wrap', oglExtensions);
  4817. GL_EXT_subtexture := gl_IsSupported('GL_EXT_subtexture', oglExtensions);
  4818. GL_EXT_texture := gl_IsSupported('GL_EXT_texture', oglExtensions);
  4819. GL_EXT_texture3D := gl_IsSupported('GL_EXT_texture3D', oglExtensions);
  4820. GL_EXT_texture_array := gl_IsSupported('GL_EXT_texture_array', oglExtensions);
  4821. GL_EXT_texture_buffer_object := gl_IsSupported('GL_EXT_texture_buffer_object', oglExtensions);
  4822. GL_EXT_texture_compression_latc := gl_IsSupported('GL_EXT_texture_compression_latc', oglExtensions);
  4823. GL_EXT_texture_compression_rgtc := gl_IsSupported('GL_EXT_texture_compression_rgtc', oglExtensions);
  4824. // GL_EXT_texture_compression_s3tc := gl_IsSupported('GL_EXT_texture_compression_s3tc', oglExtensions);
  4825. GL_EXT_texture_cube_map := gl_IsSupported('GL_EXT_texture_cube_map', oglExtensions);
  4826. GL_EXT_texture_env_add := gl_IsSupported('GL_EXT_texture_env_add', oglExtensions);
  4827. GL_EXT_texture_env_combine := gl_IsSupported('GL_EXT_texture_env_combine', oglExtensions);
  4828. GL_EXT_texture_env_dot3 := gl_IsSupported('GL_EXT_texture_env_dot3', oglExtensions);
  4829. // GL_EXT_texture_filter_anisotropic := gl_IsSupported('GL_EXT_texture_filter_anisotropic', oglExtensions);
  4830. {$EndIf}
  4831. GL_EXT_texture_filter_minmax := gl_IsSupported('GL_EXT_texture_filter_minmax', oglExtensions);
  4832. {$IFDEF USE_GLEXT}
  4833. GL_EXT_texture_integer := gl_IsSupported('GL_EXT_texture_integer', oglExtensions);
  4834. GL_EXT_texture_lod_bias := gl_IsSupported('GL_EXT_texture_lod_bias', oglExtensions);
  4835. GL_EXT_texture_mirror_clamp := gl_IsSupported('GL_EXT_texture_mirror_clamp', oglExtensions);
  4836. GL_EXT_texture_object := gl_IsSupported('GL_EXT_texture_object', oglExtensions);
  4837. GL_EXT_texture_perturb_normal := gl_IsSupported('GL_EXT_texture_perturb_normal', oglExtensions);
  4838. GL_EXT_texture_sRGB := gl_IsSupported('GL_EXT_texture_sRGB', oglExtensions);
  4839. GL_EXT_texture_shared_exponent := gl_IsSupported('GL_EXT_texture_shared_exponent', oglExtensions);
  4840. GL_EXT_texture_snorm := gl_IsSupported('GL_EXT_texture_snorm', oglExtensions);
  4841. {$EndIf}
  4842. GL_EXT_texture_sRGB_R8 := gl_IsSupported('GL_EXT_texture_sRGB_R8', oglExtensions);
  4843. GL_EXT_texture_sRGB_RG8 := gl_IsSupported('GL_EXT_texture_sRGB_RG8', oglExtensions);
  4844. GL_EXT_texture_sRGB_decode := gl_IsSupported('GL_EXT_texture_sRGB_decode', oglExtensions);
  4845. GL_EXT_texture_shadow_lod := gl_IsSupported('GL_EXT_texture_shadow_lod', oglExtensions);
  4846. GL_EXT_texture_storage := gl_IsSupported('GL_EXT_texture_storage', oglExtensions);
  4847. {$IFDEF USE_GLEXT}
  4848. GL_EXT_texture_swizzle := gl_IsSupported('GL_EXT_texture_swizzle', oglExtensions);
  4849. GL_EXT_timer_query := gl_IsSupported('GL_EXT_timer_query', oglExtensions);
  4850. GL_EXT_transform_feedback := gl_IsSupported('GL_EXT_transform_feedback', oglExtensions);
  4851. GL_EXT_vertex_array := gl_IsSupported('GL_EXT_vertex_array', oglExtensions);
  4852. GL_EXT_vertex_array_bgra := gl_IsSupported('GL_EXT_vertex_array_bgra', oglExtensions);
  4853. GL_EXT_vertex_attrib_64bit := gl_IsSupported('GL_EXT_vertex_attrib_64bit', oglExtensions);
  4854. GL_EXT_vertex_shader := gl_IsSupported('GL_EXT_vertex_shader', oglExtensions);
  4855. GL_EXT_vertex_weighting := gl_IsSupported('GL_EXT_vertex_weighting', oglExtensions);
  4856. GL_EXT_win32_keyed_mutex := gl_IsSupported('GL_EXT_win32_keyed_mutex', oglExtensions);
  4857. {$EndIf}
  4858. GL_EXT_window_rectangles := gl_IsSupported('GL_EXT_window_rectangles', oglExtensions);
  4859. {$IFDEF USE_GLEXT}
  4860. GL_EXT_x11_sync_object := gl_IsSupported('GL_EXT_x11_sync_object', oglExtensions);
  4861. GL_GREMEDY_frame_terminator := gl_IsSupported('GL_GREMEDY_frame_terminator', oglExtensions);
  4862. GL_GREMEDY_string_marker := gl_IsSupported('GL_GREMEDY_string_marker', oglExtensions);
  4863. GL_HP_convolution_border_modes := gl_IsSupported('GL_HP_convolution_border_modes', oglExtensions);
  4864. GL_HP_image_transform := gl_IsSupported('GL_HP_image_transform', oglExtensions);
  4865. GL_HP_occlusion_test := gl_IsSupported('GL_HP_occlusion_test', oglExtensions);
  4866. GL_HP_texture_lighting := gl_IsSupported('GL_HP_texture_lighting', oglExtensions);
  4867. GL_IBM_cull_vertex := gl_IsSupported('GL_IBM_cull_vertex', oglExtensions);
  4868. GL_IBM_multimode_draw_arrays := gl_IsSupported('GL_IBM_multimode_draw_arrays', oglExtensions);
  4869. GL_IBM_rasterpos_clip := gl_IsSupported('GL_IBM_rasterpos_clip', oglExtensions);
  4870. GL_IBM_static_data := gl_IsSupported('GL_IBM_static_data', oglExtensions);
  4871. GL_IBM_texture_mirrored_repeat := gl_IsSupported('GL_IBM_texture_mirrored_repeat', oglExtensions);
  4872. GL_IBM_vertex_array_lists := gl_IsSupported('GL_IBM_vertex_array_lists', oglExtensions);
  4873. GL_INGR_blend_func_separate := gl_IsSupported('GL_INGR_blend_func_separate', oglExtensions);
  4874. GL_INGR_color_clamp := gl_IsSupported('GL_INGR_color_clamp', oglExtensions);
  4875. GL_INGR_interlace_read := gl_IsSupported('GL_INGR_interlace_read', oglExtensions);
  4876. GL_INTEL_fragment_shader_ordering := gl_IsSupported('GL_INTEL_fragment_shader_ordering', oglExtensions);
  4877. {$EndIf}
  4878. GL_INTEL_blackhole_render := gl_IsSupported('GL_INTEL_blackhole_render', oglExtensions);
  4879. GL_INTEL_conservative_rasterization := gl_IsSupported('GL_INTEL_conservative_rasterization', oglExtensions);
  4880. GL_INTEL_framebuffer_CMAA := gl_IsSupported('GL_INTEL_framebuffer_CMAA', oglExtensions);
  4881. {$IFDEF USE_GLEXT}
  4882. GL_INTEL_map_texture := gl_IsSupported('GL_INTEL_map_texture', oglExtensions);
  4883. GL_INTEL_parallel_arrays := gl_IsSupported('GL_INTEL_parallel_arrays', oglExtensions);
  4884. GL_MESAX_texture_stack := gl_IsSupported('GL_MESAX_texture_stack', oglExtensions);
  4885. {$EndIf}
  4886. GL_INTEL_performance_query := gl_IsSupported('GL_INTEL_performance_query', oglExtensions);
  4887. GL_MESA_framebuffer_flip_x := gl_IsSupported('GL_MESA_framebuffer_flip_x', oglExtensions);
  4888. GL_MESA_framebuffer_flip_y := gl_IsSupported('GL_MESA_framebuffer_flip_y', oglExtensions);
  4889. GL_MESA_framebuffer_swap_xy := gl_IsSupported('GL_MESA_framebuffer_swap_xy', oglExtensions);
  4890. {$IFDEF USE_GLEXT}
  4891. GL_MESA_pack_invert := gl_IsSupported('GL_MESA_pack_invert', oglExtensions);
  4892. GL_MESA_program_binary_formats := gl_IsSupported('GL_MESA_program_binary_formats', oglExtensions);
  4893. GL_MESA_resize_buffers := gl_IsSupported('GL_MESA_resize_buffers', oglExtensions);
  4894. GL_MESA_shader_integer_functions := gl_IsSupported('GL_MESA_shader_integer_functions', oglExtensions);
  4895. GL_MESA_tile_raster_order := gl_IsSupported('GL_MESA_tile_raster_order', oglExtensions);
  4896. GL_MESA_window_pos := gl_IsSupported('GL_MESA_window_pos', oglExtensions);
  4897. GL_MESA_ycbcr_texture := gl_IsSupported('GL_MESA_ycbcr_texture', oglExtensions);
  4898. GL_NVX_blend_equation_advanced_multi_draw_buffers := gl_IsSupported('GL_NVX_blend_equation_advanced_multi_draw_buffers', oglExtensions);
  4899. GL_NVX_conditional_render := gl_IsSupported('GL_NVX_conditional_render', oglExtensions);
  4900. GL_NVX_gpu_memory_info := gl_IsSupported('GL_NVX_gpu_memory_info', oglExtensions);
  4901. GL_NVX_gpu_multicast2 := gl_IsSupported('GL_NVX_gpu_multicast2', oglExtensions);
  4902. GL_NVX_linked_gpu_multicast := gl_IsSupported('GL_NVX_linked_gpu_multicast', oglExtensions);
  4903. GL_NVX_progress_fence := gl_IsSupported('GL_NVX_progress_fence', oglExtensions);
  4904. GL_NV_alpha_to_coverage_dither_control := gl_IsSupported('GL_NV_alpha_to_coverage_dither_control', oglExtensions);
  4905. {$EndIf}
  4906. GL_NV_bindless_multi_draw_indirect := gl_IsSupported('GL_NV_bindless_multi_draw_indirect', oglExtensions);
  4907. GL_NV_bindless_multi_draw_indirect_count := gl_IsSupported('GL_NV_bindless_multi_draw_indirect_count', oglExtensions);
  4908. GL_NV_bindless_texture := gl_IsSupported('GL_NV_bindless_texture', oglExtensions);
  4909. GL_NV_blend_equation_advanced := gl_IsSupported('GL_NV_blend_equation_advanced', oglExtensions);
  4910. GL_NV_blend_equation_advanced_coherent := gl_IsSupported('GL_NV_blend_equation_advanced_coherent', oglExtensions);
  4911. GL_NV_blend_minmax_factor := gl_IsSupported('GL_NV_blend_minmax_factor', oglExtensions);
  4912. {$IFDEF USE_GLEXT}
  4913. GL_NV_blend_square := gl_IsSupported('GL_NV_blend_square', oglExtensions);
  4914. GL_NV_compute_program5 := gl_IsSupported('GL_NV_compute_program5', oglExtensions);
  4915. {$EndIf}
  4916. GL_NV_clip_space_w_scaling := gl_IsSupported('GL_NV_clip_space_w_scaling', oglExtensions);
  4917. GL_NV_command_list := gl_IsSupported('GL_NV_command_list', oglExtensions);
  4918. GL_NV_compute_shader_derivatives := gl_IsSupported('GL_NV_compute_shader_derivatives', oglExtensions);
  4919. GL_NV_conditional_render := gl_IsSupported('GL_NV_conditional_render', oglExtensions);
  4920. GL_NV_conservative_raster := gl_IsSupported('GL_NV_conservative_raster', oglExtensions);
  4921. GL_NV_conservative_raster_dilate := gl_IsSupported('GL_NV_conservative_raster_dilate', oglExtensions);
  4922. GL_NV_conservative_raster_pre_snap := gl_IsSupported('GL_NV_conservative_raster_pre_snap', oglExtensions);
  4923. GL_NV_conservative_raster_pre_snap_triangles := gl_IsSupported('GL_NV_conservative_raster_pre_snap_triangles', oglExtensions);
  4924. GL_NV_conservative_raster_underestimation := gl_IsSupported('GL_NV_conservative_raster_underestimation', oglExtensions);
  4925. GL_NV_depth_buffer_float := gl_IsSupported('GL_NV_depth_buffer_float', oglExtensions);
  4926. {$IFDEF USE_GLEXT}
  4927. GL_NV_copy_depth_to_color := gl_IsSupported('GL_NV_copy_depth_to_color', oglExtensions);
  4928. GL_NV_copy_image := gl_IsSupported('GL_NV_copy_image', oglExtensions);
  4929. GL_NV_deep_texture3D := gl_IsSupported('GL_NV_deep_texture3D', oglExtensions);
  4930. GL_NV_depth_clamp := gl_IsSupported('GL_NV_depth_clamp', oglExtensions);
  4931. GL_NV_draw_texture := gl_IsSupported('GL_NV_draw_texture', oglExtensions);
  4932. GL_NV_evaluators := gl_IsSupported('GL_NV_evaluators', oglExtensions);
  4933. GL_NV_explicit_multisample := gl_IsSupported('GL_NV_explicit_multisample', oglExtensions);
  4934. GL_NV_fence := gl_IsSupported('GL_NV_fence', oglExtensions);
  4935. {$EndIf}
  4936. GL_NV_draw_vulkan_image := gl_IsSupported('GL_NV_draw_vulkan_image', oglExtensions);
  4937. GL_NV_fill_rectangle := gl_IsSupported('GL_NV_fill_rectangle', oglExtensions);
  4938. {$IFDEF USE_GLEXT}
  4939. GL_NV_float_buffer := gl_IsSupported('GL_NV_float_buffer', oglExtensions);
  4940. GL_NV_fog_distance := gl_IsSupported('GL_NV_fog_distance', oglExtensions);
  4941. GL_NV_fragment_program := gl_IsSupported('GL_NV_fragment_program', oglExtensions);
  4942. GL_NV_fragment_program2 := gl_IsSupported('GL_NV_fragment_program2', oglExtensions);
  4943. GL_NV_fragment_program4 := gl_IsSupported('GL_NV_fragment_program4', oglExtensions);
  4944. GL_NV_fragment_program_option := gl_IsSupported('GL_NV_fragment_program_option', oglExtensions);
  4945. {$EndIf}
  4946. GL_NV_fragment_coverage_to_color := gl_IsSupported('GL_NV_fragment_coverage_to_color', oglExtensions);
  4947. GL_NV_fragment_shader_barycentric := gl_IsSupported('GL_NV_fragment_shader_barycentric', oglExtensions);
  4948. GL_NV_fragment_shader_interlock := gl_IsSupported('GL_NV_fragment_shader_interlock', oglExtensions);
  4949. GL_NV_framebuffer_mixed_samples := gl_IsSupported('GL_NV_framebuffer_mixed_samples', oglExtensions);
  4950. GL_NV_framebuffer_multisample_coverage := gl_IsSupported('GL_NV_framebuffer_multisample_coverage', oglExtensions);
  4951. GL_NV_geometry_shader_passthrough := gl_IsSupported('GL_NV_geometry_shader_passthrough', oglExtensions);
  4952. {$IFDEF USE_GLEXT}
  4953. GL_NV_geometry_program4 := gl_IsSupported('GL_NV_geometry_program4', oglExtensions);
  4954. GL_NV_geometry_shader4 := gl_IsSupported('GL_NV_geometry_shader4', oglExtensions);
  4955. GL_NV_gpu_multicast := gl_IsSupported('GL_NV_gpu_multicast', oglExtensions);
  4956. GL_NV_gpu_program4 := gl_IsSupported('GL_NV_gpu_program4', oglExtensions);
  4957. GL_NV_gpu_program5 := gl_IsSupported('GL_NV_gpu_program5', oglExtensions);
  4958. GL_NV_gpu_program5_mem_extended := gl_IsSupported('GL_NV_gpu_program5_mem_extended', oglExtensions);
  4959. {$EndIf}
  4960. // узнать, работает ли эта часть при GLext!!!!
  4961. // хотя функции подменены в другом разделе.
  4962. GL_NV_gpu_shader5 := gl_IsSupported('GL_NV_gpu_shader5', oglExtensions);
  4963. GL_NV_internalformat_sample_query := gl_IsSupported('GL_NV_internalformat_sample_query', oglExtensions);
  4964. {$IFDEF USE_GLEXT}
  4965. GL_NV_half_float := gl_IsSupported('GL_NV_half_float', oglExtensions);
  4966. GL_NV_light_max_exponent := gl_IsSupported('GL_NV_light_max_exponent', oglExtensions);
  4967. {$EndIf}
  4968. GL_NV_memory_attachment := gl_IsSupported('GL_NV_memory_attachment', oglExtensions);
  4969. GL_NV_memory_object_sparse := gl_IsSupported('GL_NV_memory_object_sparse', oglExtensions);
  4970. GL_NV_mesh_shader := gl_IsSupported('GL_NV_mesh_shader', oglExtensions);
  4971. GL_NV_path_rendering := gl_IsSupported('GL_NV_path_rendering', oglExtensions);
  4972. GL_NV_path_rendering_shared_edge := gl_IsSupported('GL_NV_path_rendering_shared_edge', oglExtensions);
  4973. {$IFDEF USE_GLEXT}
  4974. GL_NV_multisample_coverage := gl_IsSupported('GL_NV_multisample_coverage', oglExtensions);
  4975. GL_NV_multisample_filter_hint := gl_IsSupported('GL_NV_multisample_filter_hint', oglExtensions);
  4976. GL_NV_occlusion_query := gl_IsSupported('GL_NV_occlusion_query', oglExtensions);
  4977. GL_NV_packed_depth_stencil := gl_IsSupported('GL_NV_packed_depth_stencil', oglExtensions);
  4978. GL_NV_parameter_buffer_object := gl_IsSupported('GL_NV_parameter_buffer_object', oglExtensions);
  4979. GL_NV_parameter_buffer_object2 := gl_IsSupported('GL_NV_parameter_buffer_object2', oglExtensions);
  4980. GL_NV_pixel_data_range := gl_IsSupported('GL_NV_pixel_data_range', oglExtensions);
  4981. GL_NV_point_sprite := gl_IsSupported('GL_NV_point_sprite', oglExtensions);
  4982. GL_NV_present_video := gl_IsSupported('GL_NV_present_video', oglExtensions);
  4983. GL_NV_primitive_restart := gl_IsSupported('GL_NV_primitive_restart', oglExtensions);
  4984. {$EndIf}
  4985. GL_NV_primitive_shading_rate := gl_IsSupported('GL_NV_primitive_shading_rate', oglExtensions);
  4986. GL_NV_representative_fragment_test := gl_IsSupported('GL_NV_representative_fragment_test', oglExtensions);
  4987. {$IFDEF USE_GLEXT}
  4988. GL_NV_query_resource := gl_IsSupported('GL_NV_query_resource', oglExtensions);
  4989. GL_NV_query_resource_tag := gl_IsSupported('GL_NV_query_resource_tag', oglExtensions);
  4990. GL_NV_register_combiners := gl_IsSupported('GL_NV_register_combiners', oglExtensions);
  4991. GL_NV_register_combiners2 := gl_IsSupported('GL_NV_register_combiners2', oglExtensions);
  4992. GL_NV_robustness_video_memory_purge := gl_IsSupported('GL_NV_robustness_video_memory_purge', oglExtensions);
  4993. {$EndIf}
  4994. GL_NV_sample_locations := gl_IsSupported('GL_NV_sample_locations', oglExtensions);
  4995. GL_NV_sample_mask_override_coverage := gl_IsSupported('GL_NV_sample_mask_override_coverage', oglExtensions);
  4996. GL_NV_scissor_exclusive := gl_IsSupported('GL_NV_scissor_exclusive', oglExtensions);
  4997. GL_NV_shader_atomic_counters := gl_IsSupported('GL_NV_shader_atomic_counters', oglExtensions);
  4998. GL_NV_shader_atomic_float := gl_IsSupported('GL_NV_shader_atomic_float', oglExtensions);
  4999. GL_NV_shader_atomic_float64 := gl_IsSupported('GL_NV_shader_atomic_float64', oglExtensions);
  5000. GL_NV_shader_atomic_fp16_vector := gl_IsSupported('GL_NV_shader_atomic_fp16_vector', oglExtensions);
  5001. GL_NV_shader_atomic_int64 := gl_IsSupported('GL_NV_shader_atomic_int64', oglExtensions);
  5002. GL_NV_shader_buffer_load := gl_IsSupported('GL_NV_shader_buffer_load', oglExtensions);
  5003. GL_NV_shader_buffer_store := gl_IsSupported('GL_NV_shader_buffer_store', oglExtensions);
  5004. GL_NV_shader_subgroup_partitioned := gl_IsSupported('GL_NV_shader_subgroup_partitioned', oglExtensions);
  5005. GL_NV_shader_texture_footprint := gl_IsSupported('GL_NV_shader_texture_footprint', oglExtensions);
  5006. GL_NV_shader_thread_group := gl_IsSupported('GL_NV_shader_thread_group', oglExtensions);
  5007. GL_NV_shader_thread_shuffle := gl_IsSupported('GL_NV_shader_thread_shuffle', oglExtensions);
  5008. GL_NV_shading_rate_image := gl_IsSupported('GL_NV_shading_rate_image', oglExtensions);
  5009. {$IFDEF USE_GLEXT}
  5010. GL_NV_shader_storage_buffer_object := gl_IsSupported('GL_NV_shader_storage_buffer_object', oglExtensions);
  5011. GL_NV_stereo_view_rendering := gl_IsSupported('GL_NV_stereo_view_rendering', oglExtensions);
  5012. GL_NV_tessellation_program5 := gl_IsSupported('GL_NV_tessellation_program5', oglExtensions);
  5013. GL_NV_texgen_emboss := gl_IsSupported('GL_NV_texgen_emboss', oglExtensions);
  5014. GL_NV_texgen_reflection := gl_IsSupported('GL_NV_texgen_reflection', oglExtensions);
  5015. GL_NV_texture_compression_vtc := gl_IsSupported('GL_NV_texture_compression_vtc', oglExtensions);
  5016. GL_NV_texture_env_combine4 := gl_IsSupported('GL_NV_texture_env_combine4', oglExtensions);
  5017. GL_NV_texture_expand_normal := gl_IsSupported('GL_NV_texture_expand_normal', oglExtensions);
  5018. GL_NV_texture_multisample := gl_IsSupported('GL_NV_texture_multisample', oglExtensions);
  5019. GL_NV_texture_rectangle := gl_IsSupported('GL_NV_texture_rectangle', oglExtensions);
  5020. {$EndIf}
  5021. GL_NV_texture_barrier := gl_IsSupported('GL_NV_texture_barrier', oglExtensions);
  5022. GL_NV_texture_rectangle_compressed := gl_IsSupported('GL_NV_texture_rectangle_compressed', oglExtensions);
  5023. {$IFDEF USE_GLEXT}
  5024. GL_NV_texture_shader := gl_IsSupported('GL_NV_texture_shader', oglExtensions);
  5025. GL_NV_texture_shader2 := gl_IsSupported('GL_NV_texture_shader2', oglExtensions);
  5026. GL_NV_texture_shader3 := gl_IsSupported('GL_NV_texture_shader3', oglExtensions);
  5027. GL_NV_timeline_semaphore := gl_IsSupported('GL_NV_timeline_semaphore', oglExtensions);
  5028. GL_NV_transform_feedback := gl_IsSupported('GL_NV_transform_feedback', oglExtensions);
  5029. GL_NV_transform_feedback2 := gl_IsSupported('GL_NV_transform_feedback2', oglExtensions);
  5030. GL_NV_vdpau_interop := gl_IsSupported('GL_NV_vdpau_interop', oglExtensions);
  5031. GL_NV_vdpau_interop2 := gl_IsSupported('GL_NV_vdpau_interop2', oglExtensions);
  5032. GL_NV_vertex_array_range := gl_IsSupported('GL_NV_vertex_array_range', oglExtensions);
  5033. GL_NV_vertex_array_range2 := gl_IsSupported('GL_NV_vertex_array_range2', oglExtensions);
  5034. {$EndIf}
  5035. GL_NV_uniform_buffer_unified_memory := gl_IsSupported('GL_NV_uniform_buffer_unified_memory', oglExtensions);
  5036. GL_NV_vertex_attrib_integer_64bit := gl_IsSupported('GL_NV_vertex_attrib_integer_64bit', oglExtensions);
  5037. GL_NV_vertex_buffer_unified_memory := gl_IsSupported('GL_NV_vertex_buffer_unified_memory', oglExtensions);
  5038. GL_NV_viewport_array2 := gl_IsSupported('GL_NV_viewport_array2', oglExtensions);
  5039. GL_NV_viewport_swizzle := gl_IsSupported('GL_NV_viewport_swizzle', oglExtensions);
  5040. {$IFDEF USE_GLEXT}
  5041. GL_NV_vertex_program := gl_IsSupported('GL_NV_vertex_program', oglExtensions);
  5042. GL_NV_vertex_program1_1 := gl_IsSupported('GL_NV_vertex_program1_1', oglExtensions);
  5043. GL_NV_vertex_program2 := gl_IsSupported('GL_NV_vertex_program2', oglExtensions);
  5044. GL_NV_vertex_program2_option := gl_IsSupported('GL_NV_vertex_program2_option', oglExtensions);
  5045. GL_NV_vertex_program3 := gl_IsSupported('GL_NV_vertex_program3', oglExtensions);
  5046. GL_NV_vertex_program4 := gl_IsSupported('GL_NV_vertex_program4', oglExtensions);
  5047. GL_NV_video_capture := gl_IsSupported('GL_NV_video_capture', oglExtensions);
  5048. GL_OML_interlace := gl_IsSupported('GL_OML_interlace', oglExtensions);
  5049. GL_OML_resample := gl_IsSupported('GL_OML_resample', oglExtensions);
  5050. GL_OML_subsample := gl_IsSupported('GL_OML_subsample', oglExtensions);
  5051. {$EndIf}
  5052. GL_OVR_multiview := gl_IsSupported('GL_OVR_multiview', oglExtensions);
  5053. GL_OVR_multiview2 := gl_IsSupported('GL_OVR_multiview2', oglExtensions);
  5054. {$IFDEF USE_GLEXT}
  5055. GL_PGI_misc_hints := gl_IsSupported('GL_PGI_misc_hints', oglExtensions);
  5056. GL_PGI_vertex_hints := gl_IsSupported('GL_PGI_vertex_hints', oglExtensions);
  5057. GL_REND_screen_coordinates := gl_IsSupported('GL_REND_screen_coordinates', oglExtensions);
  5058. GL_S3_s3tc := gl_IsSupported('GL_S3_s3tc', oglExtensions);
  5059. GL_SGIS_detail_texture := gl_IsSupported('GL_SGIS_detail_texture', oglExtensions);
  5060. GL_SGIS_fog_function := gl_IsSupported('GL_SGIS_fog_function', oglExtensions);
  5061. // GL_SGIS_generate_mipmap := gl_IsSupported('GL_SGIS_generate_mipmap', oglExtensions);
  5062. GL_SGIS_multisample := gl_IsSupported('GL_SGIS_multisample', oglExtensions);
  5063. GL_SGIS_pixel_texture := gl_IsSupported('GL_SGIS_pixel_texture', oglExtensions);
  5064. GL_SGIS_point_line_texgen := gl_IsSupported('GL_SGIS_point_line_texgen', oglExtensions);
  5065. GL_SGIS_point_parameters := gl_IsSupported('GL_SGIS_point_parameters', oglExtensions);
  5066. GL_SGIS_sharpen_texture := gl_IsSupported('GL_SGIS_sharpen_texture', oglExtensions);
  5067. GL_SGIS_texture4D := gl_IsSupported('GL_SGIS_texture4D', oglExtensions);
  5068. GL_SGIS_texture_border_clamp := gl_IsSupported('GL_SGIS_texture_border_clamp', oglExtensions);
  5069. GL_SGIS_texture_color_mask := gl_IsSupported('GL_SGIS_texture_color_mask', oglExtensions);
  5070. GL_SGIS_texture_edge_clamp := gl_IsSupported('GL_SGIS_texture_edge_clamp', oglExtensions);
  5071. GL_SGIS_texture_filter4 := gl_IsSupported('GL_SGIS_texture_filter4', oglExtensions);
  5072. GL_SGIS_texture_lod := gl_IsSupported('GL_SGIS_texture_lod', oglExtensions);
  5073. GL_SGIS_texture_select := gl_IsSupported('GL_SGIS_texture_select', oglExtensions);
  5074. GL_SGIX_async := gl_IsSupported('GL_SGIX_async', oglExtensions);
  5075. GL_SGIX_async_histogram := gl_IsSupported('GL_SGIX_async_histogram', oglExtensions);
  5076. GL_SGIX_async_pixel := gl_IsSupported('GL_SGIX_async_pixel', oglExtensions);
  5077. GL_SGIX_blend_alpha_minmax := gl_IsSupported('GL_SGIX_blend_alpha_minmax', oglExtensions);
  5078. GL_SGIX_calligraphic_fragment := gl_IsSupported('GL_SGIX_calligraphic_fragment', oglExtensions);
  5079. GL_SGIX_clipmap := gl_IsSupported('GL_SGIX_clipmap', oglExtensions);
  5080. GL_SGIX_convolution_accuracy := gl_IsSupported('GL_SGIX_convolution_accuracy', oglExtensions);
  5081. GL_SGIX_depth_pass_instrument := gl_IsSupported('GL_SGIX_depth_pass_instrument', oglExtensions);
  5082. GL_SGIX_depth_texture := gl_IsSupported('GL_SGIX_depth_texture', oglExtensions);
  5083. GL_SGIX_flush_raster := gl_IsSupported('GL_SGIX_flush_raster', oglExtensions);
  5084. GL_SGIX_fog_offset := gl_IsSupported('GL_SGIX_fog_offset', oglExtensions);
  5085. GL_SGIX_fragment_lighting := gl_IsSupported('GL_SGIX_fragment_lighting', oglExtensions);
  5086. GL_SGIX_framezoom := gl_IsSupported('GL_SGIX_framezoom', oglExtensions);
  5087. GL_SGIX_igloo_interface := gl_IsSupported('GL_SGIX_igloo_interface', oglExtensions);
  5088. GL_SGIX_instruments := gl_IsSupported('GL_SGIX_instruments', oglExtensions);
  5089. GL_SGIX_interlace := gl_IsSupported('GL_SGIX_interlace', oglExtensions);
  5090. GL_SGIX_ir_instrument1 := gl_IsSupported('GL_SGIX_ir_instrument1', oglExtensions);
  5091. GL_SGIX_list_priority := gl_IsSupported('GL_SGIX_list_priority', oglExtensions);
  5092. GL_SGIX_pixel_texture := gl_IsSupported('GL_SGIX_pixel_texture', oglExtensions);
  5093. GL_SGIX_pixel_tiles := gl_IsSupported('GL_SGIX_pixel_tiles', oglExtensions);
  5094. GL_SGIX_polynomial_ffd := gl_IsSupported('GL_SGIX_polynomial_ffd', oglExtensions);
  5095. GL_SGIX_reference_plane := gl_IsSupported('GL_SGIX_reference_plane', oglExtensions);
  5096. GL_SGIX_resample := gl_IsSupported('GL_SGIX_resample', oglExtensions);
  5097. GL_SGIX_scalebias_hint := gl_IsSupported('GL_SGIX_scalebias_hint', oglExtensions);
  5098. GL_SGIX_shadow := gl_IsSupported('GL_SGIX_shadow', oglExtensions);
  5099. GL_SGIX_shadow_ambient := gl_IsSupported('GL_SGIX_shadow_ambient', oglExtensions);
  5100. GL_SGIX_sprite := gl_IsSupported('GL_SGIX_sprite', oglExtensions);
  5101. GL_SGIX_subsample := gl_IsSupported('GL_SGIX_subsample', oglExtensions);
  5102. GL_SGIX_tag_sample_buffer := gl_IsSupported('GL_SGIX_tag_sample_buffer', oglExtensions);
  5103. GL_SGIX_texture_add_env := gl_IsSupported('GL_SGIX_texture_add_env', oglExtensions);
  5104. GL_SGIX_texture_coordinate_clamp := gl_IsSupported('GL_SGIX_texture_coordinate_clamp', oglExtensions);
  5105. GL_SGIX_texture_lod_bias := gl_IsSupported('GL_SGIX_texture_lod_bias', oglExtensions);
  5106. GL_SGIX_texture_multi_buffer := gl_IsSupported('GL_SGIX_texture_multi_buffer', oglExtensions);
  5107. GL_SGIX_texture_scale_bias := gl_IsSupported('GL_SGIX_texture_scale_bias', oglExtensions);
  5108. GL_SGIX_vertex_preclip := gl_IsSupported('GL_SGIX_vertex_preclip', oglExtensions);
  5109. GL_SGIX_ycrcb := gl_IsSupported('GL_SGIX_ycrcb', oglExtensions);
  5110. GL_SGIX_ycrcb_subsample := gl_IsSupported('GL_SGIX_ycrcb_subsample', oglExtensions);
  5111. GL_SGIX_ycrcba := gl_IsSupported('GL_SGIX_ycrcba', oglExtensions);
  5112. GL_SGI_color_matrix := gl_IsSupported('GL_SGI_color_matrix', oglExtensions);
  5113. GL_SGI_color_table := gl_IsSupported('GL_SGI_color_table', oglExtensions);
  5114. GL_SGI_texture_color_table := gl_IsSupported('GL_SGI_texture_color_table', oglExtensions);
  5115. GL_SUNX_constant_data := gl_IsSupported('GL_SUNX_constant_data', oglExtensions);
  5116. GL_SUN_convolution_border_modes := gl_IsSupported('GL_SUN_convolution_border_modes', oglExtensions);
  5117. GL_SUN_global_alpha := gl_IsSupported('GL_SUN_global_alpha', oglExtensions);
  5118. GL_SUN_mesh_array := gl_IsSupported('GL_SUN_mesh_array', oglExtensions);
  5119. GL_SUN_slice_accum := gl_IsSupported('GL_SUN_slice_accum', oglExtensions);
  5120. GL_SUN_triangle_list := gl_IsSupported('GL_SUN_triangle_list', oglExtensions);
  5121. GL_SUN_vertex := gl_IsSupported('GL_SUN_vertex', oglExtensions);
  5122. GL_WIN_phong_shading := gl_IsSupported('GL_WIN_phong_shading', oglExtensions);
  5123. GL_WIN_specular_fog := gl_IsSupported('GL_WIN_specular_fog', oglExtensions);
  5124. {$EndIf}
  5125. end;
  5126. {$IfEnd}
  5127. procedure CheckGLVersion;
  5128. var
  5129. Buffer: String;
  5130. begin
  5131. {$IfDef USE_GLU}
  5132. GLU_VERSION_1_1 := False;
  5133. GLU_VERSION_1_2 := False;
  5134. GLU_VERSION_1_3 := False;
  5135. Buffer := gluGetString(GLU_VERSION);
  5136. GLUVersion := Integer(buffer[3]) - 48;
  5137. GLU_VERSION_1_1 := True;
  5138. if GLUVersion >= 2 then
  5139. GLU_VERSION_1_2 := True;
  5140. if GLUVersion >= 3 then
  5141. GLU_VERSION_1_3 := True;
  5142. {$EndIf}
  5143. {$IfDef USE_GL_33}
  5144. glGetIntegerv(GL_MAJOR_VERSION, @GLVersion[0]);
  5145. glGetIntegerv(GL_MINOR_VERSION, @GLVersion[1]);
  5146. {$Else}
  5147. Buffer := glGetString(GL_VERSION);
  5148. GLVersion[0] := Integer(Buffer[1]) - 48;
  5149. GLVersion[1] := Integer(buffer[3]) - 48;
  5150. {$EndIf}
  5151. use_glMinorVer := 0;
  5152. use_glMajorVer := 1;
  5153. if GLVersion[0] > maxGLVerMajor then
  5154. GLVersion[0] := maxGLVerMajor;
  5155. if GLVersion[1] > maxGLVerMinor then
  5156. GLVersion[1] := maxGLVerMinor;
  5157. GL_VERSION_1_0 := True;
  5158. {$IfDef GL_VERSION_1_1}
  5159. GL_VERSION_1_1 := False;
  5160. {$EndIf}
  5161. {$IfDef GL_VERSION_1_2}
  5162. GL_VERSION_1_2 := False;
  5163. {$EndIf}
  5164. {$IfDef GL_VERSION_1_3}
  5165. GL_VERSION_1_3 := False;
  5166. {$EndIf}
  5167. {$IfDef GL_VERSION_1_4}
  5168. GL_VERSION_1_4 := False;
  5169. {$EndIf}
  5170. {$IfDef GL_VERSION_1_5}
  5171. GL_VERSION_1_5 := False;
  5172. {$EndIf}
  5173. {$IfDef GL_VERSION_2_0}
  5174. GL_VERSION_2_0 := False;
  5175. {$EndIf}
  5176. {$IfDef GL_VERSION_2_1}
  5177. GL_VERSION_2_1 := False;
  5178. {$EndIf}
  5179. {$IfDef GL_VERSION_3_0}
  5180. GL_VERSION_3_0 := False;
  5181. {$EndIf}
  5182. {$IfDef GL_VERSION_3_1}
  5183. GL_VERSION_3_1 := False;
  5184. {$EndIf}
  5185. {$IfDef GL_VERSION_3_2}
  5186. GL_VERSION_3_2 := False;
  5187. {$EndIf}
  5188. {$IfDef GL_VERSION_3_3}
  5189. GL_VERSION_3_3 := False;
  5190. {$EndIf}
  5191. {$IfDef GL_VERSION_4_0}
  5192. GL_VERSION_4_0 := False;
  5193. {$EndIf}
  5194. {$IfDef GL_VERSION_4_1}
  5195. GL_VERSION_4_1 := False;
  5196. {$EndIf}
  5197. {$IfDef GL_VERSION_4_2}
  5198. GL_VERSION_4_2 := False;
  5199. {$EndIf}
  5200. {$IfDef GL_VERSION_4_3}
  5201. GL_VERSION_4_3 := False;
  5202. {$EndIf}
  5203. {$IfDef GL_VERSION_4_4}
  5204. GL_VERSION_4_4 := False;
  5205. {$EndIf}
  5206. {$IfDef GL_VERSION_4_5}
  5207. GL_VERSION_4_5 := False;
  5208. {$EndIf}
  5209. {$IfDef GL_VERSION_4_6}
  5210. GL_VERSION_4_6 := False;
  5211. {$EndIf}
  5212. {$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)}
  5213. if GLVersion[0] >= 4 then
  5214. begin
  5215. use_glMajorVer := 4;
  5216. {$IfDef GL_VERSION_1_1}
  5217. GL_VERSION_1_1 := True;
  5218. {$EndIf}
  5219. {$IfDef GL_VERSION_1_2}
  5220. GL_VERSION_1_2 := True;
  5221. {$EndIf}
  5222. {$IfDef GL_VERSION_1_3}
  5223. GL_VERSION_1_3 := True;
  5224. {$EndIf}
  5225. {$IfDef GL_VERSION_1_4}
  5226. GL_VERSION_1_4 := True;
  5227. {$EndIf}
  5228. {$IfDef GL_VERSION_1_5}
  5229. GL_VERSION_1_5 := True;
  5230. {$EndIf}
  5231. {$IfDef GL_VERSION_2_0}
  5232. GL_VERSION_2_0 := True;
  5233. {$EndIf}
  5234. {$IfDef GL_VERSION_2_0}
  5235. GL_VERSION_2_1 := True;
  5236. {$EndIf}
  5237. {.$IfDef GL_VERSION_3_0}
  5238. GL_VERSION_3_0 := True;
  5239. {.$EndIf}
  5240. {$IfDef GL_VERSION_3_1}
  5241. GL_VERSION_3_1 := True;
  5242. {$EndIf}
  5243. {$IfDef GL_VERSION_3_2}
  5244. GL_VERSION_3_2 := True;
  5245. {$EndIf}
  5246. {$IfDef GL_VERSION_3_3}
  5247. GL_VERSION_3_3 := True;
  5248. {$EndIf}
  5249. {$IfDef GL_VERSION_4_0}
  5250. GL_VERSION_4_0 := True;
  5251. {$EndIf}
  5252. {$IfDef GL_VERSION_4_1}
  5253. if GLVersion[1] >= 1 then
  5254. begin
  5255. GL_VERSION_4_1 := True;
  5256. use_glMinorVer := 1;
  5257. end;
  5258. {$EndIf}
  5259. {$IfDef GL_VERSION_4_2}
  5260. if GLVersion[1] >= 2 then
  5261. begin
  5262. GL_VERSION_4_2 := True;
  5263. use_glMinorVer := 2;
  5264. end;
  5265. {$EndIf}
  5266. {$IfDef GL_VERSION_4_3}
  5267. if GLVersion[1] >= 3 then
  5268. begin
  5269. GL_VERSION_4_3 := True;
  5270. use_glMinorVer := 3;
  5271. end;
  5272. {$EndIf}
  5273. {$IfDef GL_VERSION_4_4}
  5274. if GLVersion[1] >= 4 then
  5275. begin
  5276. GL_VERSION_4_4 := True;
  5277. use_glMinorVer := 4;
  5278. end;
  5279. {$EndIf}
  5280. {$IfDef GL_VERSION_4_5}
  5281. if GLVersion[1] >= 5 then
  5282. begin
  5283. GL_VERSION_4_5 := True;
  5284. use_glMinorVer := 5;
  5285. end;
  5286. {$EndIf}
  5287. {$IfDef GL_VERSION_4_6}
  5288. if GLVersion[1] >= 6 then
  5289. begin
  5290. GL_VERSION_4_6 := True;
  5291. use_glMinorVer := 1;
  5292. end;
  5293. {$EndIf}
  5294. exit;
  5295. end;
  5296. {$IfEnd}
  5297. {$if defined(GL_VERSION_3_0) or defined(GL_VERSION_3_1) or defined(GL_VERSION_3_2) or defined(GL_VERSION_3_3)}
  5298. if GLVersion[0] >= 3 then
  5299. begin
  5300. // проверку на то какой контекст делаем надо делать или нет???
  5301. use_glMajorVer := 3;
  5302. {$IfDef GL_VERSION_1_1}
  5303. GL_VERSION_1_1 := True;
  5304. {$EndIf}
  5305. {$IfDef GL_VERSION_1_2}
  5306. GL_VERSION_1_2 := True;
  5307. {$EndIf}
  5308. {$IfDef GL_VERSION_1_3}
  5309. GL_VERSION_1_3 := True;
  5310. {$EndIf}
  5311. {$IfDef GL_VERSION_1_4}
  5312. GL_VERSION_1_4 := True;
  5313. {$EndIf}
  5314. {$IfDef GL_VERSION_1_5}
  5315. GL_VERSION_1_5 := True;
  5316. {$EndIf}
  5317. {$IfDef GL_VERSION_2_0}
  5318. GL_VERSION_2_0 := True;
  5319. {$EndIf}
  5320. {$IfDef GL_VERSION_2_0}
  5321. GL_VERSION_2_1 := True;
  5322. {$EndIf}
  5323. {.$IfDef GL_VERSION_3_0}
  5324. GL_VERSION_3_0 := True;
  5325. {.$EndIf}
  5326. {$IfDef GL_VERSION_3_1}
  5327. if GLVersion[1] >= 1 then
  5328. begin
  5329. GL_VERSION_3_1 := True;
  5330. use_glMinorVer := 1;
  5331. end;
  5332. {$EndIf}
  5333. {$IfDef GL_VERSION_3_2}
  5334. if GLVersion[1] >= 2 then
  5335. begin
  5336. GL_VERSION_3_2 := True;
  5337. use_glMinorVer := 2;
  5338. end;
  5339. {$EndIf}
  5340. {$IfDef GL_VERSION_3_3}
  5341. if GLVersion[1] >= 3 then
  5342. begin
  5343. GL_VERSION_3_3 := True;
  5344. use_glMinorVer := 3;
  5345. end;
  5346. {$EndIf}
  5347. exit;
  5348. end;
  5349. {$IfEnd}
  5350. {$If defined(GL_VERSION_2_0) or defined(GL_VERSION_2_1)}
  5351. if GLVersion[0] >= 2 then
  5352. begin
  5353. use_glMajorVer := 2;
  5354. {$IfDef GL_VERSION_1_1}
  5355. GL_VERSION_1_1 := True;
  5356. {$EndIf}
  5357. {$IfDef GL_VERSION_1_2}
  5358. GL_VERSION_1_2 := True;
  5359. {$EndIf}
  5360. {$IfDef GL_VERSION_1_3}
  5361. GL_VERSION_1_3 := True;
  5362. {$EndIf}
  5363. {$IfDef GL_VERSION_1_4}
  5364. GL_VERSION_1_4 := True;
  5365. {$EndIf}
  5366. {$IfDef GL_VERSION_1_5}
  5367. GL_VERSION_1_5 := True;
  5368. {$EndIf}
  5369. {$IfDef GL_VERSION_2_0}
  5370. GL_VERSION_2_0 := True;
  5371. {$EndIf}
  5372. {$IfDef GL_VERSION_2_1}
  5373. if GLVersion[1] >= 1 then
  5374. begin
  5375. GL_VERSION_2_1 := True;
  5376. use_glMinorVer := 1;
  5377. end;
  5378. {$EndIf}
  5379. exit;
  5380. end;
  5381. {$IfEnd}
  5382. {$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)}
  5383. if GLVersion[0] = 1 then
  5384. begin
  5385. {$IfDef GL_VERSION_1_1}
  5386. if GLVersion[1] >= 1 then
  5387. begin
  5388. GL_VERSION_1_1 := True;
  5389. use_glMinorVer := 1;
  5390. end;
  5391. {$EndIf}
  5392. {$IfDef GL_VERSION_1_2}
  5393. if GLVersion[1] >= 2 then
  5394. begin
  5395. GL_VERSION_1_2 := True;
  5396. use_glMinorVer := 2;
  5397. end;
  5398. {$EndIf}
  5399. {$IfDef GL_VERSION_1_3}
  5400. if GLVersion[1] >= 3 then
  5401. begin
  5402. GL_VERSION_1_3 := True;
  5403. use_glMinorVer := 3;
  5404. end;
  5405. {$EndIf}
  5406. {$IfDef GL_VERSION_1_4}
  5407. if GLVersion[1] >= 4 then
  5408. begin
  5409. GL_VERSION_1_4 := True;
  5410. use_glMinorVer := 4;
  5411. end;
  5412. {$EndIf}
  5413. {$IfDef GL_VERSION_1_5}
  5414. if GLVersion[1] >= 5 then
  5415. begin
  5416. GL_VERSION_1_5 := True;
  5417. use_glMinorVer := 5;
  5418. end;
  5419. {$EndIf}
  5420. end;
  5421. {$IfEnd}
  5422. end;
  5423. function LoadOpenGL: Boolean;
  5424. {$IfDef LINUX}
  5425. {$IfDef GL_VERSION_3_0}
  5426. var
  5427. i, j: Integer;
  5428. {$EndIf}{$EndIf}
  5429. begin
  5430. { Result := False;
  5431. if gl_Library <> Nil then
  5432. glFreeLib(gl_Library);
  5433. gl_Library := glLoadLib(PChar(libGL));
  5434. if gl_Library = nil then
  5435. exit; // Error!!! }
  5436. Result := True;
  5437. {$IfDef LINUX}
  5438. oglExtensions := '';
  5439. {$IfDef GL_VERSION_3_0}
  5440. if use_glMajorVer >= 3 then
  5441. begin
  5442. if not Assigned(glGetStringi) then
  5443. glGetStringi := gl_GetProc('glGetStringi');
  5444. if Assigned(glGetStringi) then
  5445. begin
  5446. glGetIntegerv(GL_NUM_EXTENSIONS, @j);
  5447. for i := 0 to j - 1 do
  5448. oglExtensions := oglExtensions + PAnsiChar(glGetStringi(GL_EXTENSIONS, i)) + #32;
  5449. end;
  5450. end;
  5451. {$EndIf}
  5452. if oglExtensions = '' then
  5453. oglExtensions := glGetString(GL_EXTENSIONS);
  5454. {$EndIf}
  5455. {$If defined(USE_GLEXT) or defined(USE_GLCORE)}
  5456. AllCheckGLExtension;
  5457. {$IfEnd}
  5458. // ZenGL ++
  5459. GL_SGIS_generate_mipmap := gl_IsSupported('GL_SGIS_generate_mipmap', oglExtensions);
  5460. GL_EXT_texture_compression_s3tc := gl_IsSupported('GL_EXT_texture_compression_s3tc', oglExtensions);
  5461. GL_EXT_texture_filter_anisotropic := gl_IsSupported('GL_EXT_texture_filter_anisotropic', oglExtensions);
  5462. GL_EXT_blend_func_separate := gl_IsSupported('GL_EXT_blend_func_separate', oglExtensions);
  5463. {$IfDef USE_DEPRECATED}
  5464. (* glAccum := gl_GetProc('glAccum');
  5465. // glAlphaFunc := gl_GetProc('glAlphaFunc');
  5466. glAreTexturesResident := gl_GetProc('glAreTexturesResident');
  5467. // glArrayElement := gl_GetProc('glArrayElement');
  5468. // glBegin := gl_GetProc('glBegin');
  5469. glBitmap := gl_GetProc('glBitmap');
  5470. glCallList := gl_GetProc('glCallList');
  5471. glCallLists := gl_GetProc('glCallLists');
  5472. glClearAccum := gl_GetProc('glClearAccum');
  5473. glClearIndex := gl_GetProc('glClearIndex');
  5474. glClipPlane := gl_GetProc('glClipPlane');
  5475. glColor3b := gl_GetProc('glColor3b');
  5476. glColor3bv := gl_GetProc('glColor3bv');
  5477. glColor3d := gl_GetProc('glColor3d');
  5478. glColor3dv := gl_GetProc('glColor3dv');
  5479. glColor3f := gl_GetProc('glColor3f');
  5480. glColor3fv := gl_GetProc('glColor3fv');
  5481. glColor3i := gl_GetProc('glColor3i');
  5482. glColor3iv := gl_GetProc('glColor3iv');
  5483. glColor3s := gl_GetProc('glColor3s');
  5484. glColor3sv := gl_GetProc('glColor3sv');
  5485. // glColor3ub := gl_GetProc('glColor3ub');
  5486. // glColor3ubv := gl_GetProc('glColor3ubv');
  5487. glColor3ui := gl_GetProc('glColor3ui');
  5488. glColor3uiv := gl_GetProc('glColor3uiv');
  5489. glColor3us := gl_GetProc('glColor3us');
  5490. glColor3usv := gl_GetProc('glColor3usv');
  5491. glColor4b := gl_GetProc('glColor4b');
  5492. glColor4bv := gl_GetProc('glColor4bv');
  5493. glColor4d := gl_GetProc('glColor4d');
  5494. glColor4dv := gl_GetProc('glColor4dv');
  5495. // glColor4f := gl_GetProc('glColor4f');
  5496. // glColor4fv := gl_GetProc('glColor4fv');
  5497. glColor4i := gl_GetProc('glColor4i');
  5498. glColor4iv := gl_GetProc('glColor4iv');
  5499. glColor4s := gl_GetProc('glColor4s');
  5500. glColor4sv := gl_GetProc('glColor4sv');
  5501. // glColor4ub := gl_GetProc('glColor4ub');
  5502. // glColor4ubv := gl_GetProc('glColor4ubv');
  5503. glColor4ui := gl_GetProc('glColor4ui');
  5504. glColor4uiv := gl_GetProc('glColor4uiv');
  5505. glColor4us := gl_GetProc('glColor4us');
  5506. glColor4usv := gl_GetProc('glColor4usv');
  5507. // glColorMaterial := gl_GetProc('glColorMaterial');
  5508. // glColorPointer := gl_GetProc('glColorPointer');
  5509. glCopyPixels := gl_GetProc('glCopyPixels');
  5510. glDeleteLists := gl_GetProc('glDeleteLists');
  5511. // glDisableClientState := gl_GetProc('glDisableClientState');
  5512. glDrawPixels := gl_GetProc('glDrawPixels');
  5513. glEdgeFlag := gl_GetProc('glEdgeFlag');
  5514. // glEdgeFlagPointer := gl_GetProc('glEdgeFlagPointer');
  5515. glEdgeFlagv := gl_GetProc('glEdgeFlagv');
  5516. // glEnableClientState := gl_GetProc('glEnableClientState');
  5517. // glEnd := gl_GetProc('glEnd');
  5518. glEndList := gl_GetProc('glEndList');
  5519. glEvalCoord1d := gl_GetProc('glEvalCoord1d');
  5520. glEvalCoord1dv := gl_GetProc('glEvalCoord1dv');
  5521. glEvalCoord1f := gl_GetProc('glEvalCoord1f');
  5522. glEvalCoord1fv := gl_GetProc('glEvalCoord1fv');
  5523. glEvalCoord2d := gl_GetProc('glEvalCoord2d');
  5524. glEvalCoord2dv := gl_GetProc('glEvalCoord2dv');
  5525. glEvalCoord2f := gl_GetProc('glEvalCoord2f');
  5526. glEvalCoord2fv := gl_GetProc('glEvalCoord2fv');
  5527. glEvalMesh1 := gl_GetProc('glEvalMesh1');
  5528. glEvalMesh2 := gl_GetProc('glEvalMesh2');
  5529. glEvalPoint1 := gl_GetProc('glEvalPoint1');
  5530. glEvalPoint2 := gl_GetProc('glEvalPoint2');
  5531. glFeedbackBuffer := gl_GetProc('glFeedbackBuffer');
  5532. glFogf := gl_GetProc('glFogf');
  5533. glFogfv := gl_GetProc('glFogfv');
  5534. glFogi := gl_GetProc('glFogi');
  5535. glFogiv := gl_GetProc('glFogiv');
  5536. // glFrustum := gl_GetProc('glFrustum');
  5537. glGenLists := gl_GetProc('glGenLists');
  5538. glGetClipPlane := gl_GetProc('glGetClipPlane');
  5539. // glGetLightfv := gl_GetProc('glGetLightfv');
  5540. // glGetLightiv := gl_GetProc('glGetLightiv');
  5541. glGetMapdv := gl_GetProc('glGetMapdv');
  5542. glGetMapfv := gl_GetProc('glGetMapfv');
  5543. glGetMapiv := gl_GetProc('glGetMapiv');
  5544. // glGetMaterialfv := gl_GetProc('glGetMaterialfv');
  5545. // glGetMaterialiv := gl_GetProc('glGetMaterialiv');
  5546. glGetPixelMapfv := gl_GetProc('glGetPixelMapfv');
  5547. glGetPixelMapuiv := gl_GetProc('glGetPixelMapuiv');
  5548. glGetPixelMapusv := gl_GetProc('glGetPixelMapusv');
  5549. glGetPolygonStipple := gl_GetProc('glGetPolygonStipple');
  5550. glGetTexEnvfv := gl_GetProc('glGetTexEnvfv');
  5551. glGetTexEnviv := gl_GetProc('glGetTexEnviv');
  5552. glGetTexGendv := gl_GetProc('glGetTexGendv');
  5553. glGetTexGenfv := gl_GetProc('glGetTexGenfv');
  5554. glGetTexGeniv := gl_GetProc('glGetTexGeniv');
  5555. glIndexMask := gl_GetProc('glIndexMask');
  5556. glIndexPointer := gl_GetProc('glIndexPointer');
  5557. glIndexd := gl_GetProc('glIndexd');
  5558. glIndexdv := gl_GetProc('glIndexdv');
  5559. glIndexf := gl_GetProc('glIndexf');
  5560. glIndexfv := gl_GetProc('glIndexfv');
  5561. glIndexi := gl_GetProc('glIndexi');
  5562. glIndexiv := gl_GetProc('glIndexiv');
  5563. glIndexs := gl_GetProc('glIndexs');
  5564. glIndexsv := gl_GetProc('glIndexsv');
  5565. glIndexub := gl_GetProc('glIndexub');
  5566. glIndexubv := gl_GetProc('glIndexubv');
  5567. glInitNames := gl_GetProc('glInitNames');
  5568. // glInterleavedArrays := gl_GetProc('glInterleavedArrays');
  5569. glIsList := gl_GetProc('glIsList');
  5570. // glLightModelf := gl_GetProc('glLightModelf');
  5571. // glLightModelfv := gl_GetProc('glLightModelfv');
  5572. glLightModeli := gl_GetProc('glLightModeli');
  5573. glLightModeliv := gl_GetProc('glLightModeliv');
  5574. // glLightf := gl_GetProc('glLightf');
  5575. // glLightfv := gl_GetProc('glLightfv');
  5576. glLighti := gl_GetProc('glLighti');
  5577. glLightiv := gl_GetProc('glLightiv');
  5578. glLineStipple := gl_GetProc('glLineStipple');
  5579. glListBase := gl_GetProc('glListBase');
  5580. // glLoadIdentity := gl_GetProc('glLoadIdentity');
  5581. glLoadMatrixd := gl_GetProc('glLoadMatrixd');
  5582. // glLoadMatrixf := gl_GetProc('glLoadMatrixf');
  5583. glLoadName := gl_GetProc('glLoadName');
  5584. glMap1d := gl_GetProc('glMap1d');
  5585. glMap1f := gl_GetProc('glMap1f');
  5586. glMap2d := gl_GetProc('glMap2d');
  5587. glMap2f := gl_GetProc('glMap2f');
  5588. glMapGrid1d := gl_GetProc('glMapGrid1d');
  5589. glMapGrid1f := gl_GetProc('glMapGrid1f');
  5590. glMapGrid2d := gl_GetProc('glMapGrid2d');
  5591. glMapGrid2f := gl_GetProc('glMapGrid2f');
  5592. // glMaterialf := gl_GetProc('glMaterialf');
  5593. // glMaterialfv := gl_GetProc('glMaterialfv');
  5594. glMateriali := gl_GetProc('glMateriali');
  5595. glMaterialiv := gl_GetProc('glMaterialiv');
  5596. // glMatrixMode := gl_GetProc('glMatrixMode');
  5597. glMultMatrixd := gl_GetProc('glMultMatrixd');
  5598. glMultMatrixf := gl_GetProc('glMultMatrixf');
  5599. glNewList := gl_GetProc('glNewList');
  5600. glNormal3b := gl_GetProc('glNormal3b');
  5601. glNormal3bv := gl_GetProc('glNormal3bv');
  5602. glNormal3d := gl_GetProc('glNormal3d');
  5603. glNormal3dv := gl_GetProc('glNormal3dv');
  5604. // glNormal3f := gl_GetProc('glNormal3f');
  5605. // glNormal3fv := gl_GetProc('glNormal3fv');
  5606. glNormal3i := gl_GetProc('glNormal3i');
  5607. glNormal3iv := gl_GetProc('glNormal3iv');
  5608. glNormal3s := gl_GetProc('glNormal3s');
  5609. glNormal3sv := gl_GetProc('glNormal3sv');
  5610. // glNormalPointer := gl_GetProc('glNormalPointer');
  5611. // glOrtho := gl_GetProc('glOrtho');
  5612. glPassThrough := gl_GetProc('glPassThrough');
  5613. glPixelMapfv := gl_GetProc('glPixelMapfv');
  5614. glPixelMapuiv := gl_GetProc('glPixelMapuiv');
  5615. glPixelMapusv := gl_GetProc('glPixelMapusv');
  5616. glPixelTransferf := gl_GetProc('glPixelTransferf');
  5617. glPixelTransferi := gl_GetProc('glPixelTransferi');
  5618. glPixelZoom := gl_GetProc('glPixelZoom');
  5619. glPolygonStipple := gl_GetProc('glPolygonStipple');
  5620. glPopAttrib := gl_GetProc('glPopAttrib');
  5621. glPopClientAttrib := gl_GetProc('glPopClientAttrib');
  5622. // glPopMatrix := gl_GetProc('glPopMatrix');
  5623. glPopName := gl_GetProc('glPopName');
  5624. glPrioritizeTextures := gl_GetProc('glPrioritizeTextures');
  5625. glPushAttrib := gl_GetProc('glPushAttrib');
  5626. glPushClientAttrib := gl_GetProc('glPushClientAttrib');
  5627. // glPushMatrix := gl_GetProc('glPushMatrix');
  5628. glPushName := gl_GetProc('glPushName');
  5629. glRasterPos2d := gl_GetProc('glRasterPos2d');
  5630. glRasterPos2dv := gl_GetProc('glRasterPos2dv');
  5631. glRasterPos2f := gl_GetProc('glRasterPos2f');
  5632. glRasterPos2fv := gl_GetProc('glRasterPos2fv');
  5633. glRasterPos2i := gl_GetProc('glRasterPos2i');
  5634. glRasterPos2iv := gl_GetProc('glRasterPos2iv');
  5635. glRasterPos2s := gl_GetProc('glRasterPos2s');
  5636. glRasterPos2sv := gl_GetProc('glRasterPos2sv');
  5637. glRasterPos3d := gl_GetProc('glRasterPos3d');
  5638. glRasterPos3dv := gl_GetProc('glRasterPos3dv');
  5639. glRasterPos3f := gl_GetProc('glRasterPos3f');
  5640. glRasterPos3fv := gl_GetProc('glRasterPos3fv');
  5641. glRasterPos3i := gl_GetProc('glRasterPos3i');
  5642. glRasterPos3iv := gl_GetProc('glRasterPos3iv');
  5643. glRasterPos3s := gl_GetProc('glRasterPos3s');
  5644. glRasterPos3sv := gl_GetProc('glRasterPos3sv');
  5645. glRasterPos4d := gl_GetProc('glRasterPos4d');
  5646. glRasterPos4dv := gl_GetProc('glRasterPos4dv');
  5647. glRasterPos4f := gl_GetProc('glRasterPos4f');
  5648. glRasterPos4fv := gl_GetProc('glRasterPos4fv');
  5649. glRasterPos4i := gl_GetProc('glRasterPos4i');
  5650. glRasterPos4iv := gl_GetProc('glRasterPos4iv');
  5651. glRasterPos4s := gl_GetProc('glRasterPos4s');
  5652. glRasterPos4sv := gl_GetProc('glRasterPos4sv');
  5653. glRectd := gl_GetProc('glRectd');
  5654. glRectdv := gl_GetProc('glRectdv');
  5655. glRectf := gl_GetProc('glRectf');
  5656. glRectfv := gl_GetProc('glRectfv');
  5657. glRecti := gl_GetProc('glRecti');
  5658. glRectiv := gl_GetProc('glRectiv');
  5659. glRects := gl_GetProc('glRects');
  5660. glRectsv := gl_GetProc('glRectsv');
  5661. glRenderMode := gl_GetProc('glRenderMode');
  5662. glRotated := gl_GetProc('glRotated');
  5663. // glRotatef := gl_GetProc('glRotatef');
  5664. glScaled := gl_GetProc('glScaled');
  5665. // glScalef := gl_GetProc('glScalef');
  5666. glSelectBuffer := gl_GetProc('glSelectBuffer');
  5667. // glShadeModel := gl_GetProc('glShadeModel');
  5668. glTexCoord1d := gl_GetProc('glTexCoord1d');
  5669. glTexCoord1dv := gl_GetProc('glTexCoord1dv');
  5670. glTexCoord1f := gl_GetProc('glTexCoord1f');
  5671. glTexCoord1fv := gl_GetProc('glTexCoord1fv');
  5672. glTexCoord1i := gl_GetProc('glTexCoord1i');
  5673. glTexCoord1iv := gl_GetProc('glTexCoord1iv');
  5674. glTexCoord1s := gl_GetProc('glTexCoord1s');
  5675. glTexCoord1sv := gl_GetProc('glTexCoord1sv');
  5676. glTexCoord2d := gl_GetProc('glTexCoord2d');
  5677. glTexCoord2dv := gl_GetProc('glTexCoord2dv');
  5678. // glTexCoord2f := gl_GetProc('glTexCoord2f');
  5679. // glTexCoord2fv := gl_GetProc('glTexCoord2fv');
  5680. glTexCoord2i := gl_GetProc('glTexCoord2i');
  5681. glTexCoord2iv := gl_GetProc('glTexCoord2iv');
  5682. glTexCoord2s := gl_GetProc('glTexCoord2s');
  5683. glTexCoord2sv := gl_GetProc('glTexCoord2sv');
  5684. glTexCoord3d := gl_GetProc('glTexCoord3d');
  5685. glTexCoord3dv := gl_GetProc('glTexCoord3dv');
  5686. glTexCoord3f := gl_GetProc('glTexCoord3f');
  5687. glTexCoord3fv := gl_GetProc('glTexCoord3fv');
  5688. glTexCoord3i := gl_GetProc('glTexCoord3i');
  5689. glTexCoord3iv := gl_GetProc('glTexCoord3iv');
  5690. glTexCoord3s := gl_GetProc('glTexCoord3s');
  5691. glTexCoord3sv := gl_GetProc('glTexCoord3sv');
  5692. glTexCoord4d := gl_GetProc('glTexCoord4d');
  5693. glTexCoord4dv := gl_GetProc('glTexCoord4dv');
  5694. glTexCoord4f := gl_GetProc('glTexCoord4f');
  5695. glTexCoord4fv := gl_GetProc('glTexCoord4fv');
  5696. glTexCoord4i := gl_GetProc('glTexCoord4i');
  5697. glTexCoord4iv := gl_GetProc('glTexCoord4iv');
  5698. glTexCoord4s := gl_GetProc('glTexCoord4s');
  5699. glTexCoord4sv := gl_GetProc('glTexCoord4sv');
  5700. // glTexCoordPointer := gl_GetProc('glTexCoordPointer');
  5701. glTexEnvf := gl_GetProc('glTexEnvf');
  5702. glTexEnvfv := gl_GetProc('glTexEnvfv');
  5703. // glTexEnvi := gl_GetProc('glTexEnvi');
  5704. // glTexEnviv := gl_GetProc('glTexEnviv');
  5705. glTexGend := gl_GetProc('glTexGend');
  5706. glTexGendv := gl_GetProc('glTexGendv');
  5707. glTexGenf := gl_GetProc('glTexGenf');
  5708. glTexGenfv := gl_GetProc('glTexGenfv');
  5709. glTexGeni := gl_GetProc('glTexGeni');
  5710. glTexGeniv := gl_GetProc('glTexGeniv');
  5711. glTranslated := gl_GetProc('glTranslated');
  5712. // glTranslatef := gl_GetProc('glTranslatef');
  5713. glVertex2d := gl_GetProc('glVertex2d');
  5714. glVertex2dv := gl_GetProc('glVertex2dv');
  5715. // glVertex2f := gl_GetProc('glVertex2f');
  5716. // glVertex2fv := gl_GetProc('glVertex2fv');
  5717. glVertex2i := gl_GetProc('glVertex2i');
  5718. glVertex2iv := gl_GetProc('glVertex2iv');
  5719. glVertex2s := gl_GetProc('glVertex2s');
  5720. glVertex2sv := gl_GetProc('glVertex2sv');
  5721. glVertex3d := gl_GetProc('glVertex3d');
  5722. glVertex3dv := gl_GetProc('glVertex3dv');
  5723. // glVertex3f := gl_GetProc('glVertex3f');
  5724. // glVertex3fv := gl_GetProc('glVertex3fv');
  5725. glVertex3i := gl_GetProc('glVertex3i');
  5726. glVertex3iv := gl_GetProc('glVertex3iv');
  5727. glVertex3s := gl_GetProc('glVertex3s');
  5728. glVertex3sv := gl_GetProc('glVertex3sv');
  5729. glVertex4d := gl_GetProc('glVertex4d');
  5730. glVertex4dv := gl_GetProc('glVertex4dv');
  5731. glVertex4f := gl_GetProc('glVertex4f');
  5732. glVertex4fv := gl_GetProc('glVertex4fv');
  5733. glVertex4i := gl_GetProc('glVertex4i');
  5734. glVertex4iv := gl_GetProc('glVertex4iv');
  5735. glVertex4s := gl_GetProc('glVertex4s');
  5736. glVertex4sv := gl_GetProc('glVertex4sv');
  5737. // glVertexPointer := gl_GetProc('glVertexPointer'); *)
  5738. {$EndIf}
  5739. {$IfDef GL_VERSION_1_0}
  5740. (* glCullFace := gl_GetProc('glCullFace');
  5741. glFrontFace := gl_GetProc('glFrontFace');
  5742. // glHint := gl_GetProc('glHint');
  5743. glLineWidth := gl_GetProc('glLineWidth');
  5744. // glPointSize := gl_GetProc('glPointSize');
  5745. glPolygonMode := gl_GetProc('glPolygonMode');
  5746. // glScissor := gl_GetProc('glScissor');
  5747. // glTexParameterf := gl_GetProc('glTexParameterf');
  5748. // glTexParameterfv := gl_GetProc('glTexParameterfv');
  5749. // glTexParameteri := gl_GetProc('glTexParameteri');
  5750. // glTexParameteriv := gl_GetProc('glTexParameteriv');
  5751. glTexImage1D := gl_GetProc('glTexImage1D');
  5752. // glTexImage2D := gl_GetProc('glTexImage2D');
  5753. glDrawBuffer := gl_GetProc('glDrawBuffer');
  5754. // glClear := gl_GetProc('glClear');
  5755. // glClearColor := gl_GetProc('glClearColor');
  5756. glClearStencil := gl_GetProc('glClearStencil');
  5757. // glClearDepth := gl_GetProc('glClearDepth');
  5758. glStencilMask := gl_GetProc('glStencilMask');
  5759. // glColorMask := gl_GetProc('glColorMask');
  5760. // glDepthMask := gl_GetProc('glDepthMask');
  5761. // glDisable := gl_GetProc('glDisable');
  5762. // glEnable := gl_GetProc('glEnable');
  5763. glFinish := gl_GetProc('glFinish');
  5764. glFlush := gl_GetProc('glFlush');
  5765. // glBlendFunc := gl_GetProc('glBlendFunc');
  5766. glLogicOp := gl_GetProc('glLogicOp');
  5767. glStencilFunc := gl_GetProc('glStencilFunc');
  5768. glStencilOp := gl_GetProc('glStencilOp');
  5769. // glDepthFunc := gl_GetProc('glDepthFunc');
  5770. // glPixelStoref := gl_GetProc('glPixelStoref');
  5771. // glPixelStorei := gl_GetProc('glPixelStorei');
  5772. glReadBuffer := gl_GetProc('glReadBuffer');
  5773. // glReadPixels := gl_GetProc('glReadPixels');
  5774. glGetBooleanv := gl_GetProc('glGetBooleanv');
  5775. glGetDoublev := gl_GetProc('glGetDoublev');
  5776. glGetError := gl_GetProc('glGetError');
  5777. // glGetFloatv := gl_GetProc('glGetFloatv');
  5778. // glGetIntegerv := gl_GetProc('glGetIntegerv');
  5779. // glGetString := gl_GetProc('glGetString');
  5780. // glGetTexImage := gl_GetProc('glGetTexImage');
  5781. glGetTexParameterfv := gl_GetProc('glGetTexParameterfv');
  5782. glGetTexParameteriv := gl_GetProc('glGetTexParameteriv');
  5783. glGetTexLevelParameterfv := gl_GetProc('glGetTexLevelParameterfv');
  5784. glGetTexLevelParameteriv := gl_GetProc('glGetTexLevelParameteriv');
  5785. glIsEnabled := gl_GetProc('glIsEnabled');
  5786. // glDepthRange := gl_GetProc('glDepthRange');
  5787. // glViewport := gl_GetProc('glViewport'); *)
  5788. {$EndIf}
  5789. {$IfDef GL_VERSION_1_1}
  5790. (*// glDrawArrays := gl_GetProc('glDrawArrays');
  5791. // glDrawElements := gl_GetProc('glDrawElements');
  5792. glGetPointerv := gl_GetProc('glGetPointerv');
  5793. glPolygonOffset := gl_GetProc('glPolygonOffset');
  5794. glCopyTexImage1D := gl_GetProc('glCopyTexImage1D');
  5795. glCopyTexImage2D := gl_GetProc('glCopyTexImage2D');
  5796. glCopyTexSubImage1D := gl_GetProc('glCopyTexSubImage1D');
  5797. // glCopyTexSubImage2D := gl_GetProc('glCopyTexSubImage2D');
  5798. glTexSubImage1D := gl_GetProc('glTexSubImage1D');
  5799. // glTexSubImage2D := gl_GetProc('glTexSubImage2D');
  5800. // glBindTexture := gl_GetProc('glBindTexture');
  5801. // glDeleteTextures := gl_GetProc('glDeleteTextures');
  5802. // glGenTextures := gl_GetProc('glGenTextures');
  5803. glIsTexture := gl_GetProc('glIsTexture'); *)
  5804. {$EndIf}
  5805. {$IfDef GL_VERSION_1_2}
  5806. (*// glDrawRangeElements := gl_GetProc('glDrawRangeElements');
  5807. glTexImage3D := gl_GetProc('glTexImage3D');
  5808. glTexSubImage3D := gl_GetProc('glTexSubImage3D');
  5809. glCopyTexSubImage3D := gl_GetProc('glCopyTexSubImage3D'); *)
  5810. {$EndIf}
  5811. {$IfDef GL_VERSION_1_3}
  5812. (* glActiveTexture := gl_GetProc('glActiveTexture');
  5813. glSampleCoverage := gl_GetProc('glSampleCoverage');
  5814. glCompressedTexImage3D := gl_GetProc('glCompressedTexImage3D');
  5815. // glCompressedTexImage2D := gl_GetProc('glCompressedTexImage2D');
  5816. glCompressedTexImage1D:= gl_GetProc('glCompressedTexImage1D');
  5817. glCompressedTexSubImage3D := gl_GetProc('glCompressedTexSubImage3D');
  5818. glCompressedTexSubImage2D := gl_GetProc('glCompressedTexSubImage2D');
  5819. glCompressedTexSubImage1D := gl_GetProc('glCompressedTexSubImage1D');
  5820. glGetCompressedTexImage := gl_GetProc('glGetCompressedTexImage');
  5821. {$IfNDef USE_GLCORE}
  5822. glClientActiveTexture := gl_GetProc('glClientActiveTexture');
  5823. glMultiTexCoord1d := gl_GetProc('glMultiTexCoord1d');
  5824. glMultiTexCoord1dv := gl_GetProc('glMultiTexCoord1dv');
  5825. glMultiTexCoord1f := gl_GetProc('glMultiTexCoord1f');
  5826. glMultiTexCoord1fv := gl_GetProc('glMultiTexCoord1fv');
  5827. glMultiTexCoord1i := gl_GetProc('glMultiTexCoord1i');
  5828. glMultiTexCoord1iv := gl_GetProc('glMultiTexCoord1iv');
  5829. glMultiTexCoord1s := gl_GetProc('glMultiTexCoord1s');
  5830. glMultiTexCoord1sv := gl_GetProc('glMultiTexCoord1sv');
  5831. glMultiTexCoord2d := gl_GetProc('glMultiTexCoord2d');
  5832. glMultiTexCoord2dv := gl_GetProc('glMultiTexCoord2dv');
  5833. glMultiTexCoord2f := gl_GetProc('glMultiTexCoord2f');
  5834. glMultiTexCoord2fv := gl_GetProc('glMultiTexCoord2fv');
  5835. glMultiTexCoord2i := gl_GetProc('glMultiTexCoord2i');
  5836. glMultiTexCoord2iv := gl_GetProc('glMultiTexCoord2iv');
  5837. glMultiTexCoord2s := gl_GetProc('glMultiTexCoord2s');
  5838. glMultiTexCoord2sv := gl_GetProc('glMultiTexCoord2sv');
  5839. glMultiTexCoord3d := gl_GetProc('glMultiTexCoord3d');
  5840. glMultiTexCoord3dv := gl_GetProc('glMultiTexCoord3dv');
  5841. glMultiTexCoord3f := gl_GetProc('glMultiTexCoord3f');
  5842. glMultiTexCoord3fv := gl_GetProc('glMultiTexCoord3fv');
  5843. glMultiTexCoord3i := gl_GetProc('glMultiTexCoord3i');
  5844. glMultiTexCoord3iv := gl_GetProc('glMultiTexCoord3iv');
  5845. glMultiTexCoord3s := gl_GetProc('glMultiTexCoord3s');
  5846. glMultiTexCoord3sv := gl_GetProc('glMultiTexCoord3sv');
  5847. glMultiTexCoord4d := gl_GetProc('glMultiTexCoord4d');
  5848. glMultiTexCoord4dv := gl_GetProc('glMultiTexCoord4dv');
  5849. glMultiTexCoord4f := gl_GetProc('glMultiTexCoord4f');
  5850. glMultiTexCoord4fv := gl_GetProc('glMultiTexCoord4fv');
  5851. glMultiTexCoord4i := gl_GetProc('glMultiTexCoord4i');
  5852. glMultiTexCoord4iv := gl_GetProc('glMultiTexCoord4iv');
  5853. glMultiTexCoord4s := gl_GetProc('glMultiTexCoord4s');
  5854. glMultiTexCoord4sv := gl_GetProc('glMultiTexCoord4sv');
  5855. glLoadTransposeMatrixf := gl_GetProc('glLoadTransposeMatrixf');
  5856. glLoadTransposeMatrixd := gl_GetProc('glLoadTransposeMatrixd');
  5857. glMultTransposeMatrixf := gl_GetProc('glMultTransposeMatrixf');
  5858. glMultTransposeMatrixd := gl_GetProc('glMultTransposeMatrixd');
  5859. {$EndIf} *)
  5860. {$EndIf}
  5861. {$IfDef GL_VERSION_1_4}
  5862. if GL_VERSION_1_4 then
  5863. begin
  5864. // glBlendFuncSeparate := gl_GetProc('glBlendFuncSeparate');
  5865. glMultiDrawArrays := gl_GetProc('glMultiDrawArrays');
  5866. // glMultiDrawElements := gl_GetProc('glMultiDrawElements');
  5867. glPointParameterf := gl_GetProc('glPointParameterf');
  5868. glPointParameterfv := gl_GetProc('glPointParameterfv');
  5869. glPointParameteri := gl_GetProc('glPointParameteri');
  5870. glPointParameteriv := gl_GetProc('glPointParameteriv');
  5871. glBlendColor := gl_GetProc('glBlendColor');
  5872. // glBlendEquation := gl_GetProc('glBlendEquation');
  5873. {$IfNDef USE_GLCORE}
  5874. glFogCoordf := gl_GetProc('glFogCoordf');
  5875. glFogCoordfv := gl_GetProc('glFogCoordfv');
  5876. glFogCoordd := gl_GetProc('glFogCoordd');
  5877. glFogCoorddv := gl_GetProc('glFogCoorddv');
  5878. // glFogCoordPointer := gl_GetProc('glFogCoordPointer');
  5879. glSecondaryColor3b := gl_GetProc('glSecondaryColor3b');
  5880. glSecondaryColor3bv := gl_GetProc('glSecondaryColor3bv');
  5881. glSecondaryColor3d := gl_GetProc('glSecondaryColor3d');
  5882. glSecondaryColor3dv := gl_GetProc('glSecondaryColor3dv');
  5883. glSecondaryColor3f := gl_GetProc('glSecondaryColor3f');
  5884. glSecondaryColor3fv := gl_GetProc('glSecondaryColor3fv');
  5885. glSecondaryColor3i := gl_GetProc('glSecondaryColor3i');
  5886. glSecondaryColor3iv := gl_GetProc('glSecondaryColor3iv');
  5887. glSecondaryColor3s := gl_GetProc('glSecondaryColor3s');
  5888. glSecondaryColor3sv := gl_GetProc('glSecondaryColor3sv');
  5889. glSecondaryColor3ub := gl_GetProc('glSecondaryColor3ub');
  5890. glSecondaryColor3ubv := gl_GetProc('glSecondaryColor3ubv');
  5891. glSecondaryColor3ui := gl_GetProc('glSecondaryColor3ui');
  5892. glSecondaryColor3uiv := gl_GetProc('glSecondaryColor3uiv');
  5893. glSecondaryColor3us := gl_GetProc('glSecondaryColor3us');
  5894. glSecondaryColor3usv := gl_GetProc('glSecondaryColor3usv');
  5895. // glSecondaryColorPointer := gl_GetProc('glSecondaryColorPointer');
  5896. glWindowPos2d := gl_GetProc('glWindowPos2d');
  5897. glWindowPos2dv := gl_GetProc('glWindowPos2dv');
  5898. glWindowPos2f := gl_GetProc('glWindowPos2f');
  5899. glWindowPos2fv := gl_GetProc('glWindowPos2fv');
  5900. glWindowPos2i := gl_GetProc('glWindowPos2i');
  5901. glWindowPos2iv := gl_GetProc('glWindowPos2iv');
  5902. glWindowPos2s := gl_GetProc('glWindowPos2s');
  5903. glWindowPos2sv := gl_GetProc('glWindowPos2sv');
  5904. glWindowPos3d := gl_GetProc('glWindowPos3d');
  5905. glWindowPos3dv := gl_GetProc('glWindowPos3dv');
  5906. glWindowPos3f := gl_GetProc('glWindowPos3f');
  5907. glWindowPos3fv := gl_GetProc('glWindowPos3fv');
  5908. glWindowPos3i := gl_GetProc('glWindowPos3i');
  5909. glWindowPos3iv := gl_GetProc('glWindowPos3iv');
  5910. glWindowPos3s := gl_GetProc('glWindowPos3s');
  5911. glWindowPos3sv := gl_GetProc('glWindowPos3sv');
  5912. {$EndIf}
  5913. end;
  5914. {$EndIf}
  5915. {$IfDef GL_VERSION_1_5}
  5916. if GL_VERSION_1_5 then
  5917. begin
  5918. glGenQueries := gl_GetProc('glGenQueries');
  5919. glDeleteQueries := gl_GetProc('glDeleteQueries');
  5920. glIsQuery := gl_GetProc('glIsQuery');
  5921. glBeginQuery := gl_GetProc('glBeginQuery');
  5922. glEndQuery := gl_GetProc('glEndQuery');
  5923. glGetQueryiv := gl_GetProc('glGetQueryiv');
  5924. glGetQueryObjectiv := gl_GetProc('glGetQueryObjectiv');
  5925. glGetQueryObjectuiv := gl_GetProc('glGetQueryObjectuiv');
  5926. glBindBuffer := gl_GetProc('glBindBuffer');
  5927. glDeleteBuffers := gl_GetProc('glDeleteBuffers');
  5928. glGenBuffers := gl_GetProc('glGenBuffers');
  5929. glIsBuffer := gl_GetProc('glIsBuffer');
  5930. glBufferData := gl_GetProc('glBufferData');
  5931. glBufferSubData := gl_GetProc('glBufferSubData');
  5932. glGetBufferSubData := gl_GetProc('glGetBufferSubData');
  5933. glMapBuffer := gl_GetProc('glMapBuffer');
  5934. glUnmapBuffer := gl_GetProc('glUnmapBuffer');
  5935. glGetBufferParameteriv := gl_GetProc('glGetBufferParameteriv');
  5936. glGetBufferPointerv := gl_GetProc('glGetBufferPointerv');
  5937. end;
  5938. {$EndIf}
  5939. {$IfDef GL_VERSION_2_0}
  5940. if GL_VERSION_2_0 then
  5941. begin
  5942. glBlendEquationSeparate := gl_GetProc('glBlendEquationSeparate');
  5943. glDrawBuffers := gl_GetProc('glDrawBuffers');
  5944. glStencilOpSeparate := gl_GetProc('glStencilOpSeparate');
  5945. glStencilFuncSeparate := gl_GetProc('glStencilFuncSeparate');
  5946. glStencilMaskSeparate := gl_GetProc('glStencilMaskSeparate');
  5947. glAttachShader := gl_GetProc('glAttachShader');
  5948. glBindAttribLocation := gl_GetProc('glBindAttribLocation');
  5949. glCompileShader := gl_GetProc('glCompileShader');
  5950. glCreateProgram := gl_GetProc('glCreateProgram');
  5951. glCreateShader := gl_GetProc('glCreateShader');
  5952. glDeleteProgram := gl_GetProc('glDeleteProgram');
  5953. glDeleteShader := gl_GetProc('glDeleteShader');
  5954. glDetachShader := gl_GetProc('glDetachShader');
  5955. glDisableVertexAttribArray := gl_GetProc('glDisableVertexAttribArray');
  5956. glEnableVertexAttribArray := gl_GetProc('glEnableVertexAttribArray');
  5957. glGetActiveAttrib := gl_GetProc('glGetActiveAttrib');
  5958. glGetActiveUniform := gl_GetProc('glGetActiveUniform');
  5959. glGetAttachedShaders := gl_GetProc('glGetAttachedShaders');
  5960. glGetAttribLocation := gl_GetProc('glGetAttribLocation');
  5961. glGetProgramiv := gl_GetProc('glGetProgramiv');
  5962. glGetProgramInfoLog := gl_GetProc('glGetProgramInfoLog');
  5963. glGetShaderiv := gl_GetProc('glGetShaderiv');
  5964. glGetShaderInfoLog := gl_GetProc('glGetShaderInfoLog');
  5965. glGetShaderSource := gl_GetProc('glGetShaderSource');
  5966. glGetUniformLocation := gl_GetProc('glGetUniformLocation');
  5967. glGetUniformfv := gl_GetProc('glGetUniformfv');
  5968. glGetUniformiv := gl_GetProc('glGetUniformiv');
  5969. glGetVertexAttribdv := gl_GetProc('glGetVertexAttribdv');
  5970. glGetVertexAttribfv := gl_GetProc('glGetVertexAttribfv');
  5971. glGetVertexAttribiv := gl_GetProc('glGetVertexAttribiv');
  5972. glGetVertexAttribPointerv := gl_GetProc('glGetVertexAttribPointerv');
  5973. glIsProgram := gl_GetProc('glIsProgram');
  5974. glIsShader := gl_GetProc('glIsShader');
  5975. glLinkProgram := gl_GetProc('glLinkProgram');
  5976. glShaderSource := gl_GetProc('glShaderSource');
  5977. glUseProgram := gl_GetProc('glUseProgram');
  5978. glUniform1f := gl_GetProc('glUniform1f');
  5979. glUniform2f := gl_GetProc('glUniform2f');
  5980. glUniform3f := gl_GetProc('glUniform3f');
  5981. glUniform4f := gl_GetProc('glUniform4f');
  5982. glUniform1i := gl_GetProc('glUniform1i');
  5983. glUniform2i := gl_GetProc('glUniform2i');
  5984. glUniform3i := gl_GetProc('glUniform3i');
  5985. glUniform4i := gl_GetProc('glUniform4i');
  5986. glUniform1fv := gl_GetProc('glUniform1fv');
  5987. glUniform2fv := gl_GetProc('glUniform2fv');
  5988. glUniform3fv := gl_GetProc('glUniform3fv');
  5989. glUniform4fv := gl_GetProc('glUniform4fv');
  5990. glUniform1iv := gl_GetProc('glUniform1iv');
  5991. glUniform2iv := gl_GetProc('glUniform2iv');
  5992. glUniform3iv := gl_GetProc('glUniform3iv');
  5993. glUniform4iv := gl_GetProc('glUniform4iv');
  5994. glUniformMatrix2fv := gl_GetProc('glUniformMatrix2fv');
  5995. glUniformMatrix3fv := gl_GetProc('glUniformMatrix3fv');
  5996. glUniformMatrix4fv := gl_GetProc('glUniformMatrix4fv');
  5997. glValidateProgram := gl_GetProc('glValidateProgram');
  5998. glVertexAttrib1d := gl_GetProc('glVertexAttrib1d');
  5999. glVertexAttrib1dv := gl_GetProc('glVertexAttrib1dv');
  6000. glVertexAttrib1f := gl_GetProc('glVertexAttrib1f');
  6001. glVertexAttrib1fv := gl_GetProc('glVertexAttrib1fv');
  6002. glVertexAttrib1s := gl_GetProc('glVertexAttrib1s');
  6003. glVertexAttrib1sv := gl_GetProc('glVertexAttrib1sv');
  6004. glVertexAttrib2d := gl_GetProc('glVertexAttrib2d');
  6005. glVertexAttrib2dv := gl_GetProc('glVertexAttrib2dv');
  6006. glVertexAttrib2f := gl_GetProc('glVertexAttrib2f');
  6007. glVertexAttrib2fv := gl_GetProc('glVertexAttrib2fv');
  6008. glVertexAttrib2s := gl_GetProc('glVertexAttrib2s');
  6009. glVertexAttrib2sv := gl_GetProc('glVertexAttrib2sv');
  6010. glVertexAttrib3d := gl_GetProc('glVertexAttrib3d');
  6011. glVertexAttrib3dv := gl_GetProc('glVertexAttrib3dv');
  6012. glVertexAttrib3f := gl_GetProc('glVertexAttrib3f');
  6013. glVertexAttrib3fv := gl_GetProc('glVertexAttrib3f');
  6014. glVertexAttrib3s := gl_GetProc('glVertexAttrib3s');
  6015. glVertexAttrib3sv := gl_GetProc('glVertexAttrib3sv');
  6016. glVertexAttrib4Nbv := gl_GetProc('glVertexAttrib4Nbv');
  6017. glVertexAttrib4Niv := gl_GetProc('glVertexAttrib4Niv');
  6018. glVertexAttrib4Nsv := gl_GetProc('glVertexAttrib4Nsv');
  6019. glVertexAttrib4Nub := gl_GetProc('glVertexAttrib4Nub');
  6020. glVertexAttrib4Nubv := gl_GetProc('glVertexAttrib4Nubv');
  6021. glVertexAttrib4Nuiv := gl_GetProc('glVertexAttrib4Nuiv');
  6022. glVertexAttrib4Nusv := gl_GetProc('glVertexAttrib4Nusv');
  6023. glVertexAttrib4bv := gl_GetProc('glVertexAttrib4bv');
  6024. glVertexAttrib4d := gl_GetProc('glVertexAttrib4d');
  6025. glVertexAttrib4dv := gl_GetProc('glVertexAttrib4dv');
  6026. glVertexAttrib4f := gl_GetProc('glVertexAttrib4f');
  6027. glVertexAttrib4fv := gl_GetProc('glVertexAttrib4fv');
  6028. glVertexAttrib4iv := gl_GetProc('glVertexAttrib4iv');
  6029. glVertexAttrib4s := gl_GetProc('glVertexAttrib4s');
  6030. glVertexAttrib4sv := gl_GetProc('glVertexAttrib4sv');
  6031. glVertexAttrib4ubv := gl_GetProc('glVertexAttrib4ubv');
  6032. glVertexAttrib4uiv := gl_GetProc('glVertexAttrib4uiv');
  6033. glVertexAttrib4usv := gl_GetProc('glVertexAttrib4usv');
  6034. glVertexAttribPointer := gl_GetProc('glVertexAttribPointer');
  6035. end;
  6036. {$EndIf}
  6037. {$IfDef GL_VERSION_2_1}
  6038. if GL_VERSION_2_1 then
  6039. begin
  6040. glUniformMatrix2x3fv := gl_GetProc('glUniformMatrix2x3fv');
  6041. glUniformMatrix3x2fv := gl_GetProc('glUniformMatrix3x2fv');
  6042. glUniformMatrix2x4fv := gl_GetProc('glUniformMatrix2x4fv');
  6043. glUniformMatrix4x2fv := gl_GetProc('glUniformMatrix4x2fv');
  6044. glUniformMatrix3x4fv := gl_GetProc('glUniformMatrix3x4fv');
  6045. glUniformMatrix4x3fv := gl_GetProc('glUniformMatrix4x3fv');
  6046. end;
  6047. {$EndIf}
  6048. {$IfDef GL_VERSION_3_0}
  6049. if GL_VERSION_3_0 then
  6050. begin
  6051. glColorMaski := gl_GetProc('glColorMaski');
  6052. glGetBooleani_v := gl_GetProc('glGetBooleani_v');
  6053. glGetIntegeri_v := gl_GetProc('glGetIntegeri_v');
  6054. glEnablei := gl_GetProc('glEnablei');
  6055. glDisablei := gl_GetProc('glDisablei');
  6056. glIsEnabledi := gl_GetProc('glIsEnabledi');
  6057. glBeginTransformFeedback := gl_GetProc('glBeginTransformFeedback');
  6058. glEndTransformFeedback := gl_GetProc('glEndTransformFeedback');
  6059. glBindBufferRange := gl_GetProc('glBindBufferRange');
  6060. glBindBufferBase := gl_GetProc('glBindBufferBase');
  6061. glTransformFeedbackVaryings := gl_GetProc('glTransformFeedbackVaryings');
  6062. glGetTransformFeedbackVarying := gl_GetProc('glGetTransformFeedbackVarying');
  6063. glClampColor := gl_GetProc('glClampColor');
  6064. glBeginConditionalRender := gl_GetProc('glBeginConditionalRender');
  6065. glEndConditionalRender := gl_GetProc('glEndConditionalRender');
  6066. glVertexAttribIPointer := gl_GetProc('glVertexAttribIPointer');
  6067. glGetVertexAttribIiv := gl_GetProc('glGetVertexAttribIiv');
  6068. glGetVertexAttribIuiv := gl_GetProc('glGetVertexAttribIuiv');
  6069. glVertexAttribI1i := gl_GetProc('glVertexAttribI1i');
  6070. glVertexAttribI2i := gl_GetProc('glVertexAttribI2i');
  6071. glVertexAttribI3i := gl_GetProc('glVertexAttribI3i');
  6072. glVertexAttribI4i := gl_GetProc('glVertexAttribI4i');
  6073. glVertexAttribI1ui := gl_GetProc('glVertexAttribI1ui');
  6074. glVertexAttribI2ui := gl_GetProc('glVertexAttribI2ui');
  6075. glVertexAttribI3ui := gl_GetProc('glVertexAttribI3ui');
  6076. glVertexAttribI4ui := gl_GetProc('glVertexAttribI4ui');
  6077. glVertexAttribI1iv := gl_GetProc('glVertexAttribI1iv');
  6078. glVertexAttribI2iv := gl_GetProc('glVertexAttribI2iv');
  6079. glVertexAttribI3iv := gl_GetProc('glVertexAttribI3iv');
  6080. glVertexAttribI4iv := gl_GetProc('glVertexAttribI4iv');
  6081. glVertexAttribI1uiv := gl_GetProc('glVertexAttribI1uiv');
  6082. glVertexAttribI2uiv := gl_GetProc('glVertexAttribI2uiv');
  6083. glVertexAttribI3uiv := gl_GetProc('glVertexAttribI3uiv');
  6084. glVertexAttribI4uiv := gl_GetProc('glVertexAttribI4uiv');
  6085. glVertexAttribI4bv := gl_GetProc('glVertexAttribI4bv');
  6086. glVertexAttribI4sv := gl_GetProc('glVertexAttribI4sv');
  6087. glVertexAttribI4ubv := gl_GetProc('glVertexAttribI4ubv');
  6088. glVertexAttribI4usv := gl_GetProc('glVertexAttribI4usv');
  6089. glGetUniformuiv := gl_GetProc('glGetUniformuiv');
  6090. glBindFragDataLocation := gl_GetProc('glBindFragDataLocation');
  6091. glGetFragDataLocation := gl_GetProc('glGetFragDataLocation');
  6092. glUniform1ui := gl_GetProc('glUniform1ui');
  6093. glUniform2ui := gl_GetProc('glUniform2ui');
  6094. glUniform3ui := gl_GetProc('glUniform3ui');
  6095. glUniform4ui := gl_GetProc('glUniform4ui');
  6096. glUniform1uiv := gl_GetProc('glUniform1uiv');
  6097. glUniform2uiv := gl_GetProc('glUniform2uiv');
  6098. glUniform3uiv := gl_GetProc('glUniform3uiv');
  6099. glUniform4uiv := gl_GetProc('glUniform4uiv');
  6100. glTexParameterIiv := gl_GetProc('glTexParameterIiv');
  6101. glTexParameterIuiv := gl_GetProc('glTexParameterIuiv');
  6102. glGetTexParameterIiv := gl_GetProc('glGetTexParameterIiv');
  6103. glGetTexParameterIuiv := gl_GetProc('glGetTexParameterIuiv');
  6104. glClearBufferiv := gl_GetProc('glClearBufferiv');
  6105. glClearBufferuiv := gl_GetProc('glClearBufferuiv');
  6106. glClearBufferfv := gl_GetProc('glClearBufferfv');
  6107. glClearBufferfi := gl_GetProc('glClearBufferfi');
  6108. glGetStringi := gl_GetProc('glGetStringi');
  6109. // glIsRenderbuffer := gl_GetProc('glIsRenderbuffer');
  6110. // glBindRenderbuffer := gl_GetProc('glBindRenderbuffer');
  6111. // glDeleteRenderbuffers := gl_GetProc('glDeleteRenderbuffers');
  6112. // glGenRenderbuffers := gl_GetProc('glGenRenderbuffers');
  6113. // glRenderbufferStorage := gl_GetProc('glRenderbufferStorage');
  6114. glGetRenderbufferParameteriv := gl_GetProc('glGetRenderbufferParameteriv');
  6115. // glIsFramebuffer := gl_GetProc('glIsFramebuffer');
  6116. // glBindFramebuffer := gl_GetProc('glBindFramebuffer');
  6117. // glDeleteFramebuffers := gl_GetProc('glDeleteFramebuffers');
  6118. // glGenFramebuffers := gl_GetProc('glGenFramebuffers');
  6119. // glCheckFramebufferStatus := gl_GetProc('glCheckFramebufferStatus');
  6120. glFramebufferTexture1D := gl_GetProc('glFramebufferTexture1D');
  6121. // glFramebufferTexture2D := gl_GetProc('glFramebufferTexture2D');
  6122. glFramebufferTexture3D := gl_GetProc('glFramebufferTexture3D');
  6123. // glFramebufferRenderbuffer := gl_GetProc('glFramebufferRenderbuffer');
  6124. glGetFramebufferAttachmentParameteriv := gl_GetProc('glGetFramebufferAttachmentParameteriv');
  6125. glGenerateMipmap := gl_GetProc('glGenerateMipmap');
  6126. glBlitFramebuffer := gl_GetProc('glBlitFramebuffer');
  6127. glRenderbufferStorageMultisample := gl_GetProc('glRenderbufferStorageMultisample');
  6128. glFramebufferTextureLayer := gl_GetProc('glFramebufferTextureLayer');
  6129. glMapBufferRange := gl_GetProc('glMapBufferRange');
  6130. glFlushMappedBufferRange := gl_GetProc('glFlushMappedBufferRange');
  6131. glBindVertexArray := gl_GetProc('glBindVertexArray');
  6132. glDeleteVertexArrays := gl_GetProc('glDeleteVertexArrays');
  6133. glGenVertexArrays := gl_GetProc('glGenVertexArrays');
  6134. glIsVertexArray := gl_GetProc('glIsVertexArray');
  6135. end;
  6136. {$EndIf}
  6137. {$IfDef GL_VERSION_3_1}
  6138. if GL_VERSION_3_1 then
  6139. begin
  6140. glDrawArraysInstanced := gl_GetProc('glDrawArraysInstanced');
  6141. glDrawElementsInstanced := gl_GetProc('glDrawElementsInstanced');
  6142. glTexBuffer := gl_GetProc('glTexBuffer');
  6143. glPrimitiveRestartIndex := gl_GetProc('glPrimitiveRestartIndex');
  6144. glCopyBufferSubData := gl_GetProc('glCopyBufferSubData');
  6145. glGetUniformIndices := gl_GetProc('glGetUniformIndices');
  6146. glGetActiveUniformsiv := gl_GetProc('glGetActiveUniformsiv');
  6147. glGetActiveUniformName := gl_GetProc('glGetActiveUniformName');
  6148. glGetUniformBlockIndex := gl_GetProc('glGetUniformBlockIndex');
  6149. glGetActiveUniformBlockiv := gl_GetProc('glGetActiveUniformBlockiv');
  6150. glGetActiveUniformBlockName := gl_GetProc('glGetActiveUniformBlockName');
  6151. glUniformBlockBinding := gl_GetProc('glUniformBlockBinding');
  6152. end;
  6153. {$EndIf}
  6154. {$IfDef GL_VERSION_3_2}
  6155. if GL_VERSION_3_2 then
  6156. begin
  6157. glDrawElementsBaseVertex := gl_GetProc('glDrawElementsBaseVertex');
  6158. glDrawRangeElementsBaseVertex := gl_GetProc('glDrawRangeElementsBaseVertex');
  6159. glDrawElementsInstancedBaseVertex := gl_GetProc('glDrawElementsInstancedBaseVertex');
  6160. glMultiDrawElementsBaseVertex := gl_GetProc('glMultiDrawElementsBaseVertex');
  6161. glProvokingVertex := gl_GetProc('glProvokingVertex');
  6162. glFenceSync := gl_GetProc('glFenceSync');
  6163. glIsSync := gl_GetProc('glIsSync');
  6164. glDeleteSync := gl_GetProc('glDeleteSync');
  6165. glClientWaitSync := gl_GetProc('glClientWaitSync');
  6166. glWaitSync := gl_GetProc('glWaitSync');
  6167. glGetInteger64v := gl_GetProc('glGetInteger64v');
  6168. glGetSynciv := gl_GetProc('glGetSynciv');
  6169. glGetInteger64i_v := gl_GetProc('glGetInteger64i_v');
  6170. glGetBufferParameteri64v := gl_GetProc('glGetBufferParameteri64v');
  6171. glFramebufferTexture := gl_GetProc('glFramebufferTexture');
  6172. glTexImage2DMultisample := gl_GetProc('glTexImage2DMultisample');
  6173. glTexImage3DMultisample := gl_GetProc('glTexImage3DMultisample');
  6174. glGetMultisamplefv := gl_GetProc('glGetMultisamplefv');
  6175. glSampleMaski := gl_GetProc('glSampleMaski');
  6176. end;
  6177. {$EndIf}
  6178. {$IfDef GL_VERSION_3_3}
  6179. if GL_VERSION_3_3 then
  6180. begin
  6181. glBindFragDataLocationIndexed := gl_GetProc('glBindFragDataLocationIndexed');
  6182. glGetFragDataIndex := gl_GetProc('glGetFragDataIndex');
  6183. glGenSamplers := gl_GetProc('glGenSamplers');
  6184. glDeleteSamplers := gl_GetProc('glDeleteSamplers');
  6185. glIsSampler := gl_GetProc('glIsSampler');
  6186. glBindSampler := gl_GetProc('glBindSampler');
  6187. glSamplerParameteri := gl_GetProc('glSamplerParameteri');
  6188. glSamplerParameteriv := gl_GetProc('glSamplerParameteriv');
  6189. glSamplerParameterf := gl_GetProc('glSamplerParameterf');
  6190. glSamplerParameterfv := gl_GetProc('glSamplerParameterfv');
  6191. glSamplerParameterIiv := gl_GetProc('glSamplerParameterIiv');
  6192. glSamplerParameterIuiv := gl_GetProc('glSamplerParameterIuiv');
  6193. glGetSamplerParameteriv := gl_GetProc('glGetSamplerParameteriv');
  6194. glGetSamplerParameterIiv := gl_GetProc('glGetSamplerParameterIiv');
  6195. glGetSamplerParameterfv := gl_GetProc('glGetSamplerParameterfv');
  6196. glGetSamplerParameterIuiv := gl_GetProc('glGetSamplerParameterIuiv');
  6197. glQueryCounter := gl_GetProc('glQueryCounter');
  6198. glGetQueryObjecti64v := gl_GetProc('glGetQueryObjecti64v');
  6199. glGetQueryObjectui64v := gl_GetProc('glGetQueryObjectui64v');
  6200. glVertexAttribDivisor := gl_GetProc('glVertexAttribDivisor');
  6201. glVertexAttribP1ui := gl_GetProc('glVertexAttribP1ui');
  6202. glVertexAttribP1uiv := gl_GetProc('glVertexAttribP1uiv');
  6203. glVertexAttribP2ui := gl_GetProc('glVertexAttribP2ui');
  6204. glVertexAttribP2uiv := gl_GetProc('glVertexAttribP2uiv');
  6205. glVertexAttribP3ui := gl_GetProc('glVertexAttribP3ui');
  6206. glVertexAttribP3uiv := gl_GetProc('glVertexAttribP3uiv');
  6207. glVertexAttribP4ui := gl_GetProc('glVertexAttribP4ui');
  6208. glVertexAttribP4uiv := gl_GetProc('glVertexAttribP4uiv');
  6209. {$IfNDef USE_GLCORE}
  6210. glVertexP2ui := gl_GetProc('glVertexP2ui');
  6211. glVertexP2uiv := gl_GetProc('glVertexP2uiv');
  6212. glVertexP3ui := gl_GetProc('glVertexP3ui');
  6213. glVertexP3uiv := gl_GetProc('glVertexP3uiv');
  6214. glVertexP4ui := gl_GetProc('glVertexP4ui');
  6215. glVertexP4uiv := gl_GetProc('glVertexP4uiv');
  6216. glTexCoordP1ui := gl_GetProc('glTexCoordP1ui');
  6217. glTexCoordP1uiv := gl_GetProc('glTexCoordP1uiv');
  6218. glTexCoordP2ui := gl_GetProc('glTexCoordP2ui');
  6219. glTexCoordP2uiv := gl_GetProc('glTexCoordP2uiv');
  6220. glTexCoordP3ui := gl_GetProc('glTexCoordP3ui');
  6221. glTexCoordP3uiv := gl_GetProc('glTexCoordP3uiv');
  6222. glTexCoordP4ui := gl_GetProc('glTexCoordP4ui');
  6223. glTexCoordP4uiv := gl_GetProc('glTexCoordP4uiv');
  6224. glMultiTexCoordP1ui := gl_GetProc('glMultiTexCoordP1ui');
  6225. glMultiTexCoordP1uiv := gl_GetProc('glMultiTexCoordP1uiv');
  6226. glMultiTexCoordP2ui := gl_GetProc('glMultiTexCoordP2ui');
  6227. glMultiTexCoordP2uiv := gl_GetProc('glMultiTexCoordP2uiv');
  6228. glMultiTexCoordP3ui := gl_GetProc('glMultiTexCoordP3ui');
  6229. glMultiTexCoordP3uiv := gl_GetProc('glMultiTexCoordP3uiv');
  6230. glMultiTexCoordP4ui := gl_GetProc('glMultiTexCoordP4ui');
  6231. glMultiTexCoordP4uiv := gl_GetProc('glMultiTexCoordP4uiv');
  6232. glNormalP3ui := gl_GetProc('glNormalP3ui');
  6233. glNormalP3uiv := gl_GetProc('glNormalP3uiv');
  6234. glColorP3ui := gl_GetProc('glColorP3ui');
  6235. glColorP3uiv := gl_GetProc('glColorP3uiv');
  6236. glColorP4ui := gl_GetProc('glColorP4ui');
  6237. glColorP4uiv := gl_GetProc('glColorP4uiv');
  6238. glSecondaryColorP3ui := gl_GetProc('glSecondaryColorP3ui');
  6239. glSecondaryColorP3uiv := gl_GetProc('glSecondaryColorP3uiv');
  6240. {$EndIf}
  6241. end;
  6242. {$EndIf}
  6243. {$IfDef GL_VERSION_4_0}
  6244. if GL_VERSION_4_0 then
  6245. begin
  6246. glMinSampleShading := gl_GetProc('glMinSampleShading');
  6247. glBlendEquationi := gl_GetProc('glBlendEquationi');
  6248. glBlendEquationSeparatei := gl_GetProc('glBlendEquationSeparatei');
  6249. glBlendFunci := gl_GetProc('glBlendFunci');
  6250. glBlendFuncSeparatei := gl_GetProc('glBlendFuncSeparatei');
  6251. glDrawArraysIndirect := gl_GetProc('glDrawArraysIndirect');
  6252. glDrawElementsIndirect := gl_GetProc('glDrawElementsIndirect');
  6253. glUniform1d := gl_GetProc('glUniform1d');
  6254. glUniform2d := gl_GetProc('glUniform2d');
  6255. glUniform3d := gl_GetProc('glUniform3d');
  6256. glUniform4d := gl_GetProc('glUniform4d');
  6257. glUniform1dv := gl_GetProc('glUniform1dv');
  6258. glUniform2dv := gl_GetProc('glUniform2dv');
  6259. glUniform3dv := gl_GetProc('glUniform3dv');
  6260. glUniform4dv := gl_GetProc('glUniform4dv');
  6261. glUniformMatrix2dv := gl_GetProc('glUniformMatrix2dv');
  6262. glUniformMatrix3dv := gl_GetProc('glUniformMatrix3dv');
  6263. glUniformMatrix4dv := gl_GetProc('glUniformMatrix4dv');
  6264. glUniformMatrix2x3dv := gl_GetProc('glUniformMatrix2x3dv');
  6265. glUniformMatrix2x4dv := gl_GetProc('glUniformMatrix2x4dv');
  6266. glUniformMatrix3x2dv := gl_GetProc('glUniformMatrix3x2dv');
  6267. glUniformMatrix3x4dv := gl_GetProc('glUniformMatrix3x4dv');
  6268. glUniformMatrix4x2dv := gl_GetProc('glUniformMatrix4x2dv');
  6269. glUniformMatrix4x3dv := gl_GetProc('glUniformMatrix4x3dv');
  6270. glGetUniformdv := gl_GetProc('glGetUniformdv');
  6271. glGetSubroutineUniformLocation := gl_GetProc('glGetSubroutineUniformLocation');
  6272. glGetSubroutineIndex := gl_GetProc('glGetSubroutineIndex');
  6273. glGetActiveSubroutineUniformiv := gl_GetProc('glGetActiveSubroutineUniformiv');
  6274. glGetActiveSubroutineUniformName := gl_GetProc('glGetActiveSubroutineUniformName');
  6275. glGetActiveSubroutineName := gl_GetProc('glGetActiveSubroutineName');
  6276. glUniformSubroutinesuiv := gl_GetProc('glUniformSubroutinesuiv');
  6277. glGetUniformSubroutineuiv := gl_GetProc('glGetUniformSubroutineuiv');
  6278. glGetProgramStageiv := gl_GetProc('glGetProgramStageiv');
  6279. glPatchParameteri := gl_GetProc('glPatchParameteri');
  6280. glPatchParameterfv := gl_GetProc('glPatchParameterfv');
  6281. glBindTransformFeedback := gl_GetProc('glBindTransformFeedback');
  6282. glDeleteTransformFeedbacks := gl_GetProc('glDeleteTransformFeedbacks');
  6283. glGenTransformFeedbacks := gl_GetProc('glGenTransformFeedbacks');
  6284. glIsTransformFeedback := gl_GetProc('glIsTransformFeedback');
  6285. glPauseTransformFeedback := gl_GetProc('glPauseTransformFeedback');
  6286. glResumeTransformFeedback := gl_GetProc('glResumeTransformFeedback');
  6287. glDrawTransformFeedback := gl_GetProc('glDrawTransformFeedback');
  6288. glDrawTransformFeedbackStream := gl_GetProc('glDrawTransformFeedbackStream');
  6289. glBeginQueryIndexed := gl_GetProc('glBeginQueryIndexed');
  6290. glEndQueryIndexed := gl_GetProc('glEndQueryIndexed');
  6291. glGetQueryIndexediv := gl_GetProc('glGetQueryIndexediv');
  6292. end;
  6293. {$EndIf}
  6294. {$IfDef GL_VERSION_4_1}
  6295. if GL_VERSION_4_1 then
  6296. begin
  6297. glReleaseShaderCompiler := gl_GetProc('glReleaseShaderCompiler');
  6298. glShaderBinary := gl_GetProc('glShaderBinary');
  6299. glGetShaderPrecisionFormat := gl_GetProc('glGetShaderPrecisionFormat');
  6300. glDepthRangef := gl_GetProc('glDepthRangef');
  6301. glClearDepthf := gl_GetProc('glClearDepthf');
  6302. glGetProgramBinary := gl_GetProc('glGetProgramBinary');
  6303. glProgramBinary := gl_GetProc('glProgramBinary');
  6304. glProgramParameteri := gl_GetProc('glProgramParameteri');
  6305. glUseProgramStages := gl_GetProc('glUseProgramStages');
  6306. glActiveShaderProgram := gl_GetProc('glActiveShaderProgram');
  6307. glCreateShaderProgramv := gl_GetProc('glCreateShaderProgramv');
  6308. glBindProgramPipeline := gl_GetProc('glBindProgramPipeline');
  6309. glDeleteProgramPipelines := gl_GetProc('glDeleteProgramPipelines');
  6310. glGenProgramPipelines := gl_GetProc('glGenProgramPipelines');
  6311. glIsProgramPipeline := gl_GetProc('glIsProgramPipeline');
  6312. glGetProgramPipelineiv := gl_GetProc('glGetProgramPipelineiv');
  6313. glProgramUniform1i := gl_GetProc('glProgramUniform1i');
  6314. glProgramUniform1iv := gl_GetProc('glProgramUniform1iv');
  6315. glProgramUniform1f := gl_GetProc('glProgramUniform1f');
  6316. glProgramUniform1fv := gl_GetProc('glProgramUniform1fv');
  6317. glProgramUniform1d := gl_GetProc('glProgramUniform1d');
  6318. glProgramUniform1dv := gl_GetProc('glProgramUniform1dv');
  6319. glProgramUniform1ui := gl_GetProc('glProgramUniform1ui');
  6320. glProgramUniform1uiv := gl_GetProc('glProgramUniform1uiv');
  6321. glProgramUniform2i := gl_GetProc('glProgramUniform2i');
  6322. glProgramUniform2iv := gl_GetProc('glProgramUniform2iv');
  6323. glProgramUniform2f := gl_GetProc('glProgramUniform2f');
  6324. glProgramUniform2fv := gl_GetProc('glProgramUniform2fv');
  6325. glProgramUniform2d := gl_GetProc('glProgramUniform2d');
  6326. glProgramUniform2dv := gl_GetProc('glProgramUniform2dv');
  6327. glProgramUniform2ui := gl_GetProc('glProgramUniform2ui');
  6328. glProgramUniform2uiv := gl_GetProc('glProgramUniform2uiv');
  6329. glProgramUniform3i := gl_GetProc('glProgramUniform3i');
  6330. glProgramUniform3iv := gl_GetProc('glProgramUniform3iv');
  6331. glProgramUniform3f := gl_GetProc('glProgramUniform3f');
  6332. glProgramUniform3fv := gl_GetProc('glProgramUniform3fv');
  6333. glProgramUniform3d := gl_GetProc('glProgramUniform3d');
  6334. glProgramUniform3dv := gl_GetProc('glProgramUniform3dv');
  6335. glProgramUniform3ui := gl_GetProc('glProgramUniform3ui');
  6336. glProgramUniform3uiv := gl_GetProc('glProgramUniform3uiv');
  6337. glProgramUniform4i := gl_GetProc('glProgramUniform4i');
  6338. glProgramUniform4iv := gl_GetProc('glProgramUniform4iv');
  6339. glProgramUniform4f := gl_GetProc('glProgramUniform4f');
  6340. glProgramUniform4fv := gl_GetProc('glProgramUniform4fv');
  6341. glProgramUniform4d := gl_GetProc('glProgramUniform4d');
  6342. glProgramUniform4dv := gl_GetProc('glProgramUniform4dv');
  6343. glProgramUniform4ui := gl_GetProc('glProgramUniform4ui');
  6344. glProgramUniform4uiv := gl_GetProc('glProgramUniform4uiv');
  6345. glProgramUniformMatrix2fv := gl_GetProc('glProgramUniformMatrix2fv');
  6346. glProgramUniformMatrix3fv := gl_GetProc('glProgramUniformMatrix3fv');
  6347. glProgramUniformMatrix4fv := gl_GetProc('glProgramUniformMatrix4fv');
  6348. glProgramUniformMatrix2dv := gl_GetProc('glProgramUniformMatrix2dv');
  6349. glProgramUniformMatrix3dv := gl_GetProc('glProgramUniformMatrix3dv');
  6350. glProgramUniformMatrix4dv := gl_GetProc('glProgramUniformMatrix4dv');
  6351. glProgramUniformMatrix2x3fv := gl_GetProc('glProgramUniformMatrix2x3fv');
  6352. glProgramUniformMatrix3x2fv := gl_GetProc('glProgramUniformMatrix3x2fv');
  6353. glProgramUniformMatrix2x4fv := gl_GetProc('glProgramUniformMatrix2x4fv');
  6354. glProgramUniformMatrix4x2fv := gl_GetProc('glProgramUniformMatrix4x2fv');
  6355. glProgramUniformMatrix3x4fv := gl_GetProc('glProgramUniformMatrix3x4fv');
  6356. glProgramUniformMatrix4x3fv := gl_GetProc('glProgramUniformMatrix4x3fv');
  6357. glProgramUniformMatrix2x3dv := gl_GetProc('glProgramUniformMatrix2x3dv');
  6358. glProgramUniformMatrix3x2dv := gl_GetProc('glProgramUniformMatrix3x2dv');
  6359. glProgramUniformMatrix2x4dv := gl_GetProc('glProgramUniformMatrix2x4dv');
  6360. glProgramUniformMatrix4x2dv := gl_GetProc('glProgramUniformMatrix4x2dv');
  6361. glProgramUniformMatrix3x4dv := gl_GetProc('glProgramUniformMatrix3x4dv');
  6362. glProgramUniformMatrix4x3dv := gl_GetProc('glProgramUniformMatrix4x3dv');
  6363. glValidateProgramPipeline := gl_GetProc('glValidateProgramPipeline');
  6364. glGetProgramPipelineInfoLog := gl_GetProc('glGetProgramPipelineInfoLog');
  6365. glVertexAttribL1d := gl_GetProc('glVertexAttribL1d');
  6366. glVertexAttribL2d := gl_GetProc('glVertexAttribL2d');
  6367. glVertexAttribL3d := gl_GetProc('glVertexAttribL3d');
  6368. glVertexAttribL4d := gl_GetProc('glVertexAttribL4d');
  6369. glVertexAttribL1dv := gl_GetProc('glVertexAttribL1dv');
  6370. glVertexAttribL2dv := gl_GetProc('glVertexAttribL2dv');
  6371. glVertexAttribL3dv := gl_GetProc('glVertexAttribL3dv');
  6372. glVertexAttribL4dv := gl_GetProc('glVertexAttribL4dv');
  6373. glVertexAttribLPointer := gl_GetProc('glVertexAttribLPointer');
  6374. glGetVertexAttribLdv := gl_GetProc('glGetVertexAttribLdv');
  6375. glViewportArrayv := gl_GetProc('glViewportArrayv');
  6376. glViewportIndexedf := gl_GetProc('glViewportIndexedf');
  6377. glViewportIndexedfv := gl_GetProc('glViewportIndexedfv');
  6378. glScissorArrayv := gl_GetProc('glScissorArrayv');
  6379. glScissorIndexed := gl_GetProc('glScissorIndexed');
  6380. glScissorIndexedv := gl_GetProc('glScissorIndexedv');
  6381. glDepthRangeArrayv := gl_GetProc('glDepthRangeArrayv');
  6382. glDepthRangeIndexed := gl_GetProc('glDepthRangeIndexed');
  6383. glGetFloati_v := gl_GetProc('glGetFloati_v');
  6384. glGetDoublei_v := gl_GetProc('glGetDoublei_v');
  6385. end;
  6386. {$EndIf}
  6387. {$IfDef GL_VERSION_4_2}
  6388. if GL_VERSION_4_2 then
  6389. begin
  6390. glDrawArraysInstancedBaseInstance := gl_GetProc('glDrawArraysInstancedBaseInstance');
  6391. glDrawElementsInstancedBaseInstance := gl_GetProc('glDrawElementsInstancedBaseInstance');
  6392. glDrawElementsInstancedBaseVertexBaseInstance := gl_GetProc('glDrawElementsInstancedBaseVertexBaseInstance');
  6393. glGetInternalformativ := gl_GetProc('glGetInternalformativ');
  6394. glGetActiveAtomicCounterBufferiv := gl_GetProc('glGetActiveAtomicCounterBufferiv');
  6395. glBindImageTexture := gl_GetProc('glBindImageTexture');
  6396. glMemoryBarrier := gl_GetProc('glMemoryBarrier');
  6397. glTexStorage1D := gl_GetProc('glTexStorage1D');
  6398. glTexStorage2D := gl_GetProc('glTexStorage2D');
  6399. glTexStorage3D := gl_GetProc('glTexStorage3D');
  6400. glDrawTransformFeedbackInstanced := gl_GetProc('glDrawTransformFeedbackInstanced');
  6401. glDrawTransformFeedbackStreamInstanced := gl_GetProc('glDrawTransformFeedbackStreamInstanced');
  6402. end;
  6403. {$EndIf}
  6404. {$IfDef GL_VERSION_4_3}
  6405. if GL_VERSION_4_3 then
  6406. begin
  6407. glClearBufferData := gl_GetProc('glClearBufferData');
  6408. glClearBufferSubData := gl_GetProc('glClearBufferSubData');
  6409. glDispatchCompute := gl_GetProc('glDispatchCompute');
  6410. glDispatchComputeIndirect := gl_GetProc('glDispatchComputeIndirect');
  6411. glCopyImageSubData := gl_GetProc('glCopyImageSubData');
  6412. glFramebufferParameteri := gl_GetProc('glFramebufferParameteri');
  6413. glGetFramebufferParameteriv := gl_GetProc('glGetFramebufferParameteriv');
  6414. glGetInternalformati64v := gl_GetProc('glGetInternalformati64v');
  6415. glInvalidateTexSubImage := gl_GetProc('glInvalidateTexSubImage');
  6416. glInvalidateTexImage := gl_GetProc('glInvalidateTexImage');
  6417. glInvalidateBufferSubData := gl_GetProc('glInvalidateBufferSubData');
  6418. glInvalidateBufferData := gl_GetProc('glInvalidateBufferData');
  6419. glInvalidateFramebuffer := gl_GetProc('glInvalidateFramebuffer');
  6420. glInvalidateSubFramebuffer := gl_GetProc('glInvalidateSubFramebuffer');
  6421. glMultiDrawArraysIndirect := gl_GetProc('glMultiDrawArraysIndirect');
  6422. glMultiDrawElementsIndirect := gl_GetProc('glMultiDrawElementsIndirect');
  6423. glGetProgramInterfaceiv := gl_GetProc('glGetProgramInterfaceiv');
  6424. glGetProgramResourceIndex := gl_GetProc('glGetProgramResourceIndex');
  6425. glGetProgramResourceName := gl_GetProc('glGetProgramResourceName');
  6426. glGetProgramResourceiv := gl_GetProc('glGetProgramResourceiv');
  6427. glGetProgramResourceLocation := gl_GetProc('glGetProgramResourceLocation');
  6428. glGetProgramResourceLocationIndex := gl_GetProc('glGetProgramResourceLocationIndex');
  6429. glShaderStorageBlockBinding := gl_GetProc('glShaderStorageBlockBinding');
  6430. glTexBufferRange := gl_GetProc('glTexBufferRange');
  6431. glTexStorage2DMultisample := gl_GetProc('glTexStorage2DMultisample');
  6432. glTexStorage3DMultisample := gl_GetProc('glTexStorage3DMultisample');
  6433. glTextureView := gl_GetProc('glTextureView');
  6434. glBindVertexBuffer := gl_GetProc('glBindVertexBuffer');
  6435. glVertexAttribFormat := gl_GetProc('glVertexAttribFormat');
  6436. glVertexAttribIFormat := gl_GetProc('glVertexAttribIFormat');
  6437. glVertexAttribLFormat := gl_GetProc('glVertexAttribLFormat');
  6438. glVertexAttribBinding := gl_GetProc('glVertexAttribBinding');
  6439. glVertexBindingDivisor := gl_GetProc('glVertexBindingDivisor');
  6440. glDebugMessageControl := gl_GetProc('glDebugMessageControl');
  6441. glDebugMessageInsert := gl_GetProc('glDebugMessageInsert');
  6442. glDebugMessageCallback := gl_GetProc('glDebugMessageCallback');
  6443. glGetDebugMessageLog := gl_GetProc('glGetDebugMessageLog');
  6444. glPushDebugGroup := gl_GetProc('glPushDebugGroup');
  6445. glPopDebugGroup := gl_GetProc('glPopDebugGroup');
  6446. glObjectLabel := gl_GetProc('glObjectLabel');
  6447. glGetObjectLabel := gl_GetProc('glGetObjectLabel');
  6448. glObjectPtrLabel := gl_GetProc('glObjectPtrLabel');
  6449. glGetObjectPtrLabel := gl_GetProc('glGetObjectPtrLabel');
  6450. end;
  6451. {$EndIf}
  6452. {$IfDef GL_VERSION_4_4}
  6453. if GL_VERSION_4_4 then
  6454. begin
  6455. glBufferStorage := gl_GetProc('glBufferStorage');
  6456. glClearTexImage := gl_GetProc('glClearTexImage');
  6457. glClearTexSubImage := gl_GetProc('glClearTexSubImage');
  6458. glBindBuffersBase := gl_GetProc('glBindBuffersBase');
  6459. glBindBuffersRange := gl_GetProc('glBindBuffersRange');
  6460. glBindTextures := gl_GetProc('glBindTextures');
  6461. glBindSamplers := gl_GetProc('glBindSamplers');
  6462. glBindImageTextures := gl_GetProc('glBindImageTextures');
  6463. glBindVertexBuffers := gl_GetProc('glBindVertexBuffers');
  6464. end;
  6465. {$EndIf}
  6466. {$IfDef GL_VERSION_4_5}
  6467. if GL_VERSION_4_5 then
  6468. begin
  6469. glClipControl := gl_GetProc('glClipControl');
  6470. glCreateTransformFeedbacks := gl_GetProc('glCreateTransformFeedbacks');
  6471. glTransformFeedbackBufferBase := gl_GetProc('glTransformFeedbackBufferBase');
  6472. glTransformFeedbackBufferRange := gl_GetProc('glTransformFeedbackBufferRange');
  6473. glGetTransformFeedbackiv := gl_GetProc('glGetTransformFeedbackiv');
  6474. glGetTransformFeedbacki_v := gl_GetProc('glGetTransformFeedbacki_v');
  6475. glGetTransformFeedbacki64_v := gl_GetProc('glGetTransformFeedbacki64_v');
  6476. glCreateBuffers := gl_GetProc('glCreateBuffers');
  6477. glNamedBufferStorage := gl_GetProc('glNamedBufferStorage');
  6478. glNamedBufferData := gl_GetProc('glNamedBufferData');
  6479. glNamedBufferSubData := gl_GetProc('glNamedBufferSubData');
  6480. glCopyNamedBufferSubData := gl_GetProc('glCopyNamedBufferSubData');
  6481. glClearNamedBufferData := gl_GetProc('glClearNamedBufferData');
  6482. glClearNamedBufferSubData := gl_GetProc('glClearNamedBufferSubData');
  6483. glMapNamedBuffer := gl_GetProc('glMapNamedBuffer');
  6484. glMapNamedBufferRange := gl_GetProc('glMapNamedBufferRange');
  6485. glUnmapNamedBuffer := gl_GetProc('glUnmapNamedBuffer');
  6486. glFlushMappedNamedBufferRange := gl_GetProc('glFlushMappedNamedBufferRange');
  6487. glGetNamedBufferParameteriv := gl_GetProc('glGetNamedBufferParameteriv');
  6488. glGetNamedBufferParameteri64v := gl_GetProc('glGetNamedBufferParameteri64v');
  6489. glGetNamedBufferPointerv := gl_GetProc('glGetNamedBufferPointerv');
  6490. glGetNamedBufferSubData := gl_GetProc('glGetNamedBufferSubData');
  6491. glCreateFramebuffers := gl_GetProc('glCreateFramebuffers');
  6492. glNamedFramebufferRenderbuffer := gl_GetProc('glNamedFramebufferRenderbuffer');
  6493. glNamedFramebufferParameteri := gl_GetProc('glNamedFramebufferParameteri');
  6494. glNamedFramebufferTexture := gl_GetProc('glNamedFramebufferTexture');
  6495. glNamedFramebufferTextureLayer := gl_GetProc('glNamedFramebufferTextureLayer');
  6496. glNamedFramebufferDrawBuffer := gl_GetProc('glNamedFramebufferDrawBuffer');
  6497. glNamedFramebufferDrawBuffers := gl_GetProc('glNamedFramebufferDrawBuffers');
  6498. glNamedFramebufferReadBuffer := gl_GetProc('glNamedFramebufferReadBuffer');
  6499. glInvalidateNamedFramebufferData := gl_GetProc('glInvalidateNamedFramebufferData');
  6500. glInvalidateNamedFramebufferSubData := gl_GetProc('glInvalidateNamedFramebufferSubData');
  6501. glClearNamedFramebufferiv := gl_GetProc('glClearNamedFramebufferiv');
  6502. glClearNamedFramebufferuiv := gl_GetProc('glClearNamedFramebufferuiv');
  6503. glClearNamedFramebufferfv := gl_GetProc('glClearNamedFramebufferfv');
  6504. glClearNamedFramebufferfi := gl_GetProc('glClearNamedFramebufferfi');
  6505. glBlitNamedFramebuffer := gl_GetProc('glBlitNamedFramebuffer');
  6506. glCheckNamedFramebufferStatus := gl_GetProc('glCheckNamedFramebufferStatus');
  6507. glGetNamedFramebufferParameteriv := gl_GetProc('glGetNamedFramebufferParameteriv');
  6508. glGetNamedFramebufferAttachmentParameteriv := gl_GetProc('glGetNamedFramebufferAttachmentParameteriv');
  6509. glCreateRenderbuffers := gl_GetProc('glCreateRenderbuffers');
  6510. glNamedRenderbufferStorage := gl_GetProc('glNamedRenderbufferStorage');
  6511. glNamedRenderbufferStorageMultisample := gl_GetProc('glNamedRenderbufferStorageMultisample');
  6512. glGetNamedRenderbufferParameteriv := gl_GetProc('glGetNamedRenderbufferParameteriv');
  6513. glCreateTextures := gl_GetProc('glCreateTextures');
  6514. glTextureBuffer := gl_GetProc('glTextureBuffer');
  6515. glTextureBufferRange := gl_GetProc('glTextureBufferRange');
  6516. glTextureStorage1D := gl_GetProc('glTextureStorage1D');
  6517. glTextureStorage2D := gl_GetProc('glTextureStorage2D');
  6518. glTextureStorage3D := gl_GetProc('glTextureStorage3D');
  6519. glTextureStorage2DMultisample := gl_GetProc('glTextureStorage2DMultisample');
  6520. glTextureStorage3DMultisample := gl_GetProc('glTextureStorage3DMultisample');
  6521. glTextureSubImage1D := gl_GetProc('glTextureSubImage1D');
  6522. glTextureSubImage2D := gl_GetProc('glTextureSubImage2D');
  6523. glTextureSubImage3D := gl_GetProc('glTextureSubImage3D');
  6524. glCompressedTextureSubImage1D := gl_GetProc('glCompressedTextureSubImage1D');
  6525. glCompressedTextureSubImage2D := gl_GetProc('glCompressedTextureSubImage2D');
  6526. glCompressedTextureSubImage3D := gl_GetProc('glCompressedTextureSubImage3D');
  6527. glCopyTextureSubImage1D := gl_GetProc('glCopyTextureSubImage1D');
  6528. glCopyTextureSubImage2D := gl_GetProc('glCopyTextureSubImage2D');
  6529. glCopyTextureSubImage3D := gl_GetProc('glCopyTextureSubImage3D');
  6530. glTextureParameterf := gl_GetProc('glTextureParameterf');
  6531. glTextureParameterfv := gl_GetProc('glTextureParameterfv');
  6532. glTextureParameteri := gl_GetProc('glTextureParameteri');
  6533. glTextureParameterIiv := gl_GetProc('glTextureParameterIiv');
  6534. glTextureParameterIuiv := gl_GetProc('glTextureParameterIuiv');
  6535. glTextureParameteriv := gl_GetProc('glTextureParameteriv');
  6536. glGenerateTextureMipmap := gl_GetProc('glGenerateTextureMipmap');
  6537. glBindTextureUnit := gl_GetProc('glBindTextureUnit');
  6538. glGetTextureImage := gl_GetProc('glGetTextureImage');
  6539. glGetCompressedTextureImage := gl_GetProc('glGetCompressedTextureImage');
  6540. glGetTextureLevelParameterfv := gl_GetProc('glGetTextureLevelParameterfv');
  6541. glGetTextureLevelParameteriv := gl_GetProc('glGetTextureLevelParameteriv');
  6542. glGetTextureParameterfv := gl_GetProc('glGetTextureParameterfv');
  6543. glGetTextureParameterIiv := gl_GetProc('glGetTextureParameterIiv');
  6544. glGetTextureParameterIuiv := gl_GetProc('glGetTextureParameterIuiv');
  6545. glGetTextureParameteriv := gl_GetProc('glGetTextureParameteriv');
  6546. glCreateVertexArrays := gl_GetProc('glCreateVertexArrays');
  6547. glDisableVertexArrayAttrib := gl_GetProc('glDisableVertexArrayAttrib');
  6548. glEnableVertexArrayAttrib := gl_GetProc('glEnableVertexArrayAttrib');
  6549. glVertexArrayElementBuffer := gl_GetProc('glVertexArrayElementBuffer');
  6550. glVertexArrayVertexBuffer := gl_GetProc('glVertexArrayVertexBuffer');
  6551. glVertexArrayVertexBuffers := gl_GetProc('glVertexArrayVertexBuffers');
  6552. glVertexArrayAttribBinding := gl_GetProc('glVertexArrayAttribBinding');
  6553. glVertexArrayAttribFormat := gl_GetProc('glVertexArrayAttribFormat');
  6554. glVertexArrayAttribIFormat := gl_GetProc('glVertexArrayAttribIFormat');
  6555. glVertexArrayAttribLFormat := gl_GetProc('glVertexArrayAttribLFormat');
  6556. glVertexArrayBindingDivisor := gl_GetProc('glVertexArrayBindingDivisor');
  6557. glGetVertexArrayiv := gl_GetProc('glGetVertexArrayiv');
  6558. glGetVertexArrayIndexediv := gl_GetProc('glGetVertexArrayIndexediv');
  6559. glGetVertexArrayIndexed64iv := gl_GetProc('glGetVertexArrayIndexed64iv');
  6560. glCreateSamplers := gl_GetProc('glCreateSamplers');
  6561. glCreateProgramPipelines := gl_GetProc('glCreateProgramPipelines');
  6562. glCreateQueries := gl_GetProc('glCreateQueries');
  6563. glGetQueryBufferObjecti64v := gl_GetProc('glGetQueryBufferObjecti64v');
  6564. glGetQueryBufferObjectiv := gl_GetProc('glGetQueryBufferObjectiv');
  6565. glGetQueryBufferObjectui64v := gl_GetProc('glGetQueryBufferObjectui64v');
  6566. glGetQueryBufferObjectuiv := gl_GetProc('glGetQueryBufferObjectuiv');
  6567. glMemoryBarrierByRegion := gl_GetProc('glMemoryBarrierByRegion');
  6568. glGetTextureSubImage := gl_GetProc('glGetTextureSubImage');
  6569. glGetCompressedTextureSubImage := gl_GetProc('glGetCompressedTextureSubImage');
  6570. glGetGraphicsResetStatus := gl_GetProc('glGetGraphicsResetStatus');
  6571. glGetnCompressedTexImage := gl_GetProc('glGetnCompressedTexImage');
  6572. glGetnTexImage := gl_GetProc('glGetnTexImage');
  6573. glGetnUniformdv := gl_GetProc('glGetnUniformdv');
  6574. glGetnUniformfv := gl_GetProc('glGetnUniformfv');
  6575. glGetnUniformiv := gl_GetProc('glGetnUniformiv');
  6576. glGetnUniformuiv := gl_GetProc('glGetnUniformuiv');
  6577. glReadnPixels := gl_GetProc('glReadnPixels');
  6578. glTextureBarrier := gl_GetProc('glTextureBarrier');
  6579. {$IfNDef USE_GLCORE}
  6580. glGetnMapdv := gl_GetProc('glGetnMapdv');
  6581. glGetnMapfv := gl_GetProc('glGetnMapfv');
  6582. glGetnMapiv := gl_GetProc('glGetnMapiv');
  6583. glGetnPixelMapfv := gl_GetProc('glGetnPixelMapfv');
  6584. glGetnPixelMapuiv := gl_GetProc('glGetnPixelMapuiv');
  6585. glGetnPixelMapusv := gl_GetProc('glGetnPixelMapusv');
  6586. glGetnPolygonStipple := gl_GetProc('glGetnPolygonStipple');
  6587. glGetnColorTable := gl_GetProc('glGetnColorTable');
  6588. glGetnConvolutionFilter := gl_GetProc('glGetnConvolutionFilter');
  6589. glGetnSeparableFilter := gl_GetProc('glGetnSeparableFilter');
  6590. glGetnHistogram := gl_GetProc('glGetnHistogram');
  6591. glGetnMinmax := gl_GetProc('glGetnMinmax');
  6592. {$EndIf}
  6593. end;
  6594. {$EndIf}
  6595. {$IfDef GL_VERSION_4_6}
  6596. if GL_VERSION_4_6 then
  6597. begin
  6598. glSpecializeShader := gl_GetProc('glSpecializeShader');
  6599. glMultiDrawArraysIndirectCount := gl_GetProc('glMultiDrawArraysIndirectCount');
  6600. glMultiDrawElementsIndirectCount := gl_GetProc('glMultiDrawElementsIndirectCount');
  6601. glPolygonOffsetClamp := gl_GetProc('glPolygonOffsetClamp');
  6602. end;
  6603. {$EndIf}
  6604. {$IfDef GL_ARB_ES3_2_compatibility}
  6605. if GL_ARB_ES3_2_compatibility then
  6606. glPrimitiveBoundingBoxARB := gl_GetProc('glPrimitiveBoundingBoxARB');
  6607. {$EndIf}
  6608. {$IfDef GL_ARB_bindless_texture}
  6609. if GL_ARB_bindless_texture then
  6610. begin
  6611. glGetTextureHandleARB := gl_GetProc('glGetTextureHandleARB');
  6612. glGetTextureSamplerHandleARB := gl_GetProc('glGetTextureSamplerHandleARB');
  6613. glMakeTextureHandleResidentARB := gl_GetProc('glMakeTextureHandleResidentARB');
  6614. glMakeTextureHandleNonResidentARB := gl_GetProc('glMakeTextureHandleNonResidentARB');
  6615. glGetImageHandleARB := gl_GetProc('glGetImageHandleARB');
  6616. glMakeImageHandleResidentARB := gl_GetProc('glMakeImageHandleResidentARB');
  6617. glMakeImageHandleNonResidentARB := gl_GetProc('glMakeImageHandleNonResidentARB');
  6618. glUniformHandleui64ARB := gl_GetProc('glUniformHandleui64ARB');
  6619. glUniformHandleui64vARB := gl_GetProc('glUniformHandleui64vARB');
  6620. glProgramUniformHandleui64ARB := gl_GetProc('glProgramUniformHandleui64ARB');
  6621. glProgramUniformHandleui64vARB := gl_GetProc('glProgramUniformHandleui64vARB');
  6622. glIsTextureHandleResidentARB := gl_GetProc('glIsTextureHandleResidentARB');
  6623. glIsImageHandleResidentARB := gl_GetProc('glIsImageHandleResidentARB');
  6624. glVertexAttribL1ui64ARB := gl_GetProc('glVertexAttribL1ui64ARB');
  6625. glVertexAttribL1ui64vARB := gl_GetProc('glVertexAttribL1ui64vARB');
  6626. glGetVertexAttribLui64vARB := gl_GetProc('glGetVertexAttribLui64vARB');
  6627. end;
  6628. {$EndIf}
  6629. {$IfDef GL_ARB_cl_event}
  6630. if GL_ARB_cl_event then
  6631. glCreateSyncFromCLeventARB := gl_GetProc('glCreateSyncFromCLeventARB');
  6632. {$EndIf}
  6633. {$IfDef GL_ARB_color_buffer_float}
  6634. if GL_ARB_color_buffer_float then
  6635. glClampColorARB := gl_GetProc('glClampColorARB');
  6636. {$EndIf}
  6637. {$IfDef GL_ARB_compute_variable_group_size}
  6638. if GL_ARB_compute_variable_group_size then
  6639. glDispatchComputeGroupSizeARB := gl_GetProc('glDispatchComputeGroupSizeARB');
  6640. {$EndIf}
  6641. {$IfDef GL_ARB_debug_output}
  6642. if GL_ARB_debug_output then
  6643. begin
  6644. glDebugMessageControlARB := gl_GetProc('glDebugMessageControlARB');
  6645. glDebugMessageInsertARB := gl_GetProc('glDebugMessageInsertARB');
  6646. glDebugMessageCallbackARB := gl_GetProc('glDebugMessageCallbackARB');
  6647. glGetDebugMessageLogARB := gl_GetProc('glGetDebugMessageLogARB');
  6648. end;
  6649. {$EndIf}
  6650. {$IfDef GL_ARB_draw_buffers}
  6651. if GL_ARB_draw_buffers then
  6652. glDrawBuffersARB := gl_GetProc('glDrawBuffersARB');
  6653. {$EndIf}
  6654. {$IfDef GL_ARB_draw_buffers_blend}
  6655. if GL_ARB_draw_buffers_blend then
  6656. begin
  6657. glBlendEquationiARB := gl_GetProc('glBlendEquationiARB');
  6658. glBlendEquationSeparateiARB := gl_GetProc('glBlendEquationSeparateiARB');
  6659. glBlendFunciARB := gl_GetProc('glBlendFunciARB');
  6660. glBlendFuncSeparateiARB := gl_GetProc('glBlendFuncSeparateiARB');
  6661. end;
  6662. {$EndIf}
  6663. {$IfDef GL_ARB_draw_instanced}
  6664. if GL_ARB_draw_instanced then
  6665. begin
  6666. glDrawArraysInstancedARB := gl_GetProc('glDrawArraysInstancedARB');
  6667. glDrawElementsInstancedARB := gl_GetProc('glDrawElementsInstancedARB');
  6668. end;
  6669. {$EndIf}
  6670. {$IfDef GL_ARB_fragment_program}
  6671. if GL_ARB_fragment_program then
  6672. begin
  6673. glProgramStringARB := gl_GetProc('glProgramStringARB');
  6674. glBindProgramARB := gl_GetProc('glBindProgramARB');
  6675. glDeleteProgramsARB := gl_GetProc('glDeleteProgramsARB');
  6676. glGenProgramsARB := gl_GetProc('glGenProgramsARB');
  6677. glProgramEnvParameter4dARB := gl_GetProc('glProgramEnvParameter4dARB');
  6678. glProgramEnvParameter4dvARB := gl_GetProc('glProgramEnvParameter4dvARB');
  6679. glProgramEnvParameter4fARB := gl_GetProc('glProgramEnvParameter4fARB');
  6680. glProgramEnvParameter4fvARB := gl_GetProc('glProgramEnvParameter4fvARB');
  6681. glProgramLocalParameter4dARB := gl_GetProc('glProgramLocalParameter4dARB');
  6682. glProgramLocalParameter4dvARB := gl_GetProc('glProgramLocalParameter4dvARB');
  6683. glProgramLocalParameter4fARB := gl_GetProc('glProgramLocalParameter4fARB');
  6684. glProgramLocalParameter4fvARB := gl_GetProc('glProgramLocalParameter4fvARB');
  6685. glGetProgramEnvParameterdvARB := gl_GetProc('glGetProgramEnvParameterdvARB');
  6686. glGetProgramEnvParameterfvARB := gl_GetProc('glGetProgramEnvParameterfvARB');
  6687. glGetProgramLocalParameterdvARB := gl_GetProc('glGetProgramLocalParameterdvARB');
  6688. glGetProgramLocalParameterfvARB := gl_GetProc('glGetProgramLocalParameterfvARB');
  6689. glGetProgramivARB := gl_GetProc('glGetProgramivARB');
  6690. glGetProgramStringARB := gl_GetProc('glGetProgramStringARB');
  6691. glIsProgramARB := gl_GetProc('glIsProgramARB');
  6692. end;
  6693. {$EndIf}
  6694. {$IfDef GL_ARB_geometry_shader4}
  6695. if GL_ARB_geometry_shader4 then
  6696. begin
  6697. glProgramParameteriARB := gl_GetProc('glProgramParameteriARB');
  6698. glFramebufferTextureARB := gl_GetProc('glFramebufferTextureARB');
  6699. glFramebufferTextureLayerARB := gl_GetProc('glFramebufferTextureLayerARB');
  6700. glFramebufferTextureFaceARB := gl_GetProc('glFramebufferTextureFaceARB');
  6701. end;
  6702. {$EndIf}
  6703. {$IfDef GL_ARB_gl_spirv}
  6704. if GL_ARB_gl_spirv then
  6705. glSpecializeShaderARB := gl_GetProc('glSpecializeShaderARB');
  6706. {$EndIf}
  6707. {$IfDef GL_ARB_gpu_shader_int64}
  6708. if GL_ARB_gpu_shader_int64 then
  6709. begin
  6710. glUniform1i64ARB := gl_GetProc('glUniform1i64ARB');
  6711. glUniform2i64ARB := gl_GetProc('glUniform2i64ARB');
  6712. glUniform3i64ARB := gl_GetProc('glUniform3i64ARB');
  6713. glUniform4i64ARB := gl_GetProc('glUniform4i64ARB');
  6714. glUniform1i64vARB := gl_GetProc('glUniform1i64vARB');
  6715. glUniform2i64vARB := gl_GetProc('glUniform2i64vARB');
  6716. glUniform3i64vARB := gl_GetProc('glUniform3i64vARB');
  6717. glUniform4i64vARB := gl_GetProc('glUniform4i64vARB');
  6718. glUniform1ui64ARB := gl_GetProc('glUniform1ui64ARB');
  6719. glUniform2ui64ARB := gl_GetProc('glUniform2ui64ARB');
  6720. glUniform3ui64ARB := gl_GetProc('glUniform3ui64ARB');
  6721. glUniform4ui64ARB := gl_GetProc('glUniform4ui64ARB');
  6722. glUniform1ui64vARB := gl_GetProc('glUniform1ui64vARB');
  6723. glUniform2ui64vARB := gl_GetProc('glUniform2ui64vARB');
  6724. glUniform3ui64vARB := gl_GetProc('glUniform3ui64vARB');
  6725. glUniform4ui64vARB := gl_GetProc('glUniform4ui64vARB');
  6726. glGetUniformi64vARB := gl_GetProc('glGetUniformi64vARB');
  6727. glGetUniformui64vARB := gl_GetProc('glGetUniformui64vARB');
  6728. glGetnUniformi64vARB := gl_GetProc('glGetnUniformi64vARB');
  6729. glGetnUniformui64vARB := gl_GetProc('glGetnUniformui64vARB');
  6730. glProgramUniform1i64ARB := gl_GetProc('glProgramUniform1i64ARB');
  6731. glProgramUniform2i64ARB := gl_GetProc('glProgramUniform2i64ARB');
  6732. glProgramUniform3i64ARB := gl_GetProc('glProgramUniform3i64ARB');
  6733. glProgramUniform4i64ARB := gl_GetProc('glProgramUniform4i64ARB');
  6734. glProgramUniform1i64vARB := gl_GetProc('glProgramUniform1i64vARB');
  6735. glProgramUniform2i64vARB := gl_GetProc('glProgramUniform2i64vARB');
  6736. glProgramUniform3i64vARB := gl_GetProc('glProgramUniform3i64vARB');
  6737. glProgramUniform4i64vARB := gl_GetProc('glProgramUniform4i64vARB');
  6738. glProgramUniform1ui64ARB := gl_GetProc('glProgramUniform1ui64ARB');
  6739. glProgramUniform2ui64ARB := gl_GetProc('glProgramUniform2ui64ARB');
  6740. glProgramUniform3ui64ARB := gl_GetProc('glProgramUniform3ui64ARB');
  6741. glProgramUniform4ui64ARB := gl_GetProc('glProgramUniform4ui64ARB');
  6742. glProgramUniform1ui64vARB := gl_GetProc('glProgramUniform1ui64vARB');
  6743. glProgramUniform2ui64vARB := gl_GetProc('glProgramUniform2ui64vARB');
  6744. glProgramUniform3ui64vARB := gl_GetProc('glProgramUniform3ui64vARB');
  6745. glProgramUniform4ui64vARB := gl_GetProc('glProgramUniform4ui64vARB');
  6746. end;
  6747. {$EndIf}
  6748. {$IfDef GL_ARB_imaging}
  6749. if GL_ARB_imaging then
  6750. begin
  6751. glColorTable := gl_GetProc('glColorTable');
  6752. glColorTableParameterfv := gl_GetProc('glColorTableParameterfv');
  6753. glColorTableParameteriv := gl_GetProc('glColorTableParameteriv');
  6754. glCopyColorTable := gl_GetProc('glCopyColorTable');
  6755. glGetColorTable := gl_GetProc('glGetColorTable');
  6756. glGetColorTableParameterfv := gl_GetProc('glGetColorTableParameterfv');
  6757. glGetColorTableParameteriv := gl_GetProc('glGetColorTableParameteriv');
  6758. glColorSubTable := gl_GetProc('glColorSubTable');
  6759. glCopyColorSubTable := gl_GetProc('glCopyColorSubTable');
  6760. glConvolutionFilter1D := gl_GetProc('glConvolutionFilter1D');
  6761. glConvolutionFilter2D := gl_GetProc('glConvolutionFilter2D');
  6762. glConvolutionParameterf := gl_GetProc('glConvolutionParameterf');
  6763. glConvolutionParameterfv := gl_GetProc('glConvolutionParameterfv');
  6764. glConvolutionParameteri := gl_GetProc('glConvolutionParameteri');
  6765. glConvolutionParameteriv := gl_GetProc('glConvolutionParameteriv');
  6766. glCopyConvolutionFilter1D := gl_GetProc('glCopyConvolutionFilter1D');
  6767. glCopyConvolutionFilter2D := gl_GetProc('glCopyConvolutionFilter2D');
  6768. glGetConvolutionFilter := gl_GetProc('glGetConvolutionFilter');
  6769. glGetConvolutionParameterfv := gl_GetProc('glGetConvolutionParameterfv');
  6770. glGetConvolutionParameteriv := gl_GetProc('glGetConvolutionParameteriv');
  6771. glGetSeparableFilter := gl_GetProc('glGetSeparableFilter');
  6772. glSeparableFilter2D := gl_GetProc('glSeparableFilter2D');
  6773. glGetHistogram := gl_GetProc('glGetHistogram');
  6774. glGetHistogramParameterfv := gl_GetProc('glGetHistogramParameterfv');
  6775. glGetHistogramParameteriv := gl_GetProc('glGetHistogramParameteriv');
  6776. glGetMinmax := gl_GetProc('glGetMinmax');
  6777. glGetMinmaxParameterfv := gl_GetProc('glGetMinmaxParameterfv');
  6778. glGetMinmaxParameteriv := gl_GetProc('glGetMinmaxParameteriv');
  6779. glHistogram := gl_GetProc('glHistogram');
  6780. glMinmax := gl_GetProc('glMinmax');
  6781. glResetHistogram := gl_GetProc('glResetHistogram');
  6782. glResetMinmax := gl_GetProc('glResetMinmax');
  6783. end;
  6784. {$EndIf}
  6785. {$IfDef GL_ARB_indirect_parameters}
  6786. if GL_ARB_indirect_parameters then
  6787. begin
  6788. glMultiDrawArraysIndirectCountARB := gl_GetProc('glMultiDrawArraysIndirectCountARB');
  6789. glMultiDrawElementsIndirectCountARB := gl_GetProc('glMultiDrawElementsIndirectCountARB');
  6790. end;
  6791. {$EndIf}
  6792. {$IfDef GL_ARB_instanced_arrays}
  6793. if GL_ARB_instanced_arrays then
  6794. glVertexAttribDivisorARB := gl_GetProc('glVertexAttribDivisorARB');
  6795. {$EndIf}
  6796. {$IfDef GL_ARB_matrix_palette}
  6797. if GL_ARB_matrix_palette then
  6798. begin
  6799. glCurrentPaletteMatrixARB := gl_GetProc('glCurrentPaletteMatrixARB');
  6800. glMatrixIndexubvARB := gl_GetProc('glMatrixIndexubvARB');
  6801. glMatrixIndexusvARB := gl_GetProc('glMatrixIndexusvARB');
  6802. glMatrixIndexuivARB := gl_GetProc('glMatrixIndexuivARB');
  6803. glMatrixIndexPointerARB := gl_GetProc('glMatrixIndexPointerARB');
  6804. end;
  6805. {$EndIf}
  6806. {$IfDef GL_ARB_multisample}
  6807. if GL_ARB_multisample then
  6808. glSampleCoverageARB := gl_GetProc('glSampleCoverageARB');
  6809. {$EndIf}
  6810. {$IfDef GL_ARB_multitexture}
  6811. if GL_ARB_multitexture then
  6812. begin
  6813. glActiveTextureARB := gl_GetProc('glActiveTextureARB');
  6814. glClientActiveTextureARB := gl_GetProc('glClientActiveTextureARB');
  6815. glMultiTexCoord1dARB := gl_GetProc('glMultiTexCoord1dARB');
  6816. glMultiTexCoord1dvARB := gl_GetProc('glMultiTexCoord1dvARB');
  6817. glMultiTexCoord1fARB := gl_GetProc('glMultiTexCoord1fARB');
  6818. glMultiTexCoord1fvARB := gl_GetProc('glMultiTexCoord1fvARB');
  6819. glMultiTexCoord1iARB := gl_GetProc('glMultiTexCoord1iARB');
  6820. glMultiTexCoord1ivARB := gl_GetProc('glMultiTexCoord1ivARB');
  6821. glMultiTexCoord1sARB := gl_GetProc('glMultiTexCoord1sARB');
  6822. glMultiTexCoord1svARB := gl_GetProc('glMultiTexCoord1svARB');
  6823. glMultiTexCoord2dARB := gl_GetProc('glMultiTexCoord2dARB');
  6824. glMultiTexCoord2dvARB := gl_GetProc('glMultiTexCoord2dvARB');
  6825. glMultiTexCoord2fARB := gl_GetProc('glMultiTexCoord2fARB');
  6826. glMultiTexCoord2fvARB := gl_GetProc('glMultiTexCoord2fvARB');
  6827. glMultiTexCoord2iARB := gl_GetProc('glMultiTexCoord2iARB');
  6828. glMultiTexCoord2ivARB := gl_GetProc('glMultiTexCoord2ivARB');
  6829. glMultiTexCoord2sARB := gl_GetProc('glMultiTexCoord2sARB');
  6830. glMultiTexCoord2svARB := gl_GetProc('glMultiTexCoord2svARB');
  6831. glMultiTexCoord3dARB := gl_GetProc('glMultiTexCoord3dARB');
  6832. glMultiTexCoord3dvARB := gl_GetProc('glMultiTexCoord3dvARB');
  6833. glMultiTexCoord3fARB := gl_GetProc('glMultiTexCoord3fARB');
  6834. glMultiTexCoord3fvARB := gl_GetProc('glMultiTexCoord3fvARB');
  6835. glMultiTexCoord3iARB := gl_GetProc('glMultiTexCoord3iARB');
  6836. glMultiTexCoord3ivARB := gl_GetProc('glMultiTexCoord3ivARB');
  6837. glMultiTexCoord3sARB := gl_GetProc('glMultiTexCoord3sARB');
  6838. glMultiTexCoord3svARB := gl_GetProc('glMultiTexCoord3svARB');
  6839. glMultiTexCoord4dARB := gl_GetProc('glMultiTexCoord4dARB');
  6840. glMultiTexCoord4dvARB := gl_GetProc('glMultiTexCoord4dvARB');
  6841. glMultiTexCoord4fARB := gl_GetProc('glMultiTexCoord4fARB');
  6842. glMultiTexCoord4fvARB := gl_GetProc('glMultiTexCoord4fvARB');
  6843. glMultiTexCoord4iARB := gl_GetProc('glMultiTexCoord4iARB');
  6844. glMultiTexCoord4ivARB := gl_GetProc('glMultiTexCoord4ivARB');
  6845. glMultiTexCoord4sARB := gl_GetProc('glMultiTexCoord4sARB');
  6846. glMultiTexCoord4svARB := gl_GetProc('glMultiTexCoord4svARB');
  6847. end;
  6848. {$EndIf}
  6849. {$IfDef GL_ARB_occlusion_query}
  6850. if GL_ARB_occlusion_query then
  6851. begin
  6852. glGenQueriesARB := gl_GetProc('glGenQueriesARB');
  6853. glDeleteQueriesARB := gl_GetProc('glDeleteQueriesARB');
  6854. glIsQueryARB := gl_GetProc('glIsQueryARB');
  6855. glBeginQueryARB := gl_GetProc('glBeginQueryARB');
  6856. glEndQueryARB := gl_GetProc('glEndQueryARB');
  6857. glGetQueryivARB := gl_GetProc('glGetQueryivARB');
  6858. glGetQueryObjectivARB := gl_GetProc('glGetQueryObjectivARB');
  6859. glGetQueryObjectuivARB := gl_GetProc('glGetQueryObjectuivARB');
  6860. end;
  6861. {$EndIf}
  6862. {$IfDef GL_ARB_parallel_shader_compile}
  6863. if GL_ARB_parallel_shader_compile then
  6864. glMaxShaderCompilerThreadsARB := gl_GetProc('glMaxShaderCompilerThreadsARB');
  6865. {$EndIf}
  6866. {$IfDef GL_ARB_point_parameters}
  6867. if GL_ARB_point_parameters then
  6868. begin
  6869. glPointParameterfARB := gl_GetProc('glPointParameterfARB');
  6870. glPointParameterfvARB := gl_GetProc('glPointParameterfvARB');
  6871. end;
  6872. {$EndIf}
  6873. {$IfDef GL_ARB_robustness}
  6874. if GL_ARB_robustness then
  6875. begin
  6876. glGetGraphicsResetStatusARB := gl_GetProc('glGetGraphicsResetStatusARB');
  6877. glGetnTexImageARB := gl_GetProc('glGetnTexImageARB');
  6878. glReadnPixelsARB := gl_GetProc('glReadnPixelsARB');
  6879. glGetnCompressedTexImageARB := gl_GetProc('glGetnCompressedTexImageARB');
  6880. glGetnUniformfvARB := gl_GetProc('glGetnUniformfvARB');
  6881. glGetnUniformivARB := gl_GetProc('glGetnUniformivARB');
  6882. glGetnUniformuivARB := gl_GetProc('glGetnUniformuivARB');
  6883. glGetnUniformdvARB := gl_GetProc('glGetnUniformdvARB');
  6884. {$IfNDef USE_GLCORE}
  6885. glGetnMapdvARB := gl_GetProc('glGetnMapdvARB');
  6886. glGetnMapfvARB := gl_GetProc('glGetnMapfvARB');
  6887. glGetnMapivARB := gl_GetProc('glGetnMapivARB');
  6888. glGetnPixelMapfvARB := gl_GetProc('glGetnPixelMapfvARB');
  6889. glGetnPixelMapuivARB := gl_GetProc('glGetnPixelMapuivARB');
  6890. glGetnPixelMapusvARB := gl_GetProc('glGetnPixelMapusvARB');
  6891. glGetnPolygonStippleARB := gl_GetProc('glGetnPolygonStippleARB');
  6892. glGetnColorTableARB := gl_GetProc('glGetnColorTableARB');
  6893. glGetnConvolutionFilterARB := gl_GetProc('glGetnConvolutionFilterARB');
  6894. glGetnSeparableFilterARB := gl_GetProc('glGetnSeparableFilterARB');
  6895. glGetnHistogramARB := gl_GetProc('glGetnHistogramARB');
  6896. glGetnMinmaxARB := gl_GetProc('glGetnMinmaxARB');
  6897. {$EndIf}
  6898. end;
  6899. {$EndIf}
  6900. {$IfDef GL_ARB_sample_locations}
  6901. if GL_ARB_sample_locations then
  6902. begin
  6903. glFramebufferSampleLocationsfvARB := gl_GetProc('glFramebufferSampleLocationsfvARB');
  6904. glNamedFramebufferSampleLocationsfvARB := gl_GetProc('glNamedFramebufferSampleLocationsfvARB');
  6905. glEvaluateDepthValuesARB := gl_GetProc('glEvaluateDepthValuesARB');
  6906. end;
  6907. {$EndIf}
  6908. {$IfDef GL_ARB_sample_shading}
  6909. if GL_ARB_sample_shading then
  6910. glMinSampleShadingARB := gl_GetProc('glMinSampleShadingARB');
  6911. {$EndIf}
  6912. {$IfDef GL_ARB_shader_objects}
  6913. if GL_ARB_shader_objects then
  6914. begin
  6915. glDeleteObjectARB := gl_GetProc('glDeleteObjectARB');
  6916. glGetHandleARB := gl_GetProc('glGetHandleARB');
  6917. glDetachObjectARB := gl_GetProc('glDetachObjectARB');
  6918. glCreateShaderObjectARB := gl_GetProc('glCreateShaderObjectARB');
  6919. glShaderSourceARB := gl_GetProc('glShaderSourceARB');
  6920. glCompileShaderARB := gl_GetProc('glCompileShaderARB');
  6921. glCreateProgramObjectARB := gl_GetProc('glCreateProgramObjectARB');
  6922. glAttachObjectARB := gl_GetProc('glAttachObjectARB');
  6923. glLinkProgramARB := gl_GetProc('glLinkProgramARB');
  6924. glUseProgramObjectARB := gl_GetProc('glUseProgramObjectARB');
  6925. glValidateProgramARB := gl_GetProc('glValidateProgramARB');
  6926. glUniform1fARB := gl_GetProc('glUniform1fARB');
  6927. glUniform2fARB := gl_GetProc('glUniform2fARB');
  6928. glUniform3fARB := gl_GetProc('glUniform3fARB');
  6929. glUniform4fARB := gl_GetProc('glUniform4fARB');
  6930. glUniform1iARB := gl_GetProc('glUniform1iARB');
  6931. glUniform2iARB := gl_GetProc('glUniform2iARB');
  6932. glUniform3iARB := gl_GetProc('glUniform3iARB');
  6933. glUniform4iARB := gl_GetProc('glUniform4iARB');
  6934. glUniform1fvARB := gl_GetProc('glUniform1fvARB');
  6935. glUniform2fvARB := gl_GetProc('glUniform2fvARB');
  6936. glUniform3fvARB := gl_GetProc('glUniform3fvARB');
  6937. glUniform4fvARB := gl_GetProc('glUniform4fvARB');
  6938. glUniform1ivARB := gl_GetProc('glUniform1ivARB');
  6939. glUniform2ivARB := gl_GetProc('glUniform2ivARB');
  6940. glUniform3ivARB := gl_GetProc('glUniform3ivARB');
  6941. glUniform4ivARB := gl_GetProc('glUniform4ivARB');
  6942. glUniformMatrix2fvARB := gl_GetProc('glUniformMatrix2fvARB');
  6943. glUniformMatrix3fvARB := gl_GetProc('glUniformMatrix3fvARB');
  6944. glUniformMatrix4fvARB := gl_GetProc('glUniformMatrix4fvARB');
  6945. glGetObjectParameterfvARB := gl_GetProc('glGetObjectParameterfvARB');
  6946. glGetObjectParameterivARB := gl_GetProc('glGetObjectParameterivARB');
  6947. glGetInfoLogARB := gl_GetProc('glGetInfoLogARB');
  6948. glGetAttachedObjectsARB := gl_GetProc('glGetAttachedObjectsARB');
  6949. glGetUniformLocationARB := gl_GetProc('glGetUniformLocationARB');
  6950. glGetActiveUniformARB := gl_GetProc('glGetActiveUniformARB');
  6951. glGetUniformfvARB := gl_GetProc('glGetUniformfvARB');
  6952. glGetUniformivARB := gl_GetProc('glGetUniformivARB');
  6953. glGetShaderSourceARB := gl_GetProc('glGetShaderSourceARB');
  6954. end;
  6955. {$EndIf}
  6956. {$IfDef GL_ARB_shading_language_include}
  6957. if GL_ARB_shading_language_include then
  6958. begin
  6959. glNamedStringARB := gl_GetProc('glNamedStringARB');
  6960. glDeleteNamedStringARB := gl_GetProc('glDeleteNamedStringARB');
  6961. glCompileShaderIncludeARB := gl_GetProc('glCompileShaderIncludeARB');
  6962. glIsNamedStringARB := gl_GetProc('glIsNamedStringARB');
  6963. glGetNamedStringARB := gl_GetProc('glGetNamedStringARB');
  6964. glGetNamedStringivARB := gl_GetProc('glGetNamedStringivARB');
  6965. end;
  6966. {$EndIf}
  6967. {$IfDef GL_ARB_sparse_buffer}
  6968. if GL_ARB_sparse_buffer then
  6969. begin
  6970. glBufferPageCommitmentARB := gl_GetProc('glBufferPageCommitmentARB');
  6971. glNamedBufferPageCommitmentEXT := gl_GetProc('glNamedBufferPageCommitmentEXT');
  6972. glNamedBufferPageCommitmentARB := gl_GetProc('glNamedBufferPageCommitmentARB');
  6973. end;
  6974. {$EndIf}
  6975. {$IfDef GL_ARB_sparse_texture}
  6976. if GL_ARB_sparse_texture then
  6977. glTexPageCommitmentARB := gl_GetProc('glTexPageCommitmentARB');
  6978. {$EndIf}
  6979. {$IfDef GL_ARB_texture_buffer_object}
  6980. if GL_ARB_texture_buffer_object then
  6981. glTexBufferARB := gl_GetProc('glTexBufferARB');
  6982. {$EndIf}
  6983. {$IfDef GL_ARB_texture_compression}
  6984. if GL_ARB_texture_compression then
  6985. begin
  6986. glCompressedTexImage3DARB := gl_GetProc('glCompressedTexImage3DARB');
  6987. glCompressedTexImage2DARB := gl_GetProc('glCompressedTexImage2DARB');
  6988. glCompressedTexImage1DARB := gl_GetProc('glCompressedTexImage1DARB');
  6989. glCompressedTexSubImage3DARB := gl_GetProc('glCompressedTexSubImage3DARB');
  6990. glCompressedTexSubImage2DARB := gl_GetProc('glCompressedTexSubImage2DARB');
  6991. glCompressedTexSubImage1DARB := gl_GetProc('glCompressedTexSubImage1DARB');
  6992. glGetCompressedTexImageARB := gl_GetProc('glGetCompressedTexImageARB');
  6993. end;
  6994. {$EndIf}
  6995. {$IfDef GL_ARB_transpose_matrix}
  6996. if GL_ARB_transpose_matrix then
  6997. begin
  6998. glLoadTransposeMatrixfARB := gl_GetProc('glLoadTransposeMatrixfARB');
  6999. glLoadTransposeMatrixdARB := gl_GetProc('glLoadTransposeMatrixdARB');
  7000. glMultTransposeMatrixfARB := gl_GetProc('glMultTransposeMatrixfARB');
  7001. glMultTransposeMatrixdARB := gl_GetProc('glMultTransposeMatrixdARB');
  7002. end;
  7003. {$EndIf}
  7004. {$IfDef GL_ARB_vertex_blend}
  7005. if GL_ARB_vertex_blend then
  7006. begin
  7007. glWeightbvARB := gl_GetProc('glWeightbvARB');
  7008. glWeightsvARB := gl_GetProc('glWeightsvARB');
  7009. glWeightivARB := gl_GetProc('glWeightivARB');
  7010. glWeightfvARB := gl_GetProc('glWeightfvARB');
  7011. glWeightdvARB := gl_GetProc('glWeightdvARB');
  7012. glWeightubvARB := gl_GetProc('glWeightubvARB');
  7013. glWeightusvARB := gl_GetProc('glWeightusvARB');
  7014. glWeightuivARB := gl_GetProc('glWeightuivARB');
  7015. glWeightPointerARB := gl_GetProc('glWeightPointerARB');
  7016. glVertexBlendARB := gl_GetProc('glVertexBlendARB');
  7017. end;
  7018. {$EndIf}
  7019. {$IfDef GL_ARB_vertex_buffer_object}
  7020. if GL_ARB_vertex_buffer_object then
  7021. begin
  7022. glBindBufferARB := gl_GetProc('glBindBufferARB');
  7023. glDeleteBuffersARB := gl_GetProc('glDeleteBuffersARB');
  7024. glGenBuffersARB := gl_GetProc('glGenBuffersARB');
  7025. glIsBufferARB := gl_GetProc('glIsBufferARB');
  7026. glBufferDataARB := gl_GetProc('glBufferDataARB');
  7027. glBufferSubDataARB := gl_GetProc('glBufferSubDataARB');
  7028. glGetBufferSubDataARB := gl_GetProc('glGetBufferSubDataARB');
  7029. glMapBufferARB := gl_GetProc('glMapBufferARB');
  7030. glUnmapBufferARB := gl_GetProc('glUnmapBufferARB');
  7031. glGetBufferParameterivARB := gl_GetProc('glGetBufferParameterivARB');
  7032. glGetBufferPointervARB := gl_GetProc('glGetBufferPointervARB');
  7033. end;
  7034. {$EndIf}
  7035. {$IfDef GL_ARB_vertex_program}
  7036. if GL_ARB_vertex_program then
  7037. begin
  7038. glVertexAttrib1dARB := gl_GetProc('glVertexAttrib1dARB');
  7039. glVertexAttrib1dvARB := gl_GetProc('glVertexAttrib1dvARB');
  7040. glVertexAttrib1fARB := gl_GetProc('glVertexAttrib1fARB');
  7041. glVertexAttrib1fvARB := gl_GetProc('glVertexAttrib1fvARB');
  7042. glVertexAttrib1sARB := gl_GetProc('glVertexAttrib1sARB');
  7043. glVertexAttrib1svARB := gl_GetProc('glVertexAttrib1svARB');
  7044. glVertexAttrib2dARB := gl_GetProc('glVertexAttrib2dARB');
  7045. glVertexAttrib2dvARB := gl_GetProc('glVertexAttrib2dvARB');
  7046. glVertexAttrib2fARB := gl_GetProc('glVertexAttrib2fARB');
  7047. glVertexAttrib2fvARB := gl_GetProc('glVertexAttrib2fvARB');
  7048. glVertexAttrib2sARB := gl_GetProc('glVertexAttrib2sARB');
  7049. glVertexAttrib2svARB := gl_GetProc('glVertexAttrib2svARB');
  7050. glVertexAttrib3dARB := gl_GetProc('glVertexAttrib3dARB');
  7051. glVertexAttrib3dvARB := gl_GetProc('glVertexAttrib3dvARB');
  7052. glVertexAttrib3fARB := gl_GetProc('glVertexAttrib3fARB');
  7053. glVertexAttrib3fvARB := gl_GetProc('glVertexAttrib3fvARB');
  7054. glVertexAttrib3sARB := gl_GetProc('glVertexAttrib3sARB');
  7055. glVertexAttrib3svARB := gl_GetProc('glVertexAttrib3svARB');
  7056. glVertexAttrib4NbvARB := gl_GetProc('glVertexAttrib4NbvARB');
  7057. glVertexAttrib4NivARB := gl_GetProc('glVertexAttrib4NivARB');
  7058. glVertexAttrib4NsvARB := gl_GetProc('glVertexAttrib4NsvARB');
  7059. glVertexAttrib4NubARB := gl_GetProc('glVertexAttrib4NubARB');
  7060. glVertexAttrib4NubvARB := gl_GetProc('glVertexAttrib4NubvARB');
  7061. glVertexAttrib4NuivARB := gl_GetProc('glVertexAttrib4NuivARB');
  7062. glVertexAttrib4NusvARB := gl_GetProc('glVertexAttrib4NusvARB');
  7063. glVertexAttrib4bvARB := gl_GetProc('glVertexAttrib4bvARB');
  7064. glVertexAttrib4dARB := gl_GetProc('glVertexAttrib4dARB');
  7065. glVertexAttrib4dvARB := gl_GetProc('glVertexAttrib4dvARB');
  7066. glVertexAttrib4fARB := gl_GetProc('glVertexAttrib4fARB');
  7067. glVertexAttrib4fvARB := gl_GetProc('glVertexAttrib4fvARB');
  7068. glVertexAttrib4ivARB := gl_GetProc('glVertexAttrib4ivARB');
  7069. glVertexAttrib4sARB := gl_GetProc('glVertexAttrib4sARB');
  7070. glVertexAttrib4svARB := gl_GetProc('glVertexAttrib4svARB');
  7071. glVertexAttrib4ubvARB := gl_GetProc('glVertexAttrib4ubvARB');
  7072. glVertexAttrib4uivARB := gl_GetProc('glVertexAttrib4uivARB');
  7073. glVertexAttrib4usvARB := gl_GetProc('glVertexAttrib4usvARB');
  7074. glVertexAttribPointerARB := gl_GetProc('glVertexAttribPointerARB');
  7075. glEnableVertexAttribArrayARB := gl_GetProc('glEnableVertexAttribArrayARB');
  7076. glDisableVertexAttribArrayARB := gl_GetProc('glDisableVertexAttribArrayARB');
  7077. glGetVertexAttribdvARB := gl_GetProc('glGetVertexAttribdvARB');
  7078. glGetVertexAttribfvARB := gl_GetProc('glGetVertexAttribfvARB');
  7079. glGetVertexAttribivARB := gl_GetProc('glGetVertexAttribivARB');
  7080. glGetVertexAttribPointervARB := gl_GetProc('glGetVertexAttribPointervARB');
  7081. end;
  7082. {$EndIf}
  7083. {$IfDef GL_ARB_vertex_shader}
  7084. if GL_ARB_vertex_shader then
  7085. begin
  7086. glBindAttribLocationARB := gl_GetProc('glBindAttribLocationARB');
  7087. glGetActiveAttribARB := gl_GetProc('glGetActiveAttribARB');
  7088. glGetAttribLocationARB := gl_GetProc('glGetAttribLocationARB');
  7089. end;
  7090. {$EndIf}
  7091. {$IfDef GL_ARB_viewport_array}
  7092. if GL_ARB_viewport_array then
  7093. begin
  7094. glDepthRangeArraydvNV := gl_GetProc('glDepthRangeArraydvNV');
  7095. glDepthRangeIndexeddNV := gl_GetProc('glDepthRangeIndexeddNV');
  7096. end;
  7097. {$EndIf}
  7098. {$IfDef GL_ARB_window_pos}
  7099. if GL_ARB_window_pos then
  7100. begin
  7101. glWindowPos2dARB := gl_GetProc('glWindowPos2dARB');
  7102. glWindowPos2dvARB := gl_GetProc('glWindowPos2dvARB');
  7103. glWindowPos2fARB := gl_GetProc('glWindowPos2fARB');
  7104. glWindowPos2fvARB := gl_GetProc('glWindowPos2fvARB');
  7105. glWindowPos2iARB := gl_GetProc('glWindowPos2iARB');
  7106. glWindowPos2ivARB := gl_GetProc('glWindowPos2ivARB');
  7107. glWindowPos2sARB := gl_GetProc('glWindowPos2sARB');
  7108. glWindowPos2svARB := gl_GetProc('glWindowPos2svARB');
  7109. glWindowPos3dARB := gl_GetProc('glWindowPos3dARB');
  7110. glWindowPos3dvARB := gl_GetProc('glWindowPos3dvARB');
  7111. glWindowPos3fARB := gl_GetProc('glWindowPos3fARB');
  7112. glWindowPos3fvARB := gl_GetProc('glWindowPos3fvARB');
  7113. glWindowPos3iARB := gl_GetProc('glWindowPos3iARB');
  7114. glWindowPos3ivARB := gl_GetProc('glWindowPos3ivARB');
  7115. glWindowPos3sARB := gl_GetProc('glWindowPos3sARB');
  7116. glWindowPos3svARB := gl_GetProc('glWindowPos3svARB');
  7117. end;
  7118. {$EndIf}
  7119. {$IfDef GL_KHR_blend_equation_advanced}
  7120. if GL_KHR_blend_equation_advanced then
  7121. glBlendBarrierKHR := gl_GetProc('glBlendBarrierKHR');
  7122. {$EndIf}
  7123. {$IfDef GL_KHR_parallel_shader_compile}
  7124. if GL_KHR_parallel_shader_compile then
  7125. glMaxShaderCompilerThreadsKHR := gl_GetProc('glMaxShaderCompilerThreadsKHR');
  7126. {$EndIf}
  7127. {$IfDef GL_OES_byte_coordinates}
  7128. if GL_OES_byte_coordinates then
  7129. begin
  7130. glMultiTexCoord1bOES := gl_GetProc('glMultiTexCoord1bOES');
  7131. glMultiTexCoord1bvOES := gl_GetProc('glMultiTexCoord1bvOES');
  7132. glMultiTexCoord2bOES := gl_GetProc('glMultiTexCoord2bOES');
  7133. glMultiTexCoord2bvOES := gl_GetProc('glMultiTexCoord2bvOES');
  7134. glMultiTexCoord3bOES := gl_GetProc('glMultiTexCoord3bOES');
  7135. glMultiTexCoord3bvOES := gl_GetProc('glMultiTexCoord3bvOES');
  7136. glMultiTexCoord4bOES := gl_GetProc('glMultiTexCoord4bOES');
  7137. glMultiTexCoord4bvOES := gl_GetProc('glMultiTexCoord4bvOES');
  7138. glTexCoord1bOES := gl_GetProc('glTexCoord1bOES');
  7139. glTexCoord1bvOES := gl_GetProc('glTexCoord1bvOES');
  7140. glTexCoord2bOES := gl_GetProc('glTexCoord2bOES');
  7141. glTexCoord2bvOES := gl_GetProc('glTexCoord2bvOES');
  7142. glTexCoord3bOES := gl_GetProc('glTexCoord3bOES');
  7143. glTexCoord3bvOES := gl_GetProc('glTexCoord3bvOES');
  7144. glTexCoord4bOES := gl_GetProc('glTexCoord4bOES');
  7145. glTexCoord4bvOES := gl_GetProc('glTexCoord4bvOES');
  7146. glVertex2bOES := gl_GetProc('glVertex2bOES');
  7147. glVertex2bvOES := gl_GetProc('glVertex2bvOES');
  7148. glVertex3bOES := gl_GetProc('glVertex3bOES');
  7149. glVertex3bvOES := gl_GetProc('glVertex3bvOES');
  7150. glVertex4bOES := gl_GetProc('glVertex4bOES');
  7151. glVertex4bvOES := gl_GetProc('glVertex4bvOES');
  7152. end;
  7153. {$EndIf}
  7154. {$IfDef GL_OES_fixed_point}
  7155. if GL_OES_fixed_point then
  7156. begin
  7157. glAlphaFuncxOES := gl_GetProc('glAlphaFuncxOES');
  7158. glClearColorxOES := gl_GetProc('glClearColorxOES');
  7159. glClearDepthxOES := gl_GetProc('glClearDepthxOES');
  7160. glClipPlanexOES := gl_GetProc('glClipPlanexOES');
  7161. glColor4xOES := gl_GetProc('glColor4xOES');
  7162. glDepthRangexOES := gl_GetProc('glDepthRangexOES');
  7163. glFogxOES := gl_GetProc('glFogxOES');
  7164. glFogxvOES := gl_GetProc('glFogxvOES');
  7165. glFrustumxOES := gl_GetProc('glFrustumxOES');
  7166. glGetClipPlanexOES := gl_GetProc('glGetClipPlanexOES');
  7167. glGetFixedvOES := gl_GetProc('glGetFixedvOES');
  7168. glGetTexEnvxvOES := gl_GetProc('glGetTexEnvxvOES');
  7169. glGetTexParameterxvOES := gl_GetProc('glGetTexParameterxvOES');
  7170. glLightModelxOES := gl_GetProc('glLightModelxOES');
  7171. glLightModelxvOES := gl_GetProc('glLightModelxvOES');
  7172. glLightxOES := gl_GetProc('glLightxOES');
  7173. glLightxvOES := gl_GetProc('glLightxvOES');
  7174. glLineWidthxOES := gl_GetProc('glLineWidthxOES');
  7175. glLoadMatrixxOES := gl_GetProc('glLoadMatrixxOES');
  7176. glMaterialxOES := gl_GetProc('glMaterialxOES');
  7177. glMaterialxvOES := gl_GetProc('glMaterialxvOES');
  7178. glMultMatrixxOES := gl_GetProc('glMultMatrixxOES');
  7179. glMultiTexCoord4xOES := gl_GetProc('glMultiTexCoord4xOES');
  7180. glNormal3xOES := gl_GetProc('glNormal3xOES');
  7181. glOrthoxOES := gl_GetProc('glOrthoxOES');
  7182. glPointParameterxvOES := gl_GetProc('glPointParameterxvOES');
  7183. glPointSizexOES := gl_GetProc('glPointSizexOES');
  7184. glPolygonOffsetxOES := gl_GetProc('glPolygonOffsetxOES');
  7185. glRotatexOES := gl_GetProc('glRotatexOES');
  7186. glScalexOES := gl_GetProc('glScalexOES');
  7187. glTexEnvxOES := gl_GetProc('glTexEnvxOES');
  7188. glTexEnvxvOES := gl_GetProc('glTexEnvxvOES');
  7189. glTexParameterxOES := gl_GetProc('glTexParameterxOES');
  7190. glTexParameterxvOES := gl_GetProc('glTexParameterxvOES');
  7191. glTranslatexOES := gl_GetProc('glTranslatexOES');
  7192. glAccumxOES := gl_GetProc('glAccumxOES');
  7193. glBitmapxOES := gl_GetProc('glBitmapxOES');
  7194. glBlendColorxOES := gl_GetProc('glBlendColorxOES');
  7195. glClearAccumxOES := gl_GetProc('glClearAccumxOES');
  7196. glColor3xOES := gl_GetProc('glColor3xOES');
  7197. glColor3xvOES := gl_GetProc('glColor3xvOES');
  7198. glColor4xvOES := gl_GetProc('glColor4xvOES');
  7199. glConvolutionParameterxOES := gl_GetProc('glConvolutionParameterxOES');
  7200. glConvolutionParameterxvOES := gl_GetProc('glConvolutionParameterxvOES');
  7201. glEvalCoord1xOES := gl_GetProc('glEvalCoord1xOES');
  7202. glEvalCoord1xvOES := gl_GetProc('glEvalCoord1xvOES');
  7203. glEvalCoord2xOES := gl_GetProc('glEvalCoord2xOES');
  7204. glEvalCoord2xvOES := gl_GetProc('glEvalCoord2xvOES');
  7205. glFeedbackBufferxOES := gl_GetProc('glFeedbackBufferxOES');
  7206. glGetConvolutionParameterxvOES := gl_GetProc('glGetConvolutionParameterxvOES');
  7207. glGetHistogramParameterxvOES := gl_GetProc('glGetHistogramParameterxvOES');
  7208. glGetLightxOES := gl_GetProc('glGetLightxOES');
  7209. glGetMapxvOES := gl_GetProc('glGetMapxvOES');
  7210. glGetMaterialxOES := gl_GetProc('glGetMaterialxOES');
  7211. glGetPixelMapxv := gl_GetProc('glGetPixelMapxv');
  7212. glGetTexGenxvOES := gl_GetProc('glGetTexGenxvOES');
  7213. glGetTexLevelParameterxvOES := gl_GetProc('glGetTexLevelParameterxvOES');
  7214. glIndexxOES := gl_GetProc('glIndexxOES');
  7215. glIndexxvOES := gl_GetProc('glIndexxvOES');
  7216. glLoadTransposeMatrixxOES := gl_GetProc('glLoadTransposeMatrixxOES');
  7217. glMap1xOES := gl_GetProc('glMap1xOES');
  7218. glMap2xOES := gl_GetProc('glMap2xOES');
  7219. glMapGrid1xOES := gl_GetProc('glMapGrid1xOES');
  7220. glMapGrid2xOES := gl_GetProc('glMapGrid2xOES');
  7221. glMultTransposeMatrixxOES := gl_GetProc('glMultTransposeMatrixxOES');
  7222. glMultiTexCoord1xOES := gl_GetProc('glMultiTexCoord1xOES');
  7223. glMultiTexCoord1xvOES := gl_GetProc('glMultiTexCoord1xvOES');
  7224. glMultiTexCoord2xOES := gl_GetProc('glMultiTexCoord2xOES');
  7225. glMultiTexCoord2xvOES := gl_GetProc('glMultiTexCoord2xvOES');
  7226. glMultiTexCoord3xOES := gl_GetProc('glMultiTexCoord3xOES');
  7227. glMultiTexCoord3xvOES := gl_GetProc('glMultiTexCoord3xvOES');
  7228. glMultiTexCoord4xvOES := gl_GetProc('glMultiTexCoord4xvOES');
  7229. glNormal3xvOES := gl_GetProc('glNormal3xvOES');
  7230. glPassThroughxOES := gl_GetProc('glPassThroughxOES');
  7231. glPixelMapx := gl_GetProc('glPixelMapx');
  7232. glPixelStorex := gl_GetProc('glPixelStorex');
  7233. glPixelTransferxOES := gl_GetProc('glPixelTransferxOES');
  7234. glPixelZoomxOES := gl_GetProc('glPixelZoomxOES');
  7235. glPrioritizeTexturesxOES := gl_GetProc('glPrioritizeTexturesxOES');
  7236. glRasterPos2xOES := gl_GetProc('glRasterPos2xOES');
  7237. glRasterPos2xvOES := gl_GetProc('glRasterPos2xvOES');
  7238. glRasterPos3xOES := gl_GetProc('glRasterPos3xOES');
  7239. glRasterPos3xvOES := gl_GetProc('glRasterPos3xvOES');
  7240. glRasterPos4xOES := gl_GetProc('glRasterPos4xOES');
  7241. glRasterPos4xvOES := gl_GetProc('glRasterPos4xvOES');
  7242. glRectxOES := gl_GetProc('glRectxOES');
  7243. glRectxvOES := gl_GetProc('glRectxvOES');
  7244. glTexCoord1xOES := gl_GetProc('glTexCoord1xOES');
  7245. glTexCoord1xvOES := gl_GetProc('glTexCoord1xvOES');
  7246. glTexCoord2xOES := gl_GetProc('glTexCoord2xOES');
  7247. glTexCoord2xvOES := gl_GetProc('glTexCoord2xvOES');
  7248. glTexCoord3xOES := gl_GetProc('glTexCoord3xOES');
  7249. glTexCoord3xvOES := gl_GetProc('glTexCoord3xvOES');
  7250. glTexCoord4xOES := gl_GetProc('glTexCoord4xOES');
  7251. glTexCoord4xvOES := gl_GetProc('glTexCoord4xvOES');
  7252. glTexGenxOES := gl_GetProc('glTexGenxOES');
  7253. glTexGenxvOES := gl_GetProc('glTexGenxvOES');
  7254. glVertex2xOES := gl_GetProc('glVertex2xOES');
  7255. glVertex2xvOES := gl_GetProc('glVertex2xvOES');
  7256. glVertex3xOES := gl_GetProc('glVertex3xOES');
  7257. glVertex3xvOES := gl_GetProc('glVertex3xvOES');
  7258. glVertex4xOES := gl_GetProc('glVertex4xOES');
  7259. glVertex4xvOES := gl_GetProc('glVertex4xvOES');
  7260. end;
  7261. {$EndIf}
  7262. {$IfDef GL_OES_query_matrix}
  7263. if GL_OES_query_matrix then
  7264. glQueryMatrixxOES := gl_GetProc('glQueryMatrixxOES');
  7265. {$EndIf}
  7266. {$IfDef GL_OES_single_precision}
  7267. if GL_OES_single_precision then
  7268. begin
  7269. glClearDepthfOES := gl_GetProc('glClearDepthfOES');
  7270. glClipPlanefOES := gl_GetProc('glClipPlanefOES');
  7271. glDepthRangefOES := gl_GetProc('glDepthRangefOES');
  7272. glFrustumfOES := gl_GetProc('glFrustumfOES');
  7273. glGetClipPlanefOES := gl_GetProc('glGetClipPlanefOES');
  7274. glOrthofOES := gl_GetProc('glOrthofOES');
  7275. end;
  7276. {$EndIf}
  7277. {$IfDef GL_3DFX_tbuffer}
  7278. if GL_3DFX_tbuffer then
  7279. glTbufferMask3DFX := gl_GetProc('glTbufferMask3DFX');
  7280. {$EndIf}
  7281. {$IfDef GL_AMD_debug_output}
  7282. if GL_AMD_debug_output then
  7283. begin
  7284. glDebugMessageEnableAMD := gl_GetProc('glDebugMessageEnableAMD');
  7285. glDebugMessageInsertAMD := gl_GetProc('glDebugMessageInsertAMD');
  7286. glDebugMessageCallbackAMD := gl_GetProc('glDebugMessageCallbackAMD');
  7287. glGetDebugMessageLogAMD := gl_GetProc('glGetDebugMessageLogAMD');
  7288. end;
  7289. {$EndIf}
  7290. {$IfDef GL_AMD_draw_buffers_blend}
  7291. if GL_AMD_draw_buffers_blend then
  7292. begin
  7293. glBlendFuncIndexedAMD := gl_GetProc('glBlendFuncIndexedAMD');
  7294. glBlendFuncSeparateIndexedAMD := gl_GetProc('glBlendFuncSeparateIndexedAMD');
  7295. glBlendEquationIndexedAMD := gl_GetProc('glBlendEquationIndexedAMD');
  7296. glBlendEquationSeparateIndexedAMD := gl_GetProc('glBlendEquationSeparateIndexedAMD');
  7297. end;
  7298. {$EndIf}
  7299. {$IfDef GL_AMD_framebuffer_multisample_advanced}
  7300. if GL_AMD_framebuffer_multisample_advanced then
  7301. begin
  7302. glRenderbufferStorageMultisampleAdvancedAMD := gl_GetProc('glRenderbufferStorageMultisampleAdvancedAMD');
  7303. glNamedRenderbufferStorageMultisampleAdvancedAMD := gl_GetProc('glNamedRenderbufferStorageMultisampleAdvancedAMD');
  7304. end;
  7305. {$EndIf}
  7306. {$IfDef GL_AMD_framebuffer_sample_positions}
  7307. if GL_AMD_framebuffer_sample_positions then
  7308. begin
  7309. glFramebufferSamplePositionsfvAMD := gl_GetProc('glFramebufferSamplePositionsfvAMD');
  7310. glNamedFramebufferSamplePositionsfvAMD := gl_GetProc('glNamedFramebufferSamplePositionsfvAMD');
  7311. glGetFramebufferParameterfvAMD := gl_GetProc('glGetFramebufferParameterfvAMD');
  7312. glGetNamedFramebufferParameterfvAMD := gl_GetProc('glGetNamedFramebufferParameterfvAMD');
  7313. end;
  7314. {$EndIf}
  7315. {$If defined(GL_AMD_gpu_shader_int64) or defined(GL_NV_gpu_shader5)}
  7316. if GL_AMD_gpu_shader_int64 or GL_NV_gpu_shader5 then
  7317. begin
  7318. glUniform1i64NV := gl_GetProc('glUniform1i64NV');
  7319. glUniform2i64NV := gl_GetProc('glUniform2i64NV');
  7320. glUniform3i64NV := gl_GetProc('glUniform3i64NV');
  7321. glUniform4i64NV := gl_GetProc('glUniform4i64NV');
  7322. glUniform1i64vNV := gl_GetProc('glUniform1i64vNV');
  7323. glUniform2i64vNV := gl_GetProc('glUniform2i64vNV');
  7324. glUniform3i64vNV := gl_GetProc('glUniform3i64vNV');
  7325. glUniform4i64vNV := gl_GetProc('glUniform4i64vNV');
  7326. glUniform1ui64NV := gl_GetProc('glUniform1ui64NV');
  7327. glUniform2ui64NV := gl_GetProc('glUniform2ui64NV');
  7328. glUniform3ui64NV := gl_GetProc('glUniform3ui64NV');
  7329. glUniform4ui64NV := gl_GetProc('glUniform4ui64NV');
  7330. glUniform1ui64vNV := gl_GetProc('glUniform1ui64vNV');
  7331. glUniform2ui64vNV := gl_GetProc('glUniform2ui64vNV');
  7332. glUniform3ui64vNV := gl_GetProc('glUniform3ui64vNV');
  7333. glUniform4ui64vNV := gl_GetProc('glUniform4ui64vNV');
  7334. glGetUniformi64vNV := gl_GetProc('glGetUniformi64vNV');
  7335. glProgramUniform1i64NV := gl_GetProc('glProgramUniform1i64NV');
  7336. glProgramUniform2i64NV := gl_GetProc('glProgramUniform2i64NV');
  7337. glProgramUniform3i64NV := gl_GetProc('glProgramUniform3i64NV');
  7338. glProgramUniform4i64NV := gl_GetProc('glProgramUniform4i64NV');
  7339. glProgramUniform1i64vNV := gl_GetProc('glProgramUniform1i64vNV');
  7340. glProgramUniform2i64vNV := gl_GetProc('glProgramUniform2i64vNV');
  7341. glProgramUniform3i64vNV := gl_GetProc('glProgramUniform3i64vNV');
  7342. glProgramUniform4i64vNV := gl_GetProc('glProgramUniform4i64vNV');
  7343. glProgramUniform1ui64NV := gl_GetProc('glProgramUniform1ui64NV');
  7344. glProgramUniform2ui64NV := gl_GetProc('glProgramUniform2ui64NV');
  7345. glProgramUniform3ui64NV := gl_GetProc('glProgramUniform3ui64NV');
  7346. glProgramUniform4ui64NV := gl_GetProc('glProgramUniform4ui64NV');
  7347. glProgramUniform1ui64vNV := gl_GetProc('glProgramUniform1ui64vNV');
  7348. glProgramUniform2ui64vNV := gl_GetProc('glProgramUniform2ui64vNV');
  7349. glProgramUniform3ui64vNV := gl_GetProc('glProgramUniform3ui64vNV');
  7350. glProgramUniform4ui64vNV := gl_GetProc('glProgramUniform4ui64vNV');
  7351. end;
  7352. {$IfEnd}
  7353. {$If defined(GL_AMD_gpu_shader_int64) or defined(GL_NV_shader_buffer_load)}
  7354. if GL_AMD_gpu_shader_int64 or GL_NV_shader_buffer_load then
  7355. glGetUniformui64vNV := gl_GetProc('glGetUniformui64vNV');
  7356. {$IfEnd}
  7357. {$IfDef GL_AMD_interleaved_elements}
  7358. if GL_AMD_interleaved_elements then
  7359. glVertexAttribParameteriAMD := gl_GetProc('glVertexAttribParameteriAMD');
  7360. {$EndIf}
  7361. {$IfDef GL_AMD_multi_draw_indirect}
  7362. if GL_AMD_multi_draw_indirect then
  7363. begin
  7364. glMultiDrawArraysIndirectAMD := gl_GetProc('glMultiDrawArraysIndirectAMD');
  7365. glMultiDrawElementsIndirectAMD := gl_GetProc('glMultiDrawElementsIndirectAMD');
  7366. end;
  7367. {$EndIf}
  7368. {$IfDef GL_AMD_name_gen_delete}
  7369. if GL_AMD_name_gen_delete then
  7370. begin
  7371. glGenNamesAMD := gl_GetProc('glGenNamesAMD');
  7372. glDeleteNamesAMD := gl_GetProc('glDeleteNamesAMD');
  7373. glIsNameAMD := gl_GetProc('glIsNameAMD');
  7374. end;
  7375. {$EndIf}
  7376. {$IfDef GL_AMD_occlusion_query_event}
  7377. if GL_AMD_occlusion_query_event then
  7378. glQueryObjectParameteruiAMD := gl_GetProc('glQueryObjectParameteruiAMD');
  7379. {$EndIf}
  7380. {$IfDef GL_AMD_performance_monitor}
  7381. if GL_AMD_performance_monitor then
  7382. begin
  7383. glGetPerfMonitorGroupsAMD := gl_GetProc('glGetPerfMonitorGroupsAMD');
  7384. glGetPerfMonitorCountersAMD := gl_GetProc('glGetPerfMonitorCountersAMD');
  7385. glGetPerfMonitorGroupStringAMD := gl_GetProc('glGetPerfMonitorGroupStringAMD');
  7386. glGetPerfMonitorCounterStringAMD := gl_GetProc('glGetPerfMonitorCounterStringAMD');
  7387. glGetPerfMonitorCounterInfoAMD := gl_GetProc('glGetPerfMonitorCounterInfoAMD');
  7388. glGenPerfMonitorsAMD := gl_GetProc('glGenPerfMonitorsAMD');
  7389. glDeletePerfMonitorsAMD := gl_GetProc('glDeletePerfMonitorsAMD');
  7390. glSelectPerfMonitorCountersAMD := gl_GetProc('glSelectPerfMonitorCountersAMD');
  7391. glBeginPerfMonitorAMD := gl_GetProc('glBeginPerfMonitorAMD');
  7392. glEndPerfMonitorAMD := gl_GetProc('glEndPerfMonitorAMD');
  7393. glGetPerfMonitorCounterDataAMD := gl_GetProc('glGetPerfMonitorCounterDataAMD');
  7394. end;
  7395. {$EndIf}
  7396. {$IfDef GL_AMD_sample_positions}
  7397. if GL_AMD_sample_positions then
  7398. glSetMultisamplefvAMD := gl_GetProc('glSetMultisamplefvAMD');
  7399. {$EndIf}
  7400. {$IfDef GL_AMD_sparse_texture}
  7401. if GL_AMD_sparse_texture then
  7402. begin
  7403. glTexStorageSparseAMD := gl_GetProc('glTexStorageSparseAMD');
  7404. glTextureStorageSparseAMD := gl_GetProc('glTextureStorageSparseAMD');
  7405. end;
  7406. {$EndIf}
  7407. {$IfDef GL_AMD_stencil_operation_extended}
  7408. if GL_AMD_stencil_operation_extended then
  7409. glStencilOpValueAMD := gl_GetProc('glStencilOpValueAMD');
  7410. {$EndIf}
  7411. {$IfDef GL_AMD_vertex_shader_tessellator}
  7412. if GL_AMD_vertex_shader_tessellator then
  7413. begin
  7414. glTessellationFactorAMD := gl_GetProc('glTessellationFactorAMD');
  7415. glTessellationModeAMD := gl_GetProc('glTessellationModeAMD');
  7416. end;
  7417. {$EndIf}
  7418. {$IfDef GL_APPLE_element_array}
  7419. if GL_APPLE_element_array then
  7420. begin
  7421. glElementPointerAPPLE := gl_GetProc('glElementPointerAPPLE');
  7422. glDrawElementArrayAPPLE := gl_GetProc('glDrawElementArrayAPPLE');
  7423. glDrawRangeElementArrayAPPLE := gl_GetProc('glDrawRangeElementArrayAPPLE');
  7424. glMultiDrawElementArrayAPPLE := gl_GetProc('glMultiDrawElementArrayAPPLE');
  7425. glMultiDrawRangeElementArrayAPPLE := gl_GetProc('glMultiDrawRangeElementArrayAPPLE');
  7426. end;
  7427. {$EndIf}
  7428. {$IfDef GL_APPLE_fence}
  7429. if GL_APPLE_fence then
  7430. begin
  7431. glGenFencesAPPLE := gl_GetProc('glGenFencesAPPLE');
  7432. glDeleteFencesAPPLE := gl_GetProc('glDeleteFencesAPPLE');
  7433. glSetFenceAPPLE := gl_GetProc('glSetFenceAPPLE');
  7434. glIsFenceAPPLE := gl_GetProc('glIsFenceAPPLE');
  7435. glTestFenceAPPLE := gl_GetProc('glTestFenceAPPLE');
  7436. glFinishFenceAPPLE := gl_GetProc('glFinishFenceAPPLE');
  7437. glTestObjectAPPLE := gl_GetProc('glTestObjectAPPLE');
  7438. glFinishObjectAPPLE := gl_GetProc('glFinishObjectAPPLE');
  7439. end;
  7440. {$EndIf}
  7441. {$IfDef GL_APPLE_flush_buffer_range}
  7442. if GL_APPLE_flush_buffer_range then
  7443. begin
  7444. glBufferParameteriAPPLE := gl_GetProc('glBufferParameteriAPPLE');
  7445. glFlushMappedBufferRangeAPPLE := gl_GetProc('glFlushMappedBufferRangeAPPLE');
  7446. end;
  7447. {$EndIf}
  7448. {$IfDef GL_APPLE_object_purgeable}
  7449. if GL_APPLE_object_purgeable then
  7450. begin
  7451. glObjectPurgeableAPPLE := gl_GetProc('glObjectPurgeableAPPLE');
  7452. glObjectUnpurgeableAPPLE := gl_GetProc('glObjectUnpurgeableAPPLE');
  7453. glGetObjectParameterivAPPLE := gl_GetProc('glGetObjectParameterivAPPLE');
  7454. end;
  7455. {$EndIf}
  7456. {$IfDef GL_APPLE_texture_range}
  7457. if GL_APPLE_texture_range then
  7458. begin
  7459. glTextureRangeAPPLE := gl_GetProc('glTextureRangeAPPLE');
  7460. glGetTexParameterPointervAPPLE := gl_GetProc('glGetTexParameterPointervAPPLE');
  7461. end;
  7462. {$EndIf}
  7463. {$IfDef GL_APPLE_vertex_array_object}
  7464. if GL_APPLE_vertex_array_object then
  7465. begin
  7466. glBindVertexArrayAPPLE := gl_GetProc('glBindVertexArrayAPPLE');
  7467. glDeleteVertexArraysAPPLE := gl_GetProc('glDeleteVertexArraysAPPLE');
  7468. glGenVertexArraysAPPLE := gl_GetProc('glGenVertexArraysAPPLE');
  7469. functionglIsVertexArrayAPPLE := gl_GetProc('functionglIsVertexArrayAPPLE');
  7470. end;
  7471. {$EndIf}
  7472. {$IfDef GL_APPLE_vertex_array_range}
  7473. if GL_APPLE_vertex_array_range then
  7474. begin
  7475. glVertexArrayRangeAPPLE := gl_GetProc('glVertexArrayRangeAPPLE');
  7476. glFlushVertexArrayRangeAPPLE := gl_GetProc('glFlushVertexArrayRangeAPPLE');
  7477. glVertexArrayParameteriAPPLE := gl_GetProc('glVertexArrayParameteriAPPLE');
  7478. end;
  7479. {$EndIf}
  7480. {$IfDef GL_APPLE_vertex_program_evaluators}
  7481. if GL_APPLE_vertex_program_evaluators then
  7482. begin
  7483. glEnableVertexAttribAPPLE := gl_GetProc('glEnableVertexAttribAPPLE');
  7484. glDisableVertexAttribAPPLE := gl_GetProc('glDisableVertexAttribAPPLE');
  7485. glIsVertexAttribEnabledAPPLE := gl_GetProc('glIsVertexAttribEnabledAPPLE');
  7486. glMapVertexAttrib1dAPPLE := gl_GetProc('glMapVertexAttrib1dAPPLE');
  7487. glMapVertexAttrib1fAPPLE := gl_GetProc('glMapVertexAttrib1fAPPLE');
  7488. glMapVertexAttrib2dAPPLE := gl_GetProc('glMapVertexAttrib2dAPPLE');
  7489. glMapVertexAttrib2fAPPLE := gl_GetProc('glMapVertexAttrib2fAPPLE');
  7490. end;
  7491. {$EndIf}
  7492. {$IfDef GL_ATI_draw_buffers}
  7493. if GL_ATI_draw_buffers then
  7494. glDrawBuffersATI := gl_GetProc('glDrawBuffersATI');
  7495. {$EndIf}
  7496. {$IfDef GL_ATI_element_array}
  7497. if GL_ATI_element_array then
  7498. begin
  7499. glElementPointerATI := gl_GetProc('glElementPointerATI');
  7500. glDrawElementArrayATI := gl_GetProc('glDrawElementArrayATI');
  7501. glDrawRangeElementArrayATI := gl_GetProc('glDrawRangeElementArrayATI');
  7502. end;
  7503. {$EndIf}
  7504. {$IfDef GL_ATI_envmap_bumpmap}
  7505. if GL_ATI_envmap_bumpmap then
  7506. begin
  7507. glTexBumpParameterivATI := gl_GetProc('glTexBumpParameterivATI');
  7508. glTexBumpParameterfvATI := gl_GetProc('glTexBumpParameterfvATI');
  7509. glGetTexBumpParameterivATI := gl_GetProc('glGetTexBumpParameterivATI');
  7510. glGetTexBumpParameterfvATI := gl_GetProc('glGetTexBumpParameterfvATI');
  7511. end;
  7512. {$EndIf}
  7513. {$IfDef GL_ATI_fragment_shader}
  7514. if GL_ATI_fragment_shader then
  7515. begin
  7516. glGenFragmentShadersATI := gl_GetProc('glGenFragmentShadersATI');
  7517. glBindFragmentShaderATI := gl_GetProc('glBindFragmentShaderATI');
  7518. glDeleteFragmentShaderATI := gl_GetProc('glDeleteFragmentShaderATI');
  7519. glBeginFragmentShaderATI := gl_GetProc('glBeginFragmentShaderATI');
  7520. glEndFragmentShaderATI := gl_GetProc('glEndFragmentShaderATI');
  7521. glPassTexCoordATI := gl_GetProc('glPassTexCoordATI');
  7522. glSampleMapATI := gl_GetProc('glSampleMapATI');
  7523. glColorFragmentOp1ATI := gl_GetProc('glColorFragmentOp1ATI');
  7524. glColorFragmentOp2ATI := gl_GetProc('glColorFragmentOp2ATI');
  7525. glColorFragmentOp3ATI := gl_GetProc('glColorFragmentOp3ATI');
  7526. glAlphaFragmentOp1ATI := gl_GetProc('glAlphaFragmentOp1ATI');
  7527. glAlphaFragmentOp2ATI := gl_GetProc('glAlphaFragmentOp2ATI');
  7528. glAlphaFragmentOp3ATI := gl_GetProc('glAlphaFragmentOp3ATI');
  7529. glSetFragmentShaderConstantATI := gl_GetProc('glSetFragmentShaderConstantATI');
  7530. end;
  7531. {$EndIf}
  7532. {$IfDef GL_ATI_map_object_buffer}
  7533. if GL_ATI_map_object_buffer then
  7534. begin
  7535. glMapObjectBufferATI := gl_GetProc('glMapObjectBufferATI');
  7536. glUnmapObjectBufferATI := gl_GetProc('glUnmapObjectBufferATI');
  7537. end;
  7538. {$EndIf}
  7539. {$IfDef GL_ATI_pn_triangles}
  7540. if GL_ATI_pn_triangles then
  7541. begin
  7542. glPNTrianglesiATI := gl_GetProc('glPNTrianglesiATI');
  7543. glPNTrianglesfATI := gl_GetProc('glPNTrianglesfATI');
  7544. end;
  7545. {$EndIf}
  7546. {$IfDef GL_ATI_separate_stencil}
  7547. if GL_ATI_separate_stencil then
  7548. begin
  7549. glStencilOpSeparateATI := gl_GetProc('glStencilOpSeparateATI');
  7550. glStencilFuncSeparateATI := gl_GetProc('glStencilFuncSeparateATI');
  7551. end;
  7552. {$EndIf}
  7553. {$IfDef GL_ATI_vertex_array_object}
  7554. if GL_ATI_vertex_array_object then
  7555. begin
  7556. glNewObjectBufferATI := gl_GetProc('glNewObjectBufferATI');
  7557. glIsObjectBufferATI := gl_GetProc('glIsObjectBufferATI');
  7558. glUpdateObjectBufferATI := gl_GetProc('glUpdateObjectBufferATI');
  7559. glGetObjectBufferfvATI := gl_GetProc('glGetObjectBufferfvATI');
  7560. glGetObjectBufferivATI := gl_GetProc('glGetObjectBufferivATI');
  7561. glFreeObjectBufferATI := gl_GetProc('glFreeObjectBufferATI');
  7562. glArrayObjectATI := gl_GetProc('glArrayObjectATI');
  7563. glGetArrayObjectfvATI := gl_GetProc('glGetArrayObjectfvATI');
  7564. glGetArrayObjectivATI := gl_GetProc('glGetArrayObjectivATI');
  7565. glVariantArrayObjectATI := gl_GetProc('glVariantArrayObjectATI');
  7566. glGetVariantArrayObjectfvATI := gl_GetProc('glGetVariantArrayObjectfvATI');
  7567. glGetVariantArrayObjectivATI := gl_GetProc('glGetVariantArrayObjectivATI');
  7568. end;
  7569. {$EndIf}
  7570. {$IfDef GL_ATI_vertex_attrib_array_object}
  7571. if GL_ATI_vertex_attrib_array_object then
  7572. begin
  7573. glVertexAttribArrayObjectATI := gl_GetProc('glVertexAttribArrayObjectATI');
  7574. glGetVertexAttribArrayObjectfvATI := gl_GetProc('glGetVertexAttribArrayObjectfvATI');
  7575. glGetVertexAttribArrayObjectivATI := gl_GetProc('glGetVertexAttribArrayObjectivATI');
  7576. end;
  7577. {$EndIf}
  7578. {$IfDef GL_ATI_vertex_streams}
  7579. if GL_ATI_vertex_streams then
  7580. begin
  7581. glVertexStream1sATI := gl_GetProc('glVertexStream1sATI');
  7582. glVertexStream1svATI := gl_GetProc('glVertexStream1svATI');
  7583. glVertexStream1iATI := gl_GetProc('glVertexStream1iATI');
  7584. glVertexStream1ivATI := gl_GetProc('glVertexStream1ivATI');
  7585. glVertexStream1fATI := gl_GetProc('glVertexStream1fATI');
  7586. glVertexStream1fvATI := gl_GetProc('glVertexStream1fvATI');
  7587. glVertexStream1dATI := gl_GetProc('glVertexStream1dATI');
  7588. glVertexStream1dvATI := gl_GetProc('glVertexStream1dvATI');
  7589. glVertexStream2sATI := gl_GetProc('glVertexStream2sATI');
  7590. glVertexStream2svATI := gl_GetProc('glVertexStream2svATI');
  7591. glVertexStream2iATI := gl_GetProc('glVertexStream2iATI');
  7592. glVertexStream2ivATI := gl_GetProc('glVertexStream2ivATI');
  7593. glVertexStream2fATI := gl_GetProc('glVertexStream2fATI');
  7594. glVertexStream2fvATI := gl_GetProc('glVertexStream2fvATI');
  7595. glVertexStream2dATI := gl_GetProc('glVertexStream2dATI');
  7596. glVertexStream2dvATI := gl_GetProc('glVertexStream2dvATI');
  7597. glVertexStream3sATI := gl_GetProc('glVertexStream3sATI');
  7598. glVertexStream3svATI := gl_GetProc('glVertexStream3svATI');
  7599. glVertexStream3iATI := gl_GetProc('glVertexStream3iATI');
  7600. glVertexStream3ivATI := gl_GetProc('glVertexStream3ivATI');
  7601. glVertexStream3fATI := gl_GetProc('glVertexStream3fATI');
  7602. glVertexStream3fvATI := gl_GetProc('glVertexStream3fvATI');
  7603. glVertexStream3dATI := gl_GetProc('glVertexStream3dATI');
  7604. glVertexStream3dvATI := gl_GetProc('glVertexStream3dvATI');
  7605. glVertexStream4sATI := gl_GetProc('glVertexStream4sATI');
  7606. glVertexStream4svATI := gl_GetProc('glVertexStream4svATI');
  7607. glVertexStream4iATI := gl_GetProc('glVertexStream4iATI');
  7608. glVertexStream4ivATI := gl_GetProc('glVertexStream4ivATI');
  7609. glVertexStream4fATI := gl_GetProc('glVertexStream4fATI');
  7610. glVertexStream4fvATI := gl_GetProc('glVertexStream4fvATI');
  7611. glVertexStream4dATI := gl_GetProc('glVertexStream4dATI');
  7612. glVertexStream4dvATI := gl_GetProc('glVertexStream4dvATI');
  7613. glNormalStream3bATI := gl_GetProc('glNormalStream3bATI');
  7614. glNormalStream3bvATI := gl_GetProc('glNormalStream3bvATI');
  7615. glNormalStream3sATI := gl_GetProc('glNormalStream3sATI');
  7616. glNormalStream3svATI := gl_GetProc('glNormalStream3svATI');
  7617. glNormalStream3iATI := gl_GetProc('glNormalStream3iATI');
  7618. glNormalStream3ivATI := gl_GetProc('glNormalStream3ivATI');
  7619. glNormalStream3fATI := gl_GetProc('glNormalStream3fATI');
  7620. glNormalStream3fvATI := gl_GetProc('glNormalStream3fvATI');
  7621. glNormalStream3dATI := gl_GetProc('glNormalStream3dATI');
  7622. glNormalStream3dvATI := gl_GetProc('glNormalStream3dvATI');
  7623. glClientActiveVertexStreamATI := gl_GetProc('glClientActiveVertexStreamATI');
  7624. glVertexBlendEnviATI := gl_GetProc('glVertexBlendEnviATI');
  7625. glVertexBlendEnvfATI := gl_GetProc('glVertexBlendEnvfATI');
  7626. end;
  7627. {$EndIf}
  7628. {$IfDef GL_EXT_EGL_image_storage}
  7629. if GL_EXT_EGL_image_storage then
  7630. begin
  7631. glEGLImageTargetTexStorageEXT := gl_GetProc('glEGLImageTargetTexStorageEXT');
  7632. glEGLImageTargetTextureStorageEXT := gl_GetProc('glEGLImageTargetTextureStorageEXT');
  7633. end;
  7634. {$EndIf}
  7635. {$IfDef GL_EXT_bindable_uniform}
  7636. if GL_EXT_bindable_uniform then
  7637. begin
  7638. glUniformBufferEXT := gl_GetProc('glUniformBufferEXT');
  7639. glGetUniformBufferSizeEXT := gl_GetProc('glGetUniformBufferSizeEXT');
  7640. glGetUniformOffsetEXT := gl_GetProc('glGetUniformOffsetEXT');
  7641. end;
  7642. {$EndIf}
  7643. {$IfDef GL_EXT_blend_color}
  7644. if GL_EXT_blend_color then
  7645. glBlendColorEXT := gl_GetProc('glBlendColorEXT');
  7646. {$EndIf}
  7647. {$IfDef GL_EXT_blend_equation_separate}
  7648. if GL_EXT_blend_equation_separate then
  7649. glBlendEquationSeparateEXT := gl_GetProc('glBlendEquationSeparateEXT');
  7650. {$EndIf}
  7651. (* {$IfDef GL_EXT_blend_func_separate}
  7652. glBlendFuncSeparateEXT := gl_GetProc('glBlendFuncSeparateEXT');
  7653. {$EndIf}
  7654. {$IfDef GL_EXT_blend_minmax}
  7655. glBlendEquationEXT := gl_GetProc('glBlendEquationEXT');
  7656. {$EndIf} *)
  7657. {$IfDef GL_EXT_color_subtable}
  7658. if GL_EXT_color_subtable then
  7659. begin
  7660. glColorSubTableEXT := gl_GetProc('glColorSubTableEXT');
  7661. glCopyColorSubTableEXT := gl_GetProc('glCopyColorSubTableEXT');
  7662. end;
  7663. {$EndIf}
  7664. {$IfDef GL_EXT_compiled_vertex_array}
  7665. if GL_EXT_compiled_vertex_array then
  7666. begin
  7667. glLockArraysEXT := gl_GetProc('glLockArraysEXT');
  7668. glUnlockArraysEXT := gl_GetProc('glUnlockArraysEXT');
  7669. end;
  7670. {$EndIf}
  7671. {$IfDef GL_EXT_convolution}
  7672. if GL_EXT_convolution then
  7673. begin
  7674. glConvolutionFilter1DEXT := gl_GetProc('glConvolutionFilter1DEXT');
  7675. glConvolutionFilter2DEXT := gl_GetProc('glConvolutionFilter2DEXT');
  7676. glConvolutionParameterfEXT := gl_GetProc('glConvolutionParameterfEXT');
  7677. glConvolutionParameterfvEXT := gl_GetProc('glConvolutionParameterfvEXT');
  7678. glConvolutionParameteriEXT := gl_GetProc('glConvolutionParameteriEXT');
  7679. glConvolutionParameterivEXT := gl_GetProc('glConvolutionParameterivEXT');
  7680. glCopyConvolutionFilter1DEXT := gl_GetProc('glCopyConvolutionFilter1DEXT');
  7681. glCopyConvolutionFilter2DEXT := gl_GetProc('glCopyConvolutionFilter2DEXT');
  7682. glGetConvolutionFilterEXT := gl_GetProc('glGetConvolutionFilterEXT');
  7683. glGetConvolutionParameterfvEXT := gl_GetProc('glGetConvolutionParameterfvEXT');
  7684. glGetConvolutionParameterivEXT := gl_GetProc('glGetConvolutionParameterivEXT');
  7685. glGetSeparableFilterEXT := gl_GetProc('glGetSeparableFilterEXT');
  7686. glSeparableFilter2DEXT := gl_GetProc('glSeparableFilter2DEXT');
  7687. end;
  7688. {$EndIf}
  7689. {$IfDef GL_EXT_coordinate_frame}
  7690. if GL_EXT_coordinate_frame then
  7691. begin
  7692. glTangent3bEXT := gl_GetProc('glTangent3bEXT');
  7693. glTangent3bvEXT := gl_GetProc('glTangent3bvEXT');
  7694. glTangent3dEXT := gl_GetProc('glTangent3dEXT');
  7695. glTangent3dvEXT := gl_GetProc('glTangent3dvEXT');
  7696. glTangent3fEXT := gl_GetProc('glTangent3fEXT');
  7697. glTangent3fvEXT := gl_GetProc('glTangent3fvEXT');
  7698. glTangent3iEXT := gl_GetProc('glTangent3iEXT');
  7699. glTangent3ivEXT := gl_GetProc('glTangent3ivEXT');
  7700. glTangent3sEXT := gl_GetProc('glTangent3sEXT');
  7701. glTangent3svEXT := gl_GetProc('glTangent3svEXT');
  7702. glBinormal3bEXT := gl_GetProc('glBinormal3bEXT');
  7703. glBinormal3bvEXT := gl_GetProc('glBinormal3bvEXT');
  7704. glBinormal3dEXT := gl_GetProc('glBinormal3dEXT');
  7705. glBinormal3dvEXT := gl_GetProc('glBinormal3dvEXT');
  7706. glBinormal3fEXT := gl_GetProc('glBinormal3fEXT');
  7707. glBinormal3fvEXT := gl_GetProc('glBinormal3fvEXT');
  7708. glBinormal3iEXT := gl_GetProc('glBinormal3iEXT');
  7709. glBinormal3ivEXT := gl_GetProc('glBinormal3ivEXT');
  7710. glBinormal3sEXT := gl_GetProc('glBinormal3sEXT');
  7711. glBinormal3svEXT := gl_GetProc('glBinormal3svEXT');
  7712. glTangentPointerEXT := gl_GetProc('glTangentPointerEXT');
  7713. glBinormalPointerEXT := gl_GetProc('glBinormalPointerEXT');
  7714. end;
  7715. {$EndIf}
  7716. {$IfDef GL_EXT_copy_texture}
  7717. if GL_EXT_copy_texture then
  7718. begin
  7719. glCopyTexImage1DEXT := gl_GetProc('glCopyTexImage1DEXT');
  7720. glCopyTexImage2DEXT := gl_GetProc('glCopyTexImage2DEXT');
  7721. glCopyTexSubImage1DEXT := gl_GetProc('glCopyTexSubImage1DEXT');
  7722. glCopyTexSubImage2DEXT := gl_GetProc('glCopyTexSubImage2DEXT');
  7723. glCopyTexSubImage3DEXT := gl_GetProc('glCopyTexSubImage3DEXT');
  7724. end;
  7725. {$EndIf}
  7726. {$IfDef GL_EXT_cull_vertex}
  7727. if GL_EXT_cull_vertex then
  7728. begin
  7729. glCullParameterdvEXT := gl_GetProc('glCullParameterdvEXT');
  7730. glCullParameterfvEXT := gl_GetProc('glCullParameterfvEXT');
  7731. end;
  7732. {$EndIf}
  7733. {$IfDef GL_EXT_debug_label}
  7734. if GL_EXT_debug_label then
  7735. begin
  7736. glLabelObjectEXT := gl_GetProc('glLabelObjectEXT');
  7737. glGetObjectLabelEXT := gl_GetProc('glGetObjectLabelEXT');
  7738. end;
  7739. {$EndIf}
  7740. {$IfDef GL_EXT_debug_marker}
  7741. if GL_EXT_debug_marker then
  7742. begin
  7743. glInsertEventMarkerEXT := gl_GetProc('glInsertEventMarkerEXT');
  7744. glPushGroupMarkerEXT := gl_GetProc('glPushGroupMarkerEXT');
  7745. glPopGroupMarkerEXT := gl_GetProc('glPopGroupMarkerEXT');
  7746. end;
  7747. {$EndIf}
  7748. {$IfDef GL_EXT_depth_bounds_test}
  7749. if GL_EXT_depth_bounds_test then
  7750. glDepthBoundsEXT := gl_GetProc('glDepthBoundsEXT');
  7751. {$EndIf}
  7752. {$IfDef GL_EXT_direct_state_access}
  7753. if GL_EXT_direct_state_access then
  7754. begin
  7755. glMatrixLoadfEXT := gl_GetProc('glMatrixLoadfEXT');
  7756. glMatrixLoaddEXT := gl_GetProc('glMatrixLoaddEXT');
  7757. glMatrixMultfEXT := gl_GetProc('glMatrixMultfEXT');
  7758. glMatrixMultdEXT := gl_GetProc('glMatrixMultdEXT');
  7759. glMatrixLoadIdentityEXT := gl_GetProc('glMatrixLoadIdentityEXT');
  7760. glMatrixRotatefEXT := gl_GetProc('glMatrixRotatefEXT');
  7761. glMatrixRotatedEXT := gl_GetProc('glMatrixRotatedEXT');
  7762. glMatrixScalefEXT := gl_GetProc('glMatrixScalefEXT');
  7763. glMatrixScaledEXT := gl_GetProc('glMatrixScaledEXT');
  7764. glMatrixTranslatefEXT := gl_GetProc('glMatrixTranslatefEXT');
  7765. glMatrixTranslatedEXT := gl_GetProc('glMatrixTranslatedEXT');
  7766. glMatrixFrustumEXT := gl_GetProc('glMatrixFrustumEXT');
  7767. glMatrixOrthoEXT := gl_GetProc('glMatrixOrthoEXT');
  7768. glMatrixPopEXT := gl_GetProc('glMatrixPopEXT');
  7769. glMatrixPushEXT := gl_GetProc('glMatrixPushEXT');
  7770. glClientAttribDefaultEXT := gl_GetProc('glClientAttribDefaultEXT');
  7771. glPushClientAttribDefaultEXT := gl_GetProc('glPushClientAttribDefaultEXT');
  7772. glTextureParameterfEXT := gl_GetProc('glTextureParameterfEXT');
  7773. glTextureParameterfvEXT := gl_GetProc('glTextureParameterfvEXT');
  7774. glTextureParameteriEXT := gl_GetProc('glTextureParameteriEXT');
  7775. glTextureParameterivEXT := gl_GetProc('glTextureParameterivEXT');
  7776. glTextureImage1DEXT := gl_GetProc('glTextureImage1DEXT');
  7777. glTextureImage2DEXT := gl_GetProc('glTextureImage2DEXT');
  7778. glTextureSubImage1DEXT := gl_GetProc('glTextureSubImage1DEXT');
  7779. glTextureSubImage2DEXT := gl_GetProc('glTextureSubImage2DEXT');
  7780. glCopyTextureImage1DEXT := gl_GetProc('glCopyTextureImage1DEXT');
  7781. glCopyTextureImage2DEXT := gl_GetProc('glCopyTextureImage2DEXT');
  7782. glCopyTextureSubImage1DEXT := gl_GetProc('glCopyTextureSubImage1DEXT');
  7783. glCopyTextureSubImage2DEXT := gl_GetProc('glCopyTextureSubImage2DEXT');
  7784. glGetTextureImageEXT := gl_GetProc('glGetTextureImageEXT');
  7785. glGetTextureParameterfvEXT := gl_GetProc('glGetTextureParameterfvEXT');
  7786. glGetTextureParameterivEXT := gl_GetProc('glGetTextureParameterivEXT');
  7787. glGetTextureLevelParameterfvEXT := gl_GetProc('glGetTextureLevelParameterfvEXT');
  7788. glGetTextureLevelParameterivEXT := gl_GetProc('glGetTextureLevelParameterivEXT');
  7789. glTextureImage3DEXT := gl_GetProc('glTextureImage3DEXT');
  7790. glTextureSubImage3DEXT := gl_GetProc('glTextureSubImage3DEXT');
  7791. glCopyTextureSubImage3DEXT := gl_GetProc('glCopyTextureSubImage3DEXT');
  7792. glBindMultiTextureEXT := gl_GetProc('glBindMultiTextureEXT');
  7793. glMultiTexCoordPointerEXT := gl_GetProc('glMultiTexCoordPointerEXT');
  7794. glMultiTexEnvfEXT := gl_GetProc('glMultiTexEnvfEXT');
  7795. glMultiTexEnvfvEXT := gl_GetProc('glMultiTexEnvfvEXT');
  7796. glMultiTexEnviEXT := gl_GetProc('glMultiTexEnviEXT');
  7797. glMultiTexEnvivEXT := gl_GetProc('glMultiTexEnvivEXT');
  7798. glMultiTexGendEXT := gl_GetProc('glMultiTexGendEXT');
  7799. glMultiTexGendvEXT := gl_GetProc('glMultiTexGendvEXT');
  7800. glMultiTexGenfEXT := gl_GetProc('glMultiTexGenfEXT');
  7801. glMultiTexGenfvEXT := gl_GetProc('glMultiTexGenfvEXT');
  7802. glMultiTexGeniEXT := gl_GetProc('glMultiTexGeniEXT');
  7803. glMultiTexGenivEXT := gl_GetProc('glMultiTexGenivEXT');
  7804. glGetMultiTexEnvfvEXT := gl_GetProc('glGetMultiTexEnvfvEXT');
  7805. glGetMultiTexEnvivEXT := gl_GetProc('glGetMultiTexEnvivEXT');
  7806. glGetMultiTexGendvEXT := gl_GetProc('glGetMultiTexGendvEXT');
  7807. glGetMultiTexGenfvEXT := gl_GetProc('glGetMultiTexGenfvEXT');
  7808. glGetMultiTexGenivEXT := gl_GetProc('glGetMultiTexGenivEXT');
  7809. glMultiTexParameteriEXT := gl_GetProc('glMultiTexParameteriEXT');
  7810. glMultiTexParameterivEXT := gl_GetProc('glMultiTexParameterivEXT');
  7811. glMultiTexParameterfEXT := gl_GetProc('glMultiTexParameterfEXT');
  7812. glMultiTexParameterfvEXT := gl_GetProc('glMultiTexParameterfvEXT');
  7813. glMultiTexImage1DEXT := gl_GetProc('glMultiTexImage1DEXT');
  7814. glMultiTexImage2DEXT := gl_GetProc('glMultiTexImage2DEXT');
  7815. glMultiTexSubImage1DEXT := gl_GetProc('glMultiTexSubImage1DEXT');
  7816. glMultiTexSubImage2DEXT := gl_GetProc('glMultiTexSubImage2DEXT');
  7817. glCopyMultiTexImage1DEXT := gl_GetProc('glCopyMultiTexImage1DEXT');
  7818. glCopyMultiTexImage2DEXT := gl_GetProc('glCopyMultiTexImage2DEXT');
  7819. glCopyMultiTexSubImage1DEXT := gl_GetProc('glCopyMultiTexSubImage1DEXT');
  7820. glCopyMultiTexSubImage2DEXT := gl_GetProc('glCopyMultiTexSubImage2DEXT');
  7821. glGetMultiTexImageEXT := gl_GetProc('glGetMultiTexImageEXT');
  7822. glGetMultiTexParameterfvEXT := gl_GetProc('glGetMultiTexParameterfvEXT');
  7823. glGetMultiTexParameterivEXT := gl_GetProc('glGetMultiTexParameterivEXT');
  7824. glGetMultiTexLevelParameterfvEXT := gl_GetProc('glGetMultiTexLevelParameterfvEXT');
  7825. glGetMultiTexLevelParameterivEXT := gl_GetProc('glGetMultiTexLevelParameterivEXT');
  7826. glMultiTexImage3DEXT := gl_GetProc('glMultiTexImage3DEXT');
  7827. glMultiTexSubImage3DEXT := gl_GetProc('glMultiTexSubImage3DEXT');
  7828. glCopyMultiTexSubImage3DEXT := gl_GetProc('glCopyMultiTexSubImage3DEXT');
  7829. glEnableClientStateIndexedEXT := gl_GetProc('glEnableClientStateIndexedEXT');
  7830. glDisableClientStateIndexedEXT := gl_GetProc('glDisableClientStateIndexedEXT');
  7831. glGetFloatIndexedvEXT := gl_GetProc('glGetFloatIndexedvEXT');
  7832. glGetDoubleIndexedvEXT := gl_GetProc('glGetDoubleIndexedvEXT');
  7833. glGetPointerIndexedvEXT := gl_GetProc('glGetPointerIndexedvEXT');
  7834. glEnableIndexedEXT := gl_GetProc('glEnableIndexedEXT');
  7835. glDisableIndexedEXT := gl_GetProc('glDisableIndexedEXT');
  7836. glIsEnabledIndexedEXT := gl_GetProc('glIsEnabledIndexedEXT');
  7837. glGetIntegerIndexedvEXT := gl_GetProc('glGetIntegerIndexedvEXT');
  7838. glGetBooleanIndexedvEXT := gl_GetProc('glGetBooleanIndexedvEXT');
  7839. glCompressedTextureImage3DEXT := gl_GetProc('glCompressedTextureImage3DEXT');
  7840. glCompressedTextureImage2DEXT := gl_GetProc('glCompressedTextureImage2DEXT');
  7841. glCompressedTextureImage1DEXT := gl_GetProc('glCompressedTextureImage1DEXT');
  7842. glCompressedTextureSubImage3DEXT := gl_GetProc('glCompressedTextureSubImage3DEXT');
  7843. glCompressedTextureSubImage2DEXT := gl_GetProc('glCompressedTextureSubImage2DEXT');
  7844. glCompressedTextureSubImage1DEXT := gl_GetProc('glCompressedTextureSubImage1DEXT');
  7845. glGetCompressedTextureImageEXT := gl_GetProc('glGetCompressedTextureImageEXT');
  7846. glCompressedMultiTexImage3DEXT := gl_GetProc('glCompressedMultiTexImage3DEXT');
  7847. glCompressedMultiTexImage2DEXT := gl_GetProc('glCompressedMultiTexImage2DEXT');
  7848. glCompressedMultiTexImage1DEXT := gl_GetProc('glCompressedMultiTexImage1DEXT');
  7849. glCompressedMultiTexSubImage3DEXT := gl_GetProc('glCompressedMultiTexSubImage3DEXT');
  7850. glCompressedMultiTexSubImage2DEXT := gl_GetProc('glCompressedMultiTexSubImage2DEXT');
  7851. glCompressedMultiTexSubImage1DEXT := gl_GetProc('glCompressedMultiTexSubImage1DEXT');
  7852. glGetCompressedMultiTexImageEXT := gl_GetProc('glGetCompressedMultiTexImageEXT');
  7853. glMatrixLoadTransposefEXT := gl_GetProc('glMatrixLoadTransposefEXT');
  7854. glMatrixLoadTransposedEXT := gl_GetProc('glMatrixLoadTransposedEXT');
  7855. glMatrixMultTransposefEXT := gl_GetProc('glMatrixMultTransposefEXT');
  7856. glMatrixMultTransposedEXT := gl_GetProc('glMatrixMultTransposedEXT');
  7857. glNamedBufferDataEXT := gl_GetProc('glNamedBufferDataEXT');
  7858. glNamedBufferSubDataEXT := gl_GetProc('glNamedBufferSubDataEXT');
  7859. glMapNamedBufferEXT := gl_GetProc('glMapNamedBufferEXT');
  7860. glUnmapNamedBufferEXT := gl_GetProc('glUnmapNamedBufferEXT');
  7861. glGetNamedBufferParameterivEXT := gl_GetProc('glGetNamedBufferParameterivEXT');
  7862. glGetNamedBufferPointervEXT := gl_GetProc('glGetNamedBufferPointervEXT');
  7863. glGetNamedBufferSubDataEXT := gl_GetProc('glGetNamedBufferSubDataEXT');
  7864. glProgramUniform1fEXT := gl_GetProc('glProgramUniform1fEXT');
  7865. glProgramUniform2fEXT := gl_GetProc('glProgramUniform2fEXT');
  7866. glProgramUniform3fEXT := gl_GetProc('glProgramUniform3fEXT');
  7867. glProgramUniform4fEXT := gl_GetProc('glProgramUniform4fEXT');
  7868. glProgramUniform1iEXT := gl_GetProc('glProgramUniform1iEXT');
  7869. glProgramUniform2iEXT := gl_GetProc('glProgramUniform2iEXT');
  7870. glProgramUniform3iEXT := gl_GetProc('glProgramUniform3iEXT');
  7871. glProgramUniform4iEXT := gl_GetProc('glProgramUniform4iEXT');
  7872. glProgramUniform1fvEXT := gl_GetProc('glProgramUniform1fvEXT');
  7873. glProgramUniform2fvEXT := gl_GetProc('glProgramUniform2fvEXT');
  7874. glProgramUniform3fvEXT := gl_GetProc('glProgramUniform3fvEXT');
  7875. glProgramUniform4fvEXT := gl_GetProc('glProgramUniform4fvEXT');
  7876. glProgramUniform1ivEXT := gl_GetProc('glProgramUniform1ivEXT');
  7877. glProgramUniform2ivEXT := gl_GetProc('glProgramUniform2ivEXT');
  7878. glProgramUniform3ivEXT := gl_GetProc('glProgramUniform3ivEXT');
  7879. glProgramUniform4ivEXT := gl_GetProc('glProgramUniform4ivEXT');
  7880. glProgramUniformMatrix2fvEXT := gl_GetProc('glProgramUniformMatrix2fvEXT');
  7881. glProgramUniformMatrix3fvEXT := gl_GetProc('glProgramUniformMatrix3fvEXT');
  7882. glProgramUniformMatrix4fvEXT := gl_GetProc('glProgramUniformMatrix4fvEXT');
  7883. glProgramUniformMatrix2x3fvEXT := gl_GetProc('glProgramUniformMatrix2x3fvEXT');
  7884. glProgramUniformMatrix3x2fvEXT := gl_GetProc('glProgramUniformMatrix3x2fvEXT');
  7885. glProgramUniformMatrix2x4fvEXT := gl_GetProc('glProgramUniformMatrix2x4fvEXT');
  7886. glProgramUniformMatrix4x2fvEXT := gl_GetProc('glProgramUniformMatrix4x2fvEXT');
  7887. glProgramUniformMatrix3x4fvEXT := gl_GetProc('glProgramUniformMatrix3x4fvEXT');
  7888. glProgramUniformMatrix4x3fvEXT := gl_GetProc('glProgramUniformMatrix4x3fvEXT');
  7889. glTextureBufferEXT := gl_GetProc('glTextureBufferEXT');
  7890. glMultiTexBufferEXT := gl_GetProc('glMultiTexBufferEXT');
  7891. glTextureParameterIivEXT := gl_GetProc('glTextureParameterIivEXT');
  7892. glTextureParameterIuivEXT := gl_GetProc('glTextureParameterIuivEXT');
  7893. glGetTextureParameterIivEXT := gl_GetProc('glGetTextureParameterIivEXT');
  7894. glGetTextureParameterIuivEXT := gl_GetProc('glGetTextureParameterIuivEXT');
  7895. glMultiTexParameterIivEXT := gl_GetProc('glMultiTexParameterIivEXT');
  7896. glMultiTexParameterIuivEXT := gl_GetProc('glMultiTexParameterIuivEXT');
  7897. glGetMultiTexParameterIivEXT := gl_GetProc('glGetMultiTexParameterIivEXT');
  7898. glGetMultiTexParameterIuivEXT := gl_GetProc('glGetMultiTexParameterIuivEXT');
  7899. glProgramUniform1uiEXT := gl_GetProc('glProgramUniform1uiEXT');
  7900. glProgramUniform2uiEXT := gl_GetProc('glProgramUniform2uiEXT');
  7901. glProgramUniform3uiEXT := gl_GetProc('glProgramUniform3uiEXT');
  7902. glProgramUniform4uiEXT := gl_GetProc('glProgramUniform4uiEXT');
  7903. glProgramUniform1uivEXT := gl_GetProc('glProgramUniform1uivEXT');
  7904. glProgramUniform2uivEXT := gl_GetProc('glProgramUniform2uivEXT');
  7905. glProgramUniform3uivEXT := gl_GetProc('glProgramUniform3uivEXT');
  7906. glProgramUniform4uivEXT := gl_GetProc('glProgramUniform4uivEXT');
  7907. glNamedProgramLocalParameters4fvEXT := gl_GetProc('glNamedProgramLocalParameters4fvEXT');
  7908. glNamedProgramLocalParameterI4iEXT := gl_GetProc('glNamedProgramLocalParameterI4iEXT');
  7909. glNamedProgramLocalParameterI4ivEXT := gl_GetProc('glNamedProgramLocalParameterI4ivEXT');
  7910. glNamedProgramLocalParametersI4ivEXT := gl_GetProc('glNamedProgramLocalParametersI4ivEXT');
  7911. glNamedProgramLocalParameterI4uiEXT := gl_GetProc('glNamedProgramLocalParameterI4uiEXT');
  7912. glNamedProgramLocalParameterI4uivEXT := gl_GetProc('glNamedProgramLocalParameterI4uivEXT');
  7913. glNamedProgramLocalParametersI4uivEXT := gl_GetProc('glNamedProgramLocalParametersI4uivEXT');
  7914. glGetNamedProgramLocalParameterIivEXT := gl_GetProc('glGetNamedProgramLocalParameterIivEXT');
  7915. glGetNamedProgramLocalParameterIuivEXT := gl_GetProc('glGetNamedProgramLocalParameterIuivEXT');
  7916. glEnableClientStateiEXT := gl_GetProc('glEnableClientStateiEXT');
  7917. glDisableClientStateiEXT := gl_GetProc('glDisableClientStateiEXT');
  7918. glGetFloati_vEXT := gl_GetProc('glGetFloati_vEXT');
  7919. glGetDoublei_vEXT := gl_GetProc('glGetDoublei_vEXT');
  7920. glGetPointeri_vEXT := gl_GetProc('glGetPointeri_vEXT');
  7921. glNamedProgramStringEXT := gl_GetProc('glNamedProgramStringEXT');
  7922. glNamedProgramLocalParameter4dEXT := gl_GetProc('glNamedProgramLocalParameter4dEXT');
  7923. glNamedProgramLocalParameter4dvEXT := gl_GetProc('glNamedProgramLocalParameter4dvEXT');
  7924. glNamedProgramLocalParameter4fEXT := gl_GetProc('glNamedProgramLocalParameter4fEXT');
  7925. glNamedProgramLocalParameter4fvEXT := gl_GetProc('glNamedProgramLocalParameter4fvEXT');
  7926. glGetNamedProgramLocalParameterdvEXT := gl_GetProc('glGetNamedProgramLocalParameterdvEXT');
  7927. glGetNamedProgramLocalParameterfvEXT := gl_GetProc('glGetNamedProgramLocalParameterfvEXT');
  7928. glGetNamedProgramivEXT := gl_GetProc('glGetNamedProgramivEXT');
  7929. glGetNamedProgramStringEXT := gl_GetProc('glGetNamedProgramStringEXT');
  7930. glNamedRenderbufferStorageEXT := gl_GetProc('glNamedRenderbufferStorageEXT');
  7931. glGetNamedRenderbufferParameterivEXT := gl_GetProc('glGetNamedRenderbufferParameterivEXT');
  7932. glNamedRenderbufferStorageMultisampleEXT := gl_GetProc('glNamedRenderbufferStorageMultisampleEXT');
  7933. glNamedRenderbufferStorageMultisampleCoverageEXT := gl_GetProc('glNamedRenderbufferStorageMultisampleCoverageEXT');
  7934. glCheckNamedFramebufferStatusEXT := gl_GetProc('glCheckNamedFramebufferStatusEXT');
  7935. glNamedFramebufferTexture1DEXT := gl_GetProc('glNamedFramebufferTexture1DEXT');
  7936. glNamedFramebufferTexture2DEXT := gl_GetProc('glNamedFramebufferTexture2DEXT');
  7937. glNamedFramebufferTexture3DEXT := gl_GetProc('glNamedFramebufferTexture3DEXT');
  7938. glNamedFramebufferRenderbufferEXT := gl_GetProc('glNamedFramebufferRenderbufferEXT');
  7939. glGetNamedFramebufferAttachmentParameterivEXT := gl_GetProc('glGetNamedFramebufferAttachmentParameterivEXT');
  7940. glGenerateTextureMipmapEXT := gl_GetProc('glGenerateTextureMipmapEXT');
  7941. glGenerateMultiTexMipmapEXT := gl_GetProc('glGenerateMultiTexMipmapEXT');
  7942. glFramebufferDrawBufferEXT := gl_GetProc('glFramebufferDrawBufferEXT');
  7943. glFramebufferDrawBuffersEXT := gl_GetProc('glFramebufferDrawBuffersEXT');
  7944. glFramebufferReadBufferEXT := gl_GetProc('glFramebufferReadBufferEXT');
  7945. glGetFramebufferParameterivEXT := gl_GetProc('glGetFramebufferParameterivEXT');
  7946. glNamedCopyBufferSubDataEXT := gl_GetProc('glNamedCopyBufferSubDataEXT');
  7947. glNamedFramebufferTextureEXT := gl_GetProc('glNamedFramebufferTextureEXT');
  7948. glNamedFramebufferTextureLayerEXT := gl_GetProc('glNamedFramebufferTextureLayerEXT');
  7949. glNamedFramebufferTextureFaceEXT := gl_GetProc('glNamedFramebufferTextureFaceEXT');
  7950. glTextureRenderbufferEXT := gl_GetProc('glTextureRenderbufferEXT');
  7951. glMultiTexRenderbufferEXT := gl_GetProc('glMultiTexRenderbufferEXT');
  7952. glVertexArrayVertexOffsetEXT := gl_GetProc('glVertexArrayVertexOffsetEXT');
  7953. glVertexArrayColorOffsetEXT := gl_GetProc('glVertexArrayColorOffsetEXT');
  7954. glVertexArrayEdgeFlagOffsetEXT := gl_GetProc('glVertexArrayEdgeFlagOffsetEXT');
  7955. glVertexArrayIndexOffsetEXT := gl_GetProc('glVertexArrayIndexOffsetEXT');
  7956. glVertexArrayNormalOffsetEXT := gl_GetProc('glVertexArrayNormalOffsetEXT');
  7957. glVertexArrayTexCoordOffsetEXT := gl_GetProc('glVertexArrayTexCoordOffsetEXT');
  7958. glVertexArrayMultiTexCoordOffsetEXT := gl_GetProc('glVertexArrayMultiTexCoordOffsetEXT');
  7959. glVertexArrayFogCoordOffsetEXT := gl_GetProc('glVertexArrayFogCoordOffsetEXT');
  7960. glVertexArraySecondaryColorOffsetEXT := gl_GetProc('glVertexArraySecondaryColorOffsetEXT');
  7961. glVertexArrayVertexAttribOffsetEXT := gl_GetProc('glVertexArrayVertexAttribOffsetEXT');
  7962. glVertexArrayVertexAttribIOffsetEXT := gl_GetProc('glVertexArrayVertexAttribIOffsetEXT');
  7963. glEnableVertexArrayEXT := gl_GetProc('glEnableVertexArrayEXT');
  7964. glDisableVertexArrayEXT := gl_GetProc('glDisableVertexArrayEXT');
  7965. glEnableVertexArrayAttribEXT := gl_GetProc('glEnableVertexArrayAttribEXT');
  7966. glDisableVertexArrayAttribEXT := gl_GetProc('glDisableVertexArrayAttribEXT');
  7967. glGetVertexArrayIntegervEXT := gl_GetProc('glGetVertexArrayIntegervEXT');
  7968. glGetVertexArrayPointervEXT := gl_GetProc('glGetVertexArrayPointervEXT');
  7969. glGetVertexArrayIntegeri_vEXT := gl_GetProc('glGetVertexArrayIntegeri_vEXT');
  7970. glGetVertexArrayPointeri_vEXT := gl_GetProc('glGetVertexArrayPointeri_vEXT');
  7971. glMapNamedBufferRangeEXT := gl_GetProc('glMapNamedBufferRangeEXT');
  7972. glFlushMappedNamedBufferRangeEXT := gl_GetProc('glFlushMappedNamedBufferRangeEXT');
  7973. glNamedBufferStorageEXT := gl_GetProc('glNamedBufferStorageEXT');
  7974. glClearNamedBufferDataEXT := gl_GetProc('glClearNamedBufferDataEXT');
  7975. glClearNamedBufferSubDataEXT := gl_GetProc('glClearNamedBufferSubDataEXT');
  7976. glNamedFramebufferParameteriEXT := gl_GetProc('glNamedFramebufferParameteriEXT');
  7977. glGetNamedFramebufferParameterivEXT := gl_GetProc('glGetNamedFramebufferParameterivEXT');
  7978. glProgramUniform1dEXT := gl_GetProc('glProgramUniform1dEXT');
  7979. glProgramUniform2dEXT := gl_GetProc('glProgramUniform2dEXT');
  7980. glProgramUniform3dEXT := gl_GetProc('glProgramUniform3dEXT');
  7981. glProgramUniform4dEXT := gl_GetProc('glProgramUniform4dEXT');
  7982. glProgramUniform1dvEXT := gl_GetProc('glProgramUniform1dvEXT');
  7983. glProgramUniform2dvEXT := gl_GetProc('glProgramUniform2dvEXT');
  7984. glProgramUniform3dvEXT := gl_GetProc('glProgramUniform3dvEXT');
  7985. glProgramUniform4dvEXT := gl_GetProc('glProgramUniform4dvEXT');
  7986. glProgramUniformMatrix2dvEXT := gl_GetProc('glProgramUniformMatrix2dvEXT');
  7987. glProgramUniformMatrix3dvEXT := gl_GetProc('glProgramUniformMatrix3dvEXT');
  7988. glProgramUniformMatrix4dvEXT := gl_GetProc('glProgramUniformMatrix4dvEXT');
  7989. glProgramUniformMatrix2x3dvEXT := gl_GetProc('glProgramUniformMatrix2x3dvEXT');
  7990. glProgramUniformMatrix2x4dvEXT := gl_GetProc('glProgramUniformMatrix2x4dvEXT');
  7991. glProgramUniformMatrix3x2dvEXT := gl_GetProc('glProgramUniformMatrix3x2dvEXT');
  7992. glProgramUniformMatrix3x4dvEXT := gl_GetProc('glProgramUniformMatrix3x4dvEXT');
  7993. glProgramUniformMatrix4x2dvEXT := gl_GetProc('glProgramUniformMatrix4x2dvEXT');
  7994. glProgramUniformMatrix4x3dvEXT := gl_GetProc('glProgramUniformMatrix4x3dvEXT');
  7995. glTextureBufferRangeEXT := gl_GetProc('glTextureBufferRangeEXT');
  7996. glTextureStorage1DEXT := gl_GetProc('glTextureStorage1DEXT');
  7997. glTextureStorage2DEXT := gl_GetProc('glTextureStorage2DEXT');
  7998. glTextureStorage3DEXT := gl_GetProc('glTextureStorage3DEXT');
  7999. glTextureStorage2DMultisampleEXT := gl_GetProc('glTextureStorage2DMultisampleEXT');
  8000. glTextureStorage3DMultisampleEXT := gl_GetProc('glTextureStorage3DMultisampleEXT');
  8001. glVertexArrayBindVertexBufferEXT := gl_GetProc('glVertexArrayBindVertexBufferEXT');
  8002. glVertexArrayVertexAttribFormatEXT := gl_GetProc('glVertexArrayVertexAttribFormatEXT');
  8003. glVertexArrayVertexAttribIFormatEXT := gl_GetProc('glVertexArrayVertexAttribIFormatEXT');
  8004. glVertexArrayVertexAttribLFormatEXT := gl_GetProc('glVertexArrayVertexAttribLFormatEXT');
  8005. glVertexArrayVertexAttribBindingEXT := gl_GetProc('glVertexArrayVertexAttribBindingEXT');
  8006. glVertexArrayVertexBindingDivisorEXT := gl_GetProc('glVertexArrayVertexBindingDivisorEXT');
  8007. glVertexArrayVertexAttribLOffsetEXT := gl_GetProc('glVertexArrayVertexAttribLOffsetEXT');
  8008. glTexturePageCommitmentEXT := gl_GetProc('glTexturePageCommitmentEXT');
  8009. glVertexArrayVertexAttribDivisorEXT := gl_GetProc('glVertexArrayVertexAttribDivisorEXT');
  8010. end;
  8011. {$EndIf}
  8012. {$IfDef GL_EXT_draw_buffers2}
  8013. if GL_EXT_draw_buffers2 then
  8014. glColorMaskIndexedEXT := gl_GetProc('glColorMaskIndexedEXT');
  8015. {$EndIf}
  8016. {$IfDef GL_EXT_draw_instanced}
  8017. if GL_EXT_draw_instanced then
  8018. begin
  8019. glDrawArraysInstancedEXT := gl_GetProc('glDrawArraysInstancedEXT');
  8020. glDrawElementsInstancedEXT := gl_GetProc('glDrawElementsInstancedEXT');
  8021. end;
  8022. {$EndIf}
  8023. {$IfDef GL_EXT_draw_range_elements}
  8024. if GL_EXT_draw_range_elements then
  8025. glDrawRangeElementsEXT := gl_GetProc('glDrawRangeElementsEXT');
  8026. {$EndIf}
  8027. {$IfDef GL_EXT_external_buffer}
  8028. if GL_EXT_external_buffer then
  8029. begin
  8030. glBufferStorageExternalEXT := gl_GetProc('glBufferStorageExternalEXT');
  8031. glNamedBufferStorageExternalEXT := gl_GetProc('glNamedBufferStorageExternalEXT');
  8032. end;
  8033. {$EndIf}
  8034. {$IfDef GL_EXT_fog_coord}
  8035. if GL_EXT_fog_coord then
  8036. begin
  8037. glFogCoordfEXT := gl_GetProc('glFogCoordfEXT');
  8038. glFogCoordfvEXT := gl_GetProc('glFogCoordfvEXT');
  8039. glFogCoorddEXT := gl_GetProc('glFogCoorddEXT');
  8040. glFogCoorddvEXT := gl_GetProc('glFogCoorddvEXT');
  8041. glFogCoordPointerEXT := gl_GetProc('glFogCoordPointerEXT');
  8042. end;
  8043. {$EndIf}
  8044. {$IfDef GL_EXT_framebuffer_blit}
  8045. if GL_EXT_framebuffer_blit then
  8046. glBlitFramebufferEXT := gl_GetProc('glBlitFramebufferEXT');
  8047. {$EndIf}
  8048. {$IfDef GL_EXT_framebuffer_multisample}
  8049. if GL_EXT_framebuffer_multisample then
  8050. glRenderbufferStorageMultisampleEXT := gl_GetProc('glRenderbufferStorageMultisampleEXT');
  8051. {$EndIf}
  8052. {$IfDef GL_EXT_framebuffer_object}
  8053. if GL_EXT_framebuffer_object then
  8054. begin
  8055. // glIsRenderbufferEXT := gl_GetProc('glIsRenderbufferEXT');
  8056. // glBindRenderbufferEXT := gl_GetProc('glBindRenderbufferEXT');
  8057. // glDeleteRenderbuffersEXT := gl_GetProc('glDeleteRenderbuffersEXT');
  8058. // glGenRenderbuffersEXT := gl_GetProc('glGenRenderbuffersEXT');
  8059. // glRenderbufferStorageEXT := gl_GetProc('glRenderbufferStorageEXT');
  8060. glGetRenderbufferParameterivEXT := gl_GetProc('glGetRenderbufferParameterivEXT');
  8061. // glIsFramebufferEXT := gl_GetProc('glIsFramebufferEXT');
  8062. // glBindFramebufferEXT := gl_GetProc('glBindFramebufferEXT');
  8063. // glDeleteFramebuffersEXT := gl_GetProc('glDeleteFramebuffersEXT');
  8064. // glGenFramebuffersEXT := gl_GetProc('glGenFramebuffersEXT');
  8065. // glCheckFramebufferStatusEXT := gl_GetProc('glCheckFramebufferStatusEXT');
  8066. glFramebufferTexture1DEXT := gl_GetProc('glFramebufferTexture1DEXT');
  8067. // glFramebufferTexture2DEXT := gl_GetProc('glFramebufferTexture2DEXT');
  8068. glFramebufferTexture3DEXT := gl_GetProc('glFramebufferTexture3DEXT');
  8069. // glFramebufferRenderbufferEXT := gl_GetProc('glFramebufferRenderbufferEXT');
  8070. glGetFramebufferAttachmentParameterivEXT := gl_GetProc('glGetFramebufferAttachmentParameterivEXT');
  8071. glGenerateMipmapEXT := gl_GetProc('glGenerateMipmapEXT');
  8072. end;
  8073. {$EndIf}
  8074. {$IfDef GL_EXT_geometry_shader4}
  8075. if GL_EXT_geometry_shader4 then
  8076. glProgramParameteriEXT := gl_GetProc('glProgramParameteriEXT');
  8077. {$EndIf}
  8078. {$IfDef GL_EXT_gpu_program_parameters}
  8079. if GL_EXT_gpu_program_parameters then
  8080. begin
  8081. glProgramEnvParameters4fvEXT := gl_GetProc('glProgramEnvParameters4fvEXT');
  8082. glProgramLocalParameters4fvEXT := gl_GetProc('glProgramLocalParameters4fvEXT');
  8083. end;
  8084. {$EndIf}
  8085. {$IfDef GL_EXT_gpu_shader4}
  8086. if GL_EXT_gpu_shader4 then
  8087. begin
  8088. glGetUniformuivEXT := gl_GetProc('glGetUniformuivEXT');
  8089. glBindFragDataLocationEXT := gl_GetProc('glBindFragDataLocationEXT');
  8090. glGetFragDataLocationEXT := gl_GetProc('glGetFragDataLocationEXT');
  8091. glUniform1uiEXT := gl_GetProc('glUniform1uiEXT');
  8092. glUniform2uiEXT := gl_GetProc('glUniform2uiEXT');
  8093. glUniform3uiEXT := gl_GetProc('glUniform3uiEXT');
  8094. glUniform4uiEXT := gl_GetProc('glUniform4uiEXT');
  8095. glUniform1uivEXT := gl_GetProc('glUniform1uivEXT');
  8096. glUniform2uivEXT := gl_GetProc('glUniform2uivEXT');
  8097. glUniform3uivEXT := gl_GetProc('glUniform3uivEXT');
  8098. glUniform4uivEXT := gl_GetProc('glUniform4uivEXT');
  8099. glVertexAttribI1iEXT := gl_GetProc('glVertexAttribI1iEXT');
  8100. glVertexAttribI2iEXT := gl_GetProc('glVertexAttribI2iEXT');
  8101. glVertexAttribI3iEXT := gl_GetProc('glVertexAttribI3iEXT');
  8102. glVertexAttribI4iEXT := gl_GetProc('glVertexAttribI4iEXT');
  8103. glVertexAttribI1uiEXT := gl_GetProc('glVertexAttribI1uiEXT');
  8104. glVertexAttribI2uiEXT := gl_GetProc('glVertexAttribI2uiEXT');
  8105. glVertexAttribI3uiEXT := gl_GetProc('glVertexAttribI3uiEXT');
  8106. glVertexAttribI4uiEXT := gl_GetProc('glVertexAttribI4uiEXT');
  8107. glVertexAttribI1ivEXT := gl_GetProc('glVertexAttribI1ivEXT');
  8108. glVertexAttribI2ivEXT := gl_GetProc('glVertexAttribI2ivEXT');
  8109. glVertexAttribI3ivEXT := gl_GetProc('glVertexAttribI3ivEXT');
  8110. glVertexAttribI4ivEXT := gl_GetProc('glVertexAttribI4ivEXT');
  8111. glVertexAttribI1uivEXT := gl_GetProc('glVertexAttribI1uivEXT');
  8112. glVertexAttribI2uivEXT := gl_GetProc('glVertexAttribI2uivEXT');
  8113. glVertexAttribI3uivEXT := gl_GetProc('glVertexAttribI3uivEXT');
  8114. glVertexAttribI4uivEXT := gl_GetProc('glVertexAttribI4uivEXT');
  8115. glVertexAttribI4bvEXT := gl_GetProc('glVertexAttribI4bvEXT');
  8116. glVertexAttribI4svEXT := gl_GetProc('glVertexAttribI4svEXT');
  8117. glVertexAttribI4ubvEXT := gl_GetProc('glVertexAttribI4ubvEXT');
  8118. glVertexAttribI4usvEXT := gl_GetProc('glVertexAttribI4usvEXT');
  8119. glVertexAttribIPointerEXT := gl_GetProc('glVertexAttribIPointerEXT');
  8120. glGetVertexAttribIivEXT := gl_GetProc('glGetVertexAttribIivEXT');
  8121. glGetVertexAttribIuivEXT := gl_GetProc('glGetVertexAttribIuivEXT');
  8122. end;
  8123. {$EndIf}
  8124. {$IfDef GL_EXT_histogram}
  8125. if GL_EXT_histogram then
  8126. begin
  8127. glGetHistogramEXT := gl_GetProc('glGetHistogramEXT');
  8128. glGetHistogramParameterfvEXT := gl_GetProc('glGetHistogramParameterfvEXT');
  8129. glGetHistogramParameterivEXT := gl_GetProc('glGetHistogramParameterivEXT');
  8130. glGetMinmaxEXT := gl_GetProc('glGetMinmaxEXT');
  8131. glGetMinmaxParameterfvEXT := gl_GetProc('glGetMinmaxParameterfvEXT');
  8132. glGetMinmaxParameterivEXT := gl_GetProc('glGetMinmaxParameterivEXT');
  8133. glHistogramEXT := gl_GetProc('glHistogramEXT');
  8134. glMinmaxEXT := gl_GetProc('glMinmaxEXT');
  8135. glResetHistogramEXT := gl_GetProc('glResetHistogramEXT');
  8136. glResetMinmaxEXT := gl_GetProc('glResetMinmaxEXT');
  8137. end;
  8138. {$EndIf}
  8139. {$IfDef GL_EXT_index_func}
  8140. if GL_EXT_index_func then
  8141. glIndexFuncEXT := gl_GetProc('glIndexFuncEXT');
  8142. {$EndIf}
  8143. {$IfDef GL_EXT_index_material}
  8144. if GL_EXT_index_material then
  8145. glIndexMaterialEXT := gl_GetProc('glIndexMaterialEXT');
  8146. {$EndIf}
  8147. {$IfDef GL_EXT_light_texture}
  8148. if GL_EXT_light_texture then
  8149. begin
  8150. glApplyTextureEXT := gl_GetProc('glApplyTextureEXT');
  8151. glTextureLightEXT := gl_GetProc('glTextureLightEXT');
  8152. glTextureMaterialEXT := gl_GetProc('glTextureMaterialEXT');
  8153. end;
  8154. {$EndIf}
  8155. {$IfDef GL_EXT_memory_object}
  8156. if GL_EXT_memory_object then
  8157. begin
  8158. glGetUnsignedBytevEXT := gl_GetProc('glGetUnsignedBytevEXT');
  8159. glGetUnsignedBytei_vEXT := gl_GetProc('glGetUnsignedBytei_vEXT');
  8160. glDeleteMemoryObjectsEXT := gl_GetProc('glDeleteMemoryObjectsEXT');
  8161. glIsMemoryObjectEXT := gl_GetProc('glIsMemoryObjectEXT');
  8162. glCreateMemoryObjectsEXT := gl_GetProc('glCreateMemoryObjectsEXT');
  8163. glMemoryObjectParameterivEXT := gl_GetProc('glMemoryObjectParameterivEXT');
  8164. glGetMemoryObjectParameterivEXT := gl_GetProc('glGetMemoryObjectParameterivEXT');
  8165. glTexStorageMem2DEXT := gl_GetProc('glTexStorageMem2DEXT');
  8166. glTexStorageMem2DMultisampleEXT := gl_GetProc('glTexStorageMem2DMultisampleEXT');
  8167. glTexStorageMem3DEXT := gl_GetProc('glTexStorageMem3DEXT');
  8168. glTexStorageMem3DMultisampleEXT := gl_GetProc('glTexStorageMem3DMultisampleEXT');
  8169. glBufferStorageMemEXT := gl_GetProc('glBufferStorageMemEXT');
  8170. glTextureStorageMem2DEXT := gl_GetProc('glTextureStorageMem2DEXT');
  8171. glTextureStorageMem2DMultisampleEXT := gl_GetProc('glTextureStorageMem2DMultisampleEXT');
  8172. glTextureStorageMem3DEXT := gl_GetProc('glTextureStorageMem3DEXT');
  8173. glTextureStorageMem3DMultisampleEXT := gl_GetProc('glTextureStorageMem3DMultisampleEXT');
  8174. glNamedBufferStorageMemEXT := gl_GetProc('glNamedBufferStorageMemEXT');
  8175. glTexStorageMem1DEXT := gl_GetProc('glTexStorageMem1DEXT');
  8176. glTextureStorageMem1DEXT := gl_GetProc('glTextureStorageMem1DEXT');
  8177. end;
  8178. {$EndIf}
  8179. {$IfDef GL_EXT_memory_object_fd}
  8180. if GL_EXT_memory_object_fd then
  8181. glImportMemoryFdEXT := gl_GetProc('glImportMemoryFdEXT');
  8182. {$EndIf}
  8183. {$IfDef GL_EXT_memory_object_win32}
  8184. if GL_EXT_memory_object_win32 then
  8185. begin
  8186. glImportMemoryWin32HandleEXT := gl_GetProc('glImportMemoryWin32HandleEXT');
  8187. glImportMemoryWin32NameEXT := gl_GetProc('glImportMemoryWin32NameEXT');
  8188. end;
  8189. {$EndIf}
  8190. {$IfDef GL_EXT_multi_draw_arrays}
  8191. if GL_EXT_multi_draw_arrays then
  8192. begin
  8193. glMultiDrawArraysEXT := gl_GetProc('glMultiDrawArraysEXT');
  8194. glMultiDrawElementsEXT := gl_GetProc('glMultiDrawElementsEXT');
  8195. end;
  8196. {$EndIf}
  8197. {$IfDef GL_EXT_multisample}
  8198. if GL_EXT_multisample then
  8199. begin
  8200. glSampleMaskEXT := gl_GetProc('glSampleMaskEXT');
  8201. glSamplePatternEXT := gl_GetProc('glSamplePatternEXT');
  8202. end;
  8203. {$EndIf}
  8204. {$IfDef GL_EXT_paletted_texture}
  8205. if GL_EXT_paletted_texture then
  8206. begin
  8207. glColorTableEXT := gl_GetProc('glColorTableEXT');
  8208. glGetColorTableEXT := gl_GetProc('glGetColorTableEXT');
  8209. glGetColorTableParameterivEXT := gl_GetProc('glGetColorTableParameterivEXT');
  8210. glGetColorTableParameterfvEXT := gl_GetProc('glGetColorTableParameterfvEXT');
  8211. end;
  8212. {$EndIf}
  8213. {$IfDef GL_EXT_pixel_transform}
  8214. if GL_EXT_pixel_transform then
  8215. begin
  8216. glPixelTransformParameteriEXT := gl_GetProc('glPixelTransformParameteriEXT');
  8217. glPixelTransformParameterfEXT := gl_GetProc('glPixelTransformParameterfEXT');
  8218. glPixelTransformParameterivEXT := gl_GetProc('glPixelTransformParameterivEXT');
  8219. glPixelTransformParameterfvEXT := gl_GetProc('glPixelTransformParameterfvEXT');
  8220. glGetPixelTransformParameterivEXT := gl_GetProc('glGetPixelTransformParameterivEXT');
  8221. glGetPixelTransformParameterfvEXT := gl_GetProc('glGetPixelTransformParameterfvEXT');
  8222. end;
  8223. {$EndIf}
  8224. {$IfDef GL_EXT_point_parameters}
  8225. if GL_EXT_point_parameters then
  8226. begin
  8227. glPointParameterfEXT := gl_GetProc('glPointParameterfEXT');
  8228. glPointParameterfvEXT := gl_GetProc('glPointParameterfvEXT');
  8229. end;
  8230. {$EndIf}
  8231. {$IfDef GL_EXT_polygon_offset}
  8232. if GL_EXT_polygon_offset then
  8233. glPolygonOffsetEXT := gl_GetProc('glPolygonOffsetEXT');
  8234. {$EndIf}
  8235. {$IfDef GL_EXT_polygon_offset_clamp}
  8236. if GL_EXT_polygon_offset_clamp then
  8237. glPolygonOffsetClampEXT := gl_GetProc('glPolygonOffsetClampEXT');
  8238. {$EndIf}
  8239. {$IfDef GL_EXT_provoking_vertex}
  8240. if GL_EXT_provoking_vertex then
  8241. glProvokingVertexEXT := gl_GetProc('glProvokingVertexEXT');
  8242. {$EndIf}
  8243. {$IfDef GL_EXT_raster_multisample}
  8244. if GL_EXT_raster_multisample then
  8245. glRasterSamplesEXT := gl_GetProc('glRasterSamplesEXT');
  8246. {$EndIf}
  8247. {$IfDef GL_EXT_secondary_color}
  8248. if GL_EXT_secondary_color then
  8249. begin
  8250. glSecondaryColor3bEXT := gl_GetProc('glSecondaryColor3bEXT');
  8251. glSecondaryColor3bvEXT := gl_GetProc('glSecondaryColor3bvEXT');
  8252. glSecondaryColor3dEXT := gl_GetProc('glSecondaryColor3dEXT');
  8253. glSecondaryColor3dvEXT := gl_GetProc('glSecondaryColor3dvEXT');
  8254. glSecondaryColor3fEXT := gl_GetProc('glSecondaryColor3fEXT');
  8255. glSecondaryColor3fvEXT := gl_GetProc('glSecondaryColor3fvEXT');
  8256. glSecondaryColor3iEXT := gl_GetProc('glSecondaryColor3iEXT');
  8257. glSecondaryColor3ivEXT := gl_GetProc('glSecondaryColor3ivEXT');
  8258. glSecondaryColor3sEXT := gl_GetProc('glSecondaryColor3sEXT');
  8259. glSecondaryColor3svEXT := gl_GetProc('glSecondaryColor3svEXT');
  8260. glSecondaryColor3ubEXT := gl_GetProc('glSecondaryColor3ubEXT');
  8261. glSecondaryColor3ubvEXT := gl_GetProc('glSecondaryColor3ubvEXT');
  8262. glSecondaryColor3uiEXT := gl_GetProc('glSecondaryColor3uiEXT');
  8263. glSecondaryColor3uivEXT := gl_GetProc('glSecondaryColor3uivEXT');
  8264. glSecondaryColor3usEXT := gl_GetProc('glSecondaryColor3usEXT');
  8265. glSecondaryColor3usvEXT := gl_GetProc('glSecondaryColor3usvEXT');
  8266. glSecondaryColorPointerEXT := gl_GetProc('glSecondaryColorPointerEXT');
  8267. end;
  8268. {$EndIf}
  8269. {$IfDef GL_EXT_semaphore}
  8270. if GL_EXT_semaphore then
  8271. begin
  8272. glGenSemaphoresEXT := gl_GetProc('glGenSemaphoresEXT');
  8273. glDeleteSemaphoresEXT := gl_GetProc('glDeleteSemaphoresEXT');
  8274. glGetSemaphoreParameterui64vEXT := gl_GetProc('glGetSemaphoreParameterui64vEXT');
  8275. glIsSemaphoreEXT := gl_GetProc('glIsSemaphoreEXT');
  8276. glSemaphoreParameterui64vEXT := gl_GetProc('glSemaphoreParameterui64vEXT');
  8277. glWaitSemaphoreEXT := gl_GetProc('glWaitSemaphoreEXT');
  8278. glSignalSemaphoreEXT := gl_GetProc('glSignalSemaphoreEXT');
  8279. end;
  8280. {$EndIf}
  8281. {$IfDef GL_EXT_semaphore_fd}
  8282. if GL_EXT_semaphore_fd then
  8283. glImportSemaphoreFdEXT := gl_GetProc('glImportSemaphoreFdEXT');
  8284. {$EndIf}
  8285. {$IfDef GL_EXT_semaphore_win32}
  8286. if GL_EXT_semaphore_win32 then
  8287. begin
  8288. glImportSemaphoreWin32HandleEXT := gl_GetProc('glImportSemaphoreWin32HandleEXT');
  8289. glImportSemaphoreWin32NameEXT := gl_GetProc('glImportSemaphoreWin32NameEXT');
  8290. end;
  8291. {$EndIf}
  8292. {$IfDef GL_EXT_separate_shader_objects}
  8293. if GL_EXT_separate_shader_objects then
  8294. begin
  8295. glUseShaderProgramEXT := gl_GetProc('glUseShaderProgramEXT');
  8296. glActiveProgramEXT := gl_GetProc('glActiveProgramEXT');
  8297. glCreateShaderProgramEXT := gl_GetProc('glCreateShaderProgramEXT');
  8298. end;
  8299. {$EndIf}
  8300. {$IfDef GL_EXT_shader_framebuffer_fetch_non_coherent}
  8301. if GL_EXT_shader_framebuffer_fetch_non_coherent then
  8302. glFramebufferFetchBarrierEXT := gl_GetProc('glFramebufferFetchBarrierEXT');
  8303. {$EndIf}
  8304. {$IfDef GL_EXT_shader_image_load_store}
  8305. if GL_EXT_shader_image_load_store then
  8306. begin
  8307. glBindImageTextureEXT := gl_GetProc('glBindImageTextureEXT');
  8308. glMemoryBarrierEXT := gl_GetProc('glMemoryBarrierEXT');
  8309. end;
  8310. {$EndIf}
  8311. {$IfDef GL_EXT_stencil_clear_tag}
  8312. if GL_EXT_stencil_clear_tag then
  8313. glStencilClearTagEXT := gl_GetProc('glStencilClearTagEXT');
  8314. {$EndIf}
  8315. {$IfDef GL_EXT_stencil_two_side}
  8316. if GL_EXT_stencil_two_side then
  8317. glActiveStencilFaceEXT := gl_GetProc('glActiveStencilFaceEXT');
  8318. {$EndIf}
  8319. {$IfDef GL_EXT_subtexture}
  8320. if GL_EXT_subtexture then
  8321. begin
  8322. glTexSubImage1DEXT := gl_GetProc('glTexSubImage1DEXT');
  8323. glTexSubImage2DEXT := gl_GetProc('glTexSubImage2DEXT');
  8324. end;
  8325. {$EndIf}
  8326. {$IfDef GL_EXT_texture3D}
  8327. if GL_EXT_texture3D then
  8328. begin
  8329. glTexImage3DEXT := gl_GetProc('glTexImage3DEXT');
  8330. glTexSubImage3DEXT := gl_GetProc('glTexSubImage3DEXT');
  8331. end;
  8332. {$EndIf}
  8333. {$IfDef GL_EXT_texture_array}
  8334. if GL_EXT_texture_array then
  8335. glFramebufferTextureLayerEXT := gl_GetProc('glFramebufferTextureLayerEXT');
  8336. {$EndIf}
  8337. {$IfDef GL_EXT_texture_buffer_object}
  8338. if GL_EXT_texture_buffer_object then
  8339. glTexBufferEXT := gl_GetProc('glTexBufferEXT');
  8340. {$EndIf}
  8341. {$IfDef GL_EXT_texture_integer}
  8342. if GL_EXT_texture_integer then
  8343. begin
  8344. glTexParameterIivEXT := gl_GetProc('glTexParameterIivEXT');
  8345. glTexParameterIuivEXT := gl_GetProc('glTexParameterIuivEXT');
  8346. glGetTexParameterIivEXT := gl_GetProc('glGetTexParameterIivEXT');
  8347. glGetTexParameterIuivEXT := gl_GetProc('glGetTexParameterIuivEXT');
  8348. glClearColorIiEXT := gl_GetProc('glClearColorIiEXT');
  8349. glClearColorIuiEXT := gl_GetProc('glClearColorIuiEXT');
  8350. end;
  8351. {$EndIf}
  8352. {$IfDef GL_EXT_texture_object}
  8353. if GL_EXT_texture_object then
  8354. begin
  8355. glAreTexturesResidentEXT := gl_GetProc('glAreTexturesResidentEXT');
  8356. glBindTextureEXT := gl_GetProc('glBindTextureEXT');
  8357. glDeleteTexturesEXT := gl_GetProc('glDeleteTexturesEXT');
  8358. glGenTexturesEXT := gl_GetProc('glGenTexturesEXT');
  8359. glIsTextureEXT := gl_GetProc('glIsTextureEXT');
  8360. glPrioritizeTexturesEXT := gl_GetProc('glPrioritizeTexturesEXT');
  8361. end;
  8362. {$EndIf}
  8363. {$IfDef GL_EXT_texture_perturb_normal}
  8364. if GL_EXT_texture_perturb_normal then
  8365. glTextureNormalEXT := gl_GetProc('glTextureNormalEXT');
  8366. {$EndIf}
  8367. {$IfDef GL_EXT_texture_storage}
  8368. if GL_EXT_texture_storage then
  8369. begin
  8370. glTexStorage1DEXT := gl_GetProc('glTexStorage1DEXT');
  8371. glTexStorage2DEXT := gl_GetProc('glTexStorage2DEXT');
  8372. glTexStorage3DEXT := gl_GetProc('glTexStorage3DEXT');
  8373. end;
  8374. {$EndIf}
  8375. {$IfDef GL_EXT_timer_query}
  8376. if GL_EXT_timer_query then
  8377. begin
  8378. glGetQueryObjecti64vEXT := gl_GetProc('glGetQueryObjecti64vEXT');
  8379. glGetQueryObjectui64vEXT := gl_GetProc('glGetQueryObjectui64vEXT');
  8380. end;
  8381. {$EndIf}
  8382. {$IfDef GL_EXT_transform_feedback}
  8383. if GL_EXT_transform_feedback then
  8384. begin
  8385. glBeginTransformFeedbackEXT := gl_GetProc('glBeginTransformFeedbackEXT');
  8386. glEndTransformFeedbackEXT := gl_GetProc('glEndTransformFeedbackEXT');
  8387. glBindBufferRangeEXT := gl_GetProc('glBindBufferRangeEXT');
  8388. glBindBufferOffsetEXT := gl_GetProc('glBindBufferOffsetEXT');
  8389. glBindBufferBaseEXT := gl_GetProc('glBindBufferBaseEXT');
  8390. glTransformFeedbackVaryingsEXT := gl_GetProc('glTransformFeedbackVaryingsEXT');
  8391. glGetTransformFeedbackVaryingEXT := gl_GetProc('glGetTransformFeedbackVaryingEXT');
  8392. end;
  8393. {$EndIf}
  8394. {$IfDef GL_EXT_vertex_array}
  8395. if GL_EXT_vertex_array then
  8396. begin
  8397. glArrayElementEXT := gl_GetProc('glArrayElementEXT');
  8398. glColorPointerEXT := gl_GetProc('glColorPointerEXT');
  8399. glDrawArraysEXT := gl_GetProc('glDrawArraysEXT');
  8400. glEdgeFlagPointerEXT := gl_GetProc('glEdgeFlagPointerEXT');
  8401. glGetPointervEXT := gl_GetProc('glGetPointervEXT');
  8402. glIndexPointerEXT := gl_GetProc('glIndexPointerEXT');
  8403. glNormalPointerEXT := gl_GetProc('glNormalPointerEXT');
  8404. glTexCoordPointerEXT := gl_GetProc('glTexCoordPointerEXT');
  8405. glVertexPointerEXT := gl_GetProc('glVertexPointerEXT');
  8406. end;
  8407. {$EndIf}
  8408. {$IfDef GL_EXT_vertex_attrib_64bit}
  8409. if GL_EXT_vertex_attrib_64bit then
  8410. begin
  8411. glVertexAttribL1dEXT := gl_GetProc('glVertexAttribL1dEXT');
  8412. glVertexAttribL2dEXT := gl_GetProc('glVertexAttribL2dEXT');
  8413. glVertexAttribL3dEXT := gl_GetProc('glVertexAttribL3dEXT');
  8414. glVertexAttribL4dEXT := gl_GetProc('glVertexAttribL4dEXT');
  8415. glVertexAttribL1dvEXT := gl_GetProc('glVertexAttribL1dvEXT');
  8416. glVertexAttribL2dvEXT := gl_GetProc('glVertexAttribL2dvEXT');
  8417. glVertexAttribL3dvEXT := gl_GetProc('glVertexAttribL3dvEXT');
  8418. glVertexAttribL4dvEXT := gl_GetProc('glVertexAttribL4dvEXT');
  8419. glVertexAttribLPointerEXT := gl_GetProc('glVertexAttribLPointerEXT');
  8420. glGetVertexAttribLdvEXT := gl_GetProc('glGetVertexAttribLdvEXT');
  8421. end;
  8422. {$EndIf}
  8423. {$IfDef GL_EXT_vertex_shader}
  8424. if GL_EXT_vertex_shader then
  8425. begin
  8426. glBeginVertexShaderEXT := gl_GetProc('glBeginVertexShaderEXT');
  8427. glEndVertexShaderEXT := gl_GetProc('glEndVertexShaderEXT');
  8428. glBindVertexShaderEXT := gl_GetProc('glBindVertexShaderEXT');
  8429. glGenVertexShadersEXT := gl_GetProc('glGenVertexShadersEXT');
  8430. glDeleteVertexShaderEXT := gl_GetProc('glDeleteVertexShaderEXT');
  8431. glShaderOp1EXT := gl_GetProc('glShaderOp1EXT');
  8432. glShaderOp2EXT := gl_GetProc('glShaderOp2EXT');
  8433. glShaderOp3EXT := gl_GetProc('glShaderOp3EXT');
  8434. glSwizzleEXT := gl_GetProc('glSwizzleEXT');
  8435. glWriteMaskEXT := gl_GetProc('glWriteMaskEXT');
  8436. glInsertComponentEXT := gl_GetProc('glInsertComponentEXT');
  8437. glExtractComponentEXT := gl_GetProc('glExtractComponentEXT');
  8438. glGenSymbolsEXT := gl_GetProc('glGenSymbolsEXT');
  8439. glSetInvariantEXT := gl_GetProc('glSetInvariantEXT');
  8440. glSetLocalConstantEXT := gl_GetProc('glSetLocalConstantEXT');
  8441. glVariantbvEXT := gl_GetProc('glVariantbvEXT');
  8442. glVariantsvEXT := gl_GetProc('glVariantsvEXT');
  8443. glVariantivEXT := gl_GetProc('glVariantivEXT');
  8444. glVariantfvEXT := gl_GetProc('glVariantfvEXT');
  8445. glVariantdvEXT := gl_GetProc('glVariantdvEXT');
  8446. glVariantubvEXT := gl_GetProc('glVariantubvEXT');
  8447. glVariantusvEXT := gl_GetProc('glVariantusvEXT');
  8448. glVariantuivEXT := gl_GetProc('glVariantuivEXT');
  8449. glVariantPointerEXT := gl_GetProc('glVariantPointerEXT');
  8450. glEnableVariantClientStateEXT := gl_GetProc('glEnableVariantClientStateEXT');
  8451. glDisableVariantClientStateEXT := gl_GetProc('glDisableVariantClientStateEXT');
  8452. glBindLightParameterEXT := gl_GetProc('glBindLightParameterEXT');
  8453. glBindMaterialParameterEXT := gl_GetProc('glBindMaterialParameterEXT');
  8454. glBindTexGenParameterEXT := gl_GetProc('glBindTexGenParameterEXT');
  8455. glBindTextureUnitParameterEXT := gl_GetProc('glBindTextureUnitParameterEXT');
  8456. glBindParameterEXT := gl_GetProc('glBindParameterEXT');
  8457. glIsVariantEnabledEXT := gl_GetProc('glIsVariantEnabledEXT');
  8458. glGetVariantBooleanvEXT := gl_GetProc('glGetVariantBooleanvEXT');
  8459. glGetVariantIntegervEXT := gl_GetProc('glGetVariantIntegervEXT');
  8460. glGetVariantFloatvEXT := gl_GetProc('glGetVariantFloatvEXT');
  8461. glGetVariantPointervEXT := gl_GetProc('glGetVariantPointervEXT');
  8462. glGetInvariantBooleanvEXT := gl_GetProc('glGetInvariantBooleanvEXT');
  8463. glGetInvariantIntegervEXT := gl_GetProc('glGetInvariantIntegervEXT');
  8464. glGetInvariantFloatvEXT := gl_GetProc('glGetInvariantFloatvEXT');
  8465. glGetLocalConstantBooleanvEXT := gl_GetProc('glGetLocalConstantBooleanvEXT');
  8466. glGetLocalConstantIntegervEXT := gl_GetProc('glGetLocalConstantIntegervEXT');
  8467. glGetLocalConstantFloatvEXT := gl_GetProc('glGetLocalConstantFloatvEXT');
  8468. end;
  8469. {$EndIf}
  8470. {$IfDef GL_EXT_vertex_weighting}
  8471. if GL_EXT_vertex_weighting then
  8472. begin
  8473. glVertexWeightfEXT := gl_GetProc('glVertexWeightfEXT');
  8474. glVertexWeightfvEXT := gl_GetProc('glVertexWeightfvEXT');
  8475. glVertexWeightPointerEXT := gl_GetProc('glVertexWeightPointerEXT');
  8476. end;
  8477. {$EndIf}
  8478. {$IfDef GL_EXT_win32_keyed_mutex}
  8479. if GL_EXT_win32_keyed_mutex then
  8480. begin
  8481. glAcquireKeyedMutexWin32EXT := gl_GetProc('glAcquireKeyedMutexWin32EXT');
  8482. glReleaseKeyedMutexWin32EXT := gl_GetProc('glReleaseKeyedMutexWin32EXT');
  8483. end;
  8484. {$EndIf}
  8485. {$IfDef GL_EXT_window_rectangles}
  8486. if GL_EXT_window_rectangles then
  8487. glWindowRectanglesEXT := gl_GetProc('glWindowRectanglesEXT');
  8488. {$EndIf}
  8489. {$IfDef GL_EXT_x11_sync_object}
  8490. if GL_EXT_x11_sync_object then
  8491. glImportSyncEXT := gl_GetProc('glImportSyncEXT');
  8492. {$EndIf}
  8493. {$IfDef GL_GREMEDY_frame_terminator}
  8494. if GL_GREMEDY_frame_terminator then
  8495. glFrameTerminatorGREMEDY := gl_GetProc('glFrameTerminatorGREMEDY');
  8496. {$EndIf}
  8497. {$IfDef GL_GREMEDY_string_marker}
  8498. if GL_GREMEDY_string_marker then
  8499. glStringMarkerGREMEDY := gl_GetProc('glStringMarkerGREMEDY');
  8500. {$EndIf}
  8501. {$IfDef GL_HP_image_transform}
  8502. if GL_HP_image_transform then
  8503. begin
  8504. glImageTransformParameteriHP := gl_GetProc('glImageTransformParameteriHP');
  8505. glImageTransformParameterfHP := gl_GetProc('glImageTransformParameterfHP');
  8506. glImageTransformParameterivHP := gl_GetProc('glImageTransformParameterivHP');
  8507. glImageTransformParameterfvHP := gl_GetProc('glImageTransformParameterfvHP');
  8508. glGetImageTransformParameterivHP := gl_GetProc('glGetImageTransformParameterivHP');
  8509. glGetImageTransformParameterfvHP := gl_GetProc('glGetImageTransformParameterfvHP');
  8510. end;
  8511. {$EndIf}
  8512. {$IfDef GL_IBM_multimode_draw_arrays}
  8513. if GL_IBM_multimode_draw_arrays then
  8514. begin
  8515. glMultiModeDrawArraysIBM := gl_GetProc('glMultiModeDrawArraysIBM');
  8516. glMultiModeDrawElementsIBM := gl_GetProc('glMultiModeDrawElementsIBM');
  8517. end;
  8518. {$EndIf}
  8519. {$IfDef GL_IBM_static_data}
  8520. if GL_IBM_static_data then
  8521. glFlushStaticDataIBM := gl_GetProc('glFlushStaticDataIBM');
  8522. {$EndIf}
  8523. {$IfDef GL_IBM_vertex_array_lists}
  8524. if GL_IBM_vertex_array_lists then
  8525. begin
  8526. glColorPointerListIBM := gl_GetProc('glColorPointerListIBM');
  8527. glSecondaryColorPointerListIBM := gl_GetProc('glSecondaryColorPointerListIBM');
  8528. glEdgeFlagPointerListIBM := gl_GetProc('glEdgeFlagPointerListIBM');
  8529. glFogCoordPointerListIBM := gl_GetProc('glFogCoordPointerListIBM');
  8530. glIndexPointerListIBM := gl_GetProc('glIndexPointerListIBM');
  8531. glNormalPointerListIBM := gl_GetProc('glNormalPointerListIBM');
  8532. glTexCoordPointerListIBM := gl_GetProc('glTexCoordPointerListIBM');
  8533. glVertexPointerListIBM := gl_GetProc('glVertexPointerListIBM');
  8534. end;
  8535. {$EndIf}
  8536. {$IfDef GL_INGR_blend_func_separate}
  8537. if GL_INGR_blend_func_separate then
  8538. glBlendFuncSeparateINGR := gl_GetProc('glBlendFuncSeparateINGR');
  8539. {$EndIf}
  8540. {$IfDef GL_INTEL_framebuffer_CMAA}
  8541. if GL_INTEL_framebuffer_CMAA then
  8542. glApplyFramebufferAttachmentCMAAINTEL := gl_GetProc('glApplyFramebufferAttachmentCMAAINTEL');
  8543. {$EndIf}
  8544. {$IfDef GL_INTEL_map_texture}
  8545. if GL_INTEL_map_texture then
  8546. begin
  8547. glSyncTextureINTEL := gl_GetProc('glSyncTextureINTEL');
  8548. glUnmapTexture2DINTEL := gl_GetProc('glUnmapTexture2DINTEL');
  8549. glMapTexture2DINTEL := gl_GetProc('glMapTexture2DINTEL');
  8550. end;
  8551. {$EndIf}
  8552. {$IfDef GL_INTEL_parallel_arrays}
  8553. if GL_INTEL_parallel_arrays then
  8554. begin
  8555. glVertexPointervINTEL := gl_GetProc('glVertexPointervINTEL');
  8556. glNormalPointervINTEL := gl_GetProc('glNormalPointervINTEL');
  8557. glColorPointervINTEL := gl_GetProc('glColorPointervINTEL');
  8558. glTexCoordPointervINTEL := gl_GetProc('glTexCoordPointervINTEL');
  8559. end;
  8560. {$EndIf}
  8561. {$IfDef GL_INTEL_performance_query}
  8562. if GL_INTEL_performance_query then
  8563. begin
  8564. glBeginPerfQueryINTEL := gl_GetProc('glBeginPerfQueryINTEL');
  8565. glCreatePerfQueryINTEL := gl_GetProc('glCreatePerfQueryINTEL');
  8566. glDeletePerfQueryINTEL := gl_GetProc('glDeletePerfQueryINTEL');
  8567. glEndPerfQueryINTEL := gl_GetProc('glEndPerfQueryINTEL');
  8568. glGetFirstPerfQueryIdINTEL := gl_GetProc('glGetFirstPerfQueryIdINTEL');
  8569. glGetNextPerfQueryIdINTEL := gl_GetProc('glGetNextPerfQueryIdINTEL');
  8570. glGetPerfCounterInfoINTEL := gl_GetProc('glGetPerfCounterInfoINTEL');
  8571. glGetPerfQueryDataINTEL := gl_GetProc('glGetPerfQueryDataINTEL');
  8572. glGetPerfQueryIdByNameINTEL := gl_GetProc('glGetPerfQueryIdByNameINTEL');
  8573. glGetPerfQueryInfoINTEL := gl_GetProc('glGetPerfQueryInfoINTEL');
  8574. end;
  8575. {$EndIf}
  8576. {$IfDef GL_MESA_framebuffer_flip_y}
  8577. if GL_MESA_framebuffer_flip_y then
  8578. begin
  8579. glFramebufferParameteriMESA := gl_GetProc('glFramebufferParameteriMESA');
  8580. glGetFramebufferParameterivMESA := gl_GetProc('glGetFramebufferParameterivMESA');
  8581. end;
  8582. {$EndIf}
  8583. {$IfDef GL_MESA_resize_buffers}
  8584. if GL_MESA_resize_buffers then
  8585. glResizeBuffersMESA := gl_GetProc('glResizeBuffersMESA');
  8586. {$EndIf}
  8587. {$IfDef GL_MESA_window_pos}
  8588. if GL_MESA_window_pos then
  8589. begin
  8590. glWindowPos2dMESA := gl_GetProc('glWindowPos2dMESA');
  8591. glWindowPos2dvMESA := gl_GetProc('glWindowPos2dvMESA');
  8592. glWindowPos2fMESA := gl_GetProc('glWindowPos2fMESA');
  8593. glWindowPos2fvMESA := gl_GetProc('glWindowPos2fvMESA');
  8594. glWindowPos2iMESA := gl_GetProc('glWindowPos2iMESA');
  8595. glWindowPos2ivMESA := gl_GetProc('glWindowPos2ivMESA');
  8596. glWindowPos2sMESA := gl_GetProc('glWindowPos2sMESA');
  8597. glWindowPos2svMESA := gl_GetProc('glWindowPos2svMESA');
  8598. glWindowPos3dMESA := gl_GetProc('glWindowPos3dMESA');
  8599. glWindowPos3dvMESA := gl_GetProc('glWindowPos3dvMESA');
  8600. glWindowPos3fMESA := gl_GetProc('glWindowPos3fMESA');
  8601. glWindowPos3fvMESA := gl_GetProc('glWindowPos3fvMESA');
  8602. glWindowPos3iMESA := gl_GetProc('glWindowPos3iMESA');
  8603. glWindowPos3ivMESA := gl_GetProc('glWindowPos3ivMESA');
  8604. glWindowPos3sMESA := gl_GetProc('glWindowPos3sMESA');
  8605. glWindowPos3svMESA := gl_GetProc('glWindowPos3svMESA');
  8606. glWindowPos4dMESA := gl_GetProc('glWindowPos4dMESA');
  8607. glWindowPos4dvMESA := gl_GetProc('glWindowPos4dvMESA');
  8608. glWindowPos4fMESA := gl_GetProc('glWindowPos4fMESA');
  8609. glWindowPos4fvMESA := gl_GetProc('glWindowPos4fvMESA');
  8610. glWindowPos4iMESA := gl_GetProc('glWindowPos4iMESA');
  8611. glWindowPos4ivMESA := gl_GetProc('glWindowPos4ivMESA');
  8612. glWindowPos4sMESA := gl_GetProc('glWindowPos4sMESA');
  8613. glWindowPos4svMESA := gl_GetProc('glWindowPos4svMESA');
  8614. end;
  8615. {$EndIf}
  8616. {$IfDef GL_NVX_conditional_render}
  8617. if GL_NVX_conditional_render then
  8618. begin
  8619. glBeginConditionalRenderNVX := gl_GetProc('glBeginConditionalRenderNVX');
  8620. glEndConditionalRenderNVX := gl_GetProc('glEndConditionalRenderNVX');
  8621. end;
  8622. {$EndIf}
  8623. {$IfDef GL_NVX_gpu_multicast2}
  8624. if GL_NVX_gpu_multicast2 then
  8625. begin
  8626. glUploadGpuMaskNVX := gl_GetProc('glUploadGpuMaskNVX');
  8627. glMulticastViewportArrayvNVX := gl_GetProc('glMulticastViewportArrayvNVX');
  8628. glMulticastViewportPositionWScaleNVX := gl_GetProc('glMulticastViewportPositionWScaleNVX');
  8629. glMulticastScissorArrayvNVX := gl_GetProc('glMulticastScissorArrayvNVX');
  8630. glAsyncCopyBufferSubDataNVX := gl_GetProc('glAsyncCopyBufferSubDataNVX');
  8631. glAsyncCopyImageSubDataNVX := gl_GetProc('glAsyncCopyImageSubDataNVX');
  8632. end;
  8633. {$EndIf}
  8634. {$IfDef GL_NVX_linked_gpu_multicast}
  8635. if GL_NVX_linked_gpu_multicast then
  8636. begin
  8637. glLGPUNamedBufferSubDataNVX := gl_GetProc('glLGPUNamedBufferSubDataNVX');
  8638. glLGPUCopyImageSubDataNVX := gl_GetProc('glLGPUCopyImageSubDataNVX');
  8639. glLGPUInterlockNVX := gl_GetProc('glLGPUInterlockNVX');
  8640. end;
  8641. {$EndIf}
  8642. {$IfDef GL_NVX_progress_fence}
  8643. if GL_NVX_progress_fence then
  8644. begin
  8645. glCreateProgressFenceNVX := gl_GetProc('glCreateProgressFenceNVX');
  8646. glSignalSemaphoreui64NVX := gl_GetProc('glSignalSemaphoreui64NVX');
  8647. glWaitSemaphoreui64NVX := gl_GetProc('glWaitSemaphoreui64NVX');
  8648. glClientWaitSemaphoreui64NVX := gl_GetProc('glClientWaitSemaphoreui64NVX');
  8649. end;
  8650. {$EndIf}
  8651. {$IfDef GL_NV_alpha_to_coverage_dither_control}
  8652. if GL_NV_alpha_to_coverage_dither_control then
  8653. glAlphaToCoverageDitherControlNV := gl_GetProc('glAlphaToCoverageDitherControlNV');
  8654. {$EndIf}
  8655. {$IfDef GL_NV_bindless_multi_draw_indirect}
  8656. if GL_NV_bindless_multi_draw_indirect then
  8657. begin
  8658. glMultiDrawArraysIndirectBindlessNV := gl_GetProc('glMultiDrawArraysIndirectBindlessNV');
  8659. glMultiDrawElementsIndirectBindlessNV := gl_GetProc('glMultiDrawElementsIndirectBindlessNV');
  8660. end;
  8661. {$EndIf}
  8662. {$IfDef GL_NV_bindless_multi_draw_indirect_count}
  8663. if GL_NV_bindless_multi_draw_indirect_count then
  8664. begin
  8665. glMultiDrawArraysIndirectBindlessCountNV := gl_GetProc('glMultiDrawArraysIndirectBindlessCountNV');
  8666. glMultiDrawElementsIndirectBindlessCountNV := gl_GetProc('glMultiDrawElementsIndirectBindlessCountNV');
  8667. end;
  8668. {$EndIf}
  8669. {$IfDef GL_NV_bindless_texture}
  8670. if GL_NV_bindless_texture then
  8671. begin
  8672. glGetTextureHandleNV := gl_GetProc('glGetTextureHandleNV');
  8673. glGetTextureSamplerHandleNV := gl_GetProc('glGetTextureSamplerHandleNV');
  8674. glMakeTextureHandleResidentNV := gl_GetProc('glMakeTextureHandleResidentNV');
  8675. glMakeTextureHandleNonResidentNV := gl_GetProc('glMakeTextureHandleNonResidentNV');
  8676. glGetImageHandleNV := gl_GetProc('glGetImageHandleNV');
  8677. glMakeImageHandleResidentNV := gl_GetProc('glMakeImageHandleResidentNV');
  8678. glMakeImageHandleNonResidentNV := gl_GetProc('glMakeImageHandleNonResidentNV');
  8679. glUniformHandleui64NV := gl_GetProc('glUniformHandleui64NV');
  8680. glUniformHandleui64vNV := gl_GetProc('glUniformHandleui64vNV');
  8681. glProgramUniformHandleui64NV := gl_GetProc('glProgramUniformHandleui64NV');
  8682. glProgramUniformHandleui64vNV := gl_GetProc('glProgramUniformHandleui64vNV');
  8683. glIsTextureHandleResidentNV := gl_GetProc('glIsTextureHandleResidentNV');
  8684. glIsImageHandleResidentNV := gl_GetProc('glIsImageHandleResidentNV');
  8685. end;
  8686. {$EndIf}
  8687. {$IfDef GL_NV_blend_equation_advanced}
  8688. if GL_NV_blend_equation_advanced then
  8689. begin
  8690. glBlendParameteriNV := gl_GetProc('glBlendParameteriNV');
  8691. glBlendBarrierNV := gl_GetProc('glBlendBarrierNV');
  8692. end;
  8693. {$EndIf}
  8694. {$IfDef GL_NV_clip_space_w_scaling}
  8695. if GL_NV_clip_space_w_scaling then
  8696. glViewportPositionWScaleNV := gl_GetProc('glViewportPositionWScaleNV');
  8697. {$EndIf}
  8698. {$IfDef GL_NV_command_list}
  8699. if GL_NV_command_list then
  8700. begin
  8701. glCreateStatesNV := gl_GetProc('glCreateStatesNV');
  8702. glDeleteStatesNV := gl_GetProc('glDeleteStatesNV');
  8703. glIsStateNV := gl_GetProc('glIsStateNV');
  8704. glStateCaptureNV := gl_GetProc('glStateCaptureNV');
  8705. glGetCommandHeaderNV := gl_GetProc('glGetCommandHeaderNV');
  8706. glGetStageIndexNV := gl_GetProc('glGetStageIndexNV');
  8707. glDrawCommandsNV := gl_GetProc('glDrawCommandsNV');
  8708. glDrawCommandsAddressNV := gl_GetProc('glDrawCommandsAddressNV');
  8709. glDrawCommandsStatesNV := gl_GetProc('glDrawCommandsStatesNV');
  8710. glDrawCommandsStatesAddressNV := gl_GetProc('glDrawCommandsStatesAddressNV');
  8711. glCreateCommandListsNV := gl_GetProc('glCreateCommandListsNV');
  8712. glDeleteCommandListsNV := gl_GetProc('glDeleteCommandListsNV');
  8713. glIsCommandListNV := gl_GetProc('glIsCommandListNV');
  8714. glListDrawCommandsStatesClientNV := gl_GetProc('glListDrawCommandsStatesClientNV');
  8715. glCommandListSegmentsNV := gl_GetProc('glCommandListSegmentsNV');
  8716. glCompileCommandListNV := gl_GetProc('glCompileCommandListNV');
  8717. glCallCommandListNV := gl_GetProc('glCallCommandListNV');
  8718. end;
  8719. {$EndIf}
  8720. {$IfDef GL_NV_conditional_render}
  8721. if GL_NV_conditional_render then
  8722. begin
  8723. glBeginConditionalRenderNV := gl_GetProc('glBeginConditionalRenderNV');
  8724. glEndConditionalRenderNV := gl_GetProc('glEndConditionalRenderNV');
  8725. end;
  8726. {$EndIf}
  8727. {$IfDef GL_NV_conservative_raster}
  8728. if GL_NV_conservative_raster then
  8729. glSubpixelPrecisionBiasNV := gl_GetProc('glSubpixelPrecisionBiasNV');
  8730. {$EndIf}
  8731. {$IfDef GL_NV_conservative_raster_dilate}
  8732. if GL_NV_conservative_raster_dilate then
  8733. glConservativeRasterParameterfNV := gl_GetProc('glConservativeRasterParameterfNV');
  8734. {$EndIf}
  8735. {$IfDef GL_NV_conservative_raster_pre_snap_triangles}
  8736. if GL_NV_conservative_raster_pre_snap_triangles then
  8737. glConservativeRasterParameteriNV := gl_GetProc('glConservativeRasterParameteriNV');
  8738. {$EndIf}
  8739. {$IfDef GL_NV_copy_image}
  8740. if GL_NV_copy_image then
  8741. glCopyImageSubDataNV := gl_GetProc('glCopyImageSubDataNV');
  8742. {$EndIf}
  8743. {$IfDef GL_NV_depth_buffer_float}
  8744. if GL_NV_depth_buffer_float then
  8745. begin
  8746. glDepthRangedNV := gl_GetProc('glDepthRangedNV');
  8747. glClearDepthdNV := gl_GetProc('glClearDepthdNV');
  8748. glDepthBoundsdNV := gl_GetProc('glDepthBoundsdNV');
  8749. end;
  8750. {$EndIf}
  8751. {$IfDef GL_NV_draw_texture}
  8752. if GL_NV_draw_texture then
  8753. glDrawTextureNV := gl_GetProc('glDrawTextureNV');
  8754. {$EndIf}
  8755. {$IfDef GL_NV_draw_vulkan_image}
  8756. if GL_NV_draw_vulkan_image then
  8757. begin
  8758. glDrawVkImageNV := gl_GetProc('glDrawVkImageNV');
  8759. glGetVkProcAddrNV := gl_GetProc('glGetVkProcAddrNV');
  8760. glWaitVkSemaphoreNV := gl_GetProc('glWaitVkSemaphoreNV');
  8761. glSignalVkSemaphoreNV := gl_GetProc('glSignalVkSemaphoreNV');
  8762. glSignalVkFenceNV := gl_GetProc('glSignalVkFenceNV');
  8763. end;
  8764. {$EndIf}
  8765. {$IfDef GL_NV_evaluators}
  8766. if GL_NV_evaluators then
  8767. begin
  8768. glMapControlPointsNV := gl_GetProc('glMapControlPointsNV');
  8769. glMapParameterivNV := gl_GetProc('glMapParameterivNV');
  8770. glMapParameterfvNV := gl_GetProc('glMapParameterfvNV');
  8771. glGetMapControlPointsNV := gl_GetProc('glGetMapControlPointsNV');
  8772. glGetMapParameterivNV := gl_GetProc('glGetMapParameterivNV');
  8773. glGetMapParameterfvNV := gl_GetProc('glGetMapParameterfvNV');
  8774. glGetMapAttribParameterivNV := gl_GetProc('glGetMapAttribParameterivNV');
  8775. glGetMapAttribParameterfvNV := gl_GetProc('glGetMapAttribParameterfvNV');
  8776. glEvalMapsNV := gl_GetProc('glEvalMapsNV');
  8777. end;
  8778. {$EndIf}
  8779. {$IfDef GL_NV_explicit_multisample}
  8780. if GL_NV_explicit_multisample then
  8781. begin
  8782. glGetMultisamplefvNV := gl_GetProc('glGetMultisamplefvNV');
  8783. glSampleMaskIndexedNV := gl_GetProc('glSampleMaskIndexedNV');
  8784. glTexRenderbufferNV := gl_GetProc('glTexRenderbufferNV');
  8785. end;
  8786. {$EndIf}
  8787. {$IfDef GL_NV_fence}
  8788. if GL_NV_fence then
  8789. begin
  8790. glDeleteFencesNV := gl_GetProc('glDeleteFencesNV');
  8791. glGenFencesNV := gl_GetProc('glGenFencesNV');
  8792. glIsFenceNV := gl_GetProc('glIsFenceNV');
  8793. glTestFenceNV := gl_GetProc('glTestFenceNV');
  8794. glGetFenceivNV := gl_GetProc('glGetFenceivNV');
  8795. glFinishFenceNV := gl_GetProc('glFinishFenceNV');
  8796. glSetFenceNV := gl_GetProc('glSetFenceNV');
  8797. end;
  8798. {$EndIf}
  8799. {$IfDef GL_NV_fragment_coverage_to_color}
  8800. if GL_NV_fragment_coverage_to_color then
  8801. glFragmentCoverageColorNV := gl_GetProc('glFragmentCoverageColorNV');
  8802. {$EndIf}
  8803. {$IfDef GL_NV_fragment_program}
  8804. if GL_NV_fragment_program then
  8805. begin
  8806. glProgramNamedParameter4fNV := gl_GetProc('glProgramNamedParameter4fNV');
  8807. glProgramNamedParameter4fvNV := gl_GetProc('glProgramNamedParameter4fvNV');
  8808. glProgramNamedParameter4dNV := gl_GetProc('glProgramNamedParameter4dNV');
  8809. glProgramNamedParameter4dvNV := gl_GetProc('glProgramNamedParameter4dvNV');
  8810. glGetProgramNamedParameterfvNV := gl_GetProc('glGetProgramNamedParameterfvNV');
  8811. glGetProgramNamedParameterdvNV := gl_GetProc('glGetProgramNamedParameterdvNV');
  8812. end;
  8813. {$EndIf}
  8814. {$IfDef GL_NV_framebuffer_mixed_samples}
  8815. if GL_NV_framebuffer_mixed_samples then
  8816. begin
  8817. glCoverageModulationTableNV := gl_GetProc('glCoverageModulationTableNV');
  8818. glGetCoverageModulationTableNV := gl_GetProc('glGetCoverageModulationTableNV');
  8819. glCoverageModulationNV := gl_GetProc('glCoverageModulationNV');
  8820. end;
  8821. {$EndIf}
  8822. {$IfDef GL_NV_framebuffer_multisample_coverage}
  8823. if GL_NV_framebuffer_multisample_coverage then
  8824. glRenderbufferStorageMultisampleCoverageNV := gl_GetProc('glRenderbufferStorageMultisampleCoverageNV');
  8825. {$EndIf}
  8826. {$IfDef GL_NV_geometry_program4}
  8827. if GL_NV_geometry_program4 then
  8828. begin
  8829. glProgramVertexLimitNV := gl_GetProc('glProgramVertexLimitNV');
  8830. glFramebufferTextureEXT := gl_GetProc('glFramebufferTextureEXT');
  8831. glFramebufferTextureFaceEXT := gl_GetProc('glFramebufferTextureFaceEXT');
  8832. end;
  8833. {$EndIf}
  8834. {$IfDef GL_NV_gpu_multicast}
  8835. if GL_NV_gpu_multicast then
  8836. begin
  8837. glRenderGpuMaskNV := gl_GetProc('glRenderGpuMaskNV');
  8838. glMulticastBufferSubDataNV := gl_GetProc('glMulticastBufferSubDataNV');
  8839. glMulticastCopyBufferSubDataNV := gl_GetProc('glMulticastCopyBufferSubDataNV');
  8840. glMulticastCopyImageSubDataNV := gl_GetProc('glMulticastCopyImageSubDataNV');
  8841. glMulticastBlitFramebufferNV := gl_GetProc('glMulticastBlitFramebufferNV');
  8842. glMulticastFramebufferSampleLocationsfvNV := gl_GetProc('glMulticastFramebufferSampleLocationsfvNV');
  8843. glMulticastBarrierNV := gl_GetProc('glMulticastBarrierNV');
  8844. glMulticastWaitSyncNV := gl_GetProc('glMulticastWaitSyncNV');
  8845. glMulticastGetQueryObjectivNV := gl_GetProc('glMulticastGetQueryObjectivNV');
  8846. glMulticastGetQueryObjectuivNV := gl_GetProc('glMulticastGetQueryObjectuivNV');
  8847. glMulticastGetQueryObjecti64vNV := gl_GetProc('glMulticastGetQueryObjecti64vNV');
  8848. glMulticastGetQueryObjectui64vNV := gl_GetProc('glMulticastGetQueryObjectui64vNV');
  8849. end;
  8850. {$EndIf}
  8851. {$IfDef GL_NV_gpu_program4}
  8852. if GL_NV_gpu_program4 then
  8853. begin
  8854. glProgramLocalParameterI4iNV := gl_GetProc('glProgramLocalParameterI4iNV');
  8855. glProgramLocalParameterI4ivNV := gl_GetProc('glProgramLocalParameterI4ivNV');
  8856. glProgramLocalParametersI4ivNV := gl_GetProc('glProgramLocalParametersI4ivNV');
  8857. glProgramLocalParameterI4uiNV := gl_GetProc('glProgramLocalParameterI4uiNV');
  8858. glProgramLocalParameterI4uivNV := gl_GetProc('glProgramLocalParameterI4uivNV');
  8859. glProgramLocalParametersI4uivNV := gl_GetProc('glProgramLocalParametersI4uivNV');
  8860. glProgramEnvParameterI4iNV := gl_GetProc('glProgramEnvParameterI4iNV');
  8861. glProgramEnvParameterI4ivNV := gl_GetProc('glProgramEnvParameterI4ivNV');
  8862. glProgramEnvParametersI4ivNV := gl_GetProc('glProgramEnvParametersI4ivNV');
  8863. glProgramEnvParameterI4uiNV := gl_GetProc('glProgramEnvParameterI4uiNV');
  8864. glProgramEnvParameterI4uivNV := gl_GetProc('glProgramEnvParameterI4uivNV');
  8865. glProgramEnvParametersI4uivNV := gl_GetProc('glProgramEnvParametersI4uivNV');
  8866. glGetProgramLocalParameterIivNV := gl_GetProc('glGetProgramLocalParameterIivNV');
  8867. glGetProgramLocalParameterIuivNV := gl_GetProc('glGetProgramLocalParameterIuivNV');
  8868. glGetProgramEnvParameterIivNV := gl_GetProc('glGetProgramEnvParameterIivNV');
  8869. glGetProgramEnvParameterIuivNV := gl_GetProc('glGetProgramEnvParameterIuivNV');
  8870. end;
  8871. {$EndIf}
  8872. {$IfDef GL_NV_gpu_program5}
  8873. if GL_NV_gpu_program5 then
  8874. begin
  8875. glProgramSubroutineParametersuivNV := gl_GetProc('glProgramSubroutineParametersuivNV');
  8876. glGetProgramSubroutineParameteruivNV := gl_GetProc('glGetProgramSubroutineParameteruivNV');
  8877. end;
  8878. {$EndIf}
  8879. {$IfDef GL_NV_half_float}
  8880. if GL_NV_half_float then
  8881. begin
  8882. glVertex2hNV := gl_GetProc('glVertex2hNV');
  8883. glVertex2hvNV := gl_GetProc('glVertex2hvNV');
  8884. glVertex3hNV := gl_GetProc('glVertex3hNV');
  8885. glVertex3hvNV := gl_GetProc('glVertex3hvNV');
  8886. glVertex4hNV := gl_GetProc('glVertex4hNV');
  8887. glVertex4hvNV := gl_GetProc('glVertex4hvNV');
  8888. glNormal3hNV := gl_GetProc('glNormal3hNV');
  8889. glNormal3hvNV := gl_GetProc('glNormal3hvNV');
  8890. glColor3hNV := gl_GetProc('glColor3hNV');
  8891. glColor3hvNV := gl_GetProc('glColor3hvNV');
  8892. glColor4hNV := gl_GetProc('glColor4hNV');
  8893. glColor4hvNV := gl_GetProc('glColor4hvNV');
  8894. glTexCoord1hNV := gl_GetProc('glTexCoord1hNV');
  8895. glTexCoord1hvNV := gl_GetProc('glTexCoord1hvNV');
  8896. glTexCoord2hNV := gl_GetProc('glTexCoord2hNV');
  8897. glTexCoord2hvNV := gl_GetProc('glTexCoord2hvNV');
  8898. glTexCoord3hNV := gl_GetProc('glTexCoord3hNV');
  8899. glTexCoord3hvNV := gl_GetProc('glTexCoord3hvNV');
  8900. glTexCoord4hNV := gl_GetProc('glTexCoord4hNV');
  8901. glTexCoord4hvNV := gl_GetProc('glTexCoord4hvNV');
  8902. glMultiTexCoord1hNV := gl_GetProc('glMultiTexCoord1hNV');
  8903. glMultiTexCoord1hvNV := gl_GetProc('glMultiTexCoord1hvNV');
  8904. glMultiTexCoord2hNV := gl_GetProc('glMultiTexCoord2hNV');
  8905. glMultiTexCoord2hvNV := gl_GetProc('glMultiTexCoord2hvNV');
  8906. glMultiTexCoord3hNV := gl_GetProc('glMultiTexCoord3hNV');
  8907. glMultiTexCoord3hvNV := gl_GetProc('glMultiTexCoord3hvNV');
  8908. glMultiTexCoord4hNV := gl_GetProc('glMultiTexCoord4hNV');
  8909. glMultiTexCoord4hvNV := gl_GetProc('glMultiTexCoord4hvNV');
  8910. glFogCoordhNV := gl_GetProc('glFogCoordhNV');
  8911. glFogCoordhvNV := gl_GetProc('glFogCoordhvNV');
  8912. glSecondaryColor3hNV := gl_GetProc('glSecondaryColor3hNV');
  8913. glSecondaryColor3hvNV := gl_GetProc('glSecondaryColor3hvNV');
  8914. glVertexWeighthNV := gl_GetProc('glVertexWeighthNV');
  8915. glVertexWeighthvNV := gl_GetProc('glVertexWeighthvNV');
  8916. glVertexAttrib1hNV := gl_GetProc('glVertexAttrib1hNV');
  8917. glVertexAttrib1hvNV := gl_GetProc('glVertexAttrib1hvNV');
  8918. glVertexAttrib2hNV := gl_GetProc('glVertexAttrib2hNV');
  8919. glVertexAttrib2hvNV := gl_GetProc('glVertexAttrib2hvNV');
  8920. glVertexAttrib3hNV := gl_GetProc('glVertexAttrib3hNV');
  8921. glVertexAttrib3hvNV := gl_GetProc('glVertexAttrib3hvNV');
  8922. glVertexAttrib4hNV := gl_GetProc('glVertexAttrib4hNV');
  8923. glVertexAttrib4hvNV := gl_GetProc('glVertexAttrib4hvNV');
  8924. glVertexAttribs1hvNV := gl_GetProc('glVertexAttribs1hvNV');
  8925. glVertexAttribs2hvNV := gl_GetProc('glVertexAttribs2hvNV');
  8926. glVertexAttribs3hvNV := gl_GetProc('glVertexAttribs3hvNV');
  8927. glVertexAttribs4hvNV := gl_GetProc('glVertexAttribs4hvNV');
  8928. end;
  8929. {$EndIf}
  8930. {$IfDef GL_NV_internalformat_sample_query}
  8931. if GL_NV_internalformat_sample_query then
  8932. glGetInternalformatSampleivNV := gl_GetProc('glGetInternalformatSampleivNV');
  8933. {$EndIf}
  8934. {$IfDef GL_NV_memory_attachment}
  8935. if GL_NV_memory_attachment then
  8936. begin
  8937. glGetMemoryObjectDetachedResourcesuivNV := gl_GetProc('glGetMemoryObjectDetachedResourcesuivNV');
  8938. glResetMemoryObjectParameterNV := gl_GetProc('glResetMemoryObjectParameterNV');
  8939. glTexAttachMemoryNV := gl_GetProc('glTexAttachMemoryNV');
  8940. glBufferAttachMemoryNV := gl_GetProc('glBufferAttachMemoryNV');
  8941. glTextureAttachMemoryNV := gl_GetProc('glTextureAttachMemoryNV');
  8942. glNamedBufferAttachMemoryNV := gl_GetProc('glNamedBufferAttachMemoryNV');
  8943. end;
  8944. {$EndIf}
  8945. {$IfDef GL_NV_memory_object_sparse}
  8946. if GL_NV_memory_object_sparse then
  8947. begin
  8948. glBufferPageCommitmentMemNV := gl_GetProc('glBufferPageCommitmentMemNV');
  8949. glTexPageCommitmentMemNV := gl_GetProc('glTexPageCommitmentMemNV');
  8950. glNamedBufferPageCommitmentMemNV := gl_GetProc('glNamedBufferPageCommitmentMemNV');
  8951. glTexturePageCommitmentMemNV := gl_GetProc('glTexturePageCommitmentMemNV');
  8952. end;
  8953. {$EndIf}
  8954. {$IfDef GL_NV_mesh_shader}
  8955. if GL_NV_mesh_shader then
  8956. begin
  8957. glDrawMeshTasksNV := gl_GetProc('glDrawMeshTasksNV');
  8958. glDrawMeshTasksIndirectNV := gl_GetProc('glDrawMeshTasksIndirectNV');
  8959. glMultiDrawMeshTasksIndirectNV := gl_GetProc('glMultiDrawMeshTasksIndirectNV');
  8960. glMultiDrawMeshTasksIndirectCountNV := gl_GetProc('glMultiDrawMeshTasksIndirectCountNV');
  8961. end;
  8962. {$EndIf}
  8963. {$IfDef GL_NV_occlusion_query}
  8964. if GL_NV_occlusion_query then
  8965. begin
  8966. glGenOcclusionQueriesNV := gl_GetProc('glGenOcclusionQueriesNV');
  8967. glDeleteOcclusionQueriesNV := gl_GetProc('glDeleteOcclusionQueriesNV');
  8968. glIsOcclusionQueryNV := gl_GetProc('glIsOcclusionQueryNV');
  8969. glBeginOcclusionQueryNV := gl_GetProc('glBeginOcclusionQueryNV');
  8970. glEndOcclusionQueryNV := gl_GetProc('glEndOcclusionQueryNV');
  8971. glGetOcclusionQueryivNV := gl_GetProc('glGetOcclusionQueryivNV');
  8972. glGetOcclusionQueryuivNV := gl_GetProc('glGetOcclusionQueryuivNV');
  8973. end;
  8974. {$EndIf}
  8975. {$IfDef GL_NV_parameter_buffer_object}
  8976. if GL_NV_parameter_buffer_object then
  8977. begin
  8978. glProgramBufferParametersfvNV := gl_GetProc('glProgramBufferParametersfvNV');
  8979. glProgramBufferParametersIivNV := gl_GetProc('glProgramBufferParametersIivNV');
  8980. glProgramBufferParametersIuivNV := gl_GetProc('glProgramBufferParametersIuivNV');
  8981. end;
  8982. {$EndIf}
  8983. {$IfDef GL_NV_path_rendering}
  8984. if GL_NV_path_rendering then
  8985. begin
  8986. glGenPathsNV := gl_GetProc('glGenPathsNV');
  8987. glDeletePathsNV := gl_GetProc('glDeletePathsNV');
  8988. glIsPathNV := gl_GetProc('glIsPathNV');
  8989. glPathCommandsNV := gl_GetProc('glPathCommandsNV');
  8990. glPathCoordsNV := gl_GetProc('glPathCoordsNV');
  8991. glPathSubCommandsNV := gl_GetProc('glPathSubCommandsNV');
  8992. glPathSubCoordsNV := gl_GetProc('glPathSubCoordsNV');
  8993. glPathStringNV := gl_GetProc('glPathStringNV');
  8994. glPathGlyphsNV := gl_GetProc('glPathGlyphsNV');
  8995. glPathGlyphRangeNV := gl_GetProc('glPathGlyphRangeNV');
  8996. glWeightPathsNV := gl_GetProc('glWeightPathsNV');
  8997. glCopyPathNV := gl_GetProc('glCopyPathNV');
  8998. glInterpolatePathsNV := gl_GetProc('glInterpolatePathsNV');
  8999. glTransformPathNV := gl_GetProc('glTransformPathNV');
  9000. glPathParameterivNV := gl_GetProc('glPathParameterivNV');
  9001. glPathParameteriNV := gl_GetProc('glPathParameteriNV');
  9002. glPathParameterfvNV := gl_GetProc('glPathParameterfvNV');
  9003. glPathParameterfNV := gl_GetProc('glPathParameterfNV');
  9004. glPathDashArrayNV := gl_GetProc('glPathDashArrayNV');
  9005. glPathStencilFuncNV := gl_GetProc('glPathStencilFuncNV');
  9006. glPathStencilDepthOffsetNV := gl_GetProc('glPathStencilDepthOffsetNV');
  9007. glStencilFillPathNV := gl_GetProc('glStencilFillPathNV');
  9008. glStencilStrokePathNV := gl_GetProc('glStencilStrokePathNV');
  9009. glStencilFillPathInstancedNV := gl_GetProc('glStencilFillPathInstancedNV');
  9010. glStencilStrokePathInstancedNV := gl_GetProc('glStencilStrokePathInstancedNV');
  9011. glPathCoverDepthFuncNV := gl_GetProc('glPathCoverDepthFuncNV');
  9012. glCoverFillPathNV := gl_GetProc('glCoverFillPathNV');
  9013. glCoverStrokePathNV := gl_GetProc('glCoverStrokePathNV');
  9014. glCoverFillPathInstancedNV := gl_GetProc('glCoverFillPathInstancedNV');
  9015. glCoverStrokePathInstancedNV := gl_GetProc('glCoverStrokePathInstancedNV');
  9016. glGetPathParameterivNV := gl_GetProc('glGetPathParameterivNV');
  9017. glGetPathParameterfvNV := gl_GetProc('glGetPathParameterfvNV');
  9018. glGetPathCommandsNV := gl_GetProc('glGetPathCommandsNV');
  9019. glGetPathCoordsNV := gl_GetProc('glGetPathCoordsNV');
  9020. glGetPathDashArrayNV := gl_GetProc('glGetPathDashArrayNV');
  9021. glGetPathMetricsNV := gl_GetProc('glGetPathMetricsNV');
  9022. glGetPathMetricRangeNV := gl_GetProc('glGetPathMetricRangeNV');
  9023. glGetPathSpacingNV := gl_GetProc('glGetPathSpacingNV');
  9024. glIsPointInFillPathNV := gl_GetProc('glIsPointInFillPathNV');
  9025. glIsPointInStrokePathNV := gl_GetProc('glIsPointInStrokePathNV');
  9026. glGetPathLengthNV := gl_GetProc('glGetPathLengthNV');
  9027. glPointAlongPathNV := gl_GetProc('glPointAlongPathNV');
  9028. glMatrixLoad3x2fNV := gl_GetProc('glMatrixLoad3x2fNV');
  9029. glMatrixLoad3x3fNV := gl_GetProc('glMatrixLoad3x3fNV');
  9030. glMatrixLoadTranspose3x3fNV := gl_GetProc('glMatrixLoadTranspose3x3fNV');
  9031. glMatrixMult3x2fNV := gl_GetProc('glMatrixMult3x2fNV');
  9032. glMatrixMult3x3fNV := gl_GetProc('glMatrixMult3x3fNV');
  9033. glMatrixMultTranspose3x3fNV := gl_GetProc('glMatrixMultTranspose3x3fNV');
  9034. glStencilThenCoverFillPathNV := gl_GetProc('glStencilThenCoverFillPathNV');
  9035. glStencilThenCoverStrokePathNV := gl_GetProc('glStencilThenCoverStrokePathNV');
  9036. glStencilThenCoverFillPathInstancedNV := gl_GetProc('glStencilThenCoverFillPathInstancedNV');
  9037. glStencilThenCoverStrokePathInstancedNV := gl_GetProc('glStencilThenCoverStrokePathInstancedNV');
  9038. glPathGlyphIndexRangeNV := gl_GetProc('glPathGlyphIndexRangeNV');
  9039. glPathGlyphIndexArrayNV := gl_GetProc('glPathGlyphIndexArrayNV');
  9040. glPathMemoryGlyphIndexArrayNV := gl_GetProc('glPathMemoryGlyphIndexArrayNV');
  9041. glProgramPathFragmentInputGenNV := gl_GetProc('glProgramPathFragmentInputGenNV');
  9042. glGetProgramResourcefvNV := gl_GetProc('glGetProgramResourcefvNV');
  9043. {$IfNDef USE_GLCORE}
  9044. glPathColorGenNV := gl_GetProc('glPathColorGenNV');
  9045. glPathTexGenNV := gl_GetProc('glPathTexGenNV');
  9046. glPathFogGenNV := gl_GetProc('glPathFogGenNV');
  9047. glGetPathColorGenivNV := gl_GetProc('glGetPathColorGenivNV');
  9048. glGetPathColorGenfvNV := gl_GetProc('glGetPathColorGenfvNV');
  9049. glGetPathTexGenivNV := gl_GetProc('glGetPathTexGenivNV');
  9050. glGetPathTexGenfvNV := gl_GetProc('glGetPathTexGenfvNV');
  9051. {$EndIf}
  9052. end;
  9053. {$EndIf}
  9054. {$IfDef GL_NV_pixel_data_range}
  9055. if GL_NV_pixel_data_range then
  9056. begin
  9057. glPixelDataRangeNV := gl_GetProc('glPixelDataRangeNV');
  9058. glFlushPixelDataRangeNV := gl_GetProc('glFlushPixelDataRangeNV');
  9059. end;
  9060. {$EndIf}
  9061. {$IfDef GL_NV_point_sprite}
  9062. if GL_NV_point_sprite then
  9063. begin
  9064. glPointParameteriNV := gl_GetProc('glPointParameteriNV');
  9065. glPointParameterivNV := gl_GetProc('glPointParameterivNV');
  9066. end;
  9067. {$EndIf}
  9068. {$IfDef GL_NV_present_video}
  9069. if GL_NV_present_video then
  9070. begin
  9071. glPresentFrameKeyedNV := gl_GetProc('glPresentFrameKeyedNV');
  9072. glPresentFrameDualFillNV := gl_GetProc('glPresentFrameDualFillNV');
  9073. glGetVideoivNV := gl_GetProc('glGetVideoivNV');
  9074. glGetVideouivNV := gl_GetProc('glGetVideouivNV');
  9075. glGetVideoi64vNV := gl_GetProc('glGetVideoi64vNV');
  9076. glGetVideoui64vNV := gl_GetProc('glGetVideoui64vNV');
  9077. end;
  9078. {$EndIf}
  9079. {$IfDef GL_NV_primitive_restart}
  9080. if GL_NV_primitive_restart then
  9081. begin
  9082. glPrimitiveRestartNV := gl_GetProc('glPrimitiveRestartNV');
  9083. glPrimitiveRestartIndexNV := gl_GetProc('glPrimitiveRestartIndexNV');
  9084. end;
  9085. {$EndIf}
  9086. {$IfDef GL_NV_query_resource}
  9087. if GL_NV_query_resource then
  9088. glQueryResourceNV := gl_GetProc('glQueryResourceNV');
  9089. {$EndIf}
  9090. {$IfDef GL_NV_query_resource_tag}
  9091. if GL_NV_query_resource_tag then
  9092. begin
  9093. glGenQueryResourceTagNV := gl_GetProc('glGenQueryResourceTagNV');
  9094. glDeleteQueryResourceTagNV := gl_GetProc('glDeleteQueryResourceTagNV');
  9095. glQueryResourceTagNV := gl_GetProc('glQueryResourceTagNV');
  9096. end;
  9097. {$EndIf}
  9098. {$IfDef GL_NV_register_combiners}
  9099. if GL_NV_register_combiners then
  9100. begin
  9101. glCombinerParameterfvNV := gl_GetProc('glCombinerParameterfvNV');
  9102. glCombinerParameterfNV := gl_GetProc('glCombinerParameterfNV');
  9103. glCombinerParameterivNV := gl_GetProc('glCombinerParameterivNV');
  9104. glCombinerParameteriNV := gl_GetProc('glCombinerParameteriNV');
  9105. glCombinerInputNV := gl_GetProc('glCombinerInputNV');
  9106. glCombinerOutputNV := gl_GetProc('glCombinerOutputNV');
  9107. glFinalCombinerInputNV := gl_GetProc('glFinalCombinerInputNV');
  9108. glGetCombinerInputParameterfvNV := gl_GetProc('glGetCombinerInputParameterfvNV');
  9109. glGetCombinerInputParameterivNV := gl_GetProc('glGetCombinerInputParameterivNV');
  9110. glGetCombinerOutputParameterfvNV := gl_GetProc('glGetCombinerOutputParameterfvNV');
  9111. glGetCombinerOutputParameterivNV := gl_GetProc('glGetCombinerOutputParameterivNV');
  9112. glGetFinalCombinerInputParameterfvNV := gl_GetProc('glGetFinalCombinerInputParameterfvNV');
  9113. glGetFinalCombinerInputParameterivNV := gl_GetProc('glGetFinalCombinerInputParameterivNV');
  9114. end;
  9115. {$EndIf}
  9116. {$IfDef GL_NV_register_combiners2}
  9117. if GL_NV_register_combiners2 then
  9118. begin
  9119. glCombinerStageParameterfvNV := gl_GetProc('glCombinerStageParameterfvNV');
  9120. glGetCombinerStageParameterfvNV := gl_GetProc('glGetCombinerStageParameterfvNV');
  9121. end;
  9122. {$EndIf}
  9123. {$IfDef GL_NV_sample_locations}
  9124. if GL_NV_sample_locations then
  9125. begin
  9126. glFramebufferSampleLocationsfvNV := gl_GetProc('glFramebufferSampleLocationsfvNV');
  9127. glNamedFramebufferSampleLocationsfvNV := gl_GetProc('glNamedFramebufferSampleLocationsfvNV');
  9128. glResolveDepthValuesNV := gl_GetProc('glResolveDepthValuesNV');
  9129. end;
  9130. {$EndIf}
  9131. {$IfDef GL_NV_scissor_exclusive}
  9132. if GL_NV_scissor_exclusive then
  9133. begin
  9134. glScissorExclusiveNV := gl_GetProc('glScissorExclusiveNV');
  9135. glScissorExclusiveArrayvNV := gl_GetProc('glScissorExclusiveArrayvNV');
  9136. end;
  9137. {$EndIf}
  9138. {$IfDef GL_NV_shader_buffer_load}
  9139. if GL_NV_shader_buffer_load then
  9140. begin
  9141. glMakeBufferResidentNV := gl_GetProc('glMakeBufferResidentNV');
  9142. glMakeBufferNonResidentNV := gl_GetProc('glMakeBufferNonResidentNV');
  9143. glIsBufferResidentNV := gl_GetProc('glIsBufferResidentNV');
  9144. glMakeNamedBufferResidentNV := gl_GetProc('glMakeNamedBufferResidentNV');
  9145. glMakeNamedBufferNonResidentNV := gl_GetProc('glMakeNamedBufferNonResidentNV');
  9146. glIsNamedBufferResidentNV := gl_GetProc('glIsNamedBufferResidentNV');
  9147. glGetBufferParameterui64vNV := gl_GetProc('glGetBufferParameterui64vNV');
  9148. glGetNamedBufferParameterui64vNV := gl_GetProc('glGetNamedBufferParameterui64vNV');
  9149. glGetIntegerui64vNV := gl_GetProc('glGetIntegerui64vNV');
  9150. glUniformui64NV := gl_GetProc('glUniformui64NV');
  9151. glUniformui64vNV := gl_GetProc('glUniformui64vNV');
  9152. glProgramUniformui64NV := gl_GetProc('glProgramUniformui64NV');
  9153. glProgramUniformui64vNV := gl_GetProc('glProgramUniformui64vNV');
  9154. end;
  9155. {$EndIf}
  9156. {$IfDef GL_NV_shading_rate_image}
  9157. if GL_NV_shading_rate_image then
  9158. begin
  9159. glBindShadingRateImageNV := gl_GetProc('glBindShadingRateImageNV');
  9160. glGetShadingRateImagePaletteNV := gl_GetProc('glGetShadingRateImagePaletteNV');
  9161. glGetShadingRateSampleLocationivNV := gl_GetProc('glGetShadingRateSampleLocationivNV');
  9162. glShadingRateImageBarrierNV := gl_GetProc('glShadingRateImageBarrierNV');
  9163. glShadingRateImagePaletteNV := gl_GetProc('glShadingRateImagePaletteNV');
  9164. glShadingRateSampleOrderNV := gl_GetProc('glShadingRateSampleOrderNV');
  9165. glShadingRateSampleOrderCustomNV := gl_GetProc('glShadingRateSampleOrderCustomNV');
  9166. end;
  9167. {$EndIf}
  9168. {$IfDef GL_NV_texture_barrier}
  9169. if GL_NV_texture_barrier then
  9170. glTextureBarrierNV := gl_GetProc('glTextureBarrierNV');
  9171. {$EndIf}
  9172. {$IfDef GL_NV_texture_multisample}
  9173. if GL_NV_texture_multisample then
  9174. begin
  9175. glTexImage2DMultisampleCoverageNV := gl_GetProc('glTexImage2DMultisampleCoverageNV');
  9176. glTexImage3DMultisampleCoverageNV := gl_GetProc('glTexImage3DMultisampleCoverageNV');
  9177. glTextureImage2DMultisampleNV := gl_GetProc('glTextureImage2DMultisampleNV');
  9178. glTextureImage3DMultisampleNV := gl_GetProc('glTextureImage3DMultisampleNV');
  9179. glTextureImage2DMultisampleCoverageNV := gl_GetProc('glTextureImage2DMultisampleCoverageNV');
  9180. glTextureImage3DMultisampleCoverageNV := gl_GetProc('glTextureImage3DMultisampleCoverageNV');
  9181. end;
  9182. {$EndIf}
  9183. {$IfDef GL_NV_timeline_semaphore}
  9184. if GL_NV_timeline_semaphore then
  9185. begin
  9186. glCreateSemaphoresNV := gl_GetProc('glCreateSemaphoresNV');
  9187. glSemaphoreParameterivNV := gl_GetProc('glSemaphoreParameterivNV');
  9188. glGetSemaphoreParameterivNV := gl_GetProc('glGetSemaphoreParameterivNV');
  9189. end;
  9190. {$EndIf}
  9191. {$IfDef GL_NV_transform_feedback}
  9192. if GL_NV_transform_feedback then
  9193. begin
  9194. glBeginTransformFeedbackNV := gl_GetProc('glBeginTransformFeedbackNV');
  9195. glEndTransformFeedbackNV := gl_GetProc('glEndTransformFeedbackNV');
  9196. glTransformFeedbackAttribsNV := gl_GetProc('glTransformFeedbackAttribsNV');
  9197. glBindBufferRangeNV := gl_GetProc('glBindBufferRangeNV');
  9198. glBindBufferOffsetNV := gl_GetProc('glBindBufferOffsetNV');
  9199. glBindBufferBaseNV := gl_GetProc('glBindBufferBaseNV');
  9200. glTransformFeedbackVaryingsNV := gl_GetProc('glTransformFeedbackVaryingsNV');
  9201. glActiveVaryingNV := gl_GetProc('glActiveVaryingNV');
  9202. glGetVaryingLocationNV := gl_GetProc('glGetVaryingLocationNV');
  9203. glGetActiveVaryingNV := gl_GetProc('glGetActiveVaryingNV');
  9204. glGetTransformFeedbackVaryingNV := gl_GetProc('glGetTransformFeedbackVaryingNV');
  9205. glTransformFeedbackStreamAttribsNV := gl_GetProc('glTransformFeedbackStreamAttribsNV');
  9206. end;
  9207. {$EndIf}
  9208. {$IfDef GL_NV_transform_feedback2}
  9209. if GL_NV_transform_feedback2 then
  9210. begin
  9211. glBindTransformFeedbackNV := gl_GetProc('glBindTransformFeedbackNV');
  9212. glDeleteTransformFeedbacksNV := gl_GetProc('glDeleteTransformFeedbacksNV');
  9213. glGenTransformFeedbacksNV := gl_GetProc('glGenTransformFeedbacksNV');
  9214. glIsTransformFeedbackNV := gl_GetProc('glIsTransformFeedbackNV');
  9215. glPauseTransformFeedbackNV := gl_GetProc('glPauseTransformFeedbackNV');
  9216. glResumeTransformFeedbackNV := gl_GetProc('glResumeTransformFeedbackNV');
  9217. glDrawTransformFeedbackNV := gl_GetProc('glDrawTransformFeedbackNV');
  9218. end;
  9219. {$EndIf}
  9220. {$IfDef GL_NV_vdpau_interop}
  9221. if GL_NV_vdpau_interop then
  9222. begin
  9223. glVDPAUInitNV := gl_GetProc('glVDPAUInitNV');
  9224. glVDPAUFiniNV := gl_GetProc('glVDPAUFiniNV');
  9225. glVDPAURegisterVideoSurfaceNV := gl_GetProc('glVDPAURegisterVideoSurfaceNV');
  9226. glVDPAURegisterOutputSurfaceNV := gl_GetProc('glVDPAURegisterOutputSurfaceNV');
  9227. glVDPAUIsSurfaceNV := gl_GetProc('glVDPAUIsSurfaceNV');
  9228. glVDPAUUnregisterSurfaceNV := gl_GetProc('glVDPAUUnregisterSurfaceNV');
  9229. glVDPAUGetSurfaceivNV := gl_GetProc('glVDPAUGetSurfaceivNV');
  9230. glVDPAUSurfaceAccessNV := gl_GetProc('glVDPAUSurfaceAccessNV');
  9231. glVDPAUMapSurfacesNV := gl_GetProc('glVDPAUMapSurfacesNV');
  9232. glVDPAUUnmapSurfacesNV := gl_GetProc('glVDPAUUnmapSurfacesNV');
  9233. end;
  9234. {$EndIf}
  9235. {$IfDef GL_NV_vdpau_interop2}
  9236. if GL_NV_vdpau_interop2 then
  9237. glVDPAURegisterVideoSurfaceWithPictureStructureNV := gl_GetProc('glVDPAURegisterVideoSurfaceWithPictureStructureNV');
  9238. {$EndIf}
  9239. {$IfDef GL_NV_vertex_array_range}
  9240. if GL_NV_vertex_array_range then
  9241. begin
  9242. glFlushVertexArrayRangeNV := gl_GetProc('glFlushVertexArrayRangeNV');
  9243. glVertexArrayRangeNV := gl_GetProc('glVertexArrayRangeNV');
  9244. end;
  9245. {$EndIf}
  9246. {$IfDef GL_NV_vertex_attrib_integer_64bit}
  9247. if GL_NV_vertex_attrib_integer_64bit then
  9248. begin
  9249. glVertexAttribL1i64NV := gl_GetProc('glVertexAttribL1i64NV');
  9250. glVertexAttribL2i64NV := gl_GetProc('glVertexAttribL2i64NV');
  9251. glVertexAttribL3i64NV := gl_GetProc('glVertexAttribL3i64NV');
  9252. glVertexAttribL4i64NV := gl_GetProc('glVertexAttribL4i64NV');
  9253. glVertexAttribL1i64vNV := gl_GetProc('glVertexAttribL1i64vNV');
  9254. glVertexAttribL2i64vNV := gl_GetProc('glVertexAttribL2i64vNV');
  9255. glVertexAttribL3i64vNV := gl_GetProc('glVertexAttribL3i64vNV');
  9256. glVertexAttribL4i64vNV := gl_GetProc('glVertexAttribL4i64vNV');
  9257. glVertexAttribL1ui64NV := gl_GetProc('glVertexAttribL1ui64NV');
  9258. glVertexAttribL2ui64NV := gl_GetProc('glVertexAttribL2ui64NV');
  9259. glVertexAttribL3ui64NV := gl_GetProc('glVertexAttribL3ui64NV');
  9260. glVertexAttribL4ui64NV := gl_GetProc('glVertexAttribL4ui64NV');
  9261. glVertexAttribL1ui64vNV := gl_GetProc('glVertexAttribL1ui64vNV');
  9262. glVertexAttribL2ui64vNV := gl_GetProc('glVertexAttribL2ui64vNV');
  9263. glVertexAttribL3ui64vNV := gl_GetProc('glVertexAttribL3ui64vNV');
  9264. glVertexAttribL4ui64vNV := gl_GetProc('glVertexAttribL4ui64vNV');
  9265. glGetVertexAttribLi64vNV := gl_GetProc('glGetVertexAttribLi64vNV');
  9266. glGetVertexAttribLui64vNV := gl_GetProc('glGetVertexAttribLui64vNV');
  9267. glVertexAttribLFormatNV := gl_GetProc('glVertexAttribLFormatNV');
  9268. end;
  9269. {$EndIf}
  9270. {$IfDef GL_NV_vertex_buffer_unified_memory}
  9271. if GL_NV_vertex_buffer_unified_memory then
  9272. begin
  9273. glBufferAddressRangeNV := gl_GetProc('glBufferAddressRangeNV');
  9274. glVertexFormatNV := gl_GetProc('glVertexFormatNV');
  9275. glNormalFormatNV := gl_GetProc('glNormalFormatNV');
  9276. glColorFormatNV := gl_GetProc('glColorFormatNV');
  9277. glIndexFormatNV := gl_GetProc('glIndexFormatNV');
  9278. glTexCoordFormatNV := gl_GetProc('glTexCoordFormatNV');
  9279. glEdgeFlagFormatNV := gl_GetProc('glEdgeFlagFormatNV');
  9280. glSecondaryColorFormatNV := gl_GetProc('glSecondaryColorFormatNV');
  9281. glFogCoordFormatNV := gl_GetProc('glFogCoordFormatNV');
  9282. glVertexAttribFormatNV := gl_GetProc('glVertexAttribFormatNV');
  9283. glVertexAttribIFormatNV := gl_GetProc('glVertexAttribIFormatNV');
  9284. glGetIntegerui64i_vNV := gl_GetProc('glGetIntegerui64i_vNV');
  9285. end;
  9286. {$EndIf}
  9287. {$IfDef GL_NV_vertex_program}
  9288. if GL_NV_vertex_program then
  9289. begin
  9290. glAreProgramsResidentNV := gl_GetProc('glAreProgramsResidentNV');
  9291. glBindProgramNV := gl_GetProc('glBindProgramNV');
  9292. glDeleteProgramsNV := gl_GetProc('glDeleteProgramsNV');
  9293. glExecuteProgramNV := gl_GetProc('glExecuteProgramNV');
  9294. glGenProgramsNV := gl_GetProc('glGenProgramsNV');
  9295. glGetProgramParameterdvNV := gl_GetProc('glGetProgramParameterdvNV');
  9296. glGetProgramParameterfvNV := gl_GetProc('glGetProgramParameterfvNV');
  9297. glGetProgramivNV := gl_GetProc('glGetProgramivNV');
  9298. glGetProgramStringNV := gl_GetProc('glGetProgramStringNV');
  9299. glGetTrackMatrixivNV := gl_GetProc('glGetTrackMatrixivNV');
  9300. glGetVertexAttribdvNV := gl_GetProc('glGetVertexAttribdvNV');
  9301. glGetVertexAttribfvNV := gl_GetProc('glGetVertexAttribfvNV');
  9302. glGetVertexAttribivNV := gl_GetProc('glGetVertexAttribivNV');
  9303. glGetVertexAttribPointervNV := gl_GetProc('glGetVertexAttribPointervNV');
  9304. glIsProgramNV := gl_GetProc('glIsProgramNV');
  9305. glLoadProgramNV := gl_GetProc('glLoadProgramNV');
  9306. glProgramParameter4dNV := gl_GetProc('glProgramParameter4dNV');
  9307. glProgramParameter4dvNV := gl_GetProc('glProgramParameter4dvNV');
  9308. glProgramParameter4fNV := gl_GetProc('glProgramParameter4fNV');
  9309. glProgramParameter4fvNV := gl_GetProc('glProgramParameter4fvNV');
  9310. glProgramParameters4dvNV := gl_GetProc('glProgramParameters4dvNV');
  9311. glProgramParameters4fvNV := gl_GetProc('glProgramParameters4fvNV');
  9312. glRequestResidentProgramsNV := gl_GetProc('glRequestResidentProgramsNV');
  9313. glTrackMatrixNV := gl_GetProc('glTrackMatrixNV');
  9314. glVertexAttribPointerNV := gl_GetProc('glVertexAttribPointerNV');
  9315. glVertexAttrib1dNV := gl_GetProc('glVertexAttrib1dNV');
  9316. glVertexAttrib1dvNV := gl_GetProc('glVertexAttrib1dvNV');
  9317. glVertexAttrib1fNV := gl_GetProc('glVertexAttrib1fNV');
  9318. glVertexAttrib1fvNV := gl_GetProc('glVertexAttrib1fvNV');
  9319. glVertexAttrib1sNV := gl_GetProc('glVertexAttrib1sNV');
  9320. glVertexAttrib1svNV := gl_GetProc('glVertexAttrib1svNV');
  9321. glVertexAttrib2dNV := gl_GetProc('glVertexAttrib2dNV');
  9322. glVertexAttrib2dvNV := gl_GetProc('glVertexAttrib2dvNV');
  9323. glVertexAttrib2fNV := gl_GetProc('glVertexAttrib2fNV');
  9324. glVertexAttrib2fvNV := gl_GetProc('glVertexAttrib2fvNV');
  9325. glVertexAttrib2sNV := gl_GetProc('glVertexAttrib2sNV');
  9326. glVertexAttrib2svNV := gl_GetProc('glVertexAttrib2svNV');
  9327. glVertexAttrib3dNV := gl_GetProc('glVertexAttrib3dNV');
  9328. glVertexAttrib3dvNV := gl_GetProc('glVertexAttrib3dvNV');
  9329. glVertexAttrib3fNV := gl_GetProc('glVertexAttrib3fNV');
  9330. glVertexAttrib3fvNV := gl_GetProc('glVertexAttrib3fvNV');
  9331. glVertexAttrib3sNV := gl_GetProc('glVertexAttrib3sNV');
  9332. glVertexAttrib3svNV := gl_GetProc('glVertexAttrib3svNV');
  9333. glVertexAttrib4dNV := gl_GetProc('glVertexAttrib4dNV');
  9334. glVertexAttrib4dvNV := gl_GetProc('glVertexAttrib4dvNV');
  9335. glVertexAttrib4fNV := gl_GetProc('glVertexAttrib4fNV');
  9336. glVertexAttrib4fvNV := gl_GetProc('glVertexAttrib4fvNV');
  9337. glVertexAttrib4sNV := gl_GetProc('glVertexAttrib4sNV');
  9338. glVertexAttrib4svNV := gl_GetProc('glVertexAttrib4svNV');
  9339. glVertexAttrib4ubNV := gl_GetProc('glVertexAttrib4ubNV');
  9340. glVertexAttrib4ubvNV := gl_GetProc('glVertexAttrib4ubvNV');
  9341. glVertexAttribs1dvNV := gl_GetProc('glVertexAttribs1dvNV');
  9342. glVertexAttribs1fvNV := gl_GetProc('glVertexAttribs1fvNV');
  9343. glVertexAttribs1svNV := gl_GetProc('glVertexAttribs1svNV');
  9344. glVertexAttribs2dvNV := gl_GetProc('glVertexAttribs2dvNV');
  9345. glVertexAttribs2fvNV := gl_GetProc('glVertexAttribs2fvNV');
  9346. glVertexAttribs2svNV := gl_GetProc('glVertexAttribs2svNV');
  9347. glVertexAttribs3dvNV := gl_GetProc('glVertexAttribs3dvNV');
  9348. glVertexAttribs3fvNV := gl_GetProc('glVertexAttribs3fvNV');
  9349. glVertexAttribs3svNV := gl_GetProc('glVertexAttribs3svNV');
  9350. glVertexAttribs4dvNV := gl_GetProc('glVertexAttribs4dvNV');
  9351. glVertexAttribs4fvNV := gl_GetProc('glVertexAttribs4fvNV');
  9352. glVertexAttribs4svNV := gl_GetProc('glVertexAttribs4svNV');
  9353. glVertexAttribs4ubvNV := gl_GetProc('glVertexAttribs4ubvNV');
  9354. end;
  9355. {$EndIf}
  9356. {$IfDef GL_NV_video_capture}
  9357. if GL_NV_video_capture then
  9358. begin
  9359. glBeginVideoCaptureNV := gl_GetProc('glBeginVideoCaptureNV');
  9360. glBindVideoCaptureStreamBufferNV := gl_GetProc('glBindVideoCaptureStreamBufferNV');
  9361. glBindVideoCaptureStreamTextureNV := gl_GetProc('glBindVideoCaptureStreamTextureNV');
  9362. glEndVideoCaptureNV := gl_GetProc('glEndVideoCaptureNV');
  9363. glGetVideoCaptureivNV := gl_GetProc('glGetVideoCaptureivNV');
  9364. glGetVideoCaptureStreamivNV := gl_GetProc('glGetVideoCaptureStreamivNV');
  9365. glGetVideoCaptureStreamfvNV := gl_GetProc('glGetVideoCaptureStreamfvNV');
  9366. glGetVideoCaptureStreamdvNV := gl_GetProc('glGetVideoCaptureStreamdvNV');
  9367. glVideoCaptureNV := gl_GetProc('glVideoCaptureNV');
  9368. glVideoCaptureStreamParameterivNV := gl_GetProc('glVideoCaptureStreamParameterivNV');
  9369. glVideoCaptureStreamParameterfvNV := gl_GetProc('glVideoCaptureStreamParameterfvNV');
  9370. glVideoCaptureStreamParameterdvNV := gl_GetProc('glVideoCaptureStreamParameterdvNV');
  9371. end;
  9372. {$EndIf}
  9373. {$IfDef GL_NV_viewport_swizzle}
  9374. if GL_NV_viewport_swizzle then
  9375. glViewportSwizzleNV := gl_GetProc('glViewportSwizzleNV');
  9376. {$EndIf}
  9377. {$IfDef GL_OVR_multiview}
  9378. if GL_OVR_multiview then
  9379. glFramebufferTextureMultiviewOVR := gl_GetProc('glFramebufferTextureMultiviewOVR');
  9380. {$EndIf}
  9381. {$IfDef GL_PGI_misc_hints}
  9382. if GL_PGI_misc_hints then
  9383. glHintPGI := gl_GetProc('glHintPGI');
  9384. {$EndIf}
  9385. {$IfDef GL_SGIS_detail_texture}
  9386. if GL_SGIS_detail_texture then
  9387. begin
  9388. glDetailTexFuncSGIS := gl_GetProc('glDetailTexFuncSGIS');
  9389. glGetDetailTexFuncSGIS := gl_GetProc('glGetDetailTexFuncSGIS');
  9390. end;
  9391. {$EndIf}
  9392. {$IfDef GL_SGIS_fog_function}
  9393. if GL_SGIS_fog_function then
  9394. begin
  9395. glFogFuncSGIS := gl_GetProc('glFogFuncSGIS');
  9396. glGetFogFuncSGIS := gl_GetProc('glGetFogFuncSGIS');
  9397. end;
  9398. {$EndIf}
  9399. {$IfDef GL_SGIS_multisample}
  9400. if GL_SGIS_multisample then
  9401. begin
  9402. glSampleMaskSGIS := gl_GetProc('glSampleMaskSGIS');
  9403. glSamplePatternSGIS := gl_GetProc('glSamplePatternSGIS');
  9404. end;
  9405. {$EndIf}
  9406. {$IfDef GL_SGIS_pixel_texture}
  9407. if GL_SGIS_pixel_texture then
  9408. begin
  9409. glPixelTexGenParameteriSGIS := gl_GetProc('glPixelTexGenParameteriSGIS');
  9410. glPixelTexGenParameterivSGIS := gl_GetProc('glPixelTexGenParameterivSGIS');
  9411. glPixelTexGenParameterfSGIS := gl_GetProc('glPixelTexGenParameterfSGIS');
  9412. glPixelTexGenParameterfvSGIS := gl_GetProc('glPixelTexGenParameterfvSGIS');
  9413. glGetPixelTexGenParameterivSGIS := gl_GetProc('glGetPixelTexGenParameterivSGIS');
  9414. glGetPixelTexGenParameterfvSGIS := gl_GetProc('glGetPixelTexGenParameterfvSGIS');
  9415. end;
  9416. {$EndIf}
  9417. {$IfDef GL_SGIS_point_parameters}
  9418. if GL_SGIS_point_parameters then
  9419. begin
  9420. glPointParameterfSGIS := gl_GetProc('glPointParameterfSGIS');
  9421. glPointParameterfvSGIS := gl_GetProc('glPointParameterfvSGIS');
  9422. end;
  9423. {$EndIf}
  9424. {$IfDef GL_SGIS_sharpen_texture}
  9425. if GL_SGIS_sharpen_texture then
  9426. begin
  9427. glSharpenTexFuncSGIS := gl_GetProc('glSharpenTexFuncSGIS');
  9428. glGetSharpenTexFuncSGIS := gl_GetProc('glGetSharpenTexFuncSGIS');
  9429. end;
  9430. {$EndIf}
  9431. {$IfDef GL_SGIS_texture4D}
  9432. if GL_SGIS_texture4D then
  9433. begin
  9434. glTexImage4DSGIS := gl_GetProc('glTexImage4DSGIS');
  9435. glTexSubImage4DSGIS := gl_GetProc('glTexSubImage4DSGIS');
  9436. end;
  9437. {$EndIf}
  9438. {$IfDef GL_SGIS_texture_color_mask}
  9439. if GL_SGIS_texture_color_mask then
  9440. glTextureColorMaskSGIS := gl_GetProc('glTextureColorMaskSGIS');
  9441. {$EndIf}
  9442. {$IfDef GL_SGIS_texture_filter4}
  9443. if GL_SGIS_texture_filter4 then
  9444. begin
  9445. glGetTexFilterFuncSGIS := gl_GetProc('glGetTexFilterFuncSGIS');
  9446. glTexFilterFuncSGIS := gl_GetProc('glTexFilterFuncSGIS');
  9447. end;
  9448. {$EndIf}
  9449. {$IfDef GL_SGIX_async}
  9450. if GL_SGIX_async then
  9451. begin
  9452. glAsyncMarkerSGIX := gl_GetProc('glAsyncMarkerSGIX');
  9453. glFinishAsyncSGIX := gl_GetProc('glFinishAsyncSGIX');
  9454. glPollAsyncSGIX := gl_GetProc('glPollAsyncSGIX');
  9455. glGenAsyncMarkersSGIX := gl_GetProc('glGenAsyncMarkersSGIX');
  9456. glDeleteAsyncMarkersSGIX := gl_GetProc('glDeleteAsyncMarkersSGIX');
  9457. glIsAsyncMarkerSGIX := gl_GetProc('glIsAsyncMarkerSGIX');
  9458. end;
  9459. {$EndIf}
  9460. {$IfDef GL_SGIX_flush_raster}
  9461. if GL_SGIX_flush_raster then
  9462. glFlushRasterSGIX := gl_GetProc('glFlushRasterSGIX');
  9463. {$EndIf}
  9464. {$IfDef GL_SGIX_fragment_lighting}
  9465. if GL_SGIX_fragment_lighting then
  9466. begin
  9467. glFragmentColorMaterialSGIX := gl_GetProc('glFragmentColorMaterialSGIX');
  9468. glFragmentLightfSGIX := gl_GetProc('glFragmentLightfSGIX');
  9469. glFragmentLightfvSGIX := gl_GetProc('glFragmentLightfvSGIX');
  9470. glFragmentLightiSGIX := gl_GetProc('glFragmentLightiSGIX');
  9471. glFragmentLightivSGIX := gl_GetProc('glFragmentLightivSGIX');
  9472. glFragmentLightModelfSGIX := gl_GetProc('glFragmentLightModelfSGIX');
  9473. glFragmentLightModelfvSGIX := gl_GetProc('glFragmentLightModelfvSGIX');
  9474. glFragmentLightModeliSGIX := gl_GetProc('glFragmentLightModeliSGIX');
  9475. glFragmentLightModelivSGIX := gl_GetProc('glFragmentLightModelivSGIX');
  9476. glFragmentMaterialfSGIX := gl_GetProc('glFragmentMaterialfSGIX');
  9477. glFragmentMaterialfvSGIX := gl_GetProc('glFragmentMaterialfvSGIX');
  9478. glFragmentMaterialiSGIX := gl_GetProc('glFragmentMaterialiSGIX');
  9479. glFragmentMaterialivSGIX := gl_GetProc('glFragmentMaterialivSGIX');
  9480. glGetFragmentLightfvSGIX := gl_GetProc('glGetFragmentLightfvSGIX');
  9481. glGetFragmentLightivSGIX := gl_GetProc('glGetFragmentLightivSGIX');
  9482. glGetFragmentMaterialfvSGIX := gl_GetProc('glGetFragmentMaterialfvSGIX');
  9483. glGetFragmentMaterialivSGIX := gl_GetProc('glGetFragmentMaterialivSGIX');
  9484. glLightEnviSGIX := gl_GetProc('glLightEnviSGIX');
  9485. end;
  9486. {$EndIf}
  9487. {$IfDef GL_SGIX_framezoom}
  9488. if GL_SGIX_framezoom then
  9489. glFrameZoomSGIX := gl_GetProc('glFrameZoomSGIX');
  9490. {$EndIf}
  9491. {$IfDef GL_SGIX_igloo_interface}
  9492. if GL_SGIX_igloo_interface then
  9493. glIglooInterfaceSGIX := gl_GetProc('glIglooInterfaceSGIX');
  9494. {$EndIf}
  9495. {$IfDef GL_SGIX_instruments}
  9496. if GL_SGIX_instruments then
  9497. begin
  9498. glGetInstrumentsSGIX := gl_GetProc('glGetInstrumentsSGIX');
  9499. glInstrumentsBufferSGIX := gl_GetProc('glInstrumentsBufferSGIX');
  9500. glPollInstrumentsSGIX := gl_GetProc('glPollInstrumentsSGIX');
  9501. glReadInstrumentsSGIX := gl_GetProc('glReadInstrumentsSGIX');
  9502. glStartInstrumentsSGIX := gl_GetProc('glStartInstrumentsSGIX');
  9503. glStopInstrumentsSGIX := gl_GetProc('glStopInstrumentsSGIX');
  9504. end;
  9505. {$EndIf}
  9506. {$IfDef GL_SGIX_list_priority}
  9507. if GL_SGIX_list_priority then
  9508. begin
  9509. glGetListParameterfvSGIX := gl_GetProc('glGetListParameterfvSGIX');
  9510. glGetListParameterivSGIX := gl_GetProc('glGetListParameterivSGIX');
  9511. glListParameterfSGIX := gl_GetProc('glListParameterfSGIX');
  9512. glListParameterfvSGIX := gl_GetProc('glListParameterfvSGIX');
  9513. glListParameteriSGIX := gl_GetProc('glListParameteriSGIX');
  9514. glListParameterivSGIX := gl_GetProc('glListParameterivSGIX');
  9515. end;
  9516. {$EndIf}
  9517. {$IfDef GL_SGIX_pixel_texture}
  9518. if GL_SGIX_pixel_texture then
  9519. glPixelTexGenSGIX := gl_GetProc('glPixelTexGenSGIX');
  9520. {$EndIf}
  9521. {$IfDef GL_SGIX_polynomial_ffd}
  9522. if GL_SGIX_polynomial_ffd then
  9523. begin
  9524. glDeformationMap3dSGIX := gl_GetProc('glDeformationMap3dSGIX');
  9525. glDeformationMap3fSGIX := gl_GetProc('glDeformationMap3fSGIX');
  9526. glDeformSGIX := gl_GetProc('glDeformSGIX');
  9527. glLoadIdentityDeformationMapSGIX := gl_GetProc('glLoadIdentityDeformationMapSGIX');
  9528. end;
  9529. {$EndIf}
  9530. {$IfDef GL_SGIX_reference_plane}
  9531. if GL_SGIX_reference_plane then
  9532. glReferencePlaneSGIX := gl_GetProc('glReferencePlaneSGIX');
  9533. {$EndIf}
  9534. {$IfDef GL_SGIX_sprite}
  9535. if GL_SGIX_sprite then
  9536. begin
  9537. glSpriteParameterfSGIX := gl_GetProc('glSpriteParameterfSGIX');
  9538. glSpriteParameterfvSGIX := gl_GetProc('glSpriteParameterfvSGIX');
  9539. glSpriteParameteriSGIX := gl_GetProc('glSpriteParameteriSGIX');
  9540. glSpriteParameterivSGIX := gl_GetProc('glSpriteParameterivSGIX');
  9541. end;
  9542. {$EndIf}
  9543. {$IfDef GL_SGIX_tag_sample_buffer}
  9544. if GL_SGIX_tag_sample_buffer then
  9545. glTagSampleBufferSGIX := gl_GetProc('glTagSampleBufferSGIX');
  9546. {$EndIf}
  9547. {$IfDef GL_SGI_color_table}
  9548. if GL_SGI_color_table then
  9549. begin
  9550. glColorTableSGI := gl_GetProc('glColorTableSGI');
  9551. glColorTableParameterfvSGI := gl_GetProc('glColorTableParameterfvSGI');
  9552. glColorTableParameterivSGI := gl_GetProc('glColorTableParameterivSGI');
  9553. glCopyColorTableSGI := gl_GetProc('glCopyColorTableSGI');
  9554. glGetColorTableSGI := gl_GetProc('glGetColorTableSGI');
  9555. glGetColorTableParameterfvSGI := gl_GetProc('glGetColorTableParameterfvSGI');
  9556. glGetColorTableParameterivSGI := gl_GetProc('glGetColorTableParameterivSGI');
  9557. end;
  9558. {$EndIf}
  9559. {$IfDef GL_SUNX_constant_data}
  9560. if GL_SUNX_constant_data then
  9561. glFinishTextureSUNX := gl_GetProc('glFinishTextureSUNX');
  9562. {$EndIf}
  9563. {$IfDef GL_SUN_global_alpha}
  9564. if GL_SUN_global_alpha then
  9565. begin
  9566. glGlobalAlphaFactorbSUN := gl_GetProc('glGlobalAlphaFactorbSUN');
  9567. glGlobalAlphaFactorsSUN := gl_GetProc('glGlobalAlphaFactorsSUN');
  9568. glGlobalAlphaFactoriSUN := gl_GetProc('glGlobalAlphaFactoriSUN');
  9569. glGlobalAlphaFactorfSUN := gl_GetProc('glGlobalAlphaFactorfSUN');
  9570. glGlobalAlphaFactordSUN := gl_GetProc('glGlobalAlphaFactordSUN');
  9571. glGlobalAlphaFactorubSUN := gl_GetProc('glGlobalAlphaFactorubSUN');
  9572. glGlobalAlphaFactorusSUN := gl_GetProc('glGlobalAlphaFactorusSUN');
  9573. glGlobalAlphaFactoruiSUN := gl_GetProc('glGlobalAlphaFactoruiSUN');
  9574. end;
  9575. {$EndIf}
  9576. {$IfDef GL_SUN_mesh_array}
  9577. if GL_SUN_mesh_array then
  9578. glDrawMeshArraysSUN := gl_GetProc('glDrawMeshArraysSUN');
  9579. {$EndIf}
  9580. {$IfDef GL_SUN_triangle_list}
  9581. if GL_SUN_triangle_list then
  9582. begin
  9583. glReplacementCodeuiSUN := gl_GetProc('glReplacementCodeuiSUN');
  9584. glReplacementCodeusSUN := gl_GetProc('glReplacementCodeusSUN');
  9585. glReplacementCodeubSUN := gl_GetProc('glReplacementCodeubSUN');
  9586. glReplacementCodeuivSUN := gl_GetProc('glReplacementCodeuivSUN');
  9587. glReplacementCodeusvSUN := gl_GetProc('glReplacementCodeusvSUN');
  9588. glReplacementCodeubvSUN := gl_GetProc('glReplacementCodeubvSUN');
  9589. glReplacementCodePointerSUN := gl_GetProc('glReplacementCodePointerSUN');
  9590. end;
  9591. {$EndIf}
  9592. {$IfDef GL_SUN_vertex}
  9593. if GL_SUN_vertex then
  9594. begin
  9595. glColor4ubVertex2fSUN := gl_GetProc('glColor4ubVertex2fSUN');
  9596. glColor4ubVertex2fvSUN := gl_GetProc('glColor4ubVertex2fvSUN');
  9597. glColor4ubVertex3fSUN := gl_GetProc('glColor4ubVertex3fSUN');
  9598. glColor4ubVertex3fvSUN := gl_GetProc('glColor4ubVertex3fvSUN');
  9599. glColor3fVertex3fSUN := gl_GetProc('glColor3fVertex3fSUN');
  9600. glColor3fVertex3fvSUN := gl_GetProc('glColor3fVertex3fvSUN');
  9601. glNormal3fVertex3fSUN := gl_GetProc('glNormal3fVertex3fSUN');
  9602. glNormal3fVertex3fvSUN := gl_GetProc('glNormal3fVertex3fvSUN');
  9603. glColor4fNormal3fVertex3fSUN := gl_GetProc('glColor4fNormal3fVertex3fSUN');
  9604. glColor4fNormal3fVertex3fvSUN := gl_GetProc('glColor4fNormal3fVertex3fvSUN');
  9605. glTexCoord2fVertex3fSUN := gl_GetProc('glTexCoord2fVertex3fSUN');
  9606. glTexCoord2fVertex3fvSUN := gl_GetProc('glTexCoord2fVertex3fvSUN');
  9607. glTexCoord4fVertex4fSUN := gl_GetProc('glTexCoord4fVertex4fSUN');
  9608. glTexCoord4fVertex4fvSUN := gl_GetProc('glTexCoord4fVertex4fvSUN');
  9609. glTexCoord2fColor4ubVertex3fSUN := gl_GetProc('glTexCoord2fColor4ubVertex3fSUN');
  9610. glTexCoord2fColor4ubVertex3fvSUN := gl_GetProc('glTexCoord2fColor4ubVertex3fvSUN');
  9611. glTexCoord2fColor3fVertex3fSUN := gl_GetProc('glTexCoord2fColor3fVertex3fSUN');
  9612. glTexCoord2fColor3fVertex3fvSUN := gl_GetProc('glTexCoord2fColor3fVertex3fvSUN');
  9613. glTexCoord2fNormal3fVertex3fSUN := gl_GetProc('glTexCoord2fNormal3fVertex3fSUN');
  9614. glTexCoord2fNormal3fVertex3fvSUN := gl_GetProc('glTexCoord2fNormal3fVertex3fvSUN');
  9615. glTexCoord2fColor4fNormal3fVertex3fSUN := gl_GetProc('glTexCoord2fColor4fNormal3fVertex3fSUN');
  9616. glTexCoord2fColor4fNormal3fVertex3fvSUN := gl_GetProc('glTexCoord2fColor4fNormal3fVertex3fvSUN');
  9617. glTexCoord4fColor4fNormal3fVertex4fSUN := gl_GetProc('glTexCoord4fColor4fNormal3fVertex4fSUN');
  9618. glTexCoord4fColor4fNormal3fVertex4fvSUN := gl_GetProc('glTexCoord4fColor4fNormal3fVertex4fvSUN');
  9619. glReplacementCodeuiVertex3fSUN := gl_GetProc('glReplacementCodeuiVertex3fSUN');
  9620. glReplacementCodeuiVertex3fvSUN := gl_GetProc('glReplacementCodeuiVertex3fvSUN');
  9621. glReplacementCodeuiColor4ubVertex3fSUN := gl_GetProc('glReplacementCodeuiColor4ubVertex3fSUN');
  9622. glReplacementCodeuiColor4ubVertex3fvSUN := gl_GetProc('glReplacementCodeuiColor4ubVertex3fvSUN');
  9623. glReplacementCodeuiColor3fVertex3fSUN := gl_GetProc('glReplacementCodeuiColor3fVertex3fSUN');
  9624. glReplacementCodeuiColor3fVertex3fvSUN := gl_GetProc('glReplacementCodeuiColor3fVertex3fvSUN');
  9625. glReplacementCodeuiNormal3fVertex3fSUN := gl_GetProc('glReplacementCodeuiNormal3fVertex3fSUN');
  9626. glReplacementCodeuiNormal3fVertex3fvSUN := gl_GetProc('glReplacementCodeuiNormal3fVertex3fvSUN');
  9627. glReplacementCodeuiColor4fNormal3fVertex3fSUN := gl_GetProc('glReplacementCodeuiColor4fNormal3fVertex3fSUN');
  9628. glReplacementCodeuiColor4fNormal3fVertex3fvSUN := gl_GetProc('glReplacementCodeuiColor4fNormal3fVertex3fvSUN');
  9629. glReplacementCodeuiTexCoord2fVertex3fSUN := gl_GetProc('glReplacementCodeuiTexCoord2fVertex3fSUN');
  9630. glReplacementCodeuiTexCoord2fVertex3fvSUN := gl_GetProc('glReplacementCodeuiTexCoord2fVertex3fvSUN');
  9631. glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN := gl_GetProc('glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN');
  9632. glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN := gl_GetProc('glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN');
  9633. glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN := gl_GetProc('glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN');
  9634. glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN := gl_GetProc('glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN');
  9635. end;
  9636. {$EndIf}
  9637. end;
  9638. initialization
  9639. (*{$IFDEF FPC}
  9640. {$IF DEFINED(cpui386) or DEFINED(cpux86_64)}
  9641. SetExceptionMask([exInvalidOp, exDenormalized, exZeroDivide, exOverflow, exUnderflow, exPrecision]);
  9642. {$IFEND}
  9643. {$ELSE}
  9644. Set8087CW($133F);
  9645. {$ENDIF}
  9646. *)
  9647. end.