zgl_pasOpenGL.pas 612 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205
  1. (*
  2. * Copyright (c) 2022-2023 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. // Copyright 2013-2020 The Khronos Group Inc.
  25. // SPDX-License-Identifier: MIT
  26. //
  27. // This header is generated from the Khronos OpenGL / OpenGL ES XML
  28. // API Registry. The current version of the Registry, generator scripts
  29. // used to make the header, and the header can be found at
  30. // https://github.com/KhronosGroup/OpenGL-Registry
  31. unit zgl_pasOpenGL;
  32. {$I zgl_config.cfg}
  33. {$IfDef UNIX}
  34. {$DEFINE stdcall := cdecl}
  35. {$EndIf}
  36. {$IFDEF MAC_COCOA}
  37. {$LINKFRAMEWORK OpenGL}
  38. {$ENDIF}
  39. interface
  40. uses
  41. {$IFDEF LINUX}
  42. zgl_glx_wgl,
  43. {$ENDIF}
  44. {$IFDEF WINDOWS}
  45. Windows,
  46. {$ENDIF}
  47. {$IfDef FPC}
  48. Math,
  49. {$EndIf}
  50. zgl_gltypeconst;
  51. type
  52. GLDEBUGPROC = procedure(source: GLenum; _type: GLenum; id: GLuint; severity: GLenum; length: GLsizei; const _message: PGLchar; userParam: PGLvoid); stdcall;
  53. GLDEBUGPROCARB = procedure(source: GLenum; _type: GLenum; id: GLuint; severity: GLenum; length: GLsizei; const _message: PGLchar; userParam: PGLvoid); stdcall;
  54. GLVULKANPROCNV = procedure; stdcall;
  55. // glext
  56. GLDEBUGPROCAMD = procedure (id: GLuint; category: GLenum; severity: GLenum; length: GLsizei; message: PGLchar; userParam: pointer); stdcall;
  57. var
  58. GLVersion: array[0..1] of Integer;
  59. GLUVersion: Integer;
  60. // версия выбираемая пользователем.
  61. use_glMinorVer, use_glMajorVer: Integer;
  62. GL_VERSION_1_0: Boolean;
  63. GL_VERSION_1_1: Boolean;
  64. GL_VERSION_1_2: Boolean;
  65. GL_VERSION_1_3: Boolean;
  66. GL_VERSION_1_4: Boolean;
  67. GL_VERSION_1_5: Boolean;
  68. GL_VERSION_2_0: Boolean;
  69. GL_VERSION_2_1: Boolean;
  70. GL_VERSION_3_0: Boolean;
  71. GL_VERSION_3_1: Boolean;
  72. GL_VERSION_3_2: Boolean;
  73. GL_VERSION_3_3: Boolean;
  74. GL_VERSION_4_0: Boolean;
  75. GL_VERSION_4_1: Boolean;
  76. GL_VERSION_4_2: Boolean;
  77. GL_VERSION_4_3: Boolean;
  78. GL_VERSION_4_4: Boolean;
  79. GL_VERSION_4_5: Boolean;
  80. GL_VERSION_4_6: Boolean;
  81. // ZenGL ++
  82. GL_SGIS_generate_mipmap: Boolean;
  83. GL_EXT_texture_compression_s3tc: Boolean;
  84. GL_EXT_texture_filter_anisotropic: Boolean;
  85. GL_EXT_blend_func_separate: Boolean;
  86. // перечисление всех дефайнов. Большая часть не используется по умолчанию, даже в Кроносе.
  87. {$If defined(USE_GLCORE) or defined(USE_GLEXT)}
  88. GL_ARB_ES2_compatibility: Boolean;
  89. GL_ARB_ES3_1_compatibility: Boolean;
  90. GL_ARB_ES3_2_compatibility: Boolean;
  91. GL_ARB_ES3_compatibility: Boolean;
  92. GL_ARB_arrays_of_arrays: Boolean;
  93. GL_ARB_base_instance: Boolean;
  94. GL_ARB_bindless_texture: Boolean;
  95. GL_ARB_blend_func_extended: Boolean;
  96. GL_ARB_buffer_storage: Boolean;
  97. GL_ARB_cl_event: Boolean;
  98. GL_ARB_clear_buffer_object: Boolean;
  99. GL_ARB_clear_texture: Boolean;
  100. GL_ARB_clip_control: Boolean;
  101. {$IFDEF GL_VERSION_3_0}
  102. GL_ARB_compatibility: Boolean;
  103. {$ENDIF}
  104. {$IFDEF USE_GLEXT}
  105. GL_ARB_color_buffer_float: Boolean;
  106. {$EndIf}
  107. GL_ARB_compressed_texture_pixel_storage: Boolean;
  108. GL_ARB_compute_shader: Boolean;
  109. GL_ARB_compute_variable_group_size: Boolean;
  110. GL_ARB_conditional_render_inverted: Boolean;
  111. GL_ARB_conservative_depth: Boolean;
  112. GL_ARB_copy_buffer: Boolean;
  113. GL_ARB_copy_image: Boolean;
  114. GL_ARB_cull_distance: Boolean;
  115. GL_ARB_debug_output: Boolean;
  116. GL_ARB_depth_buffer_float: Boolean;
  117. GL_ARB_depth_clamp: Boolean;
  118. {$IFDEF USE_GLEXT}
  119. GL_ARB_depth_texture: Boolean;
  120. {$EndIf}
  121. GL_ARB_derivative_control: Boolean;
  122. GL_ARB_direct_state_access: Boolean;
  123. {$IFDEF USE_GLEXT}
  124. GL_ARB_draw_buffers: Boolean;
  125. {$EndIf}
  126. GL_ARB_draw_buffers_blend: Boolean;
  127. GL_ARB_draw_elements_base_vertex: Boolean;
  128. GL_ARB_draw_indirect: Boolean;
  129. GL_ARB_draw_instanced: Boolean;
  130. GL_ARB_enhanced_layouts: Boolean;
  131. GL_ARB_explicit_attrib_location: Boolean;
  132. GL_ARB_explicit_uniform_location: Boolean;
  133. GL_ARB_fragment_coord_conventions: Boolean;
  134. GL_ARB_fragment_layer_viewport: Boolean;
  135. {$IFDEF USE_GLEXT}
  136. GL_ARB_fragment_program: Boolean;
  137. GL_ARB_fragment_program_shadow: Boolean;
  138. GL_ARB_fragment_shader: Boolean;
  139. {$EndIf}
  140. GL_ARB_fragment_shader_interlock: Boolean;
  141. GL_ARB_framebuffer_no_attachments: Boolean;
  142. GL_ARB_framebuffer_object: Boolean;
  143. GL_ARB_framebuffer_sRGB: Boolean;
  144. GL_ARB_geometry_shader4: Boolean;
  145. GL_ARB_get_program_binary: Boolean;
  146. GL_ARB_get_texture_sub_image: Boolean;
  147. GL_ARB_gl_spirv: Boolean;
  148. GL_ARB_gpu_shader5: Boolean;
  149. GL_ARB_gpu_shader_fp64: Boolean;
  150. GL_ARB_gpu_shader_int64: Boolean;
  151. {$IFDEF USE_GLEXT}
  152. GL_ARB_half_float_pixel: Boolean;
  153. GL_ARB_imaging: Boolean;
  154. {$EndIf}
  155. GL_ARB_half_float_vertex: Boolean;
  156. GL_ARB_indirect_parameters: Boolean;
  157. GL_ARB_instanced_arrays: Boolean;
  158. GL_ARB_internalformat_query: Boolean;
  159. GL_ARB_internalformat_query2: Boolean;
  160. GL_ARB_invalidate_subdata: Boolean;
  161. GL_ARB_map_buffer_alignment: Boolean;
  162. GL_ARB_map_buffer_range: Boolean;
  163. {$IFDEF USE_GLEXT}
  164. GL_ARB_matrix_palette: Boolean;
  165. {$EndIf}
  166. GL_ARB_multi_bind: Boolean;
  167. GL_ARB_multi_draw_indirect: Boolean;
  168. {$IFDEF USE_GLEXT}
  169. GL_ARB_multisample: Boolean;
  170. GL_ARB_multitexture: Boolean;
  171. GL_ARB_occlusion_query: Boolean;
  172. {$EndIf}
  173. GL_ARB_occlusion_query2: Boolean;
  174. GL_ARB_parallel_shader_compile: Boolean;
  175. GL_ARB_pipeline_statistics_query: Boolean;
  176. GL_ARB_pixel_buffer_object: Boolean;
  177. {$IFDEF USE_GLEXT}
  178. GL_ARB_point_parameters: Boolean;
  179. GL_ARB_point_sprite: Boolean;
  180. {$EndIf}
  181. GL_ARB_polygon_offset_clamp: Boolean;
  182. GL_ARB_post_depth_coverage: Boolean;
  183. GL_ARB_program_interface_query: Boolean;
  184. GL_ARB_provoking_vertex: Boolean;
  185. GL_ARB_query_buffer_object: Boolean;
  186. GL_ARB_robust_buffer_access_behavior: Boolean;
  187. GL_ARB_robustness: Boolean;
  188. GL_ARB_robustness_isolation: Boolean;
  189. GL_ARB_sample_locations: Boolean;
  190. GL_ARB_sample_shading: Boolean;
  191. GL_ARB_sampler_objects: Boolean;
  192. GL_ARB_seamless_cube_map: Boolean;
  193. GL_ARB_seamless_cubemap_per_texture: Boolean;
  194. GL_ARB_separate_shader_objects: Boolean;
  195. GL_ARB_shader_atomic_counter_ops: Boolean;
  196. GL_ARB_shader_atomic_counters: Boolean;
  197. GL_ARB_shader_ballot: Boolean;
  198. GL_ARB_shader_bit_encoding: Boolean;
  199. GL_ARB_shader_clock: Boolean;
  200. GL_ARB_shader_draw_parameters: Boolean;
  201. GL_ARB_shader_group_vote: Boolean;
  202. GL_ARB_shader_image_load_store: Boolean;
  203. GL_ARB_shader_image_size: Boolean;
  204. {$IFDEF USE_GLEXT}
  205. GL_ARB_shader_objects: Boolean;
  206. {$EndIf}
  207. GL_ARB_shader_precision: Boolean;
  208. GL_ARB_shader_stencil_export: Boolean;
  209. GL_ARB_shader_storage_buffer_object: Boolean;
  210. GL_ARB_shader_subroutine: Boolean;
  211. GL_ARB_shader_texture_image_samples: Boolean;
  212. {$IFDEF USE_GLEXT}
  213. GL_ARB_shader_texture_lod: Boolean;
  214. GL_ARB_shading_language_100: Boolean;
  215. {$EndIf}
  216. GL_ARB_shader_viewport_layer_array: Boolean;
  217. GL_ARB_shading_language_420pack: Boolean;
  218. GL_ARB_shading_language_include: Boolean;
  219. GL_ARB_shading_language_packing: Boolean;
  220. {$IFDEF USE_GLEXT}
  221. GL_ARB_shadow: Boolean;
  222. GL_ARB_shadow_ambient: Boolean;
  223. {$EndIf}
  224. GL_ARB_sparse_buffer: Boolean;
  225. GL_ARB_sparse_texture: Boolean;
  226. GL_ARB_sparse_texture2: Boolean;
  227. GL_ARB_sparse_texture_clamp: Boolean;
  228. GL_ARB_spirv_extensions: Boolean;
  229. GL_ARB_stencil_texturing: Boolean;
  230. GL_ARB_sync: Boolean;
  231. GL_ARB_tessellation_shader: Boolean;
  232. GL_ARB_texture_barrier: Boolean;
  233. GL_ARB_texture_border_clamp: Boolean;
  234. GL_ARB_texture_buffer_object: Boolean;
  235. GL_ARB_texture_buffer_object_rgb32: Boolean;
  236. GL_ARB_texture_buffer_range: Boolean;
  237. GL_ARB_texture_compression_bptc: Boolean;
  238. GL_ARB_texture_compression_rgtc: Boolean;
  239. {$IFDEF USE_GLEXT}
  240. GL_ARB_texture_compression: Boolean;
  241. GL_ARB_texture_cube_map: Boolean;
  242. {$EndIf}
  243. GL_ARB_texture_cube_map_array: Boolean;
  244. {$IFDEF USE_GLEXT}
  245. GL_ARB_texture_env_add: Boolean;
  246. GL_ARB_texture_env_combine: Boolean;
  247. GL_ARB_texture_env_crossbar: Boolean;
  248. GL_ARB_texture_env_dot3: Boolean;
  249. GL_ARB_texture_float: Boolean;
  250. {$EndIf}
  251. GL_ARB_texture_filter_anisotropic: Boolean;
  252. GL_ARB_texture_filter_minmax: Boolean;
  253. GL_ARB_texture_gather: Boolean;
  254. GL_ARB_texture_mirror_clamp_to_edge: Boolean;
  255. GL_ARB_texture_mirrored_repeat: Boolean;
  256. GL_ARB_texture_multisample: Boolean;
  257. GL_ARB_texture_non_power_of_two: Boolean;
  258. GL_ARB_texture_query_levels: Boolean;
  259. GL_ARB_texture_query_lod: Boolean;
  260. {$IFDEF USE_GLEXT}
  261. GL_ARB_texture_rectangle: Boolean;
  262. {$EndIf}
  263. GL_ARB_texture_rg: Boolean;
  264. GL_ARB_texture_rgb10_a2ui: Boolean;
  265. GL_ARB_texture_stencil8: Boolean;
  266. GL_ARB_texture_storage: Boolean;
  267. GL_ARB_texture_storage_multisample: Boolean;
  268. GL_ARB_texture_swizzle: Boolean;
  269. GL_ARB_texture_view: Boolean;
  270. GL_ARB_timer_query: Boolean;
  271. GL_ARB_transform_feedback2: Boolean;
  272. GL_ARB_transform_feedback3: Boolean;
  273. GL_ARB_transform_feedback_instanced: Boolean;
  274. GL_ARB_transform_feedback_overflow_query: Boolean;
  275. {$IFDEF USE_GLEXT}
  276. GL_ARB_transpose_matrix: Boolean;
  277. {$EndIf}
  278. GL_ARB_uniform_buffer_object: Boolean;
  279. GL_ARB_vertex_array_bgra: Boolean;
  280. GL_ARB_vertex_array_object: Boolean;
  281. GL_ARB_vertex_attrib_64bit: Boolean;
  282. GL_ARB_vertex_attrib_binding: Boolean;
  283. {$IFDEF USE_GLEXT}
  284. GL_ARB_vertex_blend: Boolean;
  285. GL_ARB_vertex_buffer_object: Boolean;
  286. GL_ARB_vertex_program: Boolean;
  287. GL_ARB_vertex_shader: Boolean;
  288. GL_ARB_window_pos: Boolean;
  289. {$EndIf}
  290. GL_ARB_vertex_type_10f_11f_11f_rev: Boolean;
  291. GL_ARB_vertex_type_2_10_10_10_rev: Boolean;
  292. GL_ARB_viewport_array: Boolean;
  293. GL_KHR_blend_equation_advanced: Boolean;
  294. GL_KHR_blend_equation_advanced_coherent: Boolean;
  295. GL_KHR_context_flush_control: Boolean;
  296. GL_KHR_debug: Boolean;
  297. GL_KHR_no_error: Boolean;
  298. GL_KHR_parallel_shader_compile: Boolean;
  299. GL_KHR_robust_buffer_access_behavior: Boolean;
  300. GL_KHR_robustness: Boolean;
  301. GL_KHR_shader_subgroup: Boolean;
  302. GL_KHR_texture_compression_astc_hdr: Boolean;
  303. GL_KHR_texture_compression_astc_ldr: Boolean;
  304. GL_KHR_texture_compression_astc_sliced_3d: Boolean;
  305. {$IFDEF USE_GLEXT}
  306. GL_OES_byte_coordinates: Boolean;
  307. GL_OES_compressed_paletted_texture: Boolean;
  308. GL_OES_fixed_point: Boolean;
  309. GL_OES_query_matrix: Boolean;
  310. GL_OES_read_format: Boolean;
  311. GL_OES_single_precision: Boolean;
  312. GL_3DFX_multisample: Boolean;
  313. GL_3DFX_tbuffer: Boolean;
  314. GL_3DFX_texture_compression_FXT1: Boolean;
  315. GL_AMD_blend_minmax_factor: Boolean;
  316. GL_AMD_conservative_depth: Boolean;
  317. GL_AMD_debug_output: Boolean;
  318. GL_AMD_depth_clamp_separate: Boolean;
  319. GL_AMD_draw_buffers_blend: Boolean;
  320. {$EndIf}
  321. GL_AMD_framebuffer_multisample_advanced: Boolean;
  322. GL_AMD_gpu_shader_int64: Boolean; // хотя это GL_EXT
  323. {$IFDEF USE_GLEXT}
  324. GL_AMD_framebuffer_sample_positions: Boolean;
  325. GL_AMD_gcn_shader: Boolean;
  326. GL_AMD_gpu_shader_half_float: Boolean;
  327. GL_AMD_gpu_shader_int16: Boolean;
  328. GL_AMD_interleaved_elements: Boolean;
  329. GL_AMD_multi_draw_indirect: Boolean;
  330. GL_AMD_name_gen_delete: Boolean;
  331. GL_AMD_occlusion_query_event: Boolean;
  332. {$EndIf}
  333. GL_AMD_performance_monitor: Boolean;
  334. {$IFDEF USE_GLEXT}
  335. GL_AMD_pinned_memory: Boolean;
  336. GL_AMD_query_buffer_object: Boolean;
  337. GL_AMD_sample_positions: Boolean;
  338. GL_AMD_seamless_cubemap_per_texture: Boolean;
  339. GL_AMD_shader_atomic_counter_ops: Boolean;
  340. GL_AMD_shader_ballot: Boolean;
  341. GL_AMD_shader_explicit_vertex_parameter: Boolean;
  342. GL_AMD_shader_gpu_shader_half_float_fetch: Boolean;
  343. GL_AMD_shader_image_load_store_lod: Boolean;
  344. GL_AMD_shader_stencil_export: Boolean;
  345. GL_AMD_shader_trinary_minmax: Boolean;
  346. GL_AMD_sparse_texture: Boolean;
  347. GL_AMD_stencil_operation_extended: Boolean;
  348. GL_AMD_texture_gather_bias_lod: Boolean;
  349. GL_AMD_texture_texture4: Boolean;
  350. GL_AMD_transform_feedback3_lines_triangles: Boolean;
  351. GL_AMD_transform_feedback4: Boolean;
  352. GL_AMD_vertex_shader_layer: Boolean;
  353. GL_AMD_vertex_shader_tessellator: Boolean;
  354. GL_AMD_vertex_shader_viewport_index: Boolean;
  355. GL_APPLE_aux_depth_stencil: Boolean;
  356. GL_APPLE_client_storage: Boolean;
  357. GL_APPLE_element_array: Boolean;
  358. GL_APPLE_fence: Boolean;
  359. GL_APPLE_float_pixels: Boolean;
  360. GL_APPLE_flush_buffer_range: Boolean;
  361. GL_APPLE_object_purgeable: Boolean;
  362. {$EndIf}
  363. GL_APPLE_rgb_422: Boolean;
  364. {$IFDEF USE_GLEXT}
  365. GL_APPLE_row_bytes: Boolean;
  366. GL_APPLE_specular_vector: Boolean;
  367. GL_APPLE_texture_range: Boolean;
  368. GL_APPLE_transform_hint: Boolean;
  369. GL_APPLE_vertex_array_object: Boolean;
  370. GL_APPLE_vertex_array_range: Boolean;
  371. GL_APPLE_vertex_program_evaluators: Boolean;
  372. GL_APPLE_ycbcr_422: Boolean;
  373. GL_ATI_draw_buffers: Boolean;
  374. GL_ATI_element_array: Boolean;
  375. GL_ATI_envmap_bumpmap: Boolean;
  376. GL_ATI_fragment_shader: Boolean;
  377. GL_ATI_map_object_buffer: Boolean;
  378. GL_ATI_meminfo: Boolean;
  379. GL_ATI_pixel_format_float: Boolean;
  380. GL_ATI_pn_triangles: Boolean;
  381. GL_ATI_separate_stencil: Boolean;
  382. GL_ATI_text_fragment_shader: Boolean;
  383. GL_ATI_texture_env_combine3: Boolean;
  384. GL_ATI_texture_float: Boolean;
  385. GL_ATI_texture_mirror_once: Boolean;
  386. GL_ATI_vertex_array_object: Boolean;
  387. GL_ATI_vertex_attrib_array_object: Boolean;
  388. GL_ATI_vertex_streams: Boolean;
  389. GL_EXT_422_pixels: Boolean;
  390. {$EndIf}
  391. GL_EXT_EGL_image_storage: Boolean;
  392. GL_EXT_EGL_sync: Boolean;
  393. {$IFDEF USE_GLEXT}
  394. GL_EXT_abgr: Boolean;
  395. GL_EXT_bgra: Boolean;
  396. GL_EXT_bindable_uniform: Boolean;
  397. GL_EXT_blend_color: Boolean;
  398. GL_EXT_blend_equation_separate: Boolean;
  399. // GL_EXT_blend_func_separate: Boolean;
  400. GL_EXT_blend_logic_op: Boolean;
  401. GL_EXT_blend_minmax: Boolean;
  402. GL_EXT_blend_subtract: Boolean;
  403. GL_EXT_clip_volume_hint: Boolean;
  404. GL_EXT_cmyka: Boolean;
  405. GL_EXT_color_subtable: Boolean;
  406. GL_EXT_compiled_vertex_array: Boolean;
  407. GL_EXT_convolution: Boolean;
  408. GL_EXT_coordinate_frame: Boolean;
  409. GL_EXT_copy_texture: Boolean;
  410. GL_EXT_cull_vertex: Boolean;
  411. GL_EXT_depth_bounds_test: Boolean;
  412. GL_EXT_draw_buffers2: Boolean;
  413. {$EndIf}
  414. GL_EXT_debug_label: Boolean;
  415. GL_EXT_debug_marker: Boolean;
  416. GL_EXT_direct_state_access: Boolean;
  417. GL_EXT_draw_instanced: Boolean;
  418. {$IFDEF USE_GLEXT}
  419. GL_EXT_draw_range_elements: Boolean;
  420. GL_EXT_external_buffer: Boolean;
  421. GL_EXT_fog_coord: Boolean;
  422. GL_EXT_framebuffer_blit: Boolean;
  423. GL_EXT_framebuffer_multisample: Boolean;
  424. GL_EXT_framebuffer_multisample_blit_scaled: Boolean;
  425. GL_EXT_framebuffer_object: Boolean;
  426. GL_EXT_framebuffer_sRGB: Boolean;
  427. GL_EXT_geometry_shader4: Boolean;
  428. GL_EXT_gpu_program_parameters: Boolean;
  429. GL_EXT_gpu_shader4: Boolean;
  430. GL_EXT_histogram: Boolean;
  431. GL_EXT_index_array_formats: Boolean;
  432. GL_EXT_index_func: Boolean;
  433. GL_EXT_index_material: Boolean;
  434. GL_EXT_index_texture: Boolean;
  435. GL_EXT_light_texture: Boolean;
  436. GL_EXT_memory_object: Boolean;
  437. GL_EXT_memory_object_fd: Boolean;
  438. GL_EXT_memory_object_win32: Boolean;
  439. GL_EXT_misc_attribute: Boolean;
  440. GL_EXT_multi_draw_arrays: Boolean;
  441. GL_EXT_multisample: Boolean;
  442. {$EndIf}
  443. GL_EXT_multiview_tessellation_geometry_shader: Boolean;
  444. GL_EXT_multiview_texture_multisample: Boolean;
  445. GL_EXT_multiview_timer_query: Boolean;
  446. {$IFDEF USE_GLEXT}
  447. GL_EXT_packed_depth_stencil: Boolean;
  448. GL_EXT_packed_float: Boolean;
  449. GL_EXT_packed_pixels: Boolean;
  450. GL_EXT_paletted_texture: Boolean;
  451. GL_EXT_pixel_buffer_object: Boolean;
  452. GL_EXT_pixel_transform: Boolean;
  453. GL_EXT_pixel_transform_color_table: Boolean;
  454. GL_EXT_point_parameters: Boolean;
  455. GL_EXT_polygon_offset: Boolean;
  456. {$EndIf}
  457. GL_EXT_polygon_offset_clamp: Boolean;
  458. GL_EXT_post_depth_coverage: Boolean;
  459. GL_EXT_raster_multisample: Boolean;
  460. {$IFDEF USE_GLEXT}
  461. GL_EXT_provoking_vertex: Boolean;
  462. GL_EXT_rescale_normal: Boolean;
  463. GL_EXT_secondary_color: Boolean;
  464. GL_EXT_semaphore: Boolean;
  465. GL_EXT_semaphore_fd: Boolean;
  466. GL_EXT_semaphore_win32: Boolean;
  467. GL_EXT_separate_specular_color: Boolean;
  468. {$EndIf}
  469. GL_EXT_separate_shader_objects: Boolean;
  470. GL_EXT_shader_framebuffer_fetch: Boolean;
  471. GL_EXT_shader_framebuffer_fetch_non_coherent: Boolean;
  472. GL_EXT_shader_integer_mix: Boolean;
  473. {$IFDEF USE_GLEXT}
  474. GL_EXT_shader_image_load_formatted: Boolean;
  475. GL_EXT_shader_image_load_store: Boolean;
  476. GL_EXT_shadow_funcs: Boolean;
  477. GL_EXT_shared_texture_palette: Boolean;
  478. GL_EXT_sparse_texture2: Boolean;
  479. GL_EXT_stencil_clear_tag: Boolean;
  480. GL_EXT_stencil_two_side: Boolean;
  481. GL_EXT_stencil_wrap: Boolean;
  482. GL_EXT_subtexture: Boolean;
  483. GL_EXT_texture: Boolean;
  484. GL_EXT_texture3D: Boolean;
  485. GL_EXT_texture_array: Boolean;
  486. GL_EXT_texture_buffer_object: Boolean;
  487. GL_EXT_texture_compression_latc: Boolean;
  488. GL_EXT_texture_compression_rgtc: Boolean;
  489. // GL_EXT_texture_compression_s3tc: Boolean;
  490. GL_EXT_texture_cube_map: Boolean;
  491. GL_EXT_texture_env_add: Boolean;
  492. GL_EXT_texture_env_combine: Boolean;
  493. GL_EXT_texture_env_dot3: Boolean;
  494. // GL_EXT_texture_filter_anisotropic: Boolean;
  495. {$EndIf}
  496. GL_EXT_texture_filter_minmax: Boolean;
  497. {$IFDEF USE_GLEXT}
  498. GL_EXT_texture_integer: Boolean;
  499. GL_EXT_texture_lod_bias: Boolean;
  500. GL_EXT_texture_mirror_clamp: Boolean;
  501. GL_EXT_texture_object: Boolean;
  502. GL_EXT_texture_perturb_normal: Boolean;
  503. GL_EXT_texture_sRGB: Boolean;
  504. {$EndIf}
  505. GL_EXT_texture_sRGB_R8: Boolean;
  506. GL_EXT_texture_sRGB_RG8: Boolean;
  507. GL_EXT_texture_sRGB_decode: Boolean;
  508. GL_EXT_texture_shadow_lod: Boolean;
  509. GL_EXT_texture_storage: Boolean;
  510. {$IFDEF USE_GLEXT}
  511. GL_EXT_texture_shared_exponent: Boolean;
  512. GL_EXT_texture_snorm: Boolean;
  513. GL_EXT_texture_swizzle: Boolean;
  514. GL_EXT_timer_query: Boolean;
  515. GL_EXT_transform_feedback: Boolean;
  516. GL_EXT_vertex_array: Boolean;
  517. GL_EXT_vertex_array_bgra: Boolean;
  518. GL_EXT_vertex_attrib_64bit: Boolean;
  519. GL_EXT_vertex_shader: Boolean;
  520. GL_EXT_vertex_weighting: Boolean;
  521. GL_EXT_win32_keyed_mutex: Boolean;
  522. {$EndIf}
  523. GL_EXT_window_rectangles: Boolean;
  524. {$IFDEF USE_GLEXT}
  525. GL_EXT_x11_sync_object: Boolean;
  526. GL_GREMEDY_frame_terminator: Boolean;
  527. GL_GREMEDY_string_marker: Boolean;
  528. GL_HP_convolution_border_modes: Boolean;
  529. GL_HP_image_transform: Boolean;
  530. GL_HP_occlusion_test: Boolean;
  531. GL_HP_texture_lighting: Boolean;
  532. GL_IBM_cull_vertex: Boolean;
  533. GL_IBM_multimode_draw_arrays: Boolean;
  534. GL_IBM_rasterpos_clip: Boolean;
  535. GL_IBM_static_data: Boolean;
  536. GL_IBM_texture_mirrored_repeat: Boolean;
  537. GL_IBM_vertex_array_lists: Boolean;
  538. GL_INGR_blend_func_separate: Boolean;
  539. GL_INGR_color_clamp: Boolean;
  540. GL_INGR_interlace_read: Boolean;
  541. {$EndIf}
  542. GL_INTEL_blackhole_render: Boolean;
  543. GL_INTEL_conservative_rasterization: Boolean;
  544. GL_INTEL_framebuffer_CMAA: Boolean;
  545. {$IFDEF USE_GLEXT}
  546. GL_INTEL_fragment_shader_ordering: Boolean;
  547. GL_INTEL_map_texture: Boolean;
  548. GL_INTEL_parallel_arrays: Boolean;
  549. GL_MESAX_texture_stack: Boolean;
  550. {$EndIf}
  551. GL_INTEL_performance_query: Boolean;
  552. GL_MESA_framebuffer_flip_x: Boolean;
  553. GL_MESA_framebuffer_flip_y: Boolean;
  554. GL_MESA_framebuffer_swap_xy: Boolean;
  555. {$IFDEF USE_GLEXT}
  556. GL_MESA_pack_invert: Boolean;
  557. GL_MESA_program_binary_formats: Boolean;
  558. GL_MESA_resize_buffers: Boolean;
  559. GL_MESA_shader_integer_functions: Boolean;
  560. GL_MESA_tile_raster_order: Boolean;
  561. GL_MESA_window_pos: Boolean;
  562. GL_MESA_ycbcr_texture: Boolean;
  563. GL_NVX_blend_equation_advanced_multi_draw_buffers: Boolean;
  564. GL_NVX_conditional_render: Boolean;
  565. GL_NVX_gpu_memory_info: Boolean;
  566. GL_NVX_gpu_multicast2: Boolean;
  567. GL_NVX_linked_gpu_multicast: Boolean;
  568. GL_NVX_progress_fence: Boolean;
  569. GL_NV_alpha_to_coverage_dither_control: Boolean;
  570. {$EndIf}
  571. GL_NV_bindless_multi_draw_indirect: Boolean;
  572. GL_NV_bindless_multi_draw_indirect_count: Boolean;
  573. GL_NV_bindless_texture: Boolean;
  574. GL_NV_blend_equation_advanced: Boolean;
  575. GL_NV_blend_equation_advanced_coherent: Boolean;
  576. GL_NV_blend_minmax_factor: Boolean;
  577. {$IFDEF USE_GLEXT}
  578. GL_NV_blend_square: Boolean;
  579. GL_NV_compute_program5: Boolean;
  580. {$EndIf}
  581. GL_NV_clip_space_w_scaling: Boolean;
  582. GL_NV_command_list: Boolean;
  583. GL_NV_compute_shader_derivatives: Boolean;
  584. GL_NV_conditional_render: Boolean;
  585. GL_NV_conservative_raster: Boolean;
  586. GL_NV_conservative_raster_dilate: Boolean;
  587. GL_NV_conservative_raster_pre_snap: Boolean;
  588. GL_NV_conservative_raster_pre_snap_triangles: Boolean;
  589. GL_NV_conservative_raster_underestimation: Boolean;
  590. {$IFDEF USE_GLEXT}
  591. GL_NV_copy_depth_to_color: Boolean;
  592. GL_NV_copy_image: Boolean;
  593. GL_NV_deep_texture3D: Boolean;
  594. GL_NV_depth_clamp: Boolean;
  595. GL_NV_draw_texture: Boolean;
  596. {$EndIf}
  597. GL_NV_depth_buffer_float: Boolean;
  598. GL_NV_draw_vulkan_image: Boolean;
  599. {$IFDEF USE_GLEXT}
  600. GL_NV_evaluators: Boolean;
  601. GL_NV_explicit_multisample: Boolean;
  602. GL_NV_fence: Boolean;
  603. GL_NV_float_buffer: Boolean;
  604. GL_NV_fog_distance: Boolean;
  605. {$EndIf}
  606. GL_NV_fill_rectangle: Boolean;
  607. GL_NV_fragment_coverage_to_color: Boolean;
  608. {$IFDEF USE_GLEXT}
  609. GL_NV_fragment_program: Boolean;
  610. GL_NV_fragment_program2: Boolean;
  611. GL_NV_fragment_program4: Boolean;
  612. GL_NV_fragment_program_option: Boolean;
  613. {$EndIf}
  614. GL_NV_fragment_shader_barycentric: Boolean;
  615. GL_NV_fragment_shader_interlock: Boolean;
  616. GL_NV_framebuffer_mixed_samples: Boolean;
  617. GL_NV_framebuffer_multisample_coverage: Boolean;
  618. GL_NV_geometry_shader_passthrough: Boolean;
  619. {$IFDEF USE_GLEXT}
  620. GL_NV_geometry_program4: Boolean;
  621. GL_NV_geometry_shader4: Boolean;
  622. GL_NV_gpu_multicast: Boolean;
  623. GL_NV_gpu_program4: Boolean;
  624. GL_NV_gpu_program5: Boolean;
  625. GL_NV_gpu_program5_mem_extended: Boolean;
  626. {$EndIf}
  627. // узнать, работает ли эта часть при GLext!!!!
  628. // хотя функции подменены в другом разделе.
  629. GL_NV_gpu_shader5: Boolean;
  630. GL_NV_internalformat_sample_query: Boolean;
  631. {$IFDEF USE_GLEXT}
  632. GL_NV_half_float: Boolean;
  633. GL_NV_light_max_exponent: Boolean;
  634. {$EndIf}
  635. GL_NV_memory_attachment: Boolean;
  636. GL_NV_memory_object_sparse: Boolean;
  637. GL_NV_mesh_shader: Boolean;
  638. {$IFDEF USE_GLEXT}
  639. GL_NV_multisample_coverage: Boolean;
  640. GL_NV_multisample_filter_hint: Boolean;
  641. GL_NV_occlusion_query: Boolean;
  642. GL_NV_packed_depth_stencil: Boolean;
  643. GL_NV_parameter_buffer_object: Boolean;
  644. GL_NV_parameter_buffer_object2: Boolean;
  645. {$EndIf}
  646. GL_NV_path_rendering: Boolean;
  647. GL_NV_path_rendering_shared_edge: Boolean;
  648. GL_NV_primitive_shading_rate: Boolean;
  649. {$IFDEF USE_GLEXT}
  650. GL_NV_pixel_data_range: Boolean;
  651. GL_NV_point_sprite: Boolean;
  652. GL_NV_present_video: Boolean;
  653. GL_NV_primitive_restart: Boolean;
  654. GL_NV_query_resource: Boolean;
  655. GL_NV_query_resource_tag: Boolean;
  656. GL_NV_register_combiners: Boolean;
  657. GL_NV_register_combiners2: Boolean;
  658. GL_NV_robustness_video_memory_purge: Boolean;
  659. {$EndIf}
  660. GL_NV_representative_fragment_test: Boolean;
  661. GL_NV_sample_locations: Boolean;
  662. GL_NV_sample_mask_override_coverage: Boolean;
  663. GL_NV_scissor_exclusive: Boolean;
  664. GL_NV_shader_atomic_counters: Boolean;
  665. GL_NV_shader_atomic_float: Boolean;
  666. GL_NV_shader_atomic_float64: Boolean;
  667. GL_NV_shader_atomic_fp16_vector: Boolean;
  668. GL_NV_shader_atomic_int64: Boolean;
  669. GL_NV_shader_buffer_load: Boolean;
  670. GL_NV_shader_buffer_store: Boolean;
  671. {$IFDEF USE_GLEXT}
  672. GL_NV_shader_storage_buffer_object: Boolean;
  673. {$EndIf}
  674. GL_NV_shader_subgroup_partitioned: Boolean;
  675. GL_NV_shader_texture_footprint: Boolean;
  676. GL_NV_shader_thread_group: Boolean;
  677. GL_NV_shader_thread_shuffle: Boolean;
  678. GL_NV_shading_rate_image: Boolean;
  679. GL_NV_texture_barrier: Boolean;
  680. GL_NV_texture_rectangle_compressed: Boolean;
  681. {$IFDEF USE_GLEXT}
  682. GL_NV_stereo_view_rendering: Boolean;
  683. GL_NV_tessellation_program5: Boolean;
  684. GL_NV_texgen_emboss: Boolean;
  685. GL_NV_texgen_reflection: Boolean;
  686. GL_NV_texture_compression_vtc: Boolean;
  687. GL_NV_texture_env_combine4: Boolean;
  688. GL_NV_texture_expand_normal: Boolean;
  689. GL_NV_texture_multisample: Boolean;
  690. GL_NV_texture_rectangle: Boolean;
  691. GL_NV_texture_shader: Boolean;
  692. GL_NV_texture_shader2: Boolean;
  693. GL_NV_texture_shader3: Boolean;
  694. GL_NV_timeline_semaphore: Boolean;
  695. GL_NV_transform_feedback: Boolean;
  696. GL_NV_transform_feedback2: Boolean;
  697. GL_NV_vdpau_interop: Boolean;
  698. GL_NV_vdpau_interop2: Boolean;
  699. GL_NV_vertex_array_range: Boolean;
  700. GL_NV_vertex_array_range2: Boolean;
  701. {$EndIf}
  702. GL_NV_uniform_buffer_unified_memory: Boolean;
  703. GL_NV_vertex_attrib_integer_64bit: Boolean;
  704. GL_NV_vertex_buffer_unified_memory: Boolean;
  705. {$IFDEF USE_GLEXT}
  706. GL_NV_vertex_program: Boolean;
  707. GL_NV_vertex_program1_1: Boolean;
  708. GL_NV_vertex_program2: Boolean;
  709. GL_NV_vertex_program2_option: Boolean;
  710. GL_NV_vertex_program3: Boolean;
  711. GL_NV_vertex_program4: Boolean;
  712. GL_NV_video_capture: Boolean;
  713. GL_OML_interlace: Boolean;
  714. GL_OML_resample: Boolean;
  715. GL_OML_subsample: Boolean;
  716. {$EndIf}
  717. GL_NV_viewport_array2: Boolean;
  718. GL_NV_viewport_swizzle: Boolean;
  719. GL_OVR_multiview: Boolean;
  720. GL_OVR_multiview2: Boolean;
  721. {$IFDEF USE_GLEXT}
  722. GL_PGI_misc_hints: Boolean;
  723. GL_PGI_vertex_hints: Boolean;
  724. GL_REND_screen_coordinates: Boolean;
  725. GL_S3_s3tc: Boolean;
  726. GL_SGIS_detail_texture: Boolean;
  727. GL_SGIS_fog_function: Boolean;
  728. // GL_SGIS_generate_mipmap: Boolean;
  729. GL_SGIS_multisample: Boolean;
  730. GL_SGIS_pixel_texture: Boolean;
  731. GL_SGIS_point_line_texgen: Boolean;
  732. GL_SGIS_point_parameters: Boolean;
  733. GL_SGIS_sharpen_texture: Boolean;
  734. GL_SGIS_texture4D: Boolean;
  735. GL_SGIS_texture_border_clamp: Boolean;
  736. GL_SGIS_texture_color_mask: Boolean;
  737. GL_SGIS_texture_edge_clamp: Boolean;
  738. GL_SGIS_texture_filter4: Boolean;
  739. GL_SGIS_texture_lod: Boolean;
  740. GL_SGIS_texture_select: Boolean;
  741. GL_SGIX_async: Boolean;
  742. GL_SGIX_async_histogram: Boolean;
  743. GL_SGIX_async_pixel: Boolean;
  744. GL_SGIX_blend_alpha_minmax: Boolean;
  745. GL_SGIX_calligraphic_fragment: Boolean;
  746. GL_SGIX_clipmap: Boolean;
  747. GL_SGIX_convolution_accuracy: Boolean;
  748. GL_SGIX_depth_pass_instrument: Boolean;
  749. GL_SGIX_depth_texture: Boolean;
  750. GL_SGIX_flush_raster: Boolean;
  751. GL_SGIX_fog_offset: Boolean;
  752. GL_SGIX_fragment_lighting: Boolean;
  753. GL_SGIX_framezoom: Boolean;
  754. GL_SGIX_igloo_interface: Boolean;
  755. GL_SGIX_instruments: Boolean;
  756. GL_SGIX_interlace: Boolean;
  757. GL_SGIX_ir_instrument1: Boolean;
  758. GL_SGIX_list_priority: Boolean;
  759. GL_SGIX_pixel_texture: Boolean;
  760. GL_SGIX_pixel_tiles: Boolean;
  761. GL_SGIX_polynomial_ffd: Boolean;
  762. GL_SGIX_reference_plane: Boolean;
  763. GL_SGIX_resample: Boolean;
  764. GL_SGIX_scalebias_hint: Boolean;
  765. GL_SGIX_shadow: Boolean;
  766. GL_SGIX_shadow_ambient: Boolean;
  767. GL_SGIX_sprite: Boolean;
  768. GL_SGIX_subsample: Boolean;
  769. GL_SGIX_tag_sample_buffer: Boolean;
  770. GL_SGIX_texture_add_env: Boolean;
  771. GL_SGIX_texture_coordinate_clamp: Boolean;
  772. GL_SGIX_texture_lod_bias: Boolean;
  773. GL_SGIX_texture_multi_buffer: Boolean;
  774. GL_SGIX_texture_scale_bias: Boolean;
  775. GL_SGIX_vertex_preclip: Boolean;
  776. GL_SGIX_ycrcb: Boolean;
  777. GL_SGIX_ycrcb_subsample: Boolean;
  778. GL_SGIX_ycrcba: Boolean;
  779. GL_SGI_color_matrix: Boolean;
  780. GL_SGI_color_table: Boolean;
  781. GL_SGI_texture_color_table: Boolean;
  782. GL_SUNX_constant_data: Boolean;
  783. GL_SUN_convolution_border_modes: Boolean;
  784. GL_SUN_global_alpha: Boolean;
  785. GL_SUN_mesh_array: Boolean;
  786. GL_SUN_slice_accum: Boolean;
  787. GL_SUN_triangle_list: Boolean;
  788. GL_SUN_vertex: Boolean;
  789. GL_WIN_phong_shading: Boolean;
  790. GL_WIN_specular_fog: Boolean;
  791. {$EndIf}
  792. {$IfEnd}
  793. (*******************************************************************************
  794. * deprecated *
  795. *******************************************************************************)
  796. {$IfDef USE_DEPRECATED}
  797. procedure glAccum(op: GLenum; value: GLfloat); stdcall; external libGL;
  798. // glAlphaFunc: procedure(func: GLenum; ref: GLclampf); stdcall; external libGL;
  799. function glAreTexturesResident(n: GLsizei; const textures: PGLuint; residences: PGLboolean): GLboolean; stdcall; external libGL;
  800. // glArrayElement: procedure(i: GLint); stdcall; external libGL; // + EXT
  801. // glBegin: procedure(mode: GLenum); stdcall; external libGL;
  802. procedure glBitmap (width, height: GLsizei; xorig, yorig: GLfloat; xmove, ymove: GLfloat; const bitmap: PGLubyte); stdcall; external libGL;
  803. procedure glCallList(list: GLuint); stdcall; external libGL;
  804. procedure glCallLists(n: GLsizei; atype: GLenum; const lists: Pointer); stdcall; external libGL;
  805. procedure glClearAccum(red, green, blue, alpha: GLfloat); stdcall; external libGL;
  806. procedure glClearIndex(c: GLfloat); stdcall; external libGL;
  807. procedure glClipPlane(plane: GLenum; const equation: PGLdouble); stdcall; external libGL;
  808. procedure glColor3b(red, green, blue: GLbyte); stdcall; external libGL;
  809. procedure glColor3bv(const v: PGLbyte); stdcall; external libGL;
  810. procedure glColor3d(red, green, blue: GLdouble); stdcall; external libGL;
  811. procedure glColor3dv(const v: PGLdouble); stdcall; external libGL;
  812. procedure glColor3f(red, green, blue: GLfloat); stdcall; external libGL;
  813. procedure glColor3fv(const v: PGLfloat); stdcall; external libGL;
  814. procedure glColor3i(red, green, blue: GLint); stdcall; external libGL;
  815. procedure glColor3iv(const v: PGLint); stdcall; external libGL;
  816. procedure glColor3s(red, green, blue: GLshort); stdcall; external libGL;
  817. procedure glColor3sv(const v: PGLshort); stdcall; external libGL;
  818. // glColor3ub: procedure(red, green, blue: GLubyte); stdcall; external libGL;
  819. // glColor3ubv: procedure(const v: PGLubyte); stdcall; external libGL;
  820. procedure glColor3ui(red, green, blue: GLuint); stdcall; external libGL;
  821. procedure glColor3uiv(const v: PGLuint); stdcall; external libGL;
  822. procedure glColor3us(red, green, blue: GLushort); stdcall; external libGL;
  823. procedure glColor3usv(const v: PGLushort); stdcall; external libGL;
  824. procedure glColor4b(red, green, blue, alpha: GLbyte); stdcall; external libGL;
  825. procedure glColor4bv(const v: PGLbyte); stdcall; external libGL;
  826. procedure glColor4d(red, green, blue, alpha: GLdouble); stdcall; external libGL;
  827. procedure glColor4dv(const v: PGLdouble); stdcall; external libGL;
  828. // glColor4f: procedure(red, green, blue, alpha: GLfloat); stdcall; external libGL;
  829. // glColor4fv: procedure(const v: PGLfloat); stdcall; external libGL;
  830. procedure glColor4i(red, green, blue, alpha: GLint); stdcall; external libGL;
  831. procedure glColor4iv(const v: PGLint); stdcall; external libGL;
  832. procedure glColor4s(red, green, blue, alpha: GLshort); stdcall; external libGL;
  833. procedure glColor4sv(const v: PGLshort); stdcall; external libGL;
  834. // glColor4ub: procedure(red, green, blue, alpha: GLubyte); stdcall; external libGL;
  835. // glColor4ubv: procedure(const v: PGLubyte); stdcall; external libGL;
  836. procedure glColor4ui(red, green, blue, alpha: GLuint); stdcall; external libGL;
  837. procedure glColor4uiv(const v: PGLuint); stdcall; external libGL;
  838. procedure glColor4us(red, green, blue, alpha: GLushort); stdcall; external libGL;
  839. procedure glColor4usv(const v: PGLushort); stdcall; external libGL;
  840. // glColorMaterial: procedure(face, mode: GLenum); stdcall; external libGL;
  841. // glColorPointer: procedure(size: GLint; atype: GLenum; stride: GLsizei; const pointer: Pointer); stdcall; external libGL;
  842. procedure glCopyPixels(x, y: GLint; width, height: GLsizei; atype: GLenum); stdcall; external libGL;
  843. procedure glDeleteLists(list: GLuint; range: GLsizei); stdcall; external libGL;
  844. // glDisableClientState: procedure(aarray: GLenum); stdcall; external libGL;
  845. procedure glDrawPixels(width, height: GLsizei; format, atype: GLenum; const pixels: Pointer); stdcall; external libGL;
  846. procedure glEdgeFlag(flag: GLboolean); stdcall; external libGL;
  847. // glEdgeFlagPointer: procedure(stride: GLsizei; const pointer: Pointer); stdcall; external libGL;
  848. procedure glEdgeFlagv(const flag: PGLboolean); stdcall; external libGL;
  849. // glEnableClientState: procedure(aarray: GLenum); stdcall; external libGL;
  850. // glEnd: procedure; stdcall; external libGL;
  851. procedure glEndList; stdcall; external libGL;
  852. procedure glEvalCoord1d(u: GLdouble); stdcall; external libGL;
  853. procedure glEvalCoord1dv(const u: PGLdouble); stdcall; external libGL;
  854. procedure glEvalCoord1f(u: GLfloat); stdcall; external libGL;
  855. procedure glEvalCoord1fv(const u: PGLfloat); stdcall; external libGL;
  856. procedure glEvalCoord2d(u, v: GLdouble); stdcall; external libGL;
  857. procedure glEvalCoord2dv(const u: PGLdouble); stdcall; external libGL;
  858. procedure glEvalCoord2f(u, v: GLfloat); stdcall; external libGL;
  859. procedure glEvalCoord2fv(const u: PGLfloat); stdcall; external libGL;
  860. procedure glEvalMesh1(mode: GLenum; i1, i2: GLint); stdcall; external libGL;
  861. procedure glEvalMesh2(mode: GLenum; i1, i2, j1, j2: GLint); stdcall; external libGL;
  862. procedure glEvalPoint1(i: GLint); stdcall; external libGL;
  863. procedure glEvalPoint2(i, j: GLint); stdcall; external libGL;
  864. procedure glFeedbackBuffer(size: GLsizei; atype: GLenum; buffer: PGLfloat); stdcall; external libGL;
  865. procedure glFogf(pname: GLenum; param: GLfloat); stdcall; external libGL;
  866. procedure glFogfv(pname: GLenum; const params: PGLfloat); stdcall; external libGL;
  867. procedure glFogi(pname: GLenum; param: GLint); stdcall; external libGL;
  868. procedure glFogiv(pname: GLenum; const params: PGLint); stdcall; external libGL;
  869. // glFrustum: procedure(left, right, bottom, top, zNear, zFar: GLdouble); stdcall; external libGL;
  870. function glGenLists(range: GLsizei): GLuint; stdcall; external libGL;
  871. procedure glGetClipPlane(plane: GLenum; equation: PGLdouble); stdcall; external libGL;
  872. // glGetLightfv: procedure(light, pname: GLenum; params: PGLfloat); stdcall; external libGL;
  873. // glGetLightiv: procedure(light, pname: GLenum; params: PGLint); stdcall; external libGL;
  874. procedure glGetMapdv(target, query: GLenum; v: PGLdouble); stdcall; external libGL;
  875. procedure glGetMapfv(target, query: GLenum; v: PGLfloat); stdcall; external libGL;
  876. procedure glGetMapiv(target, query: GLenum; v: PGLint); stdcall; external libGL;
  877. // glGetMaterialfv: procedure(face, pname: GLenum; params: PGLfloat); stdcall; external libGL;
  878. // glGetMaterialiv: procedure(face, pname: GLenum; params: PGLint); stdcall; external libGL;
  879. procedure glGetPixelMapfv(map: GLenum; values: PGLfloat); stdcall; external libGL;
  880. procedure glGetPixelMapuiv(map: GLenum; values: PGLuint); stdcall; external libGL;
  881. procedure glGetPixelMapusv(map: GLenum; values: PGLushort); stdcall; external libGL;
  882. procedure glGetPolygonStipple(mask: PGLubyte); stdcall; external libGL;
  883. procedure glGetTexEnvfv(target, pname: GLenum; params: PGLfloat); stdcall; external libGL;
  884. procedure glGetTexEnviv(target, pname: GLenum; params: PGLint); stdcall; external libGL;
  885. procedure glGetTexGendv(coord, pname: GLenum; params: PGLdouble); stdcall; external libGL;
  886. procedure glGetTexGenfv(coord, pname: GLenum; params: PGLfloat); stdcall; external libGL;
  887. procedure glGetTexGeniv(coord, pname: GLenum; params: PGLint); stdcall; external libGL;
  888. procedure glIndexMask(mask: GLuint); stdcall; external libGL;
  889. procedure glIndexPointer(atype: GLenum; stride: GLsizei; const pointer: Pointer); stdcall; external libGL;
  890. procedure glIndexd(c: GLdouble); stdcall; external libGL;
  891. procedure glIndexdv(const c: PGLdouble); stdcall; external libGL;
  892. procedure glIndexf(c: GLfloat); stdcall; external libGL;
  893. procedure glIndexfv(const c: PGLfloat); stdcall; external libGL;
  894. procedure glIndexi(c: GLint); stdcall; external libGL;
  895. procedure glIndexiv(const c: PGLint); stdcall; external libGL;
  896. procedure glIndexs(c: GLshort); stdcall; external libGL;
  897. procedure glIndexsv(const c: PGLshort); stdcall; external libGL;
  898. procedure glIndexub(c: GLubyte); stdcall; external libGL;
  899. procedure glIndexubv(const c: PGLubyte); stdcall; external libGL;
  900. procedure glInitNames; stdcall; external libGL;
  901. // glInterleavedArrays: procedure(format: GLenum; stride: GLsizei; const pointer: Pointer); stdcall; external libGL;
  902. function glIsList(list: GLuint): GLboolean; stdcall; external libGL;
  903. // glLightModelf: procedure(pname: GLenum; param: GLfloat); stdcall; external libGL;
  904. // glLightModelfv: procedure(pname: GLenum; const params: PGLfloat); stdcall; external libGL;
  905. procedure glLightModeli(pname: GLenum; param: GLint); stdcall; external libGL;
  906. procedure glLightModeliv(pname: GLenum; const params: PGLint); stdcall; external libGL;
  907. // glLightf: procedure(light, pname: GLenum; param: GLfloat); stdcall; external libGL;
  908. // glLightfv: procedure(light, pname: GLenum; const params: PGLfloat); stdcall; external libGL;
  909. procedure glLighti(light, pname: GLenum; param: GLint); stdcall; external libGL;
  910. procedure glLightiv(light, pname: GLenum; const params: PGLint); stdcall; external libGL;
  911. procedure glLineStipple(factor: GLint; pattern: GLushort); stdcall; external libGL;
  912. procedure glListBase(base: GLuint); stdcall; external libGL;
  913. // glLoadIdentity: procedure; stdcall; external libGL;
  914. procedure glLoadMatrixd(const m: PGLdouble); stdcall; external libGL;
  915. // glLoadMatrixf: procedure(const m: PGLfloat); stdcall; external libGL;
  916. procedure glLoadName(name: GLuint); stdcall; external libGL;
  917. procedure glMap1d(target: GLenum; u1, u2: GLdouble; stride, order: GLint; const points: PGLdouble); stdcall; external libGL;
  918. procedure glMap1f(target: GLenum; u1, u2: GLfloat; stride, order: GLint; const points: PGLfloat); stdcall; external libGL;
  919. procedure glMap2d(target: GLenum; u1, u2: GLdouble; ustride, uorder: GLint; v1, v2: GLdouble; vstride, vorder: GLint; const points: PGLdouble); stdcall; external libGL;
  920. procedure glMap2f(target: GLenum; u1, u2: GLfloat; ustride, uorder: GLint; v1, v2: GLfloat; vstride, vorder: GLint; const points: PGLfloat); stdcall; external libGL;
  921. procedure glMapGrid1d(un: GLint; u1, u2: GLdouble); stdcall; external libGL;
  922. procedure glMapGrid1f(un: GLint; u1, u2: GLfloat); stdcall; external libGL;
  923. procedure glMapGrid2d(un: GLint; u1, u2: GLdouble; vn: GLint; v1, v2: GLdouble); stdcall; external libGL;
  924. procedure glMapGrid2f(un: GLint; u1, u2: GLfloat; vn: GLint; v1, v2: GLfloat); stdcall; external libGL;
  925. // glMaterialf: procedure(face, pname: GLenum; param: GLfloat); stdcall; external libGL;
  926. // glMaterialfv: procedure(face, pname: GLenum; const params: PGLfloat); stdcall; external libGL;
  927. procedure glMateriali(face, pname: GLenum; param: GLint); stdcall; external libGL;
  928. procedure glMaterialiv(face, pname: GLenum; const params: PGLint); stdcall; external libGL;
  929. // glMatrixMode: procedure(mode: GLenum); stdcall; external libGL;
  930. procedure glMultMatrixd(const m: PGLdouble); stdcall; external libGL;
  931. procedure glMultMatrixf(const m: PGLfloat); stdcall; external libGL;
  932. procedure glNewList(list: GLuint; mode: GLenum); stdcall; external libGL;
  933. procedure glNormal3b(nx, ny, nz: GLbyte); stdcall; external libGL;
  934. procedure glNormal3bv(const v: PGLbyte); stdcall; external libGL;
  935. procedure glNormal3d(nx, ny, nz: GLdouble); stdcall; external libGL;
  936. procedure glNormal3dv(const v: PGLdouble); stdcall; external libGL;
  937. // glNormal3f: procedure(nx, ny, nz: GLfloat); stdcall; external libGL;
  938. // glNormal3fv: procedure(const v: PGLfloat); stdcall; external libGL;
  939. procedure glNormal3i(nx, ny, nz: GLint); stdcall; external libGL;
  940. procedure glNormal3iv(const v: PGLint); stdcall; external libGL;
  941. procedure glNormal3s(nx, ny, nz: GLshort); stdcall; external libGL;
  942. procedure glNormal3sv(const v: PGLshort); stdcall; external libGL;
  943. // glNormalPointer: procedure(atype: GLenum; stride: GLsizei; const pointer: Pointer); stdcall; external libGL;
  944. // glOrtho: procedure(left, right, bottom, top, zNear, zFar: GLdouble); stdcall; external libGL;
  945. procedure glPassThrough(token: GLfloat); stdcall; external libGL;
  946. procedure glPixelMapfv(map: GLenum; mapsize: GLint; const values: PGLfloat); stdcall; external libGL;
  947. procedure glPixelMapuiv(map: GLenum; mapsize: GLint; const values: PGLuint); stdcall; external libGL;
  948. procedure glPixelMapusv(map: GLenum; mapsize: GLint; const values: PGLushort); stdcall; external libGL;
  949. procedure glPixelTransferf(pname: GLenum; param: GLfloat); stdcall; external libGL;
  950. procedure glPixelTransferi(pname: GLenum; param: GLint); stdcall; external libGL;
  951. procedure glPixelZoom(xfactor, yfactor: GLfloat); stdcall; external libGL;
  952. procedure glPolygonStipple(const mask: PGLubyte); stdcall; external libGL;
  953. procedure glPopAttrib; stdcall; external libGL;
  954. procedure glPopClientAttrib; stdcall; external libGL;
  955. // glPopMatrix: procedure; stdcall; external libGL;
  956. procedure glPopName; stdcall; external libGL;
  957. procedure glPrioritizeTextures(n: GLsizei; const textures: PGLuint; const priorities: PGLclampf); stdcall; external libGL;
  958. procedure glPushAttrib(mask: GLbitfield); stdcall; external libGL;
  959. procedure glPushClientAttrib(mask: GLbitfield); stdcall; external libGL;
  960. // glPushMatrix: procedure; stdcall; external libGL;
  961. procedure glPushName(name: GLuint); stdcall; external libGL;
  962. procedure glRasterPos2d(x, y: GLdouble); stdcall; external libGL;
  963. procedure glRasterPos2dv(const v: PGLdouble); stdcall; external libGL;
  964. procedure glRasterPos2f(x, y: GLfloat); stdcall; external libGL;
  965. procedure glRasterPos2fv(const v: PGLfloat); stdcall; external libGL;
  966. procedure glRasterPos2i(x, y: GLint); stdcall; external libGL;
  967. procedure glRasterPos2iv(const v: PGLint); stdcall; external libGL;
  968. procedure glRasterPos2s(x, y: GLshort); stdcall; external libGL;
  969. procedure glRasterPos2sv(const v: PGLshort); stdcall; external libGL;
  970. procedure glRasterPos3d(x, y, z: GLdouble); stdcall; external libGL;
  971. procedure glRasterPos3dv(const v: PGLdouble); stdcall; external libGL;
  972. procedure glRasterPos3f(x, y, z: GLfloat); stdcall; external libGL;
  973. procedure glRasterPos3fv(const v: PGLfloat); stdcall; external libGL;
  974. procedure glRasterPos3i(x, y, z: GLint); stdcall; external libGL;
  975. procedure glRasterPos3iv(const v: PGLint); stdcall; external libGL;
  976. procedure glRasterPos3s(x, y, z: GLshort); stdcall; external libGL;
  977. procedure glRasterPos3sv(const v: PGLshort); stdcall; external libGL;
  978. procedure glRasterPos4d(x, y, z, w: GLdouble); stdcall; external libGL;
  979. procedure glRasterPos4dv(const v: PGLdouble); stdcall; external libGL;
  980. procedure glRasterPos4f(x, y, z, w: GLfloat); stdcall; external libGL;
  981. procedure glRasterPos4fv(const v: PGLfloat); stdcall; external libGL;
  982. procedure glRasterPos4i(x, y, z, w: GLint); stdcall; external libGL;
  983. procedure glRasterPos4iv(const v: PGLint); stdcall; external libGL;
  984. procedure glRasterPos4s(x, y, z, w: GLshort); stdcall; external libGL;
  985. procedure glRasterPos4sv(const v: PGLshort); stdcall; external libGL;
  986. procedure glRectd(x1, y1, x2, y2: GLdouble); stdcall; external libGL;
  987. procedure glRectdv(const v1: PGLdouble; const v2: PGLdouble); stdcall; external libGL;
  988. procedure glRectf(x1, y1, x2, y2: GLfloat); stdcall; external libGL;
  989. procedure glRectfv(const v1: PGLfloat; const v2: PGLfloat); stdcall; external libGL;
  990. procedure glRecti(x1, y1, x2, y2: GLint); stdcall; external libGL;
  991. procedure glRectiv(const v1: PGLint; const v2: PGLint); stdcall; external libGL;
  992. procedure glRects(x1, y1, x2, y2: GLshort); stdcall; external libGL;
  993. procedure glRectsv(const v1: PGLshort; const v2: PGLshort); stdcall; external libGL;
  994. function glRenderMode(mode: GLint): GLint; stdcall; external libGL;
  995. procedure glRotated(angle, x, y, z: GLdouble); stdcall; external libGL;
  996. // glRotatef: procedure(angle, x, y, z: GLfloat); stdcall; external libGL;
  997. procedure glScaled(x, y, z: GLdouble); stdcall; external libGL;
  998. // glScalef: procedure(x, y, z: GLfloat); stdcall; external libGL;
  999. procedure glSelectBuffer(size: GLsizei; buffer: PGLuint); stdcall; external libGL;
  1000. // glShadeModel: procedure(mode: GLenum); stdcall; external libGL;
  1001. procedure glTexCoord1d(s: GLdouble); stdcall; external libGL;
  1002. procedure glTexCoord1dv(const v: PGLdouble); stdcall; external libGL;
  1003. procedure glTexCoord1f(s: GLfloat); stdcall; external libGL;
  1004. procedure glTexCoord1fv(const v: PGLfloat); stdcall; external libGL;
  1005. procedure glTexCoord1i(s: GLint); stdcall; external libGL;
  1006. procedure glTexCoord1iv(const v: PGLint); stdcall; external libGL;
  1007. procedure glTexCoord1s(s: GLshort); stdcall; external libGL;
  1008. procedure glTexCoord1sv(const v: PGLshort); stdcall; external libGL;
  1009. procedure glTexCoord2d(s, t: GLdouble); stdcall; external libGL;
  1010. procedure glTexCoord2dv(const v: PGLdouble); stdcall; external libGL;
  1011. // glTexCoord2f: procedure(s, t: GLfloat); stdcall; external libGL;
  1012. // glTexCoord2fv: procedure(const v: PGLfloat); stdcall; external libGL;
  1013. procedure glTexCoord2i(s, t: GLint); stdcall; external libGL;
  1014. procedure glTexCoord2iv(const v: PGLint); stdcall; external libGL;
  1015. procedure glTexCoord2s(s, t: GLshort); stdcall; external libGL;
  1016. procedure glTexCoord2sv(const v: PGLshort); stdcall; external libGL;
  1017. procedure glTexCoord3d(s, t, r: GLdouble); stdcall; external libGL;
  1018. procedure glTexCoord3dv(const v: PGLdouble); stdcall; external libGL;
  1019. procedure glTexCoord3f(s, t, r: GLfloat); stdcall; external libGL;
  1020. procedure glTexCoord3fv(const v: PGLfloat); stdcall; external libGL;
  1021. procedure glTexCoord3i(s, t, r: GLint); stdcall; external libGL;
  1022. procedure glTexCoord3iv(const v: PGLint); stdcall; external libGL;
  1023. procedure glTexCoord3s(s, t, r: GLshort); stdcall; external libGL;
  1024. procedure glTexCoord3sv(const v: PGLshort); stdcall; external libGL;
  1025. procedure glTexCoord4d(s, t, r, q: GLdouble); stdcall; external libGL;
  1026. procedure glTexCoord4dv(const v: PGLdouble); stdcall; external libGL;
  1027. procedure glTexCoord4f(s, t, r, q: GLfloat); stdcall; external libGL;
  1028. procedure glTexCoord4fv(const v: PGLfloat); stdcall; external libGL;
  1029. procedure glTexCoord4i(s, t, r, q: GLint); stdcall; external libGL;
  1030. procedure glTexCoord4iv(const v: PGLint); stdcall; external libGL;
  1031. procedure glTexCoord4s(s, t, r, q: GLshort); stdcall; external libGL;
  1032. procedure glTexCoord4sv(const v: PGLshort); stdcall; external libGL;
  1033. // glTexCoordPointer: procedure(size: GLint; atype: GLenum; stride: GLsizei; const pointer: Pointer); stdcall; external libGL;
  1034. procedure glTexEnvf(target: GLenum; pname: GLenum; param: GLfloat); stdcall; external libGL;
  1035. procedure glTexEnvfv(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall; external libGL;
  1036. // glTexEnvi: procedure(target: GLenum; pname: GLenum; param: GLint); stdcall; external libGL;
  1037. // glTexEnviv: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall; external libGL;
  1038. procedure glTexGend(coord: GLenum; pname: GLenum; param: GLdouble); stdcall; external libGL;
  1039. procedure glTexGendv(coord: GLenum; pname: GLenum; const params: PGLdouble); stdcall; external libGL;
  1040. procedure glTexGenf(coord: GLenum; pname: GLenum; param: GLfloat); stdcall; external libGL;
  1041. procedure glTexGenfv(coord: GLenum; pname: GLenum; const params: PGLfloat); stdcall; external libGL;
  1042. procedure glTexGeni(coord: GLenum; pname: GLenum; param: GLint); stdcall; external libGL;
  1043. procedure glTexGeniv(coord: GLenum; pname: GLenum; const params: PGLint); stdcall; external libGL;
  1044. procedure glTranslated(x, y, z: GLdouble); stdcall; external libGL;
  1045. // glTranslatef: procedure(x, y, z: GLfloat); stdcall;
  1046. procedure glVertex2d(x, y: GLdouble); stdcall; external libGL;
  1047. procedure glVertex2dv(const v: PGLdouble); stdcall; external libGL;
  1048. // glVertex2f: procedure(x, y: GLfloat); stdcall;
  1049. // glVertex2fv: procedure(const v: PGLfloat); stdcall;
  1050. procedure glVertex2i(x, y: GLint); stdcall; external libGL;
  1051. procedure glVertex2iv(const v: PGLint); stdcall; external libGL;
  1052. procedure glVertex2s(x, y: GLshort); stdcall; external libGL;
  1053. procedure glVertex2sv(const v: PGLshort); stdcall; external libGL;
  1054. procedure glVertex3d(x, y, z: GLdouble); stdcall; external libGL;
  1055. procedure glVertex3dv(const v: PGLdouble); stdcall; external libGL;
  1056. // glVertex3f: procedure(x, y, z: GLfloat); stdcall;
  1057. // glVertex3fv: procedure(const v: PGLfloat); stdcall;
  1058. procedure glVertex3i(x, y, z: GLint); stdcall; external libGL;
  1059. procedure glVertex3iv(const v: PGLint); stdcall; external libGL;
  1060. procedure glVertex3s(x, y, z: GLshort); stdcall; external libGL;
  1061. procedure glVertex3sv(const v: PGLshort); stdcall; external libGL;
  1062. procedure glVertex4d(x, y, z, w: GLdouble); stdcall; external libGL;
  1063. procedure glVertex4dv(const v: PGLdouble); stdcall; external libGL;
  1064. procedure glVertex4f(x, y, z, w: GLfloat); stdcall; external libGL;
  1065. procedure glVertex4fv(const v: PGLfloat); stdcall; external libGL;
  1066. procedure glVertex4i(x, y, z, w: GLint); stdcall; external libGL;
  1067. procedure glVertex4iv(const v: PGLint); stdcall; external libGL;
  1068. procedure glVertex4s(x, y, z, w: GLshort); stdcall; external libGL;
  1069. procedure glVertex4sv(const v: PGLshort); stdcall; external libGL;
  1070. // glVertexPointer: procedure(size: GLint; atype: GLenum; stride: GLsizei; const pointer: Pointer); stdcall;
  1071. {$EndIf}
  1072. (*******************************************************************************
  1073. * end deprecated *
  1074. *******************************************************************************)
  1075. {$IfDef GL_VERSION_1_0}
  1076. procedure glCullFace(mode: GLenum); stdcall; external libGL;
  1077. procedure glFrontFace(mode: GLenum); stdcall; external libGL;
  1078. // procedure glHint(target: GLenum; mode: GLenum); stdcall; external libGL;
  1079. procedure glLineWidth(width: GLfloat); stdcall; external libGL;
  1080. // procedure glPointSize(size: GLfloat); stdcall; external libGL;
  1081. procedure glPolygonMode(face: GLenum; mode: GLenum); stdcall; external libGL;
  1082. // procedure glScissor(x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall; external libGL;
  1083. // procedure glTexParameterf(target: GLenum; pname: GLenum; param: GLfloat); stdcall; external libGL;
  1084. // procedure glTexParameterfv(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall; external libGL;
  1085. // procedure glTexParameteri(target: GLenum; pname: GLenum; param: GLint); stdcall; external libGL;
  1086. // procedure glTexParameteriv(target: GLenum; pname: GLenum; const params: PGLint); stdcall; external libGL;
  1087. procedure glTexImage1D(target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: pointer); stdcall; external libGL;
  1088. // procedure glTexImage2D(target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; height: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: pointer); stdcall; external libGL;
  1089. procedure glDrawBuffer(buf: GLenum); stdcall; external libGL;
  1090. // procedure glClear(mask: GLbitfield); stdcall; external libGL;
  1091. // procedure glClearColor(red: GLfloat; green: GLfloat; blue: GLfloat; alpha: GLfloat); stdcall; external libGL;
  1092. procedure glClearStencil(s: GLint); stdcall; external libGL;
  1093. // procedure glClearDepth(depth: GLdouble); stdcall; external libGL;
  1094. procedure glStencilMask(mask: GLuint); stdcall; external libGL;
  1095. // procedure glColorMask(red: GLboolean; green: GLboolean; blue: GLboolean; alpha: GLboolean); stdcall; external libGL;
  1096. // procedure glDepthMask(flag: GLboolean); stdcall; external libGL;
  1097. // procedure glDisable(cap: GLenum); stdcall; external libGL;
  1098. // procedure glEnable(cap: GLenum); stdcall; external libGL;
  1099. procedure glFinish; stdcall; external libGL;
  1100. procedure glFlush; stdcall; external libGL;
  1101. // procedure glBlendFunc(sfactor: GLenum; dfactor: GLenum); stdcall; external libGL;
  1102. procedure glLogicOp(opcode: GLenum); stdcall; external libGL;
  1103. procedure glStencilFunc(func: GLenum; ref: GLint; mask: GLuint); stdcall; external libGL;
  1104. procedure glStencilOp(fail: GLenum; zfail: GLenum; zpass: GLenum); stdcall; external libGL;
  1105. // procedure glDepthFunc(func: GLenum); stdcall; external libGL;
  1106. // procedure glPixelStoref(pname: GLenum; param: GLfloat); stdcall; external libGL;
  1107. // procedure glPixelStorei(pname: GLenum; param: GLint); stdcall; external libGL;
  1108. procedure glReadBuffer(src: GLenum); stdcall; external libGL;
  1109. // procedure glReadPixels(x: GLint; y: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; pixels: pointer); stdcall; external libGL;
  1110. procedure glGetBooleanv(pname: GLenum; data: PGLboolean); stdcall; external libGL;
  1111. procedure glGetDoublev(pname: GLenum; data: PGLdouble); stdcall; external libGL;
  1112. function glGetError: GLenum; stdcall; external libGL;
  1113. // procedure glGetFloatv(pname: GLenum; data: PGLfloat); stdcall; external libGL;
  1114. // procedure glGetIntegerv(pname: GLenum; data: PGLint); stdcall; external libGL;
  1115. // function glGetString(name: GLenum): PAnsiChar; stdcall; external libGL;
  1116. // procedure glGetTexImage(target: GLenum; level: GLint; format: GLenum; _type: GLenum; pixels: pointer); stdcall; external libGL;
  1117. procedure glGetTexParameterfv(target: GLenum; pname: GLenum; params: PGLfloat); stdcall; external libGL;
  1118. procedure glGetTexParameteriv(target: GLenum; pname: GLenum; params: PGLint); stdcall; external libGL;
  1119. procedure glGetTexLevelParameterfv(target: GLenum; level: GLint; pname: GLenum; params: PGLfloat); stdcall; external libGL;
  1120. procedure glGetTexLevelParameteriv(target: GLenum; level: GLint; pname: GLenum; params: PGLint); stdcall; external libGL;
  1121. function glIsEnabled(cap: GLenum): GLboolean; stdcall; external libGL;
  1122. // procedure glDepthRange(n: GLdouble; f: GLdouble); stdcall; external libGL;
  1123. // procedure glViewport(x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall; external libGL;
  1124. {$EndIf}
  1125. {$IfDef GL_VERSION_1_1}
  1126. // glDrawArrays: procedure(mode: GLenum; first: GLint; count: GLsizei); stdcall; external libGL; // + EXT
  1127. // glDrawElements: procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: pointer); stdcall; external libGL;
  1128. procedure glGetPointerv(pname: GLenum; params:Ppointer); stdcall; external libGL;
  1129. procedure glPolygonOffset(factor: GLfloat; units: GLfloat); stdcall; external libGL;
  1130. procedure glCopyTexImage1D(target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; border: GLint); stdcall; external libGL;
  1131. procedure glCopyTexImage2D(target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei; border: GLint); stdcall; external libGL;
  1132. procedure glCopyTexSubImage1D(target: GLenum; level: GLint; xoffset: GLint; x: GLint; y: GLint; width: GLsizei); stdcall; external libGL; // +EXT
  1133. // procedure glCopyTexSubImage2D(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall; external libGL; // + EXT
  1134. procedure glTexSubImage1D(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall; external libGL; // + EXT
  1135. // 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
  1136. // procedure glBindTexture(target: GLenum; texture: GLuint); stdcall; external libGL; // + EXT
  1137. // procedure glDeleteTextures(n: GLsizei; const textures: PGLuint); stdcall; external libGL; // + EXT
  1138. // procedure glGenTextures(n: GLsizei; textures: PGLuint); stdcall; external libGL; // + EXT
  1139. function glIsTexture(texture: GLuint): GLboolean; stdcall; external libGL;
  1140. {$EndIf}
  1141. {$IfDef GL_VERSION_1_2}
  1142. // procedure glDrawRangeElements(mode: GLenum; start: GLuint; _end: GLuint; count: GLsizei; _type: GLenum; const indices: pointer); stdcall; external libGL;// + EXT
  1143. 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;
  1144. 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;
  1145. procedure glCopyTexSubImage3D(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall; external libGL;
  1146. {$EndIf}
  1147. {$IfDef GL_VERSION_1_3}
  1148. procedure glActiveTexture(texture: GLenum); stdcall; external libGL;
  1149. procedure glSampleCoverage(value: GLfloat; invert: GLboolean); stdcall; external libGL;
  1150. procedure glCompressedTexImage3D(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; imageSize: GLsizei; const data: pointer); stdcall; external libGL;
  1151. // procedure glCompressedTexImage2D(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; imageSize: GLsizei; const data: pointer); stdcall; external libGL; // + ARB
  1152. procedure glCompressedTexImage1D(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei; const data: pointer); stdcall; external libGL;
  1153. 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;
  1154. procedure glCompressedTexSubImage2D(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const data: pointer); stdcall; external libGL;
  1155. procedure glCompressedTexSubImage1D(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const data: pointer); stdcall; external libGL;
  1156. procedure glGetCompressedTexImage(target: GLenum; level: GLint; img: pointer); stdcall; external libGL;
  1157. {$IfNDef USE_GLCORE}
  1158. procedure glClientActiveTexture(texture: GLenum); stdcall; external libGL;
  1159. procedure glMultiTexCoord1d(target: GLenum; s: GLdouble); stdcall; external libGL;
  1160. procedure glMultiTexCoord1dv(target: GLenum; const v: PGLdouble); stdcall; external libGL;
  1161. procedure glMultiTexCoord1f(target: GLenum; s: GLfloat); stdcall; external libGL;
  1162. procedure glMultiTexCoord1fv(target: GLenum; const v: PGLfloat); stdcall; external libGL;
  1163. procedure glMultiTexCoord1i(target: GLenum; s: GLint); stdcall; external libGL;
  1164. procedure glMultiTexCoord1iv(target: GLenum; const v: PGLint); stdcall; external libGL;
  1165. procedure glMultiTexCoord1s(target: GLenum; s: GLshort); stdcall; external libGL;
  1166. procedure glMultiTexCoord1sv(target: GLenum; const v: PGLshort); stdcall; external libGL;
  1167. procedure glMultiTexCoord2d(target: GLenum; s: GLdouble; t: GLdouble); stdcall; external libGL;
  1168. procedure glMultiTexCoord2dv(target: GLenum; const v: PGLdouble); stdcall; external libGL;
  1169. procedure glMultiTexCoord2f(target: GLenum; s: GLfloat; t: GLfloat); stdcall; external libGL;
  1170. procedure glMultiTexCoord2fv(target: GLenum; const v: PGLfloat); stdcall; external libGL;
  1171. procedure glMultiTexCoord2i(target: GLenum; s: GLint; t: GLint); stdcall; external libGL;
  1172. procedure glMultiTexCoord2iv(target: GLenum; const v: PGLint); stdcall; external libGL;
  1173. procedure glMultiTexCoord2s(target: GLenum; s: GLshort; t: GLshort); stdcall; external libGL;
  1174. procedure glMultiTexCoord2sv(target: GLenum; const v: PGLshort); stdcall; external libGL;
  1175. procedure glMultiTexCoord3d(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble); stdcall; external libGL;
  1176. procedure glMultiTexCoord3dv(target: GLenum; const v: PGLdouble); stdcall; external libGL;
  1177. procedure glMultiTexCoord3f(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat); stdcall; external libGL;
  1178. procedure glMultiTexCoord3fv(target: GLenum; const v: PGLfloat); stdcall; external libGL;
  1179. procedure glMultiTexCoord3i(target: GLenum; s: GLint; t: GLint; r: GLint); stdcall; external libGL;
  1180. procedure glMultiTexCoord3iv(target: GLenum; const v: PGLint); stdcall; external libGL;
  1181. procedure glMultiTexCoord3s(target: GLenum; s: GLshort; t: GLshort; r: GLshort); stdcall; external libGL;
  1182. procedure glMultiTexCoord3sv(target: GLenum; const v: PGLshort); stdcall; external libGL;
  1183. procedure glMultiTexCoord4d(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble; q: GLdouble); stdcall; external libGL;
  1184. procedure glMultiTexCoord4dv(target: GLenum; const v: PGLdouble); stdcall; external libGL;
  1185. procedure glMultiTexCoord4f(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat; q: GLfloat); stdcall; external libGL;
  1186. procedure glMultiTexCoord4fv(target: GLenum; const v: PGLfloat); stdcall; external libGL;
  1187. procedure glMultiTexCoord4i(target: GLenum; s: GLint; t: GLint; r: GLint; q: GLint); stdcall; external libGL;
  1188. procedure glMultiTexCoord4iv(target: GLenum; const v: PGLint); stdcall; external libGL;
  1189. procedure glMultiTexCoord4s(target: GLenum; s: GLshort; t: GLshort; r: GLshort; q: GLshort); stdcall; external libGL;
  1190. procedure glMultiTexCoord4sv(target: GLenum; const v: PGLshort); stdcall; external libGL;
  1191. procedure glLoadTransposeMatrixf(const m: PGLfloat); stdcall; external libGL;
  1192. procedure glLoadTransposeMatrixd(const m: PGLdouble); stdcall; external libGL;
  1193. procedure glMultTransposeMatrixf(const m: PGLfloat); stdcall; external libGL;
  1194. procedure glMultTransposeMatrixd(const m: PGLdouble); stdcall; external libGL;
  1195. {$EndIf}
  1196. {$EndIf}
  1197. {$If defined(GL_VERSION_1_4) or defined(GL_EXT_blend_func_separate)}
  1198. // glBlendFuncSeparate: procedure(sfactorRGB: GLenum; dfactorRGB: GLenum; sfactorAlpha: GLenum; dfactorAlpha: GLenum); stdcall;
  1199. {$IfEnd}
  1200. {$If defined(GL_VERSION_1_4) or defined(GL_EXT_blend_minmax)}
  1201. // glBlendEquation: procedure(mode: GLenum); stdcall; // + EXT
  1202. {$IfEnd}
  1203. {$IfDef GL_VERSION_1_4}
  1204. var
  1205. glMultiDrawArrays: procedure(mode: GLenum; const first: PGLint; const count: PGLsizei; drawcount: GLsizei); stdcall;
  1206. // glMultiDrawElements: procedure(mode: GLenum; const count: PGLsizei; _type: GLenum; const indices: {P}Ppointer; drawcount: GLsizei); stdcall; // + EXT
  1207. glPointParameterf: procedure(pname: GLenum; param: GLfloat); stdcall;
  1208. glPointParameterfv: procedure(pname: GLenum; const params: PGLfloat); stdcall;
  1209. glPointParameteri: procedure(pname: GLenum; param: GLint); stdcall;
  1210. glPointParameteriv: procedure(pname: GLenum; const params: PGLint); stdcall;
  1211. glBlendColor: procedure(red: GLfloat; green: GLfloat; blue: GLfloat; alpha: GLfloat); stdcall; // + GL_EXT_blend_color + GL_OES_fixed_point
  1212. {$IfNDef USE_GLCORE}
  1213. glFogCoordf: procedure(coord: GLfloat); stdcall;
  1214. glFogCoordfv: procedure(const coord: PGLfloat); stdcall;
  1215. glFogCoordd: procedure(coord: GLdouble); stdcall;
  1216. glFogCoorddv: procedure(const coord: PGLdouble); stdcall;
  1217. // glFogCoordPointer: procedure(_type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall; // + EXT
  1218. glSecondaryColor3b: procedure(red: GLbyte; green: GLbyte; blue: GLbyte); stdcall;
  1219. glSecondaryColor3bv: procedure(const v: PGLbyte); stdcall;
  1220. glSecondaryColor3d: procedure(red: GLdouble; green: GLdouble; blue: GLdouble); stdcall;
  1221. glSecondaryColor3dv: procedure(const v: PGLdouble); stdcall;
  1222. glSecondaryColor3f: procedure(red: GLfloat; green: GLfloat; blue: GLfloat); stdcall;
  1223. glSecondaryColor3fv: procedure(const v: PGLfloat); stdcall;
  1224. glSecondaryColor3i: procedure(red: GLint; green: GLint; blue: GLint); stdcall;
  1225. glSecondaryColor3iv: procedure(const v: PGLint); stdcall;
  1226. glSecondaryColor3s: procedure(red: GLshort; green: GLshort; blue: GLshort); stdcall;
  1227. glSecondaryColor3sv: procedure(const v: PGLshort); stdcall;
  1228. glSecondaryColor3ub: procedure(red: GLubyte; green: GLubyte; blue: GLubyte); stdcall;
  1229. glSecondaryColor3ubv: procedure(const v: PGLubyte); stdcall;
  1230. glSecondaryColor3ui: procedure(red: GLuint; green: GLuint; blue: GLuint); stdcall;
  1231. glSecondaryColor3uiv: procedure(const v: PGLuint); stdcall;
  1232. glSecondaryColor3us: procedure(red: GLushort; green: GLushort; blue: GLushort); stdcall;
  1233. glSecondaryColor3usv: procedure(const v: PGLushort); stdcall;
  1234. // glSecondaryColorPointer: procedure(size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall; // + EXT
  1235. glWindowPos2d: procedure(x: GLdouble; y: GLdouble); stdcall;
  1236. glWindowPos2dv: procedure(const v: PGLdouble); stdcall;
  1237. glWindowPos2f: procedure(x: GLfloat; y: GLfloat); stdcall;
  1238. glWindowPos2fv: procedure(const v: PGLfloat); stdcall;
  1239. glWindowPos2i: procedure(x: GLint; y: GLint); stdcall;
  1240. glWindowPos2iv: procedure(const v: PGLint); stdcall;
  1241. glWindowPos2s: procedure(x: GLshort; y: GLshort); stdcall;
  1242. glWindowPos2sv: procedure(const v: PGLshort); stdcall;
  1243. glWindowPos3d: procedure(x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  1244. glWindowPos3dv: procedure(const v: PGLdouble); stdcall;
  1245. glWindowPos3f: procedure(x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  1246. glWindowPos3fv: procedure(const v: PGLfloat); stdcall;
  1247. glWindowPos3i: procedure(x: GLint; y: GLint; z: GLint); stdcall;
  1248. glWindowPos3iv: procedure(const v: PGLint); stdcall;
  1249. glWindowPos3s: procedure(x: GLshort; y: GLshort; z: GLshort); stdcall;
  1250. glWindowPos3sv: procedure(const v: PGLshort); stdcall;
  1251. {$EndIf}
  1252. {$EndIf}
  1253. {$IfDef GL_VERSION_1_5}
  1254. var
  1255. glGenQueries: procedure(n: GLsizei; const ids: PGLuint); stdcall;
  1256. glDeleteQueries: procedure(n: GLsizei; ids: PGLuint); stdcall;
  1257. glIsQuery: function(id: GLuint): GLboolean; stdcall;
  1258. glBeginQuery: procedure(target: GLenum; id: GLuint); stdcall;
  1259. glEndQuery: procedure(target: GLenum); stdcall;
  1260. glGetQueryiv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  1261. glGetQueryObjectiv: procedure(id: GLuint; pname: GLenum; params: PGLint); stdcall;
  1262. glGetQueryObjectuiv: procedure(id: GLuint; pname: GLenum; params: PGLuint); stdcall;
  1263. glBindBuffer: procedure(target: GLenum; buffer: GLuint); stdcall;
  1264. glDeleteBuffers: procedure(n: GLsizei; const buffers: PGLuint); stdcall;
  1265. glGenBuffers: procedure(n: GLsizei; buffers: PGLuint); stdcall;
  1266. glIsBuffer: function(buffer: GLuint): GLboolean; stdcall;
  1267. glBufferData: procedure(target: GLenum; size: GLsizeiptr; const data: pointer; usage: GLenum); stdcall;
  1268. glBufferSubData: procedure(target: GLenum; offset: GLintptr; size: GLsizeiptr; const data: pointer); stdcall;
  1269. glGetBufferSubData: procedure(target: GLenum; offset: GLintptr; size: GLsizeiptr; const data: pointer); stdcall;
  1270. glMapBuffer: function(target: GLenum; access: GLenum): pointer; stdcall;
  1271. glUnmapBuffer: function(target: GLenum): GLboolean; stdcall;
  1272. glGetBufferParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  1273. glGetBufferPointerv: procedure(target: GLenum; pname: GLenum; params:Ppointer); stdcall;
  1274. {$EndIf}
  1275. {$IfDef GL_VERSION_2_0}
  1276. var
  1277. glBlendEquationSeparate: procedure(modeRGB: GLenum; modeAlpha: GLenum); stdcall; // + GL_EXT_blend_equation_separate
  1278. glDrawBuffers: procedure(n: GLsizei; const bufs: PGLenum); stdcall;
  1279. glStencilOpSeparate: procedure(face: GLenum; sfail: GLenum; dpfail: GLenum; dppass: GLenum); stdcall;
  1280. glStencilFuncSeparate: procedure(face: GLenum; func: GLenum; ref: GLint; mask: GLuint); stdcall;
  1281. glStencilMaskSeparate: procedure(face: GLenum; mask: GLuint); stdcall;
  1282. glAttachShader: procedure(_program: GLuint; shader: GLuint); stdcall;
  1283. glBindAttribLocation: procedure(_program: GLuint; index: GLuint; const name: PGLchar); stdcall;
  1284. glCompileShader: procedure(shader: GLuint); stdcall;
  1285. glCreateProgram: function : GLuint; stdcall;
  1286. glCreateShader: function(_type: GLenum): GLuint; stdcall;
  1287. glDeleteProgram: procedure(_program: GLuint); stdcall;
  1288. glDeleteShader: procedure(shader: GLuint); stdcall;
  1289. glDetachShader: procedure(_program: GLuint; shader: GLuint); stdcall;
  1290. glDisableVertexAttribArray: procedure(index: GLuint); stdcall;
  1291. glEnableVertexAttribArray: procedure(index: GLuint); stdcall;
  1292. glGetActiveAttrib: procedure(_program: GLuint; index: GLuint; bufSize: GLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLchar); stdcall;
  1293. glGetActiveUniform: procedure(_program: GLuint; index: GLuint; bufSize: GLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLchar); stdcall;
  1294. glGetAttachedShaders: procedure(_program: GLuint; maxCount: GLsizei; count: PGLsizei; shaders: PGLuint); stdcall;
  1295. glGetAttribLocation: function(_program: GLuint; const name: PGLchar): GLint; stdcall;
  1296. glGetProgramiv: procedure(_program: GLuint; pname: GLenum; params: PGLint); stdcall;
  1297. glGetProgramInfoLog: procedure(_program: GLuint; bufSize: GLsizei; length: PGLsizei; infoLog: PGLchar); stdcall;
  1298. glGetShaderiv: procedure(shader: GLuint; pname: GLenum; params: PGLint); stdcall;
  1299. glGetShaderInfoLog: procedure(shader: GLuint; bufSize: GLsizei; length: PGLsizei; infoLog: PGLchar); stdcall;
  1300. glGetShaderSource: procedure(shader: GLuint; bufSize: GLsizei; length: PGLsizei; source: PGLchar); stdcall;
  1301. glGetUniformLocation: function(_program: GLuint; const name: PGLchar): GLint; stdcall;
  1302. glGetUniformfv: procedure(_program: GLuint; location: GLint; params: PGLfloat); stdcall;
  1303. glGetUniformiv: procedure(_program: GLuint; location: GLint; params: PGLint); stdcall;
  1304. glGetVertexAttribdv: procedure(index: GLuint; pname: GLenum; params: PGLdouble); stdcall;
  1305. glGetVertexAttribfv: procedure(index: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  1306. glGetVertexAttribiv: procedure(index: GLuint; pname: GLenum; params: PGLint); stdcall;
  1307. glGetVertexAttribPointerv: procedure(index: GLuint; pname: GLenum; pointer:Ppointer); stdcall;
  1308. glIsProgram: function(_program: GLuint): GLboolean; stdcall;
  1309. glIsShader: function(shader: GLuint): GLboolean; stdcall;
  1310. glLinkProgram: procedure(_program: GLuint); stdcall;
  1311. glShaderSource: procedure(shader: GLuint; count: GLsizei; const _string: PPGLchar; const length: PGLint); stdcall;
  1312. glUseProgram: procedure(_program: GLuint); stdcall;
  1313. glUniform1f: procedure(location: GLint; v0: GLfloat); stdcall;
  1314. glUniform2f: procedure(location: GLint; v0: GLfloat; v1: GLfloat); stdcall;
  1315. glUniform3f: procedure(location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat); stdcall;
  1316. glUniform4f: procedure(location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat; v3: GLfloat); stdcall;
  1317. glUniform1i: procedure(location: GLint; v0: GLint); stdcall;
  1318. glUniform2i: procedure(location: GLint; v0: GLint; v1: GLint); stdcall;
  1319. glUniform3i: procedure(location: GLint; v0: GLint; v1: GLint; v2: GLint); stdcall;
  1320. glUniform4i: procedure(location: GLint; v0: GLint; v1: GLint; v2: GLint; v3: GLint); stdcall;
  1321. glUniform1fv: procedure(location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  1322. glUniform2fv: procedure(location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  1323. glUniform3fv: procedure(location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  1324. glUniform4fv: procedure(location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  1325. glUniform1iv: procedure(location: GLint; count: GLsizei; const value: PGLint); stdcall;
  1326. glUniform2iv: procedure(location: GLint; count: GLsizei; const value: PGLint); stdcall;
  1327. glUniform3iv: procedure(location: GLint; count: GLsizei; const value: PGLint); stdcall;
  1328. glUniform4iv: procedure(location: GLint; count: GLsizei; const value: PGLint); stdcall;
  1329. glUniformMatrix2fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1330. glUniformMatrix3fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1331. glUniformMatrix4fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1332. glValidateProgram: procedure(_program: GLuint); stdcall;
  1333. glVertexAttrib1d: procedure(index: GLuint; x: GLdouble); stdcall;
  1334. glVertexAttrib1dv: procedure(index: GLuint; const v: PGLdouble); stdcall;
  1335. glVertexAttrib1f: procedure(index: GLuint; x: GLfloat); stdcall;
  1336. glVertexAttrib1fv: procedure(index: GLuint; const v: PGLfloat); stdcall;
  1337. glVertexAttrib1s: procedure(index: GLuint; x: GLshort); stdcall;
  1338. glVertexAttrib1sv: procedure(index: GLuint; const v: PGLshort); stdcall;
  1339. glVertexAttrib2d: procedure(index: GLuint; x: GLdouble; y: GLdouble); stdcall;
  1340. glVertexAttrib2dv: procedure(index: GLuint; const v: PGLdouble); stdcall;
  1341. glVertexAttrib2f: procedure(index: GLuint; x: GLfloat; y: GLfloat); stdcall;
  1342. glVertexAttrib2fv: procedure(index: GLuint; const v: PGLfloat); stdcall;
  1343. glVertexAttrib2s: procedure(index: GLuint; x: GLshort; y: GLshort); stdcall;
  1344. glVertexAttrib2sv: procedure(index: GLuint; const v: PGLshort); stdcall;
  1345. glVertexAttrib3d: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  1346. glVertexAttrib3dv: procedure(index: GLuint; const v: PGLdouble); stdcall;
  1347. glVertexAttrib3f: procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  1348. glVertexAttrib3fv: procedure(index: GLuint; const v: PGLfloat); stdcall;
  1349. glVertexAttrib3s: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort); stdcall;
  1350. glVertexAttrib3sv: procedure(index: GLuint; const v: PGLshort); stdcall;
  1351. glVertexAttrib4Nbv: procedure(index: GLuint; const v: PGLbyte); stdcall;
  1352. glVertexAttrib4Niv: procedure(index: GLuint; const v: PGLint); stdcall;
  1353. glVertexAttrib4Nsv: procedure(index: GLuint; const v: PGLshort); stdcall;
  1354. glVertexAttrib4Nub: procedure(index: GLuint; x: GLubyte; y: GLubyte; z: GLubyte; w: GLubyte); stdcall;
  1355. glVertexAttrib4Nubv: procedure(index: GLuint; const v: PGLubyte); stdcall;
  1356. glVertexAttrib4Nuiv: procedure(index: GLuint; const v: PGLuint); stdcall;
  1357. glVertexAttrib4Nusv: procedure(index: GLuint; const v: PGLushort); stdcall;
  1358. glVertexAttrib4bv: procedure(index: GLuint; const v: PGLbyte); stdcall;
  1359. glVertexAttrib4d: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  1360. glVertexAttrib4dv: procedure(index: GLuint; const v: PGLdouble); stdcall;
  1361. glVertexAttrib4f: procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  1362. glVertexAttrib4fv: procedure(index: GLuint; const v: PGLfloat); stdcall;
  1363. glVertexAttrib4iv: procedure(index: GLuint; const v: PGLint); stdcall;
  1364. glVertexAttrib4s: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort; w: GLshort); stdcall;
  1365. glVertexAttrib4sv: procedure(index: GLuint; const v: PGLshort); stdcall;
  1366. glVertexAttrib4ubv: procedure(index: GLuint; const v: PGLubyte); stdcall;
  1367. glVertexAttrib4uiv: procedure(index: GLuint; const v: PGLuint); stdcall;
  1368. glVertexAttrib4usv: procedure(index: GLuint; const v: PGLushort); stdcall;
  1369. glVertexAttribPointer: procedure(index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei; const _pointer: pointer); stdcall;
  1370. {$EndIf}
  1371. {$IfDef GL_VERSION_2_1}
  1372. var
  1373. glUniformMatrix2x3fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1374. glUniformMatrix3x2fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1375. glUniformMatrix2x4fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1376. glUniformMatrix4x2fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1377. glUniformMatrix3x4fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1378. glUniformMatrix4x3fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1379. {$EndIf}
  1380. {$If defined(GL_VERSION_3_0) or defined(GL_EXT_framebuffer_object)}
  1381. //var
  1382. // glIsRenderbuffer: function(renderbuffer: GLuint): GLboolean; stdcall;
  1383. // glBindRenderbuffer: procedure(target: GLenum; renderbuffer: GLuint); stdcall;
  1384. // glDeleteRenderbuffers: procedure(n: GLsizei; const renderbuffers: PGLuint); stdcall;
  1385. // glGenRenderbuffers: procedure(n: GLsizei; renderbuffers: PGLuint); stdcall;
  1386. // glRenderbufferStorage: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  1387. // glIsFramebuffer: function(framebuffer: GLuint): GLboolean; stdcall;
  1388. // glBindFramebuffer: procedure(target: GLenum; framebuffer: GLuint); stdcall;
  1389. // glDeleteFramebuffers: procedure(n: GLsizei; const framebuffers: PGLuint); stdcall;
  1390. // glGenFramebuffers: procedure(n: GLsizei; framebuffers: PGLuint); stdcall;
  1391. // glCheckFramebufferStatus: function(target: GLenum): GLenum; stdcall;
  1392. // glFramebufferTexture2D: procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); stdcall;
  1393. // glFramebufferRenderbuffer: procedure(target: GLenum; attachment: GLenum; renderbuffertarget: GLenum; renderbuffer: GLuint); stdcall;
  1394. {$IfEnd}
  1395. {$IfDef GL_VERSION_3_0}
  1396. var
  1397. glColorMaski: procedure(index: GLuint; r: GLboolean; g: GLboolean; b: GLboolean; a: GLboolean); stdcall;
  1398. glGetBooleani_v: procedure(target: GLenum; index: GLuint; data: PGLboolean); stdcall;
  1399. glGetIntegeri_v: procedure(target: GLenum; index: GLuint; data: PGLint); stdcall;
  1400. glEnablei: procedure(target: GLenum; index: GLuint); stdcall;
  1401. glDisablei: procedure(target: GLenum; index: GLuint); stdcall;
  1402. glIsEnabledi: function(target: GLenum; index: GLuint): GLboolean; stdcall;
  1403. glBeginTransformFeedback: procedure(primitiveMode: GLenum); stdcall;
  1404. glEndTransformFeedback: procedure;
  1405. glBindBufferRange: procedure(target: GLenum; index: GLuint; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); stdcall;
  1406. glBindBufferBase: procedure(target: GLenum; index: GLuint; buffer: GLuint); stdcall;
  1407. glTransformFeedbackVaryings: procedure(_program: GLuint; count: GLsizei; const varyings: PPGLchar; bufferMode: GLenum); stdcall;
  1408. glGetTransformFeedbackVarying: procedure(_program: GLuint; index: GLuint; bufSize: GLsizei; length: PGLsizei; size: PGLsizei; _type: PGLenum; name: PGLchar); stdcall;
  1409. glClampColor: procedure(target: GLenum; clamp: GLenum); stdcall;
  1410. glBeginConditionalRender: procedure(id: GLuint; mode: GLenum); stdcall;
  1411. glEndConditionalRender: procedure;
  1412. glVertexAttribIPointer: procedure(index: GLuint; size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  1413. glGetVertexAttribIiv: procedure(index: GLuint; pname: GLenum; params: PGLint); stdcall;
  1414. glGetVertexAttribIuiv: procedure(index: GLuint; pname: GLenum; params: PGLuint); stdcall;
  1415. glVertexAttribI1i: procedure(index: GLuint; x: GLint); stdcall;
  1416. glVertexAttribI2i: procedure(index: GLuint; x: GLint; y: GLint); stdcall;
  1417. glVertexAttribI3i: procedure(index: GLuint; x: GLint; y: GLint; z: GLint); stdcall;
  1418. glVertexAttribI4i: procedure(index: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); stdcall;
  1419. glVertexAttribI1ui: procedure(index: GLuint; x: GLuint); stdcall;
  1420. glVertexAttribI2ui: procedure(index: GLuint; x: GLuint; y: GLuint); stdcall;
  1421. glVertexAttribI3ui: procedure(index: GLuint; x: GLuint; y: GLuint; z: GLuint); stdcall;
  1422. glVertexAttribI4ui: procedure(index: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); stdcall;
  1423. glVertexAttribI1iv: procedure(index: GLuint; const v: PGLint); stdcall;
  1424. glVertexAttribI2iv: procedure(index: GLuint; const v: PGLint); stdcall;
  1425. glVertexAttribI3iv: procedure(index: GLuint; const v: PGLint); stdcall;
  1426. glVertexAttribI4iv: procedure(index: GLuint; const v: PGLint); stdcall;
  1427. glVertexAttribI1uiv: procedure(index: GLuint; const v: PGLuint); stdcall;
  1428. glVertexAttribI2uiv: procedure(index: GLuint; const v: PGLuint); stdcall;
  1429. glVertexAttribI3uiv: procedure(index: GLuint; const v: PGLuint); stdcall;
  1430. glVertexAttribI4uiv: procedure(index: GLuint; const v: PGLuint); stdcall;
  1431. glVertexAttribI4bv: procedure(index: GLuint; const v: PGLbyte); stdcall;
  1432. glVertexAttribI4sv: procedure(index: GLuint; const v: PGLshort); stdcall;
  1433. glVertexAttribI4ubv: procedure(index: GLuint; const v: PGLubyte); stdcall;
  1434. glVertexAttribI4usv: procedure(index: GLuint; const v: PGLushort); stdcall;
  1435. glGetUniformuiv: procedure(_program: GLuint; location: GLint; params: PGLuint); stdcall;
  1436. glBindFragDataLocation: procedure(_program: GLuint; color: GLuint; const name: PGLchar); stdcall;
  1437. glGetFragDataLocation: function(_program: GLuint; const name: PGLchar): GLint; stdcall;
  1438. glUniform1ui: procedure(location: GLint; v0: GLuint); stdcall;
  1439. glUniform2ui: procedure(location: GLint; v0: GLuint; v1: GLuint); stdcall;
  1440. glUniform3ui: procedure(location: GLint; v0: GLuint; v1: GLuint; v2: GLuint); stdcall;
  1441. glUniform4ui: procedure(location: GLint; v0: GLuint; v1: GLuint; v2: GLuint; v3: GLuint); stdcall;
  1442. glUniform1uiv: procedure(location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  1443. glUniform2uiv: procedure(location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  1444. glUniform3uiv: procedure(location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  1445. glUniform4uiv: procedure(location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  1446. glTexParameterIiv: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  1447. glTexParameterIuiv: procedure(target: GLenum; pname: GLenum; const params: PGLuint); stdcall;
  1448. glGetTexParameterIiv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  1449. glGetTexParameterIuiv: procedure(target: GLenum; pname: GLenum; params: PGLuint); stdcall;
  1450. glClearBufferiv: procedure(buffer: GLenum; drawbuffer: GLint; const value: PGLint); stdcall;
  1451. glClearBufferuiv: procedure(buffer: GLenum; drawbuffer: GLint; const value: PGLuint); stdcall;
  1452. glClearBufferfv: procedure(buffer: GLenum; drawbuffer: GLint; const value: PGLfloat); stdcall;
  1453. glClearBufferfi: procedure(buffer: GLenum; drawbuffer: GLint; depth: GLfloat; stencil: GLint); stdcall;
  1454. glGetStringi: function(name: GLenum; index: GLuint): PGLubyte; stdcall;
  1455. // glIsRenderbuffer: function(renderbuffer: GLuint): GLboolean; stdcall;
  1456. // glBindRenderbuffer: procedure(target: GLenum; renderbuffer: GLuint); stdcall;
  1457. // glDeleteRenderbuffers: procedure(n: GLsizei; const renderbuffers: PGLuint); stdcall;
  1458. // glGenRenderbuffers: procedure(n: GLsizei; renderbuffers: PGLuint); stdcall;
  1459. // glRenderbufferStorage: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  1460. glGetRenderbufferParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  1461. // glIsFramebuffer: function(framebuffer: GLuint): GLboolean; stdcall;
  1462. // glBindFramebuffer: procedure(target: GLenum; framebuffer: GLuint); stdcall;
  1463. // glDeleteFramebuffers: procedure(n: GLsizei; const framebuffers: PGLuint); stdcall;
  1464. // glGenFramebuffers: procedure(n: GLsizei; framebuffers: PGLuint); stdcall;
  1465. // glCheckFramebufferStatus: function(target: GLenum): GLenum; stdcall;
  1466. glFramebufferTexture1D: procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); stdcall;
  1467. // glFramebufferTexture2D: procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); stdcall;
  1468. glFramebufferTexture3D: procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint; zoffset: GLint); stdcall;
  1469. // glFramebufferRenderbuffer: procedure(target: GLenum; attachment: GLenum; renderbuffertarget: GLenum; renderbuffer: GLuint); stdcall;
  1470. glGetFramebufferAttachmentParameteriv: procedure(target: GLenum; attachment: GLenum; pname: GLenum; params: PGLint); stdcall;
  1471. glGenerateMipmap: procedure(target: GLenum); stdcall;
  1472. glBlitFramebuffer: procedure(srcX0: GLint; srcY0: GLint; srcX1: GLint; srcY1: GLint; dstX0: GLint; dstY0: GLint; dstX1: GLint; dstY1: GLint; mask: GLbitfield; filter: GLenum); stdcall;
  1473. glRenderbufferStorageMultisample: procedure(target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  1474. glFramebufferTextureLayer: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; layer: GLint); stdcall;
  1475. glMapBufferRange: function(target: GLenum; offset: GLintptr; length: GLsizeiptr; access: GLbitfield): pointer; stdcall;
  1476. glFlushMappedBufferRange: procedure(target: GLenum; offset: GLintptr; length: GLsizeiptr); stdcall;
  1477. glBindVertexArray: procedure(_array: GLuint); stdcall;
  1478. glDeleteVertexArrays: procedure(n: GLsizei; const arrays: PGLuint); stdcall;
  1479. glGenVertexArrays: procedure(n: GLsizei; arrays: PGLuint); stdcall;
  1480. glIsVertexArray: function(_array: GLuint): GLboolean; stdcall;
  1481. {$EndIf}
  1482. {$IfDef GL_VERSION_3_1}
  1483. var
  1484. glDrawArraysInstanced: procedure(mode: GLenum; first: GLint; count: GLsizei; instancecount: GLsizei); stdcall;
  1485. glDrawElementsInstanced: procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: pointer; instancecount: GLsizei); stdcall;
  1486. glTexBuffer: procedure(target: GLenum; internalformat: GLenum; buffer: GLuint); stdcall;
  1487. glPrimitiveRestartIndex: procedure(index: GLuint); stdcall;
  1488. glCopyBufferSubData: procedure(readTarget: GLenum; writeTarget: GLenum; readOffset: GLintptr; writeOffset: GLintptr; size: GLsizeiptr); stdcall;
  1489. glGetUniformIndices: procedure(_program: GLuint; uniformCount: GLsizei; const uniformNames: PPGLchar; uniformIndices: PGLuint); stdcall;
  1490. glGetActiveUniformsiv: procedure(_program: GLuint; uniformCount: GLsizei; const uniformIndices: PGLuint; pname: GLenum; params: PGLint); stdcall;
  1491. glGetActiveUniformName: procedure(_program: GLuint; uniformIndex: GLuint; bufSize: GLsizei; length: PGLsizei; uniformName: PGLchar); stdcall;
  1492. glGetUniformBlockIndex: function(_program: GLuint; const uniformBlockName: PGLchar): GLuint; stdcall;
  1493. glGetActiveUniformBlockiv: procedure(_program: GLuint; uniformBlockIndex: GLuint; pname: GLenum; params: PGLint); stdcall;
  1494. glGetActiveUniformBlockName: procedure(_program: GLuint; uniformBlockIndex: GLuint; bufSize: GLsizei; length: PGLsizei; uniformBlockName: PGLchar); stdcall;
  1495. glUniformBlockBinding: procedure(_program: GLuint; uniformBlockIndex: GLuint; uniformBlockBinding: GLuint); stdcall;
  1496. {$EndIf}
  1497. {$IfDef GL_VERSION_3_2}
  1498. var
  1499. glDrawElementsBaseVertex: procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: pointer; basevertex: GLint); stdcall;
  1500. glDrawRangeElementsBaseVertex: procedure(mode: GLenum; start: GLuint; _end: GLuint; count: GLsizei; _type: GLenum; const indices: pointer; basevertex: GLint); stdcall;
  1501. glDrawElementsInstancedBaseVertex: procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: pointer; instancecount: GLsizei; basevertex: GLint); stdcall;
  1502. glMultiDrawElementsBaseVertex: procedure(mode: GLenum; const count: PGLsizei; _type: GLenum; const indices: {P}Ppointer; drawcount: GLsizei; const basevertex: PGLint); stdcall;
  1503. glProvokingVertex: procedure(mode: GLenum); stdcall;
  1504. glFenceSync: function(condition: GLenum; flags: GLbitfield): GLsync; stdcall;
  1505. glIsSync: function(sync: GLsync): GLboolean; stdcall;
  1506. glDeleteSync: procedure(sync: GLsync); stdcall;
  1507. glClientWaitSync: function(sync: GLsync; flags: GLbitfield; timeout: GLuint64): GLenum; stdcall;
  1508. glWaitSync: procedure(sync: GLsync; flags: GLbitfield; timeout: GLuint64); stdcall;
  1509. glGetInteger64v: procedure(pname: GLenum; data: PGLint64); stdcall;
  1510. glGetSynciv: procedure(sync: GLsync; pname: GLenum; count: GLsizei; length: PGLsizei; values: PGLint); stdcall;
  1511. glGetInteger64i_v: procedure(target: GLenum; index: GLuint; data: PGLint64); stdcall;
  1512. glGetBufferParameteri64v: procedure(target: GLenum; pname: GLenum; params: PGLint64); stdcall;
  1513. glFramebufferTexture: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint); stdcall;
  1514. glTexImage2DMultisample: procedure(target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; fixedsamplelocations: GLboolean); stdcall;
  1515. glTexImage3DMultisample: procedure(target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; fixedsamplelocations: GLboolean); stdcall;
  1516. glGetMultisamplefv: procedure(pname: GLenum; index: GLuint; val: PGLfloat); stdcall;
  1517. glSampleMaski: procedure(maskNumber: GLuint; mask: GLbitfield); stdcall;
  1518. {$EndIf}
  1519. {$IfDef GL_VERSION_3_3}
  1520. var
  1521. glBindFragDataLocationIndexed: procedure(_program: GLuint; colorNumber: GLuint; index: GLuint; const name: PGLchar); stdcall;
  1522. glGetFragDataIndex: function(_program: GLuint; const name: PGLchar): GLint; stdcall;
  1523. glGenSamplers: procedure(count: GLsizei; samplers: PGLuint); stdcall;
  1524. glDeleteSamplers: procedure(count: GLsizei; const samplers: PGLuint); stdcall;
  1525. glIsSampler: function(sampler: GLuint): GLboolean; stdcall;
  1526. glBindSampler: procedure(_unit: GLuint; sampler: GLuint); stdcall;
  1527. glSamplerParameteri: procedure(sampler: GLuint; pname: GLenum; param: GLint); stdcall;
  1528. glSamplerParameteriv: procedure(sampler: GLuint; pname: GLenum; const param: PGLint); stdcall;
  1529. glSamplerParameterf: procedure(sampler: GLuint; pname: GLenum; param: GLfloat); stdcall;
  1530. glSamplerParameterfv: procedure(sampler: GLuint; pname: GLenum; const param: PGLfloat); stdcall;
  1531. glSamplerParameterIiv: procedure(sampler: GLuint; pname: GLenum; const param: PGLint); stdcall;
  1532. glSamplerParameterIuiv: procedure(sampler: GLuint; pname: GLenum; const param: PGLuint); stdcall;
  1533. glGetSamplerParameteriv: procedure(sampler: GLuint; pname: GLenum; params: PGLint); stdcall;
  1534. glGetSamplerParameterIiv: procedure(sampler: GLuint; pname: GLenum; params: PGLint); stdcall;
  1535. glGetSamplerParameterfv: procedure(sampler: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  1536. glGetSamplerParameterIuiv: procedure(sampler: GLuint; pname: GLenum; params: PGLuint); stdcall;
  1537. glQueryCounter: procedure(id: GLuint; target: GLenum); stdcall;
  1538. glGetQueryObjecti64v: procedure(id: GLuint; pname: GLenum; params: PGLint64); stdcall;
  1539. glGetQueryObjectui64v: procedure(id: GLuint; pname: GLenum; params: PGLuint64); stdcall;
  1540. glVertexAttribDivisor: procedure(index: GLuint; divisor: GLuint); stdcall;
  1541. glVertexAttribP1ui: procedure(index: GLuint; _type: GLenum; normalized: GLboolean; value: GLuint); stdcall;
  1542. glVertexAttribP1uiv: procedure(index: GLuint; _type: GLenum; normalized: GLboolean; const value: PGLuint); stdcall;
  1543. glVertexAttribP2ui: procedure(index: GLuint; _type: GLenum; normalized: GLboolean; value: GLuint); stdcall;
  1544. glVertexAttribP2uiv: procedure(index: GLuint; _type: GLenum; normalized: GLboolean; const value: PGLuint); stdcall;
  1545. glVertexAttribP3ui: procedure(index: GLuint; _type: GLenum; normalized: GLboolean; value: GLuint); stdcall;
  1546. glVertexAttribP3uiv: procedure(index: GLuint; _type: GLenum; normalized: GLboolean; const value: PGLuint); stdcall;
  1547. glVertexAttribP4ui: procedure(index: GLuint; _type: GLenum; normalized: GLboolean; value: GLuint); stdcall;
  1548. glVertexAttribP4uiv: procedure(index: GLuint; _type: GLenum; normalized: GLboolean; const value: PGLuint); stdcall;
  1549. {$IfNDef USE_GLCORE}
  1550. glVertexP2ui: procedure(_type: GLenum; value: GLuint); stdcall;
  1551. glVertexP2uiv: procedure(_type: GLenum; const value: PGLuint); stdcall;
  1552. glVertexP3ui: procedure(_type: GLenum; value: GLuint); stdcall;
  1553. glVertexP3uiv: procedure(_type: GLenum; const value: PGLuint); stdcall;
  1554. glVertexP4ui: procedure(_type: GLenum; value: GLuint); stdcall;
  1555. glVertexP4uiv: procedure(_type: GLenum; const value: PGLuint); stdcall;
  1556. glTexCoordP1ui: procedure(_type: GLenum; coords: GLuint); stdcall;
  1557. glTexCoordP1uiv: procedure(_type: GLenum; const coords: PGLuint); stdcall;
  1558. glTexCoordP2ui: procedure(_type: GLenum; coords: GLuint); stdcall;
  1559. glTexCoordP2uiv: procedure(_type: GLenum; const coords: PGLuint); stdcall;
  1560. glTexCoordP3ui: procedure(_type: GLenum; coords: GLuint); stdcall;
  1561. glTexCoordP3uiv: procedure(_type: GLenum; const coords: PGLuint); stdcall;
  1562. glTexCoordP4ui: procedure(_type: GLenum; coords: GLuint); stdcall;
  1563. glTexCoordP4uiv: procedure(_type: GLenum; const coords: PGLuint); stdcall;
  1564. glMultiTexCoordP1ui: procedure(texture: GLenum; _type: GLenum; coords: GLuint); stdcall;
  1565. glMultiTexCoordP1uiv: procedure(texture: GLenum; _type: GLenum; const coords: PGLuint); stdcall;
  1566. glMultiTexCoordP2ui: procedure(texture: GLenum; _type: GLenum; coords: GLuint); stdcall;
  1567. glMultiTexCoordP2uiv: procedure(texture: GLenum; _type: GLenum; const coords: PGLuint); stdcall;
  1568. glMultiTexCoordP3ui: procedure(texture: GLenum; _type: GLenum; coords: GLuint); stdcall;
  1569. glMultiTexCoordP3uiv: procedure(texture: GLenum; _type: GLenum; const coords: PGLuint); stdcall;
  1570. glMultiTexCoordP4ui: procedure(texture: GLenum; _type: GLenum; coords: GLuint); stdcall;
  1571. glMultiTexCoordP4uiv: procedure(texture: GLenum; _type: GLenum; const coords: PGLuint); stdcall;
  1572. glNormalP3ui: procedure(_type: GLenum; coords: GLuint); stdcall;
  1573. glNormalP3uiv: procedure(_type: GLenum; const coords: PGLuint); stdcall;
  1574. glColorP3ui: procedure(_type: GLenum; color: GLuint); stdcall;
  1575. glColorP3uiv: procedure(_type: GLenum; const color: PGLuint); stdcall;
  1576. glColorP4ui: procedure(_type: GLenum; color: GLuint); stdcall;
  1577. glColorP4uiv: procedure(_type: GLenum; const color: PGLuint); stdcall;
  1578. glSecondaryColorP3ui: procedure(_type: GLenum; color: GLuint); stdcall;
  1579. glSecondaryColorP3uiv: procedure(_type: GLenum; const color: PGLuint); stdcall;
  1580. {$EndIf}
  1581. {$EndIf}
  1582. {$IfDef GL_VERSION_4_0}
  1583. var
  1584. glMinSampleShading: procedure(value: GLfloat); stdcall;
  1585. glBlendEquationi: procedure(buf: GLuint; mode: GLenum); stdcall;
  1586. glBlendEquationSeparatei: procedure(buf: GLuint; modeRGB: GLenum; modeAlpha: GLenum); stdcall;
  1587. glBlendFunci: procedure(buf: GLuint; src: GLenum; dst: GLenum); stdcall;
  1588. glBlendFuncSeparatei: procedure(buf: GLuint; srcRGB: GLenum; dstRGB: GLenum; srcAlpha: GLenum; dstAlpha: GLenum); stdcall;
  1589. glDrawArraysIndirect: procedure(mode: GLenum; const indirect: pointer); stdcall;
  1590. glDrawElementsIndirect: procedure(mode: GLenum; _type: GLenum; const indirect: pointer); stdcall;
  1591. glUniform1d: procedure(location: GLint; x: GLdouble); stdcall;
  1592. glUniform2d: procedure(location: GLint; x: GLdouble; y: GLdouble); stdcall;
  1593. glUniform3d: procedure(location: GLint; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  1594. glUniform4d: procedure(location: GLint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  1595. glUniform1dv: procedure(location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  1596. glUniform2dv: procedure(location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  1597. glUniform3dv: procedure(location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  1598. glUniform4dv: procedure(location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  1599. glUniformMatrix2dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1600. glUniformMatrix3dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1601. glUniformMatrix4dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1602. glUniformMatrix2x3dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1603. glUniformMatrix2x4dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1604. glUniformMatrix3x2dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1605. glUniformMatrix3x4dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1606. glUniformMatrix4x2dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1607. glUniformMatrix4x3dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1608. glGetUniformdv: procedure(_program: GLuint; location: GLint; params: PGLdouble); stdcall;
  1609. glGetSubroutineUniformLocation: function(_program: GLuint; shadertype: GLenum; const name: PGLchar): GLint; stdcall;
  1610. glGetSubroutineIndex: function(_program: GLuint; shadertype: GLenum; const name: PGLchar): GLuint; stdcall;
  1611. glGetActiveSubroutineUniformiv: procedure(_program: GLuint; shadertype: GLenum; index: GLuint; pname: GLenum; values: PGLint); stdcall;
  1612. glGetActiveSubroutineUniformName: procedure(_program: GLuint; shadertype: GLenum; index: GLuint; bufSize: GLsizei; length: PGLsizei; name: PGLchar); stdcall;
  1613. glGetActiveSubroutineName: procedure(_program: GLuint; shadertype: GLenum; index: GLuint; bufSize: GLsizei; length: PGLsizei; name: PGLchar); stdcall;
  1614. glUniformSubroutinesuiv: procedure(shadertype: GLenum; count: GLsizei; const indices: PGLuint); stdcall;
  1615. glGetUniformSubroutineuiv: procedure(shadertype: GLenum; location: GLint; params: PGLuint); stdcall;
  1616. glGetProgramStageiv: procedure(_program: GLuint; shadertype: GLenum; pname: GLenum; values: PGLint); stdcall;
  1617. glPatchParameteri: procedure(pname: GLenum; value: GLint); stdcall;
  1618. glPatchParameterfv: procedure(pname: GLenum; const values: PGLfloat); stdcall;
  1619. glBindTransformFeedback: procedure(target: GLenum; id: GLuint); stdcall;
  1620. glDeleteTransformFeedbacks: procedure(n: GLsizei; const ids: PGLuint); stdcall;
  1621. glGenTransformFeedbacks: procedure(n: GLsizei; ids: PGLuint); stdcall;
  1622. glIsTransformFeedback: function(id: GLuint): GLboolean; stdcall;
  1623. glPauseTransformFeedback: procedure; stdcall;
  1624. glResumeTransformFeedback: procedure; stdcall;
  1625. glDrawTransformFeedback: procedure(mode: GLenum; id: GLuint); stdcall;
  1626. glDrawTransformFeedbackStream: procedure(mode: GLenum; id: GLuint; stream: GLuint); stdcall;
  1627. glBeginQueryIndexed: procedure(target: GLenum; index: GLuint; id: GLuint); stdcall;
  1628. glEndQueryIndexed: procedure(target: GLenum; index: GLuint); stdcall;
  1629. glGetQueryIndexediv: procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLint); stdcall;
  1630. {$EndIf}
  1631. {$IfDef GL_VERSION_4_1}
  1632. var
  1633. glReleaseShaderCompiler: procedure; stdcall;
  1634. glShaderBinary: procedure(count: GLsizei; const shaders: PGLuint; binaryFormat: GLenum; const binary: pointer; length: GLsizei); stdcall;
  1635. glGetShaderPrecisionFormat: procedure(shadertype: GLenum; precisiontype: GLenum; range: PGLint; precision: PGLint); stdcall;
  1636. glDepthRangef: procedure(n: GLfloat; f: GLfloat); stdcall;
  1637. glClearDepthf: procedure(d: GLfloat); stdcall;
  1638. glGetProgramBinary: procedure(_program: GLuint; bufSize: GLsizei; length: PGLsizei; binaryFormat: PGLenum; binary: pointer); stdcall;
  1639. glProgramBinary: procedure(_program: GLuint; binaryFormat: GLenum; const binary: pointer; length: GLsizei); stdcall;
  1640. glProgramParameteri: procedure(_program: GLuint; pname: GLenum; value: GLint); stdcall;
  1641. glUseProgramStages: procedure(pipeline: GLuint; stages: GLbitfield; _program: GLuint); stdcall;
  1642. glActiveShaderProgram: procedure(pipeline: GLuint; _program: GLuint); stdcall;
  1643. glCreateShaderProgramv: function(_type: GLenum; count: GLsizei; const strings: PPGLchar): GLuint; stdcall;
  1644. glBindProgramPipeline: procedure(pipeline: GLuint); stdcall;
  1645. glDeleteProgramPipelines: procedure(n: GLsizei; const pipelines: PGLuint); stdcall;
  1646. glGenProgramPipelines: procedure(n: GLsizei; pipelines: PGLuint); stdcall;
  1647. glIsProgramPipeline: function(pipeline: GLuint): GLboolean; stdcall;
  1648. glGetProgramPipelineiv: procedure(pipeline: GLuint; pname: GLenum; params: PGLint); stdcall;
  1649. glProgramUniform1i: procedure(_program: GLuint; location: GLint; v0: GLint); stdcall;
  1650. glProgramUniform1iv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint); stdcall;
  1651. glProgramUniform1f: procedure(_program: GLuint; location: GLint; v0: GLfloat); stdcall;
  1652. glProgramUniform1fv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  1653. glProgramUniform1d: procedure(_program: GLuint; location: GLint; v0: GLdouble); stdcall;
  1654. glProgramUniform1dv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  1655. glProgramUniform1ui: procedure(_program: GLuint; location: GLint; v0: GLuint); stdcall;
  1656. glProgramUniform1uiv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  1657. glProgramUniform2i: procedure(_program: GLuint; location: GLint; v0: GLint; v1: GLint); stdcall;
  1658. glProgramUniform2iv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint); stdcall;
  1659. glProgramUniform2f: procedure(_program: GLuint; location: GLint; v0: GLfloat; v1: GLfloat); stdcall;
  1660. glProgramUniform2fv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  1661. glProgramUniform2d: procedure(_program: GLuint; location: GLint; v0: GLdouble; v1: GLdouble); stdcall;
  1662. glProgramUniform2dv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  1663. glProgramUniform2ui: procedure(_program: GLuint; location: GLint; v0: GLuint; v1: GLuint); stdcall;
  1664. glProgramUniform2uiv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  1665. glProgramUniform3i: procedure(_program: GLuint; location: GLint; v0: GLint; v1: GLint; v2: GLint); stdcall;
  1666. glProgramUniform3iv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint); stdcall;
  1667. glProgramUniform3f: procedure(_program: GLuint; location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat); stdcall;
  1668. glProgramUniform3fv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  1669. glProgramUniform3d: procedure(_program: GLuint; location: GLint; v0: GLdouble; v1: GLdouble; v2: GLdouble); stdcall;
  1670. glProgramUniform3dv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  1671. glProgramUniform3ui: procedure(_program: GLuint; location: GLint; v0: GLuint; v1: GLuint; v2: GLuint); stdcall;
  1672. glProgramUniform3uiv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  1673. glProgramUniform4i: procedure(_program: GLuint; location: GLint; v0: GLint; v1: GLint; v2: GLint; v3: GLint); stdcall;
  1674. glProgramUniform4iv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint); stdcall;
  1675. glProgramUniform4f: procedure(_program: GLuint; location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat; v3: GLfloat); stdcall;
  1676. glProgramUniform4fv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  1677. glProgramUniform4d: procedure(_program: GLuint; location: GLint; v0: GLdouble; v1: GLdouble; v2: GLdouble; v3: GLdouble); stdcall;
  1678. glProgramUniform4dv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  1679. glProgramUniform4ui: procedure(_program: GLuint; location: GLint; v0: GLuint; v1: GLuint; v2: GLuint; v3: GLuint); stdcall;
  1680. glProgramUniform4uiv: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  1681. glProgramUniformMatrix2fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1682. glProgramUniformMatrix3fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1683. glProgramUniformMatrix4fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1684. glProgramUniformMatrix2dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1685. glProgramUniformMatrix3dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1686. glProgramUniformMatrix4dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1687. glProgramUniformMatrix2x3fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1688. glProgramUniformMatrix3x2fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1689. glProgramUniformMatrix2x4fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1690. glProgramUniformMatrix4x2fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1691. glProgramUniformMatrix3x4fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1692. glProgramUniformMatrix4x3fv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  1693. glProgramUniformMatrix2x3dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1694. glProgramUniformMatrix3x2dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1695. glProgramUniformMatrix2x4dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1696. glProgramUniformMatrix4x2dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1697. glProgramUniformMatrix3x4dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1698. glProgramUniformMatrix4x3dv: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  1699. glValidateProgramPipeline: procedure(pipeline: GLuint); stdcall;
  1700. glGetProgramPipelineInfoLog: procedure(pipeline: GLuint; bufSize: GLsizei; length: PGLsizei; infoLog: PGLchar); stdcall;
  1701. glVertexAttribL1d: procedure(index: GLuint; x: GLdouble); stdcall;
  1702. glVertexAttribL2d: procedure(index: GLuint; x: GLdouble; y: GLdouble); stdcall;
  1703. glVertexAttribL3d: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  1704. glVertexAttribL4d: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  1705. glVertexAttribL1dv: procedure(index: GLuint; const v: PGLdouble); stdcall;
  1706. glVertexAttribL2dv: procedure(index: GLuint; const v: PGLdouble); stdcall;
  1707. glVertexAttribL3dv: procedure(index: GLuint; const v: PGLdouble); stdcall;
  1708. glVertexAttribL4dv: procedure(index: GLuint; const v: PGLdouble); stdcall;
  1709. glVertexAttribLPointer: procedure(index: GLuint; size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  1710. glGetVertexAttribLdv: procedure(index: GLuint; pname: GLenum; params: PGLdouble); stdcall;
  1711. glViewportArrayv: procedure(first: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  1712. glViewportIndexedf: procedure(index: GLuint; x: GLfloat; y: GLfloat; w: GLfloat; h: GLfloat); stdcall;
  1713. glViewportIndexedfv: procedure(index: GLuint; const v: PGLfloat); stdcall;
  1714. glScissorArrayv: procedure(first: GLuint; count: GLsizei; const v: PGLint); stdcall;
  1715. glScissorIndexed: procedure(index: GLuint; left: GLint; bottom: GLint; width: GLsizei; height: GLsizei); stdcall;
  1716. glScissorIndexedv: procedure(index: GLuint; const v: PGLint); stdcall;
  1717. glDepthRangeArrayv: procedure(first: GLuint; count: GLsizei; const v: PGLdouble); stdcall;
  1718. glDepthRangeIndexed: procedure(index: GLuint; n: GLdouble; f: GLdouble); stdcall;
  1719. glGetFloati_v: procedure(target: GLenum; index: GLuint; data: PGLfloat); stdcall;
  1720. glGetDoublei_v: procedure(target: GLenum; index: GLuint; data: PGLdouble); stdcall;
  1721. {$EndIf}
  1722. {$IfDef GL_VERSION_4_2}
  1723. var
  1724. glDrawArraysInstancedBaseInstance: procedure(mode: GLenum; first: GLint; count: GLsizei; instancecount: GLsizei; baseinstance: GLuint);
  1725. glDrawElementsInstancedBaseInstance: procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: pointer; instancecount: GLsizei; baseinstance: GLuint); stdcall;
  1726. glDrawElementsInstancedBaseVertexBaseInstance: procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: pointer; instancecount: GLsizei; basevertex: GLint; baseinstance: GLuint); stdcall;
  1727. glGetInternalformativ: procedure(target: GLenum; internalformat: GLenum; pname: GLenum; count: GLsizei; params: PGLint); stdcall;
  1728. glGetActiveAtomicCounterBufferiv: procedure(_program: GLuint; bufferIndex: GLuint; pname: GLenum; params: PGLint); stdcall;
  1729. glBindImageTexture: procedure(_unit: GLuint; texture: GLuint; level: GLint; layered: GLboolean; layer: GLint; access: GLenum; format: GLenum); stdcall;
  1730. glMemoryBarrier: procedure(barriers: GLbitfield); stdcall;
  1731. glTexStorage1D: procedure(target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei); stdcall;
  1732. glTexStorage2D: procedure(target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  1733. glTexStorage3D: procedure(target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei); stdcall;
  1734. glDrawTransformFeedbackInstanced: procedure(mode: GLenum; id: GLuint; instancecount: GLsizei); stdcall;
  1735. glDrawTransformFeedbackStreamInstanced: procedure(mode: GLenum; id: GLuint; stream: GLuint; instancecount: GLsizei); stdcall;
  1736. {$EndIf}
  1737. {$IfDef GL_VERSION_4_3}
  1738. var
  1739. glClearBufferData: procedure(target: GLenum; internalformat: GLenum; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  1740. glClearBufferSubData: procedure(target: GLenum; internalformat: GLenum; offset: GLintptr; size: GLsizeiptr; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  1741. glDispatchCompute: procedure(num_groups_x: GLuint; num_groups_y: GLuint; num_groups_z: GLuint); stdcall;
  1742. glDispatchComputeIndirect: procedure(indirect: GLintptr); stdcall;
  1743. 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;
  1744. glFramebufferParameteri: procedure(target: GLenum; pname: GLenum; param: GLint); stdcall;
  1745. glGetFramebufferParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  1746. glGetInternalformati64v: procedure(target: GLenum; internalformat: GLenum; pname: GLenum; count: GLsizei; params: PGLint64); stdcall;
  1747. glInvalidateTexSubImage: procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei); stdcall;
  1748. glInvalidateTexImage: procedure(texture: GLuint; level: GLint); stdcall;
  1749. glInvalidateBufferSubData: procedure(buffer: GLuint; offset: GLintptr; length: GLsizeiptr); stdcall;
  1750. glInvalidateBufferData: procedure(buffer: GLuint); stdcall;
  1751. glInvalidateFramebuffer: procedure(target: GLenum; numAttachments: GLsizei; const attachments: PGLenum); stdcall;
  1752. glInvalidateSubFramebuffer: procedure(target: GLenum; numAttachments: GLsizei; const attachments: PGLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  1753. glMultiDrawArraysIndirect: procedure(mode: GLenum; const indirect: pointer; drawcount: GLsizei; stride: GLsizei); stdcall;
  1754. glMultiDrawElementsIndirect: procedure(mode: GLenum; _type: GLenum; const indirect: pointer; drawcount: GLsizei; stride: GLsizei); stdcall;
  1755. glGetProgramInterfaceiv: procedure(_program: GLuint; programInterface: GLenum; pname: GLenum; params: PGLint); stdcall;
  1756. glGetProgramResourceIndex: function(_program: GLuint; programInterface: GLenum; const name: PGLchar): GLuint; stdcall;
  1757. glGetProgramResourceName: procedure(_program: GLuint; programInterface: GLenum; index: GLuint; bufSize: GLsizei; length: PGLsizei; name: PGLchar); stdcall;
  1758. glGetProgramResourceiv: procedure(_program: GLuint; programInterface: GLenum; index: GLuint; propCount: GLsizei; const props: PGLenum; count: GLsizei; length: PGLsizei; params: PGLint); stdcall;
  1759. glGetProgramResourceLocation: function(_program: GLuint; programInterface: GLenum; const name: PGLchar): GLint; stdcall;
  1760. glGetProgramResourceLocationIndex: function(_program: GLuint; programInterface: GLenum; const name: PGLchar): GLint; stdcall;
  1761. glShaderStorageBlockBinding: procedure(_program: GLuint; storageBlockIndex: GLuint; storageBlockBinding: GLuint); stdcall;
  1762. glTexBufferRange: procedure(target: GLenum; internalformat: GLenum; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); stdcall;
  1763. glTexStorage2DMultisample: procedure(target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; fixedsamplelocations: GLboolean); stdcall;
  1764. glTexStorage3DMultisample: procedure(target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; fixedsamplelocations: GLboolean); stdcall;
  1765. glTextureView: procedure(texture: GLuint; target: GLenum; origtexture: GLuint; internalformat: GLenum; minlevel: GLuint; numlevels: GLuint; minlayer: GLuint; numlayers: GLuint); stdcall;
  1766. glBindVertexBuffer: procedure(bindingindex: GLuint; buffer: GLuint; offset: GLintptr; stride: GLsizei); stdcall;
  1767. glVertexAttribFormat: procedure(attribindex: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; relativeoffset: GLuint); stdcall;
  1768. glVertexAttribIFormat: procedure(attribindex: GLuint; size: GLint; _type: GLenum; relativeoffset: GLuint); stdcall;
  1769. glVertexAttribLFormat: procedure(attribindex: GLuint; size: GLint; _type: GLenum; relativeoffset: GLuint); stdcall;
  1770. glVertexAttribBinding: procedure(attribindex: GLuint; bindingindex: GLuint); stdcall;
  1771. glVertexBindingDivisor: procedure(bindingindex: GLuint; divisor: GLuint); stdcall;
  1772. glDebugMessageControl: procedure(source: GLenum; _type: GLenum; severity: GLenum; count: GLsizei; const ids: PGLuint; enabled: GLboolean); stdcall;
  1773. glDebugMessageInsert: procedure(source: GLenum; _type: GLenum; id: GLuint; severity: GLenum; length: GLsizei; const buf: PGLchar); stdcall;
  1774. glDebugMessageCallback: procedure(callback: GLDEBUGPROC; const userParam: pointer); stdcall;
  1775. glGetDebugMessageLog: function(count: GLuint; bufSize: GLsizei; sources: PGLenum; types: PGLenum; ids: PGLuint; severities: PGLenum; lengths: PGLsizei; messageLog: PGLchar): GLuint; stdcall;
  1776. glPushDebugGroup: procedure(source: GLenum; id: GLuint; length: GLsizei; const message: PGLchar); stdcall;
  1777. glPopDebugGroup: procedure; stdcall;
  1778. glObjectLabel: procedure(identifier: GLenum; name: GLuint; length: GLsizei; const _label: PGLchar); stdcall;
  1779. glGetObjectLabel: procedure(identifier: GLenum; name: GLuint; bufSize: GLsizei; length: PGLsizei; _label: PGLchar); stdcall;
  1780. glObjectPtrLabel: procedure(const ptr: pointer; length: GLsizei; const _label: PGLchar); stdcall;
  1781. glGetObjectPtrLabel: procedure(const ptr: pointer; bufSize: GLsizei; length: PGLsizei; _label: PGLchar); stdcall;
  1782. {$EndIf}
  1783. {$IfDef GL_VERSION_4_4}
  1784. var
  1785. glBufferStorage: procedure(target: GLenum; size: GLsizeiptr; const data: pointer; flags: GLbitfield); stdcall;
  1786. glClearTexImage: procedure(texture: GLuint; level: GLint; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  1787. 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;
  1788. glBindBuffersBase: procedure(target: GLenum; first: GLuint; count: GLsizei; const buffers: PGLuint); stdcall;
  1789. glBindBuffersRange: procedure(target: GLenum; first: GLuint; count: GLsizei; const buffers: PGLuint; const offsets: PGLintptr; const sizes: PGLsizeiptr); stdcall;
  1790. glBindTextures: procedure(first: GLuint; count: GLsizei; const textures: PGLuint); stdcall;
  1791. glBindSamplers: procedure(first: GLuint; count: GLsizei; const samplers: PGLuint); stdcall;
  1792. glBindImageTextures: procedure(first: GLuint; count: GLsizei; const textures: PGLuint); stdcall;
  1793. glBindVertexBuffers: procedure(first: GLuint; count: GLsizei; const buffers: PGLuint; const offsets: PGLintptr; const strides: PGLsizei); stdcall;
  1794. {$EndIf}
  1795. {$IfDef GL_VERSION_4_5}
  1796. var
  1797. glClipControl: procedure(origin: GLenum; depth: GLenum); stdcall;
  1798. glCreateTransformFeedbacks: procedure(n: GLsizei; ids: PGLuint); stdcall;
  1799. glTransformFeedbackBufferBase: procedure(xfb: GLuint; index: GLuint; buffer: GLuint); stdcall;
  1800. glTransformFeedbackBufferRange: procedure(xfb: GLuint; index: GLuint; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); stdcall;
  1801. glGetTransformFeedbackiv: procedure(xfb: GLuint; pname: GLenum; param: PGLint); stdcall;
  1802. glGetTransformFeedbacki_v: procedure(xfb: GLuint; pname: GLenum; index: GLuint; param: PGLint); stdcall;
  1803. glGetTransformFeedbacki64_v: procedure(xfb: GLuint; pname: GLenum; index: GLuint; param: PGLint64); stdcall;
  1804. glCreateBuffers: procedure(n: GLsizei; buffers: PGLuint); stdcall;
  1805. glNamedBufferStorage: procedure(buffer: GLuint; size: GLsizeiptr; const data: pointer; flags: GLbitfield); stdcall;
  1806. glNamedBufferData: procedure(buffer: GLuint; size: GLsizeiptr; const data: pointer; usage: GLenum); stdcall;
  1807. glNamedBufferSubData: procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; const data: pointer); stdcall;
  1808. glCopyNamedBufferSubData: procedure(readBuffer: GLuint; writeBuffer: GLuint; readOffset: GLintptr; writeOffset: GLintptr; size: GLsizeiptr); stdcall;
  1809. glClearNamedBufferData: procedure(buffer: GLuint; internalformat: GLenum; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  1810. glClearNamedBufferSubData: procedure(buffer: GLuint; internalformat: GLenum; offset: GLintptr; size: GLsizeiptr; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  1811. glMapNamedBuffer: function(buffer: GLuint; access: GLenum): pointer; stdcall;
  1812. glMapNamedBufferRange: function(buffer: GLuint; offset: GLintptr; length: GLsizeiptr; access: GLbitfield): pointer; stdcall;
  1813. glUnmapNamedBuffer: function(buffer: GLuint): GLboolean; stdcall;
  1814. glFlushMappedNamedBufferRange: procedure(buffer: GLuint; offset: GLintptr; length: GLsizeiptr); stdcall;
  1815. glGetNamedBufferParameteriv: procedure(buffer: GLuint; pname: GLenum; params: PGLint); stdcall;
  1816. glGetNamedBufferParameteri64v: procedure(buffer: GLuint; pname: GLenum; params: PGLint64); stdcall;
  1817. glGetNamedBufferPointerv: procedure(buffer: GLuint; pname: GLenum; params:Ppointer); stdcall;
  1818. glGetNamedBufferSubData: procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; data: pointer); stdcall;
  1819. glCreateFramebuffers: procedure(n: GLsizei; framebuffers: PGLuint); stdcall;
  1820. glNamedFramebufferRenderbuffer: procedure(framebuffer: GLuint; attachment: GLenum; renderbuffertarget: GLenum; renderbuffer: GLuint); stdcall;
  1821. glNamedFramebufferParameteri: procedure(framebuffer: GLuint; pname: GLenum; param: GLint); stdcall;
  1822. glNamedFramebufferTexture: procedure(framebuffer: GLuint; attachment: GLenum; texture: GLuint; level: GLint); stdcall;
  1823. glNamedFramebufferTextureLayer: procedure(framebuffer: GLuint; attachment: GLenum; texture: GLuint; level: GLint; layer: GLint); stdcall;
  1824. glNamedFramebufferDrawBuffer: procedure(framebuffer: GLuint; buf: GLenum); stdcall;
  1825. glNamedFramebufferDrawBuffers: procedure(framebuffer: GLuint; n: GLsizei; const bufs: PGLenum); stdcall;
  1826. glNamedFramebufferReadBuffer: procedure(framebuffer: GLuint; src: GLenum); stdcall;
  1827. glInvalidateNamedFramebufferData: procedure(framebuffer: GLuint; numAttachments: GLsizei; const attachments: PGLenum); stdcall;
  1828. glInvalidateNamedFramebufferSubData: procedure(framebuffer: GLuint; numAttachments: GLsizei; const attachments: PGLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  1829. glClearNamedFramebufferiv: procedure(framebuffer: GLuint; buffer: GLenum; drawbuffer: GLint; const value: PGLint); stdcall;
  1830. glClearNamedFramebufferuiv: procedure(framebuffer: GLuint; buffer: GLenum; drawbuffer: GLint; const value: PGLuint); stdcall;
  1831. glClearNamedFramebufferfv: procedure(framebuffer: GLuint; buffer: GLenum; drawbuffer: GLint; const value: PGLfloat); stdcall;
  1832. glClearNamedFramebufferfi: procedure(framebuffer: GLuint; buffer: GLenum; drawbuffer: GLint; depth: GLfloat; stencil: GLint); stdcall;
  1833. 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;
  1834. glCheckNamedFramebufferStatus: function(framebuffer: GLuint; target: GLenum): GLenum; stdcall;
  1835. glGetNamedFramebufferParameteriv: procedure(framebuffer: GLuint; pname: GLenum; param: PGLint); stdcall;
  1836. glGetNamedFramebufferAttachmentParameteriv: procedure(framebuffer: GLuint; attachment: GLenum; pname: GLenum; params: PGLint); stdcall;
  1837. glCreateRenderbuffers: procedure(n: GLsizei; renderbuffers: PGLuint); stdcall;
  1838. glNamedRenderbufferStorage: procedure(renderbuffer: GLuint; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  1839. glNamedRenderbufferStorageMultisample: procedure(renderbuffer: GLuint; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  1840. glGetNamedRenderbufferParameteriv: procedure(renderbuffer: GLuint; pname: GLenum; params: PGLint); stdcall;
  1841. glCreateTextures: procedure(target: GLenum; n: GLsizei; textures: PGLuint); stdcall;
  1842. glTextureBuffer: procedure(texture: GLuint; internalformat: GLenum; buffer: GLuint); stdcall;
  1843. glTextureBufferRange: procedure(texture: GLuint; internalformat: GLenum; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); stdcall;
  1844. glTextureStorage1D: procedure(texture: GLuint; levels: GLsizei; internalformat: GLenum; width: GLsizei); stdcall;
  1845. glTextureStorage2D: procedure(texture: GLuint; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  1846. glTextureStorage3D: procedure(texture: GLuint; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei); stdcall;
  1847. glTextureStorage2DMultisample: procedure(texture: GLuint; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; fixedsamplelocations: GLboolean); stdcall;
  1848. glTextureStorage3DMultisample: procedure(texture: GLuint; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; fixedsamplelocations: GLboolean); stdcall;
  1849. glTextureSubImage1D: procedure(texture: GLuint; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  1850. glTextureSubImage2D: procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  1851. 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;
  1852. glCompressedTextureSubImage1D: procedure(texture: GLuint; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const data: pointer); stdcall;
  1853. glCompressedTextureSubImage2D: procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const data: pointer); stdcall;
  1854. 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;
  1855. glCopyTextureSubImage1D: procedure(texture: GLuint; level: GLint; xoffset: GLint; x: GLint; y: GLint; width: GLsizei); stdcall;
  1856. glCopyTextureSubImage2D: procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  1857. glCopyTextureSubImage3D: procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  1858. glTextureParameterf: procedure(texture: GLuint; pname: GLenum; param: GLfloat); stdcall;
  1859. glTextureParameterfv: procedure(texture: GLuint; pname: GLenum; const param: PGLfloat); stdcall;
  1860. glTextureParameteri: procedure(texture: GLuint; pname: GLenum; param: GLint); stdcall;
  1861. glTextureParameterIiv: procedure(texture: GLuint; pname: GLenum; const params: PGLint); stdcall;
  1862. glTextureParameterIuiv: procedure(texture: GLuint; pname: GLenum; const params: PGLuint); stdcall;
  1863. glTextureParameteriv: procedure(texture: GLuint; pname: GLenum; const param: PGLint); stdcall;
  1864. glGenerateTextureMipmap: procedure(texture: GLuint); stdcall;
  1865. glBindTextureUnit: procedure(_unit: GLuint; texture: GLuint); stdcall;
  1866. glGetTextureImage: procedure(texture: GLuint; level: GLint; format: GLenum; _type: GLenum; bufSize: GLsizei; pixels: pointer); stdcall;
  1867. glGetCompressedTextureImage: procedure(texture: GLuint; level: GLint; bufSize: GLsizei; pixels: pointer); stdcall;
  1868. glGetTextureLevelParameterfv: procedure(texture: GLuint; level: GLint; pname: GLenum; params: PGLfloat); stdcall;
  1869. glGetTextureLevelParameteriv: procedure(texture: GLuint; level: GLint; pname: GLenum; params: PGLint); stdcall;
  1870. glGetTextureParameterfv: procedure(texture: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  1871. glGetTextureParameterIiv: procedure(texture: GLuint; pname: GLenum; params: PGLint); stdcall;
  1872. glGetTextureParameterIuiv: procedure(texture: GLuint; pname: GLenum; params: PGLuint); stdcall;
  1873. glGetTextureParameteriv: procedure(texture: GLuint; pname: GLenum; params: PGLint); stdcall;
  1874. glCreateVertexArrays: procedure(n: GLsizei; arrays: PGLuint); stdcall;
  1875. glDisableVertexArrayAttrib: procedure(vaobj: GLuint; index: GLuint); stdcall;
  1876. glEnableVertexArrayAttrib: procedure(vaobj: GLuint; index: GLuint); stdcall;
  1877. glVertexArrayElementBuffer: procedure(vaobj: GLuint; buffer: GLuint); stdcall;
  1878. glVertexArrayVertexBuffer: procedure(vaobj: GLuint; bindingindex: GLuint; buffer: GLuint; offset: GLintptr; stride: GLsizei); stdcall;
  1879. glVertexArrayVertexBuffers: procedure(vaobj: GLuint; first: GLuint; count: GLsizei; const buffers: PGLuint; const offsets: PGLintptr; const strides: PGLsizei); stdcall;
  1880. glVertexArrayAttribBinding: procedure(vaobj: GLuint; attribindex: GLuint; bindingindex: GLuint); stdcall;
  1881. glVertexArrayAttribFormat: procedure(vaobj: GLuint; attribindex: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; relativeoffset: GLuint); stdcall;
  1882. glVertexArrayAttribIFormat: procedure(vaobj: GLuint; attribindex: GLuint; size: GLint; _type: GLenum; relativeoffset: GLuint); stdcall;
  1883. glVertexArrayAttribLFormat: procedure(vaobj: GLuint; attribindex: GLuint; size: GLint; _type: GLenum; relativeoffset: GLuint); stdcall;
  1884. glVertexArrayBindingDivisor: procedure(vaobj: GLuint; bindingindex: GLuint; divisor: GLuint); stdcall;
  1885. glGetVertexArrayiv: procedure(vaobj: GLuint; pname: GLenum; param: PGLint); stdcall;
  1886. glGetVertexArrayIndexediv: procedure(vaobj: GLuint; index: GLuint; pname: GLenum; param: PGLint); stdcall;
  1887. glGetVertexArrayIndexed64iv: procedure(vaobj: GLuint; index: GLuint; pname: GLenum; param: PGLint64); stdcall;
  1888. glCreateSamplers: procedure(n: GLsizei; samplers: PGLuint); stdcall;
  1889. glCreateProgramPipelines: procedure(n: GLsizei; pipelines: PGLuint); stdcall;
  1890. glCreateQueries: procedure(target: GLenum; n: GLsizei; ids: PGLuint); stdcall;
  1891. glGetQueryBufferObjecti64v: procedure(id: GLuint; buffer: GLuint; pname: GLenum; offset: GLintptr); stdcall;
  1892. glGetQueryBufferObjectiv: procedure(id: GLuint; buffer: GLuint; pname: GLenum; offset: GLintptr); stdcall;
  1893. glGetQueryBufferObjectui64v: procedure(id: GLuint; buffer: GLuint; pname: GLenum; offset: GLintptr); stdcall;
  1894. glGetQueryBufferObjectuiv: procedure(id: GLuint; buffer: GLuint; pname: GLenum; offset: GLintptr); stdcall;
  1895. glMemoryBarrierByRegion: procedure(barriers: GLbitfield); stdcall;
  1896. 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;
  1897. glGetCompressedTextureSubImage: procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; bufSize: GLsizei; pixels: pointer); stdcall;
  1898. glGetGraphicsResetStatus: function: GLenum; stdcall;
  1899. glGetnCompressedTexImage: procedure(target: GLenum; lod: GLint; bufSize: GLsizei; pixels: pointer); stdcall;
  1900. glGetnTexImage: procedure(target: GLenum; level: GLint; format: GLenum; _type: GLenum; bufSize: GLsizei; pixels: pointer); stdcall;
  1901. glGetnUniformdv: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLdouble); stdcall;
  1902. glGetnUniformfv: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLfloat); stdcall;
  1903. glGetnUniformiv: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLint); stdcall;
  1904. glGetnUniformuiv: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLuint); stdcall;
  1905. glReadnPixels: procedure(x: GLint; y: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; bufSize: GLsizei; data: pointer); stdcall;
  1906. glTextureBarrier: procedure; stdcall;
  1907. {$IfNDef USE_GLCORE}
  1908. glGetnMapdv: procedure(target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLdouble); stdcall;
  1909. glGetnMapfv: procedure(target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLfloat); stdcall;
  1910. glGetnMapiv: procedure(target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLint); stdcall;
  1911. glGetnPixelMapfv: procedure(map: GLenum; bufSize: GLsizei; values: PGLfloat); stdcall;
  1912. glGetnPixelMapuiv: procedure(map: GLenum; bufSize: GLsizei; values: PGLuint); stdcall;
  1913. glGetnPixelMapusv: procedure(map: GLenum; bufSize: GLsizei; values: PGLushort); stdcall;
  1914. glGetnPolygonStipple: procedure(bufSize: GLsizei; pattern: PGLubyte); stdcall;
  1915. glGetnColorTable: procedure(target: GLenum; format: GLenum; _type: GLenum; bufSize: GLsizei; table: pointer); stdcall;
  1916. glGetnConvolutionFilter: procedure(target: GLenum; format: GLenum; _type: GLenum; bufSize: GLsizei; image: pointer); stdcall;
  1917. glGetnSeparableFilter: procedure(target: GLenum; format: GLenum; _type: GLenum; rowBufSize: GLsizei; row: pointer; columnBufSize: GLsizei; column: pointer; span: pointer); stdcall;
  1918. glGetnHistogram: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; bufSize: GLsizei; values: pointer); stdcall;
  1919. glGetnMinmax: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; bufSize: GLsizei; values: pointer); stdcall;
  1920. {$EndIf}
  1921. {$EndIf}
  1922. {$IfDef GL_VERSION_4_6}
  1923. var
  1924. glSpecializeShader: procedure(shader: GLuint; const pEntryPoint: PGLchar; numSpecializationConstants: GLuint; const pConstantIndex: PGLuint; const pConstantValue: PGLuint); stdcall;
  1925. glMultiDrawArraysIndirectCount: procedure(mode: GLenum; const indirect: pointer; drawcount: GLintptr; maxdrawcount: GLsizei; stride: GLsizei); stdcall;
  1926. glMultiDrawElementsIndirectCount: procedure(mode: GLenum; _type: GLenum; const indirect: pointer; drawcount: GLintptr; maxdrawcount: GLsizei; stride: GLsizei); stdcall;
  1927. glPolygonOffsetClamp: procedure(factor: GLfloat; units: GLfloat; clamp: GLfloat); stdcall;
  1928. {$EndIf}
  1929. {$IfDef GL_ARB_ES3_2_compatibility}
  1930. glPrimitiveBoundingBoxARB: procedure(minX: GLfloat; minY: GLfloat; minZ: GLfloat; minW: GLfloat; maxX: GLfloat; maxY: GLfloat; maxZ: GLfloat; maxW: GLfloat); stdcall;
  1931. {$EndIf}
  1932. {$IfDef GL_ARB_bindless_texture}
  1933. glGetTextureHandleARB: function(texture: GLuint): GLuint64; stdcall;
  1934. glGetTextureSamplerHandleARB: function(texture: GLuint; sampler: GLuint): GLuint64; stdcall;
  1935. glMakeTextureHandleResidentARB: procedure(handle: GLuint64); stdcall;
  1936. glMakeTextureHandleNonResidentARB: procedure(handle: GLuint64); stdcall;
  1937. glGetImageHandleARB: function(texture: GLuint; level: GLint; layered: GLboolean; layer: GLint; format: GLenum): GLuint64; stdcall;
  1938. glMakeImageHandleResidentARB: procedure(handle: GLuint64; access: GLenum); stdcall;
  1939. glMakeImageHandleNonResidentARB: procedure(handle: GLuint64); stdcall;
  1940. glUniformHandleui64ARB: procedure(location: GLint; value: GLuint64); stdcall;
  1941. glUniformHandleui64vARB: procedure(location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  1942. glProgramUniformHandleui64ARB: procedure(_program: GLuint; location: GLint; value: GLuint64); stdcall;
  1943. glProgramUniformHandleui64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const values: PGLuint64); stdcall;
  1944. glIsTextureHandleResidentARB: function(handle: GLuint64): GLboolean; stdcall;
  1945. glIsImageHandleResidentARB: function(handle: GLuint64): GLboolean; stdcall;
  1946. glVertexAttribL1ui64ARB: procedure(index: GLuint; x: GLuint64EXT); stdcall;
  1947. glVertexAttribL1ui64vARB: procedure(index: GLuint; const v: PGLuint64EXT); stdcall;
  1948. glGetVertexAttribLui64vARB: procedure(index: GLuint; pname: GLenum; params: PGLuint64EXT); stdcall;
  1949. {$EndIf}
  1950. {$IfDef GL_ARB_cl_event}
  1951. glCreateSyncFromCLeventARB: function(context:P_cl_context; event:P_cl_event; flags: GLbitfield): GLsync; stdcall;
  1952. {$EndIf}
  1953. {$IfDef GL_ARB_color_buffer_float}
  1954. glClampColorARB: procedure(target: GLenum; clamp: GLenum); stdcall;
  1955. {$EndIf}
  1956. {$IfDef GL_ARB_compute_variable_group_size}
  1957. 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;
  1958. {$EndIf}
  1959. {$IfDef GL_ARB_debug_output}
  1960. glDebugMessageControlARB: procedure(source: GLenum; _type: GLenum; severity: GLenum; count: GLsizei; const ids: PGLuint; enabled: GLboolean); stdcall;
  1961. glDebugMessageInsertARB: procedure(source: GLenum; _type: GLenum; id: GLuint; severity: GLenum; length: GLsizei; const buf: PGLchar); stdcall;
  1962. glDebugMessageCallbackARB: procedure(callback: GLDEBUGPROCARB; const userParam: pointer); stdcall;
  1963. glGetDebugMessageLogARB: function(count: GLuint; bufSize: GLsizei; sources: PGLenum; types: PGLenum; ids: PGLuint; severities: PGLenum; lengths: PGLsizei; messageLog: PGLchar): GLuint; stdcall;
  1964. {$EndIf}
  1965. {$IfDef GL_ARB_draw_buffers}
  1966. glDrawBuffersARB: procedure(n: GLsizei; const bufs: PGLenum); stdcall;
  1967. {$EndIf}
  1968. {$IfDef GL_ARB_draw_buffers_blend}
  1969. glBlendEquationiARB: procedure(buf: GLuint; mode: GLenum); stdcall;
  1970. glBlendEquationSeparateiARB: procedure(buf: GLuint; modeRGB: GLenum; modeAlpha: GLenum); stdcall;
  1971. glBlendFunciARB: procedure(buf: GLuint; src: GLenum; dst: GLenum); stdcall;
  1972. glBlendFuncSeparateiARB: procedure(buf: GLuint; srcRGB: GLenum; dstRGB: GLenum; srcAlpha: GLenum; dstAlpha: GLenum); stdcall;
  1973. {$EndIf}
  1974. {$IfDef GL_ARB_draw_instanced}
  1975. glDrawArraysInstancedARB: procedure(mode: GLenum; first: GLint; count: GLsizei; primcount: GLsizei); stdcall;
  1976. glDrawElementsInstancedARB: procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: pointer; primcount: GLsizei); stdcall;
  1977. {$EndIf}
  1978. {$IfDef GL_ARB_fragment_program}
  1979. glProgramStringARB: procedure(target: GLenum; format: GLenum; len: GLsizei; const _string: pointer); stdcall;
  1980. glBindProgramARB: procedure(target: GLenum; _program: GLuint); stdcall;
  1981. glDeleteProgramsARB: procedure(n: GLsizei; const programs: PGLuint); stdcall;
  1982. glGenProgramsARB: procedure(n: GLsizei; programs: PGLuint); stdcall;
  1983. glProgramEnvParameter4dARB: procedure(target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  1984. glProgramEnvParameter4dvARB: procedure(target: GLenum; index: GLuint; const params: PGLdouble); stdcall;
  1985. glProgramEnvParameter4fARB: procedure(target: GLenum; index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  1986. glProgramEnvParameter4fvARB: procedure(target: GLenum; index: GLuint; const params: PGLfloat); stdcall;
  1987. glProgramLocalParameter4dARB: procedure(target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  1988. glProgramLocalParameter4dvARB: procedure(target: GLenum; index: GLuint; const params: PGLdouble); stdcall;
  1989. glProgramLocalParameter4fARB: procedure(target: GLenum; index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  1990. glProgramLocalParameter4fvARB: procedure(target: GLenum; index: GLuint; const params: PGLfloat); stdcall;
  1991. glGetProgramEnvParameterdvARB: procedure(target: GLenum; index: GLuint; params: PGLdouble); stdcall;
  1992. glGetProgramEnvParameterfvARB: procedure(target: GLenum; index: GLuint; params: PGLfloat); stdcall;
  1993. glGetProgramLocalParameterdvARB: procedure(target: GLenum; index: GLuint; params: PGLdouble); stdcall;
  1994. glGetProgramLocalParameterfvARB: procedure(target: GLenum; index: GLuint; params: PGLfloat); stdcall;
  1995. glGetProgramivARB: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  1996. glGetProgramStringARB: procedure(target: GLenum; pname: GLenum; _string: pointer); stdcall;
  1997. glIsProgramARB: function(_program: GLuint): GLboolean; stdcall;
  1998. {$EndIf}
  1999. {$IfDef GL_ARB_geometry_shader4}
  2000. glProgramParameteriARB: procedure(_program: GLuint; pname: GLenum; value: GLint); stdcall;
  2001. glFramebufferTextureARB: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint); stdcall;
  2002. glFramebufferTextureLayerARB: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; layer: GLint); stdcall;
  2003. glFramebufferTextureFaceARB: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; face: GLenum); stdcall;
  2004. {$EndIf}
  2005. {$IfDef GL_ARB_gl_spirv}
  2006. glSpecializeShaderARB: procedure(shader: GLuint; const pEntryPoint: PGLchar; numSpecializationConstants: GLuint; const pConstantIndex: PGLuint; const pConstantValue: PGLuint); stdcall;
  2007. {$EndIf}
  2008. {$IfDef GL_ARB_gpu_shader_int64}
  2009. glUniform1i64ARB: procedure(location: GLint; x: GLint64); stdcall;
  2010. glUniform2i64ARB: procedure(location: GLint; x: GLint64; y: GLint64); stdcall;
  2011. glUniform3i64ARB: procedure(location: GLint; x: GLint64; y: GLint64; z: GLint64); stdcall;
  2012. glUniform4i64ARB: procedure(location: GLint; x: GLint64; y: GLint64; z: GLint64; w: GLint64); stdcall;
  2013. glUniform1i64vARB: procedure(location: GLint; count: GLsizei; const value: PGLint64); stdcall;
  2014. glUniform2i64vARB: procedure(location: GLint; count: GLsizei; const value: PGLint64); stdcall;
  2015. glUniform3i64vARB: procedure(location: GLint; count: GLsizei; const value: PGLint64); stdcall;
  2016. glUniform4i64vARB: procedure(location: GLint; count: GLsizei; const value: PGLint64); stdcall;
  2017. glUniform1ui64ARB: procedure(location: GLint; x: GLuint64); stdcall;
  2018. glUniform2ui64ARB: procedure(location: GLint; x: GLuint64; y: GLuint64); stdcall;
  2019. glUniform3ui64ARB: procedure(location: GLint; x: GLuint64; y: GLuint64; z: GLuint64); stdcall;
  2020. glUniform4ui64ARB: procedure(location: GLint; x: GLuint64; y: GLuint64; z: GLuint64; w: GLuint64); stdcall;
  2021. glUniform1ui64vARB: procedure(location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  2022. glUniform2ui64vARB: procedure(location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  2023. glUniform3ui64vARB: procedure(location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  2024. glUniform4ui64vARB: procedure(location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  2025. glGetUniformi64vARB: procedure(_program: GLuint; location: GLint; params: PGLint64); stdcall;
  2026. glGetUniformui64vARB: procedure(_program: GLuint; location: GLint; params: PGLuint64); stdcall;
  2027. glGetnUniformi64vARB: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLint64); stdcall;
  2028. glGetnUniformui64vARB: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLuint64); stdcall;
  2029. glProgramUniform1i64ARB: procedure(_program: GLuint; location: GLint; x: GLint64); stdcall;
  2030. glProgramUniform2i64ARB: procedure(_program: GLuint; location: GLint; x: GLint64; y: GLint64); stdcall;
  2031. glProgramUniform3i64ARB: procedure(_program: GLuint; location: GLint; x: GLint64; y: GLint64; z: GLint64); stdcall;
  2032. glProgramUniform4i64ARB: procedure(_program: GLuint; location: GLint; x: GLint64; y: GLint64; z: GLint64; w: GLint64); stdcall;
  2033. glProgramUniform1i64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint64); stdcall;
  2034. glProgramUniform2i64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint64); stdcall;
  2035. glProgramUniform3i64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint64); stdcall;
  2036. glProgramUniform4i64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint64); stdcall;
  2037. glProgramUniform1ui64ARB: procedure(_program: GLuint; location: GLint; x: GLuint64); stdcall;
  2038. glProgramUniform2ui64ARB: procedure(_program: GLuint; location: GLint; x: GLuint64; y: GLuint64); stdcall;
  2039. glProgramUniform3ui64ARB: procedure(_program: GLuint; location: GLint; x: GLuint64; y: GLuint64; z: GLuint64); stdcall;
  2040. glProgramUniform4ui64ARB: procedure(_program: GLuint; location: GLint; x: GLuint64; y: GLuint64; z: GLuint64; w: GLuint64); stdcall;
  2041. glProgramUniform1ui64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  2042. glProgramUniform2ui64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  2043. glProgramUniform3ui64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  2044. glProgramUniform4ui64vARB: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  2045. {$EndIf}
  2046. {$IfDef GL_ARB_imaging}
  2047. glColorTable: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; const table: pointer); stdcall;
  2048. glColorTableParameterfv: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  2049. glColorTableParameteriv: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2050. glCopyColorTable: procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); stdcall;
  2051. glGetColorTable: procedure(target: GLenum; format: GLenum; _type: GLenum; table: pointer); stdcall;
  2052. glGetColorTableParameterfv: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2053. glGetColorTableParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2054. glColorSubTable: procedure(target: GLenum; start: GLsizei; count: GLsizei; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  2055. glCopyColorSubTable: procedure(target: GLenum; start: GLsizei; x: GLint; y: GLint; width: GLsizei); stdcall;
  2056. glConvolutionFilter1D: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; const image: pointer); stdcall;
  2057. glConvolutionFilter2D: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const image: pointer); stdcall;
  2058. glConvolutionParameterf: procedure(target: GLenum; pname: GLenum; params: GLfloat); stdcall;
  2059. glConvolutionParameterfv: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  2060. glConvolutionParameteri: procedure(target: GLenum; pname: GLenum; params: GLint); stdcall;
  2061. glConvolutionParameteriv: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2062. glCopyConvolutionFilter1D: procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); stdcall;
  2063. glCopyConvolutionFilter2D: procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  2064. glGetConvolutionFilter: procedure(target: GLenum; format: GLenum; _type: GLenum; image: pointer); stdcall;
  2065. glGetConvolutionParameterfv: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2066. glGetConvolutionParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2067. glGetSeparableFilter: procedure(target: GLenum; format: GLenum; _type: GLenum; row: pointer; column: pointer; span: pointer); stdcall;
  2068. glSeparableFilter2D: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const row: pointer; const column: pointer); stdcall;
  2069. glGetHistogram: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; values: pointer); stdcall;
  2070. glGetHistogramParameterfv: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2071. glGetHistogramParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2072. glGetMinmax: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; values: pointer); stdcall;
  2073. glGetMinmaxParameterfv: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2074. glGetMinmaxParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2075. glHistogram: procedure(target: GLenum; width: GLsizei; internalformat: GLenum; sink: GLboolean); stdcall;
  2076. glMinmax: procedure(target: GLenum; internalformat: GLenum; sink: GLboolean); stdcall;
  2077. glResetHistogram: procedure(target: GLenum); stdcall;
  2078. glResetMinmax: procedure(target: GLenum); stdcall;
  2079. {$EndIf}
  2080. {$IfDef GL_ARB_indirect_parameters}
  2081. glMultiDrawArraysIndirectCountARB: procedure(mode: GLenum; const indirect: pointer; drawcount: GLintptr; maxdrawcount: GLsizei; stride: GLsizei); stdcall;
  2082. glMultiDrawElementsIndirectCountARB: procedure(mode: GLenum; _type: GLenum; const indirect: pointer; drawcount: GLintptr; maxdrawcount: GLsizei; stride: GLsizei); stdcall;
  2083. {$EndIf}
  2084. {$IfDef GL_ARB_instanced_arrays}
  2085. glVertexAttribDivisorARB: procedure(index: GLuint; divisor: GLuint); stdcall;
  2086. {$EndIf}
  2087. {$IfDef GL_ARB_matrix_palette}
  2088. glCurrentPaletteMatrixARB: procedure(index: GLint); stdcall;
  2089. glMatrixIndexubvARB: procedure(size: GLint; const indices: PGLubyte); stdcall;
  2090. glMatrixIndexusvARB: procedure(size: GLint; const indices: PGLushort); stdcall;
  2091. glMatrixIndexuivARB: procedure(size: GLint; const indices: PGLuint); stdcall;
  2092. glMatrixIndexPointerARB: procedure(size: GLint; _type: GLenum; stride: GLsizei; const pointer: pointer); stdcall;
  2093. {$EndIf}
  2094. {$IfDef GL_ARB_multisample}
  2095. glSampleCoverageARB: procedure(value: GLfloat; invert: GLboolean); stdcall;
  2096. {$EndIf}
  2097. {$IfDef GL_ARB_multitexture}
  2098. glActiveTextureARB: procedure(texture: GLenum); stdcall;
  2099. glClientActiveTextureARB: procedure(texture: GLenum); stdcall;
  2100. glMultiTexCoord1dARB: procedure(target: GLenum; s: GLdouble); stdcall;
  2101. glMultiTexCoord1dvARB: procedure(target: GLenum; const v: PGLdouble); stdcall;
  2102. glMultiTexCoord1fARB: procedure(target: GLenum; s: GLfloat); stdcall;
  2103. glMultiTexCoord1fvARB: procedure(target: GLenum; const v: PGLfloat); stdcall;
  2104. glMultiTexCoord1iARB: procedure(target: GLenum; s: GLint); stdcall;
  2105. glMultiTexCoord1ivARB: procedure(target: GLenum; const v: PGLint); stdcall;
  2106. glMultiTexCoord1sARB: procedure(target: GLenum; s: GLshort); stdcall;
  2107. glMultiTexCoord1svARB: procedure(target: GLenum; const v: PGLshort); stdcall;
  2108. glMultiTexCoord2dARB: procedure(target: GLenum; s: GLdouble; t: GLdouble); stdcall;
  2109. glMultiTexCoord2dvARB: procedure(target: GLenum; const v: PGLdouble); stdcall;
  2110. glMultiTexCoord2fARB: procedure(target: GLenum; s: GLfloat; t: GLfloat); stdcall;
  2111. glMultiTexCoord2fvARB: procedure(target: GLenum; const v: PGLfloat); stdcall;
  2112. glMultiTexCoord2iARB: procedure(target: GLenum; s: GLint; t: GLint); stdcall;
  2113. glMultiTexCoord2ivARB: procedure(target: GLenum; const v: PGLint); stdcall;
  2114. glMultiTexCoord2sARB: procedure(target: GLenum; s: GLshort; t: GLshort); stdcall;
  2115. glMultiTexCoord2svARB: procedure(target: GLenum; const v: PGLshort); stdcall;
  2116. glMultiTexCoord3dARB: procedure(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble); stdcall;
  2117. glMultiTexCoord3dvARB: procedure(target: GLenum; const v: PGLdouble); stdcall;
  2118. glMultiTexCoord3fARB: procedure(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat); stdcall;
  2119. glMultiTexCoord3fvARB: procedure(target: GLenum; const v: PGLfloat); stdcall;
  2120. glMultiTexCoord3iARB: procedure(target: GLenum; s: GLint; t: GLint; r: GLint); stdcall;
  2121. glMultiTexCoord3ivARB: procedure(target: GLenum; const v: PGLint); stdcall;
  2122. glMultiTexCoord3sARB: procedure(target: GLenum; s: GLshort; t: GLshort; r: GLshort); stdcall;
  2123. glMultiTexCoord3svARB: procedure(target: GLenum; const v: PGLshort); stdcall;
  2124. glMultiTexCoord4dARB: procedure(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble; q: GLdouble); stdcall;
  2125. glMultiTexCoord4dvARB: procedure(target: GLenum; const v: PGLdouble); stdcall;
  2126. glMultiTexCoord4fARB: procedure(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat; q: GLfloat); stdcall;
  2127. glMultiTexCoord4fvARB: procedure(target: GLenum; const v: PGLfloat); stdcall;
  2128. glMultiTexCoord4iARB: procedure(target: GLenum; s: GLint; t: GLint; r: GLint; q: GLint); stdcall;
  2129. glMultiTexCoord4ivARB: procedure(target: GLenum; const v: PGLint); stdcall;
  2130. glMultiTexCoord4sARB: procedure(target: GLenum; s: GLshort; t: GLshort; r: GLshort; q: GLshort); stdcall;
  2131. glMultiTexCoord4svARB: procedure(target: GLenum; const v: PGLshort); stdcall;
  2132. {$EndIf}
  2133. {$IfDef GL_ARB_occlusion_query}
  2134. glGenQueriesARB: procedure(n: GLsizei; ids: PGLuint); stdcall;
  2135. glDeleteQueriesARB: procedure(n: GLsizei; const ids: PGLuint); stdcall;
  2136. glIsQueryARB: function(id: GLuint): GLboolean; stdcall;
  2137. glBeginQueryARB: procedure(target: GLenum; id: GLuint); stdcall;
  2138. glEndQueryARB: procedure(target: GLenum); stdcall;
  2139. glGetQueryivARB: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2140. glGetQueryObjectivARB: procedure(id: GLuint; pname: GLenum; params: PGLint); stdcall;
  2141. glGetQueryObjectuivARB: procedure(id: GLuint; pname: GLenum; params: PGLuint); stdcall;
  2142. {$EndIf}
  2143. {$IfDef GL_ARB_parallel_shader_compile}
  2144. glMaxShaderCompilerThreadsARB: procedure(count: GLuint); stdcall;
  2145. {$EndIf}
  2146. {$IfDef GL_ARB_point_parameters}
  2147. glPointParameterfARB: procedure(pname: GLenum; param: GLfloat); stdcall;
  2148. glPointParameterfvARB: procedure(pname: GLenum; const params: PGLfloat); stdcall;
  2149. {$EndIf}
  2150. {$IfDef GL_ARB_robustness}
  2151. glGetGraphicsResetStatusARB: function: GLenum; stdcall;
  2152. glGetnTexImageARB: procedure(target: GLenum; level: GLint; format: GLenum; _type: GLenum; bufSize: GLsizei; img: pointer); stdcall;
  2153. glReadnPixelsARB: procedure(x: GLint; y: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; bufSize: GLsizei; data: pointer); stdcall;
  2154. glGetnCompressedTexImageARB: procedure(target: GLenum; lod: GLint; bufSize: GLsizei; img: pointer); stdcall;
  2155. glGetnUniformfvARB: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLfloat); stdcall;
  2156. glGetnUniformivARB: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLint); stdcall;
  2157. glGetnUniformuivARB: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLuint); stdcall;
  2158. glGetnUniformdvARB: procedure(_program: GLuint; location: GLint; bufSize: GLsizei; params: PGLdouble); stdcall;
  2159. {$IfNDef USE_GLCORE}
  2160. glGetnMapdvARB: procedure(target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLdouble); stdcall;
  2161. glGetnMapfvARB: procedure(target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLfloat); stdcall;
  2162. glGetnMapivARB: procedure(target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLint); stdcall;
  2163. glGetnPixelMapfvARB: procedure(map: GLenum; bufSize: GLsizei; values: PGLfloat); stdcall;
  2164. glGetnPixelMapuivARB: procedure(map: GLenum; bufSize: GLsizei; values: PGLuint); stdcall;
  2165. glGetnPixelMapusvARB: procedure(map: GLenum; bufSize: GLsizei; values: PGLushort); stdcall;
  2166. glGetnPolygonStippleARB: procedure(bufSize: GLsizei; pattern: PGLubyte); stdcall;
  2167. glGetnColorTableARB: procedure(target: GLenum; format: GLenum; _type: GLenum; bufSize: GLsizei; table: pointer); stdcall;
  2168. glGetnConvolutionFilterARB: procedure(target: GLenum; format: GLenum; _type: GLenum; bufSize: GLsizei; image: pointer); stdcall;
  2169. glGetnSeparableFilterARB: procedure(target: GLenum; format: GLenum; _type: GLenum; rowBufSize: GLsizei; row: pointer; columnBufSize: GLsizei; column: pointer; span: pointer); stdcall;
  2170. glGetnHistogramARB: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; bufSize: GLsizei; values: pointer); stdcall;
  2171. glGetnMinmaxARB: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; bufSize: GLsizei; values: pointer); stdcall;
  2172. {$EndIf}
  2173. {$EndIf}
  2174. {$IfDef GL_ARB_sample_locations}
  2175. glFramebufferSampleLocationsfvARB: procedure(target: GLenum; start: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  2176. glNamedFramebufferSampleLocationsfvARB: procedure(framebuffer: GLuint; start: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  2177. glEvaluateDepthValuesARB: procedure; stdcall;
  2178. {$EndIf}
  2179. {$IfDef GL_ARB_sample_shading}
  2180. glMinSampleShadingARB: procedure(value: GLfloat); stdcall;
  2181. {$EndIf}
  2182. {$IfDef GL_ARB_shader_objects}
  2183. glDeleteObjectARB: procedure(obj: GLhandleARB); stdcall;
  2184. glGetHandleARB: function(pname: GLenum): GLhandleARB; stdcall;
  2185. glDetachObjectARB: procedure(containerObj: GLhandleARB; attachedObj: GLhandleARB); stdcall;
  2186. glCreateShaderObjectARB: function(shaderType: GLenum): GLhandleARB; stdcall;
  2187. glShaderSourceARB: procedure(shaderObj: GLhandleARB; count: GLsizei; const _string: PPGLcharARB; const length: PGLint); stdcall;
  2188. glCompileShaderARB: procedure(shaderObj: GLhandleARB); stdcall;
  2189. glCreateProgramObjectARB: function: GLhandleARB; stdcall;
  2190. glAttachObjectARB: procedure(containerObj: GLhandleARB; obj: GLhandleARB); stdcall;
  2191. glLinkProgramARB: procedure(programObj: GLhandleARB); stdcall;
  2192. glUseProgramObjectARB: procedure(programObj: GLhandleARB); stdcall;
  2193. glValidateProgramARB: procedure(programObj: GLhandleARB); stdcall;
  2194. glUniform1fARB: procedure(location: GLint; v0: GLfloat); stdcall;
  2195. glUniform2fARB: procedure(location: GLint; v0: GLfloat; v1: GLfloat); stdcall;
  2196. glUniform3fARB: procedure(location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat); stdcall;
  2197. glUniform4fARB: procedure(location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat; v3: GLfloat); stdcall;
  2198. glUniform1iARB: procedure(location: GLint; v0: GLint); stdcall;
  2199. glUniform2iARB: procedure(location: GLint; v0: GLint; v1: GLint); stdcall;
  2200. glUniform3iARB: procedure(location: GLint; v0: GLint; v1: GLint; v2: GLint); stdcall;
  2201. glUniform4iARB: procedure(location: GLint; v0: GLint; v1: GLint; v2: GLint; v3: GLint); stdcall;
  2202. glUniform1fvARB: procedure(location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  2203. glUniform2fvARB: procedure(location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  2204. glUniform3fvARB: procedure(location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  2205. glUniform4fvARB: procedure(location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  2206. glUniform1ivARB: procedure(location: GLint; count: GLsizei; const value: PGLint); stdcall;
  2207. glUniform2ivARB: procedure(location: GLint; count: GLsizei; const value: PGLint); stdcall;
  2208. glUniform3ivARB: procedure(location: GLint; count: GLsizei; const value: PGLint); stdcall;
  2209. glUniform4ivARB: procedure(location: GLint; count: GLsizei; const value: PGLint); stdcall;
  2210. glUniformMatrix2fvARB: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2211. glUniformMatrix3fvARB: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2212. glUniformMatrix4fvARB: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2213. glGetObjectParameterfvARB: procedure(obj: GLhandleARB; pname: GLenum; params: PGLfloat); stdcall;
  2214. glGetObjectParameterivARB: procedure(obj: GLhandleARB; pname: GLenum; params: PGLint); stdcall;
  2215. glGetInfoLogARB: procedure(obj: GLhandleARB; maxLength: GLsizei; length: PGLsizei; infoLog: PGLcharARB); stdcall;
  2216. glGetAttachedObjectsARB: procedure(containerObj: GLhandleARB; maxCount: GLsizei; count: PGLsizei; obj: PGLhandleARB); stdcall;
  2217. glGetUniformLocationARB: function(programObj: GLhandleARB; const name: PGLcharARB): GLint; stdcall;
  2218. glGetActiveUniformARB: procedure(programObj: GLhandleARB; index: GLuint; maxLength: GLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLcharARB); stdcall;
  2219. glGetUniformfvARB: procedure(programObj: GLhandleARB; location: GLint; params: PGLfloat); stdcall;
  2220. glGetUniformivARB: procedure(programObj: GLhandleARB; location: GLint; params: PGLint); stdcall;
  2221. glGetShaderSourceARB: procedure(obj: GLhandleARB; maxLength: GLsizei; length: PGLsizei; source: PGLcharARB); stdcall;
  2222. {$EndIf}
  2223. {$IfDef GL_ARB_shading_language_include}
  2224. glNamedStringARB: procedure(_type: GLenum; namelen: GLint; const name: PGLchar; stringlen: GLint; const _string: PGLchar); stdcall;
  2225. glDeleteNamedStringARB: procedure(namelen: GLint; const name: PGLchar); stdcall;
  2226. glCompileShaderIncludeARB: procedure(shader: GLuint; count: GLsizei; const path: PPGLchar; const length: PGLint); stdcall;
  2227. glIsNamedStringARB: function(namelen: GLint; const name: PGLchar): GLboolean; stdcall;
  2228. glGetNamedStringARB: procedure(namelen: GLint; const name: PGLchar; bufSize: GLsizei; stringlen: PGLint; _string: PGLchar); stdcall;
  2229. glGetNamedStringivARB: procedure(namelen: GLint; const name: PGLchar; pname: GLenum; params: PGLint); stdcall;
  2230. {$EndIf}
  2231. {$IfDef GL_ARB_sparse_buffer}
  2232. glBufferPageCommitmentARB: procedure(target: GLenum; offset: GLintptr; size: GLsizeiptr; commit: GLboolean); stdcall;
  2233. glNamedBufferPageCommitmentEXT: procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; commit: GLboolean); stdcall;
  2234. glNamedBufferPageCommitmentARB: procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; commit: GLboolean); stdcall;
  2235. {$EndIf}
  2236. {$IfDef GL_ARB_sparse_texture}
  2237. glTexPageCommitmentARB: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; commit: GLboolean); stdcall;
  2238. {$EndIf}
  2239. {$IfDef GL_ARB_texture_buffer_object}
  2240. glTexBufferARB: procedure(target: GLenum; internalformat: GLenum; buffer: GLuint); stdcall;
  2241. {$EndIf}
  2242. {$IfDef GL_ARB_texture_compression}
  2243. glCompressedTexImage3DARB: procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; imageSize: GLsizei; const data: pointer); stdcall;
  2244. glCompressedTexImage2DARB: procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; imageSize: GLsizei; const data: pointer); stdcall;
  2245. glCompressedTexImage1DARB: procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei; const data: pointer); stdcall;
  2246. 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;
  2247. glCompressedTexSubImage2DARB: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const data: pointer); stdcall;
  2248. glCompressedTexSubImage1DARB: procedure(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const data: pointer); stdcall;
  2249. glGetCompressedTexImageARB: procedure(target: GLenum; level: GLint; img: pointer); stdcall;
  2250. {$EndIf}
  2251. {$IfDef GL_ARB_transpose_matrix}
  2252. glLoadTransposeMatrixfARB: procedure(const m: PGLfloat); stdcall;
  2253. glLoadTransposeMatrixdARB: procedure(const m: PGLdouble); stdcall;
  2254. glMultTransposeMatrixfARB: procedure(const m: PGLfloat); stdcall;
  2255. glMultTransposeMatrixdARB: procedure(const m: PGLdouble); stdcall;
  2256. {$EndIf}
  2257. {$IfDef GL_ARB_vertex_blend}
  2258. glWeightbvARB: procedure(size: GLint; const weights: PGLbyte); stdcall;
  2259. glWeightsvARB: procedure(size: GLint; const weights: PGLshort); stdcall;
  2260. glWeightivARB: procedure(size: GLint; const weights: PGLint); stdcall;
  2261. glWeightfvARB: procedure(size: GLint; const weights: PGLfloat); stdcall;
  2262. glWeightdvARB: procedure(size: GLint; const weights: PGLdouble); stdcall;
  2263. glWeightubvARB: procedure(size: GLint; const weights: PGLubyte); stdcall;
  2264. glWeightusvARB: procedure(size: GLint; const weights: PGLushort); stdcall;
  2265. glWeightuivARB: procedure(size: GLint; const weights: PGLuint); stdcall;
  2266. glWeightPointerARB: procedure(size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  2267. glVertexBlendARB: procedure(count: GLint); stdcall;
  2268. {$EndIf}
  2269. {$IfDef GL_ARB_vertex_buffer_object}
  2270. glBindBufferARB: procedure(target: GLenum; buffer: GLuint); stdcall;
  2271. glDeleteBuffersARB: procedure(n: GLsizei; const buffers: PGLuint); stdcall;
  2272. glGenBuffersARB: procedure(n: GLsizei; buffers: PGLuint); stdcall;
  2273. glIsBufferARB: function(buffer: GLuint): GLboolean; stdcall;
  2274. glBufferDataARB: procedure(target: GLenum; size: GLsizeiptrARB; const data: pointer; usage: GLenum); stdcall;
  2275. glBufferSubDataARB: procedure(target: GLenum; offset: GLintptrARB; size: GLsizeiptrARB; const data: pointer); stdcall;
  2276. glGetBufferSubDataARB: procedure(target: GLenum; offset: GLintptrARB; size: GLsizeiptrARB; data: pointer); stdcall;
  2277. glMapBufferARB: function(target: GLenum; access: GLenum): pointer; stdcall;
  2278. glUnmapBufferARB: function(target: GLenum): GLboolean; stdcall;
  2279. glGetBufferParameterivARB: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2280. glGetBufferPointervARB: procedure(target: GLenum; pname: GLenum; params:Ppointer); stdcall;
  2281. {$EndIf}
  2282. {$IfDef GL_ARB_vertex_program}
  2283. glVertexAttrib1dARB: procedure(index: GLuint; x: GLdouble); stdcall;
  2284. glVertexAttrib1dvARB: procedure(index: GLuint; const v: PGLdouble); stdcall;
  2285. glVertexAttrib1fARB: procedure(index: GLuint; x: GLfloat); stdcall;
  2286. glVertexAttrib1fvARB: procedure(index: GLuint; const v: PGLfloat); stdcall;
  2287. glVertexAttrib1sARB: procedure(index: GLuint; x: GLshort); stdcall;
  2288. glVertexAttrib1svARB: procedure(index: GLuint; const v: PGLshort); stdcall;
  2289. glVertexAttrib2dARB: procedure(index: GLuint; x: GLdouble; y: GLdouble); stdcall;
  2290. glVertexAttrib2dvARB: procedure(index: GLuint; const v: PGLdouble); stdcall;
  2291. glVertexAttrib2fARB: procedure(index: GLuint; x: GLfloat; y: GLfloat); stdcall;
  2292. glVertexAttrib2fvARB: procedure(index: GLuint; const v: PGLfloat); stdcall;
  2293. glVertexAttrib2sARB: procedure(index: GLuint; x: GLshort; y: GLshort); stdcall;
  2294. glVertexAttrib2svARB: procedure(index: GLuint; const v: PGLshort); stdcall;
  2295. glVertexAttrib3dARB: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  2296. glVertexAttrib3dvARB: procedure(index: GLuint; const v: PGLdouble); stdcall;
  2297. glVertexAttrib3fARB: procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  2298. glVertexAttrib3fvARB: procedure(index: GLuint; const v: PGLfloat); stdcall;
  2299. glVertexAttrib3sARB: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort); stdcall;
  2300. glVertexAttrib3svARB: procedure(index: GLuint; const v: PGLshort); stdcall;
  2301. glVertexAttrib4NbvARB: procedure(index: GLuint; const v: PGLbyte); stdcall;
  2302. glVertexAttrib4NivARB: procedure(index: GLuint; const v: PGLint); stdcall;
  2303. glVertexAttrib4NsvARB: procedure(index: GLuint; const v: PGLshort); stdcall;
  2304. glVertexAttrib4NubARB: procedure(index: GLuint; x: GLubyte; y: GLubyte; z: GLubyte; w: GLubyte); stdcall;
  2305. glVertexAttrib4NubvARB: procedure(index: GLuint; const v: PGLubyte); stdcall;
  2306. glVertexAttrib4NuivARB: procedure(index: GLuint; const v: PGLuint); stdcall;
  2307. glVertexAttrib4NusvARB: procedure(index: GLuint; const v: PGLushort); stdcall;
  2308. glVertexAttrib4bvARB: procedure(index: GLuint; const v: PGLbyte); stdcall;
  2309. glVertexAttrib4dARB: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  2310. glVertexAttrib4dvARB: procedure(index: GLuint; const v: PGLdouble); stdcall;
  2311. glVertexAttrib4fARB: procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  2312. glVertexAttrib4fvARB: procedure(index: GLuint; const v: PGLfloat); stdcall;
  2313. glVertexAttrib4ivARB: procedure(index: GLuint; const v: PGLint); stdcall;
  2314. glVertexAttrib4sARB: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort; w: GLshort); stdcall;
  2315. glVertexAttrib4svARB: procedure(index: GLuint; const v: PGLshort); stdcall;
  2316. glVertexAttrib4ubvARB: procedure(index: GLuint; const v: PGLubyte); stdcall;
  2317. glVertexAttrib4uivARB: procedure(index: GLuint; const v: PGLuint); stdcall;
  2318. glVertexAttrib4usvARB: procedure(index: GLuint; const v: PGLushort); stdcall;
  2319. glVertexAttribPointerARB: procedure(index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei; const _pointer: pointer); stdcall;
  2320. glEnableVertexAttribArrayARB: procedure(index: GLuint); stdcall;
  2321. glDisableVertexAttribArrayARB: procedure(index: GLuint); stdcall;
  2322. glGetVertexAttribdvARB: procedure(index: GLuint; pname: GLenum; params: PGLdouble); stdcall;
  2323. glGetVertexAttribfvARB: procedure(index: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  2324. glGetVertexAttribivARB: procedure(index: GLuint; pname: GLenum; params: PGLint); stdcall;
  2325. glGetVertexAttribPointervARB: procedure(index: GLuint; pname: GLenum; pointer:Ppointer); stdcall;
  2326. {$EndIf}
  2327. {$IfDef GL_ARB_vertex_shader}
  2328. glBindAttribLocationARB: procedure(programObj: GLhandleARB; index: GLuint; const name: PGLcharARB); stdcall;
  2329. glGetActiveAttribARB: procedure(programObj: GLhandleARB; index: GLuint; maxLength: GLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLcharARB); stdcall;
  2330. glGetAttribLocationARB: function(programObj: GLhandleARB; const name: PGLcharARB): GLint; stdcall;
  2331. {$EndIf}
  2332. {$IfDef GL_ARB_viewport_array}
  2333. glDepthRangeArraydvNV: procedure(first: GLuint; count: GLsizei; const v: PGLdouble); stdcall;
  2334. glDepthRangeIndexeddNV: procedure(index: GLuint; n: GLdouble; f: GLdouble); stdcall;
  2335. {$EndIf}
  2336. {$IfDef GL_ARB_window_pos}
  2337. glWindowPos2dARB: procedure(x: GLdouble; y: GLdouble); stdcall;
  2338. glWindowPos2dvARB: procedure(const v: PGLdouble); stdcall;
  2339. glWindowPos2fARB: procedure(x: GLfloat; y: GLfloat); stdcall;
  2340. glWindowPos2fvARB: procedure(const v: PGLfloat); stdcall;
  2341. glWindowPos2iARB: procedure(x: GLint; y: GLint); stdcall;
  2342. glWindowPos2ivARB: procedure(const v: PGLint); stdcall;
  2343. glWindowPos2sARB: procedure(x: GLshort; y: GLshort); stdcall;
  2344. glWindowPos2svARB: procedure(const v: PGLshort); stdcall;
  2345. glWindowPos3dARB: procedure(x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  2346. glWindowPos3dvARB: procedure(const v: PGLdouble); stdcall;
  2347. glWindowPos3fARB: procedure(x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  2348. glWindowPos3fvARB: procedure(const v: PGLfloat); stdcall;
  2349. glWindowPos3iARB: procedure(x: GLint; y: GLint; z: GLint); stdcall;
  2350. glWindowPos3ivARB: procedure(const v: PGLint); stdcall;
  2351. glWindowPos3sARB: procedure(x: GLshort; y: GLshort; z: GLshort); stdcall;
  2352. glWindowPos3svARB: procedure(const v: PGLshort); stdcall;
  2353. {$EndIf}
  2354. {$IfDef GL_KHR_blend_equation_advanced}
  2355. glBlendBarrierKHR: procedure; stdcall;
  2356. {$EndIf}
  2357. {$IfDef GL_KHR_parallel_shader_compile}
  2358. glMaxShaderCompilerThreadsKHR: procedure(count: GLuint); stdcall;
  2359. {$EndIf}
  2360. {$IfDef GL_OES_byte_coordinates}
  2361. glMultiTexCoord1bOES: procedure(texture: GLenum; s: GLbyte); stdcall;
  2362. glMultiTexCoord1bvOES: procedure(texture: GLenum; const coords: PGLbyte); stdcall;
  2363. glMultiTexCoord2bOES: procedure(texture: GLenum; s: GLbyte; t: GLbyte); stdcall;
  2364. glMultiTexCoord2bvOES: procedure(texture: GLenum; const coords: PGLbyte); stdcall;
  2365. glMultiTexCoord3bOES: procedure(texture: GLenum; s: GLbyte; t: GLbyte; r: GLbyte); stdcall;
  2366. glMultiTexCoord3bvOES: procedure(texture: GLenum; const coords: PGLbyte); stdcall;
  2367. glMultiTexCoord4bOES: procedure(texture: GLenum; s: GLbyte; t: GLbyte; r: GLbyte; q: GLbyte); stdcall;
  2368. glMultiTexCoord4bvOES: procedure(texture: GLenum; const coords: PGLbyte); stdcall;
  2369. glTexCoord1bOES: procedure(s: GLbyte); stdcall;
  2370. glTexCoord1bvOES: procedure(const coords: PGLbyte); stdcall;
  2371. glTexCoord2bOES: procedure(s: GLbyte; t: GLbyte); stdcall;
  2372. glTexCoord2bvOES: procedure(const coords: PGLbyte); stdcall;
  2373. glTexCoord3bOES: procedure(s: GLbyte; t: GLbyte; r: GLbyte); stdcall;
  2374. glTexCoord3bvOES: procedure(const coords: PGLbyte); stdcall;
  2375. glTexCoord4bOES: procedure(s: GLbyte; t: GLbyte; r: GLbyte; q: GLbyte); stdcall;
  2376. glTexCoord4bvOES: procedure(const coords: PGLbyte); stdcall;
  2377. glVertex2bOES: procedure(x: GLbyte; y: GLbyte); stdcall;
  2378. glVertex2bvOES: procedure(const coords: PGLbyte); stdcall;
  2379. glVertex3bOES: procedure(x: GLbyte; y: GLbyte; z: GLbyte); stdcall;
  2380. glVertex3bvOES: procedure(const coords: PGLbyte); stdcall;
  2381. glVertex4bOES: procedure(x: GLbyte; y: GLbyte; z: GLbyte; w: GLbyte); stdcall;
  2382. glVertex4bvOES: procedure(const coords: PGLbyte); stdcall;
  2383. {$EndIf}
  2384. {$IfDef GL_OES_fixed_point}
  2385. glAlphaFuncxOES: procedure(func: GLenum; ref: GLfixed); stdcall;
  2386. glClearColorxOES: procedure(red: GLfixed; green: GLfixed; blue: GLfixed; alpha: GLfixed); stdcall;
  2387. glClearDepthxOES: procedure(depth: GLfixed); stdcall;
  2388. glClipPlanexOES: procedure(plane: GLenum; const equation: PGLfixed); stdcall;
  2389. glColor4xOES: procedure(red: GLfixed; green: GLfixed; blue: GLfixed; alpha: GLfixed); stdcall;
  2390. glDepthRangexOES: procedure(n: GLfixed; f: GLfixed); stdcall;
  2391. glFogxOES: procedure(pname: GLenum; param: GLfixed); stdcall;
  2392. glFogxvOES: procedure(pname: GLenum; const param: PGLfixed); stdcall;
  2393. glFrustumxOES: procedure(l: GLfixed; r: GLfixed; b: GLfixed; t: GLfixed; n: GLfixed; f: GLfixed); stdcall;
  2394. glGetClipPlanexOES: procedure(plane: GLenum; equation: PGLfixed); stdcall;
  2395. glGetFixedvOES: procedure(pname: GLenum; params: PGLfixed); stdcall;
  2396. glGetTexEnvxvOES: procedure(target: GLenum; pname: GLenum; params: PGLfixed); stdcall;
  2397. glGetTexParameterxvOES: procedure(target: GLenum; pname: GLenum; params: PGLfixed); stdcall;
  2398. glLightModelxOES: procedure(pname: GLenum; param: GLfixed); stdcall;
  2399. glLightModelxvOES: procedure(pname: GLenum; const param: PGLfixed); stdcall;
  2400. glLightxOES: procedure(light: GLenum; pname: GLenum; param: GLfixed); stdcall;
  2401. glLightxvOES: procedure(light: GLenum; pname: GLenum; const params: PGLfixed); stdcall;
  2402. glLineWidthxOES: procedure(width: GLfixed); stdcall;
  2403. glLoadMatrixxOES: procedure(const m: PGLfixed); stdcall;
  2404. glMaterialxOES: procedure(face: GLenum; pname: GLenum; param: GLfixed); stdcall;
  2405. glMaterialxvOES: procedure(face: GLenum; pname: GLenum; const param: PGLfixed); stdcall;
  2406. glMultMatrixxOES: procedure(const m: PGLfixed); stdcall;
  2407. glMultiTexCoord4xOES: procedure(texture: GLenum; s: GLfixed; t: GLfixed; r: GLfixed; q: GLfixed); stdcall;
  2408. glNormal3xOES: procedure(nx: GLfixed; ny: GLfixed; nz: GLfixed); stdcall;
  2409. glOrthoxOES: procedure(l: GLfixed; r: GLfixed; b: GLfixed; t: GLfixed; n: GLfixed; f: GLfixed); stdcall;
  2410. glPointParameterxvOES: procedure(pname: GLenum; const params: PGLfixed); stdcall;
  2411. glPointSizexOES: procedure(size: GLfixed); stdcall;
  2412. glPolygonOffsetxOES: procedure(factor: GLfixed; units: GLfixed); stdcall;
  2413. glRotatexOES: procedure(angle: GLfixed; x: GLfixed; y: GLfixed; z: GLfixed); stdcall;
  2414. glScalexOES: procedure(x: GLfixed; y: GLfixed; z: GLfixed); stdcall;
  2415. glTexEnvxOES: procedure(target: GLenum; pname: GLenum; param: GLfixed); stdcall;
  2416. glTexEnvxvOES: procedure(target: GLenum; pname: GLenum; const params: PGLfixed); stdcall;
  2417. glTexParameterxOES: procedure(target: GLenum; pname: GLenum; param: GLfixed); stdcall;
  2418. glTexParameterxvOES: procedure(target: GLenum; pname: GLenum; const params: PGLfixed); stdcall;
  2419. glTranslatexOES: procedure(x: GLfixed; y: GLfixed; z: GLfixed); stdcall;
  2420. glAccumxOES: procedure(op: GLenum; value: GLfixed); stdcall;
  2421. glBitmapxOES: procedure(width: GLsizei; height: GLsizei; xorig: GLfixed; yorig: GLfixed; xmove: GLfixed; ymove: GLfixed; const bitmap: PGLubyte); stdcall;
  2422. glBlendColorxOES: procedure(red: GLfixed; green: GLfixed; blue: GLfixed; alpha: GLfixed); stdcall;
  2423. glClearAccumxOES: procedure(red: GLfixed; green: GLfixed; blue: GLfixed; alpha: GLfixed); stdcall;
  2424. glColor3xOES: procedure(red: GLfixed; green: GLfixed; blue: GLfixed); stdcall;
  2425. glColor3xvOES: procedure(const components: PGLfixed); stdcall;
  2426. glColor4xvOES: procedure(const components: PGLfixed); stdcall;
  2427. glConvolutionParameterxOES: procedure(target: GLenum; pname: GLenum; param: GLfixed); stdcall;
  2428. glConvolutionParameterxvOES: procedure(target: GLenum; pname: GLenum; const params: PGLfixed); stdcall;
  2429. glEvalCoord1xOES: procedure(u: GLfixed); stdcall;
  2430. glEvalCoord1xvOES: procedure(const coords: PGLfixed); stdcall;
  2431. glEvalCoord2xOES: procedure(u: GLfixed; v: GLfixed); stdcall;
  2432. glEvalCoord2xvOES: procedure(const coords: PGLfixed); stdcall;
  2433. glFeedbackBufferxOES: procedure(n: GLsizei; _type: GLenum; const buffer: PGLfixed); stdcall;
  2434. glGetConvolutionParameterxvOES: procedure(target: GLenum; pname: GLenum; params: PGLfixed); stdcall;
  2435. glGetHistogramParameterxvOES: procedure(target: GLenum; pname: GLenum; params: PGLfixed); stdcall;
  2436. glGetLightxOES: procedure(light: GLenum; pname: GLenum; params: PGLfixed); stdcall;
  2437. glGetMapxvOES: procedure(target: GLenum; query: GLenum; v: PGLfixed); stdcall;
  2438. glGetMaterialxOES: procedure(face: GLenum; pname: GLenum; param: GLfixed); stdcall;
  2439. glGetPixelMapxv: procedure(map: GLenum; size: GLint; values: PGLfixed); stdcall;
  2440. glGetTexGenxvOES: procedure(coord: GLenum; pname: GLenum; params: PGLfixed); stdcall;
  2441. glGetTexLevelParameterxvOES: procedure(target: GLenum; level: GLint; pname: GLenum; params: PGLfixed); stdcall;
  2442. glIndexxOES: procedure(component: GLfixed); stdcall;
  2443. glIndexxvOES: procedure(const component: PGLfixed); stdcall;
  2444. glLoadTransposeMatrixxOES: procedure(const m: PGLfixed); stdcall;
  2445. glMap1xOES: procedure(target: GLenum; u1: GLfixed; u2: GLfixed; stride: GLint; order: GLint; points: GLfixed); stdcall;
  2446. glMap2xOES: procedure(target: GLenum; u1: GLfixed; u2: GLfixed; ustride: GLint; uorder: GLint; v1: GLfixed; v2: GLfixed; vstride: GLint; vorder: GLint; points: GLfixed); stdcall;
  2447. glMapGrid1xOES: procedure(n: GLint; u1: GLfixed; u2: GLfixed); stdcall;
  2448. glMapGrid2xOES: procedure(n: GLint; u1: GLfixed; u2: GLfixed; v1: GLfixed; v2: GLfixed); stdcall;
  2449. glMultTransposeMatrixxOES: procedure(const m: PGLfixed); stdcall;
  2450. glMultiTexCoord1xOES: procedure(texture: GLenum; s: GLfixed); stdcall;
  2451. glMultiTexCoord1xvOES: procedure(texture: GLenum; const coords: PGLfixed); stdcall;
  2452. glMultiTexCoord2xOES: procedure(texture: GLenum; s: GLfixed; t: GLfixed); stdcall;
  2453. glMultiTexCoord2xvOES: procedure(texture: GLenum; const coords: PGLfixed); stdcall;
  2454. glMultiTexCoord3xOES: procedure(texture: GLenum; s: GLfixed; t: GLfixed; r: GLfixed); stdcall;
  2455. glMultiTexCoord3xvOES: procedure(texture: GLenum; const coords: PGLfixed); stdcall;
  2456. glMultiTexCoord4xvOES: procedure(texture: GLenum; const coords: PGLfixed); stdcall;
  2457. glNormal3xvOES: procedure(const coords: PGLfixed); stdcall;
  2458. glPassThroughxOES: procedure(token: GLfixed); stdcall;
  2459. glPixelMapx: procedure(map: GLenum; size: GLint; const values: PGLfixed); stdcall;
  2460. glPixelStorex: procedure(pname: GLenum; param: GLfixed); stdcall;
  2461. glPixelTransferxOES: procedure(pname: GLenum; param: GLfixed); stdcall;
  2462. glPixelZoomxOES: procedure(xfactor: GLfixed; yfactor: GLfixed); stdcall;
  2463. glPrioritizeTexturesxOES: procedure(n: GLsizei; const textures: PGLuint; const priorities: PGLfixed); stdcall;
  2464. glRasterPos2xOES: procedure(x: GLfixed; y: GLfixed); stdcall;
  2465. glRasterPos2xvOES: procedure(const coords: PGLfixed); stdcall;
  2466. glRasterPos3xOES: procedure(x: GLfixed; y: GLfixed; z: GLfixed); stdcall;
  2467. glRasterPos3xvOES: procedure(const coords: PGLfixed); stdcall;
  2468. glRasterPos4xOES: procedure(x: GLfixed; y: GLfixed; z: GLfixed; w: GLfixed); stdcall;
  2469. glRasterPos4xvOES: procedure(const coords: PGLfixed); stdcall;
  2470. glRectxOES: procedure(x1: GLfixed; y1: GLfixed; x2: GLfixed; y2: GLfixed); stdcall;
  2471. glRectxvOES: procedure(const v1: PGLfixed; const v2: PGLfixed); stdcall;
  2472. glTexCoord1xOES: procedure(s: GLfixed); stdcall;
  2473. glTexCoord1xvOES: procedure(const coords: PGLfixed); stdcall;
  2474. glTexCoord2xOES: procedure(s: GLfixed; t: GLfixed); stdcall;
  2475. glTexCoord2xvOES: procedure(const coords: PGLfixed); stdcall;
  2476. glTexCoord3xOES: procedure(s: GLfixed; t: GLfixed; r: GLfixed); stdcall;
  2477. glTexCoord3xvOES: procedure(const coords: PGLfixed); stdcall;
  2478. glTexCoord4xOES: procedure(s: GLfixed; t: GLfixed; r: GLfixed; q: GLfixed); stdcall;
  2479. glTexCoord4xvOES: procedure(const coords: PGLfixed); stdcall;
  2480. glTexGenxOES: procedure(coord: GLenum; pname: GLenum; param: GLfixed); stdcall;
  2481. glTexGenxvOES: procedure(coord: GLenum; pname: GLenum; const params: PGLfixed); stdcall;
  2482. glVertex2xOES: procedure(x: GLfixed); stdcall;
  2483. glVertex2xvOES: procedure(const coords: PGLfixed); stdcall;
  2484. glVertex3xOES: procedure(x: GLfixed; y: GLfixed); stdcall;
  2485. glVertex3xvOES: procedure(const coords: PGLfixed); stdcall;
  2486. glVertex4xOES: procedure(x: GLfixed; y: GLfixed; z: GLfixed); stdcall;
  2487. glVertex4xvOES: procedure(const coords: PGLfixed); stdcall;
  2488. {$EndIf}
  2489. {$IfDef GL_OES_query_matrix}
  2490. glQueryMatrixxOES: function(mantissa: PGLfixed; exponent: PGLint): GLbitfield; stdcall;
  2491. {$EndIf}
  2492. {$IfDef GL_OES_single_precision}
  2493. glClearDepthfOES: procedure(depth: GLclampf); stdcall;
  2494. glClipPlanefOES: procedure(plane: GLenum; const equation: PGLfloat); stdcall;
  2495. glDepthRangefOES: procedure(n: GLclampf; f: GLclampf); stdcall;
  2496. glFrustumfOES: procedure(l: GLfloat; r: GLfloat; b: GLfloat; t: GLfloat; n: GLfloat; f: GLfloat); stdcall;
  2497. glGetClipPlanefOES: procedure(plane: GLenum; equation: PGLfloat); stdcall;
  2498. glOrthofOES: procedure(l: GLfloat; r: GLfloat; b: GLfloat; t: GLfloat; n: GLfloat; f: GLfloat); stdcall;
  2499. {$EndIf}
  2500. {$IfDef GL_3DFX_tbuffer}
  2501. glTbufferMask3DFX: procedure(mask: GLuint); stdcall;
  2502. {$EndIf}
  2503. {$IfDef GL_AMD_debug_output}
  2504. glDebugMessageEnableAMD: procedure(category: GLenum; severity: GLenum; count: GLsizei; const ids: PGLuint; enabled: GLboolean); stdcall;
  2505. glDebugMessageInsertAMD: procedure(category: GLenum; severity: GLenum; id: GLuint; length: GLsizei; const buf: PGLchar); stdcall;
  2506. glDebugMessageCallbackAMD: procedure(callback: GLDEBUGPROCAMD; userParam: pointer); stdcall;
  2507. glGetDebugMessageLogAMD: function(count: GLuint; bufSize: GLsizei; categories: PGLenum; severities: PGLuint; ids: PGLuint; lengths: PGLsizei; _message: PGLchar): GLuint; stdcall;
  2508. {$EndIf}
  2509. {$IfDef GL_AMD_draw_buffers_blend}
  2510. glBlendFuncIndexedAMD: procedure(buf: GLuint; src: GLenum; dst: GLenum); stdcall;
  2511. glBlendFuncSeparateIndexedAMD: procedure(buf: GLuint; srcRGB: GLenum; dstRGB: GLenum; srcAlpha: GLenum; dstAlpha: GLenum); stdcall;
  2512. glBlendEquationIndexedAMD: procedure(buf: GLuint; mode: GLenum); stdcall;
  2513. glBlendEquationSeparateIndexedAMD: procedure(buf: GLuint; modeRGB: GLenum; modeAlpha: GLenum); stdcall;
  2514. {$EndIf}
  2515. {$IfDef GL_AMD_framebuffer_multisample_advanced}
  2516. glRenderbufferStorageMultisampleAdvancedAMD: procedure(target: GLenum; samples: GLsizei; storageSamples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  2517. glNamedRenderbufferStorageMultisampleAdvancedAMD: procedure(renderbuffer: GLuint; samples: GLsizei; storageSamples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  2518. {$EndIf}
  2519. {$IfDef GL_AMD_framebuffer_sample_positions}
  2520. glFramebufferSamplePositionsfvAMD: procedure(target: GLenum; numsamples: GLuint; pixelindex: GLuint; const values: PGLfloat); stdcall;
  2521. glNamedFramebufferSamplePositionsfvAMD: procedure(framebuffer: GLuint; numsamples: GLuint; pixelindex: GLuint; const values: PGLfloat); stdcall;
  2522. glGetFramebufferParameterfvAMD: procedure(target: GLenum; pname: GLenum; numsamples: GLuint; pixelindex: GLuint; size: GLsizei; values: PGLfloat); stdcall;
  2523. glGetNamedFramebufferParameterfvAMD: procedure(framebuffer: GLuint; pname: GLenum; numsamples: GLuint; pixelindex: GLuint; size: GLsizei; values: PGLfloat); stdcall;
  2524. {$EndIf}
  2525. {$If defined(GL_AMD_gpu_shader_int64) or defined(GL_NV_gpu_shader5)}
  2526. glUniform1i64NV: procedure(location: GLint; x: GLint64EXT); stdcall;
  2527. glUniform2i64NV: procedure(location: GLint; x: GLint64EXT; y: GLint64EXT); stdcall;
  2528. glUniform3i64NV: procedure(location: GLint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT); stdcall;
  2529. glUniform4i64NV: procedure(location: GLint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT; w: GLint64EXT); stdcall;
  2530. glUniform1i64vNV: procedure(location: GLint; count: GLsizei; const value: PGLint64EXT); stdcall;
  2531. glUniform2i64vNV: procedure(location: GLint; count: GLsizei; const value: PGLint64EXT); stdcall;
  2532. glUniform3i64vNV: procedure(location: GLint; count: GLsizei; const value: PGLint64EXT); stdcall;
  2533. glUniform4i64vNV: procedure(location: GLint; count: GLsizei; const value: PGLint64EXT); stdcall;
  2534. glUniform1ui64NV: procedure(location: GLint; x: GLuint64EXT); stdcall;
  2535. glUniform2ui64NV: procedure(location: GLint; x: GLuint64EXT; y: GLuint64EXT); stdcall;
  2536. glUniform3ui64NV: procedure(location: GLint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT); stdcall;
  2537. glUniform4ui64NV: procedure(location: GLint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT; w: GLuint64EXT); stdcall;
  2538. glUniform1ui64vNV: procedure(location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  2539. glUniform2ui64vNV: procedure(location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  2540. glUniform3ui64vNV: procedure(location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  2541. glUniform4ui64vNV: procedure(location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  2542. glGetUniformi64vNV: procedure(_program: GLuint; location: GLint; params: PGLint64EXT); stdcall;
  2543. glProgramUniform1i64NV: procedure(_program: GLuint; location: GLint; x: GLint64EXT); stdcall;
  2544. glProgramUniform2i64NV: procedure(_program: GLuint; location: GLint; x: GLint64EXT; y: GLint64EXT); stdcall;
  2545. glProgramUniform3i64NV: procedure(_program: GLuint; location: GLint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT); stdcall;
  2546. glProgramUniform4i64NV: procedure(_program: GLuint; location: GLint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT; w: GLint64EXT); stdcall;
  2547. glProgramUniform1i64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint64EXT); stdcall;
  2548. glProgramUniform2i64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint64EXT); stdcall;
  2549. glProgramUniform3i64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint64EXT); stdcall;
  2550. glProgramUniform4i64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint64EXT); stdcall;
  2551. glProgramUniform1ui64NV: procedure(_program: GLuint; location: GLint; x: GLuint64EXT); stdcall;
  2552. glProgramUniform2ui64NV: procedure(_program: GLuint; location: GLint; x: GLuint64EXT; y: GLuint64EXT); stdcall;
  2553. glProgramUniform3ui64NV: procedure(_program: GLuint; location: GLint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT); stdcall;
  2554. glProgramUniform4ui64NV: procedure(_program: GLuint; location: GLint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT; w: GLuint64EXT); stdcall;
  2555. glProgramUniform1ui64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  2556. glProgramUniform2ui64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  2557. glProgramUniform3ui64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  2558. glProgramUniform4ui64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  2559. {$IfEnd}
  2560. {$If defined(GL_AMD_gpu_shader_int64) or defined(GL_NV_shader_buffer_load)}
  2561. glGetUniformui64vNV: procedure(_program: GLuint; location: GLint; params: PGLuint64EXT); stdcall;
  2562. {$IfEnd}
  2563. {$IfDef GL_AMD_interleaved_elements}
  2564. glVertexAttribParameteriAMD: procedure(index: GLuint; pname: GLenum; param: GLint); stdcall;
  2565. {$EndIf}
  2566. {$IfDef GL_AMD_multi_draw_indirect}
  2567. glMultiDrawArraysIndirectAMD: procedure(mode: GLenum; const indirect: pointer; primcount: GLsizei; stride: GLsizei); stdcall;
  2568. glMultiDrawElementsIndirectAMD: procedure(mode: GLenum; _type: GLenum; const indirect: pointer; primcount: GLsizei; stride: GLsizei); stdcall;
  2569. {$EndIf}
  2570. {$IfDef GL_AMD_name_gen_delete}
  2571. glGenNamesAMD: procedure(identifier: GLenum; num: GLuint; names: PGLuint); stdcall;
  2572. glDeleteNamesAMD: procedure(identifier: GLenum; num: GLuint; const names: PGLuint); stdcall;
  2573. glIsNameAMD: function(identifier: GLenum; name: GLuint): GLboolean; stdcall;
  2574. {$EndIf}
  2575. {$IfDef GL_AMD_occlusion_query_event}
  2576. glQueryObjectParameteruiAMD: procedure(target: GLenum; id: GLuint; pname: GLenum; param: GLuint); stdcall;
  2577. {$EndIf}
  2578. {$IfDef GL_AMD_performance_monitor}
  2579. glGetPerfMonitorGroupsAMD: procedure(numGroups: PGLint; groupsSize: GLsizei; groups: PGLuint); stdcall;
  2580. glGetPerfMonitorCountersAMD: procedure(group: GLuint; numCounters: PGLint; maxActiveCounters: PGLint; counterSize: GLsizei; counters: PGLuint); stdcall;
  2581. glGetPerfMonitorGroupStringAMD: procedure(group: GLuint; bufSize: GLsizei; length: PGLsizei; groupString: PGLchar); stdcall;
  2582. glGetPerfMonitorCounterStringAMD: procedure(group: GLuint; counter: GLuint; bufSize: GLsizei; length: PGLsizei; counterString: PGLchar); stdcall;
  2583. glGetPerfMonitorCounterInfoAMD: procedure(group: GLuint; counter: GLuint; pname: GLenum; data: pointer); stdcall;
  2584. glGenPerfMonitorsAMD: procedure(n: GLsizei; monitors: PGLuint); stdcall;
  2585. glDeletePerfMonitorsAMD: procedure(n: GLsizei; monitors: PGLuint); stdcall;
  2586. glSelectPerfMonitorCountersAMD: procedure(monitor: GLuint; enable: GLboolean; group: GLuint; numCounters: GLint; counterList: PGLuint); stdcall;
  2587. glBeginPerfMonitorAMD: procedure(monitor: GLuint); stdcall;
  2588. glEndPerfMonitorAMD: procedure(monitor: GLuint); stdcall;
  2589. glGetPerfMonitorCounterDataAMD: procedure(monitor: GLuint; pname: GLenum; dataSize: GLsizei; data: PGLuint; bytesWritten: PGLint); stdcall;
  2590. {$EndIf}
  2591. {$IfDef GL_AMD_sample_positions}
  2592. glSetMultisamplefvAMD: procedure(pname: GLenum; index: GLuint; const val: PGLfloat); stdcall;
  2593. {$EndIf}
  2594. {$IfDef GL_AMD_sparse_texture}
  2595. glTexStorageSparseAMD: procedure(target: GLenum; internalFormat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; layers: GLsizei; flags: GLbitfield); stdcall;
  2596. glTextureStorageSparseAMD: procedure(texture: GLuint; target: GLenum; internalFormat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; layers: GLsizei; flags: GLbitfield); stdcall;
  2597. {$EndIf}
  2598. {$IfDef GL_AMD_stencil_operation_extended}
  2599. glStencilOpValueAMD: procedure(face: GLenum; value: GLuint); stdcall;
  2600. {$EndIf}
  2601. {$IfDef GL_AMD_vertex_shader_tessellator}
  2602. glTessellationFactorAMD: procedure(factor: GLfloat); stdcall;
  2603. glTessellationModeAMD: procedure(mode: GLenum); stdcall;
  2604. {$EndIf}
  2605. {$IfDef GL_APPLE_element_array}
  2606. glElementPointerAPPLE: procedure(_type: GLenum; const _pointer: pointer); stdcall;
  2607. glDrawElementArrayAPPLE: procedure(mode: GLenum; first: GLint; count: GLsizei); stdcall;
  2608. glDrawRangeElementArrayAPPLE: procedure(mode: GLenum; start: GLuint; _end: GLuint; first: GLint; count: GLsizei); stdcall;
  2609. glMultiDrawElementArrayAPPLE: procedure(mode: GLenum; const first: PGLint; const count: PGLsizei; primcount: GLsizei); stdcall;
  2610. glMultiDrawRangeElementArrayAPPLE: procedure(mode: GLenum; start: GLuint; _end: GLuint; const first: PGLint; const count: PGLsizei; primcount: GLsizei); stdcall;
  2611. {$EndIf}
  2612. {$IfDef GL_APPLE_fence}
  2613. glGenFencesAPPLE: procedure(n: GLsizei; fences: PGLuint); stdcall;
  2614. glDeleteFencesAPPLE: procedure(n: GLsizei; const fences: PGLuint); stdcall;
  2615. glSetFenceAPPLE: procedure(fence: GLuint); stdcall;
  2616. glIsFenceAPPLE: function(fence: GLuint): GLboolean; stdcall;
  2617. glTestFenceAPPLE: function(fence: GLuint): GLboolean; stdcall;
  2618. glFinishFenceAPPLE: procedure(fence: GLuint); stdcall;
  2619. glTestObjectAPPLE: function(_object: GLenum; name: GLuint): GLboolean; stdcall;
  2620. glFinishObjectAPPLE: procedure(_object: GLenum; name: GLint); stdcall;
  2621. {$EndIf}
  2622. {$IfDef GL_APPLE_flush_buffer_range}
  2623. glBufferParameteriAPPLE: procedure(target: GLenum; pname: GLenum; param: GLint); stdcall;
  2624. glFlushMappedBufferRangeAPPLE: procedure(target: GLenum; offset: GLintptr; size: GLsizeiptr); stdcall;
  2625. {$EndIf}
  2626. {$IfDef GL_APPLE_object_purgeable}
  2627. glObjectPurgeableAPPLE: function(objectType: GLenum; name: GLuint; option: GLenum): GLenum; stdcall;
  2628. glObjectUnpurgeableAPPLE: function(objectType: GLenum; name: GLuint; option: GLenum): GLenum; stdcall;
  2629. glGetObjectParameterivAPPLE: procedure(objectType: GLenum; name: GLuint; pname: GLenum; params: PGLint); stdcall;
  2630. {$EndIf}
  2631. {$IfDef GL_APPLE_texture_range}
  2632. glTextureRangeAPPLE: procedure(target: GLenum; length: GLsizei; const _pointer: pointer); stdcall;
  2633. glGetTexParameterPointervAPPLE: procedure(target: GLenum; pname: GLenum; params:Ppointer); stdcall;
  2634. {$EndIf}
  2635. {$IfDef GL_APPLE_vertex_array_object}
  2636. glBindVertexArrayAPPLE: procedure(_array: GLuint); stdcall;
  2637. glDeleteVertexArraysAPPLE: procedure(n: GLsizei; const arrays: PGLuint); stdcall;
  2638. glGenVertexArraysAPPLE: procedure(n: GLsizei; arrays: PGLuint); stdcall;
  2639. functionglIsVertexArrayAPPLE: function(_array: GLuint): GLboolean; stdcall;
  2640. {$EndIf}
  2641. {$IfDef GL_APPLE_vertex_array_range}
  2642. glVertexArrayRangeAPPLE: procedure(length: GLsizei; pointer: pointer); stdcall;
  2643. glFlushVertexArrayRangeAPPLE: procedure(length: GLsizei; pointer: pointer); stdcall;
  2644. glVertexArrayParameteriAPPLE: procedure(pname: GLenum; param: GLint); stdcall;
  2645. {$EndIf}
  2646. {$IfDef GL_APPLE_vertex_program_evaluators}
  2647. glEnableVertexAttribAPPLE: procedure(index: GLuint; pname: GLenum); stdcall;
  2648. glDisableVertexAttribAPPLE: procedure(index: GLuint; pname: GLenum); stdcall;
  2649. glIsVertexAttribEnabledAPPLE: function(index: GLuint; pname: GLenum): GLboolean; stdcall;
  2650. glMapVertexAttrib1dAPPLE: procedure(index: GLuint; size: GLuint; u1: GLdouble; u2: GLdouble; stride: GLint; order: GLint; const points: PGLdouble); stdcall;
  2651. glMapVertexAttrib1fAPPLE: procedure(index: GLuint; size: GLuint; u1: GLfloat; u2: GLfloat; stride: GLint; order: GLint; const points: PGLfloat); stdcall;
  2652. 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;
  2653. 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;
  2654. {$EndIf}
  2655. {$IfDef GL_ATI_draw_buffers}
  2656. glDrawBuffersATI: procedure(n: GLsizei; const bufs: PGLenum); stdcall;
  2657. {$EndIf}
  2658. {$IfDef GL_ATI_element_array}
  2659. glElementPointerATI: procedure(_type: GLenum; const _pointer: pointer); stdcall;
  2660. glDrawElementArrayATI: procedure(mode: GLenum; count: GLsizei); stdcall;
  2661. glDrawRangeElementArrayATI: procedure(mode: GLenum; start: GLuint; _end: GLuint; count: GLsizei); stdcall;
  2662. {$EndIf}
  2663. {$IfDef GL_ATI_envmap_bumpmap}
  2664. glTexBumpParameterivATI: procedure(pname: GLenum; const param: PGLint); stdcall;
  2665. glTexBumpParameterfvATI: procedure(pname: GLenum; const param: PGLfloat); stdcall;
  2666. glGetTexBumpParameterivATI: procedure(pname: GLenum; param: PGLint); stdcall;
  2667. glGetTexBumpParameterfvATI: procedure(pname: GLenum; param: PGLfloat); stdcall;
  2668. {$EndIf}
  2669. {$IfDef GL_ATI_fragment_shader}
  2670. glGenFragmentShadersATI: function(range: GLuint): GLuint; stdcall;
  2671. glBindFragmentShaderATI: procedure(id: GLuint); stdcall;
  2672. glDeleteFragmentShaderATI: procedure(id: GLuint); stdcall;
  2673. glBeginFragmentShaderATI: procedure; stdcall;
  2674. glEndFragmentShaderATI: procedure; stdcall;
  2675. glPassTexCoordATI: procedure(dst: GLuint; coord: GLuint; swizzle: GLenum); stdcall;
  2676. glSampleMapATI: procedure(dst: GLuint; interp: GLuint; swizzle: GLenum); stdcall;
  2677. glColorFragmentOp1ATI: procedure(op: GLenum; dst: GLuint; dstMask: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint); stdcall;
  2678. glColorFragmentOp2ATI: procedure(op: GLenum; dst: GLuint; dstMask: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint; arg2: GLuint; arg2Rep: GLuint; arg2Mod: GLuint); stdcall;
  2679. 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;
  2680. glAlphaFragmentOp1ATI: procedure(op: GLenum; dst: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint); stdcall;
  2681. glAlphaFragmentOp2ATI: procedure(op: GLenum; dst: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint; arg2: GLuint; arg2Rep: GLuint; arg2Mod: GLuint); stdcall;
  2682. 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;
  2683. glSetFragmentShaderConstantATI: procedure(dst: GLuint; const value: PGLfloat); stdcall;
  2684. {$EndIf}
  2685. {$IfDef GL_ATI_map_object_buffer}
  2686. glMapObjectBufferATI: function(buffer: GLuint): pointer;
  2687. glUnmapObjectBufferATI: procedure(buffer: GLuint); stdcall;
  2688. {$EndIf}
  2689. {$IfDef GL_ATI_pn_triangles}
  2690. glPNTrianglesiATI: procedure(pname: GLenum; param: GLint); stdcall;
  2691. glPNTrianglesfATI: procedure(pname: GLenum; param: GLfloat); stdcall;
  2692. {$EndIf}
  2693. {$IfDef GL_ATI_separate_stencil}
  2694. glStencilOpSeparateATI: procedure(face: GLenum; sfail: GLenum; dpfail: GLenum; dppass: GLenum); stdcall;
  2695. glStencilFuncSeparateATI: procedure(frontfunc: GLenum; backfunc: GLenum; ref: GLint; mask: GLuint); stdcall;
  2696. {$EndIf}
  2697. {$IfDef GL_ATI_vertex_array_object}
  2698. glNewObjectBufferATI: function(size: GLsizei; const _pointer: pointer; usage: GLenum): GLuint; stdcall;
  2699. glIsObjectBufferATI: function(buffer: GLuint): GLboolean; stdcall;
  2700. glUpdateObjectBufferATI: procedure(buffer: GLuint; offset: GLuint; size: GLsizei; const _pointer: pointer; preserve: GLenum); stdcall;
  2701. glGetObjectBufferfvATI: procedure(buffer: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  2702. glGetObjectBufferivATI: procedure(buffer: GLuint; pname: GLenum; params: PGLint); stdcall;
  2703. glFreeObjectBufferATI: procedure(buffer: GLuint); stdcall;
  2704. glArrayObjectATI: procedure(_array: GLenum; size: GLint; _type: GLenum; stride: GLsizei; buffer: GLuint; offset: GLuint); stdcall;
  2705. glGetArrayObjectfvATI: procedure(_array: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2706. glGetArrayObjectivATI: procedure(_array: GLenum; pname: GLenum; params: PGLint); stdcall;
  2707. glVariantArrayObjectATI: procedure(id: GLuint; _type: GLenum; stride: GLsizei; buffer: GLuint; offset: GLuint); stdcall;
  2708. glGetVariantArrayObjectfvATI: procedure(id: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  2709. glGetVariantArrayObjectivATI: procedure(id: GLuint; pname: GLenum; params: PGLint); stdcall;
  2710. {$EndIf}
  2711. {$IfDef GL_ATI_vertex_attrib_array_object}
  2712. glVertexAttribArrayObjectATI: procedure(index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei; buffer: GLuint; offset: GLuint); stdcall;
  2713. glGetVertexAttribArrayObjectfvATI: procedure(index: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  2714. glGetVertexAttribArrayObjectivATI: procedure(index: GLuint; pname: GLenum; params: PGLint); stdcall;
  2715. {$EndIf}
  2716. {$IfDef GL_ATI_vertex_streams}
  2717. glVertexStream1sATI: procedure(stream: GLenum; x: GLshort); stdcall;
  2718. glVertexStream1svATI: procedure(stream: GLenum; const coords: PGLshort); stdcall;
  2719. glVertexStream1iATI: procedure(stream: GLenum; x: GLint); stdcall;
  2720. glVertexStream1ivATI: procedure(stream: GLenum; const coords: PGLint); stdcall;
  2721. glVertexStream1fATI: procedure(stream: GLenum; x: GLfloat); stdcall;
  2722. glVertexStream1fvATI: procedure(stream: GLenum; const coords: PGLfloat); stdcall;
  2723. glVertexStream1dATI: procedure(stream: GLenum; x: GLdouble); stdcall;
  2724. glVertexStream1dvATI: procedure(stream: GLenum; const coords: PGLdouble); stdcall;
  2725. glVertexStream2sATI: procedure(stream: GLenum; x: GLshort; y: GLshort); stdcall;
  2726. glVertexStream2svATI: procedure(stream: GLenum; const coords: PGLshort); stdcall;
  2727. glVertexStream2iATI: procedure(stream: GLenum; x: GLint; y: GLint); stdcall;
  2728. glVertexStream2ivATI: procedure(stream: GLenum; const coords: PGLint); stdcall;
  2729. glVertexStream2fATI: procedure(stream: GLenum; x: GLfloat; y: GLfloat); stdcall;
  2730. glVertexStream2fvATI: procedure(stream: GLenum; const coords: PGLfloat); stdcall;
  2731. glVertexStream2dATI: procedure(stream: GLenum; x: GLdouble; y: GLdouble); stdcall;
  2732. glVertexStream2dvATI: procedure(stream: GLenum; const coords: PGLdouble); stdcall;
  2733. glVertexStream3sATI: procedure(stream: GLenum; x: GLshort; y: GLshort; z: GLshort); stdcall;
  2734. glVertexStream3svATI: procedure(stream: GLenum; const coords: PGLshort); stdcall;
  2735. glVertexStream3iATI: procedure(stream: GLenum; x: GLint; y: GLint; z: GLint); stdcall;
  2736. glVertexStream3ivATI: procedure(stream: GLenum; const coords: PGLint); stdcall;
  2737. glVertexStream3fATI: procedure(stream: GLenum; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  2738. glVertexStream3fvATI: procedure(stream: GLenum; const coords: PGLfloat); stdcall;
  2739. glVertexStream3dATI: procedure(stream: GLenum; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  2740. glVertexStream3dvATI: procedure(stream: GLenum; const coords: PGLdouble); stdcall;
  2741. glVertexStream4sATI: procedure(stream: GLenum; x: GLshort; y: GLshort; z: GLshort; w: GLshort); stdcall;
  2742. glVertexStream4svATI: procedure(stream: GLenum; const coords: PGLshort); stdcall;
  2743. glVertexStream4iATI: procedure(stream: GLenum; x: GLint; y: GLint; z: GLint; w: GLint); stdcall;
  2744. glVertexStream4ivATI: procedure(stream: GLenum; const coords: PGLint); stdcall;
  2745. glVertexStream4fATI: procedure(stream: GLenum; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  2746. glVertexStream4fvATI: procedure(stream: GLenum; const coords: PGLfloat); stdcall;
  2747. glVertexStream4dATI: procedure(stream: GLenum; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  2748. glVertexStream4dvATI: procedure(stream: GLenum; const coords: PGLdouble); stdcall;
  2749. glNormalStream3bATI: procedure(stream: GLenum; nx: GLbyte; ny: GLbyte; nz: GLbyte); stdcall;
  2750. glNormalStream3bvATI: procedure(stream: GLenum; const coords: PGLbyte); stdcall;
  2751. glNormalStream3sATI: procedure(stream: GLenum; nx: GLshort; ny: GLshort; nz: GLshort); stdcall;
  2752. glNormalStream3svATI: procedure(stream: GLenum; const coords: PGLshort); stdcall;
  2753. glNormalStream3iATI: procedure(stream: GLenum; nx: GLint; ny: GLint; nz: GLint); stdcall;
  2754. glNormalStream3ivATI: procedure(stream: GLenum; const coords: PGLint); stdcall;
  2755. glNormalStream3fATI: procedure(stream: GLenum; nx: GLfloat; ny: GLfloat; nz: GLfloat); stdcall;
  2756. glNormalStream3fvATI: procedure(stream: GLenum; const coords: PGLfloat); stdcall;
  2757. glNormalStream3dATI: procedure(stream: GLenum; nx: GLdouble; ny: GLdouble; nz: GLdouble); stdcall;
  2758. glNormalStream3dvATI: procedure(stream: GLenum; const coords: PGLdouble); stdcall;
  2759. glClientActiveVertexStreamATI: procedure(stream: GLenum); stdcall;
  2760. glVertexBlendEnviATI: procedure(pname: GLenum; param: GLint); stdcall;
  2761. glVertexBlendEnvfATI: procedure(pname: GLenum; param: GLfloat); stdcall;
  2762. {$EndIf}
  2763. {$IfDef GL_EXT_EGL_image_storage}
  2764. glEGLImageTargetTexStorageEXT: procedure(target: GLenum; image: GLeglImageOES; const attrib_list: PGLint); stdcall;
  2765. glEGLImageTargetTextureStorageEXT: procedure(texture: GLuint; image: GLeglImageOES; const attrib_list: PGLint); stdcall;
  2766. {$EndIf}
  2767. {$IfDef GL_EXT_bindable_uniform}
  2768. glUniformBufferEXT: procedure(_program: GLuint; location: GLint; buffer: GLuint); stdcall;
  2769. glGetUniformBufferSizeEXT: function(_program: GLuint; location: GLint): GLint; stdcall;
  2770. glGetUniformOffsetEXT: function(_program: GLuint; location: GLint): GLintptr; stdcall;
  2771. {$EndIf}
  2772. {$IfDef GL_EXT_blend_color}
  2773. glBlendColorEXT: procedure(red: GLfloat; green: GLfloat; blue: GLfloat; alpha: GLfloat); stdcall;
  2774. {$EndIf}
  2775. {$IfDef GL_EXT_blend_equation_separate}
  2776. glBlendEquationSeparateEXT: procedure(modeRGB: GLenum; modeAlpha: GLenum); stdcall;
  2777. {$EndIf}
  2778. (* {$IfDef GL_EXT_blend_func_separate}
  2779. glBlendFuncSeparateEXT: procedure(sfactorRGB: GLenum; dfactorRGB: GLenum; sfactorAlpha: GLenum; dfactorAlpha: GLenum); stdcall;
  2780. {$EndIf}
  2781. {$IfDef GL_EXT_blend_minmax}
  2782. glBlendEquationEXT: procedure(mode: GLenum); stdcall;
  2783. {$EndIf} *)
  2784. {$IfDef GL_EXT_color_subtable}
  2785. glColorSubTableEXT: procedure(target: GLenum; start: GLsizei; count: GLsizei; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  2786. glCopyColorSubTableEXT: procedure(target: GLenum; start: GLsizei; x: GLint; y: GLint; width: GLsizei); stdcall;
  2787. {$EndIf}
  2788. {$IfDef GL_EXT_compiled_vertex_array}
  2789. glLockArraysEXT: procedure(first: GLint; count: GLsizei); stdcall;
  2790. glUnlockArraysEXT: procedure; stdcall;
  2791. {$EndIf}
  2792. {$IfDef GL_EXT_convolution}
  2793. glConvolutionFilter1DEXT: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; const image: pointer); stdcall;
  2794. glConvolutionFilter2DEXT: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const image: pointer); stdcall;
  2795. glConvolutionParameterfEXT: procedure(target: GLenum; pname: GLenum; params: GLfloat); stdcall;
  2796. glConvolutionParameterfvEXT: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  2797. glConvolutionParameteriEXT: procedure(target: GLenum; pname: GLenum; params: GLint); stdcall;
  2798. glConvolutionParameterivEXT: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2799. glCopyConvolutionFilter1DEXT: procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); stdcall;
  2800. glCopyConvolutionFilter2DEXT: procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  2801. glGetConvolutionFilterEXT: procedure(target: GLenum; format: GLenum; _type: GLenum; image: pointer); stdcall;
  2802. glGetConvolutionParameterfvEXT: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2803. glGetConvolutionParameterivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2804. glGetSeparableFilterEXT: procedure(target: GLenum; format: GLenum; _type: GLenum; row: pointer; column: pointer; span: pointer); stdcall;
  2805. glSeparableFilter2DEXT: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const row: pointer; const column: pointer); stdcall;
  2806. {$EndIf}
  2807. {$IfDef GL_EXT_coordinate_frame}
  2808. glTangent3bEXT: procedure(tx: GLbyte; ty: GLbyte; tz: GLbyte); stdcall;
  2809. glTangent3bvEXT: procedure(const v: PGLbyte); stdcall;
  2810. glTangent3dEXT: procedure(tx: GLdouble; ty: GLdouble; tz: GLdouble); stdcall;
  2811. glTangent3dvEXT: procedure(const v: PGLdouble); stdcall;
  2812. glTangent3fEXT: procedure(tx: GLfloat; ty: GLfloat; tz: GLfloat); stdcall;
  2813. glTangent3fvEXT: procedure(const v: PGLfloat); stdcall;
  2814. glTangent3iEXT: procedure(tx: GLint; ty: GLint; tz: GLint); stdcall;
  2815. glTangent3ivEXT: procedure(const v: PGLint); stdcall;
  2816. glTangent3sEXT: procedure(tx: GLshort; ty: GLshort; tz: GLshort); stdcall;
  2817. glTangent3svEXT: procedure(const v: PGLshort); stdcall;
  2818. glBinormal3bEXT: procedure(bx: GLbyte; by: GLbyte; bz: GLbyte); stdcall;
  2819. glBinormal3bvEXT: procedure(const v: PGLbyte); stdcall;
  2820. glBinormal3dEXT: procedure(bx: GLdouble; by: GLdouble; bz: GLdouble); stdcall;
  2821. glBinormal3dvEXT: procedure(const v: PGLdouble); stdcall;
  2822. glBinormal3fEXT: procedure(bx: GLfloat; by: GLfloat; bz: GLfloat); stdcall;
  2823. glBinormal3fvEXT: procedure(const v: PGLfloat); stdcall;
  2824. glBinormal3iEXT: procedure(bx: GLint; by: GLint; bz: GLint); stdcall;
  2825. glBinormal3ivEXT: procedure(const v: PGLint); stdcall;
  2826. glBinormal3sEXT: procedure(bx: GLshort; by: GLshort; bz: GLshort); stdcall;
  2827. glBinormal3svEXT: procedure(const v: PGLshort); stdcall;
  2828. glTangentPointerEXT: procedure(_type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  2829. glBinormalPointerEXT: procedure(_type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  2830. {$EndIf}
  2831. {$IfDef GL_EXT_copy_texture}
  2832. glCopyTexImage1DEXT: procedure(target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; border: GLint); stdcall;
  2833. glCopyTexImage2DEXT: procedure(target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei; border: GLint); stdcall;
  2834. glCopyTexSubImage1DEXT: procedure(target: GLenum; level: GLint; xoffset: GLint; x: GLint; y: GLint; width: GLsizei); stdcall;
  2835. glCopyTexSubImage2DEXT: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  2836. glCopyTexSubImage3DEXT: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  2837. {$EndIf}
  2838. {$IfDef GL_EXT_cull_vertex}
  2839. glCullParameterdvEXT: procedure(pname: GLenum; params: PGLdouble); stdcall;
  2840. glCullParameterfvEXT: procedure(pname: GLenum; params: PGLfloat); stdcall;
  2841. {$EndIf}
  2842. {$IfDef GL_EXT_debug_label}
  2843. glLabelObjectEXT: procedure(_type: GLenum; _object: GLuint; length: GLsizei; const _label: PGLchar); stdcall;
  2844. glGetObjectLabelEXT: procedure(_type: GLenum; _object: GLuint; bufSize: GLsizei; length: PGLsizei; _label: PGLchar); stdcall;
  2845. {$EndIf}
  2846. {$IfDef GL_EXT_debug_marker}
  2847. glInsertEventMarkerEXT: procedure(length: GLsizei; const marker: PGLchar); stdcall;
  2848. glPushGroupMarkerEXT: procedure(length: GLsizei; const marker: PGLchar); stdcall;
  2849. glPopGroupMarkerEXT: procedure; stdcall;
  2850. {$EndIf}
  2851. {$IfDef GL_EXT_depth_bounds_test}
  2852. glDepthBoundsEXT: procedure(zmin: GLclampd; zmax: GLclampd); stdcall;
  2853. {$EndIf}
  2854. {$IfDef GL_EXT_direct_state_access}
  2855. glMatrixLoadfEXT: procedure(mode: GLenum; const m: PGLfloat); stdcall;
  2856. glMatrixLoaddEXT: procedure(mode: GLenum; const m: PGLdouble); stdcall;
  2857. glMatrixMultfEXT: procedure(mode: GLenum; const m: PGLfloat); stdcall;
  2858. glMatrixMultdEXT: procedure(mode: GLenum; const m: PGLdouble); stdcall;
  2859. glMatrixLoadIdentityEXT: procedure(mode: GLenum); stdcall;
  2860. glMatrixRotatefEXT: procedure(mode: GLenum; angle: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  2861. glMatrixRotatedEXT: procedure(mode: GLenum; angle: GLdouble; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  2862. glMatrixScalefEXT: procedure(mode: GLenum; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  2863. glMatrixScaledEXT: procedure(mode: GLenum; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  2864. glMatrixTranslatefEXT: procedure(mode: GLenum; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  2865. glMatrixTranslatedEXT: procedure(mode: GLenum; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  2866. glMatrixFrustumEXT: procedure(mode: GLenum; left: GLdouble; right: GLdouble; bottom: GLdouble; top: GLdouble; zNear: GLdouble; zFar: GLdouble); stdcall;
  2867. glMatrixOrthoEXT: procedure(mode: GLenum; left: GLdouble; right: GLdouble; bottom: GLdouble; top: GLdouble; zNear: GLdouble; zFar: GLdouble); stdcall;
  2868. glMatrixPopEXT: procedure(mode: GLenum); stdcall;
  2869. glMatrixPushEXT: procedure(mode: GLenum); stdcall;
  2870. glClientAttribDefaultEXT: procedure(mask: GLbitfield); stdcall;
  2871. glPushClientAttribDefaultEXT: procedure(mask: GLbitfield); stdcall;
  2872. glTextureParameterfEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; param: GLfloat); stdcall;
  2873. glTextureParameterfvEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  2874. glTextureParameteriEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; param: GLint); stdcall;
  2875. glTextureParameterivEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2876. glTextureImage1DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2877. glTextureImage2DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; height: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2878. glTextureSubImage1DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2879. glTextureSubImage2DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2880. glCopyTextureImage1DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; border: GLint); stdcall;
  2881. glCopyTextureImage2DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei; border: GLint); stdcall;
  2882. glCopyTextureSubImage1DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; x: GLint; y: GLint; width: GLsizei); stdcall;
  2883. glCopyTextureSubImage2DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  2884. glGetTextureImageEXT: procedure(texture: GLuint; target: GLenum; level: GLint; format: GLenum; _type: GLenum; pixels: pointer); stdcall;
  2885. glGetTextureParameterfvEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2886. glGetTextureParameterivEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2887. glGetTextureLevelParameterfvEXT: procedure(texture: GLuint; target: GLenum; level: GLint; pname: GLenum; params: PGLfloat); stdcall;
  2888. glGetTextureLevelParameterivEXT: procedure(texture: GLuint; target: GLenum; level: GLint; pname: GLenum; params: PGLint); stdcall;
  2889. 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;
  2890. 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;
  2891. glCopyTextureSubImage3DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  2892. glBindMultiTextureEXT: procedure(texunit: GLenum; target: GLenum; texture: GLuint); stdcall;
  2893. glMultiTexCoordPointerEXT: procedure(texunit: GLenum; size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  2894. glMultiTexEnvfEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLfloat); stdcall;
  2895. glMultiTexEnvfvEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  2896. glMultiTexEnviEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLint); stdcall;
  2897. glMultiTexEnvivEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2898. glMultiTexGendEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; param: GLdouble); stdcall;
  2899. glMultiTexGendvEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; const params: PGLdouble); stdcall;
  2900. glMultiTexGenfEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; param: GLfloat); stdcall;
  2901. glMultiTexGenfvEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  2902. glMultiTexGeniEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; param: GLint); stdcall;
  2903. glMultiTexGenivEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2904. glGetMultiTexEnvfvEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2905. glGetMultiTexEnvivEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2906. glGetMultiTexGendvEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; params: PGLdouble); stdcall;
  2907. glGetMultiTexGenfvEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2908. glGetMultiTexGenivEXT: procedure(texunit: GLenum; coord: GLenum; pname: GLenum; params: PGLint); stdcall;
  2909. glMultiTexParameteriEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLint); stdcall;
  2910. glMultiTexParameterivEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2911. glMultiTexParameterfEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLfloat); stdcall;
  2912. glMultiTexParameterfvEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  2913. glMultiTexImage1DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2914. glMultiTexImage2DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; height: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2915. glMultiTexSubImage1DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2916. glMultiTexSubImage2DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  2917. glCopyMultiTexImage1DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; border: GLint); stdcall;
  2918. glCopyMultiTexImage2DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei; border: GLint); stdcall;
  2919. glCopyMultiTexSubImage1DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; x: GLint; y: GLint; width: GLsizei); stdcall;
  2920. glCopyMultiTexSubImage2DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  2921. glGetMultiTexImageEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; format: GLenum; _type: GLenum; pixels: pointer); stdcall;
  2922. glGetMultiTexParameterfvEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  2923. glGetMultiTexParameterivEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2924. glGetMultiTexLevelParameterfvEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; pname: GLenum; params: PGLfloat); stdcall;
  2925. glGetMultiTexLevelParameterivEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; pname: GLenum; params: PGLint); stdcall;
  2926. 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;
  2927. 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;
  2928. glCopyMultiTexSubImage3DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  2929. glEnableClientStateIndexedEXT: procedure(_array: GLenum; index: GLuint); stdcall;
  2930. glDisableClientStateIndexedEXT: procedure(_array: GLenum; index: GLuint); stdcall;
  2931. glGetFloatIndexedvEXT: procedure(target: GLenum; index: GLuint; data: PGLfloat); stdcall;
  2932. glGetDoubleIndexedvEXT: procedure(target: GLenum; index: GLuint; data: PGLdouble); stdcall;
  2933. glGetPointerIndexedvEXT: procedure(target: GLenum; index: GLuint; data:Ppointer); stdcall;
  2934. glEnableIndexedEXT: procedure(target: GLenum; index: GLuint); stdcall;
  2935. glDisableIndexedEXT: procedure(target: GLenum; index: GLuint); stdcall;
  2936. glIsEnabledIndexedEXT: function(target: GLenum; index: GLuint): GLboolean; stdcall;
  2937. glGetIntegerIndexedvEXT: procedure(target: GLenum; index: GLuint; data: PGLint); stdcall;
  2938. glGetBooleanIndexedvEXT: procedure(target: GLenum; index: GLuint; data: PGLboolean); stdcall;
  2939. glCompressedTextureImage3DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; imageSize: GLsizei; const bits: pointer); stdcall;
  2940. glCompressedTextureImage2DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; imageSize: GLsizei; const bits: pointer); stdcall;
  2941. glCompressedTextureImage1DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei; const bits: pointer); stdcall;
  2942. 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;
  2943. glCompressedTextureSubImage2DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const bits: pointer); stdcall;
  2944. glCompressedTextureSubImage1DEXT: procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const bits: pointer); stdcall;
  2945. glGetCompressedTextureImageEXT: procedure(texture: GLuint; target: GLenum; lod: GLint; img: pointer); stdcall;
  2946. glCompressedMultiTexImage3DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; imageSize: GLsizei; const bits: pointer); stdcall;
  2947. glCompressedMultiTexImage2DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; imageSize: GLsizei; const bits: pointer); stdcall;
  2948. glCompressedMultiTexImage1DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei; const bits: pointer); stdcall;
  2949. 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;
  2950. glCompressedMultiTexSubImage2DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const bits: pointer); stdcall;
  2951. glCompressedMultiTexSubImage1DEXT: procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const bits: pointer); stdcall;
  2952. glGetCompressedMultiTexImageEXT: procedure(texunit: GLenum; target: GLenum; lod: GLint; img: pointer); stdcall;
  2953. glMatrixLoadTransposefEXT: procedure(mode: GLenum; const m: PGLfloat); stdcall;
  2954. glMatrixLoadTransposedEXT: procedure(mode: GLenum; const m: PGLdouble); stdcall;
  2955. glMatrixMultTransposefEXT: procedure(mode: GLenum; const m: PGLfloat); stdcall;
  2956. glMatrixMultTransposedEXT: procedure(mode: GLenum; const m: PGLdouble); stdcall;
  2957. glNamedBufferDataEXT: procedure(buffer: GLuint; size: GLsizeiptr; const data: pointer; usage: GLenum); stdcall;
  2958. glNamedBufferSubDataEXT: procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; const data: pointer); stdcall;
  2959. glMapNamedBufferEXT: function(buffer: GLuint; access: GLenum): pointer; stdcall;
  2960. glUnmapNamedBufferEXT: function(buffer: GLuint): GLboolean; stdcall;
  2961. glGetNamedBufferParameterivEXT: procedure(buffer: GLuint; pname: GLenum; params: PGLint); stdcall;
  2962. glGetNamedBufferPointervEXT: procedure(buffer: GLuint; pname: GLenum; params:Ppointer); stdcall;
  2963. glGetNamedBufferSubDataEXT: procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; data: pointer); stdcall;
  2964. glProgramUniform1fEXT: procedure(_program: GLuint; location: GLint; v0: GLfloat); stdcall;
  2965. glProgramUniform2fEXT: procedure(_program: GLuint; location: GLint; v0: GLfloat; v1: GLfloat); stdcall;
  2966. glProgramUniform3fEXT: procedure(_program: GLuint; location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat); stdcall;
  2967. glProgramUniform4fEXT: procedure(_program: GLuint; location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat; v3: GLfloat); stdcall;
  2968. glProgramUniform1iEXT: procedure(_program: GLuint; location: GLint; v0: GLint); stdcall;
  2969. glProgramUniform2iEXT: procedure(_program: GLuint; location: GLint; v0: GLint; v1: GLint); stdcall;
  2970. glProgramUniform3iEXT: procedure(_program: GLuint; location: GLint; v0: GLint; v1: GLint; v2: GLint); stdcall;
  2971. glProgramUniform4iEXT: procedure(_program: GLuint; location: GLint; v0: GLint; v1: GLint; v2: GLint; v3: GLint); stdcall;
  2972. glProgramUniform1fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  2973. glProgramUniform2fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  2974. glProgramUniform3fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  2975. glProgramUniform4fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); stdcall;
  2976. glProgramUniform1ivEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint); stdcall;
  2977. glProgramUniform2ivEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint); stdcall;
  2978. glProgramUniform3ivEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint); stdcall;
  2979. glProgramUniform4ivEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLint); stdcall;
  2980. glProgramUniformMatrix2fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2981. glProgramUniformMatrix3fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2982. glProgramUniformMatrix4fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2983. glProgramUniformMatrix2x3fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2984. glProgramUniformMatrix3x2fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2985. glProgramUniformMatrix2x4fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2986. glProgramUniformMatrix4x2fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2987. glProgramUniformMatrix3x4fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2988. glProgramUniformMatrix4x3fvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); stdcall;
  2989. glTextureBufferEXT: procedure(texture: GLuint; target: GLenum; internalformat: GLenum; buffer: GLuint); stdcall;
  2990. glMultiTexBufferEXT: procedure(texunit: GLenum; target: GLenum; internalformat: GLenum; buffer: GLuint); stdcall;
  2991. glTextureParameterIivEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2992. glTextureParameterIuivEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; const params: PGLuint); stdcall;
  2993. glGetTextureParameterIivEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2994. glGetTextureParameterIuivEXT: procedure(texture: GLuint; target: GLenum; pname: GLenum; params: PGLuint); stdcall;
  2995. glMultiTexParameterIivEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  2996. glMultiTexParameterIuivEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLuint); stdcall;
  2997. glGetMultiTexParameterIivEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLint); stdcall;
  2998. glGetMultiTexParameterIuivEXT: procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLuint); stdcall;
  2999. glProgramUniform1uiEXT: procedure(_program: GLuint; location: GLint; v0: GLuint); stdcall;
  3000. glProgramUniform2uiEXT: procedure(_program: GLuint; location: GLint; v0: GLuint; v1: GLuint); stdcall;
  3001. glProgramUniform3uiEXT: procedure(_program: GLuint; location: GLint; v0: GLuint; v1: GLuint; v2: GLuint); stdcall;
  3002. glProgramUniform4uiEXT: procedure(_program: GLuint; location: GLint; v0: GLuint; v1: GLuint; v2: GLuint; v3: GLuint); stdcall;
  3003. glProgramUniform1uivEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  3004. glProgramUniform2uivEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  3005. glProgramUniform3uivEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  3006. glProgramUniform4uivEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  3007. glNamedProgramLocalParameters4fvEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; count: GLsizei; const params: PGLfloat); stdcall;
  3008. glNamedProgramLocalParameterI4iEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); stdcall;
  3009. glNamedProgramLocalParameterI4ivEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; const params: PGLint); stdcall;
  3010. glNamedProgramLocalParametersI4ivEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; count: GLsizei; const params: PGLint); stdcall;
  3011. glNamedProgramLocalParameterI4uiEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); stdcall;
  3012. glNamedProgramLocalParameterI4uivEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; const params: PGLuint); stdcall;
  3013. glNamedProgramLocalParametersI4uivEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; count: GLsizei; const params: PGLuint); stdcall;
  3014. glGetNamedProgramLocalParameterIivEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; params: PGLint); stdcall;
  3015. glGetNamedProgramLocalParameterIuivEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; params: PGLuint); stdcall;
  3016. glEnableClientStateiEXT: procedure(_array: GLenum; index: GLuint); stdcall;
  3017. glDisableClientStateiEXT: procedure(_array: GLenum; index: GLuint); stdcall;
  3018. glGetFloati_vEXT: procedure(pname: GLenum; index: GLuint; params: PGLfloat); stdcall;
  3019. glGetDoublei_vEXT: procedure(pname: GLenum; index: GLuint; params: PGLdouble); stdcall;
  3020. glGetPointeri_vEXT: procedure(pname: GLenum; index: GLuint; params:Ppointer); stdcall;
  3021. glNamedProgramStringEXT: procedure(_program: GLuint; target: GLenum; format: GLenum; len: GLsizei; const _string: pointer); stdcall;
  3022. glNamedProgramLocalParameter4dEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  3023. glNamedProgramLocalParameter4dvEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; const params: PGLdouble); stdcall;
  3024. glNamedProgramLocalParameter4fEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  3025. glNamedProgramLocalParameter4fvEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; const params: PGLfloat); stdcall;
  3026. glGetNamedProgramLocalParameterdvEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; params: PGLdouble); stdcall;
  3027. glGetNamedProgramLocalParameterfvEXT: procedure(_program: GLuint; target: GLenum; index: GLuint; params: PGLfloat); stdcall;
  3028. glGetNamedProgramivEXT: procedure(_program: GLuint; target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3029. glGetNamedProgramStringEXT: procedure(_program: GLuint; target: GLenum; pname: GLenum; _string: pointer); stdcall;
  3030. glNamedRenderbufferStorageEXT: procedure(renderbuffer: GLuint; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  3031. glGetNamedRenderbufferParameterivEXT: procedure(renderbuffer: GLuint; pname: GLenum; params: PGLint); stdcall;
  3032. glNamedRenderbufferStorageMultisampleEXT: procedure(renderbuffer: GLuint; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  3033. glNamedRenderbufferStorageMultisampleCoverageEXT: procedure(renderbuffer: GLuint; coverageSamples: GLsizei; colorSamples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  3034. glCheckNamedFramebufferStatusEXT: function(framebuffer: GLuint; target: GLenum): GLenum; stdcall;
  3035. glNamedFramebufferTexture1DEXT: procedure(framebuffer: GLuint; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); stdcall;
  3036. glNamedFramebufferTexture2DEXT: procedure(framebuffer: GLuint; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); stdcall;
  3037. glNamedFramebufferTexture3DEXT: procedure(framebuffer: GLuint; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint; zoffset: GLint); stdcall;
  3038. glNamedFramebufferRenderbufferEXT: procedure(framebuffer: GLuint; attachment: GLenum; renderbuffertarget: GLenum; renderbuffer: GLuint); stdcall;
  3039. glGetNamedFramebufferAttachmentParameterivEXT: procedure(framebuffer: GLuint; attachment: GLenum; pname: GLenum; params: PGLint); stdcall;
  3040. glGenerateTextureMipmapEXT: procedure(texture: GLuint; target: GLenum); stdcall;
  3041. glGenerateMultiTexMipmapEXT: procedure(texunit: GLenum; target: GLenum); stdcall;
  3042. glFramebufferDrawBufferEXT: procedure(framebuffer: GLuint; mode: GLenum); stdcall;
  3043. glFramebufferDrawBuffersEXT: procedure(framebuffer: GLuint; n: GLsizei; const bufs: PGLenum); stdcall;
  3044. glFramebufferReadBufferEXT: procedure(framebuffer: GLuint; mode: GLenum); stdcall;
  3045. glGetFramebufferParameterivEXT: procedure(framebuffer: GLuint; pname: GLenum; params: PGLint); stdcall;
  3046. glNamedCopyBufferSubDataEXT: procedure(readBuffer: GLuint; writeBuffer: GLuint; readOffset: GLintptr; writeOffset: GLintptr; size: GLsizeiptr); stdcall;
  3047. glNamedFramebufferTextureEXT: procedure(framebuffer: GLuint; attachment: GLenum; texture: GLuint; level: GLint); stdcall;
  3048. glNamedFramebufferTextureLayerEXT: procedure(framebuffer: GLuint; attachment: GLenum; texture: GLuint; level: GLint; layer: GLint); stdcall;
  3049. glNamedFramebufferTextureFaceEXT: procedure(framebuffer: GLuint; attachment: GLenum; texture: GLuint; level: GLint; face: GLenum); stdcall;
  3050. glTextureRenderbufferEXT: procedure(texture: GLuint; target: GLenum; renderbuffer: GLuint); stdcall;
  3051. glMultiTexRenderbufferEXT: procedure(texunit: GLenum; target: GLenum; renderbuffer: GLuint); stdcall;
  3052. glVertexArrayVertexOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; size: GLint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3053. glVertexArrayColorOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; size: GLint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3054. glVertexArrayEdgeFlagOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; stride: GLsizei; offset: GLintptr); stdcall;
  3055. glVertexArrayIndexOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3056. glVertexArrayNormalOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3057. glVertexArrayTexCoordOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; size: GLint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3058. glVertexArrayMultiTexCoordOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; texunit: GLenum; size: GLint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3059. glVertexArrayFogCoordOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3060. glVertexArraySecondaryColorOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; size: GLint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3061. glVertexArrayVertexAttribOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei; offset: GLintptr); stdcall;
  3062. glVertexArrayVertexAttribIOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; index: GLuint; size: GLint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3063. glEnableVertexArrayEXT: procedure(vaobj: GLuint; _array: GLenum); stdcall;
  3064. glDisableVertexArrayEXT: procedure(vaobj: GLuint; _array: GLenum); stdcall;
  3065. glEnableVertexArrayAttribEXT: procedure(vaobj: GLuint; index: GLuint); stdcall;
  3066. glDisableVertexArrayAttribEXT: procedure(vaobj: GLuint; index: GLuint); stdcall;
  3067. glGetVertexArrayIntegervEXT: procedure(vaobj: GLuint; pname: GLenum; param: PGLint); stdcall;
  3068. glGetVertexArrayPointervEXT: procedure(vaobj: GLuint; pname: GLenum; param:Ppointer); stdcall;
  3069. glGetVertexArrayIntegeri_vEXT: procedure(vaobj: GLuint; index: GLuint; pname: GLenum; param: PGLint); stdcall;
  3070. glGetVertexArrayPointeri_vEXT: procedure(vaobj: GLuint; index: GLuint; pname: GLenum; param:Ppointer); stdcall;
  3071. glMapNamedBufferRangeEXT: function(buffer: GLuint; offset: GLintptr; length: GLsizeiptr; access: GLbitfield): pointer; stdcall;
  3072. glFlushMappedNamedBufferRangeEXT: procedure(buffer: GLuint; offset: GLintptr; length: GLsizeiptr); stdcall;
  3073. glNamedBufferStorageEXT: procedure(buffer: GLuint; size: GLsizeiptr; const data: pointer; flags: GLbitfield); stdcall;
  3074. glClearNamedBufferDataEXT: procedure(buffer: GLuint; internalformat: GLenum; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  3075. glClearNamedBufferSubDataEXT: procedure(buffer: GLuint; internalformat: GLenum; offset: GLsizeiptr; size: GLsizeiptr; format: GLenum; _type: GLenum; const data: pointer); stdcall;
  3076. glNamedFramebufferParameteriEXT: procedure(framebuffer: GLuint; pname: GLenum; param: GLint); stdcall;
  3077. glGetNamedFramebufferParameterivEXT: procedure(framebuffer: GLuint; pname: GLenum; params: PGLint); stdcall;
  3078. glProgramUniform1dEXT: procedure(_program: GLuint; location: GLint; x: GLdouble); stdcall;
  3079. glProgramUniform2dEXT: procedure(_program: GLuint; location: GLint; x: GLdouble; y: GLdouble); stdcall;
  3080. glProgramUniform3dEXT: procedure(_program: GLuint; location: GLint; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  3081. glProgramUniform4dEXT: procedure(_program: GLuint; location: GLint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  3082. glProgramUniform1dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  3083. glProgramUniform2dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  3084. glProgramUniform3dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  3085. glProgramUniform4dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); stdcall;
  3086. glProgramUniformMatrix2dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3087. glProgramUniformMatrix3dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3088. glProgramUniformMatrix4dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3089. glProgramUniformMatrix2x3dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3090. glProgramUniformMatrix2x4dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3091. glProgramUniformMatrix3x2dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3092. glProgramUniformMatrix3x4dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3093. glProgramUniformMatrix4x2dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3094. glProgramUniformMatrix4x3dvEXT: procedure(_program: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); stdcall;
  3095. glTextureBufferRangeEXT: procedure(texture: GLuint; target: GLenum; internalformat: GLenum; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); stdcall;
  3096. glTextureStorage1DEXT: procedure(texture: GLuint; target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei); stdcall;
  3097. glTextureStorage2DEXT: procedure(texture: GLuint; target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  3098. glTextureStorage3DEXT: procedure(texture: GLuint; target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei); stdcall;
  3099. glTextureStorage2DMultisampleEXT: procedure(texture: GLuint; target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; fixedsamplelocations: GLboolean); stdcall;
  3100. glTextureStorage3DMultisampleEXT: procedure(texture: GLuint; target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; fixedsamplelocations: GLboolean); stdcall;
  3101. glVertexArrayBindVertexBufferEXT: procedure(vaobj: GLuint; bindingindex: GLuint; buffer: GLuint; offset: GLintptr; stride: GLsizei); stdcall;
  3102. glVertexArrayVertexAttribFormatEXT: procedure(vaobj: GLuint; attribindex: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; relativeoffset: GLuint); stdcall;
  3103. glVertexArrayVertexAttribIFormatEXT: procedure(vaobj: GLuint; attribindex: GLuint; size: GLint; _type: GLenum; relativeoffset: GLuint); stdcall;
  3104. glVertexArrayVertexAttribLFormatEXT: procedure(vaobj: GLuint; attribindex: GLuint; size: GLint; _type: GLenum; relativeoffset: GLuint); stdcall;
  3105. glVertexArrayVertexAttribBindingEXT: procedure(vaobj: GLuint; attribindex: GLuint; bindingindex: GLuint); stdcall;
  3106. glVertexArrayVertexBindingDivisorEXT: procedure(vaobj: GLuint; bindingindex: GLuint; divisor: GLuint); stdcall;
  3107. glVertexArrayVertexAttribLOffsetEXT: procedure(vaobj: GLuint; buffer: GLuint; index: GLuint; size: GLint; _type: GLenum; stride: GLsizei; offset: GLintptr); stdcall;
  3108. glTexturePageCommitmentEXT: procedure(texture: GLuint; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; commit: GLboolean); stdcall;
  3109. glVertexArrayVertexAttribDivisorEXT: procedure(vaobj: GLuint; index: GLuint; divisor: GLuint); stdcall;
  3110. {$EndIf}
  3111. {$IfDef GL_EXT_draw_buffers2}
  3112. glColorMaskIndexedEXT: procedure(index: GLuint; r: GLboolean; g: GLboolean; b: GLboolean; a: GLboolean); stdcall;
  3113. {$EndIf}
  3114. {$IfDef GL_EXT_draw_instanced}
  3115. glDrawArraysInstancedEXT: procedure(mode: GLenum; start: GLint; count: GLsizei; primcount: GLsizei); stdcall;
  3116. glDrawElementsInstancedEXT: procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: pointer; primcount: GLsizei); stdcall;
  3117. {$EndIf}
  3118. {$IfDef GL_EXT_draw_range_elements}
  3119. glDrawRangeElementsEXT: procedure(mode: GLenum; start: GLuint; _end: GLuint; count: GLsizei; _type: GLenum; const indices: pointer); stdcall;
  3120. {$EndIf}
  3121. {$IfDef GL_EXT_external_buffer}
  3122. glBufferStorageExternalEXT: procedure(target: GLenum; offset: GLintptr; size: GLsizeiptr; clientBuffer: GLeglClientBufferEXT; flags: GLbitfield); stdcall;
  3123. glNamedBufferStorageExternalEXT: procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; clientBuffer: GLeglClientBufferEXT; flags: GLbitfield); stdcall;
  3124. {$EndIf}
  3125. {$IfDef GL_EXT_fog_coord}
  3126. glFogCoordfEXT: procedure(coord: GLfloat); stdcall;
  3127. glFogCoordfvEXT: procedure(const coord: PGLfloat); stdcall;
  3128. glFogCoorddEXT: procedure(coord: GLdouble); stdcall;
  3129. glFogCoorddvEXT: procedure(const coord: PGLdouble); stdcall;
  3130. glFogCoordPointerEXT: procedure(_type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  3131. {$EndIf}
  3132. {$IfDef GL_EXT_framebuffer_blit}
  3133. glBlitFramebufferEXT: procedure(srcX0: GLint; srcY0: GLint; srcX1: GLint; srcY1: GLint; dstX0: GLint; dstY0: GLint; dstX1: GLint; dstY1: GLint; mask: GLbitfield; filter: GLenum); stdcall;
  3134. {$EndIf}
  3135. {$IfDef GL_EXT_framebuffer_multisample}
  3136. glRenderbufferStorageMultisampleEXT: procedure(target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  3137. {$EndIf}
  3138. {$IfDef GL_EXT_framebuffer_object}
  3139. // glIsRenderbufferEXT: function(renderbuffer: GLuint): GLboolean; stdcall;
  3140. // glBindRenderbufferEXT: procedure(target: GLenum; renderbuffer: GLuint); stdcall;
  3141. // glDeleteRenderbuffersEXT: procedure(n: GLsizei; const renderbuffers: PGLuint); stdcall;
  3142. // glGenRenderbuffersEXT: procedure(n: GLsizei; renderbuffers: PGLuint); stdcall;
  3143. // glRenderbufferStorageEXT: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  3144. glGetRenderbufferParameterivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3145. // glIsFramebufferEXT: function(framebuffer: GLuint): GLboolean; stdcall;
  3146. // glBindFramebufferEXT: procedure(target: GLenum; framebuffer: GLuint); stdcall;
  3147. // glDeleteFramebuffersEXT: procedure(n: GLsizei; const framebuffers: PGLuint); stdcall;
  3148. // glGenFramebuffersEXT: procedure(n: GLsizei; framebuffers: PGLuint); stdcall;
  3149. // glCheckFramebufferStatusEXT: function(target: GLenum): GLenum; stdcall;
  3150. glFramebufferTexture1DEXT: procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); stdcall;
  3151. // glFramebufferTexture2DEXT: procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); stdcall;
  3152. glFramebufferTexture3DEXT: procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint; zoffset: GLint); stdcall;
  3153. // glFramebufferRenderbufferEXT: procedure(target: GLenum; attachment: GLenum; renderbuffertarget: GLenum; renderbuffer: GLuint); stdcall;
  3154. glGetFramebufferAttachmentParameterivEXT: procedure(target: GLenum; attachment: GLenum; pname: GLenum; params: PGLint); stdcall;
  3155. glGenerateMipmapEXT: procedure(target: GLenum); stdcall;
  3156. {$EndIf}
  3157. {$IfDef GL_EXT_geometry_shader4}
  3158. glProgramParameteriEXT: procedure(_program: GLuint; pname: GLenum; value: GLint); stdcall;
  3159. {$EndIf}
  3160. {$IfDef GL_EXT_gpu_program_parameters}
  3161. glProgramEnvParameters4fvEXT: procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLfloat); stdcall;
  3162. glProgramLocalParameters4fvEXT: procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLfloat); stdcall;
  3163. {$EndIf}
  3164. {$IfDef GL_EXT_gpu_shader4}
  3165. glGetUniformuivEXT: procedure(_program: GLuint; location: GLint; params: PGLuint); stdcall;
  3166. glBindFragDataLocationEXT: procedure(_program: GLuint; color: GLuint; const name: PGLchar); stdcall;
  3167. glGetFragDataLocationEXT: function(_program: GLuint; const name: PGLchar): GLint; stdcall;
  3168. glUniform1uiEXT: procedure(location: GLint; v0: GLuint); stdcall;
  3169. glUniform2uiEXT: procedure(location: GLint; v0: GLuint; v1: GLuint); stdcall;
  3170. glUniform3uiEXT: procedure(location: GLint; v0: GLuint; v1: GLuint; v2: GLuint); stdcall;
  3171. glUniform4uiEXT: procedure(location: GLint; v0: GLuint; v1: GLuint; v2: GLuint; v3: GLuint); stdcall;
  3172. glUniform1uivEXT: procedure(location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  3173. glUniform2uivEXT: procedure(location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  3174. glUniform3uivEXT: procedure(location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  3175. glUniform4uivEXT: procedure(location: GLint; count: GLsizei; const value: PGLuint); stdcall;
  3176. glVertexAttribI1iEXT: procedure(index: GLuint; x: GLint); stdcall;
  3177. glVertexAttribI2iEXT: procedure(index: GLuint; x: GLint; y: GLint); stdcall;
  3178. glVertexAttribI3iEXT: procedure(index: GLuint; x: GLint; y: GLint; z: GLint); stdcall;
  3179. glVertexAttribI4iEXT: procedure(index: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); stdcall;
  3180. glVertexAttribI1uiEXT: procedure(index: GLuint; x: GLuint); stdcall;
  3181. glVertexAttribI2uiEXT: procedure(index: GLuint; x: GLuint; y: GLuint); stdcall;
  3182. glVertexAttribI3uiEXT: procedure(index: GLuint; x: GLuint; y: GLuint; z: GLuint); stdcall;
  3183. glVertexAttribI4uiEXT: procedure(index: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); stdcall;
  3184. glVertexAttribI1ivEXT: procedure(index: GLuint; const v: PGLint); stdcall;
  3185. glVertexAttribI2ivEXT: procedure(index: GLuint; const v: PGLint); stdcall;
  3186. glVertexAttribI3ivEXT: procedure(index: GLuint; const v: PGLint); stdcall;
  3187. glVertexAttribI4ivEXT: procedure(index: GLuint; const v: PGLint); stdcall;
  3188. glVertexAttribI1uivEXT: procedure(index: GLuint; const v: PGLuint); stdcall;
  3189. glVertexAttribI2uivEXT: procedure(index: GLuint; const v: PGLuint); stdcall;
  3190. glVertexAttribI3uivEXT: procedure(index: GLuint; const v: PGLuint); stdcall;
  3191. glVertexAttribI4uivEXT: procedure(index: GLuint; const v: PGLuint); stdcall;
  3192. glVertexAttribI4bvEXT: procedure(index: GLuint; const v: PGLbyte); stdcall;
  3193. glVertexAttribI4svEXT: procedure(index: GLuint; const v: PGLshort); stdcall;
  3194. glVertexAttribI4ubvEXT: procedure(index: GLuint; const v: PGLubyte); stdcall;
  3195. glVertexAttribI4usvEXT: procedure(index: GLuint; const v: PGLushort); stdcall;
  3196. glVertexAttribIPointerEXT: procedure(index: GLuint; size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  3197. glGetVertexAttribIivEXT: procedure(index: GLuint; pname: GLenum; params: PGLint); stdcall;
  3198. glGetVertexAttribIuivEXT: procedure(index: GLuint; pname: GLenum; params: PGLuint); stdcall;
  3199. {$EndIf}
  3200. {$IfDef GL_EXT_histogram}
  3201. glGetHistogramEXT: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; values: pointer); stdcall;
  3202. glGetHistogramParameterfvEXT: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3203. glGetHistogramParameterivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3204. glGetMinmaxEXT: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; values: pointer); stdcall;
  3205. glGetMinmaxParameterfvEXT: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3206. glGetMinmaxParameterivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3207. glHistogramEXT: procedure(target: GLenum; width: GLsizei; internalformat: GLenum; sink: GLboolean); stdcall;
  3208. glMinmaxEXT: procedure(target: GLenum; internalformat: GLenum; sink: GLboolean); stdcall;
  3209. glResetHistogramEXT: procedure(target: GLenum); stdcall;
  3210. glResetMinmaxEXT: procedure(target: GLenum); stdcall;
  3211. {$EndIf}
  3212. {$IfDef GL_EXT_index_func}
  3213. glIndexFuncEXT: procedure(func: GLenum; ref: GLclampf); stdcall;
  3214. {$EndIf}
  3215. {$IfDef GL_EXT_index_material}
  3216. glIndexMaterialEXT: procedure(face: GLenum; mode: GLenum); stdcall;
  3217. {$EndIf}
  3218. {$IfDef GL_EXT_light_texture}
  3219. glApplyTextureEXT: procedure(mode: GLenum); stdcall;
  3220. glTextureLightEXT: procedure(pname: GLenum); stdcall;
  3221. glTextureMaterialEXT: procedure(face: GLenum; mode: GLenum); stdcall;
  3222. {$EndIf}
  3223. {$IfDef GL_EXT_memory_object}
  3224. glGetUnsignedBytevEXT: procedure(pname: GLenum; data: PGLubyte); stdcall;
  3225. glGetUnsignedBytei_vEXT: procedure(target: GLenum; index: GLuint; data: PGLubyte); stdcall;
  3226. glDeleteMemoryObjectsEXT: procedure(n: GLsizei; const memoryObjects: PGLuint); stdcall;
  3227. glIsMemoryObjectEXT: function(memoryObject: GLuint): GLboolean; stdcall;
  3228. glCreateMemoryObjectsEXT: procedure(n: GLsizei; memoryObjects: PGLuint); stdcall;
  3229. glMemoryObjectParameterivEXT: procedure(memoryObject: GLuint; pname: GLenum; const params: PGLint); stdcall;
  3230. glGetMemoryObjectParameterivEXT: procedure(memoryObject: GLuint; pname: GLenum; params: PGLint); stdcall;
  3231. glTexStorageMem2DEXT: procedure(target: GLenum; levels: GLsizei; internalFormat: GLenum; width: GLsizei; height: GLsizei; memory: GLuint; offset: GLuint64); stdcall;
  3232. glTexStorageMem2DMultisampleEXT: procedure(target: GLenum; samples: GLsizei; internalFormat: GLenum; width: GLsizei; height: GLsizei; fixedSampleLocations: GLboolean; memory: GLuint; offset: GLuint64); stdcall;
  3233. glTexStorageMem3DEXT: procedure(target: GLenum; levels: GLsizei; internalFormat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; memory: GLuint; offset: GLuint64); stdcall;
  3234. glTexStorageMem3DMultisampleEXT: procedure(target: GLenum; samples: GLsizei; internalFormat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; fixedSampleLocations: GLboolean; memory: GLuint; offset: GLuint64); stdcall;
  3235. glBufferStorageMemEXT: procedure(target: GLenum; size: GLsizeiptr; memory: GLuint; offset: GLuint64); stdcall;
  3236. glTextureStorageMem2DEXT: procedure(texture: GLuint; levels: GLsizei; internalFormat: GLenum; width: GLsizei; height: GLsizei; memory: GLuint; offset: GLuint64); stdcall;
  3237. glTextureStorageMem2DMultisampleEXT: procedure(texture: GLuint; samples: GLsizei; internalFormat: GLenum; width: GLsizei; height: GLsizei; fixedSampleLocations: GLboolean; memory: GLuint; offset: GLuint64); stdcall;
  3238. glTextureStorageMem3DEXT: procedure(texture: GLuint; levels: GLsizei; internalFormat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; memory: GLuint; offset: GLuint64); stdcall;
  3239. glTextureStorageMem3DMultisampleEXT: procedure(texture: GLuint; samples: GLsizei; internalFormat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; fixedSampleLocations: GLboolean; memory: GLuint; offset: GLuint64); stdcall;
  3240. glNamedBufferStorageMemEXT: procedure(buffer: GLuint; size: GLsizeiptr; memory: GLuint; offset: GLuint64); stdcall;
  3241. glTexStorageMem1DEXT: procedure(target: GLenum; levels: GLsizei; internalFormat: GLenum; width: GLsizei; memory: GLuint; offset: GLuint64); stdcall;
  3242. glTextureStorageMem1DEXT: procedure(texture: GLuint; levels: GLsizei; internalFormat: GLenum; width: GLsizei; memory: GLuint; offset: GLuint64); stdcall;
  3243. {$EndIf}
  3244. {$IfDef GL_EXT_memory_object_fd}
  3245. glImportMemoryFdEXT: procedure(memory: GLuint; size: GLuint64; handleType: GLenum; fd: GLint); stdcall;
  3246. {$EndIf}
  3247. {$IfDef GL_EXT_memory_object_win32}
  3248. glImportMemoryWin32HandleEXT: procedure(memory: GLuint; size: GLuint64; handleType: GLenum; handle: pointer); stdcall;
  3249. glImportMemoryWin32NameEXT: procedure(memory: GLuint; size: GLuint64; handleType: GLenum; const name: pointer); stdcall;
  3250. {$EndIf}
  3251. {$IfDef GL_EXT_multi_draw_arrays}
  3252. glMultiDrawArraysEXT: procedure(mode: GLenum; const first: PGLint; const count: PGLsizei; primcount: GLsizei); stdcall;
  3253. glMultiDrawElementsEXT: procedure(mode: GLenum; const count: PGLsizei; _type: GLenum; const indices:Ppointer; primcount: GLsizei); stdcall;
  3254. {$EndIf}
  3255. {$IfDef GL_EXT_multisample}
  3256. glSampleMaskEXT: procedure(value: GLclampf; invert: GLboolean); stdcall;
  3257. glSamplePatternEXT: procedure(pattern: GLenum); stdcall;
  3258. {$EndIf}
  3259. {$IfDef GL_EXT_paletted_texture}
  3260. glColorTableEXT: procedure(target: GLenum; internalFormat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; const table: pointer); stdcall;
  3261. glGetColorTableEXT: procedure(target: GLenum; format: GLenum; _type: GLenum; data: pointer); stdcall;
  3262. glGetColorTableParameterivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3263. glGetColorTableParameterfvEXT: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3264. {$EndIf}
  3265. {$IfDef GL_EXT_pixel_transform}
  3266. glPixelTransformParameteriEXT: procedure(target: GLenum; pname: GLenum; param: GLint); stdcall;
  3267. glPixelTransformParameterfEXT: procedure(target: GLenum; pname: GLenum; param: GLfloat); stdcall;
  3268. glPixelTransformParameterivEXT: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  3269. glPixelTransformParameterfvEXT: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  3270. glGetPixelTransformParameterivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3271. glGetPixelTransformParameterfvEXT: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3272. {$EndIf}
  3273. {$IfDef GL_EXT_point_parameters}
  3274. glPointParameterfEXT: procedure(pname: GLenum; param: GLfloat); stdcall;
  3275. glPointParameterfvEXT: procedure(pname: GLenum; const params: PGLfloat); stdcall;
  3276. {$EndIf}
  3277. {$IfDef GL_EXT_polygon_offset}
  3278. glPolygonOffsetEXT: procedure(factor: GLfloat; bias: GLfloat); stdcall;
  3279. {$EndIf}
  3280. {$IfDef GL_EXT_polygon_offset_clamp}
  3281. glPolygonOffsetClampEXT: procedure(factor: GLfloat; units: GLfloat; clamp: GLfloat); stdcall;
  3282. {$EndIf}
  3283. {$IfDef GL_EXT_provoking_vertex}
  3284. glProvokingVertexEXT: procedure(mode: GLenum); stdcall;
  3285. {$EndIf}
  3286. {$IfDef GL_EXT_raster_multisample}
  3287. glRasterSamplesEXT: procedure(samples: GLuint; fixedsamplelocations: GLboolean); stdcall;
  3288. {$EndIf}
  3289. {$IfDef GL_EXT_secondary_color}
  3290. glSecondaryColor3bEXT: procedure(red: GLbyte; green: GLbyte; blue: GLbyte); stdcall;
  3291. glSecondaryColor3bvEXT: procedure(const v: PGLbyte); stdcall;
  3292. glSecondaryColor3dEXT: procedure(red: GLdouble; green: GLdouble; blue: GLdouble); stdcall;
  3293. glSecondaryColor3dvEXT: procedure(const v: PGLdouble); stdcall;
  3294. glSecondaryColor3fEXT: procedure(red: GLfloat; green: GLfloat; blue: GLfloat); stdcall;
  3295. glSecondaryColor3fvEXT: procedure(const v: PGLfloat); stdcall;
  3296. glSecondaryColor3iEXT: procedure(red: GLint; green: GLint; blue: GLint); stdcall;
  3297. glSecondaryColor3ivEXT: procedure(const v: PGLint); stdcall;
  3298. glSecondaryColor3sEXT: procedure(red: GLshort; green: GLshort; blue: GLshort); stdcall;
  3299. glSecondaryColor3svEXT: procedure(const v: PGLshort); stdcall;
  3300. glSecondaryColor3ubEXT: procedure(red: GLubyte; green: GLubyte; blue: GLubyte); stdcall;
  3301. glSecondaryColor3ubvEXT: procedure(const v: PGLubyte); stdcall;
  3302. glSecondaryColor3uiEXT: procedure(red: GLuint; green: GLuint; blue: GLuint); stdcall;
  3303. glSecondaryColor3uivEXT: procedure(const v: PGLuint); stdcall;
  3304. glSecondaryColor3usEXT: procedure(red: GLushort; green: GLushort; blue: GLushort); stdcall;
  3305. glSecondaryColor3usvEXT: procedure(const v: PGLushort); stdcall;
  3306. glSecondaryColorPointerEXT: procedure(size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  3307. {$EndIf}
  3308. {$IfDef GL_EXT_semaphore}
  3309. glGenSemaphoresEXT: procedure(n: GLsizei; semaphores: PGLuint); stdcall;
  3310. glDeleteSemaphoresEXT: procedure(n: GLsizei; const semaphores: PGLuint); stdcall;
  3311. glIsSemaphoreEXT: function(semaphore: GLuint): GLboolean; stdcall;
  3312. glSemaphoreParameterui64vEXT: procedure(semaphore: GLuint; pname: GLenum; const params: PGLuint64); stdcall;
  3313. glGetSemaphoreParameterui64vEXT: procedure(semaphore: GLuint; pname: GLenum; params: PGLuint64); stdcall;
  3314. glWaitSemaphoreEXT: procedure(semaphore: GLuint; numBufferBarriers: GLuint; const buffers: PGLuint; numTextureBarriers: GLuint; const textures: PGLuint; const srcLayouts: PGLenum); stdcall;
  3315. glSignalSemaphoreEXT: procedure(semaphore: GLuint; numBufferBarriers: GLuint; const buffers: PGLuint; numTextureBarriers: GLuint; const textures: PGLuint; const dstLayouts: PGLenum); stdcall;
  3316. {$EndIf}
  3317. {$IfDef GL_EXT_semaphore_fd}
  3318. glImportSemaphoreFdEXT: procedure(semaphore: GLuint; handleType: GLenum; fd: GLint); stdcall;
  3319. {$EndIf}
  3320. {$IfDef GL_EXT_semaphore_win32}
  3321. glImportSemaphoreWin32HandleEXT: procedure(semaphore: GLuint; handleType: GLenum; handle: pointer); stdcall;
  3322. glImportSemaphoreWin32NameEXT: procedure(semaphore: GLuint; handleType: GLenum; const name: pointer); stdcall;
  3323. {$EndIf}
  3324. {$IfDef GL_EXT_separate_shader_objects}
  3325. glUseShaderProgramEXT: procedure(_type: GLenum; _program: GLuint); stdcall;
  3326. glActiveProgramEXT: procedure(_program: GLuint); stdcall;
  3327. glCreateShaderProgramEXT: function(_type: GLenum; const _string: PGLchar): GLuint; stdcall;
  3328. {$EndIf}
  3329. {$IfDef GL_EXT_shader_framebuffer_fetch_non_coherent}
  3330. glFramebufferFetchBarrierEXT: procedure; stdcall;
  3331. {$EndIf}
  3332. {$IfDef GL_EXT_shader_image_load_store}
  3333. glBindImageTextureEXT: procedure(index: GLuint; texture: GLuint; level: GLint; layered: GLboolean; layer: GLint; access: GLenum; format: GLint); stdcall;
  3334. glMemoryBarrierEXT: procedure(barriers: GLbitfield); stdcall;
  3335. {$EndIf}
  3336. {$IfDef GL_EXT_stencil_clear_tag}
  3337. glStencilClearTagEXT: procedure(stencilTagBits: GLsizei; stencilClearTag: GLuint); stdcall;
  3338. {$EndIf}
  3339. {$IfDef GL_EXT_stencil_two_side}
  3340. glActiveStencilFaceEXT: procedure(face: GLenum); stdcall;
  3341. {$EndIf}
  3342. {$IfDef GL_EXT_subtexture}
  3343. glTexSubImage1DEXT: procedure(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  3344. glTexSubImage2DEXT: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  3345. {$EndIf}
  3346. {$IfDef GL_EXT_texture3D}
  3347. glTexImage3DEXT: procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: pointer); stdcall;
  3348. 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;
  3349. {$EndIf}
  3350. {$IfDef GL_EXT_texture_array}
  3351. glFramebufferTextureLayerEXT: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; layer: GLint); stdcall;
  3352. {$EndIf}
  3353. {$IfDef GL_EXT_texture_buffer_object}
  3354. glTexBufferEXT: procedure(target: GLenum; internalformat: GLenum; buffer: GLuint); stdcall;
  3355. {$EndIf}
  3356. {$IfDef GL_EXT_texture_integer}
  3357. glTexParameterIivEXT: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  3358. glTexParameterIuivEXT: procedure(target: GLenum; pname: GLenum; const params: PGLuint); stdcall;
  3359. glGetTexParameterIivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3360. glGetTexParameterIuivEXT: procedure(target: GLenum; pname: GLenum; params: PGLuint); stdcall;
  3361. glClearColorIiEXT: procedure(red: GLint; green: GLint; blue: GLint; alpha: GLint); stdcall;
  3362. glClearColorIuiEXT: procedure(red: GLuint; green: GLuint; blue: GLuint; alpha: GLuint); stdcall;
  3363. {$EndIf}
  3364. {$IfDef GL_EXT_texture_object}
  3365. glAreTexturesResidentEXT: function(n: GLsizei; const textures: PGLuint; residences: PGLboolean): GLboolean; stdcall;
  3366. glBindTextureEXT: procedure(target: GLenum; texture: GLuint); stdcall;
  3367. glDeleteTexturesEXT: procedure(n: GLsizei; const textures: PGLuint); stdcall;
  3368. glGenTexturesEXT: procedure(n: GLsizei; textures: PGLuint); stdcall;
  3369. glIsTextureEXT: function(texture: GLuint): GLboolean; stdcall;
  3370. glPrioritizeTexturesEXT: procedure(n: GLsizei; const textures: PGLuint; const priorities: PGLclampf); stdcall;
  3371. {$EndIf}
  3372. {$IfDef GL_EXT_texture_perturb_normal}
  3373. glTextureNormalEXT: procedure(mode: GLenum); stdcall;
  3374. {$EndIf}
  3375. {$IfDef GL_EXT_texture_storage}
  3376. glTexStorage1DEXT: procedure(target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei); stdcall;
  3377. glTexStorage2DEXT: procedure(target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  3378. glTexStorage3DEXT: procedure(target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei); stdcall;
  3379. {$EndIf}
  3380. {$IfDef GL_EXT_timer_query}
  3381. glGetQueryObjecti64vEXT: procedure(id: GLuint; pname: GLenum; params: PGLint64); stdcall;
  3382. glGetQueryObjectui64vEXT: procedure(id: GLuint; pname: GLenum; params: PGLuint64); stdcall;
  3383. {$EndIf}
  3384. {$IfDef GL_EXT_transform_feedback}
  3385. glBeginTransformFeedbackEXT: procedure(primitiveMode: GLenum); stdcall;
  3386. glEndTransformFeedbackEXT: procedure; stdcall;
  3387. glBindBufferRangeEXT: procedure(target: GLenum; index: GLuint; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); stdcall;
  3388. glBindBufferOffsetEXT: procedure(target: GLenum; index: GLuint; buffer: GLuint; offset: GLintptr); stdcall;
  3389. glBindBufferBaseEXT: procedure(target: GLenum; index: GLuint; buffer: GLuint); stdcall;
  3390. glTransformFeedbackVaryingsEXT: procedure(_program: GLuint; count: GLsizei; const varyings: PPGLchar; bufferMode: GLenum); stdcall;
  3391. glGetTransformFeedbackVaryingEXT: procedure(_program: GLuint; index: GLuint; bufSize: GLsizei; length: PGLsizei; size: PGLsizei; _type: PGLenum; name: PGLchar); stdcall;
  3392. {$EndIf}
  3393. {$IfDef GL_EXT_vertex_array}
  3394. glArrayElementEXT: procedure(i: GLint); stdcall;
  3395. glColorPointerEXT: procedure(size: GLint; _type: GLenum; stride: GLsizei; count: GLsizei; const _pointer: pointer); stdcall;
  3396. glDrawArraysEXT: procedure(mode: GLenum; first: GLint; count: GLsizei); stdcall;
  3397. glEdgeFlagPointerEXT: procedure(stride: GLsizei; count: GLsizei; const pointer: PGLboolean); stdcall;
  3398. glGetPointervEXT: procedure(pname: GLenum; params:Ppointer); stdcall;
  3399. glIndexPointerEXT: procedure(_type: GLenum; stride: GLsizei; count: GLsizei; const _pointer: pointer); stdcall;
  3400. glNormalPointerEXT: procedure(_type: GLenum; stride: GLsizei; count: GLsizei; const _pointer: pointer); stdcall;
  3401. glTexCoordPointerEXT: procedure(size: GLint; _type: GLenum; stride: GLsizei; count: GLsizei; const _pointer: pointer); stdcall;
  3402. glVertexPointerEXT: procedure(size: GLint; _type: GLenum; stride: GLsizei; count: GLsizei; const _pointer: pointer); stdcall;
  3403. {$EndIf}
  3404. {$IfDef GL_EXT_vertex_attrib_64bit}
  3405. glVertexAttribL1dEXT: procedure(index: GLuint; x: GLdouble); stdcall;
  3406. glVertexAttribL2dEXT: procedure(index: GLuint; x: GLdouble; y: GLdouble); stdcall;
  3407. glVertexAttribL3dEXT: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  3408. glVertexAttribL4dEXT: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  3409. glVertexAttribL1dvEXT: procedure(index: GLuint; const v: PGLdouble); stdcall;
  3410. glVertexAttribL2dvEXT: procedure(index: GLuint; const v: PGLdouble); stdcall;
  3411. glVertexAttribL3dvEXT: procedure(index: GLuint; const v: PGLdouble); stdcall;
  3412. glVertexAttribL4dvEXT: procedure(index: GLuint; const v: PGLdouble); stdcall;
  3413. glVertexAttribLPointerEXT: procedure(index: GLuint; size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  3414. glGetVertexAttribLdvEXT: procedure(index: GLuint; pname: GLenum; params: PGLdouble); stdcall;
  3415. {$EndIf}
  3416. {$IfDef GL_EXT_vertex_shader}
  3417. glBeginVertexShaderEXT: procedure; stdcall;
  3418. glEndVertexShaderEXT: procedure; stdcall;
  3419. glBindVertexShaderEXT: procedure(id: GLuint); stdcall;
  3420. glGenVertexShadersEXT: function(range: GLuint): GLuint; stdcall;
  3421. glDeleteVertexShaderEXT: procedure(id: GLuint); stdcall;
  3422. glShaderOp1EXT: procedure(op: GLenum; res: GLuint; arg1: GLuint); stdcall;
  3423. glShaderOp2EXT: procedure(op: GLenum; res: GLuint; arg1: GLuint; arg2: GLuint); stdcall;
  3424. glShaderOp3EXT: procedure(op: GLenum; res: GLuint; arg1: GLuint; arg2: GLuint; arg3: GLuint); stdcall;
  3425. glSwizzleEXT: procedure(res: GLuint; _in: GLuint; outX: GLenum; outY: GLenum; outZ: GLenum; outW: GLenum); stdcall;
  3426. glWriteMaskEXT: procedure(res: GLuint; _in: GLuint; outX: GLenum; outY: GLenum; outZ: GLenum; outW: GLenum); stdcall;
  3427. glInsertComponentEXT: procedure(res: GLuint; src: GLuint; num: GLuint); stdcall;
  3428. glExtractComponentEXT: procedure(res: GLuint; src: GLuint; num: GLuint); stdcall;
  3429. glGenSymbolsEXT: function(datatype: GLenum; storagetype: GLenum; range: GLenum; components: GLuint): GLuint; stdcall;
  3430. glSetInvariantEXT: procedure(id: GLuint; _type: GLenum; const addr: pointer); stdcall;
  3431. glSetLocalConstantEXT: procedure(id: GLuint; _type: GLenum; const addr: pointer); stdcall;
  3432. glVariantbvEXT: procedure(id: GLuint; const addr: PGLbyte); stdcall;
  3433. glVariantsvEXT: procedure(id: GLuint; const addr: PGLshort); stdcall;
  3434. glVariantivEXT: procedure(id: GLuint; const addr: PGLint); stdcall;
  3435. glVariantfvEXT: procedure(id: GLuint; const addr: PGLfloat); stdcall;
  3436. glVariantdvEXT: procedure(id: GLuint; const addr: PGLdouble); stdcall;
  3437. glVariantubvEXT: procedure(id: GLuint; const addr: PGLubyte); stdcall;
  3438. glVariantusvEXT: procedure(id: GLuint; const addr: PGLushort); stdcall;
  3439. glVariantuivEXT: procedure(id: GLuint; const addr: PGLuint); stdcall;
  3440. glVariantPointerEXT: procedure(id: GLuint; _type: GLenum; stride: GLuint; const addr: pointer); stdcall;
  3441. glEnableVariantClientStateEXT: procedure(id: GLuint); stdcall;
  3442. glDisableVariantClientStateEXT: procedure(id: GLuint); stdcall;
  3443. glBindLightParameterEXT: function(light: GLenum; value: GLenum): GLuint; stdcall;
  3444. glBindMaterialParameterEXT: function(face: GLenum; value: GLenum): GLuint; stdcall;
  3445. glBindTexGenParameterEXT: function(_unit: GLenum; coord: GLenum; value: GLenum): GLuint; stdcall;
  3446. glBindTextureUnitParameterEXT: function(_unit: GLenum; value: GLenum): GLuint; stdcall;
  3447. glBindParameterEXT: function(value: GLenum): GLuint; stdcall;
  3448. glIsVariantEnabledEXT: function(id: GLuint; cap: GLenum): GLboolean; stdcall;
  3449. glGetVariantBooleanvEXT: procedure(id: GLuint; value: GLenum; data: PGLboolean); stdcall;
  3450. glGetVariantIntegervEXT: procedure(id: GLuint; value: GLenum; data: PGLint); stdcall;
  3451. glGetVariantFloatvEXT: procedure(id: GLuint; value: GLenum; data: PGLfloat); stdcall;
  3452. glGetVariantPointervEXT: procedure(id: GLuint; value: GLenum; data:Ppointer); stdcall;
  3453. glGetInvariantBooleanvEXT: procedure(id: GLuint; value: GLenum; data: PGLboolean); stdcall;
  3454. glGetInvariantIntegervEXT: procedure(id: GLuint; value: GLenum; data: PGLint); stdcall;
  3455. glGetInvariantFloatvEXT: procedure(id: GLuint; value: GLenum; data: PGLfloat); stdcall;
  3456. glGetLocalConstantBooleanvEXT: procedure(id: GLuint; value: GLenum; data: PGLboolean); stdcall;
  3457. glGetLocalConstantIntegervEXT: procedure(id: GLuint; value: GLenum; data: PGLint); stdcall;
  3458. glGetLocalConstantFloatvEXT: procedure(id: GLuint; value: GLenum; data: PGLfloat); stdcall;
  3459. {$EndIf}
  3460. {$IfDef GL_EXT_vertex_weighting}
  3461. glVertexWeightfEXT: procedure(weight: GLfloat); stdcall;
  3462. glVertexWeightfvEXT: procedure(const weight: PGLfloat); stdcall;
  3463. glVertexWeightPointerEXT: procedure(size: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  3464. {$EndIf}
  3465. {$IfDef GL_EXT_win32_keyed_mutex}
  3466. glAcquireKeyedMutexWin32EXT: function(memory: GLuint; key: GLuint64; timeout: GLuint): GLboolean; stdcall;
  3467. glReleaseKeyedMutexWin32EXT: function(memory: GLuint; key: GLuint64): GLboolean; stdcall;
  3468. {$EndIf}
  3469. {$IfDef GL_EXT_window_rectangles}
  3470. glWindowRectanglesEXT: procedure(mode: GLenum; count: GLsizei; const box: PGLint); stdcall;
  3471. {$EndIf}
  3472. {$IfDef GL_EXT_x11_sync_object}
  3473. glImportSyncEXT: function(external_sync_type: GLenum; external_sync: GLintptr; flags: GLbitfield): GLsync; stdcall;
  3474. {$EndIf}
  3475. {$IfDef GL_GREMEDY_frame_terminator}
  3476. glFrameTerminatorGREMEDY: procedure; stdcall;
  3477. {$EndIf}
  3478. {$IfDef GL_GREMEDY_string_marker}
  3479. glStringMarkerGREMEDY: procedure(len: GLsizei; const _string: pointer); stdcall;
  3480. {$EndIf}
  3481. {$IfDef GL_HP_image_transform}
  3482. glImageTransformParameteriHP: procedure(target: GLenum; pname: GLenum; param: GLint); stdcall;
  3483. glImageTransformParameterfHP: procedure(target: GLenum; pname: GLenum; param: GLfloat); stdcall;
  3484. glImageTransformParameterivHP: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  3485. glImageTransformParameterfvHP: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  3486. glGetImageTransformParameterivHP: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3487. glGetImageTransformParameterfvHP: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3488. {$EndIf}
  3489. {$IfDef GL_IBM_multimode_draw_arrays}
  3490. glMultiModeDrawArraysIBM: procedure(const mode: PGLenum; const first: PGLint; const count: PGLsizei; primcount: GLsizei; modestride: GLint); stdcall;
  3491. glMultiModeDrawElementsIBM: procedure(const mode: PGLenum; const count: PGLsizei; _type: GLenum; const indices: {P}Ppointer; primcount: GLsizei; modestride: GLint); stdcall;
  3492. {$EndIf}
  3493. {$IfDef GL_IBM_static_data}
  3494. glFlushStaticDataIBM: procedure(target: GLenum); stdcall;
  3495. {$EndIf}
  3496. {$IfDef GL_IBM_vertex_array_lists}
  3497. glColorPointerListIBM: procedure(size: GLint; _type: GLenum; stride: GLint; const _pointer: {P}Ppointer; ptrstride: GLint); stdcall;
  3498. glSecondaryColorPointerListIBM: procedure(size: GLint; _type: GLenum; stride: GLint; const _pointer: {P}Ppointer; ptrstride: GLint); stdcall;
  3499. glEdgeFlagPointerListIBM: procedure(stride: GLint; const _pointer: {P}PGLboolean; ptrstride: GLint); stdcall;
  3500. glFogCoordPointerListIBM: procedure(_type: GLenum; stride: GLint; const _pointer: {P}Ppointer; ptrstride: GLint); stdcall;
  3501. glIndexPointerListIBM: procedure(_type: GLenum; stride: GLint; const _pointer: {P}Ppointer; ptrstride: GLint); stdcall;
  3502. glNormalPointerListIBM: procedure(_type: GLenum; stride: GLint; const _pointer: {P}Ppointer; ptrstride: GLint); stdcall;
  3503. glTexCoordPointerListIBM: procedure(size: GLint; _type: GLenum; stride: GLint; const _pointer: {P}Ppointer; ptrstride: GLint); stdcall;
  3504. glVertexPointerListIBM: procedure(size: GLint; _type: GLenum; stride: GLint; const _pointer: {P}Ppointer; ptrstride: GLint); stdcall;
  3505. {$EndIf}
  3506. {$IfDef GL_INGR_blend_func_separate}
  3507. glBlendFuncSeparateINGR: procedure(sfactorRGB: GLenum; dfactorRGB: GLenum; sfactorAlpha: GLenum; dfactorAlpha: GLenum); stdcall;
  3508. {$EndIf}
  3509. {$IfDef GL_INTEL_framebuffer_CMAA}
  3510. glApplyFramebufferAttachmentCMAAINTEL: procedure; stdcall;
  3511. {$EndIf}
  3512. {$IfDef GL_INTEL_map_texture}
  3513. glSyncTextureINTEL: procedure(texture: GLuint); stdcall;
  3514. glUnmapTexture2DINTEL: procedure(texture: GLuint; level: GLint); stdcall;
  3515. glMapTexture2DINTEL: function(texture: GLuint; level: GLint; access: GLbitfield; stride: PGLint; layout: PGLenum): pointer;
  3516. {$EndIf}
  3517. {$IfDef GL_INTEL_parallel_arrays}
  3518. glVertexPointervINTEL: procedure(size: GLint; _type: GLenum; const _pointer: {P}Ppointer); stdcall;
  3519. glNormalPointervINTEL: procedure(_type: GLenum; const _pointer: {P}Ppointer); stdcall;
  3520. glColorPointervINTEL: procedure(size: GLint; _type: GLenum; const _pointer: {P}Ppointer); stdcall;
  3521. glTexCoordPointervINTEL: procedure(size: GLint; _type: GLenum; const _pointer: {P}Ppointer); stdcall;
  3522. {$EndIf}
  3523. {$IfDef GL_INTEL_performance_query}
  3524. glBeginPerfQueryINTEL: procedure(queryHandle: GLuint); stdcall;
  3525. glCreatePerfQueryINTEL: procedure(queryId: GLuint; queryHandle: PGLuint); stdcall;
  3526. glDeletePerfQueryINTEL: procedure(queryHandle: GLuint); stdcall;
  3527. glEndPerfQueryINTEL: procedure(queryHandle: GLuint); stdcall;
  3528. glGetFirstPerfQueryIdINTEL: procedure(queryId: PGLuint); stdcall;
  3529. glGetNextPerfQueryIdINTEL: procedure(queryId: GLuint; nextQueryId: PGLuint); stdcall;
  3530. 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;
  3531. glGetPerfQueryDataINTEL: procedure(queryHandle: GLuint; flags: GLuint; dataSize: GLsizei; data: pointer; bytesWritten: PGLuint); stdcall;
  3532. glGetPerfQueryIdByNameINTEL: procedure(queryName: PGLchar; queryId: PGLuint); stdcall;
  3533. glGetPerfQueryInfoINTEL: procedure(queryId: GLuint; queryNameLength: GLuint; queryName: PGLchar; dataSize: PGLuint; noCounters: PGLuint; noInstances: PGLuint; capsMask: PGLuint); stdcall;
  3534. {$EndIf}
  3535. {$IfDef GL_MESA_framebuffer_flip_y}
  3536. glFramebufferParameteriMESA: procedure(target: GLenum; pname: GLenum; param: GLint); stdcall;
  3537. glGetFramebufferParameterivMESA: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3538. {$EndIf}
  3539. {$IfDef GL_MESA_resize_buffers}
  3540. glResizeBuffersMESA: procedure; stdcall;
  3541. {$EndIf}
  3542. {$IfDef GL_MESA_window_pos}
  3543. glWindowPos2dMESA: procedure(x: GLdouble; y: GLdouble); stdcall;
  3544. glWindowPos2dvMESA: procedure(const v: PGLdouble); stdcall;
  3545. glWindowPos2fMESA: procedure(x: GLfloat; y: GLfloat); stdcall;
  3546. glWindowPos2fvMESA: procedure(const v: PGLfloat); stdcall;
  3547. glWindowPos2iMESA: procedure(x: GLint; y: GLint); stdcall;
  3548. glWindowPos2ivMESA: procedure(const v: PGLint); stdcall;
  3549. glWindowPos2sMESA: procedure(x: GLshort; y: GLshort); stdcall;
  3550. glWindowPos2svMESA: procedure(const v: PGLshort); stdcall;
  3551. glWindowPos3dMESA: procedure(x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  3552. glWindowPos3dvMESA: procedure(const v: PGLdouble); stdcall;
  3553. glWindowPos3fMESA: procedure(x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  3554. glWindowPos3fvMESA: procedure(const v: PGLfloat); stdcall;
  3555. glWindowPos3iMESA: procedure(x: GLint; y: GLint; z: GLint); stdcall;
  3556. glWindowPos3ivMESA: procedure(const v: PGLint); stdcall;
  3557. glWindowPos3sMESA: procedure(x: GLshort; y: GLshort; z: GLshort); stdcall;
  3558. glWindowPos3svMESA: procedure(const v: PGLshort); stdcall;
  3559. glWindowPos4dMESA: procedure(x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  3560. glWindowPos4dvMESA: procedure(const v: PGLdouble); stdcall;
  3561. glWindowPos4fMESA: procedure(x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  3562. glWindowPos4fvMESA: procedure(const v: PGLfloat); stdcall;
  3563. glWindowPos4iMESA: procedure(x: GLint; y: GLint; z: GLint; w: GLint); stdcall;
  3564. glWindowPos4ivMESA: procedure(const v: PGLint); stdcall;
  3565. glWindowPos4sMESA: procedure(x: GLshort; y: GLshort; z: GLshort; w: GLshort); stdcall;
  3566. glWindowPos4svMESA: procedure(const v: PGLshort); stdcall;
  3567. {$EndIf}
  3568. {$IfDef GL_NVX_conditional_render}
  3569. glBeginConditionalRenderNVX: procedure(id: GLuint); stdcall;
  3570. glEndConditionalRenderNVX: procedure; stdcall;
  3571. {$EndIf}
  3572. {$IfDef GL_NVX_gpu_multicast2}
  3573. glUploadGpuMaskNVX: procedure(mask: GLbitfield); stdcall;
  3574. glMulticastViewportArrayvNVX: procedure(gpu: GLuint; first: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  3575. glMulticastViewportPositionWScaleNVX: procedure(gpu: GLuint; index: GLuint; xcoeff: GLfloat; ycoeff: GLfloat); stdcall;
  3576. glMulticastScissorArrayvNVX: procedure(gpu: GLuint; first: GLuint; count: GLsizei; const v: PGLint); stdcall;
  3577. 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;
  3578. 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;
  3579. {$EndIf}
  3580. {$IfDef GL_NVX_linked_gpu_multicast}
  3581. glLGPUNamedBufferSubDataNVX: procedure(gpuMask: GLbitfield; buffer: GLuint; offset: GLintptr; size: GLsizeiptr; const data: pointer); stdcall;
  3582. 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;
  3583. glLGPUInterlockNVX: procedure; stdcall;
  3584. {$EndIf}
  3585. {$IfDef GL_NVX_progress_fence}
  3586. glCreateProgressFenceNVX: function: GLuint; stdcall;
  3587. glSignalSemaphoreui64NVX: procedure(signalGpu: GLuint; fenceObjectCount: GLsizei; const semaphoreArray: PGLuint; const fenceValueArray: PGLuint64); stdcall;
  3588. glWaitSemaphoreui64NVX: procedure(waitGpu: GLuint; fenceObjectCount: GLsizei; const semaphoreArray: PGLuint; const fenceValueArray: PGLuint64); stdcall;
  3589. glClientWaitSemaphoreui64NVX: procedure(fenceObjectCount: GLsizei; const semaphoreArray: PGLuint; const fenceValueArray: PGLuint64); stdcall;
  3590. {$EndIf}
  3591. {$IfDef GL_NV_alpha_to_coverage_dither_control}
  3592. glAlphaToCoverageDitherControlNV: procedure(mode: GLenum); stdcall;
  3593. {$EndIf}
  3594. {$IfDef GL_NV_bindless_multi_draw_indirect}
  3595. glMultiDrawArraysIndirectBindlessNV: procedure(mode: GLenum; const indirect: pointer; drawCount: GLsizei; stride: GLsizei; vertexBufferCount: GLint); stdcall;
  3596. glMultiDrawElementsIndirectBindlessNV: procedure(mode: GLenum; _type: GLenum; const indirect: pointer; drawCount: GLsizei; stride: GLsizei; vertexBufferCount: GLint); stdcall;
  3597. {$EndIf}
  3598. {$IfDef GL_NV_bindless_multi_draw_indirect_count}
  3599. glMultiDrawArraysIndirectBindlessCountNV: procedure(mode: GLenum; const indirect: pointer; drawCount: GLsizei; maxDrawCount: GLsizei; stride: GLsizei; vertexBufferCount: GLint); stdcall;
  3600. glMultiDrawElementsIndirectBindlessCountNV: procedure(mode: GLenum; _type: GLenum; const indirect: pointer; drawCount: GLsizei; maxDrawCount: GLsizei; stride: GLsizei; vertexBufferCount: GLint); stdcall;
  3601. {$EndIf}
  3602. {$IfDef GL_NV_bindless_texture}
  3603. glGetTextureHandleNV: function(texture: GLuint): GLuint64; stdcall;
  3604. glGetTextureSamplerHandleNV: function(texture: GLuint; sampler: GLuint): GLuint64; stdcall;
  3605. glMakeTextureHandleResidentNV: procedure(handle: GLuint64); stdcall;
  3606. glMakeTextureHandleNonResidentNV: procedure(handle: GLuint64); stdcall;
  3607. glGetImageHandleNV: function(texture: GLuint; level: GLint; layered: GLboolean; layer: GLint; format: GLenum): GLuint64; stdcall;
  3608. glMakeImageHandleResidentNV: procedure(handle: GLuint64; access: GLenum); stdcall;
  3609. glMakeImageHandleNonResidentNV: procedure(handle: GLuint64); stdcall;
  3610. glUniformHandleui64NV: procedure(location: GLint; value: GLuint64); stdcall;
  3611. glUniformHandleui64vNV: procedure(location: GLint; count: GLsizei; const value: PGLuint64); stdcall;
  3612. glProgramUniformHandleui64NV: procedure(_program: GLuint; location: GLint; value: GLuint64); stdcall;
  3613. glProgramUniformHandleui64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const values: PGLuint64); stdcall;
  3614. glIsTextureHandleResidentNV: function(handle: GLuint64): GLboolean; stdcall;
  3615. glIsImageHandleResidentNV: function(handle: GLuint64): GLboolean; stdcall;
  3616. {$EndIf}
  3617. {$IfDef GL_NV_blend_equation_advanced}
  3618. glBlendParameteriNV: procedure(pname: GLenum; value: GLint); stdcall;
  3619. glBlendBarrierNV: procedure; stdcall;
  3620. {$EndIf}
  3621. {$IfDef GL_NV_clip_space_w_scaling}
  3622. glViewportPositionWScaleNV: procedure(index: GLuint; xcoeff: GLfloat; ycoeff: GLfloat); stdcall;
  3623. {$EndIf}
  3624. {$IfDef GL_NV_command_list}
  3625. glCreateStatesNV: procedure(n: GLsizei; states: PGLuint); stdcall;
  3626. glDeleteStatesNV: procedure(n: GLsizei; states: PGLuint); stdcall;
  3627. glIsStateNV: function(state: GLuint): GLboolean; stdcall;
  3628. glStateCaptureNV: procedure(state: GLuint; mode: GLenum); stdcall;
  3629. glGetCommandHeaderNV: function(tokenID: GLenum; size: GLuint): GLuint;
  3630. glGetStageIndexNV: function(shadertype: GLenum): GLushort; stdcall;
  3631. glDrawCommandsNV: procedure(primitiveMode: GLenum; buffer: GLuint; const indirects: PGLintptr; const sizes: PGLsizei; count: GLuint); stdcall;
  3632. glDrawCommandsAddressNV: procedure(primitiveMode: GLenum; const indirects: PGLuint64; const sizes: PGLsizei; count: GLuint); stdcall;
  3633. glDrawCommandsStatesNV: procedure(buffer: GLuint; const indirects: PGLintptr; const sizes: PGLsizei; const states: PGLuint; const fbos: PGLuint; count: GLuint); stdcall;
  3634. glDrawCommandsStatesAddressNV: procedure(const indirects: PGLuint64; const sizes: PGLsizei; const states: PGLuint; const fbos: PGLuint; count: GLuint); stdcall;
  3635. glCreateCommandListsNV: procedure(n: GLsizei; lists: PGLuint); stdcall;
  3636. glDeleteCommandListsNV: procedure(n: GLsizei; const lists: PGLuint); stdcall;
  3637. glIsCommandListNV: function(list: GLuint): GLboolean; stdcall;
  3638. glListDrawCommandsStatesClientNV: procedure(list: GLuint; segment: GLuint; const indirects: {P}Ppointer; const sizes: PGLsizei; const states: PGLuint; const fbos: PGLuint; count: GLuint); stdcall;
  3639. glCommandListSegmentsNV: procedure(list: GLuint; segments: GLuint); stdcall;
  3640. glCompileCommandListNV: procedure(list: GLuint); stdcall;
  3641. glCallCommandListNV: procedure(list: GLuint); stdcall;
  3642. {$EndIf}
  3643. {$IfDef GL_NV_conditional_render}
  3644. glBeginConditionalRenderNV: procedure(id: GLuint; mode: GLenum); stdcall;
  3645. glEndConditionalRenderNV: procedure; stdcall;
  3646. {$EndIf}
  3647. {$IfDef GL_NV_conservative_raster}
  3648. glSubpixelPrecisionBiasNV: procedure(xbits: GLuint; ybits: GLuint); stdcall;
  3649. {$EndIf}
  3650. {$IfDef GL_NV_conservative_raster_dilate}
  3651. glConservativeRasterParameterfNV: procedure(pname: GLenum; value: GLfloat); stdcall;
  3652. {$EndIf}
  3653. {$IfDef GL_NV_conservative_raster_pre_snap_triangles}
  3654. glConservativeRasterParameteriNV: procedure(pname: GLenum; param: GLint); stdcall;
  3655. {$EndIf}
  3656. {$IfDef GL_NV_copy_image}
  3657. 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;
  3658. {$EndIf}
  3659. {$IfDef GL_NV_depth_buffer_float}
  3660. glDepthRangedNV: procedure(zNear: GLdouble; zFar: GLdouble); stdcall;
  3661. glClearDepthdNV: procedure(depth: GLdouble); stdcall;
  3662. glDepthBoundsdNV: procedure(zmin: GLdouble; zmax: GLdouble); stdcall;
  3663. {$EndIf}
  3664. {$IfDef GL_NV_draw_texture}
  3665. 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;
  3666. {$EndIf}
  3667. {$IfDef GL_NV_draw_vulkan_image}
  3668. 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;
  3669. glGetVkProcAddrNV: function(const name: PGLchar): GLVULKANPROCNV;
  3670. glWaitVkSemaphoreNV: procedure(vkSemaphore: GLuint64); stdcall;
  3671. glSignalVkSemaphoreNV: procedure(vkSemaphore: GLuint64); stdcall;
  3672. glSignalVkFenceNV: procedure(vkFence: GLuint64); stdcall;
  3673. {$EndIf}
  3674. {$IfDef GL_NV_evaluators}
  3675. glMapControlPointsNV: procedure(target: GLenum; index: GLuint; _type: GLenum; ustride: GLsizei; vstride: GLsizei; uorder: GLint; vorder: GLint; _packed: GLboolean; const points: pointer); stdcall;
  3676. glMapParameterivNV: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  3677. glMapParameterfvNV: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  3678. glGetMapControlPointsNV: procedure(target: GLenum; index: GLuint; _type: GLenum; ustride: GLsizei; vstride: GLsizei; _packed: GLboolean; points: pointer); stdcall;
  3679. glGetMapParameterivNV: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  3680. glGetMapParameterfvNV: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3681. glGetMapAttribParameterivNV: procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLint); stdcall;
  3682. glGetMapAttribParameterfvNV: procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  3683. glEvalMapsNV: procedure(target: GLenum; mode: GLenum); stdcall;
  3684. {$EndIf}
  3685. {$IfDef GL_NV_explicit_multisample}
  3686. glGetMultisamplefvNV: procedure(pname: GLenum; index: GLuint; val: PGLfloat); stdcall;
  3687. glSampleMaskIndexedNV: procedure(index: GLuint; mask: GLbitfield); stdcall;
  3688. glTexRenderbufferNV: procedure(target: GLenum; renderbuffer: GLuint); stdcall;
  3689. {$EndIf}
  3690. {$IfDef GL_NV_fence}
  3691. glDeleteFencesNV: procedure(n: GLsizei; const fences: PGLuint); stdcall;
  3692. glGenFencesNV: procedure(n: GLsizei; fences: PGLuint); stdcall;
  3693. glIsFenceNV: function(fence: GLuint): GLboolean;
  3694. glTestFenceNV: function(fence: GLuint): GLboolean;
  3695. glGetFenceivNV: procedure(fence: GLuint; pname: GLenum; params: PGLint); stdcall;
  3696. glFinishFenceNV: procedure(fence: GLuint); stdcall;
  3697. glSetFenceNV: procedure(fence: GLuint; condition: GLenum); stdcall;
  3698. {$EndIf}
  3699. {$IfDef GL_NV_fragment_coverage_to_color}
  3700. glFragmentCoverageColorNV: procedure(color: GLuint); stdcall;
  3701. {$EndIf}
  3702. {$IfDef GL_NV_fragment_program}
  3703. glProgramNamedParameter4fNV: procedure(id: GLuint; len: GLsizei; const name: PGLubyte; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  3704. glProgramNamedParameter4fvNV: procedure(id: GLuint; len: GLsizei; const name: PGLubyte; const v: PGLfloat); stdcall;
  3705. glProgramNamedParameter4dNV: procedure(id: GLuint; len: GLsizei; const name: PGLubyte; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  3706. glProgramNamedParameter4dvNV: procedure(id: GLuint; len: GLsizei; const name: PGLubyte; const v: PGLdouble); stdcall;
  3707. glGetProgramNamedParameterfvNV: procedure(id: GLuint; len: GLsizei; const name: PGLubyte; params: PGLfloat); stdcall;
  3708. glGetProgramNamedParameterdvNV: procedure(id: GLuint; len: GLsizei; const name: PGLubyte; params: PGLdouble); stdcall;
  3709. {$EndIf}
  3710. {$IfDef GL_NV_framebuffer_mixed_samples}
  3711. glCoverageModulationTableNV: procedure(n: GLsizei; const v: PGLfloat); stdcall;
  3712. glGetCoverageModulationTableNV: procedure(bufSize: GLsizei; v: PGLfloat); stdcall;
  3713. glCoverageModulationNV: procedure(components: GLenum); stdcall;
  3714. {$EndIf}
  3715. {$IfDef GL_NV_framebuffer_multisample_coverage}
  3716. glRenderbufferStorageMultisampleCoverageNV: procedure(target: GLenum; coverageSamples: GLsizei; colorSamples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); stdcall;
  3717. {$EndIf}
  3718. {$IfDef GL_NV_geometry_program4}
  3719. glProgramVertexLimitNV: procedure(target: GLenum; limit: GLint); stdcall;
  3720. glFramebufferTextureEXT: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint); stdcall;
  3721. glFramebufferTextureFaceEXT: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; face: GLenum); stdcall;
  3722. {$EndIf}
  3723. {$IfDef GL_NV_gpu_multicast}
  3724. glRenderGpuMaskNV: procedure(mask: GLbitfield); stdcall;
  3725. glMulticastBufferSubDataNV: procedure(gpuMask: GLbitfield; buffer: GLuint; offset: GLintptr; size: GLsizeiptr; data: pointer); stdcall;
  3726. glMulticastCopyBufferSubDataNV: procedure(readGpu: GLuint; writeGpuMask: GLbitfield; readBuffer: GLuint; writeBuffer: GLuint; readOffset: GLintptr; writeOffset: GLintptr; size: GLsizeiptr); stdcall;
  3727. 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;
  3728. 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;
  3729. glMulticastFramebufferSampleLocationsfvNV: procedure(gpu: GLuint; framebuffer: GLuint; start: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  3730. glMulticastBarrierNV: procedure; stdcall;
  3731. glMulticastWaitSyncNV: procedure(signalGpu: GLuint; waitGpuMask: GLbitfield); stdcall;
  3732. glMulticastGetQueryObjectivNV: procedure(gpu: GLuint; id: GLuint; pname: GLenum; params: PGLint); stdcall;
  3733. glMulticastGetQueryObjectuivNV: procedure(gpu: GLuint; id: GLuint; pname: GLenum; params: PGLuint); stdcall;
  3734. glMulticastGetQueryObjecti64vNV: procedure(gpu: GLuint; id: GLuint; pname: GLenum; params: PGLint64); stdcall;
  3735. glMulticastGetQueryObjectui64vNV: procedure(gpu: GLuint; id: GLuint; pname: GLenum; params: PGLuint64); stdcall;
  3736. {$EndIf}
  3737. {$IfDef GL_NV_gpu_program4}
  3738. glProgramLocalParameterI4iNV: procedure(target: GLenum; index: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); stdcall;
  3739. glProgramLocalParameterI4ivNV: procedure(target: GLenum; index: GLuint; const params: PGLint); stdcall;
  3740. glProgramLocalParametersI4ivNV: procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLint); stdcall;
  3741. glProgramLocalParameterI4uiNV: procedure(target: GLenum; index: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); stdcall;
  3742. glProgramLocalParameterI4uivNV: procedure(target: GLenum; index: GLuint; const params: PGLuint); stdcall;
  3743. glProgramLocalParametersI4uivNV: procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLuint); stdcall;
  3744. glProgramEnvParameterI4iNV: procedure(target: GLenum; index: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); stdcall;
  3745. glProgramEnvParameterI4ivNV: procedure(target: GLenum; index: GLuint; const params: PGLint); stdcall;
  3746. glProgramEnvParametersI4ivNV: procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLint); stdcall;
  3747. glProgramEnvParameterI4uiNV: procedure(target: GLenum; index: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); stdcall;
  3748. glProgramEnvParameterI4uivNV: procedure(target: GLenum; index: GLuint; const params: PGLuint); stdcall;
  3749. glProgramEnvParametersI4uivNV: procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLuint); stdcall;
  3750. glGetProgramLocalParameterIivNV: procedure(target: GLenum; index: GLuint; params: PGLint); stdcall;
  3751. glGetProgramLocalParameterIuivNV: procedure(target: GLenum; index: GLuint; params: PGLuint); stdcall;
  3752. glGetProgramEnvParameterIivNV: procedure(target: GLenum; index: GLuint; params: PGLint); stdcall;
  3753. glGetProgramEnvParameterIuivNV: procedure(target: GLenum; index: GLuint; params: PGLuint); stdcall;
  3754. {$EndIf}
  3755. {$IfDef GL_NV_gpu_program5}
  3756. glProgramSubroutineParametersuivNV: procedure(target: GLenum; count: GLsizei; const params: PGLuint); stdcall;
  3757. glGetProgramSubroutineParameteruivNV: procedure(target: GLenum; index: GLuint; param: PGLuint); stdcall;
  3758. {$EndIf}
  3759. {$IfDef GL_NV_half_float}
  3760. glVertex2hNV: procedure(x: GLhalfNV; y: GLhalfNV); stdcall;
  3761. glVertex2hvNV: procedure(const v: PGLhalfNV); stdcall;
  3762. glVertex3hNV: procedure(x: GLhalfNV; y: GLhalfNV; z: GLhalfNV); stdcall;
  3763. glVertex3hvNV: procedure(const v: PGLhalfNV); stdcall;
  3764. glVertex4hNV: procedure(x: GLhalfNV; y: GLhalfNV; z: GLhalfNV; w: GLhalfNV); stdcall;
  3765. glVertex4hvNV: procedure(const v: PGLhalfNV); stdcall;
  3766. glNormal3hNV: procedure(nx: GLhalfNV; ny: GLhalfNV; nz: GLhalfNV); stdcall;
  3767. glNormal3hvNV: procedure(const v: PGLhalfNV); stdcall;
  3768. glColor3hNV: procedure(red: GLhalfNV; green: GLhalfNV; blue: GLhalfNV); stdcall;
  3769. glColor3hvNV: procedure(const v: PGLhalfNV); stdcall;
  3770. glColor4hNV: procedure(red: GLhalfNV; green: GLhalfNV; blue: GLhalfNV; alpha: GLhalfNV); stdcall;
  3771. glColor4hvNV: procedure(const v: PGLhalfNV); stdcall;
  3772. glTexCoord1hNV: procedure(s: GLhalfNV); stdcall;
  3773. glTexCoord1hvNV: procedure(const v: PGLhalfNV); stdcall;
  3774. glTexCoord2hNV: procedure(s: GLhalfNV; t: GLhalfNV); stdcall;
  3775. glTexCoord2hvNV: procedure(const v: PGLhalfNV); stdcall;
  3776. glTexCoord3hNV: procedure(s: GLhalfNV; t: GLhalfNV; r: GLhalfNV); stdcall;
  3777. glTexCoord3hvNV: procedure(const v: PGLhalfNV); stdcall;
  3778. glTexCoord4hNV: procedure(s: GLhalfNV; t: GLhalfNV; r: GLhalfNV; q: GLhalfNV); stdcall;
  3779. glTexCoord4hvNV: procedure(const v: PGLhalfNV); stdcall;
  3780. glMultiTexCoord1hNV: procedure(target: GLenum; s: GLhalfNV); stdcall;
  3781. glMultiTexCoord1hvNV: procedure(target: GLenum; const v: PGLhalfNV); stdcall;
  3782. glMultiTexCoord2hNV: procedure(target: GLenum; s: GLhalfNV; t: GLhalfNV); stdcall;
  3783. glMultiTexCoord2hvNV: procedure(target: GLenum; const v: PGLhalfNV); stdcall;
  3784. glMultiTexCoord3hNV: procedure(target: GLenum; s: GLhalfNV; t: GLhalfNV; r: GLhalfNV); stdcall;
  3785. glMultiTexCoord3hvNV: procedure(target: GLenum; const v: PGLhalfNV); stdcall;
  3786. glMultiTexCoord4hNV: procedure(target: GLenum; s: GLhalfNV; t: GLhalfNV; r: GLhalfNV; q: GLhalfNV); stdcall;
  3787. glMultiTexCoord4hvNV: procedure(target: GLenum; const v: PGLhalfNV); stdcall;
  3788. glFogCoordhNV: procedure(fog: GLhalfNV); stdcall;
  3789. glFogCoordhvNV: procedure(const fog: PGLhalfNV); stdcall;
  3790. glSecondaryColor3hNV: procedure(red: GLhalfNV; green: GLhalfNV; blue: GLhalfNV); stdcall;
  3791. glSecondaryColor3hvNV: procedure(const v: PGLhalfNV); stdcall;
  3792. glVertexWeighthNV: procedure(weight: GLhalfNV); stdcall;
  3793. glVertexWeighthvNV: procedure(const weight: PGLhalfNV); stdcall;
  3794. glVertexAttrib1hNV: procedure(index: GLuint; x: GLhalfNV); stdcall;
  3795. glVertexAttrib1hvNV: procedure(index: GLuint; const v: PGLhalfNV); stdcall;
  3796. glVertexAttrib2hNV: procedure(index: GLuint; x: GLhalfNV; y: GLhalfNV); stdcall;
  3797. glVertexAttrib2hvNV: procedure(index: GLuint; const v: PGLhalfNV); stdcall;
  3798. glVertexAttrib3hNV: procedure(index: GLuint; x: GLhalfNV; y: GLhalfNV; z: GLhalfNV); stdcall;
  3799. glVertexAttrib3hvNV: procedure(index: GLuint; const v: PGLhalfNV); stdcall;
  3800. glVertexAttrib4hNV: procedure(index: GLuint; x: GLhalfNV; y: GLhalfNV; z: GLhalfNV; w: GLhalfNV); stdcall;
  3801. glVertexAttrib4hvNV: procedure(index: GLuint; const v: PGLhalfNV); stdcall;
  3802. glVertexAttribs1hvNV: procedure(index: GLuint; n: GLsizei; const v: PGLhalfNV); stdcall;
  3803. glVertexAttribs2hvNV: procedure(index: GLuint; n: GLsizei; const v: PGLhalfNV); stdcall;
  3804. glVertexAttribs3hvNV: procedure(index: GLuint; n: GLsizei; const v: PGLhalfNV); stdcall;
  3805. glVertexAttribs4hvNV: procedure(index: GLuint; n: GLsizei; const v: PGLhalfNV); stdcall;
  3806. {$EndIf}
  3807. {$IfDef GL_NV_internalformat_sample_query}
  3808. glGetInternalformatSampleivNV: procedure(target: GLenum; internalformat: GLenum; samples: GLsizei; pname: GLenum; count: GLsizei; params: PGLint); stdcall;
  3809. {$EndIf}
  3810. {$IfDef GL_NV_memory_attachment}
  3811. glGetMemoryObjectDetachedResourcesuivNV: procedure(memory: GLuint; pname: GLenum; first: GLint; count: GLsizei; params: PGLuint); stdcall;
  3812. glResetMemoryObjectParameterNV: procedure(memory: GLuint; pname: GLenum); stdcall;
  3813. glTexAttachMemoryNV: procedure(target: GLenum; memory: GLuint; offset: GLuint64); stdcall;
  3814. glBufferAttachMemoryNV: procedure(target: GLenum; memory: GLuint; offset: GLuint64); stdcall;
  3815. glTextureAttachMemoryNV: procedure(texture: GLuint; memory: GLuint; offset: GLuint64); stdcall;
  3816. glNamedBufferAttachMemoryNV: procedure(buffer: GLuint; memory: GLuint; offset: GLuint64); stdcall;
  3817. {$EndIf}
  3818. {$IfDef GL_NV_memory_object_sparse}
  3819. glBufferPageCommitmentMemNV: procedure(target: GLenum; offset: GLintptr; size: GLsizeiptr; memory: GLuint; memOffset: GLuint64; commit: GLboolean); stdcall;
  3820. 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;
  3821. glNamedBufferPageCommitmentMemNV: procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; memory: GLuint; memOffset: GLuint64; commit: GLboolean); stdcall;
  3822. 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;
  3823. {$EndIf}
  3824. {$IfDef GL_NV_mesh_shader}
  3825. glDrawMeshTasksNV: procedure(first: GLuint; count: GLuint); stdcall;
  3826. glDrawMeshTasksIndirectNV: procedure(indirect: GLintptr); stdcall;
  3827. glMultiDrawMeshTasksIndirectNV: procedure(indirect: GLintptr; drawcount: GLsizei; stride: GLsizei); stdcall;
  3828. glMultiDrawMeshTasksIndirectCountNV: procedure(indirect: GLintptr; drawcount: GLintptr; maxdrawcount: GLsizei; stride: GLsizei); stdcall;
  3829. {$EndIf}
  3830. {$IfDef GL_NV_occlusion_query}
  3831. glGenOcclusionQueriesNV: procedure(n: GLsizei; ids: PGLuint); stdcall;
  3832. glDeleteOcclusionQueriesNV: procedure(n: GLsizei; const ids: PGLuint); stdcall;
  3833. glIsOcclusionQueryNV: function(id: GLuint): GLboolean; stdcall;
  3834. glBeginOcclusionQueryNV: procedure(id: GLuint); stdcall;
  3835. glEndOcclusionQueryNV: procedure; stdcall;
  3836. glGetOcclusionQueryivNV: procedure(id: GLuint; pname: GLenum; params: PGLint); stdcall;
  3837. glGetOcclusionQueryuivNV: procedure(id: GLuint; pname: GLenum; params: PGLuint); stdcall;
  3838. {$EndIf}
  3839. {$IfDef GL_NV_parameter_buffer_object}
  3840. glProgramBufferParametersfvNV: procedure(target: GLenum; bindingIndex: GLuint; wordIndex: GLuint; count: GLsizei; const params: PGLfloat); stdcall;
  3841. glProgramBufferParametersIivNV: procedure(target: GLenum; bindingIndex: GLuint; wordIndex: GLuint; count: GLsizei; const params: PGLint); stdcall;
  3842. glProgramBufferParametersIuivNV: procedure(target: GLenum; bindingIndex: GLuint; wordIndex: GLuint; count: GLsizei; const params: PGLuint); stdcall;
  3843. {$EndIf}
  3844. {$IfDef GL_NV_path_rendering}
  3845. glGenPathsNV: function(range: GLsizei): GLuint; stdcall;
  3846. glDeletePathsNV: procedure(path: GLuint; range: GLsizei); stdcall;
  3847. glIsPathNV: function(path: GLuint): GLboolean; stdcall;
  3848. glPathCommandsNV: procedure(path: GLuint; numCommands: GLsizei; const commands: PGLubyte; numCoords: GLsizei; coordType: GLenum; const coords: pointer); stdcall;
  3849. glPathCoordsNV: procedure(path: GLuint; numCoords: GLsizei; coordType: GLenum; const coords: pointer); stdcall;
  3850. glPathSubCommandsNV: procedure(path: GLuint; commandStart: GLsizei; commandsToDelete: GLsizei; numCommands: GLsizei; const commands: PGLubyte; numCoords: GLsizei; coordType: GLenum; const coords: pointer); stdcall;
  3851. glPathSubCoordsNV: procedure(path: GLuint; coordStart: GLsizei; numCoords: GLsizei; coordType: GLenum; const coords: pointer); stdcall;
  3852. glPathStringNV: procedure(path: GLuint; format: GLenum; length: GLsizei; const pathString: pointer); stdcall;
  3853. 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;
  3854. glPathGlyphRangeNV: procedure(firstPathName: GLuint; fontTarget: GLenum; const fontName: pointer; fontStyle: GLbitfield; firstGlyph: GLuint; numGlyphs: GLsizei; handleMissingGlyphs: GLenum; pathParameterTemplate: GLuint; emScale: GLfloat); stdcall;
  3855. glWeightPathsNV: procedure(resultPath: GLuint; numPaths: GLsizei; const paths: PGLuint; const weights: PGLfloat); stdcall;
  3856. glCopyPathNV: procedure(resultPath: GLuint; srcPath: GLuint); stdcall;
  3857. glInterpolatePathsNV: procedure(resultPath: GLuint; pathA: GLuint; pathB: GLuint; weight: GLfloat); stdcall;
  3858. glTransformPathNV: procedure(resultPath: GLuint; srcPath: GLuint; transformType: GLenum; const transformValues: PGLfloat); stdcall;
  3859. glPathParameterivNV: procedure(path: GLuint; pname: GLenum; const value: PGLint); stdcall;
  3860. glPathParameteriNV: procedure(path: GLuint; pname: GLenum; value: GLint); stdcall;
  3861. glPathParameterfvNV: procedure(path: GLuint; pname: GLenum; const value: PGLfloat); stdcall;
  3862. glPathParameterfNV: procedure(path: GLuint; pname: GLenum; value: GLfloat); stdcall;
  3863. glPathDashArrayNV: procedure(path: GLuint; dashCount: GLsizei; const dashArray: PGLfloat); stdcall;
  3864. glPathStencilFuncNV: procedure(func: GLenum; ref: GLint; mask: GLuint); stdcall;
  3865. glPathStencilDepthOffsetNV: procedure(factor: GLfloat; units: GLfloat); stdcall;
  3866. glStencilFillPathNV: procedure(path: GLuint; fillMode: GLenum; mask: GLuint); stdcall;
  3867. glStencilStrokePathNV: procedure(path: GLuint; reference: GLint; mask: GLuint); stdcall;
  3868. glStencilFillPathInstancedNV: procedure(numPaths: GLsizei; pathNameType: GLenum; const paths: pointer; pathBase: GLuint; fillMode: GLenum; mask: GLuint; transformType: GLenum; const transformValues: PGLfloat); stdcall;
  3869. glStencilStrokePathInstancedNV: procedure(numPaths: GLsizei; pathNameType: GLenum; const paths: pointer; pathBase: GLuint; reference: GLint; mask: GLuint; transformType: GLenum; const transformValues: PGLfloat); stdcall;
  3870. glPathCoverDepthFuncNV: procedure(func: GLenum); stdcall;
  3871. glCoverFillPathNV: procedure(path: GLuint; coverMode: GLenum); stdcall;
  3872. glCoverStrokePathNV: procedure(path: GLuint; coverMode: GLenum); stdcall;
  3873. glCoverFillPathInstancedNV: procedure(numPaths: GLsizei; pathNameType: GLenum; const paths: pointer; pathBase: GLuint; coverMode: GLenum; transformType: GLenum; const transformValues: PGLfloat); stdcall;
  3874. glCoverStrokePathInstancedNV: procedure(numPaths: GLsizei; pathNameType: GLenum; const paths: pointer; pathBase: GLuint; coverMode: GLenum; transformType: GLenum; const transformValues: PGLfloat); stdcall;
  3875. glGetPathParameterivNV: procedure(path: GLuint; pname: GLenum; value: PGLint); stdcall;
  3876. glGetPathParameterfvNV: procedure(path: GLuint; pname: GLenum; value: PGLfloat); stdcall;
  3877. glGetPathCommandsNV: procedure(path: GLuint; commands: PGLubyte); stdcall;
  3878. glGetPathCoordsNV: procedure(path: GLuint; coords: PGLfloat); stdcall;
  3879. glGetPathDashArrayNV: procedure(path: GLuint; dashArray: PGLfloat); stdcall;
  3880. glGetPathMetricsNV: procedure(metricQueryMask: GLbitfield; numPaths: GLsizei; pathNameType: GLenum; const paths: pointer; pathBase: GLuint; stride: GLsizei; metrics: PGLfloat); stdcall;
  3881. glGetPathMetricRangeNV: procedure(metricQueryMask: GLbitfield; firstPathName: GLuint; numPaths: GLsizei; stride: GLsizei; metrics: PGLfloat); stdcall;
  3882. glGetPathSpacingNV: procedure(pathListMode: GLenum; numPaths: GLsizei; pathNameType: GLenum; const paths: pointer; pathBase: GLuint; advanceScale: GLfloat; kerningScale: GLfloat; transformType: GLenum; returnedSpacing: PGLfloat); stdcall;
  3883. glIsPointInFillPathNV: function(path: GLuint; mask: GLuint; x: GLfloat; y: GLfloat): GLboolean; stdcall;
  3884. glIsPointInStrokePathNV: function(path: GLuint; x: GLfloat; y: GLfloat): GLboolean; stdcall;
  3885. glGetPathLengthNV: function(path: GLuint; startSegment: GLsizei; numSegments: GLsizei): GLfloat; stdcall;
  3886. glPointAlongPathNV: function(path: GLuint; startSegment: GLsizei; numSegments: GLsizei; distance: GLfloat; x: PGLfloat; y: PGLfloat; tangentX: PGLfloat; tangentY: PGLfloat): GLboolean; stdcall;
  3887. glMatrixLoad3x2fNV: procedure(matrixMode: GLenum; const m: PGLfloat); stdcall;
  3888. glMatrixLoad3x3fNV: procedure(matrixMode: GLenum; const m: PGLfloat); stdcall;
  3889. glMatrixLoadTranspose3x3fNV: procedure(matrixMode: GLenum; const m: PGLfloat); stdcall;
  3890. glMatrixMult3x2fNV: procedure(matrixMode: GLenum; const m: PGLfloat); stdcall;
  3891. glMatrixMult3x3fNV: procedure(matrixMode: GLenum; const m: PGLfloat); stdcall;
  3892. glMatrixMultTranspose3x3fNV: procedure(matrixMode: GLenum; const m: PGLfloat); stdcall;
  3893. glStencilThenCoverFillPathNV: procedure(path: GLuint; fillMode: GLenum; mask: GLuint; coverMode: GLenum); stdcall;
  3894. glStencilThenCoverStrokePathNV: procedure(path: GLuint; reference: GLint; mask: GLuint; coverMode: GLenum); stdcall;
  3895. glStencilThenCoverFillPathInstancedNV: procedure(numPaths: GLsizei; pathNameType: GLenum; const paths: pointer; pathBase: GLuint; fillMode: GLenum; mask: GLuint; coverMode: GLenum; transformType: GLenum; const transformValues: PGLfloat); stdcall;
  3896. glStencilThenCoverStrokePathInstancedNV: procedure(numPaths: GLsizei; pathNameType: GLenum; const paths: pointer; pathBase: GLuint; reference: GLint; mask: GLuint; coverMode: GLenum; transformType: GLenum; const transformValues: PGLfloat); stdcall;
  3897. glPathGlyphIndexRangeNV: function(fontTarget: GLenum; const fontName: pointer; fontStyle: GLbitfield; pathParameterTemplate: GLuint; emScale: GLfloat; baseAndCount: PGLuint): GLenum; stdcall;
  3898. glPathGlyphIndexArrayNV: function(firstPathName: GLuint; fontTarget: GLenum; const fontName: pointer; fontStyle: GLbitfield; firstGlyphIndex: GLuint; numGlyphs: GLsizei; pathParameterTemplate: GLuint; emScale: GLfloat): GLenum; stdcall;
  3899. glPathMemoryGlyphIndexArrayNV: function(firstPathName: GLuint; fontTarget: GLenum; fontSize: GLsizeiptr; const fontData: pointer; faceIndex: GLsizei; firstGlyphIndex: GLuint; numGlyphs: GLsizei; pathParameterTemplate: GLuint; emScale: GLfloat): GLenum; stdcall;
  3900. glProgramPathFragmentInputGenNV: procedure(_program: GLuint; location: GLint; genMode: GLenum; components: GLint; const coeffs: PGLfloat); stdcall;
  3901. glGetProgramResourcefvNV: procedure(_program: GLuint; programInterface: GLenum; index: GLuint; propCount: GLsizei; const props: PGLenum; count: GLsizei; length: PGLsizei; params: PGLfloat); stdcall;
  3902. {$IfNDef USE_GLCORE}
  3903. glPathColorGenNV: procedure(color: GLenum; genMode: GLenum; colorFormat: GLenum; const coeffs: PGLfloat); stdcall;
  3904. glPathTexGenNV: procedure(texCoordSet: GLenum; genMode: GLenum; components: GLint; const coeffs: PGLfloat); stdcall;
  3905. glPathFogGenNV: procedure(genMode: GLenum); stdcall;
  3906. glGetPathColorGenivNV: procedure(color: GLenum; pname: GLenum; value: PGLint); stdcall;
  3907. glGetPathColorGenfvNV: procedure(color: GLenum; pname: GLenum; value: PGLfloat); stdcall;
  3908. glGetPathTexGenivNV: procedure(texCoordSet: GLenum; pname: GLenum; value: PGLint); stdcall;
  3909. glGetPathTexGenfvNV: procedure(texCoordSet: GLenum; pname: GLenum; value: PGLfloat); stdcall;
  3910. {$EndIf}
  3911. {$EndIf}
  3912. {$IfDef GL_NV_pixel_data_range}
  3913. glPixelDataRangeNV: procedure(target: GLenum; length: GLsizei; pointer: pointer); stdcall;
  3914. glFlushPixelDataRangeNV: procedure(target: GLenum); stdcall;
  3915. {$EndIf}
  3916. {$IfDef GL_NV_point_sprite}
  3917. glPointParameteriNV: procedure(pname: GLenum; param: GLint); stdcall;
  3918. glPointParameterivNV: procedure(pname: GLenum; const params: PGLint); stdcall;
  3919. {$EndIf}
  3920. {$IfDef GL_NV_present_video}
  3921. 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;
  3922. 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;
  3923. glGetVideoivNV: procedure(video_slot: GLuint; pname: GLenum; params: PGLint); stdcall;
  3924. glGetVideouivNV: procedure(video_slot: GLuint; pname: GLenum; params: PGLuint); stdcall;
  3925. glGetVideoi64vNV: procedure(video_slot: GLuint; pname: GLenum; params: PGLint64EXT); stdcall;
  3926. glGetVideoui64vNV: procedure(video_slot: GLuint; pname: GLenum; params: PGLuint64EXT); stdcall;
  3927. {$EndIf}
  3928. {$IfDef GL_NV_primitive_restart}
  3929. glPrimitiveRestartNV: procedure; stdcall;
  3930. glPrimitiveRestartIndexNV: procedure(index: GLuint); stdcall;
  3931. {$EndIf}
  3932. {$IfDef GL_NV_query_resource}
  3933. glQueryResourceNV: function(queryType: GLenum; tagId: GLint; count: GLuint; buffer: PGLint): GLint; stdcall;
  3934. {$EndIf}
  3935. {$IfDef GL_NV_query_resource_tag}
  3936. glGenQueryResourceTagNV: procedure(n: GLsizei; tagIds: PGLint); stdcall;
  3937. glDeleteQueryResourceTagNV: procedure(n: GLsizei; const tagIds: PGLint); stdcall;
  3938. glQueryResourceTagNV: procedure(tagId: GLint; const tagString: PGLchar); stdcall;
  3939. {$EndIf}
  3940. {$IfDef GL_NV_register_combiners}
  3941. glCombinerParameterfvNV: procedure(pname: GLenum; const params: PGLfloat); stdcall;
  3942. glCombinerParameterfNV: procedure(pname: GLenum; param: GLfloat); stdcall;
  3943. glCombinerParameterivNV: procedure(pname: GLenum; const params: PGLint); stdcall;
  3944. glCombinerParameteriNV: procedure(pname: GLenum; param: GLint); stdcall;
  3945. glCombinerInputNV: procedure(stage: GLenum; portion: GLenum; variable: GLenum; input: GLenum; mapping: GLenum; componentUsage: GLenum); stdcall;
  3946. glCombinerOutputNV: procedure(stage: GLenum; portion: GLenum; abOutput: GLenum; cdOutput: GLenum; sumOutput: GLenum; scale: GLenum; bias: GLenum; abDotProduct: GLboolean; cdDotProduct: GLboolean; muxSum: GLboolean); stdcall;
  3947. glFinalCombinerInputNV: procedure(variable: GLenum; input: GLenum; mapping: GLenum; componentUsage: GLenum); stdcall;
  3948. glGetCombinerInputParameterfvNV: procedure(stage: GLenum; portion: GLenum; variable: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3949. glGetCombinerInputParameterivNV: procedure(stage: GLenum; portion: GLenum; variable: GLenum; pname: GLenum; params: PGLint); stdcall;
  3950. glGetCombinerOutputParameterfvNV: procedure(stage: GLenum; portion: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3951. glGetCombinerOutputParameterivNV: procedure(stage: GLenum; portion: GLenum; pname: GLenum; params: PGLint); stdcall;
  3952. glGetFinalCombinerInputParameterfvNV: procedure(variable: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3953. glGetFinalCombinerInputParameterivNV: procedure(variable: GLenum; pname: GLenum; params: PGLint); stdcall;
  3954. {$EndIf}
  3955. {$IfDef GL_NV_register_combiners2}
  3956. glCombinerStageParameterfvNV: procedure(stage: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  3957. glGetCombinerStageParameterfvNV: procedure(stage: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  3958. {$EndIf}
  3959. {$IfDef GL_NV_sample_locations}
  3960. glFramebufferSampleLocationsfvNV: procedure(target: GLenum; start: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  3961. glNamedFramebufferSampleLocationsfvNV: procedure(framebuffer: GLuint; start: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  3962. glResolveDepthValuesNV: procedure; stdcall;
  3963. {$EndIf}
  3964. {$IfDef GL_NV_scissor_exclusive}
  3965. glScissorExclusiveNV: procedure(x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall;
  3966. glScissorExclusiveArrayvNV: procedure(first: GLuint; count: GLsizei; const v: PGLint); stdcall;
  3967. {$EndIf}
  3968. {$IfDef GL_NV_shader_buffer_load}
  3969. glMakeBufferResidentNV: procedure(target: GLenum; access: GLenum); stdcall;
  3970. glMakeBufferNonResidentNV: procedure(target: GLenum); stdcall;
  3971. glIsBufferResidentNV: function(target: GLenum): GLboolean; stdcall;
  3972. glMakeNamedBufferResidentNV: procedure(buffer: GLuint; access: GLenum); stdcall;
  3973. glMakeNamedBufferNonResidentNV: procedure(buffer: GLuint); stdcall;
  3974. glIsNamedBufferResidentNV: function(buffer: GLuint): GLboolean; stdcall;
  3975. glGetBufferParameterui64vNV: procedure(target: GLenum; pname: GLenum; params: PGLuint64EXT); stdcall;
  3976. glGetNamedBufferParameterui64vNV: procedure(buffer: GLuint; pname: GLenum; params: PGLuint64EXT); stdcall;
  3977. glGetIntegerui64vNV: procedure(value: GLenum; result: PGLuint64EXT); stdcall;
  3978. glUniformui64NV: procedure(location: GLint; value: GLuint64EXT); stdcall;
  3979. glUniformui64vNV: procedure(location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  3980. glProgramUniformui64NV: procedure(_program: GLuint; location: GLint; value: GLuint64EXT); stdcall;
  3981. glProgramUniformui64vNV: procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64EXT); stdcall;
  3982. {$EndIf}
  3983. {$IfDef GL_NV_shading_rate_image}
  3984. glBindShadingRateImageNV: procedure(texture: GLuint); stdcall;
  3985. glGetShadingRateImagePaletteNV: procedure(viewport: GLuint; entry: GLuint; rate: PGLenum); stdcall;
  3986. glGetShadingRateSampleLocationivNV: procedure(rate: GLenum; samples: GLuint; index: GLuint; location: PGLint); stdcall;
  3987. glShadingRateImageBarrierNV: procedure(synchronize: GLboolean); stdcall;
  3988. glShadingRateImagePaletteNV: procedure(viewport: GLuint; first: GLuint; count: GLsizei; const rates: PGLenum); stdcall;
  3989. glShadingRateSampleOrderNV: procedure(order: GLenum); stdcall;
  3990. glShadingRateSampleOrderCustomNV: procedure(rate: GLenum; samples: GLuint; const locations: PGLint); stdcall;
  3991. {$EndIf}
  3992. {$IfDef GL_NV_texture_barrier}
  3993. glTextureBarrierNV: procedure; stdcall;
  3994. {$EndIf}
  3995. {$IfDef GL_NV_texture_multisample}
  3996. glTexImage2DMultisampleCoverageNV: procedure(target: GLenum; coverageSamples: GLsizei; colorSamples: GLsizei; internalFormat: GLint; width: GLsizei; height: GLsizei; fixedSampleLocations: GLboolean); stdcall;
  3997. glTexImage3DMultisampleCoverageNV: procedure(target: GLenum; coverageSamples: GLsizei; colorSamples: GLsizei; internalFormat: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; fixedSampleLocations: GLboolean); stdcall;
  3998. glTextureImage2DMultisampleNV: procedure(texture: GLuint; target: GLenum; samples: GLsizei; internalFormat: GLint; width: GLsizei; height: GLsizei; fixedSampleLocations: GLboolean); stdcall;
  3999. glTextureImage3DMultisampleNV: procedure(texture: GLuint; target: GLenum; samples: GLsizei; internalFormat: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; fixedSampleLocations: GLboolean); stdcall;
  4000. glTextureImage2DMultisampleCoverageNV: procedure(texture: GLuint; target: GLenum; coverageSamples: GLsizei; colorSamples: GLsizei; internalFormat: GLint; width: GLsizei; height: GLsizei; fixedSampleLocations: GLboolean); stdcall;
  4001. glTextureImage3DMultisampleCoverageNV: procedure(texture: GLuint; target: GLenum; coverageSamples: GLsizei; colorSamples: GLsizei; internalFormat: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; fixedSampleLocations: GLboolean); stdcall;
  4002. {$EndIf}
  4003. {$IfDef GL_NV_timeline_semaphore}
  4004. glCreateSemaphoresNV: procedure(n: GLsizei; semaphores: PGLuint); stdcall;
  4005. glSemaphoreParameterivNV: procedure(semaphore: GLuint; pname: GLenum; const params: PGLint); stdcall;
  4006. glGetSemaphoreParameterivNV: procedure(semaphore: GLuint; pname: GLenum; params: PGLint); stdcall;
  4007. {$EndIf}
  4008. {$IfDef GL_NV_transform_feedback}
  4009. glBeginTransformFeedbackNV: procedure(primitiveMode: GLenum); stdcall;
  4010. glEndTransformFeedbackNV: procedure; stdcall;
  4011. glTransformFeedbackAttribsNV: procedure(count: GLsizei; const attribs: PGLint; bufferMode: GLenum); stdcall;
  4012. glBindBufferRangeNV: procedure(target: GLenum; index: GLuint; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); stdcall;
  4013. glBindBufferOffsetNV: procedure(target: GLenum; index: GLuint; buffer: GLuint; offset: GLintptr); stdcall;
  4014. glBindBufferBaseNV: procedure(target: GLenum; index: GLuint; buffer: GLuint); stdcall;
  4015. glTransformFeedbackVaryingsNV: procedure(_program: GLuint; count: GLsizei; const locations: PGLint; bufferMode: GLenum); stdcall;
  4016. glActiveVaryingNV: procedure(_program: GLuint; const name: PGLchar); stdcall;
  4017. glGetVaryingLocationNV: function(_program: GLuint; const name: PGLchar): GLint; stdcall;
  4018. glGetActiveVaryingNV: procedure(_program: GLuint; index: GLuint; bufSize: GLsizei; length: PGLsizei; size: PGLsizei; _type: PGLenum; name: PGLchar); stdcall;
  4019. glGetTransformFeedbackVaryingNV: procedure(_program: GLuint; index: GLuint; location: PGLint); stdcall;
  4020. glTransformFeedbackStreamAttribsNV: procedure(count: GLsizei; const attribs: PGLint; nbuffers: GLsizei; const bufstreams: PGLint; bufferMode: GLenum); stdcall;
  4021. {$EndIf}
  4022. {$IfDef GL_NV_transform_feedback2}
  4023. glBindTransformFeedbackNV: procedure(target: GLenum; id: GLuint); stdcall;
  4024. glDeleteTransformFeedbacksNV: procedure(n: GLsizei; const ids: PGLuint); stdcall;
  4025. glGenTransformFeedbacksNV: procedure(n: GLsizei; ids: PGLuint); stdcall;
  4026. glIsTransformFeedbackNV: function(id: GLuint): GLboolean; stdcall;
  4027. glPauseTransformFeedbackNV: procedure; stdcall;
  4028. glResumeTransformFeedbackNV: procedure; stdcall;
  4029. glDrawTransformFeedbackNV: procedure(mode: GLenum; id: GLuint); stdcall;
  4030. {$EndIf}
  4031. {$IfDef GL_NV_vdpau_interop}
  4032. glVDPAUInitNV: procedure(vdpDevice: pointer; const getProcAddress: pointer); stdcall;
  4033. glVDPAUFiniNV: procedure; stdcall;
  4034. glVDPAURegisterVideoSurfaceNV: function(const vdpSurface: pointer; target: GLenum; numTextureNames: GLsizei; const textureNames: PGLuint): GLvdpauSurfaceNV; stdcall;
  4035. glVDPAURegisterOutputSurfaceNV: function(const vdpSurface: pointer; target: GLenum; numTextureNames: GLsizei; const textureNames: PGLuint): GLvdpauSurfaceNV; stdcall;
  4036. glVDPAUIsSurfaceNV: function(surface: GLvdpauSurfaceNV): GLboolean; stdcall;
  4037. glVDPAUUnregisterSurfaceNV: procedure(surface: GLvdpauSurfaceNV); stdcall;
  4038. glVDPAUGetSurfaceivNV: procedure(surface: GLvdpauSurfaceNV; pname: GLenum; count: GLsizei; length: PGLsizei; values: PGLint); stdcall;
  4039. glVDPAUSurfaceAccessNV: procedure(surface: GLvdpauSurfaceNV; access: GLenum); stdcall;
  4040. glVDPAUMapSurfacesNV: procedure(numSurfaces: GLsizei; const surfaces: PGLvdpauSurfaceNV); stdcall;
  4041. glVDPAUUnmapSurfacesNV: procedure(numSurface: GLsizei; const surfaces: PGLvdpauSurfaceNV); stdcall;
  4042. {$EndIf}
  4043. {$IfDef GL_NV_vdpau_interop2}
  4044. glVDPAURegisterVideoSurfaceWithPictureStructureNV: function(const vdpSurface: pointer; target: GLenum; numTextureNames: GLsizei; const textureNames: PGLuint; isFrameStructure: GLboolean): GLvdpauSurfaceNV; stdcall;
  4045. {$EndIf}
  4046. {$IfDef GL_NV_vertex_array_range}
  4047. glFlushVertexArrayRangeNV: procedure; stdcall;
  4048. glVertexArrayRangeNV: procedure(length: GLsizei; const _pointer: pointer); stdcall;
  4049. {$EndIf}
  4050. {$IfDef GL_NV_vertex_attrib_integer_64bit}
  4051. glVertexAttribL1i64NV: procedure(index: GLuint; x: GLint64EXT); stdcall;
  4052. glVertexAttribL2i64NV: procedure(index: GLuint; x: GLint64EXT; y: GLint64EXT); stdcall;
  4053. glVertexAttribL3i64NV: procedure(index: GLuint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT); stdcall;
  4054. glVertexAttribL4i64NV: procedure(index: GLuint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT; w: GLint64EXT); stdcall;
  4055. glVertexAttribL1i64vNV: procedure(index: GLuint; const v: PGLint64EXT); stdcall;
  4056. glVertexAttribL2i64vNV: procedure(index: GLuint; const v: PGLint64EXT); stdcall;
  4057. glVertexAttribL3i64vNV: procedure(index: GLuint; const v: PGLint64EXT); stdcall;
  4058. glVertexAttribL4i64vNV: procedure(index: GLuint; const v: PGLint64EXT); stdcall;
  4059. glVertexAttribL1ui64NV: procedure(index: GLuint; x: GLuint64EXT); stdcall;
  4060. glVertexAttribL2ui64NV: procedure(index: GLuint; x: GLuint64EXT; y: GLuint64EXT); stdcall;
  4061. glVertexAttribL3ui64NV: procedure(index: GLuint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT); stdcall;
  4062. glVertexAttribL4ui64NV: procedure(index: GLuint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT; w: GLuint64EXT); stdcall;
  4063. glVertexAttribL1ui64vNV: procedure(index: GLuint; const v: PGLuint64EXT); stdcall;
  4064. glVertexAttribL2ui64vNV: procedure(index: GLuint; const v: PGLuint64EXT); stdcall;
  4065. glVertexAttribL3ui64vNV: procedure(index: GLuint; const v: PGLuint64EXT); stdcall;
  4066. glVertexAttribL4ui64vNV: procedure(index: GLuint; const v: PGLuint64EXT); stdcall;
  4067. glGetVertexAttribLi64vNV: procedure(index: GLuint; pname: GLenum; params: PGLint64EXT); stdcall;
  4068. glGetVertexAttribLui64vNV: procedure(index: GLuint; pname: GLenum; params: PGLuint64EXT); stdcall;
  4069. glVertexAttribLFormatNV: procedure(index: GLuint; size: GLint; _type: GLenum; stride: GLsizei); stdcall;
  4070. {$EndIf}
  4071. {$IfDef GL_NV_vertex_buffer_unified_memory}
  4072. glBufferAddressRangeNV: procedure(pname: GLenum; index: GLuint; address: GLuint64EXT; length: GLsizeiptr); stdcall;
  4073. glVertexFormatNV: procedure(size: GLint; _type: GLenum; stride: GLsizei); stdcall;
  4074. glNormalFormatNV: procedure(_type: GLenum; stride: GLsizei); stdcall;
  4075. glColorFormatNV: procedure(size: GLint; _type: GLenum; stride: GLsizei); stdcall;
  4076. glIndexFormatNV: procedure(_type: GLenum; stride: GLsizei); stdcall;
  4077. glTexCoordFormatNV: procedure(size: GLint; _type: GLenum; stride: GLsizei); stdcall;
  4078. glEdgeFlagFormatNV: procedure(stride: GLsizei); stdcall;
  4079. glSecondaryColorFormatNV: procedure(size: GLint; _type: GLenum; stride: GLsizei); stdcall;
  4080. glFogCoordFormatNV: procedure(_type: GLenum; stride: GLsizei); stdcall;
  4081. glVertexAttribFormatNV: procedure(index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei); stdcall;
  4082. glVertexAttribIFormatNV: procedure(index: GLuint; size: GLint; _type: GLenum; stride: GLsizei); stdcall;
  4083. glGetIntegerui64i_vNV: procedure(value: GLenum; index: GLuint; result: PGLuint64EXT); stdcall;
  4084. {$EndIf}
  4085. {$IfDef GL_NV_vertex_program}
  4086. glAreProgramsResidentNV: function(n: GLsizei; const programs: PGLuint; residences: PGLboolean): GLboolean; stdcall;
  4087. glBindProgramNV: procedure(target: GLenum; id: GLuint); stdcall;
  4088. glDeleteProgramsNV: procedure(n: GLsizei; const programs: PGLuint); stdcall;
  4089. glExecuteProgramNV: procedure(target: GLenum; id: GLuint; const params: PGLfloat); stdcall;
  4090. glGenProgramsNV: procedure(n: GLsizei; programs: PGLuint); stdcall;
  4091. glGetProgramParameterdvNV: procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLdouble); stdcall;
  4092. glGetProgramParameterfvNV: procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  4093. glGetProgramivNV: procedure(id: GLuint; pname: GLenum; params: PGLint); stdcall;
  4094. glGetProgramStringNV: procedure(id: GLuint; pname: GLenum; _program: PGLubyte); stdcall;
  4095. glGetTrackMatrixivNV: procedure(target: GLenum; address: GLuint; pname: GLenum; params: PGLint); stdcall;
  4096. glGetVertexAttribdvNV: procedure(index: GLuint; pname: GLenum; params: PGLdouble); stdcall;
  4097. glGetVertexAttribfvNV: procedure(index: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  4098. glGetVertexAttribivNV: procedure(index: GLuint; pname: GLenum; params: PGLint); stdcall;
  4099. glGetVertexAttribPointervNV: procedure(index: GLuint; pname: GLenum; pointer:Ppointer); stdcall;
  4100. glIsProgramNV: function(id: GLuint): GLboolean; stdcall;
  4101. glLoadProgramNV: procedure(target: GLenum; id: GLuint; len: GLsizei; const _program: PGLubyte); stdcall;
  4102. glProgramParameter4dNV: procedure(target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  4103. glProgramParameter4dvNV: procedure(target: GLenum; index: GLuint; const v: PGLdouble); stdcall;
  4104. glProgramParameter4fNV: procedure(target: GLenum; index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  4105. glProgramParameter4fvNV: procedure(target: GLenum; index: GLuint; const v: PGLfloat); stdcall;
  4106. glProgramParameters4dvNV: procedure(target: GLenum; index: GLuint; count: GLsizei; const v: PGLdouble); stdcall;
  4107. glProgramParameters4fvNV: procedure(target: GLenum; index: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  4108. glRequestResidentProgramsNV: procedure(n: GLsizei; const programs: PGLuint); stdcall;
  4109. glTrackMatrixNV: procedure(target: GLenum; address: GLuint; matrix: GLenum; transform: GLenum); stdcall;
  4110. glVertexAttribPointerNV: procedure(index: GLuint; fsize: GLint; _type: GLenum; stride: GLsizei; const _pointer: pointer); stdcall;
  4111. glVertexAttrib1dNV: procedure(index: GLuint; x: GLdouble); stdcall;
  4112. glVertexAttrib1dvNV: procedure(index: GLuint; const v: PGLdouble); stdcall;
  4113. glVertexAttrib1fNV: procedure(index: GLuint; x: GLfloat); stdcall;
  4114. glVertexAttrib1fvNV: procedure(index: GLuint; const v: PGLfloat); stdcall;
  4115. glVertexAttrib1sNV: procedure(index: GLuint; x: GLshort); stdcall;
  4116. glVertexAttrib1svNV: procedure(index: GLuint; const v: PGLshort); stdcall;
  4117. glVertexAttrib2dNV: procedure(index: GLuint; x: GLdouble; y: GLdouble); stdcall;
  4118. glVertexAttrib2dvNV: procedure(index: GLuint; const v: PGLdouble); stdcall;
  4119. glVertexAttrib2fNV: procedure(index: GLuint; x: GLfloat; y: GLfloat); stdcall;
  4120. glVertexAttrib2fvNV: procedure(index: GLuint; const v: PGLfloat); stdcall;
  4121. glVertexAttrib2sNV: procedure(index: GLuint; x: GLshort; y: GLshort); stdcall;
  4122. glVertexAttrib2svNV: procedure(index: GLuint; const v: PGLshort); stdcall;
  4123. glVertexAttrib3dNV: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); stdcall;
  4124. glVertexAttrib3dvNV: procedure(index: GLuint; const v: PGLdouble); stdcall;
  4125. glVertexAttrib3fNV: procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4126. glVertexAttrib3fvNV: procedure(index: GLuint; const v: PGLfloat); stdcall;
  4127. glVertexAttrib3sNV: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort); stdcall;
  4128. glVertexAttrib3svNV: procedure(index: GLuint; const v: PGLshort); stdcall;
  4129. glVertexAttrib4dNV: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); stdcall;
  4130. glVertexAttrib4dvNV: procedure(index: GLuint; const v: PGLdouble); stdcall;
  4131. glVertexAttrib4fNV: procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  4132. glVertexAttrib4fvNV: procedure(index: GLuint; const v: PGLfloat); stdcall;
  4133. glVertexAttrib4sNV: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort; w: GLshort); stdcall;
  4134. glVertexAttrib4svNV: procedure(index: GLuint; const v: PGLshort); stdcall;
  4135. glVertexAttrib4ubNV: procedure(index: GLuint; x: GLubyte; y: GLubyte; z: GLubyte; w: GLubyte); stdcall;
  4136. glVertexAttrib4ubvNV: procedure(index: GLuint; const v: PGLubyte); stdcall;
  4137. glVertexAttribs1dvNV: procedure(index: GLuint; count: GLsizei; const v: PGLdouble); stdcall;
  4138. glVertexAttribs1fvNV: procedure(index: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  4139. glVertexAttribs1svNV: procedure(index: GLuint; count: GLsizei; const v: PGLshort); stdcall;
  4140. glVertexAttribs2dvNV: procedure(index: GLuint; count: GLsizei; const v: PGLdouble); stdcall;
  4141. glVertexAttribs2fvNV: procedure(index: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  4142. glVertexAttribs2svNV: procedure(index: GLuint; count: GLsizei; const v: PGLshort); stdcall;
  4143. glVertexAttribs3dvNV: procedure(index: GLuint; count: GLsizei; const v: PGLdouble); stdcall;
  4144. glVertexAttribs3fvNV: procedure(index: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  4145. glVertexAttribs3svNV: procedure(index: GLuint; count: GLsizei; const v: PGLshort); stdcall;
  4146. glVertexAttribs4dvNV: procedure(index: GLuint; count: GLsizei; const v: PGLdouble); stdcall;
  4147. glVertexAttribs4fvNV: procedure(index: GLuint; count: GLsizei; const v: PGLfloat); stdcall;
  4148. glVertexAttribs4svNV: procedure(index: GLuint; count: GLsizei; const v: PGLshort); stdcall;
  4149. glVertexAttribs4ubvNV: procedure(index: GLuint; count: GLsizei; const v: PGLubyte); stdcall;
  4150. {$EndIf}
  4151. {$IfDef GL_NV_video_capture}
  4152. glBeginVideoCaptureNV: procedure(video_capture_slot: GLuint); stdcall;
  4153. glBindVideoCaptureStreamBufferNV: procedure(video_capture_slot: GLuint; stream: GLuint; frame_region: GLenum; offset: GLintptrARB); stdcall;
  4154. glBindVideoCaptureStreamTextureNV: procedure(video_capture_slot: GLuint; stream: GLuint; frame_region: GLenum; target: GLenum; texture: GLuint); stdcall;
  4155. glEndVideoCaptureNV: procedure(video_capture_slot: GLuint); stdcall;
  4156. glGetVideoCaptureivNV: procedure(video_capture_slot: GLuint; pname: GLenum; params: PGLint); stdcall;
  4157. glGetVideoCaptureStreamivNV: procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; params: PGLint); stdcall;
  4158. glGetVideoCaptureStreamfvNV: procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  4159. glGetVideoCaptureStreamdvNV: procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; params: PGLdouble); stdcall;
  4160. glVideoCaptureNV: function(video_capture_slot: GLuint; sequence_num: PGLuint; capture_time: PGLuint64EXT): GLenum; stdcall;
  4161. glVideoCaptureStreamParameterivNV: procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; const params: PGLint); stdcall;
  4162. glVideoCaptureStreamParameterfvNV: procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; const params: PGLfloat); stdcall;
  4163. glVideoCaptureStreamParameterdvNV: procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; const params: PGLdouble); stdcall;
  4164. {$EndIf}
  4165. {$IfDef GL_NV_viewport_swizzle}
  4166. glViewportSwizzleNV: procedure(index: GLuint; swizzlex: GLenum; swizzley: GLenum; swizzlez: GLenum; swizzlew: GLenum); stdcall;
  4167. {$EndIf}
  4168. {$IfDef GL_OVR_multiview}
  4169. glFramebufferTextureMultiviewOVR: procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; baseViewIndex: GLint; numViews: GLsizei); stdcall;
  4170. {$EndIf}
  4171. {$IfDef GL_PGI_misc_hints}
  4172. glHintPGI: procedure(target: GLenum; mode: GLint); stdcall; // = glHint
  4173. {$EndIf}
  4174. {$IfDef GL_SGIS_detail_texture}
  4175. glDetailTexFuncSGIS: procedure(target: GLenum; n: GLsizei; const points: PGLfloat); stdcall;
  4176. glGetDetailTexFuncSGIS: procedure(target: GLenum; points: PGLfloat); stdcall;
  4177. {$EndIf}
  4178. {$IfDef GL_SGIS_fog_function}
  4179. glFogFuncSGIS: procedure(n: GLsizei; const points: PGLfloat); stdcall;
  4180. glGetFogFuncSGIS: procedure(points: PGLfloat); stdcall;
  4181. {$EndIf}
  4182. {$IfDef GL_SGIS_multisample}
  4183. glSampleMaskSGIS: procedure(value: GLclampf; invert: GLboolean); stdcall;
  4184. glSamplePatternSGIS: procedure(pattern: GLenum); stdcall;
  4185. {$EndIf}
  4186. {$IfDef GL_SGIS_pixel_texture}
  4187. glPixelTexGenParameteriSGIS: procedure(pname: GLenum; param: GLint); stdcall;
  4188. glPixelTexGenParameterivSGIS: procedure(pname: GLenum; const params: PGLint); stdcall;
  4189. glPixelTexGenParameterfSGIS: procedure(pname: GLenum; param: GLfloat); stdcall;
  4190. glPixelTexGenParameterfvSGIS: procedure(pname: GLenum; const params: PGLfloat); stdcall;
  4191. glGetPixelTexGenParameterivSGIS: procedure(pname: GLenum; params: PGLint); stdcall;
  4192. glGetPixelTexGenParameterfvSGIS: procedure(pname: GLenum; params: PGLfloat); stdcall;
  4193. {$EndIf}
  4194. {$IfDef GL_SGIS_point_parameters}
  4195. glPointParameterfSGIS: procedure(pname: GLenum; param: GLfloat); stdcall;
  4196. glPointParameterfvSGIS: procedure(pname: GLenum; const params: PGLfloat); stdcall;
  4197. {$EndIf}
  4198. {$IfDef GL_SGIS_sharpen_texture}
  4199. glSharpenTexFuncSGIS: procedure(target: GLenum; n: GLsizei; const points: PGLfloat); stdcall;
  4200. glGetSharpenTexFuncSGIS: procedure(target: GLenum; points: PGLfloat); stdcall;
  4201. {$EndIf}
  4202. {$IfDef GL_SGIS_texture4D}
  4203. 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;
  4204. 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;
  4205. {$EndIf}
  4206. {$IfDef GL_SGIS_texture_color_mask}
  4207. glTextureColorMaskSGIS: procedure(red: GLboolean; green: GLboolean; blue: GLboolean; alpha: GLboolean); stdcall;
  4208. {$EndIf}
  4209. {$IfDef GL_SGIS_texture_filter4}
  4210. glGetTexFilterFuncSGIS: procedure(target: GLenum; filter: GLenum; weights: PGLfloat); stdcall;
  4211. glTexFilterFuncSGIS: procedure(target: GLenum; filter: GLenum; n: GLsizei; const weights: PGLfloat); stdcall;
  4212. {$EndIf}
  4213. {$IfDef GL_SGIX_async}
  4214. glAsyncMarkerSGIX: procedure(marker: GLuint); stdcall;
  4215. glFinishAsyncSGIX: function(markerp: PGLuint): GLint; stdcall;
  4216. glPollAsyncSGIX: function(markerp: PGLuint): GLint; stdcall;
  4217. glGenAsyncMarkersSGIX: function(range: GLsizei): GLuint; stdcall;
  4218. glDeleteAsyncMarkersSGIX: procedure(marker: GLuint; range: GLsizei); stdcall;
  4219. glIsAsyncMarkerSGIX: function(marker: GLuint): GLboolean; stdcall;
  4220. {$EndIf}
  4221. {$IfDef GL_SGIX_flush_raster}
  4222. glFlushRasterSGIX: procedure; stdcall;
  4223. {$EndIf}
  4224. {$IfDef GL_SGIX_fragment_lighting}
  4225. glFragmentColorMaterialSGIX: procedure(face: GLenum; mode: GLenum); stdcall;
  4226. glFragmentLightfSGIX: procedure(light: GLenum; pname: GLenum; param: GLfloat); stdcall;
  4227. glFragmentLightfvSGIX: procedure(light: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  4228. glFragmentLightiSGIX: procedure(light: GLenum; pname: GLenum; param: GLint); stdcall;
  4229. glFragmentLightivSGIX: procedure(light: GLenum; pname: GLenum; const params: PGLint); stdcall;
  4230. glFragmentLightModelfSGIX: procedure(pname: GLenum; param: GLfloat); stdcall;
  4231. glFragmentLightModelfvSGIX: procedure(pname: GLenum; const params: PGLfloat); stdcall;
  4232. glFragmentLightModeliSGIX: procedure(pname: GLenum; param: GLint); stdcall;
  4233. glFragmentLightModelivSGIX: procedure(pname: GLenum; const params: PGLint); stdcall;
  4234. glFragmentMaterialfSGIX: procedure(face: GLenum; pname: GLenum; param: GLfloat); stdcall;
  4235. glFragmentMaterialfvSGIX: procedure(face: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  4236. glFragmentMaterialiSGIX: procedure(face: GLenum; pname: GLenum; param: GLint); stdcall;
  4237. glFragmentMaterialivSGIX: procedure(face: GLenum; pname: GLenum; const params: PGLint); stdcall;
  4238. glGetFragmentLightfvSGIX: procedure(light: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  4239. glGetFragmentLightivSGIX: procedure(light: GLenum; pname: GLenum; params: PGLint); stdcall;
  4240. glGetFragmentMaterialfvSGIX: procedure(face: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  4241. glGetFragmentMaterialivSGIX: procedure(face: GLenum; pname: GLenum; params: PGLint); stdcall;
  4242. glLightEnviSGIX: procedure(pname: GLenum; param: GLint); stdcall;
  4243. {$EndIf}
  4244. {$IfDef GL_SGIX_framezoom}
  4245. glFrameZoomSGIX: procedure(factor: GLint); stdcall;
  4246. {$EndIf}
  4247. {$IfDef GL_SGIX_igloo_interface}
  4248. glIglooInterfaceSGIX: procedure(pname: GLenum; const params: pointer); stdcall;
  4249. {$EndIf}
  4250. {$IfDef GL_SGIX_instruments}
  4251. glGetInstrumentsSGIX: function: GLint; stdcall;
  4252. glInstrumentsBufferSGIX: procedure(size: GLsizei; buffer: PGLint); stdcall;
  4253. glPollInstrumentsSGIX: function(marker_p: PGLint): GLint; stdcall;
  4254. glReadInstrumentsSGIX: procedure(marker: GLint); stdcall;
  4255. glStartInstrumentsSGIX: procedure; stdcall;
  4256. glStopInstrumentsSGIX: procedure(marker: GLint); stdcall;
  4257. {$EndIf}
  4258. {$IfDef GL_SGIX_list_priority}
  4259. glGetListParameterfvSGIX: procedure(list: GLuint; pname: GLenum; params: PGLfloat); stdcall;
  4260. glGetListParameterivSGIX: procedure(list: GLuint; pname: GLenum; params: PGLint); stdcall;
  4261. glListParameterfSGIX: procedure(list: GLuint; pname: GLenum; param: GLfloat); stdcall;
  4262. glListParameterfvSGIX: procedure(list: GLuint; pname: GLenum; const params: PGLfloat); stdcall;
  4263. glListParameteriSGIX: procedure(list: GLuint; pname: GLenum; param: GLint); stdcall;
  4264. glListParameterivSGIX: procedure(list: GLuint; pname: GLenum; const params: PGLint); stdcall;
  4265. {$EndIf}
  4266. {$IfDef GL_SGIX_pixel_texture}
  4267. glPixelTexGenSGIX: procedure(mode: GLenum); stdcall;
  4268. {$EndIf}
  4269. {$IfDef GL_SGIX_polynomial_ffd}
  4270. 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;
  4271. 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;
  4272. glDeformSGIX: procedure(mask: GLbitfield); stdcall;
  4273. glLoadIdentityDeformationMapSGIX: procedure(mask: GLbitfield); stdcall;
  4274. {$EndIf}
  4275. {$IfDef GL_SGIX_reference_plane}
  4276. glReferencePlaneSGIX: procedure(const equation: PGLdouble); stdcall;
  4277. {$EndIf}
  4278. {$IfDef GL_SGIX_sprite}
  4279. glSpriteParameterfSGIX: procedure(pname: GLenum; param: GLfloat); stdcall;
  4280. glSpriteParameterfvSGIX: procedure(pname: GLenum; const params: PGLfloat); stdcall;
  4281. glSpriteParameteriSGIX: procedure(pname: GLenum; param: GLint); stdcall;
  4282. glSpriteParameterivSGIX: procedure(pname: GLenum; const params: PGLint); stdcall;
  4283. {$EndIf}
  4284. {$IfDef GL_SGIX_tag_sample_buffer}
  4285. glTagSampleBufferSGIX: procedure; stdcall;
  4286. {$EndIf}
  4287. {$IfDef GL_SGI_color_table}
  4288. glColorTableSGI: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; table: pointer); stdcall;
  4289. glColorTableParameterfvSGI: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); stdcall;
  4290. glColorTableParameterivSGI: procedure(target: GLenum; pname: GLenum; const params: PGLint); stdcall;
  4291. glCopyColorTableSGI: procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); stdcall;
  4292. glGetColorTableSGI: procedure(target: GLenum; format: GLenum; _type: GLenum; table: pointer); stdcall;
  4293. glGetColorTableParameterfvSGI: procedure(target: GLenum; pname: GLenum; params: PGLfloat); stdcall;
  4294. glGetColorTableParameterivSGI: procedure(target: GLenum; pname: GLenum; params: PGLint); stdcall;
  4295. {$EndIf}
  4296. {$IfDef GL_SUNX_constant_data}
  4297. glFinishTextureSUNX: procedure; stdcall;
  4298. {$EndIf}
  4299. {$IfDef GL_SUN_global_alpha}
  4300. glGlobalAlphaFactorbSUN: procedure(factor: GLbyte); stdcall;
  4301. glGlobalAlphaFactorsSUN: procedure(factor: GLshort); stdcall;
  4302. glGlobalAlphaFactoriSUN: procedure(factor: GLint); stdcall;
  4303. glGlobalAlphaFactorfSUN: procedure(factor: GLfloat); stdcall;
  4304. glGlobalAlphaFactordSUN: procedure(factor: GLdouble); stdcall;
  4305. glGlobalAlphaFactorubSUN: procedure(factor: GLubyte); stdcall;
  4306. glGlobalAlphaFactorusSUN: procedure(factor: GLushort); stdcall;
  4307. glGlobalAlphaFactoruiSUN: procedure(factor: GLuint); stdcall;
  4308. {$EndIf}
  4309. {$IfDef GL_SUN_mesh_array}
  4310. glDrawMeshArraysSUN: procedure(mode: GLenum; first: GLint; count: GLsizei; width: GLsizei); stdcall;
  4311. {$EndIf}
  4312. {$IfDef GL_SUN_triangle_list}
  4313. glReplacementCodeuiSUN: procedure(code: GLuint); stdcall;
  4314. glReplacementCodeusSUN: procedure(code: GLushort); stdcall;
  4315. glReplacementCodeubSUN: procedure(code: GLubyte); stdcall;
  4316. glReplacementCodeuivSUN: procedure(const code: PGLuint); stdcall;
  4317. glReplacementCodeusvSUN: procedure(const code: PGLushort); stdcall;
  4318. glReplacementCodeubvSUN: procedure(const code: PGLubyte); stdcall;
  4319. glReplacementCodePointerSUN: procedure(_type: GLenum; stride: GLsizei; const _pointer: {P}Ppointer); stdcall;
  4320. {$EndIf}
  4321. {$IfDef GL_SUN_vertex}
  4322. glColor4ubVertex2fSUN: procedure(r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat); stdcall;
  4323. glColor4ubVertex2fvSUN: procedure(const c: PGLubyte; const v: PGLfloat); stdcall;
  4324. glColor4ubVertex3fSUN: procedure(r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4325. glColor4ubVertex3fvSUN: procedure(const c: PGLubyte; const v: PGLfloat); stdcall;
  4326. glColor3fVertex3fSUN: procedure(r: GLfloat; g: GLfloat; b: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4327. glColor3fVertex3fvSUN: procedure(const c: PGLfloat; const v: PGLfloat); stdcall;
  4328. glNormal3fVertex3fSUN: procedure(nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4329. glNormal3fVertex3fvSUN: procedure(const n: PGLfloat; const v: PGLfloat); stdcall;
  4330. glColor4fNormal3fVertex3fSUN: procedure(r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4331. glColor4fNormal3fVertex3fvSUN: procedure(const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); stdcall;
  4332. glTexCoord2fVertex3fSUN: procedure(s: GLfloat; t: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4333. glTexCoord2fVertex3fvSUN: procedure(const tc: PGLfloat; const v: PGLfloat); stdcall;
  4334. glTexCoord4fVertex4fSUN: procedure(s: GLfloat; t: GLfloat; p: GLfloat; q: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); stdcall;
  4335. glTexCoord4fVertex4fvSUN: procedure(const tc: PGLfloat; const v: PGLfloat); stdcall;
  4336. glTexCoord2fColor4ubVertex3fSUN: procedure(s: GLfloat; t: GLfloat; r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4337. glTexCoord2fColor4ubVertex3fvSUN: procedure(const tc: PGLfloat; const c: PGLubyte; const v: PGLfloat); stdcall;
  4338. glTexCoord2fColor3fVertex3fSUN: procedure(s: GLfloat; t: GLfloat; r: GLfloat; g: GLfloat; b: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4339. glTexCoord2fColor3fVertex3fvSUN: procedure(const tc: PGLfloat; const c: PGLfloat; const v: PGLfloat); stdcall;
  4340. glTexCoord2fNormal3fVertex3fSUN: procedure(s: GLfloat; t: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4341. glTexCoord2fNormal3fVertex3fvSUN: procedure(const tc: PGLfloat; const n: PGLfloat; const v: PGLfloat); stdcall;
  4342. 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;
  4343. glTexCoord2fColor4fNormal3fVertex3fvSUN: procedure(const tc: PGLfloat; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); stdcall;
  4344. 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;
  4345. glTexCoord4fColor4fNormal3fVertex4fvSUN: procedure(const tc: PGLfloat; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); stdcall;
  4346. glReplacementCodeuiVertex3fSUN: procedure(rc: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4347. glReplacementCodeuiVertex3fvSUN: procedure(const rc: PGLuint; const v: PGLfloat); stdcall;
  4348. glReplacementCodeuiColor4ubVertex3fSUN: procedure(rc: GLuint; r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4349. glReplacementCodeuiColor4ubVertex3fvSUN: procedure(const rc: PGLuint; const c: PGLubyte; const v: PGLfloat); stdcall;
  4350. glReplacementCodeuiColor3fVertex3fSUN: procedure(rc: GLuint; r: GLfloat; g: GLfloat; b: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4351. glReplacementCodeuiColor3fVertex3fvSUN: procedure(const rc: PGLuint; const c: PGLfloat; const v: PGLfloat); stdcall;
  4352. glReplacementCodeuiNormal3fVertex3fSUN: procedure(rc: GLuint; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4353. glReplacementCodeuiNormal3fVertex3fvSUN: procedure(const rc: PGLuint; const n: PGLfloat; const v: PGLfloat); stdcall;
  4354. 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;
  4355. glReplacementCodeuiColor4fNormal3fVertex3fvSUN: procedure(const rc: PGLuint; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); stdcall;
  4356. glReplacementCodeuiTexCoord2fVertex3fSUN: procedure(rc: GLuint; s: GLfloat; t: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4357. glReplacementCodeuiTexCoord2fVertex3fvSUN: procedure(const rc: PGLuint; const tc: PGLfloat; const v: PGLfloat); stdcall;
  4358. glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN: procedure(rc: GLuint; s: GLfloat; t: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); stdcall;
  4359. glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN: procedure(const rc: PGLuint; const tc: PGLfloat; const n: PGLfloat; const v: PGLfloat); stdcall;
  4360. 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;
  4361. glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN: procedure(const rc: PGLuint; const tc: PGLfloat; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); stdcall;
  4362. {$EndIf}
  4363. var
  4364. gl_Library: Pointer;
  4365. {$If defined(USE_GLEXT) or defined(USE_GLCORE)}
  4366. // Rus: проверка всех расширений.
  4367. // Eng:
  4368. procedure AllCheckGLExtension;
  4369. {$IfEnd}
  4370. // Rus: проверка версии OpenGL. Вернёт действующее значение или значение,
  4371. // максимально возможное. Если в файле конфигурации (GLdefine.cfg) задано
  4372. // использовать версию OpenGL 2.1 (USE_GL_21), а ваша видеокарта может
  4373. // работать с OpenGL версии 4.4, то вы будете работать с версией OpengL не
  4374. // выше 2.1. !!! Обратите на это внимание!!!
  4375. // Eng: checking the version of OpenGL. Returns the actual value or the maximum
  4376. // possible value. If the configuration file (GLdefine.cfg) is set to use
  4377. // OpenGL version 2.1 (USE_GL_21) and your graphics card can run OpenGL
  4378. // version 4.4, then you will be running OpengL 2.1. Not higher!
  4379. // !!! Pay attention to this!!!
  4380. procedure CheckGLVersion;
  4381. // Rus: загрузка динамических функций OpenGL.
  4382. // Eng: loading dynamic OpenGL functions.
  4383. function LoadOpenGL: Boolean;
  4384. implementation
  4385. uses
  4386. zgl_opengl,
  4387. zgl_opengl_all
  4388. {$IfDef USE_GLU}
  4389. , zgl_glu
  4390. {$EndIf};
  4391. {$If defined(USE_GLCORE) or defined(USE_GLEXT)}
  4392. procedure AllCheckGLExtension;
  4393. begin
  4394. GL_ARB_ES2_compatibility := gl_IsSupported('GL_ARB_ES2_compatibility', oglExtensions);
  4395. GL_ARB_ES3_1_compatibility := gl_IsSupported('GL_ARB_ES3_1_compatibility', oglExtensions);
  4396. GL_ARB_ES3_2_compatibility := gl_IsSupported('GL_ARB_ES3_2_compatibility', oglExtensions);
  4397. GL_ARB_ES3_compatibility := gl_IsSupported('GL_ARB_ES3_compatibility', oglExtensions);
  4398. GL_ARB_arrays_of_arrays := gl_IsSupported('GL_ARB_arrays_of_arrays', oglExtensions);
  4399. GL_ARB_base_instance := gl_IsSupported('GL_ARB_base_instance', oglExtensions);
  4400. GL_ARB_bindless_texture := gl_IsSupported('GL_ARB_bindless_texture', oglExtensions);
  4401. GL_ARB_blend_func_extended := gl_IsSupported('GL_ARB_blend_func_extended', oglExtensions);
  4402. GL_ARB_buffer_storage := gl_IsSupported('GL_ARB_buffer_storage', oglExtensions);
  4403. GL_ARB_cl_event := gl_IsSupported('GL_ARB_cl_event', oglExtensions);
  4404. GL_ARB_clear_buffer_object := gl_IsSupported('GL_ARB_clear_buffer_object', oglExtensions);
  4405. GL_ARB_clear_texture := gl_IsSupported('GL_ARB_clear_texture', oglExtensions);
  4406. GL_ARB_clip_control := gl_IsSupported('GL_ARB_clip_control', oglExtensions);
  4407. {$IFDEF GL_VERSION_3_0}
  4408. GL_ARB_compatibility := gl_IsSupported('GL_ARB_compatibility', oglExtensions);
  4409. {$ENDIF}
  4410. {$IFDEF USE_GLEXT}
  4411. GL_ARB_color_buffer_float := gl_IsSupported('GL_ARB_color_buffer_float', oglExtensions);
  4412. {$EndIf}
  4413. GL_ARB_compressed_texture_pixel_storage := gl_IsSupported('GL_ARB_compressed_texture_pixel_storage', oglExtensions);
  4414. GL_ARB_compute_shader := gl_IsSupported('GL_ARB_compute_shader', oglExtensions);
  4415. GL_ARB_compute_variable_group_size := gl_IsSupported('GL_ARB_compute_variable_group_size', oglExtensions);
  4416. GL_ARB_conditional_render_inverted := gl_IsSupported('GL_ARB_conditional_render_inverted', oglExtensions);
  4417. GL_ARB_conservative_depth := gl_IsSupported('GL_ARB_conservative_depth', oglExtensions);
  4418. GL_ARB_copy_buffer := gl_IsSupported('GL_ARB_copy_buffer', oglExtensions);
  4419. GL_ARB_copy_image := gl_IsSupported('GL_ARB_copy_image', oglExtensions);
  4420. GL_ARB_cull_distance := gl_IsSupported('GL_ARB_cull_distance', oglExtensions);
  4421. GL_ARB_debug_output := gl_IsSupported('GL_ARB_debug_output', oglExtensions);
  4422. GL_ARB_depth_buffer_float := gl_IsSupported('GL_ARB_depth_buffer_float', oglExtensions);
  4423. GL_ARB_depth_clamp := gl_IsSupported('GL_ARB_depth_clamp', oglExtensions);
  4424. {$IFDEF USE_GLEXT}
  4425. GL_ARB_depth_texture := gl_IsSupported('GL_ARB_depth_texture', oglExtensions);
  4426. {$EndIf}
  4427. GL_ARB_derivative_control := gl_IsSupported('GL_ARB_derivative_control', oglExtensions);
  4428. GL_ARB_direct_state_access := gl_IsSupported('GL_ARB_direct_state_access', oglExtensions);
  4429. {$IFDEF USE_GLEXT}
  4430. GL_ARB_draw_buffers := gl_IsSupported('GL_ARB_draw_buffers', oglExtensions);
  4431. {$EndIf}
  4432. GL_ARB_draw_buffers_blend := gl_IsSupported('GL_ARB_draw_buffers_blend', oglExtensions);
  4433. GL_ARB_draw_elements_base_vertex := gl_IsSupported('GL_ARB_draw_elements_base_vertex', oglExtensions);
  4434. GL_ARB_draw_indirect := gl_IsSupported('GL_ARB_draw_indirect', oglExtensions);
  4435. GL_ARB_draw_instanced := gl_IsSupported('GL_ARB_draw_instanced', oglExtensions);
  4436. GL_ARB_enhanced_layouts := gl_IsSupported('GL_ARB_enhanced_layouts', oglExtensions);
  4437. GL_ARB_explicit_attrib_location := gl_IsSupported('GL_ARB_explicit_attrib_location', oglExtensions);
  4438. GL_ARB_explicit_uniform_location := gl_IsSupported('GL_ARB_explicit_uniform_location', oglExtensions);
  4439. GL_ARB_fragment_coord_conventions := gl_IsSupported('GL_ARB_fragment_coord_conventions', oglExtensions);
  4440. GL_ARB_fragment_layer_viewport := gl_IsSupported('GL_ARB_fragment_layer_viewport', oglExtensions);
  4441. {$IFDEF USE_GLEXT}
  4442. GL_ARB_fragment_program := gl_IsSupported('GL_ARB_fragment_program', oglExtensions);
  4443. GL_ARB_fragment_program_shadow := gl_IsSupported('GL_ARB_fragment_program_shadow', oglExtensions);
  4444. GL_ARB_fragment_shader := gl_IsSupported('GL_ARB_fragment_shader', oglExtensions);
  4445. {$EndIf}
  4446. GL_ARB_fragment_shader_interlock := gl_IsSupported('GL_ARB_fragment_shader_interlock', oglExtensions);
  4447. GL_ARB_framebuffer_no_attachments := gl_IsSupported('GL_ARB_framebuffer_no_attachments', oglExtensions);
  4448. GL_ARB_framebuffer_object := gl_IsSupported('GL_ARB_framebuffer_object', oglExtensions);
  4449. GL_ARB_framebuffer_sRGB := gl_IsSupported('GL_ARB_framebuffer_sRGB', oglExtensions);
  4450. GL_ARB_geometry_shader4 := gl_IsSupported('GL_ARB_geometry_shader4', oglExtensions);
  4451. GL_ARB_get_program_binary := gl_IsSupported('GL_ARB_get_program_binary', oglExtensions);
  4452. GL_ARB_get_texture_sub_image := gl_IsSupported('GL_ARB_get_texture_sub_image', oglExtensions);
  4453. GL_ARB_gl_spirv := gl_IsSupported('GL_ARB_gl_spirv', oglExtensions);
  4454. GL_ARB_gpu_shader5 := gl_IsSupported('GL_ARB_gpu_shader5', oglExtensions);
  4455. GL_ARB_gpu_shader_fp64 := gl_IsSupported('GL_ARB_gpu_shader_fp64', oglExtensions);
  4456. GL_ARB_gpu_shader_int64 := gl_IsSupported('GL_ARB_gpu_shader_int64', oglExtensions);
  4457. {$IFDEF USE_GLEXT}
  4458. GL_ARB_half_float_pixel := gl_IsSupported('GL_ARB_half_float_pixel', oglExtensions);
  4459. GL_ARB_imaging := gl_IsSupported('GL_ARB_imaging', oglExtensions);
  4460. {$EndIf}
  4461. GL_ARB_half_float_vertex := gl_IsSupported('GL_ARB_half_float_vertex', oglExtensions);
  4462. GL_ARB_indirect_parameters := gl_IsSupported('GL_ARB_indirect_parameters', oglExtensions);
  4463. GL_ARB_instanced_arrays := gl_IsSupported('GL_ARB_instanced_arrays', oglExtensions);
  4464. GL_ARB_internalformat_query := gl_IsSupported('GL_ARB_internalformat_query', oglExtensions);
  4465. GL_ARB_internalformat_query2 := gl_IsSupported('GL_ARB_internalformat_query2', oglExtensions);
  4466. GL_ARB_invalidate_subdata := gl_IsSupported('GL_ARB_invalidate_subdata', oglExtensions);
  4467. GL_ARB_map_buffer_alignment := gl_IsSupported('GL_ARB_map_buffer_alignment', oglExtensions);
  4468. GL_ARB_map_buffer_range := gl_IsSupported('GL_ARB_map_buffer_range', oglExtensions);
  4469. {$IFDEF USE_GLEXT}
  4470. GL_ARB_matrix_palette := gl_IsSupported('GL_ARB_matrix_palette', oglExtensions);
  4471. {$EndIf}
  4472. GL_ARB_multi_bind := gl_IsSupported('GL_ARB_multi_bind', oglExtensions);
  4473. GL_ARB_multi_draw_indirect := gl_IsSupported('GL_ARB_multi_draw_indirect', oglExtensions);
  4474. {$IFDEF USE_GLEXT}
  4475. GL_ARB_multisample := gl_IsSupported('GL_ARB_multisample', oglExtensions);
  4476. GL_ARB_multitexture := gl_IsSupported('GL_ARB_multitexture', oglExtensions);
  4477. GL_ARB_occlusion_query := gl_IsSupported('GL_ARB_occlusion_query', oglExtensions);
  4478. {$EndIf}
  4479. GL_ARB_occlusion_query2 := gl_IsSupported('GL_ARB_occlusion_query2', oglExtensions);
  4480. GL_ARB_parallel_shader_compile := gl_IsSupported('GL_ARB_parallel_shader_compile', oglExtensions);
  4481. GL_ARB_pipeline_statistics_query := gl_IsSupported('GL_ARB_pipeline_statistics_query', oglExtensions);
  4482. GL_ARB_pixel_buffer_object := gl_IsSupported('GL_ARB_pixel_buffer_object', oglExtensions);
  4483. {$IFDEF USE_GLEXT}
  4484. GL_ARB_point_parameters := gl_IsSupported('GL_ARB_point_parameters', oglExtensions);
  4485. GL_ARB_point_sprite := gl_IsSupported('GL_ARB_point_sprite', oglExtensions);
  4486. {$EndIf}
  4487. GL_ARB_polygon_offset_clamp := gl_IsSupported('GL_ARB_polygon_offset_clamp', oglExtensions);
  4488. GL_ARB_post_depth_coverage := gl_IsSupported('GL_ARB_post_depth_coverage', oglExtensions);
  4489. GL_ARB_program_interface_query := gl_IsSupported('GL_ARB_program_interface_query', oglExtensions);
  4490. GL_ARB_provoking_vertex := gl_IsSupported('GL_ARB_provoking_vertex', oglExtensions);
  4491. GL_ARB_query_buffer_object := gl_IsSupported('GL_ARB_query_buffer_object', oglExtensions);
  4492. GL_ARB_robust_buffer_access_behavior := gl_IsSupported('GL_ARB_robust_buffer_access_behavior', oglExtensions);
  4493. GL_ARB_robustness := gl_IsSupported('GL_ARB_robustness', oglExtensions);
  4494. GL_ARB_robustness_isolation := gl_IsSupported('GL_ARB_robustness_isolation', oglExtensions);
  4495. GL_ARB_sample_locations := gl_IsSupported('GL_ARB_sample_locations', oglExtensions);
  4496. GL_ARB_sample_shading := gl_IsSupported('GL_ARB_sample_shading', oglExtensions);
  4497. GL_ARB_sampler_objects := gl_IsSupported('GL_ARB_sampler_objects', oglExtensions);
  4498. GL_ARB_seamless_cube_map := gl_IsSupported('GL_ARB_seamless_cube_map', oglExtensions);
  4499. GL_ARB_seamless_cubemap_per_texture := gl_IsSupported('GL_ARB_seamless_cubemap_per_texture', oglExtensions);
  4500. GL_ARB_separate_shader_objects := gl_IsSupported('GL_ARB_separate_shader_objects', oglExtensions);
  4501. GL_ARB_shader_atomic_counter_ops := gl_IsSupported('GL_ARB_shader_atomic_counter_ops', oglExtensions);
  4502. GL_ARB_shader_atomic_counters := gl_IsSupported('GL_ARB_shader_atomic_counters', oglExtensions);
  4503. GL_ARB_shader_ballot := gl_IsSupported('GL_ARB_shader_ballot', oglExtensions);
  4504. GL_ARB_shader_bit_encoding := gl_IsSupported('GL_ARB_shader_bit_encoding', oglExtensions);
  4505. GL_ARB_shader_clock := gl_IsSupported('GL_ARB_shader_clock', oglExtensions);
  4506. GL_ARB_shader_draw_parameters := gl_IsSupported('GL_ARB_shader_draw_parameters', oglExtensions);
  4507. GL_ARB_shader_group_vote := gl_IsSupported('GL_ARB_shader_group_vote', oglExtensions);
  4508. GL_ARB_shader_image_load_store := gl_IsSupported('GL_ARB_shader_image_load_store', oglExtensions);
  4509. GL_ARB_shader_image_size := gl_IsSupported('GL_ARB_shader_image_size', oglExtensions);
  4510. {$IFDEF USE_GLEXT}
  4511. GL_ARB_shader_objects := gl_IsSupported('GL_ARB_shader_objects', oglExtensions);
  4512. {$EndIf}
  4513. GL_ARB_shader_precision := gl_IsSupported('GL_ARB_shader_precision', oglExtensions);
  4514. GL_ARB_shader_stencil_export := gl_IsSupported('GL_ARB_shader_stencil_export', oglExtensions);
  4515. GL_ARB_shader_storage_buffer_object := gl_IsSupported('GL_ARB_shader_storage_buffer_object', oglExtensions);
  4516. GL_ARB_shader_subroutine := gl_IsSupported('GL_ARB_shader_subroutine', oglExtensions);
  4517. GL_ARB_shader_texture_image_samples := gl_IsSupported('GL_ARB_shader_texture_image_samples', oglExtensions);
  4518. {$IFDEF USE_GLEXT}
  4519. GL_ARB_shader_texture_lod := gl_IsSupported('GL_ARB_shader_texture_lod', oglExtensions);
  4520. GL_ARB_shading_language_100 := gl_IsSupported('GL_ARB_shading_language_100', oglExtensions);
  4521. {$EndIf}
  4522. GL_ARB_shader_viewport_layer_array := gl_IsSupported('GL_ARB_shader_viewport_layer_array', oglExtensions);
  4523. GL_ARB_shading_language_420pack := gl_IsSupported('GL_ARB_shading_language_420pack', oglExtensions);
  4524. GL_ARB_shading_language_include := gl_IsSupported('GL_ARB_shading_language_include', oglExtensions);
  4525. GL_ARB_shading_language_packing := gl_IsSupported('GL_ARB_shading_language_packing', oglExtensions);
  4526. {$IFDEF USE_GLEXT}
  4527. GL_ARB_shadow := gl_IsSupported('GL_ARB_shadow', oglExtensions);
  4528. GL_ARB_shadow_ambient := gl_IsSupported('GL_ARB_shadow_ambient', oglExtensions);
  4529. {$EndIf}
  4530. GL_ARB_sparse_buffer := gl_IsSupported('GL_ARB_sparse_buffer', oglExtensions);
  4531. GL_ARB_sparse_texture := gl_IsSupported('GL_ARB_sparse_texture', oglExtensions);
  4532. GL_ARB_sparse_texture2 := gl_IsSupported('GL_ARB_sparse_texture2', oglExtensions);
  4533. GL_ARB_sparse_texture_clamp := gl_IsSupported('GL_ARB_sparse_texture_clamp', oglExtensions);
  4534. GL_ARB_spirv_extensions := gl_IsSupported('GL_ARB_spirv_extensions', oglExtensions);
  4535. GL_ARB_stencil_texturing := gl_IsSupported('GL_ARB_stencil_texturing', oglExtensions);
  4536. GL_ARB_sync := gl_IsSupported('GL_ARB_sync', oglExtensions);
  4537. GL_ARB_tessellation_shader := gl_IsSupported('GL_ARB_tessellation_shader', oglExtensions);
  4538. GL_ARB_texture_barrier := gl_IsSupported('GL_ARB_texture_barrier', oglExtensions);
  4539. GL_ARB_texture_border_clamp := gl_IsSupported('GL_ARB_texture_border_clamp', oglExtensions);
  4540. GL_ARB_texture_buffer_object := gl_IsSupported('GL_ARB_texture_buffer_object', oglExtensions);
  4541. GL_ARB_texture_buffer_object_rgb32 := gl_IsSupported('GL_ARB_texture_buffer_object_rgb32', oglExtensions);
  4542. GL_ARB_texture_buffer_range := gl_IsSupported('GL_ARB_texture_buffer_range', oglExtensions);
  4543. GL_ARB_texture_compression_bptc := gl_IsSupported('GL_ARB_texture_compression_bptc', oglExtensions);
  4544. GL_ARB_texture_compression_rgtc := gl_IsSupported('GL_ARB_texture_compression_rgtc', oglExtensions);
  4545. {$IFDEF USE_GLEXT}
  4546. GL_ARB_texture_compression := gl_IsSupported('GL_ARB_texture_compression', oglExtensions);
  4547. GL_ARB_texture_cube_map := gl_IsSupported('GL_ARB_texture_cube_map', oglExtensions);
  4548. {$EndIf}
  4549. GL_ARB_texture_cube_map_array := gl_IsSupported('GL_ARB_texture_cube_map_array', oglExtensions);
  4550. {$IFDEF USE_GLEXT}
  4551. GL_ARB_texture_env_add := gl_IsSupported('GL_ARB_texture_env_add', oglExtensions);
  4552. GL_ARB_texture_env_combine := gl_IsSupported('GL_ARB_texture_env_combine', oglExtensions);
  4553. GL_ARB_texture_env_crossbar := gl_IsSupported('GL_ARB_texture_env_crossbar', oglExtensions);
  4554. GL_ARB_texture_env_dot3 := gl_IsSupported('GL_ARB_texture_env_dot3', oglExtensions);
  4555. GL_ARB_texture_float := gl_IsSupported('GL_ARB_texture_float', oglExtensions);
  4556. {$EndIf}
  4557. GL_ARB_texture_filter_anisotropic := gl_IsSupported('GL_ARB_texture_filter_anisotropic', oglExtensions);
  4558. GL_ARB_texture_filter_minmax := gl_IsSupported('GL_ARB_texture_filter_minmax', oglExtensions);
  4559. GL_ARB_texture_gather := gl_IsSupported('GL_ARB_texture_gather', oglExtensions);
  4560. GL_ARB_texture_mirror_clamp_to_edge := gl_IsSupported('GL_ARB_texture_mirror_clamp_to_edge', oglExtensions);
  4561. GL_ARB_texture_mirrored_repeat := gl_IsSupported('GL_ARB_texture_mirrored_repeat', oglExtensions);
  4562. GL_ARB_texture_multisample := gl_IsSupported('GL_ARB_texture_multisample', oglExtensions);
  4563. GL_ARB_texture_non_power_of_two := gl_IsSupported('GL_ARB_texture_non_power_of_two', oglExtensions);
  4564. GL_ARB_texture_query_levels := gl_IsSupported('GL_ARB_texture_query_levels', oglExtensions);
  4565. GL_ARB_texture_query_lod := gl_IsSupported('GL_ARB_texture_query_lod', oglExtensions);
  4566. {$IFDEF USE_GLEXT}
  4567. GL_ARB_texture_rectangle := gl_IsSupported('GL_ARB_texture_rectangle', oglExtensions);
  4568. {$EndIf}
  4569. GL_ARB_texture_rg := gl_IsSupported('GL_ARB_texture_rg', oglExtensions);
  4570. GL_ARB_texture_rgb10_a2ui := gl_IsSupported('GL_ARB_texture_rgb10_a2ui', oglExtensions);
  4571. GL_ARB_texture_stencil8 := gl_IsSupported('GL_ARB_texture_stencil8', oglExtensions);
  4572. GL_ARB_texture_storage := gl_IsSupported('GL_ARB_texture_storage', oglExtensions);
  4573. GL_ARB_texture_storage_multisample := gl_IsSupported('GL_ARB_texture_storage_multisample', oglExtensions);
  4574. GL_ARB_texture_swizzle := gl_IsSupported('GL_ARB_texture_swizzle', oglExtensions);
  4575. GL_ARB_texture_view := gl_IsSupported('GL_ARB_texture_view', oglExtensions);
  4576. GL_ARB_timer_query := gl_IsSupported('GL_ARB_timer_query', oglExtensions);
  4577. GL_ARB_transform_feedback2 := gl_IsSupported('GL_ARB_transform_feedback2', oglExtensions);
  4578. GL_ARB_transform_feedback3 := gl_IsSupported('GL_ARB_transform_feedback3', oglExtensions);
  4579. GL_ARB_transform_feedback_instanced := gl_IsSupported('GL_ARB_transform_feedback_instanced', oglExtensions);
  4580. GL_ARB_transform_feedback_overflow_query := gl_IsSupported('GL_ARB_transform_feedback_overflow_query', oglExtensions);
  4581. {$IFDEF USE_GLEXT}
  4582. GL_ARB_transpose_matrix := gl_IsSupported('GL_ARB_transpose_matrix', oglExtensions);
  4583. {$EndIf}
  4584. GL_ARB_uniform_buffer_object := gl_IsSupported('GL_ARB_uniform_buffer_object', oglExtensions);
  4585. GL_ARB_vertex_array_bgra := gl_IsSupported('GL_ARB_vertex_array_bgra', oglExtensions);
  4586. GL_ARB_vertex_array_object := gl_IsSupported('GL_ARB_vertex_array_object', oglExtensions);
  4587. GL_ARB_vertex_attrib_64bit := gl_IsSupported('GL_ARB_vertex_attrib_64bit', oglExtensions);
  4588. GL_ARB_vertex_attrib_binding := gl_IsSupported('GL_ARB_vertex_attrib_binding', oglExtensions);
  4589. {$IFDEF USE_GLEXT}
  4590. GL_ARB_vertex_blend := gl_IsSupported('GL_ARB_vertex_blend', oglExtensions);
  4591. GL_ARB_vertex_buffer_object := gl_IsSupported('GL_ARB_vertex_buffer_object', oglExtensions);
  4592. GL_ARB_vertex_program := gl_IsSupported('GL_ARB_vertex_program', oglExtensions);
  4593. GL_ARB_vertex_shader := gl_IsSupported('GL_ARB_vertex_shader', oglExtensions);
  4594. GL_ARB_window_pos := gl_IsSupported('GL_ARB_window_pos', oglExtensions);
  4595. {$EndIf}
  4596. GL_ARB_vertex_type_10f_11f_11f_rev := gl_IsSupported('GL_ARB_vertex_type_10f_11f_11f_rev', oglExtensions);
  4597. GL_ARB_vertex_type_2_10_10_10_rev := gl_IsSupported('GL_ARB_vertex_type_2_10_10_10_rev', oglExtensions);
  4598. GL_ARB_viewport_array := gl_IsSupported('GL_ARB_viewport_array', oglExtensions);
  4599. GL_KHR_blend_equation_advanced := gl_IsSupported('GL_KHR_blend_equation_advanced', oglExtensions);
  4600. GL_KHR_blend_equation_advanced_coherent := gl_IsSupported('GL_KHR_blend_equation_advanced_coherent', oglExtensions);
  4601. GL_KHR_context_flush_control := gl_IsSupported('GL_KHR_context_flush_control', oglExtensions);
  4602. GL_KHR_debug := gl_IsSupported('GL_KHR_debug', oglExtensions);
  4603. GL_KHR_no_error := gl_IsSupported('GL_KHR_no_error', oglExtensions);
  4604. GL_KHR_parallel_shader_compile := gl_IsSupported('GL_KHR_parallel_shader_compile', oglExtensions);
  4605. GL_KHR_robust_buffer_access_behavior := gl_IsSupported('GL_KHR_robust_buffer_access_behavior', oglExtensions);
  4606. GL_KHR_robustness := gl_IsSupported('GL_KHR_robustness', oglExtensions);
  4607. GL_KHR_shader_subgroup := gl_IsSupported('GL_KHR_shader_subgroup', oglExtensions);
  4608. GL_KHR_texture_compression_astc_hdr := gl_IsSupported('GL_KHR_texture_compression_astc_hdr', oglExtensions);
  4609. GL_KHR_texture_compression_astc_ldr := gl_IsSupported('GL_KHR_texture_compression_astc_ldr', oglExtensions);
  4610. GL_KHR_texture_compression_astc_sliced_3d := gl_IsSupported('GL_KHR_texture_compression_astc_sliced_3d', oglExtensions);
  4611. {$IFDEF USE_GLEXT}
  4612. GL_OES_byte_coordinates := gl_IsSupported('GL_OES_byte_coordinates', oglExtensions);
  4613. GL_OES_compressed_paletted_texture := gl_IsSupported('GL_OES_compressed_paletted_texture', oglExtensions);
  4614. GL_OES_fixed_point := gl_IsSupported('GL_OES_fixed_point', oglExtensions);
  4615. GL_OES_query_matrix := gl_IsSupported('GL_OES_query_matrix', oglExtensions);
  4616. GL_OES_read_format := gl_IsSupported('GL_OES_read_format', oglExtensions);
  4617. GL_OES_single_precision := gl_IsSupported('GL_OES_single_precision', oglExtensions);
  4618. GL_3DFX_multisample := gl_IsSupported('GL_3DFX_multisample', oglExtensions);
  4619. GL_3DFX_tbuffer := gl_IsSupported('GL_3DFX_tbuffer', oglExtensions);
  4620. GL_3DFX_texture_compression_FXT1 := gl_IsSupported('GL_3DFX_texture_compression_FXT1', oglExtensions);
  4621. GL_AMD_blend_minmax_factor := gl_IsSupported('GL_AMD_blend_minmax_factor', oglExtensions);
  4622. GL_AMD_conservative_depth := gl_IsSupported('GL_AMD_conservative_depth', oglExtensions);
  4623. GL_AMD_debug_output := gl_IsSupported('GL_AMD_debug_output', oglExtensions);
  4624. GL_AMD_depth_clamp_separate := gl_IsSupported('GL_AMD_depth_clamp_separate', oglExtensions);
  4625. GL_AMD_draw_buffers_blend := gl_IsSupported('GL_AMD_draw_buffers_blend', oglExtensions);
  4626. {$EndIf}
  4627. GL_AMD_framebuffer_multisample_advanced := gl_IsSupported('GL_AMD_framebuffer_multisample_advanced', oglExtensions);
  4628. GL_AMD_gpu_shader_int64 := gl_IsSupported('GL_AMD_gpu_shader_int64', oglExtensions); // хотя это GL_EXT
  4629. {$IFDEF USE_GLEXT}
  4630. GL_AMD_framebuffer_sample_positions := gl_IsSupported('GL_AMD_framebuffer_sample_positions', oglExtensions);
  4631. GL_AMD_gcn_shader := gl_IsSupported('GL_AMD_gcn_shader', oglExtensions);
  4632. GL_AMD_gpu_shader_half_float := gl_IsSupported('GL_AMD_gpu_shader_half_float', oglExtensions);
  4633. GL_AMD_gpu_shader_int16 := gl_IsSupported('GL_AMD_gpu_shader_int16', oglExtensions);
  4634. GL_AMD_interleaved_elements := gl_IsSupported('GL_AMD_interleaved_elements', oglExtensions);
  4635. GL_AMD_multi_draw_indirect := gl_IsSupported('GL_AMD_multi_draw_indirect', oglExtensions);
  4636. GL_AMD_name_gen_delete := gl_IsSupported('GL_AMD_name_gen_delete', oglExtensions);
  4637. GL_AMD_occlusion_query_event := gl_IsSupported('GL_AMD_occlusion_query_event', oglExtensions);
  4638. {$EndIf}
  4639. GL_AMD_performance_monitor := gl_IsSupported('GL_AMD_performance_monitor', oglExtensions);
  4640. {$IFDEF USE_GLEXT}
  4641. GL_AMD_pinned_memory := gl_IsSupported('GL_AMD_pinned_memory', oglExtensions);
  4642. GL_AMD_query_buffer_object := gl_IsSupported('GL_AMD_query_buffer_object', oglExtensions);
  4643. GL_AMD_sample_positions := gl_IsSupported('GL_AMD_sample_positions', oglExtensions);
  4644. GL_AMD_seamless_cubemap_per_texture := gl_IsSupported('GL_AMD_seamless_cubemap_per_texture', oglExtensions);
  4645. GL_AMD_shader_atomic_counter_ops := gl_IsSupported('GL_AMD_shader_atomic_counter_ops', oglExtensions);
  4646. GL_AMD_shader_ballot := gl_IsSupported('GL_AMD_shader_ballot', oglExtensions);
  4647. GL_AMD_shader_explicit_vertex_parameter := gl_IsSupported('GL_AMD_shader_explicit_vertex_parameter', oglExtensions);
  4648. GL_AMD_shader_gpu_shader_half_float_fetch := gl_IsSupported('GL_AMD_shader_gpu_shader_half_float_fetch', oglExtensions);
  4649. GL_AMD_shader_image_load_store_lod := gl_IsSupported('GL_AMD_shader_image_load_store_lod', oglExtensions);
  4650. GL_AMD_shader_stencil_export := gl_IsSupported('GL_AMD_shader_stencil_export', oglExtensions);
  4651. GL_AMD_shader_trinary_minmax := gl_IsSupported('GL_AMD_shader_trinary_minmax', oglExtensions);
  4652. GL_AMD_sparse_texture := gl_IsSupported('GL_AMD_sparse_texture', oglExtensions);
  4653. GL_AMD_stencil_operation_extended := gl_IsSupported('GL_AMD_stencil_operation_extended', oglExtensions);
  4654. GL_AMD_texture_gather_bias_lod := gl_IsSupported('GL_AMD_texture_gather_bias_lod', oglExtensions);
  4655. GL_AMD_texture_texture4 := gl_IsSupported('GL_AMD_texture_texture4', oglExtensions);
  4656. GL_AMD_transform_feedback3_lines_triangles := gl_IsSupported('GL_AMD_transform_feedback3_lines_triangles', oglExtensions);
  4657. GL_AMD_transform_feedback4 := gl_IsSupported('GL_AMD_transform_feedback4', oglExtensions);
  4658. GL_AMD_vertex_shader_layer := gl_IsSupported('GL_AMD_vertex_shader_layer', oglExtensions);
  4659. GL_AMD_vertex_shader_tessellator := gl_IsSupported('GL_AMD_vertex_shader_tessellator', oglExtensions);
  4660. GL_AMD_vertex_shader_viewport_index := gl_IsSupported('GL_AMD_vertex_shader_viewport_index', oglExtensions);
  4661. GL_APPLE_aux_depth_stencil := gl_IsSupported('GL_APPLE_aux_depth_stencil', oglExtensions);
  4662. GL_APPLE_client_storage := gl_IsSupported('GL_APPLE_client_storage', oglExtensions);
  4663. GL_APPLE_element_array := gl_IsSupported('GL_APPLE_element_array', oglExtensions);
  4664. GL_APPLE_fence := gl_IsSupported('GL_APPLE_fence', oglExtensions);
  4665. GL_APPLE_float_pixels := gl_IsSupported('GL_APPLE_float_pixels', oglExtensions);
  4666. GL_APPLE_flush_buffer_range := gl_IsSupported('GL_APPLE_flush_buffer_range', oglExtensions);
  4667. GL_APPLE_object_purgeable := gl_IsSupported('GL_APPLE_object_purgeable', oglExtensions);
  4668. {$EndIf}
  4669. GL_APPLE_rgb_422 := gl_IsSupported('GL_APPLE_rgb_422', oglExtensions);
  4670. {$IFDEF USE_GLEXT}
  4671. GL_APPLE_row_bytes := gl_IsSupported('GL_APPLE_row_bytes', oglExtensions);
  4672. GL_APPLE_specular_vector := gl_IsSupported('GL_APPLE_specular_vector', oglExtensions);
  4673. GL_APPLE_texture_range := gl_IsSupported('GL_APPLE_texture_range', oglExtensions);
  4674. GL_APPLE_transform_hint := gl_IsSupported('GL_APPLE_transform_hint', oglExtensions);
  4675. GL_APPLE_vertex_array_object := gl_IsSupported('GL_APPLE_vertex_array_object', oglExtensions);
  4676. GL_APPLE_vertex_array_range := gl_IsSupported('GL_APPLE_vertex_array_range', oglExtensions);
  4677. GL_APPLE_vertex_program_evaluators := gl_IsSupported('GL_APPLE_vertex_program_evaluators', oglExtensions);
  4678. GL_APPLE_ycbcr_422 := gl_IsSupported('GL_APPLE_ycbcr_422', oglExtensions);
  4679. GL_ATI_draw_buffers := gl_IsSupported('GL_ATI_draw_buffers', oglExtensions);
  4680. GL_ATI_element_array := gl_IsSupported('GL_ATI_element_array', oglExtensions);
  4681. GL_ATI_envmap_bumpmap := gl_IsSupported('GL_ATI_envmap_bumpmap', oglExtensions);
  4682. GL_ATI_fragment_shader := gl_IsSupported('GL_ATI_fragment_shader', oglExtensions);
  4683. GL_ATI_map_object_buffer := gl_IsSupported('GL_ATI_map_object_buffer', oglExtensions);
  4684. GL_ATI_meminfo := gl_IsSupported('GL_ATI_meminfo', oglExtensions);
  4685. GL_ATI_pixel_format_float := gl_IsSupported('GL_ATI_pixel_format_float', oglExtensions);
  4686. GL_ATI_pn_triangles := gl_IsSupported('GL_ATI_pn_triangles', oglExtensions);
  4687. GL_ATI_separate_stencil := gl_IsSupported('GL_ATI_separate_stencil', oglExtensions);
  4688. GL_ATI_text_fragment_shader := gl_IsSupported('GL_ATI_text_fragment_shader', oglExtensions);
  4689. GL_ATI_texture_env_combine3 := gl_IsSupported('GL_ATI_texture_env_combine3', oglExtensions);
  4690. GL_ATI_texture_float := gl_IsSupported('GL_ATI_texture_float', oglExtensions);
  4691. GL_ATI_texture_mirror_once := gl_IsSupported('GL_ATI_texture_mirror_once', oglExtensions);
  4692. GL_ATI_vertex_array_object := gl_IsSupported('GL_ATI_vertex_array_object', oglExtensions);
  4693. GL_ATI_vertex_attrib_array_object := gl_IsSupported('GL_ATI_vertex_attrib_array_object', oglExtensions);
  4694. GL_ATI_vertex_streams := gl_IsSupported('GL_ATI_vertex_streams', oglExtensions);
  4695. GL_EXT_422_pixels := gl_IsSupported('GL_EXT_422_pixels', oglExtensions);
  4696. {$EndIf}
  4697. GL_EXT_EGL_image_storage := gl_IsSupported('GL_EXT_EGL_image_storage', oglExtensions);
  4698. GL_EXT_EGL_sync := gl_IsSupported('GL_EXT_EGL_sync', oglExtensions);
  4699. {$IFDEF USE_GLEXT}
  4700. GL_EXT_abgr := gl_IsSupported('GL_EXT_abgr', oglExtensions);
  4701. GL_EXT_bgra := gl_IsSupported('GL_EXT_bgra', oglExtensions);
  4702. GL_EXT_bindable_uniform := gl_IsSupported('GL_EXT_bindable_uniform', oglExtensions);
  4703. GL_EXT_blend_color := gl_IsSupported('GL_EXT_blend_color', oglExtensions);
  4704. GL_EXT_blend_equation_separate := gl_IsSupported('GL_EXT_blend_equation_separate', oglExtensions);
  4705. // GL_EXT_blend_func_separate := gl_IsSupported('GL_EXT_blend_func_separate', oglExtensions);
  4706. GL_EXT_blend_logic_op := gl_IsSupported('GL_EXT_blend_logic_op', oglExtensions);
  4707. GL_EXT_blend_minmax := gl_IsSupported('GL_EXT_blend_minmax', oglExtensions);
  4708. GL_EXT_blend_subtract := gl_IsSupported('GL_EXT_blend_subtract', oglExtensions);
  4709. GL_EXT_clip_volume_hint := gl_IsSupported('GL_EXT_clip_volume_hint', oglExtensions);
  4710. GL_EXT_cmyka := gl_IsSupported('GL_EXT_cmyka', oglExtensions);
  4711. GL_EXT_color_subtable := gl_IsSupported('GL_EXT_color_subtable', oglExtensions);
  4712. GL_EXT_compiled_vertex_array := gl_IsSupported('GL_EXT_compiled_vertex_array', oglExtensions);
  4713. GL_EXT_convolution := gl_IsSupported('GL_EXT_convolution', oglExtensions);
  4714. GL_EXT_coordinate_frame := gl_IsSupported('GL_EXT_coordinate_frame', oglExtensions);
  4715. GL_EXT_copy_texture := gl_IsSupported('GL_EXT_copy_texture', oglExtensions);
  4716. GL_EXT_cull_vertex := gl_IsSupported('GL_EXT_cull_vertex', oglExtensions);
  4717. GL_EXT_depth_bounds_test := gl_IsSupported('GL_EXT_depth_bounds_test', oglExtensions);
  4718. GL_EXT_draw_buffers2 := gl_IsSupported('GL_EXT_draw_buffers2', oglExtensions);
  4719. {$EndIf}
  4720. GL_EXT_debug_label := gl_IsSupported('GL_EXT_debug_label', oglExtensions);
  4721. GL_EXT_debug_marker := gl_IsSupported('GL_EXT_debug_marker', oglExtensions);
  4722. GL_EXT_direct_state_access := gl_IsSupported('GL_EXT_direct_state_access', oglExtensions);
  4723. GL_EXT_draw_instanced := gl_IsSupported('GL_EXT_draw_instanced', oglExtensions);
  4724. {$IFDEF USE_GLEXT}
  4725. GL_EXT_draw_range_elements := gl_IsSupported('GL_EXT_draw_range_elements', oglExtensions);
  4726. GL_EXT_external_buffer := gl_IsSupported('GL_EXT_external_buffer', oglExtensions);
  4727. GL_EXT_fog_coord := gl_IsSupported('GL_EXT_fog_coord', oglExtensions);
  4728. GL_EXT_framebuffer_blit := gl_IsSupported('GL_EXT_framebuffer_blit', oglExtensions);
  4729. GL_EXT_framebuffer_multisample := gl_IsSupported('GL_EXT_framebuffer_multisample', oglExtensions);
  4730. GL_EXT_framebuffer_multisample_blit_scaled := gl_IsSupported('GL_EXT_framebuffer_multisample_blit_scaled', oglExtensions);
  4731. GL_EXT_framebuffer_object := gl_IsSupported('GL_EXT_framebuffer_object', oglExtensions);
  4732. GL_EXT_framebuffer_sRGB := gl_IsSupported('GL_EXT_framebuffer_sRGB', oglExtensions);
  4733. GL_EXT_geometry_shader4 := gl_IsSupported('GL_EXT_geometry_shader4', oglExtensions);
  4734. GL_EXT_gpu_program_parameters := gl_IsSupported('GL_EXT_gpu_program_parameters', oglExtensions);
  4735. GL_EXT_gpu_shader4 := gl_IsSupported('GL_EXT_gpu_shader4', oglExtensions);
  4736. GL_EXT_histogram := gl_IsSupported('GL_EXT_histogram', oglExtensions);
  4737. GL_EXT_index_array_formats := gl_IsSupported('GL_EXT_index_array_formats', oglExtensions);
  4738. GL_EXT_index_func := gl_IsSupported('GL_EXT_index_func', oglExtensions);
  4739. GL_EXT_index_material := gl_IsSupported('GL_EXT_index_material', oglExtensions);
  4740. GL_EXT_index_texture := gl_IsSupported('GL_EXT_index_texture', oglExtensions);
  4741. GL_EXT_light_texture := gl_IsSupported('GL_EXT_light_texture', oglExtensions);
  4742. GL_EXT_memory_object := gl_IsSupported('GL_EXT_memory_object', oglExtensions);
  4743. GL_EXT_memory_object_fd := gl_IsSupported('GL_EXT_memory_object_fd', oglExtensions);
  4744. GL_EXT_memory_object_win32 := gl_IsSupported('GL_EXT_memory_object_win32', oglExtensions);
  4745. GL_EXT_misc_attribute := gl_IsSupported('GL_EXT_misc_attribute', oglExtensions);
  4746. GL_EXT_multi_draw_arrays := gl_IsSupported('GL_EXT_multi_draw_arrays', oglExtensions);
  4747. GL_EXT_multisample := gl_IsSupported('GL_EXT_multisample', oglExtensions);
  4748. {$EndIf}
  4749. GL_EXT_multiview_tessellation_geometry_shader := gl_IsSupported('GL_EXT_multiview_tessellation_geometry_shader', oglExtensions);
  4750. GL_EXT_multiview_texture_multisample := gl_IsSupported('GL_EXT_multiview_texture_multisample', oglExtensions);
  4751. GL_EXT_multiview_timer_query := gl_IsSupported('GL_EXT_multiview_timer_query', oglExtensions);
  4752. {$IFDEF USE_GLEXT}
  4753. GL_EXT_packed_depth_stencil := gl_IsSupported('GL_EXT_packed_depth_stencil', oglExtensions);
  4754. GL_EXT_packed_float := gl_IsSupported('GL_EXT_packed_float', oglExtensions);
  4755. GL_EXT_packed_pixels := gl_IsSupported('GL_EXT_packed_pixels', oglExtensions);
  4756. GL_EXT_paletted_texture := gl_IsSupported('GL_EXT_paletted_texture', oglExtensions);
  4757. GL_EXT_pixel_buffer_object := gl_IsSupported('GL_EXT_pixel_buffer_object', oglExtensions);
  4758. GL_EXT_pixel_transform := gl_IsSupported('GL_EXT_pixel_transform', oglExtensions);
  4759. GL_EXT_pixel_transform_color_table := gl_IsSupported('GL_EXT_pixel_transform_color_table', oglExtensions);
  4760. GL_EXT_point_parameters := gl_IsSupported('GL_EXT_point_parameters', oglExtensions);
  4761. GL_EXT_polygon_offset := gl_IsSupported('GL_EXT_polygon_offset', oglExtensions);
  4762. GL_EXT_provoking_vertex := gl_IsSupported('GL_EXT_provoking_vertex', oglExtensions);
  4763. {$EndIf}
  4764. GL_EXT_polygon_offset_clamp := gl_IsSupported('GL_EXT_polygon_offset_clamp', oglExtensions);
  4765. GL_EXT_post_depth_coverage := gl_IsSupported('GL_EXT_post_depth_coverage', oglExtensions);
  4766. GL_EXT_raster_multisample := gl_IsSupported('GL_EXT_raster_multisample', oglExtensions);
  4767. {$IFDEF USE_GLEXT}
  4768. GL_EXT_rescale_normal := gl_IsSupported('GL_EXT_rescale_normal', oglExtensions);
  4769. GL_EXT_secondary_color := gl_IsSupported('GL_EXT_secondary_color', oglExtensions);
  4770. GL_EXT_semaphore := gl_IsSupported('GL_EXT_semaphore', oglExtensions);
  4771. GL_EXT_semaphore_fd := gl_IsSupported('GL_EXT_semaphore_fd', oglExtensions);
  4772. GL_EXT_semaphore_win32 := gl_IsSupported('GL_EXT_semaphore_win32', oglExtensions);
  4773. GL_EXT_separate_specular_color := gl_IsSupported('GL_EXT_separate_specular_color', oglExtensions);
  4774. {$EndIf}
  4775. GL_EXT_separate_shader_objects := gl_IsSupported('GL_EXT_separate_shader_objects', oglExtensions);
  4776. GL_EXT_shader_framebuffer_fetch := gl_IsSupported('GL_EXT_shader_framebuffer_fetch', oglExtensions);
  4777. GL_EXT_shader_framebuffer_fetch_non_coherent := gl_IsSupported('GL_EXT_shader_framebuffer_fetch_non_coherent', oglExtensions);
  4778. GL_EXT_shader_integer_mix := gl_IsSupported('GL_EXT_shader_integer_mix', oglExtensions);
  4779. {$IFDEF USE_GLEXT}
  4780. GL_EXT_shader_image_load_formatted := gl_IsSupported('GL_EXT_shader_image_load_formatted', oglExtensions);
  4781. GL_EXT_shader_image_load_store := gl_IsSupported('GL_EXT_shader_image_load_store', oglExtensions);
  4782. GL_EXT_shadow_funcs := gl_IsSupported('GL_EXT_shadow_funcs', oglExtensions);
  4783. GL_EXT_shared_texture_palette := gl_IsSupported('GL_EXT_shared_texture_palette', oglExtensions);
  4784. GL_EXT_sparse_texture2 := gl_IsSupported('GL_EXT_sparse_texture2', oglExtensions);
  4785. GL_EXT_stencil_clear_tag := gl_IsSupported('GL_EXT_stencil_clear_tag', oglExtensions);
  4786. GL_EXT_stencil_two_side := gl_IsSupported('GL_EXT_stencil_two_side', oglExtensions);
  4787. GL_EXT_stencil_wrap := gl_IsSupported('GL_EXT_stencil_wrap', oglExtensions);
  4788. GL_EXT_subtexture := gl_IsSupported('GL_EXT_subtexture', oglExtensions);
  4789. GL_EXT_texture := gl_IsSupported('GL_EXT_texture', oglExtensions);
  4790. GL_EXT_texture3D := gl_IsSupported('GL_EXT_texture3D', oglExtensions);
  4791. GL_EXT_texture_array := gl_IsSupported('GL_EXT_texture_array', oglExtensions);
  4792. GL_EXT_texture_buffer_object := gl_IsSupported('GL_EXT_texture_buffer_object', oglExtensions);
  4793. GL_EXT_texture_compression_latc := gl_IsSupported('GL_EXT_texture_compression_latc', oglExtensions);
  4794. GL_EXT_texture_compression_rgtc := gl_IsSupported('GL_EXT_texture_compression_rgtc', oglExtensions);
  4795. // GL_EXT_texture_compression_s3tc := gl_IsSupported('GL_EXT_texture_compression_s3tc', oglExtensions);
  4796. GL_EXT_texture_cube_map := gl_IsSupported('GL_EXT_texture_cube_map', oglExtensions);
  4797. GL_EXT_texture_env_add := gl_IsSupported('GL_EXT_texture_env_add', oglExtensions);
  4798. GL_EXT_texture_env_combine := gl_IsSupported('GL_EXT_texture_env_combine', oglExtensions);
  4799. GL_EXT_texture_env_dot3 := gl_IsSupported('GL_EXT_texture_env_dot3', oglExtensions);
  4800. // GL_EXT_texture_filter_anisotropic := gl_IsSupported('GL_EXT_texture_filter_anisotropic', oglExtensions);
  4801. {$EndIf}
  4802. GL_EXT_texture_filter_minmax := gl_IsSupported('GL_EXT_texture_filter_minmax', oglExtensions);
  4803. {$IFDEF USE_GLEXT}
  4804. GL_EXT_texture_integer := gl_IsSupported('GL_EXT_texture_integer', oglExtensions);
  4805. GL_EXT_texture_lod_bias := gl_IsSupported('GL_EXT_texture_lod_bias', oglExtensions);
  4806. GL_EXT_texture_mirror_clamp := gl_IsSupported('GL_EXT_texture_mirror_clamp', oglExtensions);
  4807. GL_EXT_texture_object := gl_IsSupported('GL_EXT_texture_object', oglExtensions);
  4808. GL_EXT_texture_perturb_normal := gl_IsSupported('GL_EXT_texture_perturb_normal', oglExtensions);
  4809. GL_EXT_texture_sRGB := gl_IsSupported('GL_EXT_texture_sRGB', oglExtensions);
  4810. GL_EXT_texture_shared_exponent := gl_IsSupported('GL_EXT_texture_shared_exponent', oglExtensions);
  4811. GL_EXT_texture_snorm := gl_IsSupported('GL_EXT_texture_snorm', oglExtensions);
  4812. {$EndIf}
  4813. GL_EXT_texture_sRGB_R8 := gl_IsSupported('GL_EXT_texture_sRGB_R8', oglExtensions);
  4814. GL_EXT_texture_sRGB_RG8 := gl_IsSupported('GL_EXT_texture_sRGB_RG8', oglExtensions);
  4815. GL_EXT_texture_sRGB_decode := gl_IsSupported('GL_EXT_texture_sRGB_decode', oglExtensions);
  4816. GL_EXT_texture_shadow_lod := gl_IsSupported('GL_EXT_texture_shadow_lod', oglExtensions);
  4817. GL_EXT_texture_storage := gl_IsSupported('GL_EXT_texture_storage', oglExtensions);
  4818. {$IFDEF USE_GLEXT}
  4819. GL_EXT_texture_swizzle := gl_IsSupported('GL_EXT_texture_swizzle', oglExtensions);
  4820. GL_EXT_timer_query := gl_IsSupported('GL_EXT_timer_query', oglExtensions);
  4821. GL_EXT_transform_feedback := gl_IsSupported('GL_EXT_transform_feedback', oglExtensions);
  4822. GL_EXT_vertex_array := gl_IsSupported('GL_EXT_vertex_array', oglExtensions);
  4823. GL_EXT_vertex_array_bgra := gl_IsSupported('GL_EXT_vertex_array_bgra', oglExtensions);
  4824. GL_EXT_vertex_attrib_64bit := gl_IsSupported('GL_EXT_vertex_attrib_64bit', oglExtensions);
  4825. GL_EXT_vertex_shader := gl_IsSupported('GL_EXT_vertex_shader', oglExtensions);
  4826. GL_EXT_vertex_weighting := gl_IsSupported('GL_EXT_vertex_weighting', oglExtensions);
  4827. GL_EXT_win32_keyed_mutex := gl_IsSupported('GL_EXT_win32_keyed_mutex', oglExtensions);
  4828. {$EndIf}
  4829. GL_EXT_window_rectangles := gl_IsSupported('GL_EXT_window_rectangles', oglExtensions);
  4830. {$IFDEF USE_GLEXT}
  4831. GL_EXT_x11_sync_object := gl_IsSupported('GL_EXT_x11_sync_object', oglExtensions);
  4832. GL_GREMEDY_frame_terminator := gl_IsSupported('GL_GREMEDY_frame_terminator', oglExtensions);
  4833. GL_GREMEDY_string_marker := gl_IsSupported('GL_GREMEDY_string_marker', oglExtensions);
  4834. GL_HP_convolution_border_modes := gl_IsSupported('GL_HP_convolution_border_modes', oglExtensions);
  4835. GL_HP_image_transform := gl_IsSupported('GL_HP_image_transform', oglExtensions);
  4836. GL_HP_occlusion_test := gl_IsSupported('GL_HP_occlusion_test', oglExtensions);
  4837. GL_HP_texture_lighting := gl_IsSupported('GL_HP_texture_lighting', oglExtensions);
  4838. GL_IBM_cull_vertex := gl_IsSupported('GL_IBM_cull_vertex', oglExtensions);
  4839. GL_IBM_multimode_draw_arrays := gl_IsSupported('GL_IBM_multimode_draw_arrays', oglExtensions);
  4840. GL_IBM_rasterpos_clip := gl_IsSupported('GL_IBM_rasterpos_clip', oglExtensions);
  4841. GL_IBM_static_data := gl_IsSupported('GL_IBM_static_data', oglExtensions);
  4842. GL_IBM_texture_mirrored_repeat := gl_IsSupported('GL_IBM_texture_mirrored_repeat', oglExtensions);
  4843. GL_IBM_vertex_array_lists := gl_IsSupported('GL_IBM_vertex_array_lists', oglExtensions);
  4844. GL_INGR_blend_func_separate := gl_IsSupported('GL_INGR_blend_func_separate', oglExtensions);
  4845. GL_INGR_color_clamp := gl_IsSupported('GL_INGR_color_clamp', oglExtensions);
  4846. GL_INGR_interlace_read := gl_IsSupported('GL_INGR_interlace_read', oglExtensions);
  4847. GL_INTEL_fragment_shader_ordering := gl_IsSupported('GL_INTEL_fragment_shader_ordering', oglExtensions);
  4848. {$EndIf}
  4849. GL_INTEL_blackhole_render := gl_IsSupported('GL_INTEL_blackhole_render', oglExtensions);
  4850. GL_INTEL_conservative_rasterization := gl_IsSupported('GL_INTEL_conservative_rasterization', oglExtensions);
  4851. GL_INTEL_framebuffer_CMAA := gl_IsSupported('GL_INTEL_framebuffer_CMAA', oglExtensions);
  4852. {$IFDEF USE_GLEXT}
  4853. GL_INTEL_map_texture := gl_IsSupported('GL_INTEL_map_texture', oglExtensions);
  4854. GL_INTEL_parallel_arrays := gl_IsSupported('GL_INTEL_parallel_arrays', oglExtensions);
  4855. GL_MESAX_texture_stack := gl_IsSupported('GL_MESAX_texture_stack', oglExtensions);
  4856. {$EndIf}
  4857. GL_INTEL_performance_query := gl_IsSupported('GL_INTEL_performance_query', oglExtensions);
  4858. GL_MESA_framebuffer_flip_x := gl_IsSupported('GL_MESA_framebuffer_flip_x', oglExtensions);
  4859. GL_MESA_framebuffer_flip_y := gl_IsSupported('GL_MESA_framebuffer_flip_y', oglExtensions);
  4860. GL_MESA_framebuffer_swap_xy := gl_IsSupported('GL_MESA_framebuffer_swap_xy', oglExtensions);
  4861. {$IFDEF USE_GLEXT}
  4862. GL_MESA_pack_invert := gl_IsSupported('GL_MESA_pack_invert', oglExtensions);
  4863. GL_MESA_program_binary_formats := gl_IsSupported('GL_MESA_program_binary_formats', oglExtensions);
  4864. GL_MESA_resize_buffers := gl_IsSupported('GL_MESA_resize_buffers', oglExtensions);
  4865. GL_MESA_shader_integer_functions := gl_IsSupported('GL_MESA_shader_integer_functions', oglExtensions);
  4866. GL_MESA_tile_raster_order := gl_IsSupported('GL_MESA_tile_raster_order', oglExtensions);
  4867. GL_MESA_window_pos := gl_IsSupported('GL_MESA_window_pos', oglExtensions);
  4868. GL_MESA_ycbcr_texture := gl_IsSupported('GL_MESA_ycbcr_texture', oglExtensions);
  4869. GL_NVX_blend_equation_advanced_multi_draw_buffers := gl_IsSupported('GL_NVX_blend_equation_advanced_multi_draw_buffers', oglExtensions);
  4870. GL_NVX_conditional_render := gl_IsSupported('GL_NVX_conditional_render', oglExtensions);
  4871. GL_NVX_gpu_memory_info := gl_IsSupported('GL_NVX_gpu_memory_info', oglExtensions);
  4872. GL_NVX_gpu_multicast2 := gl_IsSupported('GL_NVX_gpu_multicast2', oglExtensions);
  4873. GL_NVX_linked_gpu_multicast := gl_IsSupported('GL_NVX_linked_gpu_multicast', oglExtensions);
  4874. GL_NVX_progress_fence := gl_IsSupported('GL_NVX_progress_fence', oglExtensions);
  4875. GL_NV_alpha_to_coverage_dither_control := gl_IsSupported('GL_NV_alpha_to_coverage_dither_control', oglExtensions);
  4876. {$EndIf}
  4877. GL_NV_bindless_multi_draw_indirect := gl_IsSupported('GL_NV_bindless_multi_draw_indirect', oglExtensions);
  4878. GL_NV_bindless_multi_draw_indirect_count := gl_IsSupported('GL_NV_bindless_multi_draw_indirect_count', oglExtensions);
  4879. GL_NV_bindless_texture := gl_IsSupported('GL_NV_bindless_texture', oglExtensions);
  4880. GL_NV_blend_equation_advanced := gl_IsSupported('GL_NV_blend_equation_advanced', oglExtensions);
  4881. GL_NV_blend_equation_advanced_coherent := gl_IsSupported('GL_NV_blend_equation_advanced_coherent', oglExtensions);
  4882. GL_NV_blend_minmax_factor := gl_IsSupported('GL_NV_blend_minmax_factor', oglExtensions);
  4883. {$IFDEF USE_GLEXT}
  4884. GL_NV_blend_square := gl_IsSupported('GL_NV_blend_square', oglExtensions);
  4885. GL_NV_compute_program5 := gl_IsSupported('GL_NV_compute_program5', oglExtensions);
  4886. {$EndIf}
  4887. GL_NV_clip_space_w_scaling := gl_IsSupported('GL_NV_clip_space_w_scaling', oglExtensions);
  4888. GL_NV_command_list := gl_IsSupported('GL_NV_command_list', oglExtensions);
  4889. GL_NV_compute_shader_derivatives := gl_IsSupported('GL_NV_compute_shader_derivatives', oglExtensions);
  4890. GL_NV_conditional_render := gl_IsSupported('GL_NV_conditional_render', oglExtensions);
  4891. GL_NV_conservative_raster := gl_IsSupported('GL_NV_conservative_raster', oglExtensions);
  4892. GL_NV_conservative_raster_dilate := gl_IsSupported('GL_NV_conservative_raster_dilate', oglExtensions);
  4893. GL_NV_conservative_raster_pre_snap := gl_IsSupported('GL_NV_conservative_raster_pre_snap', oglExtensions);
  4894. GL_NV_conservative_raster_pre_snap_triangles := gl_IsSupported('GL_NV_conservative_raster_pre_snap_triangles', oglExtensions);
  4895. GL_NV_conservative_raster_underestimation := gl_IsSupported('GL_NV_conservative_raster_underestimation', oglExtensions);
  4896. GL_NV_depth_buffer_float := gl_IsSupported('GL_NV_depth_buffer_float', oglExtensions);
  4897. {$IFDEF USE_GLEXT}
  4898. GL_NV_copy_depth_to_color := gl_IsSupported('GL_NV_copy_depth_to_color', oglExtensions);
  4899. GL_NV_copy_image := gl_IsSupported('GL_NV_copy_image', oglExtensions);
  4900. GL_NV_deep_texture3D := gl_IsSupported('GL_NV_deep_texture3D', oglExtensions);
  4901. GL_NV_depth_clamp := gl_IsSupported('GL_NV_depth_clamp', oglExtensions);
  4902. GL_NV_draw_texture := gl_IsSupported('GL_NV_draw_texture', oglExtensions);
  4903. GL_NV_evaluators := gl_IsSupported('GL_NV_evaluators', oglExtensions);
  4904. GL_NV_explicit_multisample := gl_IsSupported('GL_NV_explicit_multisample', oglExtensions);
  4905. GL_NV_fence := gl_IsSupported('GL_NV_fence', oglExtensions);
  4906. {$EndIf}
  4907. GL_NV_draw_vulkan_image := gl_IsSupported('GL_NV_draw_vulkan_image', oglExtensions);
  4908. GL_NV_fill_rectangle := gl_IsSupported('GL_NV_fill_rectangle', oglExtensions);
  4909. {$IFDEF USE_GLEXT}
  4910. GL_NV_float_buffer := gl_IsSupported('GL_NV_float_buffer', oglExtensions);
  4911. GL_NV_fog_distance := gl_IsSupported('GL_NV_fog_distance', oglExtensions);
  4912. GL_NV_fragment_program := gl_IsSupported('GL_NV_fragment_program', oglExtensions);
  4913. GL_NV_fragment_program2 := gl_IsSupported('GL_NV_fragment_program2', oglExtensions);
  4914. GL_NV_fragment_program4 := gl_IsSupported('GL_NV_fragment_program4', oglExtensions);
  4915. GL_NV_fragment_program_option := gl_IsSupported('GL_NV_fragment_program_option', oglExtensions);
  4916. {$EndIf}
  4917. GL_NV_fragment_coverage_to_color := gl_IsSupported('GL_NV_fragment_coverage_to_color', oglExtensions);
  4918. GL_NV_fragment_shader_barycentric := gl_IsSupported('GL_NV_fragment_shader_barycentric', oglExtensions);
  4919. GL_NV_fragment_shader_interlock := gl_IsSupported('GL_NV_fragment_shader_interlock', oglExtensions);
  4920. GL_NV_framebuffer_mixed_samples := gl_IsSupported('GL_NV_framebuffer_mixed_samples', oglExtensions);
  4921. GL_NV_framebuffer_multisample_coverage := gl_IsSupported('GL_NV_framebuffer_multisample_coverage', oglExtensions);
  4922. GL_NV_geometry_shader_passthrough := gl_IsSupported('GL_NV_geometry_shader_passthrough', oglExtensions);
  4923. {$IFDEF USE_GLEXT}
  4924. GL_NV_geometry_program4 := gl_IsSupported('GL_NV_geometry_program4', oglExtensions);
  4925. GL_NV_geometry_shader4 := gl_IsSupported('GL_NV_geometry_shader4', oglExtensions);
  4926. GL_NV_gpu_multicast := gl_IsSupported('GL_NV_gpu_multicast', oglExtensions);
  4927. GL_NV_gpu_program4 := gl_IsSupported('GL_NV_gpu_program4', oglExtensions);
  4928. GL_NV_gpu_program5 := gl_IsSupported('GL_NV_gpu_program5', oglExtensions);
  4929. GL_NV_gpu_program5_mem_extended := gl_IsSupported('GL_NV_gpu_program5_mem_extended', oglExtensions);
  4930. {$EndIf}
  4931. // узнать, работает ли эта часть при GLext!!!!
  4932. // хотя функции подменены в другом разделе.
  4933. GL_NV_gpu_shader5 := gl_IsSupported('GL_NV_gpu_shader5', oglExtensions);
  4934. GL_NV_internalformat_sample_query := gl_IsSupported('GL_NV_internalformat_sample_query', oglExtensions);
  4935. {$IFDEF USE_GLEXT}
  4936. GL_NV_half_float := gl_IsSupported('GL_NV_half_float', oglExtensions);
  4937. GL_NV_light_max_exponent := gl_IsSupported('GL_NV_light_max_exponent', oglExtensions);
  4938. {$EndIf}
  4939. GL_NV_memory_attachment := gl_IsSupported('GL_NV_memory_attachment', oglExtensions);
  4940. GL_NV_memory_object_sparse := gl_IsSupported('GL_NV_memory_object_sparse', oglExtensions);
  4941. GL_NV_mesh_shader := gl_IsSupported('GL_NV_mesh_shader', oglExtensions);
  4942. GL_NV_path_rendering := gl_IsSupported('GL_NV_path_rendering', oglExtensions);
  4943. GL_NV_path_rendering_shared_edge := gl_IsSupported('GL_NV_path_rendering_shared_edge', oglExtensions);
  4944. {$IFDEF USE_GLEXT}
  4945. GL_NV_multisample_coverage := gl_IsSupported('GL_NV_multisample_coverage', oglExtensions);
  4946. GL_NV_multisample_filter_hint := gl_IsSupported('GL_NV_multisample_filter_hint', oglExtensions);
  4947. GL_NV_occlusion_query := gl_IsSupported('GL_NV_occlusion_query', oglExtensions);
  4948. GL_NV_packed_depth_stencil := gl_IsSupported('GL_NV_packed_depth_stencil', oglExtensions);
  4949. GL_NV_parameter_buffer_object := gl_IsSupported('GL_NV_parameter_buffer_object', oglExtensions);
  4950. GL_NV_parameter_buffer_object2 := gl_IsSupported('GL_NV_parameter_buffer_object2', oglExtensions);
  4951. GL_NV_pixel_data_range := gl_IsSupported('GL_NV_pixel_data_range', oglExtensions);
  4952. GL_NV_point_sprite := gl_IsSupported('GL_NV_point_sprite', oglExtensions);
  4953. GL_NV_present_video := gl_IsSupported('GL_NV_present_video', oglExtensions);
  4954. GL_NV_primitive_restart := gl_IsSupported('GL_NV_primitive_restart', oglExtensions);
  4955. {$EndIf}
  4956. GL_NV_primitive_shading_rate := gl_IsSupported('GL_NV_primitive_shading_rate', oglExtensions);
  4957. GL_NV_representative_fragment_test := gl_IsSupported('GL_NV_representative_fragment_test', oglExtensions);
  4958. {$IFDEF USE_GLEXT}
  4959. GL_NV_query_resource := gl_IsSupported('GL_NV_query_resource', oglExtensions);
  4960. GL_NV_query_resource_tag := gl_IsSupported('GL_NV_query_resource_tag', oglExtensions);
  4961. GL_NV_register_combiners := gl_IsSupported('GL_NV_register_combiners', oglExtensions);
  4962. GL_NV_register_combiners2 := gl_IsSupported('GL_NV_register_combiners2', oglExtensions);
  4963. GL_NV_robustness_video_memory_purge := gl_IsSupported('GL_NV_robustness_video_memory_purge', oglExtensions);
  4964. {$EndIf}
  4965. GL_NV_sample_locations := gl_IsSupported('GL_NV_sample_locations', oglExtensions);
  4966. GL_NV_sample_mask_override_coverage := gl_IsSupported('GL_NV_sample_mask_override_coverage', oglExtensions);
  4967. GL_NV_scissor_exclusive := gl_IsSupported('GL_NV_scissor_exclusive', oglExtensions);
  4968. GL_NV_shader_atomic_counters := gl_IsSupported('GL_NV_shader_atomic_counters', oglExtensions);
  4969. GL_NV_shader_atomic_float := gl_IsSupported('GL_NV_shader_atomic_float', oglExtensions);
  4970. GL_NV_shader_atomic_float64 := gl_IsSupported('GL_NV_shader_atomic_float64', oglExtensions);
  4971. GL_NV_shader_atomic_fp16_vector := gl_IsSupported('GL_NV_shader_atomic_fp16_vector', oglExtensions);
  4972. GL_NV_shader_atomic_int64 := gl_IsSupported('GL_NV_shader_atomic_int64', oglExtensions);
  4973. GL_NV_shader_buffer_load := gl_IsSupported('GL_NV_shader_buffer_load', oglExtensions);
  4974. GL_NV_shader_buffer_store := gl_IsSupported('GL_NV_shader_buffer_store', oglExtensions);
  4975. GL_NV_shader_subgroup_partitioned := gl_IsSupported('GL_NV_shader_subgroup_partitioned', oglExtensions);
  4976. GL_NV_shader_texture_footprint := gl_IsSupported('GL_NV_shader_texture_footprint', oglExtensions);
  4977. GL_NV_shader_thread_group := gl_IsSupported('GL_NV_shader_thread_group', oglExtensions);
  4978. GL_NV_shader_thread_shuffle := gl_IsSupported('GL_NV_shader_thread_shuffle', oglExtensions);
  4979. GL_NV_shading_rate_image := gl_IsSupported('GL_NV_shading_rate_image', oglExtensions);
  4980. {$IFDEF USE_GLEXT}
  4981. GL_NV_shader_storage_buffer_object := gl_IsSupported('GL_NV_shader_storage_buffer_object', oglExtensions);
  4982. GL_NV_stereo_view_rendering := gl_IsSupported('GL_NV_stereo_view_rendering', oglExtensions);
  4983. GL_NV_tessellation_program5 := gl_IsSupported('GL_NV_tessellation_program5', oglExtensions);
  4984. GL_NV_texgen_emboss := gl_IsSupported('GL_NV_texgen_emboss', oglExtensions);
  4985. GL_NV_texgen_reflection := gl_IsSupported('GL_NV_texgen_reflection', oglExtensions);
  4986. GL_NV_texture_compression_vtc := gl_IsSupported('GL_NV_texture_compression_vtc', oglExtensions);
  4987. GL_NV_texture_env_combine4 := gl_IsSupported('GL_NV_texture_env_combine4', oglExtensions);
  4988. GL_NV_texture_expand_normal := gl_IsSupported('GL_NV_texture_expand_normal', oglExtensions);
  4989. GL_NV_texture_multisample := gl_IsSupported('GL_NV_texture_multisample', oglExtensions);
  4990. GL_NV_texture_rectangle := gl_IsSupported('GL_NV_texture_rectangle', oglExtensions);
  4991. {$EndIf}
  4992. GL_NV_texture_barrier := gl_IsSupported('GL_NV_texture_barrier', oglExtensions);
  4993. GL_NV_texture_rectangle_compressed := gl_IsSupported('GL_NV_texture_rectangle_compressed', oglExtensions);
  4994. {$IFDEF USE_GLEXT}
  4995. GL_NV_texture_shader := gl_IsSupported('GL_NV_texture_shader', oglExtensions);
  4996. GL_NV_texture_shader2 := gl_IsSupported('GL_NV_texture_shader2', oglExtensions);
  4997. GL_NV_texture_shader3 := gl_IsSupported('GL_NV_texture_shader3', oglExtensions);
  4998. GL_NV_timeline_semaphore := gl_IsSupported('GL_NV_timeline_semaphore', oglExtensions);
  4999. GL_NV_transform_feedback := gl_IsSupported('GL_NV_transform_feedback', oglExtensions);
  5000. GL_NV_transform_feedback2 := gl_IsSupported('GL_NV_transform_feedback2', oglExtensions);
  5001. GL_NV_vdpau_interop := gl_IsSupported('GL_NV_vdpau_interop', oglExtensions);
  5002. GL_NV_vdpau_interop2 := gl_IsSupported('GL_NV_vdpau_interop2', oglExtensions);
  5003. GL_NV_vertex_array_range := gl_IsSupported('GL_NV_vertex_array_range', oglExtensions);
  5004. GL_NV_vertex_array_range2 := gl_IsSupported('GL_NV_vertex_array_range2', oglExtensions);
  5005. {$EndIf}
  5006. GL_NV_uniform_buffer_unified_memory := gl_IsSupported('GL_NV_uniform_buffer_unified_memory', oglExtensions);
  5007. GL_NV_vertex_attrib_integer_64bit := gl_IsSupported('GL_NV_vertex_attrib_integer_64bit', oglExtensions);
  5008. GL_NV_vertex_buffer_unified_memory := gl_IsSupported('GL_NV_vertex_buffer_unified_memory', oglExtensions);
  5009. GL_NV_viewport_array2 := gl_IsSupported('GL_NV_viewport_array2', oglExtensions);
  5010. GL_NV_viewport_swizzle := gl_IsSupported('GL_NV_viewport_swizzle', oglExtensions);
  5011. {$IFDEF USE_GLEXT}
  5012. GL_NV_vertex_program := gl_IsSupported('GL_NV_vertex_program', oglExtensions);
  5013. GL_NV_vertex_program1_1 := gl_IsSupported('GL_NV_vertex_program1_1', oglExtensions);
  5014. GL_NV_vertex_program2 := gl_IsSupported('GL_NV_vertex_program2', oglExtensions);
  5015. GL_NV_vertex_program2_option := gl_IsSupported('GL_NV_vertex_program2_option', oglExtensions);
  5016. GL_NV_vertex_program3 := gl_IsSupported('GL_NV_vertex_program3', oglExtensions);
  5017. GL_NV_vertex_program4 := gl_IsSupported('GL_NV_vertex_program4', oglExtensions);
  5018. GL_NV_video_capture := gl_IsSupported('GL_NV_video_capture', oglExtensions);
  5019. GL_OML_interlace := gl_IsSupported('GL_OML_interlace', oglExtensions);
  5020. GL_OML_resample := gl_IsSupported('GL_OML_resample', oglExtensions);
  5021. GL_OML_subsample := gl_IsSupported('GL_OML_subsample', oglExtensions);
  5022. {$EndIf}
  5023. GL_OVR_multiview := gl_IsSupported('GL_OVR_multiview', oglExtensions);
  5024. GL_OVR_multiview2 := gl_IsSupported('GL_OVR_multiview2', oglExtensions);
  5025. {$IFDEF USE_GLEXT}
  5026. GL_PGI_misc_hints := gl_IsSupported('GL_PGI_misc_hints', oglExtensions);
  5027. GL_PGI_vertex_hints := gl_IsSupported('GL_PGI_vertex_hints', oglExtensions);
  5028. GL_REND_screen_coordinates := gl_IsSupported('GL_REND_screen_coordinates', oglExtensions);
  5029. GL_S3_s3tc := gl_IsSupported('GL_S3_s3tc', oglExtensions);
  5030. GL_SGIS_detail_texture := gl_IsSupported('GL_SGIS_detail_texture', oglExtensions);
  5031. GL_SGIS_fog_function := gl_IsSupported('GL_SGIS_fog_function', oglExtensions);
  5032. // GL_SGIS_generate_mipmap := gl_IsSupported('GL_SGIS_generate_mipmap', oglExtensions);
  5033. GL_SGIS_multisample := gl_IsSupported('GL_SGIS_multisample', oglExtensions);
  5034. GL_SGIS_pixel_texture := gl_IsSupported('GL_SGIS_pixel_texture', oglExtensions);
  5035. GL_SGIS_point_line_texgen := gl_IsSupported('GL_SGIS_point_line_texgen', oglExtensions);
  5036. GL_SGIS_point_parameters := gl_IsSupported('GL_SGIS_point_parameters', oglExtensions);
  5037. GL_SGIS_sharpen_texture := gl_IsSupported('GL_SGIS_sharpen_texture', oglExtensions);
  5038. GL_SGIS_texture4D := gl_IsSupported('GL_SGIS_texture4D', oglExtensions);
  5039. GL_SGIS_texture_border_clamp := gl_IsSupported('GL_SGIS_texture_border_clamp', oglExtensions);
  5040. GL_SGIS_texture_color_mask := gl_IsSupported('GL_SGIS_texture_color_mask', oglExtensions);
  5041. GL_SGIS_texture_edge_clamp := gl_IsSupported('GL_SGIS_texture_edge_clamp', oglExtensions);
  5042. GL_SGIS_texture_filter4 := gl_IsSupported('GL_SGIS_texture_filter4', oglExtensions);
  5043. GL_SGIS_texture_lod := gl_IsSupported('GL_SGIS_texture_lod', oglExtensions);
  5044. GL_SGIS_texture_select := gl_IsSupported('GL_SGIS_texture_select', oglExtensions);
  5045. GL_SGIX_async := gl_IsSupported('GL_SGIX_async', oglExtensions);
  5046. GL_SGIX_async_histogram := gl_IsSupported('GL_SGIX_async_histogram', oglExtensions);
  5047. GL_SGIX_async_pixel := gl_IsSupported('GL_SGIX_async_pixel', oglExtensions);
  5048. GL_SGIX_blend_alpha_minmax := gl_IsSupported('GL_SGIX_blend_alpha_minmax', oglExtensions);
  5049. GL_SGIX_calligraphic_fragment := gl_IsSupported('GL_SGIX_calligraphic_fragment', oglExtensions);
  5050. GL_SGIX_clipmap := gl_IsSupported('GL_SGIX_clipmap', oglExtensions);
  5051. GL_SGIX_convolution_accuracy := gl_IsSupported('GL_SGIX_convolution_accuracy', oglExtensions);
  5052. GL_SGIX_depth_pass_instrument := gl_IsSupported('GL_SGIX_depth_pass_instrument', oglExtensions);
  5053. GL_SGIX_depth_texture := gl_IsSupported('GL_SGIX_depth_texture', oglExtensions);
  5054. GL_SGIX_flush_raster := gl_IsSupported('GL_SGIX_flush_raster', oglExtensions);
  5055. GL_SGIX_fog_offset := gl_IsSupported('GL_SGIX_fog_offset', oglExtensions);
  5056. GL_SGIX_fragment_lighting := gl_IsSupported('GL_SGIX_fragment_lighting', oglExtensions);
  5057. GL_SGIX_framezoom := gl_IsSupported('GL_SGIX_framezoom', oglExtensions);
  5058. GL_SGIX_igloo_interface := gl_IsSupported('GL_SGIX_igloo_interface', oglExtensions);
  5059. GL_SGIX_instruments := gl_IsSupported('GL_SGIX_instruments', oglExtensions);
  5060. GL_SGIX_interlace := gl_IsSupported('GL_SGIX_interlace', oglExtensions);
  5061. GL_SGIX_ir_instrument1 := gl_IsSupported('GL_SGIX_ir_instrument1', oglExtensions);
  5062. GL_SGIX_list_priority := gl_IsSupported('GL_SGIX_list_priority', oglExtensions);
  5063. GL_SGIX_pixel_texture := gl_IsSupported('GL_SGIX_pixel_texture', oglExtensions);
  5064. GL_SGIX_pixel_tiles := gl_IsSupported('GL_SGIX_pixel_tiles', oglExtensions);
  5065. GL_SGIX_polynomial_ffd := gl_IsSupported('GL_SGIX_polynomial_ffd', oglExtensions);
  5066. GL_SGIX_reference_plane := gl_IsSupported('GL_SGIX_reference_plane', oglExtensions);
  5067. GL_SGIX_resample := gl_IsSupported('GL_SGIX_resample', oglExtensions);
  5068. GL_SGIX_scalebias_hint := gl_IsSupported('GL_SGIX_scalebias_hint', oglExtensions);
  5069. GL_SGIX_shadow := gl_IsSupported('GL_SGIX_shadow', oglExtensions);
  5070. GL_SGIX_shadow_ambient := gl_IsSupported('GL_SGIX_shadow_ambient', oglExtensions);
  5071. GL_SGIX_sprite := gl_IsSupported('GL_SGIX_sprite', oglExtensions);
  5072. GL_SGIX_subsample := gl_IsSupported('GL_SGIX_subsample', oglExtensions);
  5073. GL_SGIX_tag_sample_buffer := gl_IsSupported('GL_SGIX_tag_sample_buffer', oglExtensions);
  5074. GL_SGIX_texture_add_env := gl_IsSupported('GL_SGIX_texture_add_env', oglExtensions);
  5075. GL_SGIX_texture_coordinate_clamp := gl_IsSupported('GL_SGIX_texture_coordinate_clamp', oglExtensions);
  5076. GL_SGIX_texture_lod_bias := gl_IsSupported('GL_SGIX_texture_lod_bias', oglExtensions);
  5077. GL_SGIX_texture_multi_buffer := gl_IsSupported('GL_SGIX_texture_multi_buffer', oglExtensions);
  5078. GL_SGIX_texture_scale_bias := gl_IsSupported('GL_SGIX_texture_scale_bias', oglExtensions);
  5079. GL_SGIX_vertex_preclip := gl_IsSupported('GL_SGIX_vertex_preclip', oglExtensions);
  5080. GL_SGIX_ycrcb := gl_IsSupported('GL_SGIX_ycrcb', oglExtensions);
  5081. GL_SGIX_ycrcb_subsample := gl_IsSupported('GL_SGIX_ycrcb_subsample', oglExtensions);
  5082. GL_SGIX_ycrcba := gl_IsSupported('GL_SGIX_ycrcba', oglExtensions);
  5083. GL_SGI_color_matrix := gl_IsSupported('GL_SGI_color_matrix', oglExtensions);
  5084. GL_SGI_color_table := gl_IsSupported('GL_SGI_color_table', oglExtensions);
  5085. GL_SGI_texture_color_table := gl_IsSupported('GL_SGI_texture_color_table', oglExtensions);
  5086. GL_SUNX_constant_data := gl_IsSupported('GL_SUNX_constant_data', oglExtensions);
  5087. GL_SUN_convolution_border_modes := gl_IsSupported('GL_SUN_convolution_border_modes', oglExtensions);
  5088. GL_SUN_global_alpha := gl_IsSupported('GL_SUN_global_alpha', oglExtensions);
  5089. GL_SUN_mesh_array := gl_IsSupported('GL_SUN_mesh_array', oglExtensions);
  5090. GL_SUN_slice_accum := gl_IsSupported('GL_SUN_slice_accum', oglExtensions);
  5091. GL_SUN_triangle_list := gl_IsSupported('GL_SUN_triangle_list', oglExtensions);
  5092. GL_SUN_vertex := gl_IsSupported('GL_SUN_vertex', oglExtensions);
  5093. GL_WIN_phong_shading := gl_IsSupported('GL_WIN_phong_shading', oglExtensions);
  5094. GL_WIN_specular_fog := gl_IsSupported('GL_WIN_specular_fog', oglExtensions);
  5095. {$EndIf}
  5096. end;
  5097. {$IfEnd}
  5098. procedure CheckGLVersion;
  5099. var
  5100. Buffer: String;
  5101. begin
  5102. {$IfDef USE_GLU}
  5103. GLU_VERSION_1_1 := False;
  5104. GLU_VERSION_1_2 := False;
  5105. GLU_VERSION_1_3 := False;
  5106. Buffer := gluGetString(GLU_VERSION);
  5107. GLUVersion := Integer(buffer[3]) - 48;
  5108. GLU_VERSION_1_1 := True;
  5109. if GLUVersion >= 2 then
  5110. GLU_VERSION_1_2 := True;
  5111. if GLUVersion >= 3 then
  5112. GLU_VERSION_1_3 := True;
  5113. {$EndIf}
  5114. {$IfDef USE_GL_33}
  5115. glGetIntegerv(GL_MAJOR_VERSION, @GLVersion[0]);
  5116. glGetIntegerv(GL_MINOR_VERSION, @GLVersion[1]);
  5117. {$Else}
  5118. Buffer := glGetString(GL_VERSION);
  5119. GLVersion[0] := Integer(Buffer[1]) - 48;
  5120. GLVersion[1] := Integer(buffer[3]) - 48;
  5121. {$EndIf}
  5122. use_glMinorVer := 0;
  5123. use_glMajorVer := 1;
  5124. if GLVersion[0] > maxGLVerMajor then
  5125. GLVersion[0] := maxGLVerMajor;
  5126. if GLVersion[1] > maxGLVerMinor then
  5127. GLVersion[1] := maxGLVerMinor;
  5128. GL_VERSION_1_0 := True;
  5129. {$IfDef GL_VERSION_1_1}
  5130. GL_VERSION_1_1 := False;
  5131. {$EndIf}
  5132. {$IfDef GL_VERSION_1_2}
  5133. GL_VERSION_1_2 := False;
  5134. {$EndIf}
  5135. {$IfDef GL_VERSION_1_3}
  5136. GL_VERSION_1_3 := False;
  5137. {$EndIf}
  5138. {$IfDef GL_VERSION_1_4}
  5139. GL_VERSION_1_4 := False;
  5140. {$EndIf}
  5141. {$IfDef GL_VERSION_1_5}
  5142. GL_VERSION_1_5 := False;
  5143. {$EndIf}
  5144. {$IfDef GL_VERSION_2_0}
  5145. GL_VERSION_2_0 := False;
  5146. {$EndIf}
  5147. {$IfDef GL_VERSION_2_1}
  5148. GL_VERSION_2_1 := False;
  5149. {$EndIf}
  5150. {$IfDef GL_VERSION_3_0}
  5151. GL_VERSION_3_0 := False;
  5152. {$EndIf}
  5153. {$IfDef GL_VERSION_3_1}
  5154. GL_VERSION_3_1 := False;
  5155. {$EndIf}
  5156. {$IfDef GL_VERSION_3_2}
  5157. GL_VERSION_3_2 := False;
  5158. {$EndIf}
  5159. {$IfDef GL_VERSION_3_3}
  5160. GL_VERSION_3_3 := False;
  5161. {$EndIf}
  5162. {$IfDef GL_VERSION_4_0}
  5163. GL_VERSION_4_0 := False;
  5164. {$EndIf}
  5165. {$IfDef GL_VERSION_4_1}
  5166. GL_VERSION_4_1 := False;
  5167. {$EndIf}
  5168. {$IfDef GL_VERSION_4_2}
  5169. GL_VERSION_4_2 := False;
  5170. {$EndIf}
  5171. {$IfDef GL_VERSION_4_3}
  5172. GL_VERSION_4_3 := False;
  5173. {$EndIf}
  5174. {$IfDef GL_VERSION_4_4}
  5175. GL_VERSION_4_4 := False;
  5176. {$EndIf}
  5177. {$IfDef GL_VERSION_4_5}
  5178. GL_VERSION_4_5 := False;
  5179. {$EndIf}
  5180. {$IfDef GL_VERSION_4_6}
  5181. GL_VERSION_4_6 := False;
  5182. {$EndIf}
  5183. {$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)}
  5184. if GLVersion[0] >= 4 then
  5185. begin
  5186. use_glMajorVer := 4;
  5187. {$IfDef GL_VERSION_1_1}
  5188. GL_VERSION_1_1 := True;
  5189. {$EndIf}
  5190. {$IfDef GL_VERSION_1_2}
  5191. GL_VERSION_1_2 := True;
  5192. {$EndIf}
  5193. {$IfDef GL_VERSION_1_3}
  5194. GL_VERSION_1_3 := True;
  5195. {$EndIf}
  5196. {$IfDef GL_VERSION_1_4}
  5197. GL_VERSION_1_4 := True;
  5198. {$EndIf}
  5199. {$IfDef GL_VERSION_1_5}
  5200. GL_VERSION_1_5 := True;
  5201. {$EndIf}
  5202. {$IfDef GL_VERSION_2_0}
  5203. GL_VERSION_2_0 := True;
  5204. {$EndIf}
  5205. {$IfDef GL_VERSION_2_0}
  5206. GL_VERSION_2_1 := True;
  5207. {$EndIf}
  5208. {.$IfDef GL_VERSION_3_0}
  5209. GL_VERSION_3_0 := True;
  5210. {.$EndIf}
  5211. {$IfDef GL_VERSION_3_1}
  5212. GL_VERSION_3_1 := True;
  5213. {$EndIf}
  5214. {$IfDef GL_VERSION_3_2}
  5215. GL_VERSION_3_2 := True;
  5216. {$EndIf}
  5217. {$IfDef GL_VERSION_3_3}
  5218. GL_VERSION_3_3 := True;
  5219. {$EndIf}
  5220. {$IfDef GL_VERSION_4_0}
  5221. GL_VERSION_4_0 := True;
  5222. {$EndIf}
  5223. {$IfDef GL_VERSION_4_1}
  5224. if GLVersion[1] >= 1 then
  5225. begin
  5226. GL_VERSION_4_1 := True;
  5227. use_glMinorVer := 1;
  5228. end;
  5229. {$EndIf}
  5230. {$IfDef GL_VERSION_4_2}
  5231. if GLVersion[1] >= 2 then
  5232. begin
  5233. GL_VERSION_4_2 := True;
  5234. use_glMinorVer := 2;
  5235. end;
  5236. {$EndIf}
  5237. {$IfDef GL_VERSION_4_3}
  5238. if GLVersion[1] >= 3 then
  5239. begin
  5240. GL_VERSION_4_3 := True;
  5241. use_glMinorVer := 3;
  5242. end;
  5243. {$EndIf}
  5244. {$IfDef GL_VERSION_4_4}
  5245. if GLVersion[1] >= 4 then
  5246. begin
  5247. GL_VERSION_4_4 := True;
  5248. use_glMinorVer := 4;
  5249. end;
  5250. {$EndIf}
  5251. {$IfDef GL_VERSION_4_5}
  5252. if GLVersion[1] >= 5 then
  5253. begin
  5254. GL_VERSION_4_5 := True;
  5255. use_glMinorVer := 5;
  5256. end;
  5257. {$EndIf}
  5258. {$IfDef GL_VERSION_4_6}
  5259. if GLVersion[1] >= 6 then
  5260. begin
  5261. GL_VERSION_4_6 := True;
  5262. use_glMinorVer := 1;
  5263. end;
  5264. {$EndIf}
  5265. exit;
  5266. end;
  5267. {$IfEnd}
  5268. {$if defined(GL_VERSION_3_0) or defined(GL_VERSION_3_1) or defined(GL_VERSION_3_2) or defined(GL_VERSION_3_3)}
  5269. if GLVersion[0] >= 3 then
  5270. begin
  5271. // проверку на то какой контекст делаем надо делать или нет???
  5272. use_glMajorVer := 3;
  5273. {$IfDef GL_VERSION_1_1}
  5274. GL_VERSION_1_1 := True;
  5275. {$EndIf}
  5276. {$IfDef GL_VERSION_1_2}
  5277. GL_VERSION_1_2 := True;
  5278. {$EndIf}
  5279. {$IfDef GL_VERSION_1_3}
  5280. GL_VERSION_1_3 := True;
  5281. {$EndIf}
  5282. {$IfDef GL_VERSION_1_4}
  5283. GL_VERSION_1_4 := True;
  5284. {$EndIf}
  5285. {$IfDef GL_VERSION_1_5}
  5286. GL_VERSION_1_5 := True;
  5287. {$EndIf}
  5288. {$IfDef GL_VERSION_2_0}
  5289. GL_VERSION_2_0 := True;
  5290. {$EndIf}
  5291. {$IfDef GL_VERSION_2_0}
  5292. GL_VERSION_2_1 := True;
  5293. {$EndIf}
  5294. {.$IfDef GL_VERSION_3_0}
  5295. GL_VERSION_3_0 := True;
  5296. {.$EndIf}
  5297. {$IfDef GL_VERSION_3_1}
  5298. if GLVersion[1] >= 1 then
  5299. begin
  5300. GL_VERSION_3_1 := True;
  5301. use_glMinorVer := 1;
  5302. end;
  5303. {$EndIf}
  5304. {$IfDef GL_VERSION_3_2}
  5305. if GLVersion[1] >= 2 then
  5306. begin
  5307. GL_VERSION_3_2 := True;
  5308. use_glMinorVer := 2;
  5309. end;
  5310. {$EndIf}
  5311. {$IfDef GL_VERSION_3_3}
  5312. if GLVersion[1] >= 3 then
  5313. begin
  5314. GL_VERSION_3_3 := True;
  5315. use_glMinorVer := 3;
  5316. end;
  5317. {$EndIf}
  5318. exit;
  5319. end;
  5320. {$IfEnd}
  5321. {$If defined(GL_VERSION_2_0) or defined(GL_VERSION_2_1)}
  5322. if GLVersion[0] >= 2 then
  5323. begin
  5324. use_glMajorVer := 2;
  5325. {$IfDef GL_VERSION_1_1}
  5326. GL_VERSION_1_1 := True;
  5327. {$EndIf}
  5328. {$IfDef GL_VERSION_1_2}
  5329. GL_VERSION_1_2 := True;
  5330. {$EndIf}
  5331. {$IfDef GL_VERSION_1_3}
  5332. GL_VERSION_1_3 := True;
  5333. {$EndIf}
  5334. {$IfDef GL_VERSION_1_4}
  5335. GL_VERSION_1_4 := True;
  5336. {$EndIf}
  5337. {$IfDef GL_VERSION_1_5}
  5338. GL_VERSION_1_5 := True;
  5339. {$EndIf}
  5340. {$IfDef GL_VERSION_2_0}
  5341. GL_VERSION_2_0 := True;
  5342. {$EndIf}
  5343. {$IfDef GL_VERSION_2_1}
  5344. if GLVersion[1] >= 1 then
  5345. begin
  5346. GL_VERSION_2_1 := True;
  5347. use_glMinorVer := 1;
  5348. end;
  5349. {$EndIf}
  5350. exit;
  5351. end;
  5352. {$IfEnd}
  5353. {$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)}
  5354. if GLVersion[0] = 1 then
  5355. begin
  5356. {$IfDef GL_VERSION_1_1}
  5357. if GLVersion[1] >= 1 then
  5358. begin
  5359. GL_VERSION_1_1 := True;
  5360. use_glMinorVer := 1;
  5361. end;
  5362. {$EndIf}
  5363. {$IfDef GL_VERSION_1_2}
  5364. if GLVersion[1] >= 2 then
  5365. begin
  5366. GL_VERSION_1_2 := True;
  5367. use_glMinorVer := 2;
  5368. end;
  5369. {$EndIf}
  5370. {$IfDef GL_VERSION_1_3}
  5371. if GLVersion[1] >= 3 then
  5372. begin
  5373. GL_VERSION_1_3 := True;
  5374. use_glMinorVer := 3;
  5375. end;
  5376. {$EndIf}
  5377. {$IfDef GL_VERSION_1_4}
  5378. if GLVersion[1] >= 4 then
  5379. begin
  5380. GL_VERSION_1_4 := True;
  5381. use_glMinorVer := 4;
  5382. end;
  5383. {$EndIf}
  5384. {$IfDef GL_VERSION_1_5}
  5385. if GLVersion[1] >= 5 then
  5386. begin
  5387. GL_VERSION_1_5 := True;
  5388. use_glMinorVer := 5;
  5389. end;
  5390. {$EndIf}
  5391. end;
  5392. {$IfEnd}
  5393. end;
  5394. // Примечание: для Windows мы можем загружать библиотеку почти в любое время, для Linux
  5395. // мы должны это делать только после создания окна и контекста для окна.
  5396. function LoadOpenGL: Boolean;
  5397. {$IfDef LINUX}
  5398. {$IfDef GL_VERSION_3_0}
  5399. var
  5400. i, j: Integer;
  5401. {$EndIf}{$EndIf}
  5402. begin
  5403. { Result := False;
  5404. if gl_Library <> Nil then
  5405. glFreeLib(gl_Library);
  5406. gl_Library := glLoadLib(PChar(libGL));
  5407. if gl_Library = nil then
  5408. exit; // Error!!! }
  5409. Result := True;
  5410. {$IfDef LINUX}
  5411. oglExtensions := '';
  5412. {$IfDef GL_VERSION_3_0}
  5413. if use_glMajorVer >= 3 then
  5414. begin
  5415. if not Assigned(glGetStringi) then
  5416. glGetStringi := gl_GetProc('glGetStringi');
  5417. if Assigned(glGetStringi) then
  5418. begin
  5419. glGetIntegerv(GL_NUM_EXTENSIONS, @j);
  5420. for i := 0 to j - 1 do
  5421. oglExtensions := oglExtensions + PAnsiChar(glGetStringi(GL_EXTENSIONS, i)) + #32;
  5422. end;
  5423. end;
  5424. if oglExtensions = '' then
  5425. {$EndIf}
  5426. oglExtensions := glGetString(GL_EXTENSIONS);
  5427. {$EndIf}
  5428. {$If defined(USE_GLEXT) or defined(USE_GLCORE)}
  5429. AllCheckGLExtension;
  5430. {$IfEnd}
  5431. // ZenGL ++
  5432. GL_SGIS_generate_mipmap := gl_IsSupported('GL_SGIS_generate_mipmap', oglExtensions);
  5433. GL_EXT_texture_compression_s3tc := gl_IsSupported('GL_EXT_texture_compression_s3tc', oglExtensions);
  5434. GL_EXT_texture_filter_anisotropic := gl_IsSupported('GL_EXT_texture_filter_anisotropic', oglExtensions);
  5435. GL_EXT_blend_func_separate := gl_IsSupported('GL_EXT_blend_func_separate', oglExtensions);
  5436. {$IfDef USE_DEPRECATED}
  5437. (* glAccum := gl_GetProc('glAccum');
  5438. // glAlphaFunc := gl_GetProc('glAlphaFunc');
  5439. glAreTexturesResident := gl_GetProc('glAreTexturesResident');
  5440. // glArrayElement := gl_GetProc('glArrayElement');
  5441. // glBegin := gl_GetProc('glBegin');
  5442. glBitmap := gl_GetProc('glBitmap');
  5443. glCallList := gl_GetProc('glCallList');
  5444. glCallLists := gl_GetProc('glCallLists');
  5445. glClearAccum := gl_GetProc('glClearAccum');
  5446. glClearIndex := gl_GetProc('glClearIndex');
  5447. glClipPlane := gl_GetProc('glClipPlane');
  5448. glColor3b := gl_GetProc('glColor3b');
  5449. glColor3bv := gl_GetProc('glColor3bv');
  5450. glColor3d := gl_GetProc('glColor3d');
  5451. glColor3dv := gl_GetProc('glColor3dv');
  5452. glColor3f := gl_GetProc('glColor3f');
  5453. glColor3fv := gl_GetProc('glColor3fv');
  5454. glColor3i := gl_GetProc('glColor3i');
  5455. glColor3iv := gl_GetProc('glColor3iv');
  5456. glColor3s := gl_GetProc('glColor3s');
  5457. glColor3sv := gl_GetProc('glColor3sv');
  5458. // glColor3ub := gl_GetProc('glColor3ub');
  5459. // glColor3ubv := gl_GetProc('glColor3ubv');
  5460. glColor3ui := gl_GetProc('glColor3ui');
  5461. glColor3uiv := gl_GetProc('glColor3uiv');
  5462. glColor3us := gl_GetProc('glColor3us');
  5463. glColor3usv := gl_GetProc('glColor3usv');
  5464. glColor4b := gl_GetProc('glColor4b');
  5465. glColor4bv := gl_GetProc('glColor4bv');
  5466. glColor4d := gl_GetProc('glColor4d');
  5467. glColor4dv := gl_GetProc('glColor4dv');
  5468. // glColor4f := gl_GetProc('glColor4f');
  5469. // glColor4fv := gl_GetProc('glColor4fv');
  5470. glColor4i := gl_GetProc('glColor4i');
  5471. glColor4iv := gl_GetProc('glColor4iv');
  5472. glColor4s := gl_GetProc('glColor4s');
  5473. glColor4sv := gl_GetProc('glColor4sv');
  5474. // glColor4ub := gl_GetProc('glColor4ub');
  5475. // glColor4ubv := gl_GetProc('glColor4ubv');
  5476. glColor4ui := gl_GetProc('glColor4ui');
  5477. glColor4uiv := gl_GetProc('glColor4uiv');
  5478. glColor4us := gl_GetProc('glColor4us');
  5479. glColor4usv := gl_GetProc('glColor4usv');
  5480. // glColorMaterial := gl_GetProc('glColorMaterial');
  5481. // glColorPointer := gl_GetProc('glColorPointer');
  5482. glCopyPixels := gl_GetProc('glCopyPixels');
  5483. glDeleteLists := gl_GetProc('glDeleteLists');
  5484. // glDisableClientState := gl_GetProc('glDisableClientState');
  5485. glDrawPixels := gl_GetProc('glDrawPixels');
  5486. glEdgeFlag := gl_GetProc('glEdgeFlag');
  5487. // glEdgeFlagPointer := gl_GetProc('glEdgeFlagPointer');
  5488. glEdgeFlagv := gl_GetProc('glEdgeFlagv');
  5489. // glEnableClientState := gl_GetProc('glEnableClientState');
  5490. // glEnd := gl_GetProc('glEnd');
  5491. glEndList := gl_GetProc('glEndList');
  5492. glEvalCoord1d := gl_GetProc('glEvalCoord1d');
  5493. glEvalCoord1dv := gl_GetProc('glEvalCoord1dv');
  5494. glEvalCoord1f := gl_GetProc('glEvalCoord1f');
  5495. glEvalCoord1fv := gl_GetProc('glEvalCoord1fv');
  5496. glEvalCoord2d := gl_GetProc('glEvalCoord2d');
  5497. glEvalCoord2dv := gl_GetProc('glEvalCoord2dv');
  5498. glEvalCoord2f := gl_GetProc('glEvalCoord2f');
  5499. glEvalCoord2fv := gl_GetProc('glEvalCoord2fv');
  5500. glEvalMesh1 := gl_GetProc('glEvalMesh1');
  5501. glEvalMesh2 := gl_GetProc('glEvalMesh2');
  5502. glEvalPoint1 := gl_GetProc('glEvalPoint1');
  5503. glEvalPoint2 := gl_GetProc('glEvalPoint2');
  5504. glFeedbackBuffer := gl_GetProc('glFeedbackBuffer');
  5505. glFogf := gl_GetProc('glFogf');
  5506. glFogfv := gl_GetProc('glFogfv');
  5507. glFogi := gl_GetProc('glFogi');
  5508. glFogiv := gl_GetProc('glFogiv');
  5509. // glFrustum := gl_GetProc('glFrustum');
  5510. glGenLists := gl_GetProc('glGenLists');
  5511. glGetClipPlane := gl_GetProc('glGetClipPlane');
  5512. // glGetLightfv := gl_GetProc('glGetLightfv');
  5513. // glGetLightiv := gl_GetProc('glGetLightiv');
  5514. glGetMapdv := gl_GetProc('glGetMapdv');
  5515. glGetMapfv := gl_GetProc('glGetMapfv');
  5516. glGetMapiv := gl_GetProc('glGetMapiv');
  5517. // glGetMaterialfv := gl_GetProc('glGetMaterialfv');
  5518. // glGetMaterialiv := gl_GetProc('glGetMaterialiv');
  5519. glGetPixelMapfv := gl_GetProc('glGetPixelMapfv');
  5520. glGetPixelMapuiv := gl_GetProc('glGetPixelMapuiv');
  5521. glGetPixelMapusv := gl_GetProc('glGetPixelMapusv');
  5522. glGetPolygonStipple := gl_GetProc('glGetPolygonStipple');
  5523. glGetTexEnvfv := gl_GetProc('glGetTexEnvfv');
  5524. glGetTexEnviv := gl_GetProc('glGetTexEnviv');
  5525. glGetTexGendv := gl_GetProc('glGetTexGendv');
  5526. glGetTexGenfv := gl_GetProc('glGetTexGenfv');
  5527. glGetTexGeniv := gl_GetProc('glGetTexGeniv');
  5528. glIndexMask := gl_GetProc('glIndexMask');
  5529. glIndexPointer := gl_GetProc('glIndexPointer');
  5530. glIndexd := gl_GetProc('glIndexd');
  5531. glIndexdv := gl_GetProc('glIndexdv');
  5532. glIndexf := gl_GetProc('glIndexf');
  5533. glIndexfv := gl_GetProc('glIndexfv');
  5534. glIndexi := gl_GetProc('glIndexi');
  5535. glIndexiv := gl_GetProc('glIndexiv');
  5536. glIndexs := gl_GetProc('glIndexs');
  5537. glIndexsv := gl_GetProc('glIndexsv');
  5538. glIndexub := gl_GetProc('glIndexub');
  5539. glIndexubv := gl_GetProc('glIndexubv');
  5540. glInitNames := gl_GetProc('glInitNames');
  5541. // glInterleavedArrays := gl_GetProc('glInterleavedArrays');
  5542. glIsList := gl_GetProc('glIsList');
  5543. // glLightModelf := gl_GetProc('glLightModelf');
  5544. // glLightModelfv := gl_GetProc('glLightModelfv');
  5545. glLightModeli := gl_GetProc('glLightModeli');
  5546. glLightModeliv := gl_GetProc('glLightModeliv');
  5547. // glLightf := gl_GetProc('glLightf');
  5548. // glLightfv := gl_GetProc('glLightfv');
  5549. glLighti := gl_GetProc('glLighti');
  5550. glLightiv := gl_GetProc('glLightiv');
  5551. glLineStipple := gl_GetProc('glLineStipple');
  5552. glListBase := gl_GetProc('glListBase');
  5553. // glLoadIdentity := gl_GetProc('glLoadIdentity');
  5554. glLoadMatrixd := gl_GetProc('glLoadMatrixd');
  5555. // glLoadMatrixf := gl_GetProc('glLoadMatrixf');
  5556. glLoadName := gl_GetProc('glLoadName');
  5557. glMap1d := gl_GetProc('glMap1d');
  5558. glMap1f := gl_GetProc('glMap1f');
  5559. glMap2d := gl_GetProc('glMap2d');
  5560. glMap2f := gl_GetProc('glMap2f');
  5561. glMapGrid1d := gl_GetProc('glMapGrid1d');
  5562. glMapGrid1f := gl_GetProc('glMapGrid1f');
  5563. glMapGrid2d := gl_GetProc('glMapGrid2d');
  5564. glMapGrid2f := gl_GetProc('glMapGrid2f');
  5565. // glMaterialf := gl_GetProc('glMaterialf');
  5566. // glMaterialfv := gl_GetProc('glMaterialfv');
  5567. glMateriali := gl_GetProc('glMateriali');
  5568. glMaterialiv := gl_GetProc('glMaterialiv');
  5569. // glMatrixMode := gl_GetProc('glMatrixMode');
  5570. glMultMatrixd := gl_GetProc('glMultMatrixd');
  5571. glMultMatrixf := gl_GetProc('glMultMatrixf');
  5572. glNewList := gl_GetProc('glNewList');
  5573. glNormal3b := gl_GetProc('glNormal3b');
  5574. glNormal3bv := gl_GetProc('glNormal3bv');
  5575. glNormal3d := gl_GetProc('glNormal3d');
  5576. glNormal3dv := gl_GetProc('glNormal3dv');
  5577. // glNormal3f := gl_GetProc('glNormal3f');
  5578. // glNormal3fv := gl_GetProc('glNormal3fv');
  5579. glNormal3i := gl_GetProc('glNormal3i');
  5580. glNormal3iv := gl_GetProc('glNormal3iv');
  5581. glNormal3s := gl_GetProc('glNormal3s');
  5582. glNormal3sv := gl_GetProc('glNormal3sv');
  5583. // glNormalPointer := gl_GetProc('glNormalPointer');
  5584. // glOrtho := gl_GetProc('glOrtho');
  5585. glPassThrough := gl_GetProc('glPassThrough');
  5586. glPixelMapfv := gl_GetProc('glPixelMapfv');
  5587. glPixelMapuiv := gl_GetProc('glPixelMapuiv');
  5588. glPixelMapusv := gl_GetProc('glPixelMapusv');
  5589. glPixelTransferf := gl_GetProc('glPixelTransferf');
  5590. glPixelTransferi := gl_GetProc('glPixelTransferi');
  5591. glPixelZoom := gl_GetProc('glPixelZoom');
  5592. glPolygonStipple := gl_GetProc('glPolygonStipple');
  5593. glPopAttrib := gl_GetProc('glPopAttrib');
  5594. glPopClientAttrib := gl_GetProc('glPopClientAttrib');
  5595. // glPopMatrix := gl_GetProc('glPopMatrix');
  5596. glPopName := gl_GetProc('glPopName');
  5597. glPrioritizeTextures := gl_GetProc('glPrioritizeTextures');
  5598. glPushAttrib := gl_GetProc('glPushAttrib');
  5599. glPushClientAttrib := gl_GetProc('glPushClientAttrib');
  5600. // glPushMatrix := gl_GetProc('glPushMatrix');
  5601. glPushName := gl_GetProc('glPushName');
  5602. glRasterPos2d := gl_GetProc('glRasterPos2d');
  5603. glRasterPos2dv := gl_GetProc('glRasterPos2dv');
  5604. glRasterPos2f := gl_GetProc('glRasterPos2f');
  5605. glRasterPos2fv := gl_GetProc('glRasterPos2fv');
  5606. glRasterPos2i := gl_GetProc('glRasterPos2i');
  5607. glRasterPos2iv := gl_GetProc('glRasterPos2iv');
  5608. glRasterPos2s := gl_GetProc('glRasterPos2s');
  5609. glRasterPos2sv := gl_GetProc('glRasterPos2sv');
  5610. glRasterPos3d := gl_GetProc('glRasterPos3d');
  5611. glRasterPos3dv := gl_GetProc('glRasterPos3dv');
  5612. glRasterPos3f := gl_GetProc('glRasterPos3f');
  5613. glRasterPos3fv := gl_GetProc('glRasterPos3fv');
  5614. glRasterPos3i := gl_GetProc('glRasterPos3i');
  5615. glRasterPos3iv := gl_GetProc('glRasterPos3iv');
  5616. glRasterPos3s := gl_GetProc('glRasterPos3s');
  5617. glRasterPos3sv := gl_GetProc('glRasterPos3sv');
  5618. glRasterPos4d := gl_GetProc('glRasterPos4d');
  5619. glRasterPos4dv := gl_GetProc('glRasterPos4dv');
  5620. glRasterPos4f := gl_GetProc('glRasterPos4f');
  5621. glRasterPos4fv := gl_GetProc('glRasterPos4fv');
  5622. glRasterPos4i := gl_GetProc('glRasterPos4i');
  5623. glRasterPos4iv := gl_GetProc('glRasterPos4iv');
  5624. glRasterPos4s := gl_GetProc('glRasterPos4s');
  5625. glRasterPos4sv := gl_GetProc('glRasterPos4sv');
  5626. glRectd := gl_GetProc('glRectd');
  5627. glRectdv := gl_GetProc('glRectdv');
  5628. glRectf := gl_GetProc('glRectf');
  5629. glRectfv := gl_GetProc('glRectfv');
  5630. glRecti := gl_GetProc('glRecti');
  5631. glRectiv := gl_GetProc('glRectiv');
  5632. glRects := gl_GetProc('glRects');
  5633. glRectsv := gl_GetProc('glRectsv');
  5634. glRenderMode := gl_GetProc('glRenderMode');
  5635. glRotated := gl_GetProc('glRotated');
  5636. // glRotatef := gl_GetProc('glRotatef');
  5637. glScaled := gl_GetProc('glScaled');
  5638. // glScalef := gl_GetProc('glScalef');
  5639. glSelectBuffer := gl_GetProc('glSelectBuffer');
  5640. // glShadeModel := gl_GetProc('glShadeModel');
  5641. glTexCoord1d := gl_GetProc('glTexCoord1d');
  5642. glTexCoord1dv := gl_GetProc('glTexCoord1dv');
  5643. glTexCoord1f := gl_GetProc('glTexCoord1f');
  5644. glTexCoord1fv := gl_GetProc('glTexCoord1fv');
  5645. glTexCoord1i := gl_GetProc('glTexCoord1i');
  5646. glTexCoord1iv := gl_GetProc('glTexCoord1iv');
  5647. glTexCoord1s := gl_GetProc('glTexCoord1s');
  5648. glTexCoord1sv := gl_GetProc('glTexCoord1sv');
  5649. glTexCoord2d := gl_GetProc('glTexCoord2d');
  5650. glTexCoord2dv := gl_GetProc('glTexCoord2dv');
  5651. // glTexCoord2f := gl_GetProc('glTexCoord2f');
  5652. // glTexCoord2fv := gl_GetProc('glTexCoord2fv');
  5653. glTexCoord2i := gl_GetProc('glTexCoord2i');
  5654. glTexCoord2iv := gl_GetProc('glTexCoord2iv');
  5655. glTexCoord2s := gl_GetProc('glTexCoord2s');
  5656. glTexCoord2sv := gl_GetProc('glTexCoord2sv');
  5657. glTexCoord3d := gl_GetProc('glTexCoord3d');
  5658. glTexCoord3dv := gl_GetProc('glTexCoord3dv');
  5659. glTexCoord3f := gl_GetProc('glTexCoord3f');
  5660. glTexCoord3fv := gl_GetProc('glTexCoord3fv');
  5661. glTexCoord3i := gl_GetProc('glTexCoord3i');
  5662. glTexCoord3iv := gl_GetProc('glTexCoord3iv');
  5663. glTexCoord3s := gl_GetProc('glTexCoord3s');
  5664. glTexCoord3sv := gl_GetProc('glTexCoord3sv');
  5665. glTexCoord4d := gl_GetProc('glTexCoord4d');
  5666. glTexCoord4dv := gl_GetProc('glTexCoord4dv');
  5667. glTexCoord4f := gl_GetProc('glTexCoord4f');
  5668. glTexCoord4fv := gl_GetProc('glTexCoord4fv');
  5669. glTexCoord4i := gl_GetProc('glTexCoord4i');
  5670. glTexCoord4iv := gl_GetProc('glTexCoord4iv');
  5671. glTexCoord4s := gl_GetProc('glTexCoord4s');
  5672. glTexCoord4sv := gl_GetProc('glTexCoord4sv');
  5673. // glTexCoordPointer := gl_GetProc('glTexCoordPointer');
  5674. glTexEnvf := gl_GetProc('glTexEnvf');
  5675. glTexEnvfv := gl_GetProc('glTexEnvfv');
  5676. // glTexEnvi := gl_GetProc('glTexEnvi');
  5677. // glTexEnviv := gl_GetProc('glTexEnviv');
  5678. glTexGend := gl_GetProc('glTexGend');
  5679. glTexGendv := gl_GetProc('glTexGendv');
  5680. glTexGenf := gl_GetProc('glTexGenf');
  5681. glTexGenfv := gl_GetProc('glTexGenfv');
  5682. glTexGeni := gl_GetProc('glTexGeni');
  5683. glTexGeniv := gl_GetProc('glTexGeniv');
  5684. glTranslated := gl_GetProc('glTranslated');
  5685. // glTranslatef := gl_GetProc('glTranslatef');
  5686. glVertex2d := gl_GetProc('glVertex2d');
  5687. glVertex2dv := gl_GetProc('glVertex2dv');
  5688. // glVertex2f := gl_GetProc('glVertex2f');
  5689. // glVertex2fv := gl_GetProc('glVertex2fv');
  5690. glVertex2i := gl_GetProc('glVertex2i');
  5691. glVertex2iv := gl_GetProc('glVertex2iv');
  5692. glVertex2s := gl_GetProc('glVertex2s');
  5693. glVertex2sv := gl_GetProc('glVertex2sv');
  5694. glVertex3d := gl_GetProc('glVertex3d');
  5695. glVertex3dv := gl_GetProc('glVertex3dv');
  5696. // glVertex3f := gl_GetProc('glVertex3f');
  5697. // glVertex3fv := gl_GetProc('glVertex3fv');
  5698. glVertex3i := gl_GetProc('glVertex3i');
  5699. glVertex3iv := gl_GetProc('glVertex3iv');
  5700. glVertex3s := gl_GetProc('glVertex3s');
  5701. glVertex3sv := gl_GetProc('glVertex3sv');
  5702. glVertex4d := gl_GetProc('glVertex4d');
  5703. glVertex4dv := gl_GetProc('glVertex4dv');
  5704. glVertex4f := gl_GetProc('glVertex4f');
  5705. glVertex4fv := gl_GetProc('glVertex4fv');
  5706. glVertex4i := gl_GetProc('glVertex4i');
  5707. glVertex4iv := gl_GetProc('glVertex4iv');
  5708. glVertex4s := gl_GetProc('glVertex4s');
  5709. glVertex4sv := gl_GetProc('glVertex4sv');
  5710. // glVertexPointer := gl_GetProc('glVertexPointer'); *)
  5711. {$EndIf}
  5712. {$IfDef GL_VERSION_1_0}
  5713. (* glCullFace := gl_GetProc('glCullFace');
  5714. glFrontFace := gl_GetProc('glFrontFace');
  5715. // glHint := gl_GetProc('glHint');
  5716. glLineWidth := gl_GetProc('glLineWidth');
  5717. // glPointSize := gl_GetProc('glPointSize');
  5718. glPolygonMode := gl_GetProc('glPolygonMode');
  5719. // glScissor := gl_GetProc('glScissor');
  5720. // glTexParameterf := gl_GetProc('glTexParameterf');
  5721. // glTexParameterfv := gl_GetProc('glTexParameterfv');
  5722. // glTexParameteri := gl_GetProc('glTexParameteri');
  5723. // glTexParameteriv := gl_GetProc('glTexParameteriv');
  5724. glTexImage1D := gl_GetProc('glTexImage1D');
  5725. // glTexImage2D := gl_GetProc('glTexImage2D');
  5726. glDrawBuffer := gl_GetProc('glDrawBuffer');
  5727. // glClear := gl_GetProc('glClear');
  5728. // glClearColor := gl_GetProc('glClearColor');
  5729. glClearStencil := gl_GetProc('glClearStencil');
  5730. // glClearDepth := gl_GetProc('glClearDepth');
  5731. glStencilMask := gl_GetProc('glStencilMask');
  5732. // glColorMask := gl_GetProc('glColorMask');
  5733. // glDepthMask := gl_GetProc('glDepthMask');
  5734. // glDisable := gl_GetProc('glDisable');
  5735. // glEnable := gl_GetProc('glEnable');
  5736. glFinish := gl_GetProc('glFinish');
  5737. glFlush := gl_GetProc('glFlush');
  5738. // glBlendFunc := gl_GetProc('glBlendFunc');
  5739. glLogicOp := gl_GetProc('glLogicOp');
  5740. glStencilFunc := gl_GetProc('glStencilFunc');
  5741. glStencilOp := gl_GetProc('glStencilOp');
  5742. // glDepthFunc := gl_GetProc('glDepthFunc');
  5743. // glPixelStoref := gl_GetProc('glPixelStoref');
  5744. // glPixelStorei := gl_GetProc('glPixelStorei');
  5745. glReadBuffer := gl_GetProc('glReadBuffer');
  5746. // glReadPixels := gl_GetProc('glReadPixels');
  5747. glGetBooleanv := gl_GetProc('glGetBooleanv');
  5748. glGetDoublev := gl_GetProc('glGetDoublev');
  5749. glGetError := gl_GetProc('glGetError');
  5750. // glGetFloatv := gl_GetProc('glGetFloatv');
  5751. // glGetIntegerv := gl_GetProc('glGetIntegerv');
  5752. // glGetString := gl_GetProc('glGetString');
  5753. // glGetTexImage := gl_GetProc('glGetTexImage');
  5754. glGetTexParameterfv := gl_GetProc('glGetTexParameterfv');
  5755. glGetTexParameteriv := gl_GetProc('glGetTexParameteriv');
  5756. glGetTexLevelParameterfv := gl_GetProc('glGetTexLevelParameterfv');
  5757. glGetTexLevelParameteriv := gl_GetProc('glGetTexLevelParameteriv');
  5758. glIsEnabled := gl_GetProc('glIsEnabled');
  5759. // glDepthRange := gl_GetProc('glDepthRange');
  5760. // glViewport := gl_GetProc('glViewport'); *)
  5761. {$EndIf}
  5762. {$IfDef GL_VERSION_1_1}
  5763. (*// glDrawArrays := gl_GetProc('glDrawArrays');
  5764. // glDrawElements := gl_GetProc('glDrawElements');
  5765. glGetPointerv := gl_GetProc('glGetPointerv');
  5766. glPolygonOffset := gl_GetProc('glPolygonOffset');
  5767. glCopyTexImage1D := gl_GetProc('glCopyTexImage1D');
  5768. glCopyTexImage2D := gl_GetProc('glCopyTexImage2D');
  5769. glCopyTexSubImage1D := gl_GetProc('glCopyTexSubImage1D');
  5770. // glCopyTexSubImage2D := gl_GetProc('glCopyTexSubImage2D');
  5771. glTexSubImage1D := gl_GetProc('glTexSubImage1D');
  5772. // glTexSubImage2D := gl_GetProc('glTexSubImage2D');
  5773. // glBindTexture := gl_GetProc('glBindTexture');
  5774. // glDeleteTextures := gl_GetProc('glDeleteTextures');
  5775. // glGenTextures := gl_GetProc('glGenTextures');
  5776. glIsTexture := gl_GetProc('glIsTexture'); *)
  5777. {$EndIf}
  5778. {$IfDef GL_VERSION_1_2}
  5779. (*// glDrawRangeElements := gl_GetProc('glDrawRangeElements');
  5780. glTexImage3D := gl_GetProc('glTexImage3D');
  5781. glTexSubImage3D := gl_GetProc('glTexSubImage3D');
  5782. glCopyTexSubImage3D := gl_GetProc('glCopyTexSubImage3D'); *)
  5783. {$EndIf}
  5784. {$IfDef GL_VERSION_1_3}
  5785. (* glActiveTexture := gl_GetProc('glActiveTexture');
  5786. glSampleCoverage := gl_GetProc('glSampleCoverage');
  5787. glCompressedTexImage3D := gl_GetProc('glCompressedTexImage3D');
  5788. // glCompressedTexImage2D := gl_GetProc('glCompressedTexImage2D');
  5789. glCompressedTexImage1D:= gl_GetProc('glCompressedTexImage1D');
  5790. glCompressedTexSubImage3D := gl_GetProc('glCompressedTexSubImage3D');
  5791. glCompressedTexSubImage2D := gl_GetProc('glCompressedTexSubImage2D');
  5792. glCompressedTexSubImage1D := gl_GetProc('glCompressedTexSubImage1D');
  5793. glGetCompressedTexImage := gl_GetProc('glGetCompressedTexImage');
  5794. {$IfNDef USE_GLCORE}
  5795. glClientActiveTexture := gl_GetProc('glClientActiveTexture');
  5796. glMultiTexCoord1d := gl_GetProc('glMultiTexCoord1d');
  5797. glMultiTexCoord1dv := gl_GetProc('glMultiTexCoord1dv');
  5798. glMultiTexCoord1f := gl_GetProc('glMultiTexCoord1f');
  5799. glMultiTexCoord1fv := gl_GetProc('glMultiTexCoord1fv');
  5800. glMultiTexCoord1i := gl_GetProc('glMultiTexCoord1i');
  5801. glMultiTexCoord1iv := gl_GetProc('glMultiTexCoord1iv');
  5802. glMultiTexCoord1s := gl_GetProc('glMultiTexCoord1s');
  5803. glMultiTexCoord1sv := gl_GetProc('glMultiTexCoord1sv');
  5804. glMultiTexCoord2d := gl_GetProc('glMultiTexCoord2d');
  5805. glMultiTexCoord2dv := gl_GetProc('glMultiTexCoord2dv');
  5806. glMultiTexCoord2f := gl_GetProc('glMultiTexCoord2f');
  5807. glMultiTexCoord2fv := gl_GetProc('glMultiTexCoord2fv');
  5808. glMultiTexCoord2i := gl_GetProc('glMultiTexCoord2i');
  5809. glMultiTexCoord2iv := gl_GetProc('glMultiTexCoord2iv');
  5810. glMultiTexCoord2s := gl_GetProc('glMultiTexCoord2s');
  5811. glMultiTexCoord2sv := gl_GetProc('glMultiTexCoord2sv');
  5812. glMultiTexCoord3d := gl_GetProc('glMultiTexCoord3d');
  5813. glMultiTexCoord3dv := gl_GetProc('glMultiTexCoord3dv');
  5814. glMultiTexCoord3f := gl_GetProc('glMultiTexCoord3f');
  5815. glMultiTexCoord3fv := gl_GetProc('glMultiTexCoord3fv');
  5816. glMultiTexCoord3i := gl_GetProc('glMultiTexCoord3i');
  5817. glMultiTexCoord3iv := gl_GetProc('glMultiTexCoord3iv');
  5818. glMultiTexCoord3s := gl_GetProc('glMultiTexCoord3s');
  5819. glMultiTexCoord3sv := gl_GetProc('glMultiTexCoord3sv');
  5820. glMultiTexCoord4d := gl_GetProc('glMultiTexCoord4d');
  5821. glMultiTexCoord4dv := gl_GetProc('glMultiTexCoord4dv');
  5822. glMultiTexCoord4f := gl_GetProc('glMultiTexCoord4f');
  5823. glMultiTexCoord4fv := gl_GetProc('glMultiTexCoord4fv');
  5824. glMultiTexCoord4i := gl_GetProc('glMultiTexCoord4i');
  5825. glMultiTexCoord4iv := gl_GetProc('glMultiTexCoord4iv');
  5826. glMultiTexCoord4s := gl_GetProc('glMultiTexCoord4s');
  5827. glMultiTexCoord4sv := gl_GetProc('glMultiTexCoord4sv');
  5828. glLoadTransposeMatrixf := gl_GetProc('glLoadTransposeMatrixf');
  5829. glLoadTransposeMatrixd := gl_GetProc('glLoadTransposeMatrixd');
  5830. glMultTransposeMatrixf := gl_GetProc('glMultTransposeMatrixf');
  5831. glMultTransposeMatrixd := gl_GetProc('glMultTransposeMatrixd');
  5832. {$EndIf} *)
  5833. {$EndIf}
  5834. {$IfDef GL_VERSION_1_4}
  5835. if GL_VERSION_1_4 then
  5836. begin
  5837. // glBlendFuncSeparate := gl_GetProc('glBlendFuncSeparate');
  5838. glMultiDrawArrays := gl_GetProc('glMultiDrawArrays');
  5839. // glMultiDrawElements := gl_GetProc('glMultiDrawElements');
  5840. glPointParameterf := gl_GetProc('glPointParameterf');
  5841. glPointParameterfv := gl_GetProc('glPointParameterfv');
  5842. glPointParameteri := gl_GetProc('glPointParameteri');
  5843. glPointParameteriv := gl_GetProc('glPointParameteriv');
  5844. glBlendColor := gl_GetProc('glBlendColor');
  5845. // glBlendEquation := gl_GetProc('glBlendEquation');
  5846. {$IfNDef USE_GLCORE}
  5847. glFogCoordf := gl_GetProc('glFogCoordf');
  5848. glFogCoordfv := gl_GetProc('glFogCoordfv');
  5849. glFogCoordd := gl_GetProc('glFogCoordd');
  5850. glFogCoorddv := gl_GetProc('glFogCoorddv');
  5851. // glFogCoordPointer := gl_GetProc('glFogCoordPointer');
  5852. glSecondaryColor3b := gl_GetProc('glSecondaryColor3b');
  5853. glSecondaryColor3bv := gl_GetProc('glSecondaryColor3bv');
  5854. glSecondaryColor3d := gl_GetProc('glSecondaryColor3d');
  5855. glSecondaryColor3dv := gl_GetProc('glSecondaryColor3dv');
  5856. glSecondaryColor3f := gl_GetProc('glSecondaryColor3f');
  5857. glSecondaryColor3fv := gl_GetProc('glSecondaryColor3fv');
  5858. glSecondaryColor3i := gl_GetProc('glSecondaryColor3i');
  5859. glSecondaryColor3iv := gl_GetProc('glSecondaryColor3iv');
  5860. glSecondaryColor3s := gl_GetProc('glSecondaryColor3s');
  5861. glSecondaryColor3sv := gl_GetProc('glSecondaryColor3sv');
  5862. glSecondaryColor3ub := gl_GetProc('glSecondaryColor3ub');
  5863. glSecondaryColor3ubv := gl_GetProc('glSecondaryColor3ubv');
  5864. glSecondaryColor3ui := gl_GetProc('glSecondaryColor3ui');
  5865. glSecondaryColor3uiv := gl_GetProc('glSecondaryColor3uiv');
  5866. glSecondaryColor3us := gl_GetProc('glSecondaryColor3us');
  5867. glSecondaryColor3usv := gl_GetProc('glSecondaryColor3usv');
  5868. // glSecondaryColorPointer := gl_GetProc('glSecondaryColorPointer');
  5869. glWindowPos2d := gl_GetProc('glWindowPos2d');
  5870. glWindowPos2dv := gl_GetProc('glWindowPos2dv');
  5871. glWindowPos2f := gl_GetProc('glWindowPos2f');
  5872. glWindowPos2fv := gl_GetProc('glWindowPos2fv');
  5873. glWindowPos2i := gl_GetProc('glWindowPos2i');
  5874. glWindowPos2iv := gl_GetProc('glWindowPos2iv');
  5875. glWindowPos2s := gl_GetProc('glWindowPos2s');
  5876. glWindowPos2sv := gl_GetProc('glWindowPos2sv');
  5877. glWindowPos3d := gl_GetProc('glWindowPos3d');
  5878. glWindowPos3dv := gl_GetProc('glWindowPos3dv');
  5879. glWindowPos3f := gl_GetProc('glWindowPos3f');
  5880. glWindowPos3fv := gl_GetProc('glWindowPos3fv');
  5881. glWindowPos3i := gl_GetProc('glWindowPos3i');
  5882. glWindowPos3iv := gl_GetProc('glWindowPos3iv');
  5883. glWindowPos3s := gl_GetProc('glWindowPos3s');
  5884. glWindowPos3sv := gl_GetProc('glWindowPos3sv');
  5885. {$EndIf}
  5886. end;
  5887. {$EndIf}
  5888. {$IfDef GL_VERSION_1_5}
  5889. if GL_VERSION_1_5 then
  5890. begin
  5891. glGenQueries := gl_GetProc('glGenQueries');
  5892. glDeleteQueries := gl_GetProc('glDeleteQueries');
  5893. glIsQuery := gl_GetProc('glIsQuery');
  5894. glBeginQuery := gl_GetProc('glBeginQuery');
  5895. glEndQuery := gl_GetProc('glEndQuery');
  5896. glGetQueryiv := gl_GetProc('glGetQueryiv');
  5897. glGetQueryObjectiv := gl_GetProc('glGetQueryObjectiv');
  5898. glGetQueryObjectuiv := gl_GetProc('glGetQueryObjectuiv');
  5899. glBindBuffer := gl_GetProc('glBindBuffer');
  5900. glDeleteBuffers := gl_GetProc('glDeleteBuffers');
  5901. glGenBuffers := gl_GetProc('glGenBuffers');
  5902. glIsBuffer := gl_GetProc('glIsBuffer');
  5903. glBufferData := gl_GetProc('glBufferData');
  5904. glBufferSubData := gl_GetProc('glBufferSubData');
  5905. glGetBufferSubData := gl_GetProc('glGetBufferSubData');
  5906. glMapBuffer := gl_GetProc('glMapBuffer');
  5907. glUnmapBuffer := gl_GetProc('glUnmapBuffer');
  5908. glGetBufferParameteriv := gl_GetProc('glGetBufferParameteriv');
  5909. glGetBufferPointerv := gl_GetProc('glGetBufferPointerv');
  5910. end;
  5911. {$EndIf}
  5912. {$IfDef GL_VERSION_2_0}
  5913. if GL_VERSION_2_0 then
  5914. begin
  5915. glBlendEquationSeparate := gl_GetProc('glBlendEquationSeparate');
  5916. glDrawBuffers := gl_GetProc('glDrawBuffers');
  5917. glStencilOpSeparate := gl_GetProc('glStencilOpSeparate');
  5918. glStencilFuncSeparate := gl_GetProc('glStencilFuncSeparate');
  5919. glStencilMaskSeparate := gl_GetProc('glStencilMaskSeparate');
  5920. glAttachShader := gl_GetProc('glAttachShader');
  5921. glBindAttribLocation := gl_GetProc('glBindAttribLocation');
  5922. glCompileShader := gl_GetProc('glCompileShader');
  5923. glCreateProgram := gl_GetProc('glCreateProgram');
  5924. glCreateShader := gl_GetProc('glCreateShader');
  5925. glDeleteProgram := gl_GetProc('glDeleteProgram');
  5926. glDeleteShader := gl_GetProc('glDeleteShader');
  5927. glDetachShader := gl_GetProc('glDetachShader');
  5928. glDisableVertexAttribArray := gl_GetProc('glDisableVertexAttribArray');
  5929. glEnableVertexAttribArray := gl_GetProc('glEnableVertexAttribArray');
  5930. glGetActiveAttrib := gl_GetProc('glGetActiveAttrib');
  5931. glGetActiveUniform := gl_GetProc('glGetActiveUniform');
  5932. glGetAttachedShaders := gl_GetProc('glGetAttachedShaders');
  5933. glGetAttribLocation := gl_GetProc('glGetAttribLocation');
  5934. glGetProgramiv := gl_GetProc('glGetProgramiv');
  5935. glGetProgramInfoLog := gl_GetProc('glGetProgramInfoLog');
  5936. glGetShaderiv := gl_GetProc('glGetShaderiv');
  5937. glGetShaderInfoLog := gl_GetProc('glGetShaderInfoLog');
  5938. glGetShaderSource := gl_GetProc('glGetShaderSource');
  5939. glGetUniformLocation := gl_GetProc('glGetUniformLocation');
  5940. glGetUniformfv := gl_GetProc('glGetUniformfv');
  5941. glGetUniformiv := gl_GetProc('glGetUniformiv');
  5942. glGetVertexAttribdv := gl_GetProc('glGetVertexAttribdv');
  5943. glGetVertexAttribfv := gl_GetProc('glGetVertexAttribfv');
  5944. glGetVertexAttribiv := gl_GetProc('glGetVertexAttribiv');
  5945. glGetVertexAttribPointerv := gl_GetProc('glGetVertexAttribPointerv');
  5946. glIsProgram := gl_GetProc('glIsProgram');
  5947. glIsShader := gl_GetProc('glIsShader');
  5948. glLinkProgram := gl_GetProc('glLinkProgram');
  5949. glShaderSource := gl_GetProc('glShaderSource');
  5950. glUseProgram := gl_GetProc('glUseProgram');
  5951. glUniform1f := gl_GetProc('glUniform1f');
  5952. glUniform2f := gl_GetProc('glUniform2f');
  5953. glUniform3f := gl_GetProc('glUniform3f');
  5954. glUniform4f := gl_GetProc('glUniform4f');
  5955. glUniform1i := gl_GetProc('glUniform1i');
  5956. glUniform2i := gl_GetProc('glUniform2i');
  5957. glUniform3i := gl_GetProc('glUniform3i');
  5958. glUniform4i := gl_GetProc('glUniform4i');
  5959. glUniform1fv := gl_GetProc('glUniform1fv');
  5960. glUniform2fv := gl_GetProc('glUniform2fv');
  5961. glUniform3fv := gl_GetProc('glUniform3fv');
  5962. glUniform4fv := gl_GetProc('glUniform4fv');
  5963. glUniform1iv := gl_GetProc('glUniform1iv');
  5964. glUniform2iv := gl_GetProc('glUniform2iv');
  5965. glUniform3iv := gl_GetProc('glUniform3iv');
  5966. glUniform4iv := gl_GetProc('glUniform4iv');
  5967. glUniformMatrix2fv := gl_GetProc('glUniformMatrix2fv');
  5968. glUniformMatrix3fv := gl_GetProc('glUniformMatrix3fv');
  5969. glUniformMatrix4fv := gl_GetProc('glUniformMatrix4fv');
  5970. glValidateProgram := gl_GetProc('glValidateProgram');
  5971. glVertexAttrib1d := gl_GetProc('glVertexAttrib1d');
  5972. glVertexAttrib1dv := gl_GetProc('glVertexAttrib1dv');
  5973. glVertexAttrib1f := gl_GetProc('glVertexAttrib1f');
  5974. glVertexAttrib1fv := gl_GetProc('glVertexAttrib1fv');
  5975. glVertexAttrib1s := gl_GetProc('glVertexAttrib1s');
  5976. glVertexAttrib1sv := gl_GetProc('glVertexAttrib1sv');
  5977. glVertexAttrib2d := gl_GetProc('glVertexAttrib2d');
  5978. glVertexAttrib2dv := gl_GetProc('glVertexAttrib2dv');
  5979. glVertexAttrib2f := gl_GetProc('glVertexAttrib2f');
  5980. glVertexAttrib2fv := gl_GetProc('glVertexAttrib2fv');
  5981. glVertexAttrib2s := gl_GetProc('glVertexAttrib2s');
  5982. glVertexAttrib2sv := gl_GetProc('glVertexAttrib2sv');
  5983. glVertexAttrib3d := gl_GetProc('glVertexAttrib3d');
  5984. glVertexAttrib3dv := gl_GetProc('glVertexAttrib3dv');
  5985. glVertexAttrib3f := gl_GetProc('glVertexAttrib3f');
  5986. glVertexAttrib3fv := gl_GetProc('glVertexAttrib3f');
  5987. glVertexAttrib3s := gl_GetProc('glVertexAttrib3s');
  5988. glVertexAttrib3sv := gl_GetProc('glVertexAttrib3sv');
  5989. glVertexAttrib4Nbv := gl_GetProc('glVertexAttrib4Nbv');
  5990. glVertexAttrib4Niv := gl_GetProc('glVertexAttrib4Niv');
  5991. glVertexAttrib4Nsv := gl_GetProc('glVertexAttrib4Nsv');
  5992. glVertexAttrib4Nub := gl_GetProc('glVertexAttrib4Nub');
  5993. glVertexAttrib4Nubv := gl_GetProc('glVertexAttrib4Nubv');
  5994. glVertexAttrib4Nuiv := gl_GetProc('glVertexAttrib4Nuiv');
  5995. glVertexAttrib4Nusv := gl_GetProc('glVertexAttrib4Nusv');
  5996. glVertexAttrib4bv := gl_GetProc('glVertexAttrib4bv');
  5997. glVertexAttrib4d := gl_GetProc('glVertexAttrib4d');
  5998. glVertexAttrib4dv := gl_GetProc('glVertexAttrib4dv');
  5999. glVertexAttrib4f := gl_GetProc('glVertexAttrib4f');
  6000. glVertexAttrib4fv := gl_GetProc('glVertexAttrib4fv');
  6001. glVertexAttrib4iv := gl_GetProc('glVertexAttrib4iv');
  6002. glVertexAttrib4s := gl_GetProc('glVertexAttrib4s');
  6003. glVertexAttrib4sv := gl_GetProc('glVertexAttrib4sv');
  6004. glVertexAttrib4ubv := gl_GetProc('glVertexAttrib4ubv');
  6005. glVertexAttrib4uiv := gl_GetProc('glVertexAttrib4uiv');
  6006. glVertexAttrib4usv := gl_GetProc('glVertexAttrib4usv');
  6007. glVertexAttribPointer := gl_GetProc('glVertexAttribPointer');
  6008. end;
  6009. {$EndIf}
  6010. {$IfDef GL_VERSION_2_1}
  6011. if GL_VERSION_2_1 then
  6012. begin
  6013. glUniformMatrix2x3fv := gl_GetProc('glUniformMatrix2x3fv');
  6014. glUniformMatrix3x2fv := gl_GetProc('glUniformMatrix3x2fv');
  6015. glUniformMatrix2x4fv := gl_GetProc('glUniformMatrix2x4fv');
  6016. glUniformMatrix4x2fv := gl_GetProc('glUniformMatrix4x2fv');
  6017. glUniformMatrix3x4fv := gl_GetProc('glUniformMatrix3x4fv');
  6018. glUniformMatrix4x3fv := gl_GetProc('glUniformMatrix4x3fv');
  6019. end;
  6020. {$EndIf}
  6021. {$IfDef GL_VERSION_3_0}
  6022. if GL_VERSION_3_0 then
  6023. begin
  6024. glColorMaski := gl_GetProc('glColorMaski');
  6025. glGetBooleani_v := gl_GetProc('glGetBooleani_v');
  6026. glGetIntegeri_v := gl_GetProc('glGetIntegeri_v');
  6027. glEnablei := gl_GetProc('glEnablei');
  6028. glDisablei := gl_GetProc('glDisablei');
  6029. glIsEnabledi := gl_GetProc('glIsEnabledi');
  6030. glBeginTransformFeedback := gl_GetProc('glBeginTransformFeedback');
  6031. glEndTransformFeedback := gl_GetProc('glEndTransformFeedback');
  6032. glBindBufferRange := gl_GetProc('glBindBufferRange');
  6033. glBindBufferBase := gl_GetProc('glBindBufferBase');
  6034. glTransformFeedbackVaryings := gl_GetProc('glTransformFeedbackVaryings');
  6035. glGetTransformFeedbackVarying := gl_GetProc('glGetTransformFeedbackVarying');
  6036. glClampColor := gl_GetProc('glClampColor');
  6037. glBeginConditionalRender := gl_GetProc('glBeginConditionalRender');
  6038. glEndConditionalRender := gl_GetProc('glEndConditionalRender');
  6039. glVertexAttribIPointer := gl_GetProc('glVertexAttribIPointer');
  6040. glGetVertexAttribIiv := gl_GetProc('glGetVertexAttribIiv');
  6041. glGetVertexAttribIuiv := gl_GetProc('glGetVertexAttribIuiv');
  6042. glVertexAttribI1i := gl_GetProc('glVertexAttribI1i');
  6043. glVertexAttribI2i := gl_GetProc('glVertexAttribI2i');
  6044. glVertexAttribI3i := gl_GetProc('glVertexAttribI3i');
  6045. glVertexAttribI4i := gl_GetProc('glVertexAttribI4i');
  6046. glVertexAttribI1ui := gl_GetProc('glVertexAttribI1ui');
  6047. glVertexAttribI2ui := gl_GetProc('glVertexAttribI2ui');
  6048. glVertexAttribI3ui := gl_GetProc('glVertexAttribI3ui');
  6049. glVertexAttribI4ui := gl_GetProc('glVertexAttribI4ui');
  6050. glVertexAttribI1iv := gl_GetProc('glVertexAttribI1iv');
  6051. glVertexAttribI2iv := gl_GetProc('glVertexAttribI2iv');
  6052. glVertexAttribI3iv := gl_GetProc('glVertexAttribI3iv');
  6053. glVertexAttribI4iv := gl_GetProc('glVertexAttribI4iv');
  6054. glVertexAttribI1uiv := gl_GetProc('glVertexAttribI1uiv');
  6055. glVertexAttribI2uiv := gl_GetProc('glVertexAttribI2uiv');
  6056. glVertexAttribI3uiv := gl_GetProc('glVertexAttribI3uiv');
  6057. glVertexAttribI4uiv := gl_GetProc('glVertexAttribI4uiv');
  6058. glVertexAttribI4bv := gl_GetProc('glVertexAttribI4bv');
  6059. glVertexAttribI4sv := gl_GetProc('glVertexAttribI4sv');
  6060. glVertexAttribI4ubv := gl_GetProc('glVertexAttribI4ubv');
  6061. glVertexAttribI4usv := gl_GetProc('glVertexAttribI4usv');
  6062. glGetUniformuiv := gl_GetProc('glGetUniformuiv');
  6063. glBindFragDataLocation := gl_GetProc('glBindFragDataLocation');
  6064. glGetFragDataLocation := gl_GetProc('glGetFragDataLocation');
  6065. glUniform1ui := gl_GetProc('glUniform1ui');
  6066. glUniform2ui := gl_GetProc('glUniform2ui');
  6067. glUniform3ui := gl_GetProc('glUniform3ui');
  6068. glUniform4ui := gl_GetProc('glUniform4ui');
  6069. glUniform1uiv := gl_GetProc('glUniform1uiv');
  6070. glUniform2uiv := gl_GetProc('glUniform2uiv');
  6071. glUniform3uiv := gl_GetProc('glUniform3uiv');
  6072. glUniform4uiv := gl_GetProc('glUniform4uiv');
  6073. glTexParameterIiv := gl_GetProc('glTexParameterIiv');
  6074. glTexParameterIuiv := gl_GetProc('glTexParameterIuiv');
  6075. glGetTexParameterIiv := gl_GetProc('glGetTexParameterIiv');
  6076. glGetTexParameterIuiv := gl_GetProc('glGetTexParameterIuiv');
  6077. glClearBufferiv := gl_GetProc('glClearBufferiv');
  6078. glClearBufferuiv := gl_GetProc('glClearBufferuiv');
  6079. glClearBufferfv := gl_GetProc('glClearBufferfv');
  6080. glClearBufferfi := gl_GetProc('glClearBufferfi');
  6081. glGetStringi := gl_GetProc('glGetStringi');
  6082. // glIsRenderbuffer := gl_GetProc('glIsRenderbuffer');
  6083. // glBindRenderbuffer := gl_GetProc('glBindRenderbuffer');
  6084. // glDeleteRenderbuffers := gl_GetProc('glDeleteRenderbuffers');
  6085. // glGenRenderbuffers := gl_GetProc('glGenRenderbuffers');
  6086. // glRenderbufferStorage := gl_GetProc('glRenderbufferStorage');
  6087. glGetRenderbufferParameteriv := gl_GetProc('glGetRenderbufferParameteriv');
  6088. // glIsFramebuffer := gl_GetProc('glIsFramebuffer');
  6089. // glBindFramebuffer := gl_GetProc('glBindFramebuffer');
  6090. // glDeleteFramebuffers := gl_GetProc('glDeleteFramebuffers');
  6091. // glGenFramebuffers := gl_GetProc('glGenFramebuffers');
  6092. // glCheckFramebufferStatus := gl_GetProc('glCheckFramebufferStatus');
  6093. glFramebufferTexture1D := gl_GetProc('glFramebufferTexture1D');
  6094. // glFramebufferTexture2D := gl_GetProc('glFramebufferTexture2D');
  6095. glFramebufferTexture3D := gl_GetProc('glFramebufferTexture3D');
  6096. // glFramebufferRenderbuffer := gl_GetProc('glFramebufferRenderbuffer');
  6097. glGetFramebufferAttachmentParameteriv := gl_GetProc('glGetFramebufferAttachmentParameteriv');
  6098. glGenerateMipmap := gl_GetProc('glGenerateMipmap');
  6099. glBlitFramebuffer := gl_GetProc('glBlitFramebuffer');
  6100. glRenderbufferStorageMultisample := gl_GetProc('glRenderbufferStorageMultisample');
  6101. glFramebufferTextureLayer := gl_GetProc('glFramebufferTextureLayer');
  6102. glMapBufferRange := gl_GetProc('glMapBufferRange');
  6103. glFlushMappedBufferRange := gl_GetProc('glFlushMappedBufferRange');
  6104. glBindVertexArray := gl_GetProc('glBindVertexArray');
  6105. glDeleteVertexArrays := gl_GetProc('glDeleteVertexArrays');
  6106. glGenVertexArrays := gl_GetProc('glGenVertexArrays');
  6107. glIsVertexArray := gl_GetProc('glIsVertexArray');
  6108. end;
  6109. {$EndIf}
  6110. {$IfDef GL_VERSION_3_1}
  6111. if GL_VERSION_3_1 then
  6112. begin
  6113. glDrawArraysInstanced := gl_GetProc('glDrawArraysInstanced');
  6114. glDrawElementsInstanced := gl_GetProc('glDrawElementsInstanced');
  6115. glTexBuffer := gl_GetProc('glTexBuffer');
  6116. glPrimitiveRestartIndex := gl_GetProc('glPrimitiveRestartIndex');
  6117. glCopyBufferSubData := gl_GetProc('glCopyBufferSubData');
  6118. glGetUniformIndices := gl_GetProc('glGetUniformIndices');
  6119. glGetActiveUniformsiv := gl_GetProc('glGetActiveUniformsiv');
  6120. glGetActiveUniformName := gl_GetProc('glGetActiveUniformName');
  6121. glGetUniformBlockIndex := gl_GetProc('glGetUniformBlockIndex');
  6122. glGetActiveUniformBlockiv := gl_GetProc('glGetActiveUniformBlockiv');
  6123. glGetActiveUniformBlockName := gl_GetProc('glGetActiveUniformBlockName');
  6124. glUniformBlockBinding := gl_GetProc('glUniformBlockBinding');
  6125. end;
  6126. {$EndIf}
  6127. {$IfDef GL_VERSION_3_2}
  6128. if GL_VERSION_3_2 then
  6129. begin
  6130. glDrawElementsBaseVertex := gl_GetProc('glDrawElementsBaseVertex');
  6131. glDrawRangeElementsBaseVertex := gl_GetProc('glDrawRangeElementsBaseVertex');
  6132. glDrawElementsInstancedBaseVertex := gl_GetProc('glDrawElementsInstancedBaseVertex');
  6133. glMultiDrawElementsBaseVertex := gl_GetProc('glMultiDrawElementsBaseVertex');
  6134. glProvokingVertex := gl_GetProc('glProvokingVertex');
  6135. glFenceSync := gl_GetProc('glFenceSync');
  6136. glIsSync := gl_GetProc('glIsSync');
  6137. glDeleteSync := gl_GetProc('glDeleteSync');
  6138. glClientWaitSync := gl_GetProc('glClientWaitSync');
  6139. glWaitSync := gl_GetProc('glWaitSync');
  6140. glGetInteger64v := gl_GetProc('glGetInteger64v');
  6141. glGetSynciv := gl_GetProc('glGetSynciv');
  6142. glGetInteger64i_v := gl_GetProc('glGetInteger64i_v');
  6143. glGetBufferParameteri64v := gl_GetProc('glGetBufferParameteri64v');
  6144. glFramebufferTexture := gl_GetProc('glFramebufferTexture');
  6145. glTexImage2DMultisample := gl_GetProc('glTexImage2DMultisample');
  6146. glTexImage3DMultisample := gl_GetProc('glTexImage3DMultisample');
  6147. glGetMultisamplefv := gl_GetProc('glGetMultisamplefv');
  6148. glSampleMaski := gl_GetProc('glSampleMaski');
  6149. end;
  6150. {$EndIf}
  6151. {$IfDef GL_VERSION_3_3}
  6152. if GL_VERSION_3_3 then
  6153. begin
  6154. glBindFragDataLocationIndexed := gl_GetProc('glBindFragDataLocationIndexed');
  6155. glGetFragDataIndex := gl_GetProc('glGetFragDataIndex');
  6156. glGenSamplers := gl_GetProc('glGenSamplers');
  6157. glDeleteSamplers := gl_GetProc('glDeleteSamplers');
  6158. glIsSampler := gl_GetProc('glIsSampler');
  6159. glBindSampler := gl_GetProc('glBindSampler');
  6160. glSamplerParameteri := gl_GetProc('glSamplerParameteri');
  6161. glSamplerParameteriv := gl_GetProc('glSamplerParameteriv');
  6162. glSamplerParameterf := gl_GetProc('glSamplerParameterf');
  6163. glSamplerParameterfv := gl_GetProc('glSamplerParameterfv');
  6164. glSamplerParameterIiv := gl_GetProc('glSamplerParameterIiv');
  6165. glSamplerParameterIuiv := gl_GetProc('glSamplerParameterIuiv');
  6166. glGetSamplerParameteriv := gl_GetProc('glGetSamplerParameteriv');
  6167. glGetSamplerParameterIiv := gl_GetProc('glGetSamplerParameterIiv');
  6168. glGetSamplerParameterfv := gl_GetProc('glGetSamplerParameterfv');
  6169. glGetSamplerParameterIuiv := gl_GetProc('glGetSamplerParameterIuiv');
  6170. glQueryCounter := gl_GetProc('glQueryCounter');
  6171. glGetQueryObjecti64v := gl_GetProc('glGetQueryObjecti64v');
  6172. glGetQueryObjectui64v := gl_GetProc('glGetQueryObjectui64v');
  6173. glVertexAttribDivisor := gl_GetProc('glVertexAttribDivisor');
  6174. glVertexAttribP1ui := gl_GetProc('glVertexAttribP1ui');
  6175. glVertexAttribP1uiv := gl_GetProc('glVertexAttribP1uiv');
  6176. glVertexAttribP2ui := gl_GetProc('glVertexAttribP2ui');
  6177. glVertexAttribP2uiv := gl_GetProc('glVertexAttribP2uiv');
  6178. glVertexAttribP3ui := gl_GetProc('glVertexAttribP3ui');
  6179. glVertexAttribP3uiv := gl_GetProc('glVertexAttribP3uiv');
  6180. glVertexAttribP4ui := gl_GetProc('glVertexAttribP4ui');
  6181. glVertexAttribP4uiv := gl_GetProc('glVertexAttribP4uiv');
  6182. {$IfNDef USE_GLCORE}
  6183. glVertexP2ui := gl_GetProc('glVertexP2ui');
  6184. glVertexP2uiv := gl_GetProc('glVertexP2uiv');
  6185. glVertexP3ui := gl_GetProc('glVertexP3ui');
  6186. glVertexP3uiv := gl_GetProc('glVertexP3uiv');
  6187. glVertexP4ui := gl_GetProc('glVertexP4ui');
  6188. glVertexP4uiv := gl_GetProc('glVertexP4uiv');
  6189. glTexCoordP1ui := gl_GetProc('glTexCoordP1ui');
  6190. glTexCoordP1uiv := gl_GetProc('glTexCoordP1uiv');
  6191. glTexCoordP2ui := gl_GetProc('glTexCoordP2ui');
  6192. glTexCoordP2uiv := gl_GetProc('glTexCoordP2uiv');
  6193. glTexCoordP3ui := gl_GetProc('glTexCoordP3ui');
  6194. glTexCoordP3uiv := gl_GetProc('glTexCoordP3uiv');
  6195. glTexCoordP4ui := gl_GetProc('glTexCoordP4ui');
  6196. glTexCoordP4uiv := gl_GetProc('glTexCoordP4uiv');
  6197. glMultiTexCoordP1ui := gl_GetProc('glMultiTexCoordP1ui');
  6198. glMultiTexCoordP1uiv := gl_GetProc('glMultiTexCoordP1uiv');
  6199. glMultiTexCoordP2ui := gl_GetProc('glMultiTexCoordP2ui');
  6200. glMultiTexCoordP2uiv := gl_GetProc('glMultiTexCoordP2uiv');
  6201. glMultiTexCoordP3ui := gl_GetProc('glMultiTexCoordP3ui');
  6202. glMultiTexCoordP3uiv := gl_GetProc('glMultiTexCoordP3uiv');
  6203. glMultiTexCoordP4ui := gl_GetProc('glMultiTexCoordP4ui');
  6204. glMultiTexCoordP4uiv := gl_GetProc('glMultiTexCoordP4uiv');
  6205. glNormalP3ui := gl_GetProc('glNormalP3ui');
  6206. glNormalP3uiv := gl_GetProc('glNormalP3uiv');
  6207. glColorP3ui := gl_GetProc('glColorP3ui');
  6208. glColorP3uiv := gl_GetProc('glColorP3uiv');
  6209. glColorP4ui := gl_GetProc('glColorP4ui');
  6210. glColorP4uiv := gl_GetProc('glColorP4uiv');
  6211. glSecondaryColorP3ui := gl_GetProc('glSecondaryColorP3ui');
  6212. glSecondaryColorP3uiv := gl_GetProc('glSecondaryColorP3uiv');
  6213. {$EndIf}
  6214. end;
  6215. {$EndIf}
  6216. {$IfDef GL_VERSION_4_0}
  6217. if GL_VERSION_4_0 then
  6218. begin
  6219. glMinSampleShading := gl_GetProc('glMinSampleShading');
  6220. glBlendEquationi := gl_GetProc('glBlendEquationi');
  6221. glBlendEquationSeparatei := gl_GetProc('glBlendEquationSeparatei');
  6222. glBlendFunci := gl_GetProc('glBlendFunci');
  6223. glBlendFuncSeparatei := gl_GetProc('glBlendFuncSeparatei');
  6224. glDrawArraysIndirect := gl_GetProc('glDrawArraysIndirect');
  6225. glDrawElementsIndirect := gl_GetProc('glDrawElementsIndirect');
  6226. glUniform1d := gl_GetProc('glUniform1d');
  6227. glUniform2d := gl_GetProc('glUniform2d');
  6228. glUniform3d := gl_GetProc('glUniform3d');
  6229. glUniform4d := gl_GetProc('glUniform4d');
  6230. glUniform1dv := gl_GetProc('glUniform1dv');
  6231. glUniform2dv := gl_GetProc('glUniform2dv');
  6232. glUniform3dv := gl_GetProc('glUniform3dv');
  6233. glUniform4dv := gl_GetProc('glUniform4dv');
  6234. glUniformMatrix2dv := gl_GetProc('glUniformMatrix2dv');
  6235. glUniformMatrix3dv := gl_GetProc('glUniformMatrix3dv');
  6236. glUniformMatrix4dv := gl_GetProc('glUniformMatrix4dv');
  6237. glUniformMatrix2x3dv := gl_GetProc('glUniformMatrix2x3dv');
  6238. glUniformMatrix2x4dv := gl_GetProc('glUniformMatrix2x4dv');
  6239. glUniformMatrix3x2dv := gl_GetProc('glUniformMatrix3x2dv');
  6240. glUniformMatrix3x4dv := gl_GetProc('glUniformMatrix3x4dv');
  6241. glUniformMatrix4x2dv := gl_GetProc('glUniformMatrix4x2dv');
  6242. glUniformMatrix4x3dv := gl_GetProc('glUniformMatrix4x3dv');
  6243. glGetUniformdv := gl_GetProc('glGetUniformdv');
  6244. glGetSubroutineUniformLocation := gl_GetProc('glGetSubroutineUniformLocation');
  6245. glGetSubroutineIndex := gl_GetProc('glGetSubroutineIndex');
  6246. glGetActiveSubroutineUniformiv := gl_GetProc('glGetActiveSubroutineUniformiv');
  6247. glGetActiveSubroutineUniformName := gl_GetProc('glGetActiveSubroutineUniformName');
  6248. glGetActiveSubroutineName := gl_GetProc('glGetActiveSubroutineName');
  6249. glUniformSubroutinesuiv := gl_GetProc('glUniformSubroutinesuiv');
  6250. glGetUniformSubroutineuiv := gl_GetProc('glGetUniformSubroutineuiv');
  6251. glGetProgramStageiv := gl_GetProc('glGetProgramStageiv');
  6252. glPatchParameteri := gl_GetProc('glPatchParameteri');
  6253. glPatchParameterfv := gl_GetProc('glPatchParameterfv');
  6254. glBindTransformFeedback := gl_GetProc('glBindTransformFeedback');
  6255. glDeleteTransformFeedbacks := gl_GetProc('glDeleteTransformFeedbacks');
  6256. glGenTransformFeedbacks := gl_GetProc('glGenTransformFeedbacks');
  6257. glIsTransformFeedback := gl_GetProc('glIsTransformFeedback');
  6258. glPauseTransformFeedback := gl_GetProc('glPauseTransformFeedback');
  6259. glResumeTransformFeedback := gl_GetProc('glResumeTransformFeedback');
  6260. glDrawTransformFeedback := gl_GetProc('glDrawTransformFeedback');
  6261. glDrawTransformFeedbackStream := gl_GetProc('glDrawTransformFeedbackStream');
  6262. glBeginQueryIndexed := gl_GetProc('glBeginQueryIndexed');
  6263. glEndQueryIndexed := gl_GetProc('glEndQueryIndexed');
  6264. glGetQueryIndexediv := gl_GetProc('glGetQueryIndexediv');
  6265. end;
  6266. {$EndIf}
  6267. {$IfDef GL_VERSION_4_1}
  6268. if GL_VERSION_4_1 then
  6269. begin
  6270. glReleaseShaderCompiler := gl_GetProc('glReleaseShaderCompiler');
  6271. glShaderBinary := gl_GetProc('glShaderBinary');
  6272. glGetShaderPrecisionFormat := gl_GetProc('glGetShaderPrecisionFormat');
  6273. glDepthRangef := gl_GetProc('glDepthRangef');
  6274. glClearDepthf := gl_GetProc('glClearDepthf');
  6275. glGetProgramBinary := gl_GetProc('glGetProgramBinary');
  6276. glProgramBinary := gl_GetProc('glProgramBinary');
  6277. glProgramParameteri := gl_GetProc('glProgramParameteri');
  6278. glUseProgramStages := gl_GetProc('glUseProgramStages');
  6279. glActiveShaderProgram := gl_GetProc('glActiveShaderProgram');
  6280. glCreateShaderProgramv := gl_GetProc('glCreateShaderProgramv');
  6281. glBindProgramPipeline := gl_GetProc('glBindProgramPipeline');
  6282. glDeleteProgramPipelines := gl_GetProc('glDeleteProgramPipelines');
  6283. glGenProgramPipelines := gl_GetProc('glGenProgramPipelines');
  6284. glIsProgramPipeline := gl_GetProc('glIsProgramPipeline');
  6285. glGetProgramPipelineiv := gl_GetProc('glGetProgramPipelineiv');
  6286. glProgramUniform1i := gl_GetProc('glProgramUniform1i');
  6287. glProgramUniform1iv := gl_GetProc('glProgramUniform1iv');
  6288. glProgramUniform1f := gl_GetProc('glProgramUniform1f');
  6289. glProgramUniform1fv := gl_GetProc('glProgramUniform1fv');
  6290. glProgramUniform1d := gl_GetProc('glProgramUniform1d');
  6291. glProgramUniform1dv := gl_GetProc('glProgramUniform1dv');
  6292. glProgramUniform1ui := gl_GetProc('glProgramUniform1ui');
  6293. glProgramUniform1uiv := gl_GetProc('glProgramUniform1uiv');
  6294. glProgramUniform2i := gl_GetProc('glProgramUniform2i');
  6295. glProgramUniform2iv := gl_GetProc('glProgramUniform2iv');
  6296. glProgramUniform2f := gl_GetProc('glProgramUniform2f');
  6297. glProgramUniform2fv := gl_GetProc('glProgramUniform2fv');
  6298. glProgramUniform2d := gl_GetProc('glProgramUniform2d');
  6299. glProgramUniform2dv := gl_GetProc('glProgramUniform2dv');
  6300. glProgramUniform2ui := gl_GetProc('glProgramUniform2ui');
  6301. glProgramUniform2uiv := gl_GetProc('glProgramUniform2uiv');
  6302. glProgramUniform3i := gl_GetProc('glProgramUniform3i');
  6303. glProgramUniform3iv := gl_GetProc('glProgramUniform3iv');
  6304. glProgramUniform3f := gl_GetProc('glProgramUniform3f');
  6305. glProgramUniform3fv := gl_GetProc('glProgramUniform3fv');
  6306. glProgramUniform3d := gl_GetProc('glProgramUniform3d');
  6307. glProgramUniform3dv := gl_GetProc('glProgramUniform3dv');
  6308. glProgramUniform3ui := gl_GetProc('glProgramUniform3ui');
  6309. glProgramUniform3uiv := gl_GetProc('glProgramUniform3uiv');
  6310. glProgramUniform4i := gl_GetProc('glProgramUniform4i');
  6311. glProgramUniform4iv := gl_GetProc('glProgramUniform4iv');
  6312. glProgramUniform4f := gl_GetProc('glProgramUniform4f');
  6313. glProgramUniform4fv := gl_GetProc('glProgramUniform4fv');
  6314. glProgramUniform4d := gl_GetProc('glProgramUniform4d');
  6315. glProgramUniform4dv := gl_GetProc('glProgramUniform4dv');
  6316. glProgramUniform4ui := gl_GetProc('glProgramUniform4ui');
  6317. glProgramUniform4uiv := gl_GetProc('glProgramUniform4uiv');
  6318. glProgramUniformMatrix2fv := gl_GetProc('glProgramUniformMatrix2fv');
  6319. glProgramUniformMatrix3fv := gl_GetProc('glProgramUniformMatrix3fv');
  6320. glProgramUniformMatrix4fv := gl_GetProc('glProgramUniformMatrix4fv');
  6321. glProgramUniformMatrix2dv := gl_GetProc('glProgramUniformMatrix2dv');
  6322. glProgramUniformMatrix3dv := gl_GetProc('glProgramUniformMatrix3dv');
  6323. glProgramUniformMatrix4dv := gl_GetProc('glProgramUniformMatrix4dv');
  6324. glProgramUniformMatrix2x3fv := gl_GetProc('glProgramUniformMatrix2x3fv');
  6325. glProgramUniformMatrix3x2fv := gl_GetProc('glProgramUniformMatrix3x2fv');
  6326. glProgramUniformMatrix2x4fv := gl_GetProc('glProgramUniformMatrix2x4fv');
  6327. glProgramUniformMatrix4x2fv := gl_GetProc('glProgramUniformMatrix4x2fv');
  6328. glProgramUniformMatrix3x4fv := gl_GetProc('glProgramUniformMatrix3x4fv');
  6329. glProgramUniformMatrix4x3fv := gl_GetProc('glProgramUniformMatrix4x3fv');
  6330. glProgramUniformMatrix2x3dv := gl_GetProc('glProgramUniformMatrix2x3dv');
  6331. glProgramUniformMatrix3x2dv := gl_GetProc('glProgramUniformMatrix3x2dv');
  6332. glProgramUniformMatrix2x4dv := gl_GetProc('glProgramUniformMatrix2x4dv');
  6333. glProgramUniformMatrix4x2dv := gl_GetProc('glProgramUniformMatrix4x2dv');
  6334. glProgramUniformMatrix3x4dv := gl_GetProc('glProgramUniformMatrix3x4dv');
  6335. glProgramUniformMatrix4x3dv := gl_GetProc('glProgramUniformMatrix4x3dv');
  6336. glValidateProgramPipeline := gl_GetProc('glValidateProgramPipeline');
  6337. glGetProgramPipelineInfoLog := gl_GetProc('glGetProgramPipelineInfoLog');
  6338. glVertexAttribL1d := gl_GetProc('glVertexAttribL1d');
  6339. glVertexAttribL2d := gl_GetProc('glVertexAttribL2d');
  6340. glVertexAttribL3d := gl_GetProc('glVertexAttribL3d');
  6341. glVertexAttribL4d := gl_GetProc('glVertexAttribL4d');
  6342. glVertexAttribL1dv := gl_GetProc('glVertexAttribL1dv');
  6343. glVertexAttribL2dv := gl_GetProc('glVertexAttribL2dv');
  6344. glVertexAttribL3dv := gl_GetProc('glVertexAttribL3dv');
  6345. glVertexAttribL4dv := gl_GetProc('glVertexAttribL4dv');
  6346. glVertexAttribLPointer := gl_GetProc('glVertexAttribLPointer');
  6347. glGetVertexAttribLdv := gl_GetProc('glGetVertexAttribLdv');
  6348. glViewportArrayv := gl_GetProc('glViewportArrayv');
  6349. glViewportIndexedf := gl_GetProc('glViewportIndexedf');
  6350. glViewportIndexedfv := gl_GetProc('glViewportIndexedfv');
  6351. glScissorArrayv := gl_GetProc('glScissorArrayv');
  6352. glScissorIndexed := gl_GetProc('glScissorIndexed');
  6353. glScissorIndexedv := gl_GetProc('glScissorIndexedv');
  6354. glDepthRangeArrayv := gl_GetProc('glDepthRangeArrayv');
  6355. glDepthRangeIndexed := gl_GetProc('glDepthRangeIndexed');
  6356. glGetFloati_v := gl_GetProc('glGetFloati_v');
  6357. glGetDoublei_v := gl_GetProc('glGetDoublei_v');
  6358. end;
  6359. {$EndIf}
  6360. {$IfDef GL_VERSION_4_2}
  6361. if GL_VERSION_4_2 then
  6362. begin
  6363. glDrawArraysInstancedBaseInstance := gl_GetProc('glDrawArraysInstancedBaseInstance');
  6364. glDrawElementsInstancedBaseInstance := gl_GetProc('glDrawElementsInstancedBaseInstance');
  6365. glDrawElementsInstancedBaseVertexBaseInstance := gl_GetProc('glDrawElementsInstancedBaseVertexBaseInstance');
  6366. glGetInternalformativ := gl_GetProc('glGetInternalformativ');
  6367. glGetActiveAtomicCounterBufferiv := gl_GetProc('glGetActiveAtomicCounterBufferiv');
  6368. glBindImageTexture := gl_GetProc('glBindImageTexture');
  6369. glMemoryBarrier := gl_GetProc('glMemoryBarrier');
  6370. glTexStorage1D := gl_GetProc('glTexStorage1D');
  6371. glTexStorage2D := gl_GetProc('glTexStorage2D');
  6372. glTexStorage3D := gl_GetProc('glTexStorage3D');
  6373. glDrawTransformFeedbackInstanced := gl_GetProc('glDrawTransformFeedbackInstanced');
  6374. glDrawTransformFeedbackStreamInstanced := gl_GetProc('glDrawTransformFeedbackStreamInstanced');
  6375. end;
  6376. {$EndIf}
  6377. {$IfDef GL_VERSION_4_3}
  6378. if GL_VERSION_4_3 then
  6379. begin
  6380. glClearBufferData := gl_GetProc('glClearBufferData');
  6381. glClearBufferSubData := gl_GetProc('glClearBufferSubData');
  6382. glDispatchCompute := gl_GetProc('glDispatchCompute');
  6383. glDispatchComputeIndirect := gl_GetProc('glDispatchComputeIndirect');
  6384. glCopyImageSubData := gl_GetProc('glCopyImageSubData');
  6385. glFramebufferParameteri := gl_GetProc('glFramebufferParameteri');
  6386. glGetFramebufferParameteriv := gl_GetProc('glGetFramebufferParameteriv');
  6387. glGetInternalformati64v := gl_GetProc('glGetInternalformati64v');
  6388. glInvalidateTexSubImage := gl_GetProc('glInvalidateTexSubImage');
  6389. glInvalidateTexImage := gl_GetProc('glInvalidateTexImage');
  6390. glInvalidateBufferSubData := gl_GetProc('glInvalidateBufferSubData');
  6391. glInvalidateBufferData := gl_GetProc('glInvalidateBufferData');
  6392. glInvalidateFramebuffer := gl_GetProc('glInvalidateFramebuffer');
  6393. glInvalidateSubFramebuffer := gl_GetProc('glInvalidateSubFramebuffer');
  6394. glMultiDrawArraysIndirect := gl_GetProc('glMultiDrawArraysIndirect');
  6395. glMultiDrawElementsIndirect := gl_GetProc('glMultiDrawElementsIndirect');
  6396. glGetProgramInterfaceiv := gl_GetProc('glGetProgramInterfaceiv');
  6397. glGetProgramResourceIndex := gl_GetProc('glGetProgramResourceIndex');
  6398. glGetProgramResourceName := gl_GetProc('glGetProgramResourceName');
  6399. glGetProgramResourceiv := gl_GetProc('glGetProgramResourceiv');
  6400. glGetProgramResourceLocation := gl_GetProc('glGetProgramResourceLocation');
  6401. glGetProgramResourceLocationIndex := gl_GetProc('glGetProgramResourceLocationIndex');
  6402. glShaderStorageBlockBinding := gl_GetProc('glShaderStorageBlockBinding');
  6403. glTexBufferRange := gl_GetProc('glTexBufferRange');
  6404. glTexStorage2DMultisample := gl_GetProc('glTexStorage2DMultisample');
  6405. glTexStorage3DMultisample := gl_GetProc('glTexStorage3DMultisample');
  6406. glTextureView := gl_GetProc('glTextureView');
  6407. glBindVertexBuffer := gl_GetProc('glBindVertexBuffer');
  6408. glVertexAttribFormat := gl_GetProc('glVertexAttribFormat');
  6409. glVertexAttribIFormat := gl_GetProc('glVertexAttribIFormat');
  6410. glVertexAttribLFormat := gl_GetProc('glVertexAttribLFormat');
  6411. glVertexAttribBinding := gl_GetProc('glVertexAttribBinding');
  6412. glVertexBindingDivisor := gl_GetProc('glVertexBindingDivisor');
  6413. glDebugMessageControl := gl_GetProc('glDebugMessageControl');
  6414. glDebugMessageInsert := gl_GetProc('glDebugMessageInsert');
  6415. glDebugMessageCallback := gl_GetProc('glDebugMessageCallback');
  6416. glGetDebugMessageLog := gl_GetProc('glGetDebugMessageLog');
  6417. glPushDebugGroup := gl_GetProc('glPushDebugGroup');
  6418. glPopDebugGroup := gl_GetProc('glPopDebugGroup');
  6419. glObjectLabel := gl_GetProc('glObjectLabel');
  6420. glGetObjectLabel := gl_GetProc('glGetObjectLabel');
  6421. glObjectPtrLabel := gl_GetProc('glObjectPtrLabel');
  6422. glGetObjectPtrLabel := gl_GetProc('glGetObjectPtrLabel');
  6423. end;
  6424. {$EndIf}
  6425. {$IfDef GL_VERSION_4_4}
  6426. if GL_VERSION_4_4 then
  6427. begin
  6428. glBufferStorage := gl_GetProc('glBufferStorage');
  6429. glClearTexImage := gl_GetProc('glClearTexImage');
  6430. glClearTexSubImage := gl_GetProc('glClearTexSubImage');
  6431. glBindBuffersBase := gl_GetProc('glBindBuffersBase');
  6432. glBindBuffersRange := gl_GetProc('glBindBuffersRange');
  6433. glBindTextures := gl_GetProc('glBindTextures');
  6434. glBindSamplers := gl_GetProc('glBindSamplers');
  6435. glBindImageTextures := gl_GetProc('glBindImageTextures');
  6436. glBindVertexBuffers := gl_GetProc('glBindVertexBuffers');
  6437. end;
  6438. {$EndIf}
  6439. {$IfDef GL_VERSION_4_5}
  6440. if GL_VERSION_4_5 then
  6441. begin
  6442. glClipControl := gl_GetProc('glClipControl');
  6443. glCreateTransformFeedbacks := gl_GetProc('glCreateTransformFeedbacks');
  6444. glTransformFeedbackBufferBase := gl_GetProc('glTransformFeedbackBufferBase');
  6445. glTransformFeedbackBufferRange := gl_GetProc('glTransformFeedbackBufferRange');
  6446. glGetTransformFeedbackiv := gl_GetProc('glGetTransformFeedbackiv');
  6447. glGetTransformFeedbacki_v := gl_GetProc('glGetTransformFeedbacki_v');
  6448. glGetTransformFeedbacki64_v := gl_GetProc('glGetTransformFeedbacki64_v');
  6449. glCreateBuffers := gl_GetProc('glCreateBuffers');
  6450. glNamedBufferStorage := gl_GetProc('glNamedBufferStorage');
  6451. glNamedBufferData := gl_GetProc('glNamedBufferData');
  6452. glNamedBufferSubData := gl_GetProc('glNamedBufferSubData');
  6453. glCopyNamedBufferSubData := gl_GetProc('glCopyNamedBufferSubData');
  6454. glClearNamedBufferData := gl_GetProc('glClearNamedBufferData');
  6455. glClearNamedBufferSubData := gl_GetProc('glClearNamedBufferSubData');
  6456. glMapNamedBuffer := gl_GetProc('glMapNamedBuffer');
  6457. glMapNamedBufferRange := gl_GetProc('glMapNamedBufferRange');
  6458. glUnmapNamedBuffer := gl_GetProc('glUnmapNamedBuffer');
  6459. glFlushMappedNamedBufferRange := gl_GetProc('glFlushMappedNamedBufferRange');
  6460. glGetNamedBufferParameteriv := gl_GetProc('glGetNamedBufferParameteriv');
  6461. glGetNamedBufferParameteri64v := gl_GetProc('glGetNamedBufferParameteri64v');
  6462. glGetNamedBufferPointerv := gl_GetProc('glGetNamedBufferPointerv');
  6463. glGetNamedBufferSubData := gl_GetProc('glGetNamedBufferSubData');
  6464. glCreateFramebuffers := gl_GetProc('glCreateFramebuffers');
  6465. glNamedFramebufferRenderbuffer := gl_GetProc('glNamedFramebufferRenderbuffer');
  6466. glNamedFramebufferParameteri := gl_GetProc('glNamedFramebufferParameteri');
  6467. glNamedFramebufferTexture := gl_GetProc('glNamedFramebufferTexture');
  6468. glNamedFramebufferTextureLayer := gl_GetProc('glNamedFramebufferTextureLayer');
  6469. glNamedFramebufferDrawBuffer := gl_GetProc('glNamedFramebufferDrawBuffer');
  6470. glNamedFramebufferDrawBuffers := gl_GetProc('glNamedFramebufferDrawBuffers');
  6471. glNamedFramebufferReadBuffer := gl_GetProc('glNamedFramebufferReadBuffer');
  6472. glInvalidateNamedFramebufferData := gl_GetProc('glInvalidateNamedFramebufferData');
  6473. glInvalidateNamedFramebufferSubData := gl_GetProc('glInvalidateNamedFramebufferSubData');
  6474. glClearNamedFramebufferiv := gl_GetProc('glClearNamedFramebufferiv');
  6475. glClearNamedFramebufferuiv := gl_GetProc('glClearNamedFramebufferuiv');
  6476. glClearNamedFramebufferfv := gl_GetProc('glClearNamedFramebufferfv');
  6477. glClearNamedFramebufferfi := gl_GetProc('glClearNamedFramebufferfi');
  6478. glBlitNamedFramebuffer := gl_GetProc('glBlitNamedFramebuffer');
  6479. glCheckNamedFramebufferStatus := gl_GetProc('glCheckNamedFramebufferStatus');
  6480. glGetNamedFramebufferParameteriv := gl_GetProc('glGetNamedFramebufferParameteriv');
  6481. glGetNamedFramebufferAttachmentParameteriv := gl_GetProc('glGetNamedFramebufferAttachmentParameteriv');
  6482. glCreateRenderbuffers := gl_GetProc('glCreateRenderbuffers');
  6483. glNamedRenderbufferStorage := gl_GetProc('glNamedRenderbufferStorage');
  6484. glNamedRenderbufferStorageMultisample := gl_GetProc('glNamedRenderbufferStorageMultisample');
  6485. glGetNamedRenderbufferParameteriv := gl_GetProc('glGetNamedRenderbufferParameteriv');
  6486. glCreateTextures := gl_GetProc('glCreateTextures');
  6487. glTextureBuffer := gl_GetProc('glTextureBuffer');
  6488. glTextureBufferRange := gl_GetProc('glTextureBufferRange');
  6489. glTextureStorage1D := gl_GetProc('glTextureStorage1D');
  6490. glTextureStorage2D := gl_GetProc('glTextureStorage2D');
  6491. glTextureStorage3D := gl_GetProc('glTextureStorage3D');
  6492. glTextureStorage2DMultisample := gl_GetProc('glTextureStorage2DMultisample');
  6493. glTextureStorage3DMultisample := gl_GetProc('glTextureStorage3DMultisample');
  6494. glTextureSubImage1D := gl_GetProc('glTextureSubImage1D');
  6495. glTextureSubImage2D := gl_GetProc('glTextureSubImage2D');
  6496. glTextureSubImage3D := gl_GetProc('glTextureSubImage3D');
  6497. glCompressedTextureSubImage1D := gl_GetProc('glCompressedTextureSubImage1D');
  6498. glCompressedTextureSubImage2D := gl_GetProc('glCompressedTextureSubImage2D');
  6499. glCompressedTextureSubImage3D := gl_GetProc('glCompressedTextureSubImage3D');
  6500. glCopyTextureSubImage1D := gl_GetProc('glCopyTextureSubImage1D');
  6501. glCopyTextureSubImage2D := gl_GetProc('glCopyTextureSubImage2D');
  6502. glCopyTextureSubImage3D := gl_GetProc('glCopyTextureSubImage3D');
  6503. glTextureParameterf := gl_GetProc('glTextureParameterf');
  6504. glTextureParameterfv := gl_GetProc('glTextureParameterfv');
  6505. glTextureParameteri := gl_GetProc('glTextureParameteri');
  6506. glTextureParameterIiv := gl_GetProc('glTextureParameterIiv');
  6507. glTextureParameterIuiv := gl_GetProc('glTextureParameterIuiv');
  6508. glTextureParameteriv := gl_GetProc('glTextureParameteriv');
  6509. glGenerateTextureMipmap := gl_GetProc('glGenerateTextureMipmap');
  6510. glBindTextureUnit := gl_GetProc('glBindTextureUnit');
  6511. glGetTextureImage := gl_GetProc('glGetTextureImage');
  6512. glGetCompressedTextureImage := gl_GetProc('glGetCompressedTextureImage');
  6513. glGetTextureLevelParameterfv := gl_GetProc('glGetTextureLevelParameterfv');
  6514. glGetTextureLevelParameteriv := gl_GetProc('glGetTextureLevelParameteriv');
  6515. glGetTextureParameterfv := gl_GetProc('glGetTextureParameterfv');
  6516. glGetTextureParameterIiv := gl_GetProc('glGetTextureParameterIiv');
  6517. glGetTextureParameterIuiv := gl_GetProc('glGetTextureParameterIuiv');
  6518. glGetTextureParameteriv := gl_GetProc('glGetTextureParameteriv');
  6519. glCreateVertexArrays := gl_GetProc('glCreateVertexArrays');
  6520. glDisableVertexArrayAttrib := gl_GetProc('glDisableVertexArrayAttrib');
  6521. glEnableVertexArrayAttrib := gl_GetProc('glEnableVertexArrayAttrib');
  6522. glVertexArrayElementBuffer := gl_GetProc('glVertexArrayElementBuffer');
  6523. glVertexArrayVertexBuffer := gl_GetProc('glVertexArrayVertexBuffer');
  6524. glVertexArrayVertexBuffers := gl_GetProc('glVertexArrayVertexBuffers');
  6525. glVertexArrayAttribBinding := gl_GetProc('glVertexArrayAttribBinding');
  6526. glVertexArrayAttribFormat := gl_GetProc('glVertexArrayAttribFormat');
  6527. glVertexArrayAttribIFormat := gl_GetProc('glVertexArrayAttribIFormat');
  6528. glVertexArrayAttribLFormat := gl_GetProc('glVertexArrayAttribLFormat');
  6529. glVertexArrayBindingDivisor := gl_GetProc('glVertexArrayBindingDivisor');
  6530. glGetVertexArrayiv := gl_GetProc('glGetVertexArrayiv');
  6531. glGetVertexArrayIndexediv := gl_GetProc('glGetVertexArrayIndexediv');
  6532. glGetVertexArrayIndexed64iv := gl_GetProc('glGetVertexArrayIndexed64iv');
  6533. glCreateSamplers := gl_GetProc('glCreateSamplers');
  6534. glCreateProgramPipelines := gl_GetProc('glCreateProgramPipelines');
  6535. glCreateQueries := gl_GetProc('glCreateQueries');
  6536. glGetQueryBufferObjecti64v := gl_GetProc('glGetQueryBufferObjecti64v');
  6537. glGetQueryBufferObjectiv := gl_GetProc('glGetQueryBufferObjectiv');
  6538. glGetQueryBufferObjectui64v := gl_GetProc('glGetQueryBufferObjectui64v');
  6539. glGetQueryBufferObjectuiv := gl_GetProc('glGetQueryBufferObjectuiv');
  6540. glMemoryBarrierByRegion := gl_GetProc('glMemoryBarrierByRegion');
  6541. glGetTextureSubImage := gl_GetProc('glGetTextureSubImage');
  6542. glGetCompressedTextureSubImage := gl_GetProc('glGetCompressedTextureSubImage');
  6543. glGetGraphicsResetStatus := gl_GetProc('glGetGraphicsResetStatus');
  6544. glGetnCompressedTexImage := gl_GetProc('glGetnCompressedTexImage');
  6545. glGetnTexImage := gl_GetProc('glGetnTexImage');
  6546. glGetnUniformdv := gl_GetProc('glGetnUniformdv');
  6547. glGetnUniformfv := gl_GetProc('glGetnUniformfv');
  6548. glGetnUniformiv := gl_GetProc('glGetnUniformiv');
  6549. glGetnUniformuiv := gl_GetProc('glGetnUniformuiv');
  6550. glReadnPixels := gl_GetProc('glReadnPixels');
  6551. glTextureBarrier := gl_GetProc('glTextureBarrier');
  6552. {$IfNDef USE_GLCORE}
  6553. glGetnMapdv := gl_GetProc('glGetnMapdv');
  6554. glGetnMapfv := gl_GetProc('glGetnMapfv');
  6555. glGetnMapiv := gl_GetProc('glGetnMapiv');
  6556. glGetnPixelMapfv := gl_GetProc('glGetnPixelMapfv');
  6557. glGetnPixelMapuiv := gl_GetProc('glGetnPixelMapuiv');
  6558. glGetnPixelMapusv := gl_GetProc('glGetnPixelMapusv');
  6559. glGetnPolygonStipple := gl_GetProc('glGetnPolygonStipple');
  6560. glGetnColorTable := gl_GetProc('glGetnColorTable');
  6561. glGetnConvolutionFilter := gl_GetProc('glGetnConvolutionFilter');
  6562. glGetnSeparableFilter := gl_GetProc('glGetnSeparableFilter');
  6563. glGetnHistogram := gl_GetProc('glGetnHistogram');
  6564. glGetnMinmax := gl_GetProc('glGetnMinmax');
  6565. {$EndIf}
  6566. end;
  6567. {$EndIf}
  6568. {$IfDef GL_VERSION_4_6}
  6569. if GL_VERSION_4_6 then
  6570. begin
  6571. glSpecializeShader := gl_GetProc('glSpecializeShader');
  6572. glMultiDrawArraysIndirectCount := gl_GetProc('glMultiDrawArraysIndirectCount');
  6573. glMultiDrawElementsIndirectCount := gl_GetProc('glMultiDrawElementsIndirectCount');
  6574. glPolygonOffsetClamp := gl_GetProc('glPolygonOffsetClamp');
  6575. end;
  6576. {$EndIf}
  6577. {$IfDef GL_ARB_ES3_2_compatibility}
  6578. if GL_ARB_ES3_2_compatibility then
  6579. glPrimitiveBoundingBoxARB := gl_GetProc('glPrimitiveBoundingBoxARB');
  6580. {$EndIf}
  6581. {$IfDef GL_ARB_bindless_texture}
  6582. if GL_ARB_bindless_texture then
  6583. begin
  6584. glGetTextureHandleARB := gl_GetProc('glGetTextureHandleARB');
  6585. glGetTextureSamplerHandleARB := gl_GetProc('glGetTextureSamplerHandleARB');
  6586. glMakeTextureHandleResidentARB := gl_GetProc('glMakeTextureHandleResidentARB');
  6587. glMakeTextureHandleNonResidentARB := gl_GetProc('glMakeTextureHandleNonResidentARB');
  6588. glGetImageHandleARB := gl_GetProc('glGetImageHandleARB');
  6589. glMakeImageHandleResidentARB := gl_GetProc('glMakeImageHandleResidentARB');
  6590. glMakeImageHandleNonResidentARB := gl_GetProc('glMakeImageHandleNonResidentARB');
  6591. glUniformHandleui64ARB := gl_GetProc('glUniformHandleui64ARB');
  6592. glUniformHandleui64vARB := gl_GetProc('glUniformHandleui64vARB');
  6593. glProgramUniformHandleui64ARB := gl_GetProc('glProgramUniformHandleui64ARB');
  6594. glProgramUniformHandleui64vARB := gl_GetProc('glProgramUniformHandleui64vARB');
  6595. glIsTextureHandleResidentARB := gl_GetProc('glIsTextureHandleResidentARB');
  6596. glIsImageHandleResidentARB := gl_GetProc('glIsImageHandleResidentARB');
  6597. glVertexAttribL1ui64ARB := gl_GetProc('glVertexAttribL1ui64ARB');
  6598. glVertexAttribL1ui64vARB := gl_GetProc('glVertexAttribL1ui64vARB');
  6599. glGetVertexAttribLui64vARB := gl_GetProc('glGetVertexAttribLui64vARB');
  6600. end;
  6601. {$EndIf}
  6602. {$IfDef GL_ARB_cl_event}
  6603. if GL_ARB_cl_event then
  6604. glCreateSyncFromCLeventARB := gl_GetProc('glCreateSyncFromCLeventARB');
  6605. {$EndIf}
  6606. {$IfDef GL_ARB_color_buffer_float}
  6607. if GL_ARB_color_buffer_float then
  6608. glClampColorARB := gl_GetProc('glClampColorARB');
  6609. {$EndIf}
  6610. {$IfDef GL_ARB_compute_variable_group_size}
  6611. if GL_ARB_compute_variable_group_size then
  6612. glDispatchComputeGroupSizeARB := gl_GetProc('glDispatchComputeGroupSizeARB');
  6613. {$EndIf}
  6614. {$IfDef GL_ARB_debug_output}
  6615. if GL_ARB_debug_output then
  6616. begin
  6617. glDebugMessageControlARB := gl_GetProc('glDebugMessageControlARB');
  6618. glDebugMessageInsertARB := gl_GetProc('glDebugMessageInsertARB');
  6619. glDebugMessageCallbackARB := gl_GetProc('glDebugMessageCallbackARB');
  6620. glGetDebugMessageLogARB := gl_GetProc('glGetDebugMessageLogARB');
  6621. end;
  6622. {$EndIf}
  6623. {$IfDef GL_ARB_draw_buffers}
  6624. if GL_ARB_draw_buffers then
  6625. glDrawBuffersARB := gl_GetProc('glDrawBuffersARB');
  6626. {$EndIf}
  6627. {$IfDef GL_ARB_draw_buffers_blend}
  6628. if GL_ARB_draw_buffers_blend then
  6629. begin
  6630. glBlendEquationiARB := gl_GetProc('glBlendEquationiARB');
  6631. glBlendEquationSeparateiARB := gl_GetProc('glBlendEquationSeparateiARB');
  6632. glBlendFunciARB := gl_GetProc('glBlendFunciARB');
  6633. glBlendFuncSeparateiARB := gl_GetProc('glBlendFuncSeparateiARB');
  6634. end;
  6635. {$EndIf}
  6636. {$IfDef GL_ARB_draw_instanced}
  6637. if GL_ARB_draw_instanced then
  6638. begin
  6639. glDrawArraysInstancedARB := gl_GetProc('glDrawArraysInstancedARB');
  6640. glDrawElementsInstancedARB := gl_GetProc('glDrawElementsInstancedARB');
  6641. end;
  6642. {$EndIf}
  6643. {$IfDef GL_ARB_fragment_program}
  6644. if GL_ARB_fragment_program then
  6645. begin
  6646. glProgramStringARB := gl_GetProc('glProgramStringARB');
  6647. glBindProgramARB := gl_GetProc('glBindProgramARB');
  6648. glDeleteProgramsARB := gl_GetProc('glDeleteProgramsARB');
  6649. glGenProgramsARB := gl_GetProc('glGenProgramsARB');
  6650. glProgramEnvParameter4dARB := gl_GetProc('glProgramEnvParameter4dARB');
  6651. glProgramEnvParameter4dvARB := gl_GetProc('glProgramEnvParameter4dvARB');
  6652. glProgramEnvParameter4fARB := gl_GetProc('glProgramEnvParameter4fARB');
  6653. glProgramEnvParameter4fvARB := gl_GetProc('glProgramEnvParameter4fvARB');
  6654. glProgramLocalParameter4dARB := gl_GetProc('glProgramLocalParameter4dARB');
  6655. glProgramLocalParameter4dvARB := gl_GetProc('glProgramLocalParameter4dvARB');
  6656. glProgramLocalParameter4fARB := gl_GetProc('glProgramLocalParameter4fARB');
  6657. glProgramLocalParameter4fvARB := gl_GetProc('glProgramLocalParameter4fvARB');
  6658. glGetProgramEnvParameterdvARB := gl_GetProc('glGetProgramEnvParameterdvARB');
  6659. glGetProgramEnvParameterfvARB := gl_GetProc('glGetProgramEnvParameterfvARB');
  6660. glGetProgramLocalParameterdvARB := gl_GetProc('glGetProgramLocalParameterdvARB');
  6661. glGetProgramLocalParameterfvARB := gl_GetProc('glGetProgramLocalParameterfvARB');
  6662. glGetProgramivARB := gl_GetProc('glGetProgramivARB');
  6663. glGetProgramStringARB := gl_GetProc('glGetProgramStringARB');
  6664. glIsProgramARB := gl_GetProc('glIsProgramARB');
  6665. end;
  6666. {$EndIf}
  6667. {$IfDef GL_ARB_geometry_shader4}
  6668. if GL_ARB_geometry_shader4 then
  6669. begin
  6670. glProgramParameteriARB := gl_GetProc('glProgramParameteriARB');
  6671. glFramebufferTextureARB := gl_GetProc('glFramebufferTextureARB');
  6672. glFramebufferTextureLayerARB := gl_GetProc('glFramebufferTextureLayerARB');
  6673. glFramebufferTextureFaceARB := gl_GetProc('glFramebufferTextureFaceARB');
  6674. end;
  6675. {$EndIf}
  6676. {$IfDef GL_ARB_gl_spirv}
  6677. if GL_ARB_gl_spirv then
  6678. glSpecializeShaderARB := gl_GetProc('glSpecializeShaderARB');
  6679. {$EndIf}
  6680. {$IfDef GL_ARB_gpu_shader_int64}
  6681. if GL_ARB_gpu_shader_int64 then
  6682. begin
  6683. glUniform1i64ARB := gl_GetProc('glUniform1i64ARB');
  6684. glUniform2i64ARB := gl_GetProc('glUniform2i64ARB');
  6685. glUniform3i64ARB := gl_GetProc('glUniform3i64ARB');
  6686. glUniform4i64ARB := gl_GetProc('glUniform4i64ARB');
  6687. glUniform1i64vARB := gl_GetProc('glUniform1i64vARB');
  6688. glUniform2i64vARB := gl_GetProc('glUniform2i64vARB');
  6689. glUniform3i64vARB := gl_GetProc('glUniform3i64vARB');
  6690. glUniform4i64vARB := gl_GetProc('glUniform4i64vARB');
  6691. glUniform1ui64ARB := gl_GetProc('glUniform1ui64ARB');
  6692. glUniform2ui64ARB := gl_GetProc('glUniform2ui64ARB');
  6693. glUniform3ui64ARB := gl_GetProc('glUniform3ui64ARB');
  6694. glUniform4ui64ARB := gl_GetProc('glUniform4ui64ARB');
  6695. glUniform1ui64vARB := gl_GetProc('glUniform1ui64vARB');
  6696. glUniform2ui64vARB := gl_GetProc('glUniform2ui64vARB');
  6697. glUniform3ui64vARB := gl_GetProc('glUniform3ui64vARB');
  6698. glUniform4ui64vARB := gl_GetProc('glUniform4ui64vARB');
  6699. glGetUniformi64vARB := gl_GetProc('glGetUniformi64vARB');
  6700. glGetUniformui64vARB := gl_GetProc('glGetUniformui64vARB');
  6701. glGetnUniformi64vARB := gl_GetProc('glGetnUniformi64vARB');
  6702. glGetnUniformui64vARB := gl_GetProc('glGetnUniformui64vARB');
  6703. glProgramUniform1i64ARB := gl_GetProc('glProgramUniform1i64ARB');
  6704. glProgramUniform2i64ARB := gl_GetProc('glProgramUniform2i64ARB');
  6705. glProgramUniform3i64ARB := gl_GetProc('glProgramUniform3i64ARB');
  6706. glProgramUniform4i64ARB := gl_GetProc('glProgramUniform4i64ARB');
  6707. glProgramUniform1i64vARB := gl_GetProc('glProgramUniform1i64vARB');
  6708. glProgramUniform2i64vARB := gl_GetProc('glProgramUniform2i64vARB');
  6709. glProgramUniform3i64vARB := gl_GetProc('glProgramUniform3i64vARB');
  6710. glProgramUniform4i64vARB := gl_GetProc('glProgramUniform4i64vARB');
  6711. glProgramUniform1ui64ARB := gl_GetProc('glProgramUniform1ui64ARB');
  6712. glProgramUniform2ui64ARB := gl_GetProc('glProgramUniform2ui64ARB');
  6713. glProgramUniform3ui64ARB := gl_GetProc('glProgramUniform3ui64ARB');
  6714. glProgramUniform4ui64ARB := gl_GetProc('glProgramUniform4ui64ARB');
  6715. glProgramUniform1ui64vARB := gl_GetProc('glProgramUniform1ui64vARB');
  6716. glProgramUniform2ui64vARB := gl_GetProc('glProgramUniform2ui64vARB');
  6717. glProgramUniform3ui64vARB := gl_GetProc('glProgramUniform3ui64vARB');
  6718. glProgramUniform4ui64vARB := gl_GetProc('glProgramUniform4ui64vARB');
  6719. end;
  6720. {$EndIf}
  6721. {$IfDef GL_ARB_imaging}
  6722. if GL_ARB_imaging then
  6723. begin
  6724. glColorTable := gl_GetProc('glColorTable');
  6725. glColorTableParameterfv := gl_GetProc('glColorTableParameterfv');
  6726. glColorTableParameteriv := gl_GetProc('glColorTableParameteriv');
  6727. glCopyColorTable := gl_GetProc('glCopyColorTable');
  6728. glGetColorTable := gl_GetProc('glGetColorTable');
  6729. glGetColorTableParameterfv := gl_GetProc('glGetColorTableParameterfv');
  6730. glGetColorTableParameteriv := gl_GetProc('glGetColorTableParameteriv');
  6731. glColorSubTable := gl_GetProc('glColorSubTable');
  6732. glCopyColorSubTable := gl_GetProc('glCopyColorSubTable');
  6733. glConvolutionFilter1D := gl_GetProc('glConvolutionFilter1D');
  6734. glConvolutionFilter2D := gl_GetProc('glConvolutionFilter2D');
  6735. glConvolutionParameterf := gl_GetProc('glConvolutionParameterf');
  6736. glConvolutionParameterfv := gl_GetProc('glConvolutionParameterfv');
  6737. glConvolutionParameteri := gl_GetProc('glConvolutionParameteri');
  6738. glConvolutionParameteriv := gl_GetProc('glConvolutionParameteriv');
  6739. glCopyConvolutionFilter1D := gl_GetProc('glCopyConvolutionFilter1D');
  6740. glCopyConvolutionFilter2D := gl_GetProc('glCopyConvolutionFilter2D');
  6741. glGetConvolutionFilter := gl_GetProc('glGetConvolutionFilter');
  6742. glGetConvolutionParameterfv := gl_GetProc('glGetConvolutionParameterfv');
  6743. glGetConvolutionParameteriv := gl_GetProc('glGetConvolutionParameteriv');
  6744. glGetSeparableFilter := gl_GetProc('glGetSeparableFilter');
  6745. glSeparableFilter2D := gl_GetProc('glSeparableFilter2D');
  6746. glGetHistogram := gl_GetProc('glGetHistogram');
  6747. glGetHistogramParameterfv := gl_GetProc('glGetHistogramParameterfv');
  6748. glGetHistogramParameteriv := gl_GetProc('glGetHistogramParameteriv');
  6749. glGetMinmax := gl_GetProc('glGetMinmax');
  6750. glGetMinmaxParameterfv := gl_GetProc('glGetMinmaxParameterfv');
  6751. glGetMinmaxParameteriv := gl_GetProc('glGetMinmaxParameteriv');
  6752. glHistogram := gl_GetProc('glHistogram');
  6753. glMinmax := gl_GetProc('glMinmax');
  6754. glResetHistogram := gl_GetProc('glResetHistogram');
  6755. glResetMinmax := gl_GetProc('glResetMinmax');
  6756. end;
  6757. {$EndIf}
  6758. {$IfDef GL_ARB_indirect_parameters}
  6759. if GL_ARB_indirect_parameters then
  6760. begin
  6761. glMultiDrawArraysIndirectCountARB := gl_GetProc('glMultiDrawArraysIndirectCountARB');
  6762. glMultiDrawElementsIndirectCountARB := gl_GetProc('glMultiDrawElementsIndirectCountARB');
  6763. end;
  6764. {$EndIf}
  6765. {$IfDef GL_ARB_instanced_arrays}
  6766. if GL_ARB_instanced_arrays then
  6767. glVertexAttribDivisorARB := gl_GetProc('glVertexAttribDivisorARB');
  6768. {$EndIf}
  6769. {$IfDef GL_ARB_matrix_palette}
  6770. if GL_ARB_matrix_palette then
  6771. begin
  6772. glCurrentPaletteMatrixARB := gl_GetProc('glCurrentPaletteMatrixARB');
  6773. glMatrixIndexubvARB := gl_GetProc('glMatrixIndexubvARB');
  6774. glMatrixIndexusvARB := gl_GetProc('glMatrixIndexusvARB');
  6775. glMatrixIndexuivARB := gl_GetProc('glMatrixIndexuivARB');
  6776. glMatrixIndexPointerARB := gl_GetProc('glMatrixIndexPointerARB');
  6777. end;
  6778. {$EndIf}
  6779. {$IfDef GL_ARB_multisample}
  6780. if GL_ARB_multisample then
  6781. glSampleCoverageARB := gl_GetProc('glSampleCoverageARB');
  6782. {$EndIf}
  6783. {$IfDef GL_ARB_multitexture}
  6784. if GL_ARB_multitexture then
  6785. begin
  6786. glActiveTextureARB := gl_GetProc('glActiveTextureARB');
  6787. glClientActiveTextureARB := gl_GetProc('glClientActiveTextureARB');
  6788. glMultiTexCoord1dARB := gl_GetProc('glMultiTexCoord1dARB');
  6789. glMultiTexCoord1dvARB := gl_GetProc('glMultiTexCoord1dvARB');
  6790. glMultiTexCoord1fARB := gl_GetProc('glMultiTexCoord1fARB');
  6791. glMultiTexCoord1fvARB := gl_GetProc('glMultiTexCoord1fvARB');
  6792. glMultiTexCoord1iARB := gl_GetProc('glMultiTexCoord1iARB');
  6793. glMultiTexCoord1ivARB := gl_GetProc('glMultiTexCoord1ivARB');
  6794. glMultiTexCoord1sARB := gl_GetProc('glMultiTexCoord1sARB');
  6795. glMultiTexCoord1svARB := gl_GetProc('glMultiTexCoord1svARB');
  6796. glMultiTexCoord2dARB := gl_GetProc('glMultiTexCoord2dARB');
  6797. glMultiTexCoord2dvARB := gl_GetProc('glMultiTexCoord2dvARB');
  6798. glMultiTexCoord2fARB := gl_GetProc('glMultiTexCoord2fARB');
  6799. glMultiTexCoord2fvARB := gl_GetProc('glMultiTexCoord2fvARB');
  6800. glMultiTexCoord2iARB := gl_GetProc('glMultiTexCoord2iARB');
  6801. glMultiTexCoord2ivARB := gl_GetProc('glMultiTexCoord2ivARB');
  6802. glMultiTexCoord2sARB := gl_GetProc('glMultiTexCoord2sARB');
  6803. glMultiTexCoord2svARB := gl_GetProc('glMultiTexCoord2svARB');
  6804. glMultiTexCoord3dARB := gl_GetProc('glMultiTexCoord3dARB');
  6805. glMultiTexCoord3dvARB := gl_GetProc('glMultiTexCoord3dvARB');
  6806. glMultiTexCoord3fARB := gl_GetProc('glMultiTexCoord3fARB');
  6807. glMultiTexCoord3fvARB := gl_GetProc('glMultiTexCoord3fvARB');
  6808. glMultiTexCoord3iARB := gl_GetProc('glMultiTexCoord3iARB');
  6809. glMultiTexCoord3ivARB := gl_GetProc('glMultiTexCoord3ivARB');
  6810. glMultiTexCoord3sARB := gl_GetProc('glMultiTexCoord3sARB');
  6811. glMultiTexCoord3svARB := gl_GetProc('glMultiTexCoord3svARB');
  6812. glMultiTexCoord4dARB := gl_GetProc('glMultiTexCoord4dARB');
  6813. glMultiTexCoord4dvARB := gl_GetProc('glMultiTexCoord4dvARB');
  6814. glMultiTexCoord4fARB := gl_GetProc('glMultiTexCoord4fARB');
  6815. glMultiTexCoord4fvARB := gl_GetProc('glMultiTexCoord4fvARB');
  6816. glMultiTexCoord4iARB := gl_GetProc('glMultiTexCoord4iARB');
  6817. glMultiTexCoord4ivARB := gl_GetProc('glMultiTexCoord4ivARB');
  6818. glMultiTexCoord4sARB := gl_GetProc('glMultiTexCoord4sARB');
  6819. glMultiTexCoord4svARB := gl_GetProc('glMultiTexCoord4svARB');
  6820. end;
  6821. {$EndIf}
  6822. {$IfDef GL_ARB_occlusion_query}
  6823. if GL_ARB_occlusion_query then
  6824. begin
  6825. glGenQueriesARB := gl_GetProc('glGenQueriesARB');
  6826. glDeleteQueriesARB := gl_GetProc('glDeleteQueriesARB');
  6827. glIsQueryARB := gl_GetProc('glIsQueryARB');
  6828. glBeginQueryARB := gl_GetProc('glBeginQueryARB');
  6829. glEndQueryARB := gl_GetProc('glEndQueryARB');
  6830. glGetQueryivARB := gl_GetProc('glGetQueryivARB');
  6831. glGetQueryObjectivARB := gl_GetProc('glGetQueryObjectivARB');
  6832. glGetQueryObjectuivARB := gl_GetProc('glGetQueryObjectuivARB');
  6833. end;
  6834. {$EndIf}
  6835. {$IfDef GL_ARB_parallel_shader_compile}
  6836. if GL_ARB_parallel_shader_compile then
  6837. glMaxShaderCompilerThreadsARB := gl_GetProc('glMaxShaderCompilerThreadsARB');
  6838. {$EndIf}
  6839. {$IfDef GL_ARB_point_parameters}
  6840. if GL_ARB_point_parameters then
  6841. begin
  6842. glPointParameterfARB := gl_GetProc('glPointParameterfARB');
  6843. glPointParameterfvARB := gl_GetProc('glPointParameterfvARB');
  6844. end;
  6845. {$EndIf}
  6846. {$IfDef GL_ARB_robustness}
  6847. if GL_ARB_robustness then
  6848. begin
  6849. glGetGraphicsResetStatusARB := gl_GetProc('glGetGraphicsResetStatusARB');
  6850. glGetnTexImageARB := gl_GetProc('glGetnTexImageARB');
  6851. glReadnPixelsARB := gl_GetProc('glReadnPixelsARB');
  6852. glGetnCompressedTexImageARB := gl_GetProc('glGetnCompressedTexImageARB');
  6853. glGetnUniformfvARB := gl_GetProc('glGetnUniformfvARB');
  6854. glGetnUniformivARB := gl_GetProc('glGetnUniformivARB');
  6855. glGetnUniformuivARB := gl_GetProc('glGetnUniformuivARB');
  6856. glGetnUniformdvARB := gl_GetProc('glGetnUniformdvARB');
  6857. {$IfNDef USE_GLCORE}
  6858. glGetnMapdvARB := gl_GetProc('glGetnMapdvARB');
  6859. glGetnMapfvARB := gl_GetProc('glGetnMapfvARB');
  6860. glGetnMapivARB := gl_GetProc('glGetnMapivARB');
  6861. glGetnPixelMapfvARB := gl_GetProc('glGetnPixelMapfvARB');
  6862. glGetnPixelMapuivARB := gl_GetProc('glGetnPixelMapuivARB');
  6863. glGetnPixelMapusvARB := gl_GetProc('glGetnPixelMapusvARB');
  6864. glGetnPolygonStippleARB := gl_GetProc('glGetnPolygonStippleARB');
  6865. glGetnColorTableARB := gl_GetProc('glGetnColorTableARB');
  6866. glGetnConvolutionFilterARB := gl_GetProc('glGetnConvolutionFilterARB');
  6867. glGetnSeparableFilterARB := gl_GetProc('glGetnSeparableFilterARB');
  6868. glGetnHistogramARB := gl_GetProc('glGetnHistogramARB');
  6869. glGetnMinmaxARB := gl_GetProc('glGetnMinmaxARB');
  6870. {$EndIf}
  6871. end;
  6872. {$EndIf}
  6873. {$IfDef GL_ARB_sample_locations}
  6874. if GL_ARB_sample_locations then
  6875. begin
  6876. glFramebufferSampleLocationsfvARB := gl_GetProc('glFramebufferSampleLocationsfvARB');
  6877. glNamedFramebufferSampleLocationsfvARB := gl_GetProc('glNamedFramebufferSampleLocationsfvARB');
  6878. glEvaluateDepthValuesARB := gl_GetProc('glEvaluateDepthValuesARB');
  6879. end;
  6880. {$EndIf}
  6881. {$IfDef GL_ARB_sample_shading}
  6882. if GL_ARB_sample_shading then
  6883. glMinSampleShadingARB := gl_GetProc('glMinSampleShadingARB');
  6884. {$EndIf}
  6885. {$IfDef GL_ARB_shader_objects}
  6886. if GL_ARB_shader_objects then
  6887. begin
  6888. glDeleteObjectARB := gl_GetProc('glDeleteObjectARB');
  6889. glGetHandleARB := gl_GetProc('glGetHandleARB');
  6890. glDetachObjectARB := gl_GetProc('glDetachObjectARB');
  6891. glCreateShaderObjectARB := gl_GetProc('glCreateShaderObjectARB');
  6892. glShaderSourceARB := gl_GetProc('glShaderSourceARB');
  6893. glCompileShaderARB := gl_GetProc('glCompileShaderARB');
  6894. glCreateProgramObjectARB := gl_GetProc('glCreateProgramObjectARB');
  6895. glAttachObjectARB := gl_GetProc('glAttachObjectARB');
  6896. glLinkProgramARB := gl_GetProc('glLinkProgramARB');
  6897. glUseProgramObjectARB := gl_GetProc('glUseProgramObjectARB');
  6898. glValidateProgramARB := gl_GetProc('glValidateProgramARB');
  6899. glUniform1fARB := gl_GetProc('glUniform1fARB');
  6900. glUniform2fARB := gl_GetProc('glUniform2fARB');
  6901. glUniform3fARB := gl_GetProc('glUniform3fARB');
  6902. glUniform4fARB := gl_GetProc('glUniform4fARB');
  6903. glUniform1iARB := gl_GetProc('glUniform1iARB');
  6904. glUniform2iARB := gl_GetProc('glUniform2iARB');
  6905. glUniform3iARB := gl_GetProc('glUniform3iARB');
  6906. glUniform4iARB := gl_GetProc('glUniform4iARB');
  6907. glUniform1fvARB := gl_GetProc('glUniform1fvARB');
  6908. glUniform2fvARB := gl_GetProc('glUniform2fvARB');
  6909. glUniform3fvARB := gl_GetProc('glUniform3fvARB');
  6910. glUniform4fvARB := gl_GetProc('glUniform4fvARB');
  6911. glUniform1ivARB := gl_GetProc('glUniform1ivARB');
  6912. glUniform2ivARB := gl_GetProc('glUniform2ivARB');
  6913. glUniform3ivARB := gl_GetProc('glUniform3ivARB');
  6914. glUniform4ivARB := gl_GetProc('glUniform4ivARB');
  6915. glUniformMatrix2fvARB := gl_GetProc('glUniformMatrix2fvARB');
  6916. glUniformMatrix3fvARB := gl_GetProc('glUniformMatrix3fvARB');
  6917. glUniformMatrix4fvARB := gl_GetProc('glUniformMatrix4fvARB');
  6918. glGetObjectParameterfvARB := gl_GetProc('glGetObjectParameterfvARB');
  6919. glGetObjectParameterivARB := gl_GetProc('glGetObjectParameterivARB');
  6920. glGetInfoLogARB := gl_GetProc('glGetInfoLogARB');
  6921. glGetAttachedObjectsARB := gl_GetProc('glGetAttachedObjectsARB');
  6922. glGetUniformLocationARB := gl_GetProc('glGetUniformLocationARB');
  6923. glGetActiveUniformARB := gl_GetProc('glGetActiveUniformARB');
  6924. glGetUniformfvARB := gl_GetProc('glGetUniformfvARB');
  6925. glGetUniformivARB := gl_GetProc('glGetUniformivARB');
  6926. glGetShaderSourceARB := gl_GetProc('glGetShaderSourceARB');
  6927. end;
  6928. {$EndIf}
  6929. {$IfDef GL_ARB_shading_language_include}
  6930. if GL_ARB_shading_language_include then
  6931. begin
  6932. glNamedStringARB := gl_GetProc('glNamedStringARB');
  6933. glDeleteNamedStringARB := gl_GetProc('glDeleteNamedStringARB');
  6934. glCompileShaderIncludeARB := gl_GetProc('glCompileShaderIncludeARB');
  6935. glIsNamedStringARB := gl_GetProc('glIsNamedStringARB');
  6936. glGetNamedStringARB := gl_GetProc('glGetNamedStringARB');
  6937. glGetNamedStringivARB := gl_GetProc('glGetNamedStringivARB');
  6938. end;
  6939. {$EndIf}
  6940. {$IfDef GL_ARB_sparse_buffer}
  6941. if GL_ARB_sparse_buffer then
  6942. begin
  6943. glBufferPageCommitmentARB := gl_GetProc('glBufferPageCommitmentARB');
  6944. glNamedBufferPageCommitmentEXT := gl_GetProc('glNamedBufferPageCommitmentEXT');
  6945. glNamedBufferPageCommitmentARB := gl_GetProc('glNamedBufferPageCommitmentARB');
  6946. end;
  6947. {$EndIf}
  6948. {$IfDef GL_ARB_sparse_texture}
  6949. if GL_ARB_sparse_texture then
  6950. glTexPageCommitmentARB := gl_GetProc('glTexPageCommitmentARB');
  6951. {$EndIf}
  6952. {$IfDef GL_ARB_texture_buffer_object}
  6953. if GL_ARB_texture_buffer_object then
  6954. glTexBufferARB := gl_GetProc('glTexBufferARB');
  6955. {$EndIf}
  6956. {$IfDef GL_ARB_texture_compression}
  6957. if GL_ARB_texture_compression then
  6958. begin
  6959. glCompressedTexImage3DARB := gl_GetProc('glCompressedTexImage3DARB');
  6960. glCompressedTexImage2DARB := gl_GetProc('glCompressedTexImage2DARB');
  6961. glCompressedTexImage1DARB := gl_GetProc('glCompressedTexImage1DARB');
  6962. glCompressedTexSubImage3DARB := gl_GetProc('glCompressedTexSubImage3DARB');
  6963. glCompressedTexSubImage2DARB := gl_GetProc('glCompressedTexSubImage2DARB');
  6964. glCompressedTexSubImage1DARB := gl_GetProc('glCompressedTexSubImage1DARB');
  6965. glGetCompressedTexImageARB := gl_GetProc('glGetCompressedTexImageARB');
  6966. end;
  6967. {$EndIf}
  6968. {$IfDef GL_ARB_transpose_matrix}
  6969. if GL_ARB_transpose_matrix then
  6970. begin
  6971. glLoadTransposeMatrixfARB := gl_GetProc('glLoadTransposeMatrixfARB');
  6972. glLoadTransposeMatrixdARB := gl_GetProc('glLoadTransposeMatrixdARB');
  6973. glMultTransposeMatrixfARB := gl_GetProc('glMultTransposeMatrixfARB');
  6974. glMultTransposeMatrixdARB := gl_GetProc('glMultTransposeMatrixdARB');
  6975. end;
  6976. {$EndIf}
  6977. {$IfDef GL_ARB_vertex_blend}
  6978. if GL_ARB_vertex_blend then
  6979. begin
  6980. glWeightbvARB := gl_GetProc('glWeightbvARB');
  6981. glWeightsvARB := gl_GetProc('glWeightsvARB');
  6982. glWeightivARB := gl_GetProc('glWeightivARB');
  6983. glWeightfvARB := gl_GetProc('glWeightfvARB');
  6984. glWeightdvARB := gl_GetProc('glWeightdvARB');
  6985. glWeightubvARB := gl_GetProc('glWeightubvARB');
  6986. glWeightusvARB := gl_GetProc('glWeightusvARB');
  6987. glWeightuivARB := gl_GetProc('glWeightuivARB');
  6988. glWeightPointerARB := gl_GetProc('glWeightPointerARB');
  6989. glVertexBlendARB := gl_GetProc('glVertexBlendARB');
  6990. end;
  6991. {$EndIf}
  6992. {$IfDef GL_ARB_vertex_buffer_object}
  6993. if GL_ARB_vertex_buffer_object then
  6994. begin
  6995. glBindBufferARB := gl_GetProc('glBindBufferARB');
  6996. glDeleteBuffersARB := gl_GetProc('glDeleteBuffersARB');
  6997. glGenBuffersARB := gl_GetProc('glGenBuffersARB');
  6998. glIsBufferARB := gl_GetProc('glIsBufferARB');
  6999. glBufferDataARB := gl_GetProc('glBufferDataARB');
  7000. glBufferSubDataARB := gl_GetProc('glBufferSubDataARB');
  7001. glGetBufferSubDataARB := gl_GetProc('glGetBufferSubDataARB');
  7002. glMapBufferARB := gl_GetProc('glMapBufferARB');
  7003. glUnmapBufferARB := gl_GetProc('glUnmapBufferARB');
  7004. glGetBufferParameterivARB := gl_GetProc('glGetBufferParameterivARB');
  7005. glGetBufferPointervARB := gl_GetProc('glGetBufferPointervARB');
  7006. end;
  7007. {$EndIf}
  7008. {$IfDef GL_ARB_vertex_program}
  7009. if GL_ARB_vertex_program then
  7010. begin
  7011. glVertexAttrib1dARB := gl_GetProc('glVertexAttrib1dARB');
  7012. glVertexAttrib1dvARB := gl_GetProc('glVertexAttrib1dvARB');
  7013. glVertexAttrib1fARB := gl_GetProc('glVertexAttrib1fARB');
  7014. glVertexAttrib1fvARB := gl_GetProc('glVertexAttrib1fvARB');
  7015. glVertexAttrib1sARB := gl_GetProc('glVertexAttrib1sARB');
  7016. glVertexAttrib1svARB := gl_GetProc('glVertexAttrib1svARB');
  7017. glVertexAttrib2dARB := gl_GetProc('glVertexAttrib2dARB');
  7018. glVertexAttrib2dvARB := gl_GetProc('glVertexAttrib2dvARB');
  7019. glVertexAttrib2fARB := gl_GetProc('glVertexAttrib2fARB');
  7020. glVertexAttrib2fvARB := gl_GetProc('glVertexAttrib2fvARB');
  7021. glVertexAttrib2sARB := gl_GetProc('glVertexAttrib2sARB');
  7022. glVertexAttrib2svARB := gl_GetProc('glVertexAttrib2svARB');
  7023. glVertexAttrib3dARB := gl_GetProc('glVertexAttrib3dARB');
  7024. glVertexAttrib3dvARB := gl_GetProc('glVertexAttrib3dvARB');
  7025. glVertexAttrib3fARB := gl_GetProc('glVertexAttrib3fARB');
  7026. glVertexAttrib3fvARB := gl_GetProc('glVertexAttrib3fvARB');
  7027. glVertexAttrib3sARB := gl_GetProc('glVertexAttrib3sARB');
  7028. glVertexAttrib3svARB := gl_GetProc('glVertexAttrib3svARB');
  7029. glVertexAttrib4NbvARB := gl_GetProc('glVertexAttrib4NbvARB');
  7030. glVertexAttrib4NivARB := gl_GetProc('glVertexAttrib4NivARB');
  7031. glVertexAttrib4NsvARB := gl_GetProc('glVertexAttrib4NsvARB');
  7032. glVertexAttrib4NubARB := gl_GetProc('glVertexAttrib4NubARB');
  7033. glVertexAttrib4NubvARB := gl_GetProc('glVertexAttrib4NubvARB');
  7034. glVertexAttrib4NuivARB := gl_GetProc('glVertexAttrib4NuivARB');
  7035. glVertexAttrib4NusvARB := gl_GetProc('glVertexAttrib4NusvARB');
  7036. glVertexAttrib4bvARB := gl_GetProc('glVertexAttrib4bvARB');
  7037. glVertexAttrib4dARB := gl_GetProc('glVertexAttrib4dARB');
  7038. glVertexAttrib4dvARB := gl_GetProc('glVertexAttrib4dvARB');
  7039. glVertexAttrib4fARB := gl_GetProc('glVertexAttrib4fARB');
  7040. glVertexAttrib4fvARB := gl_GetProc('glVertexAttrib4fvARB');
  7041. glVertexAttrib4ivARB := gl_GetProc('glVertexAttrib4ivARB');
  7042. glVertexAttrib4sARB := gl_GetProc('glVertexAttrib4sARB');
  7043. glVertexAttrib4svARB := gl_GetProc('glVertexAttrib4svARB');
  7044. glVertexAttrib4ubvARB := gl_GetProc('glVertexAttrib4ubvARB');
  7045. glVertexAttrib4uivARB := gl_GetProc('glVertexAttrib4uivARB');
  7046. glVertexAttrib4usvARB := gl_GetProc('glVertexAttrib4usvARB');
  7047. glVertexAttribPointerARB := gl_GetProc('glVertexAttribPointerARB');
  7048. glEnableVertexAttribArrayARB := gl_GetProc('glEnableVertexAttribArrayARB');
  7049. glDisableVertexAttribArrayARB := gl_GetProc('glDisableVertexAttribArrayARB');
  7050. glGetVertexAttribdvARB := gl_GetProc('glGetVertexAttribdvARB');
  7051. glGetVertexAttribfvARB := gl_GetProc('glGetVertexAttribfvARB');
  7052. glGetVertexAttribivARB := gl_GetProc('glGetVertexAttribivARB');
  7053. glGetVertexAttribPointervARB := gl_GetProc('glGetVertexAttribPointervARB');
  7054. end;
  7055. {$EndIf}
  7056. {$IfDef GL_ARB_vertex_shader}
  7057. if GL_ARB_vertex_shader then
  7058. begin
  7059. glBindAttribLocationARB := gl_GetProc('glBindAttribLocationARB');
  7060. glGetActiveAttribARB := gl_GetProc('glGetActiveAttribARB');
  7061. glGetAttribLocationARB := gl_GetProc('glGetAttribLocationARB');
  7062. end;
  7063. {$EndIf}
  7064. {$IfDef GL_ARB_viewport_array}
  7065. if GL_ARB_viewport_array then
  7066. begin
  7067. glDepthRangeArraydvNV := gl_GetProc('glDepthRangeArraydvNV');
  7068. glDepthRangeIndexeddNV := gl_GetProc('glDepthRangeIndexeddNV');
  7069. end;
  7070. {$EndIf}
  7071. {$IfDef GL_ARB_window_pos}
  7072. if GL_ARB_window_pos then
  7073. begin
  7074. glWindowPos2dARB := gl_GetProc('glWindowPos2dARB');
  7075. glWindowPos2dvARB := gl_GetProc('glWindowPos2dvARB');
  7076. glWindowPos2fARB := gl_GetProc('glWindowPos2fARB');
  7077. glWindowPos2fvARB := gl_GetProc('glWindowPos2fvARB');
  7078. glWindowPos2iARB := gl_GetProc('glWindowPos2iARB');
  7079. glWindowPos2ivARB := gl_GetProc('glWindowPos2ivARB');
  7080. glWindowPos2sARB := gl_GetProc('glWindowPos2sARB');
  7081. glWindowPos2svARB := gl_GetProc('glWindowPos2svARB');
  7082. glWindowPos3dARB := gl_GetProc('glWindowPos3dARB');
  7083. glWindowPos3dvARB := gl_GetProc('glWindowPos3dvARB');
  7084. glWindowPos3fARB := gl_GetProc('glWindowPos3fARB');
  7085. glWindowPos3fvARB := gl_GetProc('glWindowPos3fvARB');
  7086. glWindowPos3iARB := gl_GetProc('glWindowPos3iARB');
  7087. glWindowPos3ivARB := gl_GetProc('glWindowPos3ivARB');
  7088. glWindowPos3sARB := gl_GetProc('glWindowPos3sARB');
  7089. glWindowPos3svARB := gl_GetProc('glWindowPos3svARB');
  7090. end;
  7091. {$EndIf}
  7092. {$IfDef GL_KHR_blend_equation_advanced}
  7093. if GL_KHR_blend_equation_advanced then
  7094. glBlendBarrierKHR := gl_GetProc('glBlendBarrierKHR');
  7095. {$EndIf}
  7096. {$IfDef GL_KHR_parallel_shader_compile}
  7097. if GL_KHR_parallel_shader_compile then
  7098. glMaxShaderCompilerThreadsKHR := gl_GetProc('glMaxShaderCompilerThreadsKHR');
  7099. {$EndIf}
  7100. {$IfDef GL_OES_byte_coordinates}
  7101. if GL_OES_byte_coordinates then
  7102. begin
  7103. glMultiTexCoord1bOES := gl_GetProc('glMultiTexCoord1bOES');
  7104. glMultiTexCoord1bvOES := gl_GetProc('glMultiTexCoord1bvOES');
  7105. glMultiTexCoord2bOES := gl_GetProc('glMultiTexCoord2bOES');
  7106. glMultiTexCoord2bvOES := gl_GetProc('glMultiTexCoord2bvOES');
  7107. glMultiTexCoord3bOES := gl_GetProc('glMultiTexCoord3bOES');
  7108. glMultiTexCoord3bvOES := gl_GetProc('glMultiTexCoord3bvOES');
  7109. glMultiTexCoord4bOES := gl_GetProc('glMultiTexCoord4bOES');
  7110. glMultiTexCoord4bvOES := gl_GetProc('glMultiTexCoord4bvOES');
  7111. glTexCoord1bOES := gl_GetProc('glTexCoord1bOES');
  7112. glTexCoord1bvOES := gl_GetProc('glTexCoord1bvOES');
  7113. glTexCoord2bOES := gl_GetProc('glTexCoord2bOES');
  7114. glTexCoord2bvOES := gl_GetProc('glTexCoord2bvOES');
  7115. glTexCoord3bOES := gl_GetProc('glTexCoord3bOES');
  7116. glTexCoord3bvOES := gl_GetProc('glTexCoord3bvOES');
  7117. glTexCoord4bOES := gl_GetProc('glTexCoord4bOES');
  7118. glTexCoord4bvOES := gl_GetProc('glTexCoord4bvOES');
  7119. glVertex2bOES := gl_GetProc('glVertex2bOES');
  7120. glVertex2bvOES := gl_GetProc('glVertex2bvOES');
  7121. glVertex3bOES := gl_GetProc('glVertex3bOES');
  7122. glVertex3bvOES := gl_GetProc('glVertex3bvOES');
  7123. glVertex4bOES := gl_GetProc('glVertex4bOES');
  7124. glVertex4bvOES := gl_GetProc('glVertex4bvOES');
  7125. end;
  7126. {$EndIf}
  7127. {$IfDef GL_OES_fixed_point}
  7128. if GL_OES_fixed_point then
  7129. begin
  7130. glAlphaFuncxOES := gl_GetProc('glAlphaFuncxOES');
  7131. glClearColorxOES := gl_GetProc('glClearColorxOES');
  7132. glClearDepthxOES := gl_GetProc('glClearDepthxOES');
  7133. glClipPlanexOES := gl_GetProc('glClipPlanexOES');
  7134. glColor4xOES := gl_GetProc('glColor4xOES');
  7135. glDepthRangexOES := gl_GetProc('glDepthRangexOES');
  7136. glFogxOES := gl_GetProc('glFogxOES');
  7137. glFogxvOES := gl_GetProc('glFogxvOES');
  7138. glFrustumxOES := gl_GetProc('glFrustumxOES');
  7139. glGetClipPlanexOES := gl_GetProc('glGetClipPlanexOES');
  7140. glGetFixedvOES := gl_GetProc('glGetFixedvOES');
  7141. glGetTexEnvxvOES := gl_GetProc('glGetTexEnvxvOES');
  7142. glGetTexParameterxvOES := gl_GetProc('glGetTexParameterxvOES');
  7143. glLightModelxOES := gl_GetProc('glLightModelxOES');
  7144. glLightModelxvOES := gl_GetProc('glLightModelxvOES');
  7145. glLightxOES := gl_GetProc('glLightxOES');
  7146. glLightxvOES := gl_GetProc('glLightxvOES');
  7147. glLineWidthxOES := gl_GetProc('glLineWidthxOES');
  7148. glLoadMatrixxOES := gl_GetProc('glLoadMatrixxOES');
  7149. glMaterialxOES := gl_GetProc('glMaterialxOES');
  7150. glMaterialxvOES := gl_GetProc('glMaterialxvOES');
  7151. glMultMatrixxOES := gl_GetProc('glMultMatrixxOES');
  7152. glMultiTexCoord4xOES := gl_GetProc('glMultiTexCoord4xOES');
  7153. glNormal3xOES := gl_GetProc('glNormal3xOES');
  7154. glOrthoxOES := gl_GetProc('glOrthoxOES');
  7155. glPointParameterxvOES := gl_GetProc('glPointParameterxvOES');
  7156. glPointSizexOES := gl_GetProc('glPointSizexOES');
  7157. glPolygonOffsetxOES := gl_GetProc('glPolygonOffsetxOES');
  7158. glRotatexOES := gl_GetProc('glRotatexOES');
  7159. glScalexOES := gl_GetProc('glScalexOES');
  7160. glTexEnvxOES := gl_GetProc('glTexEnvxOES');
  7161. glTexEnvxvOES := gl_GetProc('glTexEnvxvOES');
  7162. glTexParameterxOES := gl_GetProc('glTexParameterxOES');
  7163. glTexParameterxvOES := gl_GetProc('glTexParameterxvOES');
  7164. glTranslatexOES := gl_GetProc('glTranslatexOES');
  7165. glAccumxOES := gl_GetProc('glAccumxOES');
  7166. glBitmapxOES := gl_GetProc('glBitmapxOES');
  7167. glBlendColorxOES := gl_GetProc('glBlendColorxOES');
  7168. glClearAccumxOES := gl_GetProc('glClearAccumxOES');
  7169. glColor3xOES := gl_GetProc('glColor3xOES');
  7170. glColor3xvOES := gl_GetProc('glColor3xvOES');
  7171. glColor4xvOES := gl_GetProc('glColor4xvOES');
  7172. glConvolutionParameterxOES := gl_GetProc('glConvolutionParameterxOES');
  7173. glConvolutionParameterxvOES := gl_GetProc('glConvolutionParameterxvOES');
  7174. glEvalCoord1xOES := gl_GetProc('glEvalCoord1xOES');
  7175. glEvalCoord1xvOES := gl_GetProc('glEvalCoord1xvOES');
  7176. glEvalCoord2xOES := gl_GetProc('glEvalCoord2xOES');
  7177. glEvalCoord2xvOES := gl_GetProc('glEvalCoord2xvOES');
  7178. glFeedbackBufferxOES := gl_GetProc('glFeedbackBufferxOES');
  7179. glGetConvolutionParameterxvOES := gl_GetProc('glGetConvolutionParameterxvOES');
  7180. glGetHistogramParameterxvOES := gl_GetProc('glGetHistogramParameterxvOES');
  7181. glGetLightxOES := gl_GetProc('glGetLightxOES');
  7182. glGetMapxvOES := gl_GetProc('glGetMapxvOES');
  7183. glGetMaterialxOES := gl_GetProc('glGetMaterialxOES');
  7184. glGetPixelMapxv := gl_GetProc('glGetPixelMapxv');
  7185. glGetTexGenxvOES := gl_GetProc('glGetTexGenxvOES');
  7186. glGetTexLevelParameterxvOES := gl_GetProc('glGetTexLevelParameterxvOES');
  7187. glIndexxOES := gl_GetProc('glIndexxOES');
  7188. glIndexxvOES := gl_GetProc('glIndexxvOES');
  7189. glLoadTransposeMatrixxOES := gl_GetProc('glLoadTransposeMatrixxOES');
  7190. glMap1xOES := gl_GetProc('glMap1xOES');
  7191. glMap2xOES := gl_GetProc('glMap2xOES');
  7192. glMapGrid1xOES := gl_GetProc('glMapGrid1xOES');
  7193. glMapGrid2xOES := gl_GetProc('glMapGrid2xOES');
  7194. glMultTransposeMatrixxOES := gl_GetProc('glMultTransposeMatrixxOES');
  7195. glMultiTexCoord1xOES := gl_GetProc('glMultiTexCoord1xOES');
  7196. glMultiTexCoord1xvOES := gl_GetProc('glMultiTexCoord1xvOES');
  7197. glMultiTexCoord2xOES := gl_GetProc('glMultiTexCoord2xOES');
  7198. glMultiTexCoord2xvOES := gl_GetProc('glMultiTexCoord2xvOES');
  7199. glMultiTexCoord3xOES := gl_GetProc('glMultiTexCoord3xOES');
  7200. glMultiTexCoord3xvOES := gl_GetProc('glMultiTexCoord3xvOES');
  7201. glMultiTexCoord4xvOES := gl_GetProc('glMultiTexCoord4xvOES');
  7202. glNormal3xvOES := gl_GetProc('glNormal3xvOES');
  7203. glPassThroughxOES := gl_GetProc('glPassThroughxOES');
  7204. glPixelMapx := gl_GetProc('glPixelMapx');
  7205. glPixelStorex := gl_GetProc('glPixelStorex');
  7206. glPixelTransferxOES := gl_GetProc('glPixelTransferxOES');
  7207. glPixelZoomxOES := gl_GetProc('glPixelZoomxOES');
  7208. glPrioritizeTexturesxOES := gl_GetProc('glPrioritizeTexturesxOES');
  7209. glRasterPos2xOES := gl_GetProc('glRasterPos2xOES');
  7210. glRasterPos2xvOES := gl_GetProc('glRasterPos2xvOES');
  7211. glRasterPos3xOES := gl_GetProc('glRasterPos3xOES');
  7212. glRasterPos3xvOES := gl_GetProc('glRasterPos3xvOES');
  7213. glRasterPos4xOES := gl_GetProc('glRasterPos4xOES');
  7214. glRasterPos4xvOES := gl_GetProc('glRasterPos4xvOES');
  7215. glRectxOES := gl_GetProc('glRectxOES');
  7216. glRectxvOES := gl_GetProc('glRectxvOES');
  7217. glTexCoord1xOES := gl_GetProc('glTexCoord1xOES');
  7218. glTexCoord1xvOES := gl_GetProc('glTexCoord1xvOES');
  7219. glTexCoord2xOES := gl_GetProc('glTexCoord2xOES');
  7220. glTexCoord2xvOES := gl_GetProc('glTexCoord2xvOES');
  7221. glTexCoord3xOES := gl_GetProc('glTexCoord3xOES');
  7222. glTexCoord3xvOES := gl_GetProc('glTexCoord3xvOES');
  7223. glTexCoord4xOES := gl_GetProc('glTexCoord4xOES');
  7224. glTexCoord4xvOES := gl_GetProc('glTexCoord4xvOES');
  7225. glTexGenxOES := gl_GetProc('glTexGenxOES');
  7226. glTexGenxvOES := gl_GetProc('glTexGenxvOES');
  7227. glVertex2xOES := gl_GetProc('glVertex2xOES');
  7228. glVertex2xvOES := gl_GetProc('glVertex2xvOES');
  7229. glVertex3xOES := gl_GetProc('glVertex3xOES');
  7230. glVertex3xvOES := gl_GetProc('glVertex3xvOES');
  7231. glVertex4xOES := gl_GetProc('glVertex4xOES');
  7232. glVertex4xvOES := gl_GetProc('glVertex4xvOES');
  7233. end;
  7234. {$EndIf}
  7235. {$IfDef GL_OES_query_matrix}
  7236. if GL_OES_query_matrix then
  7237. glQueryMatrixxOES := gl_GetProc('glQueryMatrixxOES');
  7238. {$EndIf}
  7239. {$IfDef GL_OES_single_precision}
  7240. if GL_OES_single_precision then
  7241. begin
  7242. glClearDepthfOES := gl_GetProc('glClearDepthfOES');
  7243. glClipPlanefOES := gl_GetProc('glClipPlanefOES');
  7244. glDepthRangefOES := gl_GetProc('glDepthRangefOES');
  7245. glFrustumfOES := gl_GetProc('glFrustumfOES');
  7246. glGetClipPlanefOES := gl_GetProc('glGetClipPlanefOES');
  7247. glOrthofOES := gl_GetProc('glOrthofOES');
  7248. end;
  7249. {$EndIf}
  7250. {$IfDef GL_3DFX_tbuffer}
  7251. if GL_3DFX_tbuffer then
  7252. glTbufferMask3DFX := gl_GetProc('glTbufferMask3DFX');
  7253. {$EndIf}
  7254. {$IfDef GL_AMD_debug_output}
  7255. if GL_AMD_debug_output then
  7256. begin
  7257. glDebugMessageEnableAMD := gl_GetProc('glDebugMessageEnableAMD');
  7258. glDebugMessageInsertAMD := gl_GetProc('glDebugMessageInsertAMD');
  7259. glDebugMessageCallbackAMD := gl_GetProc('glDebugMessageCallbackAMD');
  7260. glGetDebugMessageLogAMD := gl_GetProc('glGetDebugMessageLogAMD');
  7261. end;
  7262. {$EndIf}
  7263. {$IfDef GL_AMD_draw_buffers_blend}
  7264. if GL_AMD_draw_buffers_blend then
  7265. begin
  7266. glBlendFuncIndexedAMD := gl_GetProc('glBlendFuncIndexedAMD');
  7267. glBlendFuncSeparateIndexedAMD := gl_GetProc('glBlendFuncSeparateIndexedAMD');
  7268. glBlendEquationIndexedAMD := gl_GetProc('glBlendEquationIndexedAMD');
  7269. glBlendEquationSeparateIndexedAMD := gl_GetProc('glBlendEquationSeparateIndexedAMD');
  7270. end;
  7271. {$EndIf}
  7272. {$IfDef GL_AMD_framebuffer_multisample_advanced}
  7273. if GL_AMD_framebuffer_multisample_advanced then
  7274. begin
  7275. glRenderbufferStorageMultisampleAdvancedAMD := gl_GetProc('glRenderbufferStorageMultisampleAdvancedAMD');
  7276. glNamedRenderbufferStorageMultisampleAdvancedAMD := gl_GetProc('glNamedRenderbufferStorageMultisampleAdvancedAMD');
  7277. end;
  7278. {$EndIf}
  7279. {$IfDef GL_AMD_framebuffer_sample_positions}
  7280. if GL_AMD_framebuffer_sample_positions then
  7281. begin
  7282. glFramebufferSamplePositionsfvAMD := gl_GetProc('glFramebufferSamplePositionsfvAMD');
  7283. glNamedFramebufferSamplePositionsfvAMD := gl_GetProc('glNamedFramebufferSamplePositionsfvAMD');
  7284. glGetFramebufferParameterfvAMD := gl_GetProc('glGetFramebufferParameterfvAMD');
  7285. glGetNamedFramebufferParameterfvAMD := gl_GetProc('glGetNamedFramebufferParameterfvAMD');
  7286. end;
  7287. {$EndIf}
  7288. {$If defined(GL_AMD_gpu_shader_int64) or defined(GL_NV_gpu_shader5)}
  7289. if GL_AMD_gpu_shader_int64 or GL_NV_gpu_shader5 then
  7290. begin
  7291. glUniform1i64NV := gl_GetProc('glUniform1i64NV');
  7292. glUniform2i64NV := gl_GetProc('glUniform2i64NV');
  7293. glUniform3i64NV := gl_GetProc('glUniform3i64NV');
  7294. glUniform4i64NV := gl_GetProc('glUniform4i64NV');
  7295. glUniform1i64vNV := gl_GetProc('glUniform1i64vNV');
  7296. glUniform2i64vNV := gl_GetProc('glUniform2i64vNV');
  7297. glUniform3i64vNV := gl_GetProc('glUniform3i64vNV');
  7298. glUniform4i64vNV := gl_GetProc('glUniform4i64vNV');
  7299. glUniform1ui64NV := gl_GetProc('glUniform1ui64NV');
  7300. glUniform2ui64NV := gl_GetProc('glUniform2ui64NV');
  7301. glUniform3ui64NV := gl_GetProc('glUniform3ui64NV');
  7302. glUniform4ui64NV := gl_GetProc('glUniform4ui64NV');
  7303. glUniform1ui64vNV := gl_GetProc('glUniform1ui64vNV');
  7304. glUniform2ui64vNV := gl_GetProc('glUniform2ui64vNV');
  7305. glUniform3ui64vNV := gl_GetProc('glUniform3ui64vNV');
  7306. glUniform4ui64vNV := gl_GetProc('glUniform4ui64vNV');
  7307. glGetUniformi64vNV := gl_GetProc('glGetUniformi64vNV');
  7308. glProgramUniform1i64NV := gl_GetProc('glProgramUniform1i64NV');
  7309. glProgramUniform2i64NV := gl_GetProc('glProgramUniform2i64NV');
  7310. glProgramUniform3i64NV := gl_GetProc('glProgramUniform3i64NV');
  7311. glProgramUniform4i64NV := gl_GetProc('glProgramUniform4i64NV');
  7312. glProgramUniform1i64vNV := gl_GetProc('glProgramUniform1i64vNV');
  7313. glProgramUniform2i64vNV := gl_GetProc('glProgramUniform2i64vNV');
  7314. glProgramUniform3i64vNV := gl_GetProc('glProgramUniform3i64vNV');
  7315. glProgramUniform4i64vNV := gl_GetProc('glProgramUniform4i64vNV');
  7316. glProgramUniform1ui64NV := gl_GetProc('glProgramUniform1ui64NV');
  7317. glProgramUniform2ui64NV := gl_GetProc('glProgramUniform2ui64NV');
  7318. glProgramUniform3ui64NV := gl_GetProc('glProgramUniform3ui64NV');
  7319. glProgramUniform4ui64NV := gl_GetProc('glProgramUniform4ui64NV');
  7320. glProgramUniform1ui64vNV := gl_GetProc('glProgramUniform1ui64vNV');
  7321. glProgramUniform2ui64vNV := gl_GetProc('glProgramUniform2ui64vNV');
  7322. glProgramUniform3ui64vNV := gl_GetProc('glProgramUniform3ui64vNV');
  7323. glProgramUniform4ui64vNV := gl_GetProc('glProgramUniform4ui64vNV');
  7324. end;
  7325. {$IfEnd}
  7326. {$If defined(GL_AMD_gpu_shader_int64) or defined(GL_NV_shader_buffer_load)}
  7327. if GL_AMD_gpu_shader_int64 or GL_NV_shader_buffer_load then
  7328. glGetUniformui64vNV := gl_GetProc('glGetUniformui64vNV');
  7329. {$IfEnd}
  7330. {$IfDef GL_AMD_interleaved_elements}
  7331. if GL_AMD_interleaved_elements then
  7332. glVertexAttribParameteriAMD := gl_GetProc('glVertexAttribParameteriAMD');
  7333. {$EndIf}
  7334. {$IfDef GL_AMD_multi_draw_indirect}
  7335. if GL_AMD_multi_draw_indirect then
  7336. begin
  7337. glMultiDrawArraysIndirectAMD := gl_GetProc('glMultiDrawArraysIndirectAMD');
  7338. glMultiDrawElementsIndirectAMD := gl_GetProc('glMultiDrawElementsIndirectAMD');
  7339. end;
  7340. {$EndIf}
  7341. {$IfDef GL_AMD_name_gen_delete}
  7342. if GL_AMD_name_gen_delete then
  7343. begin
  7344. glGenNamesAMD := gl_GetProc('glGenNamesAMD');
  7345. glDeleteNamesAMD := gl_GetProc('glDeleteNamesAMD');
  7346. glIsNameAMD := gl_GetProc('glIsNameAMD');
  7347. end;
  7348. {$EndIf}
  7349. {$IfDef GL_AMD_occlusion_query_event}
  7350. if GL_AMD_occlusion_query_event then
  7351. glQueryObjectParameteruiAMD := gl_GetProc('glQueryObjectParameteruiAMD');
  7352. {$EndIf}
  7353. {$IfDef GL_AMD_performance_monitor}
  7354. if GL_AMD_performance_monitor then
  7355. begin
  7356. glGetPerfMonitorGroupsAMD := gl_GetProc('glGetPerfMonitorGroupsAMD');
  7357. glGetPerfMonitorCountersAMD := gl_GetProc('glGetPerfMonitorCountersAMD');
  7358. glGetPerfMonitorGroupStringAMD := gl_GetProc('glGetPerfMonitorGroupStringAMD');
  7359. glGetPerfMonitorCounterStringAMD := gl_GetProc('glGetPerfMonitorCounterStringAMD');
  7360. glGetPerfMonitorCounterInfoAMD := gl_GetProc('glGetPerfMonitorCounterInfoAMD');
  7361. glGenPerfMonitorsAMD := gl_GetProc('glGenPerfMonitorsAMD');
  7362. glDeletePerfMonitorsAMD := gl_GetProc('glDeletePerfMonitorsAMD');
  7363. glSelectPerfMonitorCountersAMD := gl_GetProc('glSelectPerfMonitorCountersAMD');
  7364. glBeginPerfMonitorAMD := gl_GetProc('glBeginPerfMonitorAMD');
  7365. glEndPerfMonitorAMD := gl_GetProc('glEndPerfMonitorAMD');
  7366. glGetPerfMonitorCounterDataAMD := gl_GetProc('glGetPerfMonitorCounterDataAMD');
  7367. end;
  7368. {$EndIf}
  7369. {$IfDef GL_AMD_sample_positions}
  7370. if GL_AMD_sample_positions then
  7371. glSetMultisamplefvAMD := gl_GetProc('glSetMultisamplefvAMD');
  7372. {$EndIf}
  7373. {$IfDef GL_AMD_sparse_texture}
  7374. if GL_AMD_sparse_texture then
  7375. begin
  7376. glTexStorageSparseAMD := gl_GetProc('glTexStorageSparseAMD');
  7377. glTextureStorageSparseAMD := gl_GetProc('glTextureStorageSparseAMD');
  7378. end;
  7379. {$EndIf}
  7380. {$IfDef GL_AMD_stencil_operation_extended}
  7381. if GL_AMD_stencil_operation_extended then
  7382. glStencilOpValueAMD := gl_GetProc('glStencilOpValueAMD');
  7383. {$EndIf}
  7384. {$IfDef GL_AMD_vertex_shader_tessellator}
  7385. if GL_AMD_vertex_shader_tessellator then
  7386. begin
  7387. glTessellationFactorAMD := gl_GetProc('glTessellationFactorAMD');
  7388. glTessellationModeAMD := gl_GetProc('glTessellationModeAMD');
  7389. end;
  7390. {$EndIf}
  7391. {$IfDef GL_APPLE_element_array}
  7392. if GL_APPLE_element_array then
  7393. begin
  7394. glElementPointerAPPLE := gl_GetProc('glElementPointerAPPLE');
  7395. glDrawElementArrayAPPLE := gl_GetProc('glDrawElementArrayAPPLE');
  7396. glDrawRangeElementArrayAPPLE := gl_GetProc('glDrawRangeElementArrayAPPLE');
  7397. glMultiDrawElementArrayAPPLE := gl_GetProc('glMultiDrawElementArrayAPPLE');
  7398. glMultiDrawRangeElementArrayAPPLE := gl_GetProc('glMultiDrawRangeElementArrayAPPLE');
  7399. end;
  7400. {$EndIf}
  7401. {$IfDef GL_APPLE_fence}
  7402. if GL_APPLE_fence then
  7403. begin
  7404. glGenFencesAPPLE := gl_GetProc('glGenFencesAPPLE');
  7405. glDeleteFencesAPPLE := gl_GetProc('glDeleteFencesAPPLE');
  7406. glSetFenceAPPLE := gl_GetProc('glSetFenceAPPLE');
  7407. glIsFenceAPPLE := gl_GetProc('glIsFenceAPPLE');
  7408. glTestFenceAPPLE := gl_GetProc('glTestFenceAPPLE');
  7409. glFinishFenceAPPLE := gl_GetProc('glFinishFenceAPPLE');
  7410. glTestObjectAPPLE := gl_GetProc('glTestObjectAPPLE');
  7411. glFinishObjectAPPLE := gl_GetProc('glFinishObjectAPPLE');
  7412. end;
  7413. {$EndIf}
  7414. {$IfDef GL_APPLE_flush_buffer_range}
  7415. if GL_APPLE_flush_buffer_range then
  7416. begin
  7417. glBufferParameteriAPPLE := gl_GetProc('glBufferParameteriAPPLE');
  7418. glFlushMappedBufferRangeAPPLE := gl_GetProc('glFlushMappedBufferRangeAPPLE');
  7419. end;
  7420. {$EndIf}
  7421. {$IfDef GL_APPLE_object_purgeable}
  7422. if GL_APPLE_object_purgeable then
  7423. begin
  7424. glObjectPurgeableAPPLE := gl_GetProc('glObjectPurgeableAPPLE');
  7425. glObjectUnpurgeableAPPLE := gl_GetProc('glObjectUnpurgeableAPPLE');
  7426. glGetObjectParameterivAPPLE := gl_GetProc('glGetObjectParameterivAPPLE');
  7427. end;
  7428. {$EndIf}
  7429. {$IfDef GL_APPLE_texture_range}
  7430. if GL_APPLE_texture_range then
  7431. begin
  7432. glTextureRangeAPPLE := gl_GetProc('glTextureRangeAPPLE');
  7433. glGetTexParameterPointervAPPLE := gl_GetProc('glGetTexParameterPointervAPPLE');
  7434. end;
  7435. {$EndIf}
  7436. {$IfDef GL_APPLE_vertex_array_object}
  7437. if GL_APPLE_vertex_array_object then
  7438. begin
  7439. glBindVertexArrayAPPLE := gl_GetProc('glBindVertexArrayAPPLE');
  7440. glDeleteVertexArraysAPPLE := gl_GetProc('glDeleteVertexArraysAPPLE');
  7441. glGenVertexArraysAPPLE := gl_GetProc('glGenVertexArraysAPPLE');
  7442. functionglIsVertexArrayAPPLE := gl_GetProc('functionglIsVertexArrayAPPLE');
  7443. end;
  7444. {$EndIf}
  7445. {$IfDef GL_APPLE_vertex_array_range}
  7446. if GL_APPLE_vertex_array_range then
  7447. begin
  7448. glVertexArrayRangeAPPLE := gl_GetProc('glVertexArrayRangeAPPLE');
  7449. glFlushVertexArrayRangeAPPLE := gl_GetProc('glFlushVertexArrayRangeAPPLE');
  7450. glVertexArrayParameteriAPPLE := gl_GetProc('glVertexArrayParameteriAPPLE');
  7451. end;
  7452. {$EndIf}
  7453. {$IfDef GL_APPLE_vertex_program_evaluators}
  7454. if GL_APPLE_vertex_program_evaluators then
  7455. begin
  7456. glEnableVertexAttribAPPLE := gl_GetProc('glEnableVertexAttribAPPLE');
  7457. glDisableVertexAttribAPPLE := gl_GetProc('glDisableVertexAttribAPPLE');
  7458. glIsVertexAttribEnabledAPPLE := gl_GetProc('glIsVertexAttribEnabledAPPLE');
  7459. glMapVertexAttrib1dAPPLE := gl_GetProc('glMapVertexAttrib1dAPPLE');
  7460. glMapVertexAttrib1fAPPLE := gl_GetProc('glMapVertexAttrib1fAPPLE');
  7461. glMapVertexAttrib2dAPPLE := gl_GetProc('glMapVertexAttrib2dAPPLE');
  7462. glMapVertexAttrib2fAPPLE := gl_GetProc('glMapVertexAttrib2fAPPLE');
  7463. end;
  7464. {$EndIf}
  7465. {$IfDef GL_ATI_draw_buffers}
  7466. if GL_ATI_draw_buffers then
  7467. glDrawBuffersATI := gl_GetProc('glDrawBuffersATI');
  7468. {$EndIf}
  7469. {$IfDef GL_ATI_element_array}
  7470. if GL_ATI_element_array then
  7471. begin
  7472. glElementPointerATI := gl_GetProc('glElementPointerATI');
  7473. glDrawElementArrayATI := gl_GetProc('glDrawElementArrayATI');
  7474. glDrawRangeElementArrayATI := gl_GetProc('glDrawRangeElementArrayATI');
  7475. end;
  7476. {$EndIf}
  7477. {$IfDef GL_ATI_envmap_bumpmap}
  7478. if GL_ATI_envmap_bumpmap then
  7479. begin
  7480. glTexBumpParameterivATI := gl_GetProc('glTexBumpParameterivATI');
  7481. glTexBumpParameterfvATI := gl_GetProc('glTexBumpParameterfvATI');
  7482. glGetTexBumpParameterivATI := gl_GetProc('glGetTexBumpParameterivATI');
  7483. glGetTexBumpParameterfvATI := gl_GetProc('glGetTexBumpParameterfvATI');
  7484. end;
  7485. {$EndIf}
  7486. {$IfDef GL_ATI_fragment_shader}
  7487. if GL_ATI_fragment_shader then
  7488. begin
  7489. glGenFragmentShadersATI := gl_GetProc('glGenFragmentShadersATI');
  7490. glBindFragmentShaderATI := gl_GetProc('glBindFragmentShaderATI');
  7491. glDeleteFragmentShaderATI := gl_GetProc('glDeleteFragmentShaderATI');
  7492. glBeginFragmentShaderATI := gl_GetProc('glBeginFragmentShaderATI');
  7493. glEndFragmentShaderATI := gl_GetProc('glEndFragmentShaderATI');
  7494. glPassTexCoordATI := gl_GetProc('glPassTexCoordATI');
  7495. glSampleMapATI := gl_GetProc('glSampleMapATI');
  7496. glColorFragmentOp1ATI := gl_GetProc('glColorFragmentOp1ATI');
  7497. glColorFragmentOp2ATI := gl_GetProc('glColorFragmentOp2ATI');
  7498. glColorFragmentOp3ATI := gl_GetProc('glColorFragmentOp3ATI');
  7499. glAlphaFragmentOp1ATI := gl_GetProc('glAlphaFragmentOp1ATI');
  7500. glAlphaFragmentOp2ATI := gl_GetProc('glAlphaFragmentOp2ATI');
  7501. glAlphaFragmentOp3ATI := gl_GetProc('glAlphaFragmentOp3ATI');
  7502. glSetFragmentShaderConstantATI := gl_GetProc('glSetFragmentShaderConstantATI');
  7503. end;
  7504. {$EndIf}
  7505. {$IfDef GL_ATI_map_object_buffer}
  7506. if GL_ATI_map_object_buffer then
  7507. begin
  7508. glMapObjectBufferATI := gl_GetProc('glMapObjectBufferATI');
  7509. glUnmapObjectBufferATI := gl_GetProc('glUnmapObjectBufferATI');
  7510. end;
  7511. {$EndIf}
  7512. {$IfDef GL_ATI_pn_triangles}
  7513. if GL_ATI_pn_triangles then
  7514. begin
  7515. glPNTrianglesiATI := gl_GetProc('glPNTrianglesiATI');
  7516. glPNTrianglesfATI := gl_GetProc('glPNTrianglesfATI');
  7517. end;
  7518. {$EndIf}
  7519. {$IfDef GL_ATI_separate_stencil}
  7520. if GL_ATI_separate_stencil then
  7521. begin
  7522. glStencilOpSeparateATI := gl_GetProc('glStencilOpSeparateATI');
  7523. glStencilFuncSeparateATI := gl_GetProc('glStencilFuncSeparateATI');
  7524. end;
  7525. {$EndIf}
  7526. {$IfDef GL_ATI_vertex_array_object}
  7527. if GL_ATI_vertex_array_object then
  7528. begin
  7529. glNewObjectBufferATI := gl_GetProc('glNewObjectBufferATI');
  7530. glIsObjectBufferATI := gl_GetProc('glIsObjectBufferATI');
  7531. glUpdateObjectBufferATI := gl_GetProc('glUpdateObjectBufferATI');
  7532. glGetObjectBufferfvATI := gl_GetProc('glGetObjectBufferfvATI');
  7533. glGetObjectBufferivATI := gl_GetProc('glGetObjectBufferivATI');
  7534. glFreeObjectBufferATI := gl_GetProc('glFreeObjectBufferATI');
  7535. glArrayObjectATI := gl_GetProc('glArrayObjectATI');
  7536. glGetArrayObjectfvATI := gl_GetProc('glGetArrayObjectfvATI');
  7537. glGetArrayObjectivATI := gl_GetProc('glGetArrayObjectivATI');
  7538. glVariantArrayObjectATI := gl_GetProc('glVariantArrayObjectATI');
  7539. glGetVariantArrayObjectfvATI := gl_GetProc('glGetVariantArrayObjectfvATI');
  7540. glGetVariantArrayObjectivATI := gl_GetProc('glGetVariantArrayObjectivATI');
  7541. end;
  7542. {$EndIf}
  7543. {$IfDef GL_ATI_vertex_attrib_array_object}
  7544. if GL_ATI_vertex_attrib_array_object then
  7545. begin
  7546. glVertexAttribArrayObjectATI := gl_GetProc('glVertexAttribArrayObjectATI');
  7547. glGetVertexAttribArrayObjectfvATI := gl_GetProc('glGetVertexAttribArrayObjectfvATI');
  7548. glGetVertexAttribArrayObjectivATI := gl_GetProc('glGetVertexAttribArrayObjectivATI');
  7549. end;
  7550. {$EndIf}
  7551. {$IfDef GL_ATI_vertex_streams}
  7552. if GL_ATI_vertex_streams then
  7553. begin
  7554. glVertexStream1sATI := gl_GetProc('glVertexStream1sATI');
  7555. glVertexStream1svATI := gl_GetProc('glVertexStream1svATI');
  7556. glVertexStream1iATI := gl_GetProc('glVertexStream1iATI');
  7557. glVertexStream1ivATI := gl_GetProc('glVertexStream1ivATI');
  7558. glVertexStream1fATI := gl_GetProc('glVertexStream1fATI');
  7559. glVertexStream1fvATI := gl_GetProc('glVertexStream1fvATI');
  7560. glVertexStream1dATI := gl_GetProc('glVertexStream1dATI');
  7561. glVertexStream1dvATI := gl_GetProc('glVertexStream1dvATI');
  7562. glVertexStream2sATI := gl_GetProc('glVertexStream2sATI');
  7563. glVertexStream2svATI := gl_GetProc('glVertexStream2svATI');
  7564. glVertexStream2iATI := gl_GetProc('glVertexStream2iATI');
  7565. glVertexStream2ivATI := gl_GetProc('glVertexStream2ivATI');
  7566. glVertexStream2fATI := gl_GetProc('glVertexStream2fATI');
  7567. glVertexStream2fvATI := gl_GetProc('glVertexStream2fvATI');
  7568. glVertexStream2dATI := gl_GetProc('glVertexStream2dATI');
  7569. glVertexStream2dvATI := gl_GetProc('glVertexStream2dvATI');
  7570. glVertexStream3sATI := gl_GetProc('glVertexStream3sATI');
  7571. glVertexStream3svATI := gl_GetProc('glVertexStream3svATI');
  7572. glVertexStream3iATI := gl_GetProc('glVertexStream3iATI');
  7573. glVertexStream3ivATI := gl_GetProc('glVertexStream3ivATI');
  7574. glVertexStream3fATI := gl_GetProc('glVertexStream3fATI');
  7575. glVertexStream3fvATI := gl_GetProc('glVertexStream3fvATI');
  7576. glVertexStream3dATI := gl_GetProc('glVertexStream3dATI');
  7577. glVertexStream3dvATI := gl_GetProc('glVertexStream3dvATI');
  7578. glVertexStream4sATI := gl_GetProc('glVertexStream4sATI');
  7579. glVertexStream4svATI := gl_GetProc('glVertexStream4svATI');
  7580. glVertexStream4iATI := gl_GetProc('glVertexStream4iATI');
  7581. glVertexStream4ivATI := gl_GetProc('glVertexStream4ivATI');
  7582. glVertexStream4fATI := gl_GetProc('glVertexStream4fATI');
  7583. glVertexStream4fvATI := gl_GetProc('glVertexStream4fvATI');
  7584. glVertexStream4dATI := gl_GetProc('glVertexStream4dATI');
  7585. glVertexStream4dvATI := gl_GetProc('glVertexStream4dvATI');
  7586. glNormalStream3bATI := gl_GetProc('glNormalStream3bATI');
  7587. glNormalStream3bvATI := gl_GetProc('glNormalStream3bvATI');
  7588. glNormalStream3sATI := gl_GetProc('glNormalStream3sATI');
  7589. glNormalStream3svATI := gl_GetProc('glNormalStream3svATI');
  7590. glNormalStream3iATI := gl_GetProc('glNormalStream3iATI');
  7591. glNormalStream3ivATI := gl_GetProc('glNormalStream3ivATI');
  7592. glNormalStream3fATI := gl_GetProc('glNormalStream3fATI');
  7593. glNormalStream3fvATI := gl_GetProc('glNormalStream3fvATI');
  7594. glNormalStream3dATI := gl_GetProc('glNormalStream3dATI');
  7595. glNormalStream3dvATI := gl_GetProc('glNormalStream3dvATI');
  7596. glClientActiveVertexStreamATI := gl_GetProc('glClientActiveVertexStreamATI');
  7597. glVertexBlendEnviATI := gl_GetProc('glVertexBlendEnviATI');
  7598. glVertexBlendEnvfATI := gl_GetProc('glVertexBlendEnvfATI');
  7599. end;
  7600. {$EndIf}
  7601. {$IfDef GL_EXT_EGL_image_storage}
  7602. if GL_EXT_EGL_image_storage then
  7603. begin
  7604. glEGLImageTargetTexStorageEXT := gl_GetProc('glEGLImageTargetTexStorageEXT');
  7605. glEGLImageTargetTextureStorageEXT := gl_GetProc('glEGLImageTargetTextureStorageEXT');
  7606. end;
  7607. {$EndIf}
  7608. {$IfDef GL_EXT_bindable_uniform}
  7609. if GL_EXT_bindable_uniform then
  7610. begin
  7611. glUniformBufferEXT := gl_GetProc('glUniformBufferEXT');
  7612. glGetUniformBufferSizeEXT := gl_GetProc('glGetUniformBufferSizeEXT');
  7613. glGetUniformOffsetEXT := gl_GetProc('glGetUniformOffsetEXT');
  7614. end;
  7615. {$EndIf}
  7616. {$IfDef GL_EXT_blend_color}
  7617. if GL_EXT_blend_color then
  7618. glBlendColorEXT := gl_GetProc('glBlendColorEXT');
  7619. {$EndIf}
  7620. {$IfDef GL_EXT_blend_equation_separate}
  7621. if GL_EXT_blend_equation_separate then
  7622. glBlendEquationSeparateEXT := gl_GetProc('glBlendEquationSeparateEXT');
  7623. {$EndIf}
  7624. (* {$IfDef GL_EXT_blend_func_separate}
  7625. glBlendFuncSeparateEXT := gl_GetProc('glBlendFuncSeparateEXT');
  7626. {$EndIf}
  7627. {$IfDef GL_EXT_blend_minmax}
  7628. glBlendEquationEXT := gl_GetProc('glBlendEquationEXT');
  7629. {$EndIf} *)
  7630. {$IfDef GL_EXT_color_subtable}
  7631. if GL_EXT_color_subtable then
  7632. begin
  7633. glColorSubTableEXT := gl_GetProc('glColorSubTableEXT');
  7634. glCopyColorSubTableEXT := gl_GetProc('glCopyColorSubTableEXT');
  7635. end;
  7636. {$EndIf}
  7637. {$IfDef GL_EXT_compiled_vertex_array}
  7638. if GL_EXT_compiled_vertex_array then
  7639. begin
  7640. glLockArraysEXT := gl_GetProc('glLockArraysEXT');
  7641. glUnlockArraysEXT := gl_GetProc('glUnlockArraysEXT');
  7642. end;
  7643. {$EndIf}
  7644. {$IfDef GL_EXT_convolution}
  7645. if GL_EXT_convolution then
  7646. begin
  7647. glConvolutionFilter1DEXT := gl_GetProc('glConvolutionFilter1DEXT');
  7648. glConvolutionFilter2DEXT := gl_GetProc('glConvolutionFilter2DEXT');
  7649. glConvolutionParameterfEXT := gl_GetProc('glConvolutionParameterfEXT');
  7650. glConvolutionParameterfvEXT := gl_GetProc('glConvolutionParameterfvEXT');
  7651. glConvolutionParameteriEXT := gl_GetProc('glConvolutionParameteriEXT');
  7652. glConvolutionParameterivEXT := gl_GetProc('glConvolutionParameterivEXT');
  7653. glCopyConvolutionFilter1DEXT := gl_GetProc('glCopyConvolutionFilter1DEXT');
  7654. glCopyConvolutionFilter2DEXT := gl_GetProc('glCopyConvolutionFilter2DEXT');
  7655. glGetConvolutionFilterEXT := gl_GetProc('glGetConvolutionFilterEXT');
  7656. glGetConvolutionParameterfvEXT := gl_GetProc('glGetConvolutionParameterfvEXT');
  7657. glGetConvolutionParameterivEXT := gl_GetProc('glGetConvolutionParameterivEXT');
  7658. glGetSeparableFilterEXT := gl_GetProc('glGetSeparableFilterEXT');
  7659. glSeparableFilter2DEXT := gl_GetProc('glSeparableFilter2DEXT');
  7660. end;
  7661. {$EndIf}
  7662. {$IfDef GL_EXT_coordinate_frame}
  7663. if GL_EXT_coordinate_frame then
  7664. begin
  7665. glTangent3bEXT := gl_GetProc('glTangent3bEXT');
  7666. glTangent3bvEXT := gl_GetProc('glTangent3bvEXT');
  7667. glTangent3dEXT := gl_GetProc('glTangent3dEXT');
  7668. glTangent3dvEXT := gl_GetProc('glTangent3dvEXT');
  7669. glTangent3fEXT := gl_GetProc('glTangent3fEXT');
  7670. glTangent3fvEXT := gl_GetProc('glTangent3fvEXT');
  7671. glTangent3iEXT := gl_GetProc('glTangent3iEXT');
  7672. glTangent3ivEXT := gl_GetProc('glTangent3ivEXT');
  7673. glTangent3sEXT := gl_GetProc('glTangent3sEXT');
  7674. glTangent3svEXT := gl_GetProc('glTangent3svEXT');
  7675. glBinormal3bEXT := gl_GetProc('glBinormal3bEXT');
  7676. glBinormal3bvEXT := gl_GetProc('glBinormal3bvEXT');
  7677. glBinormal3dEXT := gl_GetProc('glBinormal3dEXT');
  7678. glBinormal3dvEXT := gl_GetProc('glBinormal3dvEXT');
  7679. glBinormal3fEXT := gl_GetProc('glBinormal3fEXT');
  7680. glBinormal3fvEXT := gl_GetProc('glBinormal3fvEXT');
  7681. glBinormal3iEXT := gl_GetProc('glBinormal3iEXT');
  7682. glBinormal3ivEXT := gl_GetProc('glBinormal3ivEXT');
  7683. glBinormal3sEXT := gl_GetProc('glBinormal3sEXT');
  7684. glBinormal3svEXT := gl_GetProc('glBinormal3svEXT');
  7685. glTangentPointerEXT := gl_GetProc('glTangentPointerEXT');
  7686. glBinormalPointerEXT := gl_GetProc('glBinormalPointerEXT');
  7687. end;
  7688. {$EndIf}
  7689. {$IfDef GL_EXT_copy_texture}
  7690. if GL_EXT_copy_texture then
  7691. begin
  7692. glCopyTexImage1DEXT := gl_GetProc('glCopyTexImage1DEXT');
  7693. glCopyTexImage2DEXT := gl_GetProc('glCopyTexImage2DEXT');
  7694. glCopyTexSubImage1DEXT := gl_GetProc('glCopyTexSubImage1DEXT');
  7695. glCopyTexSubImage2DEXT := gl_GetProc('glCopyTexSubImage2DEXT');
  7696. glCopyTexSubImage3DEXT := gl_GetProc('glCopyTexSubImage3DEXT');
  7697. end;
  7698. {$EndIf}
  7699. {$IfDef GL_EXT_cull_vertex}
  7700. if GL_EXT_cull_vertex then
  7701. begin
  7702. glCullParameterdvEXT := gl_GetProc('glCullParameterdvEXT');
  7703. glCullParameterfvEXT := gl_GetProc('glCullParameterfvEXT');
  7704. end;
  7705. {$EndIf}
  7706. {$IfDef GL_EXT_debug_label}
  7707. if GL_EXT_debug_label then
  7708. begin
  7709. glLabelObjectEXT := gl_GetProc('glLabelObjectEXT');
  7710. glGetObjectLabelEXT := gl_GetProc('glGetObjectLabelEXT');
  7711. end;
  7712. {$EndIf}
  7713. {$IfDef GL_EXT_debug_marker}
  7714. if GL_EXT_debug_marker then
  7715. begin
  7716. glInsertEventMarkerEXT := gl_GetProc('glInsertEventMarkerEXT');
  7717. glPushGroupMarkerEXT := gl_GetProc('glPushGroupMarkerEXT');
  7718. glPopGroupMarkerEXT := gl_GetProc('glPopGroupMarkerEXT');
  7719. end;
  7720. {$EndIf}
  7721. {$IfDef GL_EXT_depth_bounds_test}
  7722. if GL_EXT_depth_bounds_test then
  7723. glDepthBoundsEXT := gl_GetProc('glDepthBoundsEXT');
  7724. {$EndIf}
  7725. {$IfDef GL_EXT_direct_state_access}
  7726. if GL_EXT_direct_state_access then
  7727. begin
  7728. glMatrixLoadfEXT := gl_GetProc('glMatrixLoadfEXT');
  7729. glMatrixLoaddEXT := gl_GetProc('glMatrixLoaddEXT');
  7730. glMatrixMultfEXT := gl_GetProc('glMatrixMultfEXT');
  7731. glMatrixMultdEXT := gl_GetProc('glMatrixMultdEXT');
  7732. glMatrixLoadIdentityEXT := gl_GetProc('glMatrixLoadIdentityEXT');
  7733. glMatrixRotatefEXT := gl_GetProc('glMatrixRotatefEXT');
  7734. glMatrixRotatedEXT := gl_GetProc('glMatrixRotatedEXT');
  7735. glMatrixScalefEXT := gl_GetProc('glMatrixScalefEXT');
  7736. glMatrixScaledEXT := gl_GetProc('glMatrixScaledEXT');
  7737. glMatrixTranslatefEXT := gl_GetProc('glMatrixTranslatefEXT');
  7738. glMatrixTranslatedEXT := gl_GetProc('glMatrixTranslatedEXT');
  7739. glMatrixFrustumEXT := gl_GetProc('glMatrixFrustumEXT');
  7740. glMatrixOrthoEXT := gl_GetProc('glMatrixOrthoEXT');
  7741. glMatrixPopEXT := gl_GetProc('glMatrixPopEXT');
  7742. glMatrixPushEXT := gl_GetProc('glMatrixPushEXT');
  7743. glClientAttribDefaultEXT := gl_GetProc('glClientAttribDefaultEXT');
  7744. glPushClientAttribDefaultEXT := gl_GetProc('glPushClientAttribDefaultEXT');
  7745. glTextureParameterfEXT := gl_GetProc('glTextureParameterfEXT');
  7746. glTextureParameterfvEXT := gl_GetProc('glTextureParameterfvEXT');
  7747. glTextureParameteriEXT := gl_GetProc('glTextureParameteriEXT');
  7748. glTextureParameterivEXT := gl_GetProc('glTextureParameterivEXT');
  7749. glTextureImage1DEXT := gl_GetProc('glTextureImage1DEXT');
  7750. glTextureImage2DEXT := gl_GetProc('glTextureImage2DEXT');
  7751. glTextureSubImage1DEXT := gl_GetProc('glTextureSubImage1DEXT');
  7752. glTextureSubImage2DEXT := gl_GetProc('glTextureSubImage2DEXT');
  7753. glCopyTextureImage1DEXT := gl_GetProc('glCopyTextureImage1DEXT');
  7754. glCopyTextureImage2DEXT := gl_GetProc('glCopyTextureImage2DEXT');
  7755. glCopyTextureSubImage1DEXT := gl_GetProc('glCopyTextureSubImage1DEXT');
  7756. glCopyTextureSubImage2DEXT := gl_GetProc('glCopyTextureSubImage2DEXT');
  7757. glGetTextureImageEXT := gl_GetProc('glGetTextureImageEXT');
  7758. glGetTextureParameterfvEXT := gl_GetProc('glGetTextureParameterfvEXT');
  7759. glGetTextureParameterivEXT := gl_GetProc('glGetTextureParameterivEXT');
  7760. glGetTextureLevelParameterfvEXT := gl_GetProc('glGetTextureLevelParameterfvEXT');
  7761. glGetTextureLevelParameterivEXT := gl_GetProc('glGetTextureLevelParameterivEXT');
  7762. glTextureImage3DEXT := gl_GetProc('glTextureImage3DEXT');
  7763. glTextureSubImage3DEXT := gl_GetProc('glTextureSubImage3DEXT');
  7764. glCopyTextureSubImage3DEXT := gl_GetProc('glCopyTextureSubImage3DEXT');
  7765. glBindMultiTextureEXT := gl_GetProc('glBindMultiTextureEXT');
  7766. glMultiTexCoordPointerEXT := gl_GetProc('glMultiTexCoordPointerEXT');
  7767. glMultiTexEnvfEXT := gl_GetProc('glMultiTexEnvfEXT');
  7768. glMultiTexEnvfvEXT := gl_GetProc('glMultiTexEnvfvEXT');
  7769. glMultiTexEnviEXT := gl_GetProc('glMultiTexEnviEXT');
  7770. glMultiTexEnvivEXT := gl_GetProc('glMultiTexEnvivEXT');
  7771. glMultiTexGendEXT := gl_GetProc('glMultiTexGendEXT');
  7772. glMultiTexGendvEXT := gl_GetProc('glMultiTexGendvEXT');
  7773. glMultiTexGenfEXT := gl_GetProc('glMultiTexGenfEXT');
  7774. glMultiTexGenfvEXT := gl_GetProc('glMultiTexGenfvEXT');
  7775. glMultiTexGeniEXT := gl_GetProc('glMultiTexGeniEXT');
  7776. glMultiTexGenivEXT := gl_GetProc('glMultiTexGenivEXT');
  7777. glGetMultiTexEnvfvEXT := gl_GetProc('glGetMultiTexEnvfvEXT');
  7778. glGetMultiTexEnvivEXT := gl_GetProc('glGetMultiTexEnvivEXT');
  7779. glGetMultiTexGendvEXT := gl_GetProc('glGetMultiTexGendvEXT');
  7780. glGetMultiTexGenfvEXT := gl_GetProc('glGetMultiTexGenfvEXT');
  7781. glGetMultiTexGenivEXT := gl_GetProc('glGetMultiTexGenivEXT');
  7782. glMultiTexParameteriEXT := gl_GetProc('glMultiTexParameteriEXT');
  7783. glMultiTexParameterivEXT := gl_GetProc('glMultiTexParameterivEXT');
  7784. glMultiTexParameterfEXT := gl_GetProc('glMultiTexParameterfEXT');
  7785. glMultiTexParameterfvEXT := gl_GetProc('glMultiTexParameterfvEXT');
  7786. glMultiTexImage1DEXT := gl_GetProc('glMultiTexImage1DEXT');
  7787. glMultiTexImage2DEXT := gl_GetProc('glMultiTexImage2DEXT');
  7788. glMultiTexSubImage1DEXT := gl_GetProc('glMultiTexSubImage1DEXT');
  7789. glMultiTexSubImage2DEXT := gl_GetProc('glMultiTexSubImage2DEXT');
  7790. glCopyMultiTexImage1DEXT := gl_GetProc('glCopyMultiTexImage1DEXT');
  7791. glCopyMultiTexImage2DEXT := gl_GetProc('glCopyMultiTexImage2DEXT');
  7792. glCopyMultiTexSubImage1DEXT := gl_GetProc('glCopyMultiTexSubImage1DEXT');
  7793. glCopyMultiTexSubImage2DEXT := gl_GetProc('glCopyMultiTexSubImage2DEXT');
  7794. glGetMultiTexImageEXT := gl_GetProc('glGetMultiTexImageEXT');
  7795. glGetMultiTexParameterfvEXT := gl_GetProc('glGetMultiTexParameterfvEXT');
  7796. glGetMultiTexParameterivEXT := gl_GetProc('glGetMultiTexParameterivEXT');
  7797. glGetMultiTexLevelParameterfvEXT := gl_GetProc('glGetMultiTexLevelParameterfvEXT');
  7798. glGetMultiTexLevelParameterivEXT := gl_GetProc('glGetMultiTexLevelParameterivEXT');
  7799. glMultiTexImage3DEXT := gl_GetProc('glMultiTexImage3DEXT');
  7800. glMultiTexSubImage3DEXT := gl_GetProc('glMultiTexSubImage3DEXT');
  7801. glCopyMultiTexSubImage3DEXT := gl_GetProc('glCopyMultiTexSubImage3DEXT');
  7802. glEnableClientStateIndexedEXT := gl_GetProc('glEnableClientStateIndexedEXT');
  7803. glDisableClientStateIndexedEXT := gl_GetProc('glDisableClientStateIndexedEXT');
  7804. glGetFloatIndexedvEXT := gl_GetProc('glGetFloatIndexedvEXT');
  7805. glGetDoubleIndexedvEXT := gl_GetProc('glGetDoubleIndexedvEXT');
  7806. glGetPointerIndexedvEXT := gl_GetProc('glGetPointerIndexedvEXT');
  7807. glEnableIndexedEXT := gl_GetProc('glEnableIndexedEXT');
  7808. glDisableIndexedEXT := gl_GetProc('glDisableIndexedEXT');
  7809. glIsEnabledIndexedEXT := gl_GetProc('glIsEnabledIndexedEXT');
  7810. glGetIntegerIndexedvEXT := gl_GetProc('glGetIntegerIndexedvEXT');
  7811. glGetBooleanIndexedvEXT := gl_GetProc('glGetBooleanIndexedvEXT');
  7812. glCompressedTextureImage3DEXT := gl_GetProc('glCompressedTextureImage3DEXT');
  7813. glCompressedTextureImage2DEXT := gl_GetProc('glCompressedTextureImage2DEXT');
  7814. glCompressedTextureImage1DEXT := gl_GetProc('glCompressedTextureImage1DEXT');
  7815. glCompressedTextureSubImage3DEXT := gl_GetProc('glCompressedTextureSubImage3DEXT');
  7816. glCompressedTextureSubImage2DEXT := gl_GetProc('glCompressedTextureSubImage2DEXT');
  7817. glCompressedTextureSubImage1DEXT := gl_GetProc('glCompressedTextureSubImage1DEXT');
  7818. glGetCompressedTextureImageEXT := gl_GetProc('glGetCompressedTextureImageEXT');
  7819. glCompressedMultiTexImage3DEXT := gl_GetProc('glCompressedMultiTexImage3DEXT');
  7820. glCompressedMultiTexImage2DEXT := gl_GetProc('glCompressedMultiTexImage2DEXT');
  7821. glCompressedMultiTexImage1DEXT := gl_GetProc('glCompressedMultiTexImage1DEXT');
  7822. glCompressedMultiTexSubImage3DEXT := gl_GetProc('glCompressedMultiTexSubImage3DEXT');
  7823. glCompressedMultiTexSubImage2DEXT := gl_GetProc('glCompressedMultiTexSubImage2DEXT');
  7824. glCompressedMultiTexSubImage1DEXT := gl_GetProc('glCompressedMultiTexSubImage1DEXT');
  7825. glGetCompressedMultiTexImageEXT := gl_GetProc('glGetCompressedMultiTexImageEXT');
  7826. glMatrixLoadTransposefEXT := gl_GetProc('glMatrixLoadTransposefEXT');
  7827. glMatrixLoadTransposedEXT := gl_GetProc('glMatrixLoadTransposedEXT');
  7828. glMatrixMultTransposefEXT := gl_GetProc('glMatrixMultTransposefEXT');
  7829. glMatrixMultTransposedEXT := gl_GetProc('glMatrixMultTransposedEXT');
  7830. glNamedBufferDataEXT := gl_GetProc('glNamedBufferDataEXT');
  7831. glNamedBufferSubDataEXT := gl_GetProc('glNamedBufferSubDataEXT');
  7832. glMapNamedBufferEXT := gl_GetProc('glMapNamedBufferEXT');
  7833. glUnmapNamedBufferEXT := gl_GetProc('glUnmapNamedBufferEXT');
  7834. glGetNamedBufferParameterivEXT := gl_GetProc('glGetNamedBufferParameterivEXT');
  7835. glGetNamedBufferPointervEXT := gl_GetProc('glGetNamedBufferPointervEXT');
  7836. glGetNamedBufferSubDataEXT := gl_GetProc('glGetNamedBufferSubDataEXT');
  7837. glProgramUniform1fEXT := gl_GetProc('glProgramUniform1fEXT');
  7838. glProgramUniform2fEXT := gl_GetProc('glProgramUniform2fEXT');
  7839. glProgramUniform3fEXT := gl_GetProc('glProgramUniform3fEXT');
  7840. glProgramUniform4fEXT := gl_GetProc('glProgramUniform4fEXT');
  7841. glProgramUniform1iEXT := gl_GetProc('glProgramUniform1iEXT');
  7842. glProgramUniform2iEXT := gl_GetProc('glProgramUniform2iEXT');
  7843. glProgramUniform3iEXT := gl_GetProc('glProgramUniform3iEXT');
  7844. glProgramUniform4iEXT := gl_GetProc('glProgramUniform4iEXT');
  7845. glProgramUniform1fvEXT := gl_GetProc('glProgramUniform1fvEXT');
  7846. glProgramUniform2fvEXT := gl_GetProc('glProgramUniform2fvEXT');
  7847. glProgramUniform3fvEXT := gl_GetProc('glProgramUniform3fvEXT');
  7848. glProgramUniform4fvEXT := gl_GetProc('glProgramUniform4fvEXT');
  7849. glProgramUniform1ivEXT := gl_GetProc('glProgramUniform1ivEXT');
  7850. glProgramUniform2ivEXT := gl_GetProc('glProgramUniform2ivEXT');
  7851. glProgramUniform3ivEXT := gl_GetProc('glProgramUniform3ivEXT');
  7852. glProgramUniform4ivEXT := gl_GetProc('glProgramUniform4ivEXT');
  7853. glProgramUniformMatrix2fvEXT := gl_GetProc('glProgramUniformMatrix2fvEXT');
  7854. glProgramUniformMatrix3fvEXT := gl_GetProc('glProgramUniformMatrix3fvEXT');
  7855. glProgramUniformMatrix4fvEXT := gl_GetProc('glProgramUniformMatrix4fvEXT');
  7856. glProgramUniformMatrix2x3fvEXT := gl_GetProc('glProgramUniformMatrix2x3fvEXT');
  7857. glProgramUniformMatrix3x2fvEXT := gl_GetProc('glProgramUniformMatrix3x2fvEXT');
  7858. glProgramUniformMatrix2x4fvEXT := gl_GetProc('glProgramUniformMatrix2x4fvEXT');
  7859. glProgramUniformMatrix4x2fvEXT := gl_GetProc('glProgramUniformMatrix4x2fvEXT');
  7860. glProgramUniformMatrix3x4fvEXT := gl_GetProc('glProgramUniformMatrix3x4fvEXT');
  7861. glProgramUniformMatrix4x3fvEXT := gl_GetProc('glProgramUniformMatrix4x3fvEXT');
  7862. glTextureBufferEXT := gl_GetProc('glTextureBufferEXT');
  7863. glMultiTexBufferEXT := gl_GetProc('glMultiTexBufferEXT');
  7864. glTextureParameterIivEXT := gl_GetProc('glTextureParameterIivEXT');
  7865. glTextureParameterIuivEXT := gl_GetProc('glTextureParameterIuivEXT');
  7866. glGetTextureParameterIivEXT := gl_GetProc('glGetTextureParameterIivEXT');
  7867. glGetTextureParameterIuivEXT := gl_GetProc('glGetTextureParameterIuivEXT');
  7868. glMultiTexParameterIivEXT := gl_GetProc('glMultiTexParameterIivEXT');
  7869. glMultiTexParameterIuivEXT := gl_GetProc('glMultiTexParameterIuivEXT');
  7870. glGetMultiTexParameterIivEXT := gl_GetProc('glGetMultiTexParameterIivEXT');
  7871. glGetMultiTexParameterIuivEXT := gl_GetProc('glGetMultiTexParameterIuivEXT');
  7872. glProgramUniform1uiEXT := gl_GetProc('glProgramUniform1uiEXT');
  7873. glProgramUniform2uiEXT := gl_GetProc('glProgramUniform2uiEXT');
  7874. glProgramUniform3uiEXT := gl_GetProc('glProgramUniform3uiEXT');
  7875. glProgramUniform4uiEXT := gl_GetProc('glProgramUniform4uiEXT');
  7876. glProgramUniform1uivEXT := gl_GetProc('glProgramUniform1uivEXT');
  7877. glProgramUniform2uivEXT := gl_GetProc('glProgramUniform2uivEXT');
  7878. glProgramUniform3uivEXT := gl_GetProc('glProgramUniform3uivEXT');
  7879. glProgramUniform4uivEXT := gl_GetProc('glProgramUniform4uivEXT');
  7880. glNamedProgramLocalParameters4fvEXT := gl_GetProc('glNamedProgramLocalParameters4fvEXT');
  7881. glNamedProgramLocalParameterI4iEXT := gl_GetProc('glNamedProgramLocalParameterI4iEXT');
  7882. glNamedProgramLocalParameterI4ivEXT := gl_GetProc('glNamedProgramLocalParameterI4ivEXT');
  7883. glNamedProgramLocalParametersI4ivEXT := gl_GetProc('glNamedProgramLocalParametersI4ivEXT');
  7884. glNamedProgramLocalParameterI4uiEXT := gl_GetProc('glNamedProgramLocalParameterI4uiEXT');
  7885. glNamedProgramLocalParameterI4uivEXT := gl_GetProc('glNamedProgramLocalParameterI4uivEXT');
  7886. glNamedProgramLocalParametersI4uivEXT := gl_GetProc('glNamedProgramLocalParametersI4uivEXT');
  7887. glGetNamedProgramLocalParameterIivEXT := gl_GetProc('glGetNamedProgramLocalParameterIivEXT');
  7888. glGetNamedProgramLocalParameterIuivEXT := gl_GetProc('glGetNamedProgramLocalParameterIuivEXT');
  7889. glEnableClientStateiEXT := gl_GetProc('glEnableClientStateiEXT');
  7890. glDisableClientStateiEXT := gl_GetProc('glDisableClientStateiEXT');
  7891. glGetFloati_vEXT := gl_GetProc('glGetFloati_vEXT');
  7892. glGetDoublei_vEXT := gl_GetProc('glGetDoublei_vEXT');
  7893. glGetPointeri_vEXT := gl_GetProc('glGetPointeri_vEXT');
  7894. glNamedProgramStringEXT := gl_GetProc('glNamedProgramStringEXT');
  7895. glNamedProgramLocalParameter4dEXT := gl_GetProc('glNamedProgramLocalParameter4dEXT');
  7896. glNamedProgramLocalParameter4dvEXT := gl_GetProc('glNamedProgramLocalParameter4dvEXT');
  7897. glNamedProgramLocalParameter4fEXT := gl_GetProc('glNamedProgramLocalParameter4fEXT');
  7898. glNamedProgramLocalParameter4fvEXT := gl_GetProc('glNamedProgramLocalParameter4fvEXT');
  7899. glGetNamedProgramLocalParameterdvEXT := gl_GetProc('glGetNamedProgramLocalParameterdvEXT');
  7900. glGetNamedProgramLocalParameterfvEXT := gl_GetProc('glGetNamedProgramLocalParameterfvEXT');
  7901. glGetNamedProgramivEXT := gl_GetProc('glGetNamedProgramivEXT');
  7902. glGetNamedProgramStringEXT := gl_GetProc('glGetNamedProgramStringEXT');
  7903. glNamedRenderbufferStorageEXT := gl_GetProc('glNamedRenderbufferStorageEXT');
  7904. glGetNamedRenderbufferParameterivEXT := gl_GetProc('glGetNamedRenderbufferParameterivEXT');
  7905. glNamedRenderbufferStorageMultisampleEXT := gl_GetProc('glNamedRenderbufferStorageMultisampleEXT');
  7906. glNamedRenderbufferStorageMultisampleCoverageEXT := gl_GetProc('glNamedRenderbufferStorageMultisampleCoverageEXT');
  7907. glCheckNamedFramebufferStatusEXT := gl_GetProc('glCheckNamedFramebufferStatusEXT');
  7908. glNamedFramebufferTexture1DEXT := gl_GetProc('glNamedFramebufferTexture1DEXT');
  7909. glNamedFramebufferTexture2DEXT := gl_GetProc('glNamedFramebufferTexture2DEXT');
  7910. glNamedFramebufferTexture3DEXT := gl_GetProc('glNamedFramebufferTexture3DEXT');
  7911. glNamedFramebufferRenderbufferEXT := gl_GetProc('glNamedFramebufferRenderbufferEXT');
  7912. glGetNamedFramebufferAttachmentParameterivEXT := gl_GetProc('glGetNamedFramebufferAttachmentParameterivEXT');
  7913. glGenerateTextureMipmapEXT := gl_GetProc('glGenerateTextureMipmapEXT');
  7914. glGenerateMultiTexMipmapEXT := gl_GetProc('glGenerateMultiTexMipmapEXT');
  7915. glFramebufferDrawBufferEXT := gl_GetProc('glFramebufferDrawBufferEXT');
  7916. glFramebufferDrawBuffersEXT := gl_GetProc('glFramebufferDrawBuffersEXT');
  7917. glFramebufferReadBufferEXT := gl_GetProc('glFramebufferReadBufferEXT');
  7918. glGetFramebufferParameterivEXT := gl_GetProc('glGetFramebufferParameterivEXT');
  7919. glNamedCopyBufferSubDataEXT := gl_GetProc('glNamedCopyBufferSubDataEXT');
  7920. glNamedFramebufferTextureEXT := gl_GetProc('glNamedFramebufferTextureEXT');
  7921. glNamedFramebufferTextureLayerEXT := gl_GetProc('glNamedFramebufferTextureLayerEXT');
  7922. glNamedFramebufferTextureFaceEXT := gl_GetProc('glNamedFramebufferTextureFaceEXT');
  7923. glTextureRenderbufferEXT := gl_GetProc('glTextureRenderbufferEXT');
  7924. glMultiTexRenderbufferEXT := gl_GetProc('glMultiTexRenderbufferEXT');
  7925. glVertexArrayVertexOffsetEXT := gl_GetProc('glVertexArrayVertexOffsetEXT');
  7926. glVertexArrayColorOffsetEXT := gl_GetProc('glVertexArrayColorOffsetEXT');
  7927. glVertexArrayEdgeFlagOffsetEXT := gl_GetProc('glVertexArrayEdgeFlagOffsetEXT');
  7928. glVertexArrayIndexOffsetEXT := gl_GetProc('glVertexArrayIndexOffsetEXT');
  7929. glVertexArrayNormalOffsetEXT := gl_GetProc('glVertexArrayNormalOffsetEXT');
  7930. glVertexArrayTexCoordOffsetEXT := gl_GetProc('glVertexArrayTexCoordOffsetEXT');
  7931. glVertexArrayMultiTexCoordOffsetEXT := gl_GetProc('glVertexArrayMultiTexCoordOffsetEXT');
  7932. glVertexArrayFogCoordOffsetEXT := gl_GetProc('glVertexArrayFogCoordOffsetEXT');
  7933. glVertexArraySecondaryColorOffsetEXT := gl_GetProc('glVertexArraySecondaryColorOffsetEXT');
  7934. glVertexArrayVertexAttribOffsetEXT := gl_GetProc('glVertexArrayVertexAttribOffsetEXT');
  7935. glVertexArrayVertexAttribIOffsetEXT := gl_GetProc('glVertexArrayVertexAttribIOffsetEXT');
  7936. glEnableVertexArrayEXT := gl_GetProc('glEnableVertexArrayEXT');
  7937. glDisableVertexArrayEXT := gl_GetProc('glDisableVertexArrayEXT');
  7938. glEnableVertexArrayAttribEXT := gl_GetProc('glEnableVertexArrayAttribEXT');
  7939. glDisableVertexArrayAttribEXT := gl_GetProc('glDisableVertexArrayAttribEXT');
  7940. glGetVertexArrayIntegervEXT := gl_GetProc('glGetVertexArrayIntegervEXT');
  7941. glGetVertexArrayPointervEXT := gl_GetProc('glGetVertexArrayPointervEXT');
  7942. glGetVertexArrayIntegeri_vEXT := gl_GetProc('glGetVertexArrayIntegeri_vEXT');
  7943. glGetVertexArrayPointeri_vEXT := gl_GetProc('glGetVertexArrayPointeri_vEXT');
  7944. glMapNamedBufferRangeEXT := gl_GetProc('glMapNamedBufferRangeEXT');
  7945. glFlushMappedNamedBufferRangeEXT := gl_GetProc('glFlushMappedNamedBufferRangeEXT');
  7946. glNamedBufferStorageEXT := gl_GetProc('glNamedBufferStorageEXT');
  7947. glClearNamedBufferDataEXT := gl_GetProc('glClearNamedBufferDataEXT');
  7948. glClearNamedBufferSubDataEXT := gl_GetProc('glClearNamedBufferSubDataEXT');
  7949. glNamedFramebufferParameteriEXT := gl_GetProc('glNamedFramebufferParameteriEXT');
  7950. glGetNamedFramebufferParameterivEXT := gl_GetProc('glGetNamedFramebufferParameterivEXT');
  7951. glProgramUniform1dEXT := gl_GetProc('glProgramUniform1dEXT');
  7952. glProgramUniform2dEXT := gl_GetProc('glProgramUniform2dEXT');
  7953. glProgramUniform3dEXT := gl_GetProc('glProgramUniform3dEXT');
  7954. glProgramUniform4dEXT := gl_GetProc('glProgramUniform4dEXT');
  7955. glProgramUniform1dvEXT := gl_GetProc('glProgramUniform1dvEXT');
  7956. glProgramUniform2dvEXT := gl_GetProc('glProgramUniform2dvEXT');
  7957. glProgramUniform3dvEXT := gl_GetProc('glProgramUniform3dvEXT');
  7958. glProgramUniform4dvEXT := gl_GetProc('glProgramUniform4dvEXT');
  7959. glProgramUniformMatrix2dvEXT := gl_GetProc('glProgramUniformMatrix2dvEXT');
  7960. glProgramUniformMatrix3dvEXT := gl_GetProc('glProgramUniformMatrix3dvEXT');
  7961. glProgramUniformMatrix4dvEXT := gl_GetProc('glProgramUniformMatrix4dvEXT');
  7962. glProgramUniformMatrix2x3dvEXT := gl_GetProc('glProgramUniformMatrix2x3dvEXT');
  7963. glProgramUniformMatrix2x4dvEXT := gl_GetProc('glProgramUniformMatrix2x4dvEXT');
  7964. glProgramUniformMatrix3x2dvEXT := gl_GetProc('glProgramUniformMatrix3x2dvEXT');
  7965. glProgramUniformMatrix3x4dvEXT := gl_GetProc('glProgramUniformMatrix3x4dvEXT');
  7966. glProgramUniformMatrix4x2dvEXT := gl_GetProc('glProgramUniformMatrix4x2dvEXT');
  7967. glProgramUniformMatrix4x3dvEXT := gl_GetProc('glProgramUniformMatrix4x3dvEXT');
  7968. glTextureBufferRangeEXT := gl_GetProc('glTextureBufferRangeEXT');
  7969. glTextureStorage1DEXT := gl_GetProc('glTextureStorage1DEXT');
  7970. glTextureStorage2DEXT := gl_GetProc('glTextureStorage2DEXT');
  7971. glTextureStorage3DEXT := gl_GetProc('glTextureStorage3DEXT');
  7972. glTextureStorage2DMultisampleEXT := gl_GetProc('glTextureStorage2DMultisampleEXT');
  7973. glTextureStorage3DMultisampleEXT := gl_GetProc('glTextureStorage3DMultisampleEXT');
  7974. glVertexArrayBindVertexBufferEXT := gl_GetProc('glVertexArrayBindVertexBufferEXT');
  7975. glVertexArrayVertexAttribFormatEXT := gl_GetProc('glVertexArrayVertexAttribFormatEXT');
  7976. glVertexArrayVertexAttribIFormatEXT := gl_GetProc('glVertexArrayVertexAttribIFormatEXT');
  7977. glVertexArrayVertexAttribLFormatEXT := gl_GetProc('glVertexArrayVertexAttribLFormatEXT');
  7978. glVertexArrayVertexAttribBindingEXT := gl_GetProc('glVertexArrayVertexAttribBindingEXT');
  7979. glVertexArrayVertexBindingDivisorEXT := gl_GetProc('glVertexArrayVertexBindingDivisorEXT');
  7980. glVertexArrayVertexAttribLOffsetEXT := gl_GetProc('glVertexArrayVertexAttribLOffsetEXT');
  7981. glTexturePageCommitmentEXT := gl_GetProc('glTexturePageCommitmentEXT');
  7982. glVertexArrayVertexAttribDivisorEXT := gl_GetProc('glVertexArrayVertexAttribDivisorEXT');
  7983. end;
  7984. {$EndIf}
  7985. {$IfDef GL_EXT_draw_buffers2}
  7986. if GL_EXT_draw_buffers2 then
  7987. glColorMaskIndexedEXT := gl_GetProc('glColorMaskIndexedEXT');
  7988. {$EndIf}
  7989. {$IfDef GL_EXT_draw_instanced}
  7990. if GL_EXT_draw_instanced then
  7991. begin
  7992. glDrawArraysInstancedEXT := gl_GetProc('glDrawArraysInstancedEXT');
  7993. glDrawElementsInstancedEXT := gl_GetProc('glDrawElementsInstancedEXT');
  7994. end;
  7995. {$EndIf}
  7996. {$IfDef GL_EXT_draw_range_elements}
  7997. if GL_EXT_draw_range_elements then
  7998. glDrawRangeElementsEXT := gl_GetProc('glDrawRangeElementsEXT');
  7999. {$EndIf}
  8000. {$IfDef GL_EXT_external_buffer}
  8001. if GL_EXT_external_buffer then
  8002. begin
  8003. glBufferStorageExternalEXT := gl_GetProc('glBufferStorageExternalEXT');
  8004. glNamedBufferStorageExternalEXT := gl_GetProc('glNamedBufferStorageExternalEXT');
  8005. end;
  8006. {$EndIf}
  8007. {$IfDef GL_EXT_fog_coord}
  8008. if GL_EXT_fog_coord then
  8009. begin
  8010. glFogCoordfEXT := gl_GetProc('glFogCoordfEXT');
  8011. glFogCoordfvEXT := gl_GetProc('glFogCoordfvEXT');
  8012. glFogCoorddEXT := gl_GetProc('glFogCoorddEXT');
  8013. glFogCoorddvEXT := gl_GetProc('glFogCoorddvEXT');
  8014. glFogCoordPointerEXT := gl_GetProc('glFogCoordPointerEXT');
  8015. end;
  8016. {$EndIf}
  8017. {$IfDef GL_EXT_framebuffer_blit}
  8018. if GL_EXT_framebuffer_blit then
  8019. glBlitFramebufferEXT := gl_GetProc('glBlitFramebufferEXT');
  8020. {$EndIf}
  8021. {$IfDef GL_EXT_framebuffer_multisample}
  8022. if GL_EXT_framebuffer_multisample then
  8023. glRenderbufferStorageMultisampleEXT := gl_GetProc('glRenderbufferStorageMultisampleEXT');
  8024. {$EndIf}
  8025. {$IfDef GL_EXT_framebuffer_object}
  8026. if GL_EXT_framebuffer_object then
  8027. begin
  8028. // glIsRenderbufferEXT := gl_GetProc('glIsRenderbufferEXT');
  8029. // glBindRenderbufferEXT := gl_GetProc('glBindRenderbufferEXT');
  8030. // glDeleteRenderbuffersEXT := gl_GetProc('glDeleteRenderbuffersEXT');
  8031. // glGenRenderbuffersEXT := gl_GetProc('glGenRenderbuffersEXT');
  8032. // glRenderbufferStorageEXT := gl_GetProc('glRenderbufferStorageEXT');
  8033. glGetRenderbufferParameterivEXT := gl_GetProc('glGetRenderbufferParameterivEXT');
  8034. // glIsFramebufferEXT := gl_GetProc('glIsFramebufferEXT');
  8035. // glBindFramebufferEXT := gl_GetProc('glBindFramebufferEXT');
  8036. // glDeleteFramebuffersEXT := gl_GetProc('glDeleteFramebuffersEXT');
  8037. // glGenFramebuffersEXT := gl_GetProc('glGenFramebuffersEXT');
  8038. // glCheckFramebufferStatusEXT := gl_GetProc('glCheckFramebufferStatusEXT');
  8039. glFramebufferTexture1DEXT := gl_GetProc('glFramebufferTexture1DEXT');
  8040. // glFramebufferTexture2DEXT := gl_GetProc('glFramebufferTexture2DEXT');
  8041. glFramebufferTexture3DEXT := gl_GetProc('glFramebufferTexture3DEXT');
  8042. // glFramebufferRenderbufferEXT := gl_GetProc('glFramebufferRenderbufferEXT');
  8043. glGetFramebufferAttachmentParameterivEXT := gl_GetProc('glGetFramebufferAttachmentParameterivEXT');
  8044. glGenerateMipmapEXT := gl_GetProc('glGenerateMipmapEXT');
  8045. end;
  8046. {$EndIf}
  8047. {$IfDef GL_EXT_geometry_shader4}
  8048. if GL_EXT_geometry_shader4 then
  8049. glProgramParameteriEXT := gl_GetProc('glProgramParameteriEXT');
  8050. {$EndIf}
  8051. {$IfDef GL_EXT_gpu_program_parameters}
  8052. if GL_EXT_gpu_program_parameters then
  8053. begin
  8054. glProgramEnvParameters4fvEXT := gl_GetProc('glProgramEnvParameters4fvEXT');
  8055. glProgramLocalParameters4fvEXT := gl_GetProc('glProgramLocalParameters4fvEXT');
  8056. end;
  8057. {$EndIf}
  8058. {$IfDef GL_EXT_gpu_shader4}
  8059. if GL_EXT_gpu_shader4 then
  8060. begin
  8061. glGetUniformuivEXT := gl_GetProc('glGetUniformuivEXT');
  8062. glBindFragDataLocationEXT := gl_GetProc('glBindFragDataLocationEXT');
  8063. glGetFragDataLocationEXT := gl_GetProc('glGetFragDataLocationEXT');
  8064. glUniform1uiEXT := gl_GetProc('glUniform1uiEXT');
  8065. glUniform2uiEXT := gl_GetProc('glUniform2uiEXT');
  8066. glUniform3uiEXT := gl_GetProc('glUniform3uiEXT');
  8067. glUniform4uiEXT := gl_GetProc('glUniform4uiEXT');
  8068. glUniform1uivEXT := gl_GetProc('glUniform1uivEXT');
  8069. glUniform2uivEXT := gl_GetProc('glUniform2uivEXT');
  8070. glUniform3uivEXT := gl_GetProc('glUniform3uivEXT');
  8071. glUniform4uivEXT := gl_GetProc('glUniform4uivEXT');
  8072. glVertexAttribI1iEXT := gl_GetProc('glVertexAttribI1iEXT');
  8073. glVertexAttribI2iEXT := gl_GetProc('glVertexAttribI2iEXT');
  8074. glVertexAttribI3iEXT := gl_GetProc('glVertexAttribI3iEXT');
  8075. glVertexAttribI4iEXT := gl_GetProc('glVertexAttribI4iEXT');
  8076. glVertexAttribI1uiEXT := gl_GetProc('glVertexAttribI1uiEXT');
  8077. glVertexAttribI2uiEXT := gl_GetProc('glVertexAttribI2uiEXT');
  8078. glVertexAttribI3uiEXT := gl_GetProc('glVertexAttribI3uiEXT');
  8079. glVertexAttribI4uiEXT := gl_GetProc('glVertexAttribI4uiEXT');
  8080. glVertexAttribI1ivEXT := gl_GetProc('glVertexAttribI1ivEXT');
  8081. glVertexAttribI2ivEXT := gl_GetProc('glVertexAttribI2ivEXT');
  8082. glVertexAttribI3ivEXT := gl_GetProc('glVertexAttribI3ivEXT');
  8083. glVertexAttribI4ivEXT := gl_GetProc('glVertexAttribI4ivEXT');
  8084. glVertexAttribI1uivEXT := gl_GetProc('glVertexAttribI1uivEXT');
  8085. glVertexAttribI2uivEXT := gl_GetProc('glVertexAttribI2uivEXT');
  8086. glVertexAttribI3uivEXT := gl_GetProc('glVertexAttribI3uivEXT');
  8087. glVertexAttribI4uivEXT := gl_GetProc('glVertexAttribI4uivEXT');
  8088. glVertexAttribI4bvEXT := gl_GetProc('glVertexAttribI4bvEXT');
  8089. glVertexAttribI4svEXT := gl_GetProc('glVertexAttribI4svEXT');
  8090. glVertexAttribI4ubvEXT := gl_GetProc('glVertexAttribI4ubvEXT');
  8091. glVertexAttribI4usvEXT := gl_GetProc('glVertexAttribI4usvEXT');
  8092. glVertexAttribIPointerEXT := gl_GetProc('glVertexAttribIPointerEXT');
  8093. glGetVertexAttribIivEXT := gl_GetProc('glGetVertexAttribIivEXT');
  8094. glGetVertexAttribIuivEXT := gl_GetProc('glGetVertexAttribIuivEXT');
  8095. end;
  8096. {$EndIf}
  8097. {$IfDef GL_EXT_histogram}
  8098. if GL_EXT_histogram then
  8099. begin
  8100. glGetHistogramEXT := gl_GetProc('glGetHistogramEXT');
  8101. glGetHistogramParameterfvEXT := gl_GetProc('glGetHistogramParameterfvEXT');
  8102. glGetHistogramParameterivEXT := gl_GetProc('glGetHistogramParameterivEXT');
  8103. glGetMinmaxEXT := gl_GetProc('glGetMinmaxEXT');
  8104. glGetMinmaxParameterfvEXT := gl_GetProc('glGetMinmaxParameterfvEXT');
  8105. glGetMinmaxParameterivEXT := gl_GetProc('glGetMinmaxParameterivEXT');
  8106. glHistogramEXT := gl_GetProc('glHistogramEXT');
  8107. glMinmaxEXT := gl_GetProc('glMinmaxEXT');
  8108. glResetHistogramEXT := gl_GetProc('glResetHistogramEXT');
  8109. glResetMinmaxEXT := gl_GetProc('glResetMinmaxEXT');
  8110. end;
  8111. {$EndIf}
  8112. {$IfDef GL_EXT_index_func}
  8113. if GL_EXT_index_func then
  8114. glIndexFuncEXT := gl_GetProc('glIndexFuncEXT');
  8115. {$EndIf}
  8116. {$IfDef GL_EXT_index_material}
  8117. if GL_EXT_index_material then
  8118. glIndexMaterialEXT := gl_GetProc('glIndexMaterialEXT');
  8119. {$EndIf}
  8120. {$IfDef GL_EXT_light_texture}
  8121. if GL_EXT_light_texture then
  8122. begin
  8123. glApplyTextureEXT := gl_GetProc('glApplyTextureEXT');
  8124. glTextureLightEXT := gl_GetProc('glTextureLightEXT');
  8125. glTextureMaterialEXT := gl_GetProc('glTextureMaterialEXT');
  8126. end;
  8127. {$EndIf}
  8128. {$IfDef GL_EXT_memory_object}
  8129. if GL_EXT_memory_object then
  8130. begin
  8131. glGetUnsignedBytevEXT := gl_GetProc('glGetUnsignedBytevEXT');
  8132. glGetUnsignedBytei_vEXT := gl_GetProc('glGetUnsignedBytei_vEXT');
  8133. glDeleteMemoryObjectsEXT := gl_GetProc('glDeleteMemoryObjectsEXT');
  8134. glIsMemoryObjectEXT := gl_GetProc('glIsMemoryObjectEXT');
  8135. glCreateMemoryObjectsEXT := gl_GetProc('glCreateMemoryObjectsEXT');
  8136. glMemoryObjectParameterivEXT := gl_GetProc('glMemoryObjectParameterivEXT');
  8137. glGetMemoryObjectParameterivEXT := gl_GetProc('glGetMemoryObjectParameterivEXT');
  8138. glTexStorageMem2DEXT := gl_GetProc('glTexStorageMem2DEXT');
  8139. glTexStorageMem2DMultisampleEXT := gl_GetProc('glTexStorageMem2DMultisampleEXT');
  8140. glTexStorageMem3DEXT := gl_GetProc('glTexStorageMem3DEXT');
  8141. glTexStorageMem3DMultisampleEXT := gl_GetProc('glTexStorageMem3DMultisampleEXT');
  8142. glBufferStorageMemEXT := gl_GetProc('glBufferStorageMemEXT');
  8143. glTextureStorageMem2DEXT := gl_GetProc('glTextureStorageMem2DEXT');
  8144. glTextureStorageMem2DMultisampleEXT := gl_GetProc('glTextureStorageMem2DMultisampleEXT');
  8145. glTextureStorageMem3DEXT := gl_GetProc('glTextureStorageMem3DEXT');
  8146. glTextureStorageMem3DMultisampleEXT := gl_GetProc('glTextureStorageMem3DMultisampleEXT');
  8147. glNamedBufferStorageMemEXT := gl_GetProc('glNamedBufferStorageMemEXT');
  8148. glTexStorageMem1DEXT := gl_GetProc('glTexStorageMem1DEXT');
  8149. glTextureStorageMem1DEXT := gl_GetProc('glTextureStorageMem1DEXT');
  8150. end;
  8151. {$EndIf}
  8152. {$IfDef GL_EXT_memory_object_fd}
  8153. if GL_EXT_memory_object_fd then
  8154. glImportMemoryFdEXT := gl_GetProc('glImportMemoryFdEXT');
  8155. {$EndIf}
  8156. {$IfDef GL_EXT_memory_object_win32}
  8157. if GL_EXT_memory_object_win32 then
  8158. begin
  8159. glImportMemoryWin32HandleEXT := gl_GetProc('glImportMemoryWin32HandleEXT');
  8160. glImportMemoryWin32NameEXT := gl_GetProc('glImportMemoryWin32NameEXT');
  8161. end;
  8162. {$EndIf}
  8163. {$IfDef GL_EXT_multi_draw_arrays}
  8164. if GL_EXT_multi_draw_arrays then
  8165. begin
  8166. glMultiDrawArraysEXT := gl_GetProc('glMultiDrawArraysEXT');
  8167. glMultiDrawElementsEXT := gl_GetProc('glMultiDrawElementsEXT');
  8168. end;
  8169. {$EndIf}
  8170. {$IfDef GL_EXT_multisample}
  8171. if GL_EXT_multisample then
  8172. begin
  8173. glSampleMaskEXT := gl_GetProc('glSampleMaskEXT');
  8174. glSamplePatternEXT := gl_GetProc('glSamplePatternEXT');
  8175. end;
  8176. {$EndIf}
  8177. {$IfDef GL_EXT_paletted_texture}
  8178. if GL_EXT_paletted_texture then
  8179. begin
  8180. glColorTableEXT := gl_GetProc('glColorTableEXT');
  8181. glGetColorTableEXT := gl_GetProc('glGetColorTableEXT');
  8182. glGetColorTableParameterivEXT := gl_GetProc('glGetColorTableParameterivEXT');
  8183. glGetColorTableParameterfvEXT := gl_GetProc('glGetColorTableParameterfvEXT');
  8184. end;
  8185. {$EndIf}
  8186. {$IfDef GL_EXT_pixel_transform}
  8187. if GL_EXT_pixel_transform then
  8188. begin
  8189. glPixelTransformParameteriEXT := gl_GetProc('glPixelTransformParameteriEXT');
  8190. glPixelTransformParameterfEXT := gl_GetProc('glPixelTransformParameterfEXT');
  8191. glPixelTransformParameterivEXT := gl_GetProc('glPixelTransformParameterivEXT');
  8192. glPixelTransformParameterfvEXT := gl_GetProc('glPixelTransformParameterfvEXT');
  8193. glGetPixelTransformParameterivEXT := gl_GetProc('glGetPixelTransformParameterivEXT');
  8194. glGetPixelTransformParameterfvEXT := gl_GetProc('glGetPixelTransformParameterfvEXT');
  8195. end;
  8196. {$EndIf}
  8197. {$IfDef GL_EXT_point_parameters}
  8198. if GL_EXT_point_parameters then
  8199. begin
  8200. glPointParameterfEXT := gl_GetProc('glPointParameterfEXT');
  8201. glPointParameterfvEXT := gl_GetProc('glPointParameterfvEXT');
  8202. end;
  8203. {$EndIf}
  8204. {$IfDef GL_EXT_polygon_offset}
  8205. if GL_EXT_polygon_offset then
  8206. glPolygonOffsetEXT := gl_GetProc('glPolygonOffsetEXT');
  8207. {$EndIf}
  8208. {$IfDef GL_EXT_polygon_offset_clamp}
  8209. if GL_EXT_polygon_offset_clamp then
  8210. glPolygonOffsetClampEXT := gl_GetProc('glPolygonOffsetClampEXT');
  8211. {$EndIf}
  8212. {$IfDef GL_EXT_provoking_vertex}
  8213. if GL_EXT_provoking_vertex then
  8214. glProvokingVertexEXT := gl_GetProc('glProvokingVertexEXT');
  8215. {$EndIf}
  8216. {$IfDef GL_EXT_raster_multisample}
  8217. if GL_EXT_raster_multisample then
  8218. glRasterSamplesEXT := gl_GetProc('glRasterSamplesEXT');
  8219. {$EndIf}
  8220. {$IfDef GL_EXT_secondary_color}
  8221. if GL_EXT_secondary_color then
  8222. begin
  8223. glSecondaryColor3bEXT := gl_GetProc('glSecondaryColor3bEXT');
  8224. glSecondaryColor3bvEXT := gl_GetProc('glSecondaryColor3bvEXT');
  8225. glSecondaryColor3dEXT := gl_GetProc('glSecondaryColor3dEXT');
  8226. glSecondaryColor3dvEXT := gl_GetProc('glSecondaryColor3dvEXT');
  8227. glSecondaryColor3fEXT := gl_GetProc('glSecondaryColor3fEXT');
  8228. glSecondaryColor3fvEXT := gl_GetProc('glSecondaryColor3fvEXT');
  8229. glSecondaryColor3iEXT := gl_GetProc('glSecondaryColor3iEXT');
  8230. glSecondaryColor3ivEXT := gl_GetProc('glSecondaryColor3ivEXT');
  8231. glSecondaryColor3sEXT := gl_GetProc('glSecondaryColor3sEXT');
  8232. glSecondaryColor3svEXT := gl_GetProc('glSecondaryColor3svEXT');
  8233. glSecondaryColor3ubEXT := gl_GetProc('glSecondaryColor3ubEXT');
  8234. glSecondaryColor3ubvEXT := gl_GetProc('glSecondaryColor3ubvEXT');
  8235. glSecondaryColor3uiEXT := gl_GetProc('glSecondaryColor3uiEXT');
  8236. glSecondaryColor3uivEXT := gl_GetProc('glSecondaryColor3uivEXT');
  8237. glSecondaryColor3usEXT := gl_GetProc('glSecondaryColor3usEXT');
  8238. glSecondaryColor3usvEXT := gl_GetProc('glSecondaryColor3usvEXT');
  8239. glSecondaryColorPointerEXT := gl_GetProc('glSecondaryColorPointerEXT');
  8240. end;
  8241. {$EndIf}
  8242. {$IfDef GL_EXT_semaphore}
  8243. if GL_EXT_semaphore then
  8244. begin
  8245. glGenSemaphoresEXT := gl_GetProc('glGenSemaphoresEXT');
  8246. glDeleteSemaphoresEXT := gl_GetProc('glDeleteSemaphoresEXT');
  8247. glGetSemaphoreParameterui64vEXT := gl_GetProc('glGetSemaphoreParameterui64vEXT');
  8248. glIsSemaphoreEXT := gl_GetProc('glIsSemaphoreEXT');
  8249. glSemaphoreParameterui64vEXT := gl_GetProc('glSemaphoreParameterui64vEXT');
  8250. glWaitSemaphoreEXT := gl_GetProc('glWaitSemaphoreEXT');
  8251. glSignalSemaphoreEXT := gl_GetProc('glSignalSemaphoreEXT');
  8252. end;
  8253. {$EndIf}
  8254. {$IfDef GL_EXT_semaphore_fd}
  8255. if GL_EXT_semaphore_fd then
  8256. glImportSemaphoreFdEXT := gl_GetProc('glImportSemaphoreFdEXT');
  8257. {$EndIf}
  8258. {$IfDef GL_EXT_semaphore_win32}
  8259. if GL_EXT_semaphore_win32 then
  8260. begin
  8261. glImportSemaphoreWin32HandleEXT := gl_GetProc('glImportSemaphoreWin32HandleEXT');
  8262. glImportSemaphoreWin32NameEXT := gl_GetProc('glImportSemaphoreWin32NameEXT');
  8263. end;
  8264. {$EndIf}
  8265. {$IfDef GL_EXT_separate_shader_objects}
  8266. if GL_EXT_separate_shader_objects then
  8267. begin
  8268. glUseShaderProgramEXT := gl_GetProc('glUseShaderProgramEXT');
  8269. glActiveProgramEXT := gl_GetProc('glActiveProgramEXT');
  8270. glCreateShaderProgramEXT := gl_GetProc('glCreateShaderProgramEXT');
  8271. end;
  8272. {$EndIf}
  8273. {$IfDef GL_EXT_shader_framebuffer_fetch_non_coherent}
  8274. if GL_EXT_shader_framebuffer_fetch_non_coherent then
  8275. glFramebufferFetchBarrierEXT := gl_GetProc('glFramebufferFetchBarrierEXT');
  8276. {$EndIf}
  8277. {$IfDef GL_EXT_shader_image_load_store}
  8278. if GL_EXT_shader_image_load_store then
  8279. begin
  8280. glBindImageTextureEXT := gl_GetProc('glBindImageTextureEXT');
  8281. glMemoryBarrierEXT := gl_GetProc('glMemoryBarrierEXT');
  8282. end;
  8283. {$EndIf}
  8284. {$IfDef GL_EXT_stencil_clear_tag}
  8285. if GL_EXT_stencil_clear_tag then
  8286. glStencilClearTagEXT := gl_GetProc('glStencilClearTagEXT');
  8287. {$EndIf}
  8288. {$IfDef GL_EXT_stencil_two_side}
  8289. if GL_EXT_stencil_two_side then
  8290. glActiveStencilFaceEXT := gl_GetProc('glActiveStencilFaceEXT');
  8291. {$EndIf}
  8292. {$IfDef GL_EXT_subtexture}
  8293. if GL_EXT_subtexture then
  8294. begin
  8295. glTexSubImage1DEXT := gl_GetProc('glTexSubImage1DEXT');
  8296. glTexSubImage2DEXT := gl_GetProc('glTexSubImage2DEXT');
  8297. end;
  8298. {$EndIf}
  8299. {$IfDef GL_EXT_texture3D}
  8300. if GL_EXT_texture3D then
  8301. begin
  8302. glTexImage3DEXT := gl_GetProc('glTexImage3DEXT');
  8303. glTexSubImage3DEXT := gl_GetProc('glTexSubImage3DEXT');
  8304. end;
  8305. {$EndIf}
  8306. {$IfDef GL_EXT_texture_array}
  8307. if GL_EXT_texture_array then
  8308. glFramebufferTextureLayerEXT := gl_GetProc('glFramebufferTextureLayerEXT');
  8309. {$EndIf}
  8310. {$IfDef GL_EXT_texture_buffer_object}
  8311. if GL_EXT_texture_buffer_object then
  8312. glTexBufferEXT := gl_GetProc('glTexBufferEXT');
  8313. {$EndIf}
  8314. {$IfDef GL_EXT_texture_integer}
  8315. if GL_EXT_texture_integer then
  8316. begin
  8317. glTexParameterIivEXT := gl_GetProc('glTexParameterIivEXT');
  8318. glTexParameterIuivEXT := gl_GetProc('glTexParameterIuivEXT');
  8319. glGetTexParameterIivEXT := gl_GetProc('glGetTexParameterIivEXT');
  8320. glGetTexParameterIuivEXT := gl_GetProc('glGetTexParameterIuivEXT');
  8321. glClearColorIiEXT := gl_GetProc('glClearColorIiEXT');
  8322. glClearColorIuiEXT := gl_GetProc('glClearColorIuiEXT');
  8323. end;
  8324. {$EndIf}
  8325. {$IfDef GL_EXT_texture_object}
  8326. if GL_EXT_texture_object then
  8327. begin
  8328. glAreTexturesResidentEXT := gl_GetProc('glAreTexturesResidentEXT');
  8329. glBindTextureEXT := gl_GetProc('glBindTextureEXT');
  8330. glDeleteTexturesEXT := gl_GetProc('glDeleteTexturesEXT');
  8331. glGenTexturesEXT := gl_GetProc('glGenTexturesEXT');
  8332. glIsTextureEXT := gl_GetProc('glIsTextureEXT');
  8333. glPrioritizeTexturesEXT := gl_GetProc('glPrioritizeTexturesEXT');
  8334. end;
  8335. {$EndIf}
  8336. {$IfDef GL_EXT_texture_perturb_normal}
  8337. if GL_EXT_texture_perturb_normal then
  8338. glTextureNormalEXT := gl_GetProc('glTextureNormalEXT');
  8339. {$EndIf}
  8340. {$IfDef GL_EXT_texture_storage}
  8341. if GL_EXT_texture_storage then
  8342. begin
  8343. glTexStorage1DEXT := gl_GetProc('glTexStorage1DEXT');
  8344. glTexStorage2DEXT := gl_GetProc('glTexStorage2DEXT');
  8345. glTexStorage3DEXT := gl_GetProc('glTexStorage3DEXT');
  8346. end;
  8347. {$EndIf}
  8348. {$IfDef GL_EXT_timer_query}
  8349. if GL_EXT_timer_query then
  8350. begin
  8351. glGetQueryObjecti64vEXT := gl_GetProc('glGetQueryObjecti64vEXT');
  8352. glGetQueryObjectui64vEXT := gl_GetProc('glGetQueryObjectui64vEXT');
  8353. end;
  8354. {$EndIf}
  8355. {$IfDef GL_EXT_transform_feedback}
  8356. if GL_EXT_transform_feedback then
  8357. begin
  8358. glBeginTransformFeedbackEXT := gl_GetProc('glBeginTransformFeedbackEXT');
  8359. glEndTransformFeedbackEXT := gl_GetProc('glEndTransformFeedbackEXT');
  8360. glBindBufferRangeEXT := gl_GetProc('glBindBufferRangeEXT');
  8361. glBindBufferOffsetEXT := gl_GetProc('glBindBufferOffsetEXT');
  8362. glBindBufferBaseEXT := gl_GetProc('glBindBufferBaseEXT');
  8363. glTransformFeedbackVaryingsEXT := gl_GetProc('glTransformFeedbackVaryingsEXT');
  8364. glGetTransformFeedbackVaryingEXT := gl_GetProc('glGetTransformFeedbackVaryingEXT');
  8365. end;
  8366. {$EndIf}
  8367. {$IfDef GL_EXT_vertex_array}
  8368. if GL_EXT_vertex_array then
  8369. begin
  8370. glArrayElementEXT := gl_GetProc('glArrayElementEXT');
  8371. glColorPointerEXT := gl_GetProc('glColorPointerEXT');
  8372. glDrawArraysEXT := gl_GetProc('glDrawArraysEXT');
  8373. glEdgeFlagPointerEXT := gl_GetProc('glEdgeFlagPointerEXT');
  8374. glGetPointervEXT := gl_GetProc('glGetPointervEXT');
  8375. glIndexPointerEXT := gl_GetProc('glIndexPointerEXT');
  8376. glNormalPointerEXT := gl_GetProc('glNormalPointerEXT');
  8377. glTexCoordPointerEXT := gl_GetProc('glTexCoordPointerEXT');
  8378. glVertexPointerEXT := gl_GetProc('glVertexPointerEXT');
  8379. end;
  8380. {$EndIf}
  8381. {$IfDef GL_EXT_vertex_attrib_64bit}
  8382. if GL_EXT_vertex_attrib_64bit then
  8383. begin
  8384. glVertexAttribL1dEXT := gl_GetProc('glVertexAttribL1dEXT');
  8385. glVertexAttribL2dEXT := gl_GetProc('glVertexAttribL2dEXT');
  8386. glVertexAttribL3dEXT := gl_GetProc('glVertexAttribL3dEXT');
  8387. glVertexAttribL4dEXT := gl_GetProc('glVertexAttribL4dEXT');
  8388. glVertexAttribL1dvEXT := gl_GetProc('glVertexAttribL1dvEXT');
  8389. glVertexAttribL2dvEXT := gl_GetProc('glVertexAttribL2dvEXT');
  8390. glVertexAttribL3dvEXT := gl_GetProc('glVertexAttribL3dvEXT');
  8391. glVertexAttribL4dvEXT := gl_GetProc('glVertexAttribL4dvEXT');
  8392. glVertexAttribLPointerEXT := gl_GetProc('glVertexAttribLPointerEXT');
  8393. glGetVertexAttribLdvEXT := gl_GetProc('glGetVertexAttribLdvEXT');
  8394. end;
  8395. {$EndIf}
  8396. {$IfDef GL_EXT_vertex_shader}
  8397. if GL_EXT_vertex_shader then
  8398. begin
  8399. glBeginVertexShaderEXT := gl_GetProc('glBeginVertexShaderEXT');
  8400. glEndVertexShaderEXT := gl_GetProc('glEndVertexShaderEXT');
  8401. glBindVertexShaderEXT := gl_GetProc('glBindVertexShaderEXT');
  8402. glGenVertexShadersEXT := gl_GetProc('glGenVertexShadersEXT');
  8403. glDeleteVertexShaderEXT := gl_GetProc('glDeleteVertexShaderEXT');
  8404. glShaderOp1EXT := gl_GetProc('glShaderOp1EXT');
  8405. glShaderOp2EXT := gl_GetProc('glShaderOp2EXT');
  8406. glShaderOp3EXT := gl_GetProc('glShaderOp3EXT');
  8407. glSwizzleEXT := gl_GetProc('glSwizzleEXT');
  8408. glWriteMaskEXT := gl_GetProc('glWriteMaskEXT');
  8409. glInsertComponentEXT := gl_GetProc('glInsertComponentEXT');
  8410. glExtractComponentEXT := gl_GetProc('glExtractComponentEXT');
  8411. glGenSymbolsEXT := gl_GetProc('glGenSymbolsEXT');
  8412. glSetInvariantEXT := gl_GetProc('glSetInvariantEXT');
  8413. glSetLocalConstantEXT := gl_GetProc('glSetLocalConstantEXT');
  8414. glVariantbvEXT := gl_GetProc('glVariantbvEXT');
  8415. glVariantsvEXT := gl_GetProc('glVariantsvEXT');
  8416. glVariantivEXT := gl_GetProc('glVariantivEXT');
  8417. glVariantfvEXT := gl_GetProc('glVariantfvEXT');
  8418. glVariantdvEXT := gl_GetProc('glVariantdvEXT');
  8419. glVariantubvEXT := gl_GetProc('glVariantubvEXT');
  8420. glVariantusvEXT := gl_GetProc('glVariantusvEXT');
  8421. glVariantuivEXT := gl_GetProc('glVariantuivEXT');
  8422. glVariantPointerEXT := gl_GetProc('glVariantPointerEXT');
  8423. glEnableVariantClientStateEXT := gl_GetProc('glEnableVariantClientStateEXT');
  8424. glDisableVariantClientStateEXT := gl_GetProc('glDisableVariantClientStateEXT');
  8425. glBindLightParameterEXT := gl_GetProc('glBindLightParameterEXT');
  8426. glBindMaterialParameterEXT := gl_GetProc('glBindMaterialParameterEXT');
  8427. glBindTexGenParameterEXT := gl_GetProc('glBindTexGenParameterEXT');
  8428. glBindTextureUnitParameterEXT := gl_GetProc('glBindTextureUnitParameterEXT');
  8429. glBindParameterEXT := gl_GetProc('glBindParameterEXT');
  8430. glIsVariantEnabledEXT := gl_GetProc('glIsVariantEnabledEXT');
  8431. glGetVariantBooleanvEXT := gl_GetProc('glGetVariantBooleanvEXT');
  8432. glGetVariantIntegervEXT := gl_GetProc('glGetVariantIntegervEXT');
  8433. glGetVariantFloatvEXT := gl_GetProc('glGetVariantFloatvEXT');
  8434. glGetVariantPointervEXT := gl_GetProc('glGetVariantPointervEXT');
  8435. glGetInvariantBooleanvEXT := gl_GetProc('glGetInvariantBooleanvEXT');
  8436. glGetInvariantIntegervEXT := gl_GetProc('glGetInvariantIntegervEXT');
  8437. glGetInvariantFloatvEXT := gl_GetProc('glGetInvariantFloatvEXT');
  8438. glGetLocalConstantBooleanvEXT := gl_GetProc('glGetLocalConstantBooleanvEXT');
  8439. glGetLocalConstantIntegervEXT := gl_GetProc('glGetLocalConstantIntegervEXT');
  8440. glGetLocalConstantFloatvEXT := gl_GetProc('glGetLocalConstantFloatvEXT');
  8441. end;
  8442. {$EndIf}
  8443. {$IfDef GL_EXT_vertex_weighting}
  8444. if GL_EXT_vertex_weighting then
  8445. begin
  8446. glVertexWeightfEXT := gl_GetProc('glVertexWeightfEXT');
  8447. glVertexWeightfvEXT := gl_GetProc('glVertexWeightfvEXT');
  8448. glVertexWeightPointerEXT := gl_GetProc('glVertexWeightPointerEXT');
  8449. end;
  8450. {$EndIf}
  8451. {$IfDef GL_EXT_win32_keyed_mutex}
  8452. if GL_EXT_win32_keyed_mutex then
  8453. begin
  8454. glAcquireKeyedMutexWin32EXT := gl_GetProc('glAcquireKeyedMutexWin32EXT');
  8455. glReleaseKeyedMutexWin32EXT := gl_GetProc('glReleaseKeyedMutexWin32EXT');
  8456. end;
  8457. {$EndIf}
  8458. {$IfDef GL_EXT_window_rectangles}
  8459. if GL_EXT_window_rectangles then
  8460. glWindowRectanglesEXT := gl_GetProc('glWindowRectanglesEXT');
  8461. {$EndIf}
  8462. {$IfDef GL_EXT_x11_sync_object}
  8463. if GL_EXT_x11_sync_object then
  8464. glImportSyncEXT := gl_GetProc('glImportSyncEXT');
  8465. {$EndIf}
  8466. {$IfDef GL_GREMEDY_frame_terminator}
  8467. if GL_GREMEDY_frame_terminator then
  8468. glFrameTerminatorGREMEDY := gl_GetProc('glFrameTerminatorGREMEDY');
  8469. {$EndIf}
  8470. {$IfDef GL_GREMEDY_string_marker}
  8471. if GL_GREMEDY_string_marker then
  8472. glStringMarkerGREMEDY := gl_GetProc('glStringMarkerGREMEDY');
  8473. {$EndIf}
  8474. {$IfDef GL_HP_image_transform}
  8475. if GL_HP_image_transform then
  8476. begin
  8477. glImageTransformParameteriHP := gl_GetProc('glImageTransformParameteriHP');
  8478. glImageTransformParameterfHP := gl_GetProc('glImageTransformParameterfHP');
  8479. glImageTransformParameterivHP := gl_GetProc('glImageTransformParameterivHP');
  8480. glImageTransformParameterfvHP := gl_GetProc('glImageTransformParameterfvHP');
  8481. glGetImageTransformParameterivHP := gl_GetProc('glGetImageTransformParameterivHP');
  8482. glGetImageTransformParameterfvHP := gl_GetProc('glGetImageTransformParameterfvHP');
  8483. end;
  8484. {$EndIf}
  8485. {$IfDef GL_IBM_multimode_draw_arrays}
  8486. if GL_IBM_multimode_draw_arrays then
  8487. begin
  8488. glMultiModeDrawArraysIBM := gl_GetProc('glMultiModeDrawArraysIBM');
  8489. glMultiModeDrawElementsIBM := gl_GetProc('glMultiModeDrawElementsIBM');
  8490. end;
  8491. {$EndIf}
  8492. {$IfDef GL_IBM_static_data}
  8493. if GL_IBM_static_data then
  8494. glFlushStaticDataIBM := gl_GetProc('glFlushStaticDataIBM');
  8495. {$EndIf}
  8496. {$IfDef GL_IBM_vertex_array_lists}
  8497. if GL_IBM_vertex_array_lists then
  8498. begin
  8499. glColorPointerListIBM := gl_GetProc('glColorPointerListIBM');
  8500. glSecondaryColorPointerListIBM := gl_GetProc('glSecondaryColorPointerListIBM');
  8501. glEdgeFlagPointerListIBM := gl_GetProc('glEdgeFlagPointerListIBM');
  8502. glFogCoordPointerListIBM := gl_GetProc('glFogCoordPointerListIBM');
  8503. glIndexPointerListIBM := gl_GetProc('glIndexPointerListIBM');
  8504. glNormalPointerListIBM := gl_GetProc('glNormalPointerListIBM');
  8505. glTexCoordPointerListIBM := gl_GetProc('glTexCoordPointerListIBM');
  8506. glVertexPointerListIBM := gl_GetProc('glVertexPointerListIBM');
  8507. end;
  8508. {$EndIf}
  8509. {$IfDef GL_INGR_blend_func_separate}
  8510. if GL_INGR_blend_func_separate then
  8511. glBlendFuncSeparateINGR := gl_GetProc('glBlendFuncSeparateINGR');
  8512. {$EndIf}
  8513. {$IfDef GL_INTEL_framebuffer_CMAA}
  8514. if GL_INTEL_framebuffer_CMAA then
  8515. glApplyFramebufferAttachmentCMAAINTEL := gl_GetProc('glApplyFramebufferAttachmentCMAAINTEL');
  8516. {$EndIf}
  8517. {$IfDef GL_INTEL_map_texture}
  8518. if GL_INTEL_map_texture then
  8519. begin
  8520. glSyncTextureINTEL := gl_GetProc('glSyncTextureINTEL');
  8521. glUnmapTexture2DINTEL := gl_GetProc('glUnmapTexture2DINTEL');
  8522. glMapTexture2DINTEL := gl_GetProc('glMapTexture2DINTEL');
  8523. end;
  8524. {$EndIf}
  8525. {$IfDef GL_INTEL_parallel_arrays}
  8526. if GL_INTEL_parallel_arrays then
  8527. begin
  8528. glVertexPointervINTEL := gl_GetProc('glVertexPointervINTEL');
  8529. glNormalPointervINTEL := gl_GetProc('glNormalPointervINTEL');
  8530. glColorPointervINTEL := gl_GetProc('glColorPointervINTEL');
  8531. glTexCoordPointervINTEL := gl_GetProc('glTexCoordPointervINTEL');
  8532. end;
  8533. {$EndIf}
  8534. {$IfDef GL_INTEL_performance_query}
  8535. if GL_INTEL_performance_query then
  8536. begin
  8537. glBeginPerfQueryINTEL := gl_GetProc('glBeginPerfQueryINTEL');
  8538. glCreatePerfQueryINTEL := gl_GetProc('glCreatePerfQueryINTEL');
  8539. glDeletePerfQueryINTEL := gl_GetProc('glDeletePerfQueryINTEL');
  8540. glEndPerfQueryINTEL := gl_GetProc('glEndPerfQueryINTEL');
  8541. glGetFirstPerfQueryIdINTEL := gl_GetProc('glGetFirstPerfQueryIdINTEL');
  8542. glGetNextPerfQueryIdINTEL := gl_GetProc('glGetNextPerfQueryIdINTEL');
  8543. glGetPerfCounterInfoINTEL := gl_GetProc('glGetPerfCounterInfoINTEL');
  8544. glGetPerfQueryDataINTEL := gl_GetProc('glGetPerfQueryDataINTEL');
  8545. glGetPerfQueryIdByNameINTEL := gl_GetProc('glGetPerfQueryIdByNameINTEL');
  8546. glGetPerfQueryInfoINTEL := gl_GetProc('glGetPerfQueryInfoINTEL');
  8547. end;
  8548. {$EndIf}
  8549. {$IfDef GL_MESA_framebuffer_flip_y}
  8550. if GL_MESA_framebuffer_flip_y then
  8551. begin
  8552. glFramebufferParameteriMESA := gl_GetProc('glFramebufferParameteriMESA');
  8553. glGetFramebufferParameterivMESA := gl_GetProc('glGetFramebufferParameterivMESA');
  8554. end;
  8555. {$EndIf}
  8556. {$IfDef GL_MESA_resize_buffers}
  8557. if GL_MESA_resize_buffers then
  8558. glResizeBuffersMESA := gl_GetProc('glResizeBuffersMESA');
  8559. {$EndIf}
  8560. {$IfDef GL_MESA_window_pos}
  8561. if GL_MESA_window_pos then
  8562. begin
  8563. glWindowPos2dMESA := gl_GetProc('glWindowPos2dMESA');
  8564. glWindowPos2dvMESA := gl_GetProc('glWindowPos2dvMESA');
  8565. glWindowPos2fMESA := gl_GetProc('glWindowPos2fMESA');
  8566. glWindowPos2fvMESA := gl_GetProc('glWindowPos2fvMESA');
  8567. glWindowPos2iMESA := gl_GetProc('glWindowPos2iMESA');
  8568. glWindowPos2ivMESA := gl_GetProc('glWindowPos2ivMESA');
  8569. glWindowPos2sMESA := gl_GetProc('glWindowPos2sMESA');
  8570. glWindowPos2svMESA := gl_GetProc('glWindowPos2svMESA');
  8571. glWindowPos3dMESA := gl_GetProc('glWindowPos3dMESA');
  8572. glWindowPos3dvMESA := gl_GetProc('glWindowPos3dvMESA');
  8573. glWindowPos3fMESA := gl_GetProc('glWindowPos3fMESA');
  8574. glWindowPos3fvMESA := gl_GetProc('glWindowPos3fvMESA');
  8575. glWindowPos3iMESA := gl_GetProc('glWindowPos3iMESA');
  8576. glWindowPos3ivMESA := gl_GetProc('glWindowPos3ivMESA');
  8577. glWindowPos3sMESA := gl_GetProc('glWindowPos3sMESA');
  8578. glWindowPos3svMESA := gl_GetProc('glWindowPos3svMESA');
  8579. glWindowPos4dMESA := gl_GetProc('glWindowPos4dMESA');
  8580. glWindowPos4dvMESA := gl_GetProc('glWindowPos4dvMESA');
  8581. glWindowPos4fMESA := gl_GetProc('glWindowPos4fMESA');
  8582. glWindowPos4fvMESA := gl_GetProc('glWindowPos4fvMESA');
  8583. glWindowPos4iMESA := gl_GetProc('glWindowPos4iMESA');
  8584. glWindowPos4ivMESA := gl_GetProc('glWindowPos4ivMESA');
  8585. glWindowPos4sMESA := gl_GetProc('glWindowPos4sMESA');
  8586. glWindowPos4svMESA := gl_GetProc('glWindowPos4svMESA');
  8587. end;
  8588. {$EndIf}
  8589. {$IfDef GL_NVX_conditional_render}
  8590. if GL_NVX_conditional_render then
  8591. begin
  8592. glBeginConditionalRenderNVX := gl_GetProc('glBeginConditionalRenderNVX');
  8593. glEndConditionalRenderNVX := gl_GetProc('glEndConditionalRenderNVX');
  8594. end;
  8595. {$EndIf}
  8596. {$IfDef GL_NVX_gpu_multicast2}
  8597. if GL_NVX_gpu_multicast2 then
  8598. begin
  8599. glUploadGpuMaskNVX := gl_GetProc('glUploadGpuMaskNVX');
  8600. glMulticastViewportArrayvNVX := gl_GetProc('glMulticastViewportArrayvNVX');
  8601. glMulticastViewportPositionWScaleNVX := gl_GetProc('glMulticastViewportPositionWScaleNVX');
  8602. glMulticastScissorArrayvNVX := gl_GetProc('glMulticastScissorArrayvNVX');
  8603. glAsyncCopyBufferSubDataNVX := gl_GetProc('glAsyncCopyBufferSubDataNVX');
  8604. glAsyncCopyImageSubDataNVX := gl_GetProc('glAsyncCopyImageSubDataNVX');
  8605. end;
  8606. {$EndIf}
  8607. {$IfDef GL_NVX_linked_gpu_multicast}
  8608. if GL_NVX_linked_gpu_multicast then
  8609. begin
  8610. glLGPUNamedBufferSubDataNVX := gl_GetProc('glLGPUNamedBufferSubDataNVX');
  8611. glLGPUCopyImageSubDataNVX := gl_GetProc('glLGPUCopyImageSubDataNVX');
  8612. glLGPUInterlockNVX := gl_GetProc('glLGPUInterlockNVX');
  8613. end;
  8614. {$EndIf}
  8615. {$IfDef GL_NVX_progress_fence}
  8616. if GL_NVX_progress_fence then
  8617. begin
  8618. glCreateProgressFenceNVX := gl_GetProc('glCreateProgressFenceNVX');
  8619. glSignalSemaphoreui64NVX := gl_GetProc('glSignalSemaphoreui64NVX');
  8620. glWaitSemaphoreui64NVX := gl_GetProc('glWaitSemaphoreui64NVX');
  8621. glClientWaitSemaphoreui64NVX := gl_GetProc('glClientWaitSemaphoreui64NVX');
  8622. end;
  8623. {$EndIf}
  8624. {$IfDef GL_NV_alpha_to_coverage_dither_control}
  8625. if GL_NV_alpha_to_coverage_dither_control then
  8626. glAlphaToCoverageDitherControlNV := gl_GetProc('glAlphaToCoverageDitherControlNV');
  8627. {$EndIf}
  8628. {$IfDef GL_NV_bindless_multi_draw_indirect}
  8629. if GL_NV_bindless_multi_draw_indirect then
  8630. begin
  8631. glMultiDrawArraysIndirectBindlessNV := gl_GetProc('glMultiDrawArraysIndirectBindlessNV');
  8632. glMultiDrawElementsIndirectBindlessNV := gl_GetProc('glMultiDrawElementsIndirectBindlessNV');
  8633. end;
  8634. {$EndIf}
  8635. {$IfDef GL_NV_bindless_multi_draw_indirect_count}
  8636. if GL_NV_bindless_multi_draw_indirect_count then
  8637. begin
  8638. glMultiDrawArraysIndirectBindlessCountNV := gl_GetProc('glMultiDrawArraysIndirectBindlessCountNV');
  8639. glMultiDrawElementsIndirectBindlessCountNV := gl_GetProc('glMultiDrawElementsIndirectBindlessCountNV');
  8640. end;
  8641. {$EndIf}
  8642. {$IfDef GL_NV_bindless_texture}
  8643. if GL_NV_bindless_texture then
  8644. begin
  8645. glGetTextureHandleNV := gl_GetProc('glGetTextureHandleNV');
  8646. glGetTextureSamplerHandleNV := gl_GetProc('glGetTextureSamplerHandleNV');
  8647. glMakeTextureHandleResidentNV := gl_GetProc('glMakeTextureHandleResidentNV');
  8648. glMakeTextureHandleNonResidentNV := gl_GetProc('glMakeTextureHandleNonResidentNV');
  8649. glGetImageHandleNV := gl_GetProc('glGetImageHandleNV');
  8650. glMakeImageHandleResidentNV := gl_GetProc('glMakeImageHandleResidentNV');
  8651. glMakeImageHandleNonResidentNV := gl_GetProc('glMakeImageHandleNonResidentNV');
  8652. glUniformHandleui64NV := gl_GetProc('glUniformHandleui64NV');
  8653. glUniformHandleui64vNV := gl_GetProc('glUniformHandleui64vNV');
  8654. glProgramUniformHandleui64NV := gl_GetProc('glProgramUniformHandleui64NV');
  8655. glProgramUniformHandleui64vNV := gl_GetProc('glProgramUniformHandleui64vNV');
  8656. glIsTextureHandleResidentNV := gl_GetProc('glIsTextureHandleResidentNV');
  8657. glIsImageHandleResidentNV := gl_GetProc('glIsImageHandleResidentNV');
  8658. end;
  8659. {$EndIf}
  8660. {$IfDef GL_NV_blend_equation_advanced}
  8661. if GL_NV_blend_equation_advanced then
  8662. begin
  8663. glBlendParameteriNV := gl_GetProc('glBlendParameteriNV');
  8664. glBlendBarrierNV := gl_GetProc('glBlendBarrierNV');
  8665. end;
  8666. {$EndIf}
  8667. {$IfDef GL_NV_clip_space_w_scaling}
  8668. if GL_NV_clip_space_w_scaling then
  8669. glViewportPositionWScaleNV := gl_GetProc('glViewportPositionWScaleNV');
  8670. {$EndIf}
  8671. {$IfDef GL_NV_command_list}
  8672. if GL_NV_command_list then
  8673. begin
  8674. glCreateStatesNV := gl_GetProc('glCreateStatesNV');
  8675. glDeleteStatesNV := gl_GetProc('glDeleteStatesNV');
  8676. glIsStateNV := gl_GetProc('glIsStateNV');
  8677. glStateCaptureNV := gl_GetProc('glStateCaptureNV');
  8678. glGetCommandHeaderNV := gl_GetProc('glGetCommandHeaderNV');
  8679. glGetStageIndexNV := gl_GetProc('glGetStageIndexNV');
  8680. glDrawCommandsNV := gl_GetProc('glDrawCommandsNV');
  8681. glDrawCommandsAddressNV := gl_GetProc('glDrawCommandsAddressNV');
  8682. glDrawCommandsStatesNV := gl_GetProc('glDrawCommandsStatesNV');
  8683. glDrawCommandsStatesAddressNV := gl_GetProc('glDrawCommandsStatesAddressNV');
  8684. glCreateCommandListsNV := gl_GetProc('glCreateCommandListsNV');
  8685. glDeleteCommandListsNV := gl_GetProc('glDeleteCommandListsNV');
  8686. glIsCommandListNV := gl_GetProc('glIsCommandListNV');
  8687. glListDrawCommandsStatesClientNV := gl_GetProc('glListDrawCommandsStatesClientNV');
  8688. glCommandListSegmentsNV := gl_GetProc('glCommandListSegmentsNV');
  8689. glCompileCommandListNV := gl_GetProc('glCompileCommandListNV');
  8690. glCallCommandListNV := gl_GetProc('glCallCommandListNV');
  8691. end;
  8692. {$EndIf}
  8693. {$IfDef GL_NV_conditional_render}
  8694. if GL_NV_conditional_render then
  8695. begin
  8696. glBeginConditionalRenderNV := gl_GetProc('glBeginConditionalRenderNV');
  8697. glEndConditionalRenderNV := gl_GetProc('glEndConditionalRenderNV');
  8698. end;
  8699. {$EndIf}
  8700. {$IfDef GL_NV_conservative_raster}
  8701. if GL_NV_conservative_raster then
  8702. glSubpixelPrecisionBiasNV := gl_GetProc('glSubpixelPrecisionBiasNV');
  8703. {$EndIf}
  8704. {$IfDef GL_NV_conservative_raster_dilate}
  8705. if GL_NV_conservative_raster_dilate then
  8706. glConservativeRasterParameterfNV := gl_GetProc('glConservativeRasterParameterfNV');
  8707. {$EndIf}
  8708. {$IfDef GL_NV_conservative_raster_pre_snap_triangles}
  8709. if GL_NV_conservative_raster_pre_snap_triangles then
  8710. glConservativeRasterParameteriNV := gl_GetProc('glConservativeRasterParameteriNV');
  8711. {$EndIf}
  8712. {$IfDef GL_NV_copy_image}
  8713. if GL_NV_copy_image then
  8714. glCopyImageSubDataNV := gl_GetProc('glCopyImageSubDataNV');
  8715. {$EndIf}
  8716. {$IfDef GL_NV_depth_buffer_float}
  8717. if GL_NV_depth_buffer_float then
  8718. begin
  8719. glDepthRangedNV := gl_GetProc('glDepthRangedNV');
  8720. glClearDepthdNV := gl_GetProc('glClearDepthdNV');
  8721. glDepthBoundsdNV := gl_GetProc('glDepthBoundsdNV');
  8722. end;
  8723. {$EndIf}
  8724. {$IfDef GL_NV_draw_texture}
  8725. if GL_NV_draw_texture then
  8726. glDrawTextureNV := gl_GetProc('glDrawTextureNV');
  8727. {$EndIf}
  8728. {$IfDef GL_NV_draw_vulkan_image}
  8729. if GL_NV_draw_vulkan_image then
  8730. begin
  8731. glDrawVkImageNV := gl_GetProc('glDrawVkImageNV');
  8732. glGetVkProcAddrNV := gl_GetProc('glGetVkProcAddrNV');
  8733. glWaitVkSemaphoreNV := gl_GetProc('glWaitVkSemaphoreNV');
  8734. glSignalVkSemaphoreNV := gl_GetProc('glSignalVkSemaphoreNV');
  8735. glSignalVkFenceNV := gl_GetProc('glSignalVkFenceNV');
  8736. end;
  8737. {$EndIf}
  8738. {$IfDef GL_NV_evaluators}
  8739. if GL_NV_evaluators then
  8740. begin
  8741. glMapControlPointsNV := gl_GetProc('glMapControlPointsNV');
  8742. glMapParameterivNV := gl_GetProc('glMapParameterivNV');
  8743. glMapParameterfvNV := gl_GetProc('glMapParameterfvNV');
  8744. glGetMapControlPointsNV := gl_GetProc('glGetMapControlPointsNV');
  8745. glGetMapParameterivNV := gl_GetProc('glGetMapParameterivNV');
  8746. glGetMapParameterfvNV := gl_GetProc('glGetMapParameterfvNV');
  8747. glGetMapAttribParameterivNV := gl_GetProc('glGetMapAttribParameterivNV');
  8748. glGetMapAttribParameterfvNV := gl_GetProc('glGetMapAttribParameterfvNV');
  8749. glEvalMapsNV := gl_GetProc('glEvalMapsNV');
  8750. end;
  8751. {$EndIf}
  8752. {$IfDef GL_NV_explicit_multisample}
  8753. if GL_NV_explicit_multisample then
  8754. begin
  8755. glGetMultisamplefvNV := gl_GetProc('glGetMultisamplefvNV');
  8756. glSampleMaskIndexedNV := gl_GetProc('glSampleMaskIndexedNV');
  8757. glTexRenderbufferNV := gl_GetProc('glTexRenderbufferNV');
  8758. end;
  8759. {$EndIf}
  8760. {$IfDef GL_NV_fence}
  8761. if GL_NV_fence then
  8762. begin
  8763. glDeleteFencesNV := gl_GetProc('glDeleteFencesNV');
  8764. glGenFencesNV := gl_GetProc('glGenFencesNV');
  8765. glIsFenceNV := gl_GetProc('glIsFenceNV');
  8766. glTestFenceNV := gl_GetProc('glTestFenceNV');
  8767. glGetFenceivNV := gl_GetProc('glGetFenceivNV');
  8768. glFinishFenceNV := gl_GetProc('glFinishFenceNV');
  8769. glSetFenceNV := gl_GetProc('glSetFenceNV');
  8770. end;
  8771. {$EndIf}
  8772. {$IfDef GL_NV_fragment_coverage_to_color}
  8773. if GL_NV_fragment_coverage_to_color then
  8774. glFragmentCoverageColorNV := gl_GetProc('glFragmentCoverageColorNV');
  8775. {$EndIf}
  8776. {$IfDef GL_NV_fragment_program}
  8777. if GL_NV_fragment_program then
  8778. begin
  8779. glProgramNamedParameter4fNV := gl_GetProc('glProgramNamedParameter4fNV');
  8780. glProgramNamedParameter4fvNV := gl_GetProc('glProgramNamedParameter4fvNV');
  8781. glProgramNamedParameter4dNV := gl_GetProc('glProgramNamedParameter4dNV');
  8782. glProgramNamedParameter4dvNV := gl_GetProc('glProgramNamedParameter4dvNV');
  8783. glGetProgramNamedParameterfvNV := gl_GetProc('glGetProgramNamedParameterfvNV');
  8784. glGetProgramNamedParameterdvNV := gl_GetProc('glGetProgramNamedParameterdvNV');
  8785. end;
  8786. {$EndIf}
  8787. {$IfDef GL_NV_framebuffer_mixed_samples}
  8788. if GL_NV_framebuffer_mixed_samples then
  8789. begin
  8790. glCoverageModulationTableNV := gl_GetProc('glCoverageModulationTableNV');
  8791. glGetCoverageModulationTableNV := gl_GetProc('glGetCoverageModulationTableNV');
  8792. glCoverageModulationNV := gl_GetProc('glCoverageModulationNV');
  8793. end;
  8794. {$EndIf}
  8795. {$IfDef GL_NV_framebuffer_multisample_coverage}
  8796. if GL_NV_framebuffer_multisample_coverage then
  8797. glRenderbufferStorageMultisampleCoverageNV := gl_GetProc('glRenderbufferStorageMultisampleCoverageNV');
  8798. {$EndIf}
  8799. {$IfDef GL_NV_geometry_program4}
  8800. if GL_NV_geometry_program4 then
  8801. begin
  8802. glProgramVertexLimitNV := gl_GetProc('glProgramVertexLimitNV');
  8803. glFramebufferTextureEXT := gl_GetProc('glFramebufferTextureEXT');
  8804. glFramebufferTextureFaceEXT := gl_GetProc('glFramebufferTextureFaceEXT');
  8805. end;
  8806. {$EndIf}
  8807. {$IfDef GL_NV_gpu_multicast}
  8808. if GL_NV_gpu_multicast then
  8809. begin
  8810. glRenderGpuMaskNV := gl_GetProc('glRenderGpuMaskNV');
  8811. glMulticastBufferSubDataNV := gl_GetProc('glMulticastBufferSubDataNV');
  8812. glMulticastCopyBufferSubDataNV := gl_GetProc('glMulticastCopyBufferSubDataNV');
  8813. glMulticastCopyImageSubDataNV := gl_GetProc('glMulticastCopyImageSubDataNV');
  8814. glMulticastBlitFramebufferNV := gl_GetProc('glMulticastBlitFramebufferNV');
  8815. glMulticastFramebufferSampleLocationsfvNV := gl_GetProc('glMulticastFramebufferSampleLocationsfvNV');
  8816. glMulticastBarrierNV := gl_GetProc('glMulticastBarrierNV');
  8817. glMulticastWaitSyncNV := gl_GetProc('glMulticastWaitSyncNV');
  8818. glMulticastGetQueryObjectivNV := gl_GetProc('glMulticastGetQueryObjectivNV');
  8819. glMulticastGetQueryObjectuivNV := gl_GetProc('glMulticastGetQueryObjectuivNV');
  8820. glMulticastGetQueryObjecti64vNV := gl_GetProc('glMulticastGetQueryObjecti64vNV');
  8821. glMulticastGetQueryObjectui64vNV := gl_GetProc('glMulticastGetQueryObjectui64vNV');
  8822. end;
  8823. {$EndIf}
  8824. {$IfDef GL_NV_gpu_program4}
  8825. if GL_NV_gpu_program4 then
  8826. begin
  8827. glProgramLocalParameterI4iNV := gl_GetProc('glProgramLocalParameterI4iNV');
  8828. glProgramLocalParameterI4ivNV := gl_GetProc('glProgramLocalParameterI4ivNV');
  8829. glProgramLocalParametersI4ivNV := gl_GetProc('glProgramLocalParametersI4ivNV');
  8830. glProgramLocalParameterI4uiNV := gl_GetProc('glProgramLocalParameterI4uiNV');
  8831. glProgramLocalParameterI4uivNV := gl_GetProc('glProgramLocalParameterI4uivNV');
  8832. glProgramLocalParametersI4uivNV := gl_GetProc('glProgramLocalParametersI4uivNV');
  8833. glProgramEnvParameterI4iNV := gl_GetProc('glProgramEnvParameterI4iNV');
  8834. glProgramEnvParameterI4ivNV := gl_GetProc('glProgramEnvParameterI4ivNV');
  8835. glProgramEnvParametersI4ivNV := gl_GetProc('glProgramEnvParametersI4ivNV');
  8836. glProgramEnvParameterI4uiNV := gl_GetProc('glProgramEnvParameterI4uiNV');
  8837. glProgramEnvParameterI4uivNV := gl_GetProc('glProgramEnvParameterI4uivNV');
  8838. glProgramEnvParametersI4uivNV := gl_GetProc('glProgramEnvParametersI4uivNV');
  8839. glGetProgramLocalParameterIivNV := gl_GetProc('glGetProgramLocalParameterIivNV');
  8840. glGetProgramLocalParameterIuivNV := gl_GetProc('glGetProgramLocalParameterIuivNV');
  8841. glGetProgramEnvParameterIivNV := gl_GetProc('glGetProgramEnvParameterIivNV');
  8842. glGetProgramEnvParameterIuivNV := gl_GetProc('glGetProgramEnvParameterIuivNV');
  8843. end;
  8844. {$EndIf}
  8845. {$IfDef GL_NV_gpu_program5}
  8846. if GL_NV_gpu_program5 then
  8847. begin
  8848. glProgramSubroutineParametersuivNV := gl_GetProc('glProgramSubroutineParametersuivNV');
  8849. glGetProgramSubroutineParameteruivNV := gl_GetProc('glGetProgramSubroutineParameteruivNV');
  8850. end;
  8851. {$EndIf}
  8852. {$IfDef GL_NV_half_float}
  8853. if GL_NV_half_float then
  8854. begin
  8855. glVertex2hNV := gl_GetProc('glVertex2hNV');
  8856. glVertex2hvNV := gl_GetProc('glVertex2hvNV');
  8857. glVertex3hNV := gl_GetProc('glVertex3hNV');
  8858. glVertex3hvNV := gl_GetProc('glVertex3hvNV');
  8859. glVertex4hNV := gl_GetProc('glVertex4hNV');
  8860. glVertex4hvNV := gl_GetProc('glVertex4hvNV');
  8861. glNormal3hNV := gl_GetProc('glNormal3hNV');
  8862. glNormal3hvNV := gl_GetProc('glNormal3hvNV');
  8863. glColor3hNV := gl_GetProc('glColor3hNV');
  8864. glColor3hvNV := gl_GetProc('glColor3hvNV');
  8865. glColor4hNV := gl_GetProc('glColor4hNV');
  8866. glColor4hvNV := gl_GetProc('glColor4hvNV');
  8867. glTexCoord1hNV := gl_GetProc('glTexCoord1hNV');
  8868. glTexCoord1hvNV := gl_GetProc('glTexCoord1hvNV');
  8869. glTexCoord2hNV := gl_GetProc('glTexCoord2hNV');
  8870. glTexCoord2hvNV := gl_GetProc('glTexCoord2hvNV');
  8871. glTexCoord3hNV := gl_GetProc('glTexCoord3hNV');
  8872. glTexCoord3hvNV := gl_GetProc('glTexCoord3hvNV');
  8873. glTexCoord4hNV := gl_GetProc('glTexCoord4hNV');
  8874. glTexCoord4hvNV := gl_GetProc('glTexCoord4hvNV');
  8875. glMultiTexCoord1hNV := gl_GetProc('glMultiTexCoord1hNV');
  8876. glMultiTexCoord1hvNV := gl_GetProc('glMultiTexCoord1hvNV');
  8877. glMultiTexCoord2hNV := gl_GetProc('glMultiTexCoord2hNV');
  8878. glMultiTexCoord2hvNV := gl_GetProc('glMultiTexCoord2hvNV');
  8879. glMultiTexCoord3hNV := gl_GetProc('glMultiTexCoord3hNV');
  8880. glMultiTexCoord3hvNV := gl_GetProc('glMultiTexCoord3hvNV');
  8881. glMultiTexCoord4hNV := gl_GetProc('glMultiTexCoord4hNV');
  8882. glMultiTexCoord4hvNV := gl_GetProc('glMultiTexCoord4hvNV');
  8883. glFogCoordhNV := gl_GetProc('glFogCoordhNV');
  8884. glFogCoordhvNV := gl_GetProc('glFogCoordhvNV');
  8885. glSecondaryColor3hNV := gl_GetProc('glSecondaryColor3hNV');
  8886. glSecondaryColor3hvNV := gl_GetProc('glSecondaryColor3hvNV');
  8887. glVertexWeighthNV := gl_GetProc('glVertexWeighthNV');
  8888. glVertexWeighthvNV := gl_GetProc('glVertexWeighthvNV');
  8889. glVertexAttrib1hNV := gl_GetProc('glVertexAttrib1hNV');
  8890. glVertexAttrib1hvNV := gl_GetProc('glVertexAttrib1hvNV');
  8891. glVertexAttrib2hNV := gl_GetProc('glVertexAttrib2hNV');
  8892. glVertexAttrib2hvNV := gl_GetProc('glVertexAttrib2hvNV');
  8893. glVertexAttrib3hNV := gl_GetProc('glVertexAttrib3hNV');
  8894. glVertexAttrib3hvNV := gl_GetProc('glVertexAttrib3hvNV');
  8895. glVertexAttrib4hNV := gl_GetProc('glVertexAttrib4hNV');
  8896. glVertexAttrib4hvNV := gl_GetProc('glVertexAttrib4hvNV');
  8897. glVertexAttribs1hvNV := gl_GetProc('glVertexAttribs1hvNV');
  8898. glVertexAttribs2hvNV := gl_GetProc('glVertexAttribs2hvNV');
  8899. glVertexAttribs3hvNV := gl_GetProc('glVertexAttribs3hvNV');
  8900. glVertexAttribs4hvNV := gl_GetProc('glVertexAttribs4hvNV');
  8901. end;
  8902. {$EndIf}
  8903. {$IfDef GL_NV_internalformat_sample_query}
  8904. if GL_NV_internalformat_sample_query then
  8905. glGetInternalformatSampleivNV := gl_GetProc('glGetInternalformatSampleivNV');
  8906. {$EndIf}
  8907. {$IfDef GL_NV_memory_attachment}
  8908. if GL_NV_memory_attachment then
  8909. begin
  8910. glGetMemoryObjectDetachedResourcesuivNV := gl_GetProc('glGetMemoryObjectDetachedResourcesuivNV');
  8911. glResetMemoryObjectParameterNV := gl_GetProc('glResetMemoryObjectParameterNV');
  8912. glTexAttachMemoryNV := gl_GetProc('glTexAttachMemoryNV');
  8913. glBufferAttachMemoryNV := gl_GetProc('glBufferAttachMemoryNV');
  8914. glTextureAttachMemoryNV := gl_GetProc('glTextureAttachMemoryNV');
  8915. glNamedBufferAttachMemoryNV := gl_GetProc('glNamedBufferAttachMemoryNV');
  8916. end;
  8917. {$EndIf}
  8918. {$IfDef GL_NV_memory_object_sparse}
  8919. if GL_NV_memory_object_sparse then
  8920. begin
  8921. glBufferPageCommitmentMemNV := gl_GetProc('glBufferPageCommitmentMemNV');
  8922. glTexPageCommitmentMemNV := gl_GetProc('glTexPageCommitmentMemNV');
  8923. glNamedBufferPageCommitmentMemNV := gl_GetProc('glNamedBufferPageCommitmentMemNV');
  8924. glTexturePageCommitmentMemNV := gl_GetProc('glTexturePageCommitmentMemNV');
  8925. end;
  8926. {$EndIf}
  8927. {$IfDef GL_NV_mesh_shader}
  8928. if GL_NV_mesh_shader then
  8929. begin
  8930. glDrawMeshTasksNV := gl_GetProc('glDrawMeshTasksNV');
  8931. glDrawMeshTasksIndirectNV := gl_GetProc('glDrawMeshTasksIndirectNV');
  8932. glMultiDrawMeshTasksIndirectNV := gl_GetProc('glMultiDrawMeshTasksIndirectNV');
  8933. glMultiDrawMeshTasksIndirectCountNV := gl_GetProc('glMultiDrawMeshTasksIndirectCountNV');
  8934. end;
  8935. {$EndIf}
  8936. {$IfDef GL_NV_occlusion_query}
  8937. if GL_NV_occlusion_query then
  8938. begin
  8939. glGenOcclusionQueriesNV := gl_GetProc('glGenOcclusionQueriesNV');
  8940. glDeleteOcclusionQueriesNV := gl_GetProc('glDeleteOcclusionQueriesNV');
  8941. glIsOcclusionQueryNV := gl_GetProc('glIsOcclusionQueryNV');
  8942. glBeginOcclusionQueryNV := gl_GetProc('glBeginOcclusionQueryNV');
  8943. glEndOcclusionQueryNV := gl_GetProc('glEndOcclusionQueryNV');
  8944. glGetOcclusionQueryivNV := gl_GetProc('glGetOcclusionQueryivNV');
  8945. glGetOcclusionQueryuivNV := gl_GetProc('glGetOcclusionQueryuivNV');
  8946. end;
  8947. {$EndIf}
  8948. {$IfDef GL_NV_parameter_buffer_object}
  8949. if GL_NV_parameter_buffer_object then
  8950. begin
  8951. glProgramBufferParametersfvNV := gl_GetProc('glProgramBufferParametersfvNV');
  8952. glProgramBufferParametersIivNV := gl_GetProc('glProgramBufferParametersIivNV');
  8953. glProgramBufferParametersIuivNV := gl_GetProc('glProgramBufferParametersIuivNV');
  8954. end;
  8955. {$EndIf}
  8956. {$IfDef GL_NV_path_rendering}
  8957. if GL_NV_path_rendering then
  8958. begin
  8959. glGenPathsNV := gl_GetProc('glGenPathsNV');
  8960. glDeletePathsNV := gl_GetProc('glDeletePathsNV');
  8961. glIsPathNV := gl_GetProc('glIsPathNV');
  8962. glPathCommandsNV := gl_GetProc('glPathCommandsNV');
  8963. glPathCoordsNV := gl_GetProc('glPathCoordsNV');
  8964. glPathSubCommandsNV := gl_GetProc('glPathSubCommandsNV');
  8965. glPathSubCoordsNV := gl_GetProc('glPathSubCoordsNV');
  8966. glPathStringNV := gl_GetProc('glPathStringNV');
  8967. glPathGlyphsNV := gl_GetProc('glPathGlyphsNV');
  8968. glPathGlyphRangeNV := gl_GetProc('glPathGlyphRangeNV');
  8969. glWeightPathsNV := gl_GetProc('glWeightPathsNV');
  8970. glCopyPathNV := gl_GetProc('glCopyPathNV');
  8971. glInterpolatePathsNV := gl_GetProc('glInterpolatePathsNV');
  8972. glTransformPathNV := gl_GetProc('glTransformPathNV');
  8973. glPathParameterivNV := gl_GetProc('glPathParameterivNV');
  8974. glPathParameteriNV := gl_GetProc('glPathParameteriNV');
  8975. glPathParameterfvNV := gl_GetProc('glPathParameterfvNV');
  8976. glPathParameterfNV := gl_GetProc('glPathParameterfNV');
  8977. glPathDashArrayNV := gl_GetProc('glPathDashArrayNV');
  8978. glPathStencilFuncNV := gl_GetProc('glPathStencilFuncNV');
  8979. glPathStencilDepthOffsetNV := gl_GetProc('glPathStencilDepthOffsetNV');
  8980. glStencilFillPathNV := gl_GetProc('glStencilFillPathNV');
  8981. glStencilStrokePathNV := gl_GetProc('glStencilStrokePathNV');
  8982. glStencilFillPathInstancedNV := gl_GetProc('glStencilFillPathInstancedNV');
  8983. glStencilStrokePathInstancedNV := gl_GetProc('glStencilStrokePathInstancedNV');
  8984. glPathCoverDepthFuncNV := gl_GetProc('glPathCoverDepthFuncNV');
  8985. glCoverFillPathNV := gl_GetProc('glCoverFillPathNV');
  8986. glCoverStrokePathNV := gl_GetProc('glCoverStrokePathNV');
  8987. glCoverFillPathInstancedNV := gl_GetProc('glCoverFillPathInstancedNV');
  8988. glCoverStrokePathInstancedNV := gl_GetProc('glCoverStrokePathInstancedNV');
  8989. glGetPathParameterivNV := gl_GetProc('glGetPathParameterivNV');
  8990. glGetPathParameterfvNV := gl_GetProc('glGetPathParameterfvNV');
  8991. glGetPathCommandsNV := gl_GetProc('glGetPathCommandsNV');
  8992. glGetPathCoordsNV := gl_GetProc('glGetPathCoordsNV');
  8993. glGetPathDashArrayNV := gl_GetProc('glGetPathDashArrayNV');
  8994. glGetPathMetricsNV := gl_GetProc('glGetPathMetricsNV');
  8995. glGetPathMetricRangeNV := gl_GetProc('glGetPathMetricRangeNV');
  8996. glGetPathSpacingNV := gl_GetProc('glGetPathSpacingNV');
  8997. glIsPointInFillPathNV := gl_GetProc('glIsPointInFillPathNV');
  8998. glIsPointInStrokePathNV := gl_GetProc('glIsPointInStrokePathNV');
  8999. glGetPathLengthNV := gl_GetProc('glGetPathLengthNV');
  9000. glPointAlongPathNV := gl_GetProc('glPointAlongPathNV');
  9001. glMatrixLoad3x2fNV := gl_GetProc('glMatrixLoad3x2fNV');
  9002. glMatrixLoad3x3fNV := gl_GetProc('glMatrixLoad3x3fNV');
  9003. glMatrixLoadTranspose3x3fNV := gl_GetProc('glMatrixLoadTranspose3x3fNV');
  9004. glMatrixMult3x2fNV := gl_GetProc('glMatrixMult3x2fNV');
  9005. glMatrixMult3x3fNV := gl_GetProc('glMatrixMult3x3fNV');
  9006. glMatrixMultTranspose3x3fNV := gl_GetProc('glMatrixMultTranspose3x3fNV');
  9007. glStencilThenCoverFillPathNV := gl_GetProc('glStencilThenCoverFillPathNV');
  9008. glStencilThenCoverStrokePathNV := gl_GetProc('glStencilThenCoverStrokePathNV');
  9009. glStencilThenCoverFillPathInstancedNV := gl_GetProc('glStencilThenCoverFillPathInstancedNV');
  9010. glStencilThenCoverStrokePathInstancedNV := gl_GetProc('glStencilThenCoverStrokePathInstancedNV');
  9011. glPathGlyphIndexRangeNV := gl_GetProc('glPathGlyphIndexRangeNV');
  9012. glPathGlyphIndexArrayNV := gl_GetProc('glPathGlyphIndexArrayNV');
  9013. glPathMemoryGlyphIndexArrayNV := gl_GetProc('glPathMemoryGlyphIndexArrayNV');
  9014. glProgramPathFragmentInputGenNV := gl_GetProc('glProgramPathFragmentInputGenNV');
  9015. glGetProgramResourcefvNV := gl_GetProc('glGetProgramResourcefvNV');
  9016. {$IfNDef USE_GLCORE}
  9017. glPathColorGenNV := gl_GetProc('glPathColorGenNV');
  9018. glPathTexGenNV := gl_GetProc('glPathTexGenNV');
  9019. glPathFogGenNV := gl_GetProc('glPathFogGenNV');
  9020. glGetPathColorGenivNV := gl_GetProc('glGetPathColorGenivNV');
  9021. glGetPathColorGenfvNV := gl_GetProc('glGetPathColorGenfvNV');
  9022. glGetPathTexGenivNV := gl_GetProc('glGetPathTexGenivNV');
  9023. glGetPathTexGenfvNV := gl_GetProc('glGetPathTexGenfvNV');
  9024. {$EndIf}
  9025. end;
  9026. {$EndIf}
  9027. {$IfDef GL_NV_pixel_data_range}
  9028. if GL_NV_pixel_data_range then
  9029. begin
  9030. glPixelDataRangeNV := gl_GetProc('glPixelDataRangeNV');
  9031. glFlushPixelDataRangeNV := gl_GetProc('glFlushPixelDataRangeNV');
  9032. end;
  9033. {$EndIf}
  9034. {$IfDef GL_NV_point_sprite}
  9035. if GL_NV_point_sprite then
  9036. begin
  9037. glPointParameteriNV := gl_GetProc('glPointParameteriNV');
  9038. glPointParameterivNV := gl_GetProc('glPointParameterivNV');
  9039. end;
  9040. {$EndIf}
  9041. {$IfDef GL_NV_present_video}
  9042. if GL_NV_present_video then
  9043. begin
  9044. glPresentFrameKeyedNV := gl_GetProc('glPresentFrameKeyedNV');
  9045. glPresentFrameDualFillNV := gl_GetProc('glPresentFrameDualFillNV');
  9046. glGetVideoivNV := gl_GetProc('glGetVideoivNV');
  9047. glGetVideouivNV := gl_GetProc('glGetVideouivNV');
  9048. glGetVideoi64vNV := gl_GetProc('glGetVideoi64vNV');
  9049. glGetVideoui64vNV := gl_GetProc('glGetVideoui64vNV');
  9050. end;
  9051. {$EndIf}
  9052. {$IfDef GL_NV_primitive_restart}
  9053. if GL_NV_primitive_restart then
  9054. begin
  9055. glPrimitiveRestartNV := gl_GetProc('glPrimitiveRestartNV');
  9056. glPrimitiveRestartIndexNV := gl_GetProc('glPrimitiveRestartIndexNV');
  9057. end;
  9058. {$EndIf}
  9059. {$IfDef GL_NV_query_resource}
  9060. if GL_NV_query_resource then
  9061. glQueryResourceNV := gl_GetProc('glQueryResourceNV');
  9062. {$EndIf}
  9063. {$IfDef GL_NV_query_resource_tag}
  9064. if GL_NV_query_resource_tag then
  9065. begin
  9066. glGenQueryResourceTagNV := gl_GetProc('glGenQueryResourceTagNV');
  9067. glDeleteQueryResourceTagNV := gl_GetProc('glDeleteQueryResourceTagNV');
  9068. glQueryResourceTagNV := gl_GetProc('glQueryResourceTagNV');
  9069. end;
  9070. {$EndIf}
  9071. {$IfDef GL_NV_register_combiners}
  9072. if GL_NV_register_combiners then
  9073. begin
  9074. glCombinerParameterfvNV := gl_GetProc('glCombinerParameterfvNV');
  9075. glCombinerParameterfNV := gl_GetProc('glCombinerParameterfNV');
  9076. glCombinerParameterivNV := gl_GetProc('glCombinerParameterivNV');
  9077. glCombinerParameteriNV := gl_GetProc('glCombinerParameteriNV');
  9078. glCombinerInputNV := gl_GetProc('glCombinerInputNV');
  9079. glCombinerOutputNV := gl_GetProc('glCombinerOutputNV');
  9080. glFinalCombinerInputNV := gl_GetProc('glFinalCombinerInputNV');
  9081. glGetCombinerInputParameterfvNV := gl_GetProc('glGetCombinerInputParameterfvNV');
  9082. glGetCombinerInputParameterivNV := gl_GetProc('glGetCombinerInputParameterivNV');
  9083. glGetCombinerOutputParameterfvNV := gl_GetProc('glGetCombinerOutputParameterfvNV');
  9084. glGetCombinerOutputParameterivNV := gl_GetProc('glGetCombinerOutputParameterivNV');
  9085. glGetFinalCombinerInputParameterfvNV := gl_GetProc('glGetFinalCombinerInputParameterfvNV');
  9086. glGetFinalCombinerInputParameterivNV := gl_GetProc('glGetFinalCombinerInputParameterivNV');
  9087. end;
  9088. {$EndIf}
  9089. {$IfDef GL_NV_register_combiners2}
  9090. if GL_NV_register_combiners2 then
  9091. begin
  9092. glCombinerStageParameterfvNV := gl_GetProc('glCombinerStageParameterfvNV');
  9093. glGetCombinerStageParameterfvNV := gl_GetProc('glGetCombinerStageParameterfvNV');
  9094. end;
  9095. {$EndIf}
  9096. {$IfDef GL_NV_sample_locations}
  9097. if GL_NV_sample_locations then
  9098. begin
  9099. glFramebufferSampleLocationsfvNV := gl_GetProc('glFramebufferSampleLocationsfvNV');
  9100. glNamedFramebufferSampleLocationsfvNV := gl_GetProc('glNamedFramebufferSampleLocationsfvNV');
  9101. glResolveDepthValuesNV := gl_GetProc('glResolveDepthValuesNV');
  9102. end;
  9103. {$EndIf}
  9104. {$IfDef GL_NV_scissor_exclusive}
  9105. if GL_NV_scissor_exclusive then
  9106. begin
  9107. glScissorExclusiveNV := gl_GetProc('glScissorExclusiveNV');
  9108. glScissorExclusiveArrayvNV := gl_GetProc('glScissorExclusiveArrayvNV');
  9109. end;
  9110. {$EndIf}
  9111. {$IfDef GL_NV_shader_buffer_load}
  9112. if GL_NV_shader_buffer_load then
  9113. begin
  9114. glMakeBufferResidentNV := gl_GetProc('glMakeBufferResidentNV');
  9115. glMakeBufferNonResidentNV := gl_GetProc('glMakeBufferNonResidentNV');
  9116. glIsBufferResidentNV := gl_GetProc('glIsBufferResidentNV');
  9117. glMakeNamedBufferResidentNV := gl_GetProc('glMakeNamedBufferResidentNV');
  9118. glMakeNamedBufferNonResidentNV := gl_GetProc('glMakeNamedBufferNonResidentNV');
  9119. glIsNamedBufferResidentNV := gl_GetProc('glIsNamedBufferResidentNV');
  9120. glGetBufferParameterui64vNV := gl_GetProc('glGetBufferParameterui64vNV');
  9121. glGetNamedBufferParameterui64vNV := gl_GetProc('glGetNamedBufferParameterui64vNV');
  9122. glGetIntegerui64vNV := gl_GetProc('glGetIntegerui64vNV');
  9123. glUniformui64NV := gl_GetProc('glUniformui64NV');
  9124. glUniformui64vNV := gl_GetProc('glUniformui64vNV');
  9125. glProgramUniformui64NV := gl_GetProc('glProgramUniformui64NV');
  9126. glProgramUniformui64vNV := gl_GetProc('glProgramUniformui64vNV');
  9127. end;
  9128. {$EndIf}
  9129. {$IfDef GL_NV_shading_rate_image}
  9130. if GL_NV_shading_rate_image then
  9131. begin
  9132. glBindShadingRateImageNV := gl_GetProc('glBindShadingRateImageNV');
  9133. glGetShadingRateImagePaletteNV := gl_GetProc('glGetShadingRateImagePaletteNV');
  9134. glGetShadingRateSampleLocationivNV := gl_GetProc('glGetShadingRateSampleLocationivNV');
  9135. glShadingRateImageBarrierNV := gl_GetProc('glShadingRateImageBarrierNV');
  9136. glShadingRateImagePaletteNV := gl_GetProc('glShadingRateImagePaletteNV');
  9137. glShadingRateSampleOrderNV := gl_GetProc('glShadingRateSampleOrderNV');
  9138. glShadingRateSampleOrderCustomNV := gl_GetProc('glShadingRateSampleOrderCustomNV');
  9139. end;
  9140. {$EndIf}
  9141. {$IfDef GL_NV_texture_barrier}
  9142. if GL_NV_texture_barrier then
  9143. glTextureBarrierNV := gl_GetProc('glTextureBarrierNV');
  9144. {$EndIf}
  9145. {$IfDef GL_NV_texture_multisample}
  9146. if GL_NV_texture_multisample then
  9147. begin
  9148. glTexImage2DMultisampleCoverageNV := gl_GetProc('glTexImage2DMultisampleCoverageNV');
  9149. glTexImage3DMultisampleCoverageNV := gl_GetProc('glTexImage3DMultisampleCoverageNV');
  9150. glTextureImage2DMultisampleNV := gl_GetProc('glTextureImage2DMultisampleNV');
  9151. glTextureImage3DMultisampleNV := gl_GetProc('glTextureImage3DMultisampleNV');
  9152. glTextureImage2DMultisampleCoverageNV := gl_GetProc('glTextureImage2DMultisampleCoverageNV');
  9153. glTextureImage3DMultisampleCoverageNV := gl_GetProc('glTextureImage3DMultisampleCoverageNV');
  9154. end;
  9155. {$EndIf}
  9156. {$IfDef GL_NV_timeline_semaphore}
  9157. if GL_NV_timeline_semaphore then
  9158. begin
  9159. glCreateSemaphoresNV := gl_GetProc('glCreateSemaphoresNV');
  9160. glSemaphoreParameterivNV := gl_GetProc('glSemaphoreParameterivNV');
  9161. glGetSemaphoreParameterivNV := gl_GetProc('glGetSemaphoreParameterivNV');
  9162. end;
  9163. {$EndIf}
  9164. {$IfDef GL_NV_transform_feedback}
  9165. if GL_NV_transform_feedback then
  9166. begin
  9167. glBeginTransformFeedbackNV := gl_GetProc('glBeginTransformFeedbackNV');
  9168. glEndTransformFeedbackNV := gl_GetProc('glEndTransformFeedbackNV');
  9169. glTransformFeedbackAttribsNV := gl_GetProc('glTransformFeedbackAttribsNV');
  9170. glBindBufferRangeNV := gl_GetProc('glBindBufferRangeNV');
  9171. glBindBufferOffsetNV := gl_GetProc('glBindBufferOffsetNV');
  9172. glBindBufferBaseNV := gl_GetProc('glBindBufferBaseNV');
  9173. glTransformFeedbackVaryingsNV := gl_GetProc('glTransformFeedbackVaryingsNV');
  9174. glActiveVaryingNV := gl_GetProc('glActiveVaryingNV');
  9175. glGetVaryingLocationNV := gl_GetProc('glGetVaryingLocationNV');
  9176. glGetActiveVaryingNV := gl_GetProc('glGetActiveVaryingNV');
  9177. glGetTransformFeedbackVaryingNV := gl_GetProc('glGetTransformFeedbackVaryingNV');
  9178. glTransformFeedbackStreamAttribsNV := gl_GetProc('glTransformFeedbackStreamAttribsNV');
  9179. end;
  9180. {$EndIf}
  9181. {$IfDef GL_NV_transform_feedback2}
  9182. if GL_NV_transform_feedback2 then
  9183. begin
  9184. glBindTransformFeedbackNV := gl_GetProc('glBindTransformFeedbackNV');
  9185. glDeleteTransformFeedbacksNV := gl_GetProc('glDeleteTransformFeedbacksNV');
  9186. glGenTransformFeedbacksNV := gl_GetProc('glGenTransformFeedbacksNV');
  9187. glIsTransformFeedbackNV := gl_GetProc('glIsTransformFeedbackNV');
  9188. glPauseTransformFeedbackNV := gl_GetProc('glPauseTransformFeedbackNV');
  9189. glResumeTransformFeedbackNV := gl_GetProc('glResumeTransformFeedbackNV');
  9190. glDrawTransformFeedbackNV := gl_GetProc('glDrawTransformFeedbackNV');
  9191. end;
  9192. {$EndIf}
  9193. {$IfDef GL_NV_vdpau_interop}
  9194. if GL_NV_vdpau_interop then
  9195. begin
  9196. glVDPAUInitNV := gl_GetProc('glVDPAUInitNV');
  9197. glVDPAUFiniNV := gl_GetProc('glVDPAUFiniNV');
  9198. glVDPAURegisterVideoSurfaceNV := gl_GetProc('glVDPAURegisterVideoSurfaceNV');
  9199. glVDPAURegisterOutputSurfaceNV := gl_GetProc('glVDPAURegisterOutputSurfaceNV');
  9200. glVDPAUIsSurfaceNV := gl_GetProc('glVDPAUIsSurfaceNV');
  9201. glVDPAUUnregisterSurfaceNV := gl_GetProc('glVDPAUUnregisterSurfaceNV');
  9202. glVDPAUGetSurfaceivNV := gl_GetProc('glVDPAUGetSurfaceivNV');
  9203. glVDPAUSurfaceAccessNV := gl_GetProc('glVDPAUSurfaceAccessNV');
  9204. glVDPAUMapSurfacesNV := gl_GetProc('glVDPAUMapSurfacesNV');
  9205. glVDPAUUnmapSurfacesNV := gl_GetProc('glVDPAUUnmapSurfacesNV');
  9206. end;
  9207. {$EndIf}
  9208. {$IfDef GL_NV_vdpau_interop2}
  9209. if GL_NV_vdpau_interop2 then
  9210. glVDPAURegisterVideoSurfaceWithPictureStructureNV := gl_GetProc('glVDPAURegisterVideoSurfaceWithPictureStructureNV');
  9211. {$EndIf}
  9212. {$IfDef GL_NV_vertex_array_range}
  9213. if GL_NV_vertex_array_range then
  9214. begin
  9215. glFlushVertexArrayRangeNV := gl_GetProc('glFlushVertexArrayRangeNV');
  9216. glVertexArrayRangeNV := gl_GetProc('glVertexArrayRangeNV');
  9217. end;
  9218. {$EndIf}
  9219. {$IfDef GL_NV_vertex_attrib_integer_64bit}
  9220. if GL_NV_vertex_attrib_integer_64bit then
  9221. begin
  9222. glVertexAttribL1i64NV := gl_GetProc('glVertexAttribL1i64NV');
  9223. glVertexAttribL2i64NV := gl_GetProc('glVertexAttribL2i64NV');
  9224. glVertexAttribL3i64NV := gl_GetProc('glVertexAttribL3i64NV');
  9225. glVertexAttribL4i64NV := gl_GetProc('glVertexAttribL4i64NV');
  9226. glVertexAttribL1i64vNV := gl_GetProc('glVertexAttribL1i64vNV');
  9227. glVertexAttribL2i64vNV := gl_GetProc('glVertexAttribL2i64vNV');
  9228. glVertexAttribL3i64vNV := gl_GetProc('glVertexAttribL3i64vNV');
  9229. glVertexAttribL4i64vNV := gl_GetProc('glVertexAttribL4i64vNV');
  9230. glVertexAttribL1ui64NV := gl_GetProc('glVertexAttribL1ui64NV');
  9231. glVertexAttribL2ui64NV := gl_GetProc('glVertexAttribL2ui64NV');
  9232. glVertexAttribL3ui64NV := gl_GetProc('glVertexAttribL3ui64NV');
  9233. glVertexAttribL4ui64NV := gl_GetProc('glVertexAttribL4ui64NV');
  9234. glVertexAttribL1ui64vNV := gl_GetProc('glVertexAttribL1ui64vNV');
  9235. glVertexAttribL2ui64vNV := gl_GetProc('glVertexAttribL2ui64vNV');
  9236. glVertexAttribL3ui64vNV := gl_GetProc('glVertexAttribL3ui64vNV');
  9237. glVertexAttribL4ui64vNV := gl_GetProc('glVertexAttribL4ui64vNV');
  9238. glGetVertexAttribLi64vNV := gl_GetProc('glGetVertexAttribLi64vNV');
  9239. glGetVertexAttribLui64vNV := gl_GetProc('glGetVertexAttribLui64vNV');
  9240. glVertexAttribLFormatNV := gl_GetProc('glVertexAttribLFormatNV');
  9241. end;
  9242. {$EndIf}
  9243. {$IfDef GL_NV_vertex_buffer_unified_memory}
  9244. if GL_NV_vertex_buffer_unified_memory then
  9245. begin
  9246. glBufferAddressRangeNV := gl_GetProc('glBufferAddressRangeNV');
  9247. glVertexFormatNV := gl_GetProc('glVertexFormatNV');
  9248. glNormalFormatNV := gl_GetProc('glNormalFormatNV');
  9249. glColorFormatNV := gl_GetProc('glColorFormatNV');
  9250. glIndexFormatNV := gl_GetProc('glIndexFormatNV');
  9251. glTexCoordFormatNV := gl_GetProc('glTexCoordFormatNV');
  9252. glEdgeFlagFormatNV := gl_GetProc('glEdgeFlagFormatNV');
  9253. glSecondaryColorFormatNV := gl_GetProc('glSecondaryColorFormatNV');
  9254. glFogCoordFormatNV := gl_GetProc('glFogCoordFormatNV');
  9255. glVertexAttribFormatNV := gl_GetProc('glVertexAttribFormatNV');
  9256. glVertexAttribIFormatNV := gl_GetProc('glVertexAttribIFormatNV');
  9257. glGetIntegerui64i_vNV := gl_GetProc('glGetIntegerui64i_vNV');
  9258. end;
  9259. {$EndIf}
  9260. {$IfDef GL_NV_vertex_program}
  9261. if GL_NV_vertex_program then
  9262. begin
  9263. glAreProgramsResidentNV := gl_GetProc('glAreProgramsResidentNV');
  9264. glBindProgramNV := gl_GetProc('glBindProgramNV');
  9265. glDeleteProgramsNV := gl_GetProc('glDeleteProgramsNV');
  9266. glExecuteProgramNV := gl_GetProc('glExecuteProgramNV');
  9267. glGenProgramsNV := gl_GetProc('glGenProgramsNV');
  9268. glGetProgramParameterdvNV := gl_GetProc('glGetProgramParameterdvNV');
  9269. glGetProgramParameterfvNV := gl_GetProc('glGetProgramParameterfvNV');
  9270. glGetProgramivNV := gl_GetProc('glGetProgramivNV');
  9271. glGetProgramStringNV := gl_GetProc('glGetProgramStringNV');
  9272. glGetTrackMatrixivNV := gl_GetProc('glGetTrackMatrixivNV');
  9273. glGetVertexAttribdvNV := gl_GetProc('glGetVertexAttribdvNV');
  9274. glGetVertexAttribfvNV := gl_GetProc('glGetVertexAttribfvNV');
  9275. glGetVertexAttribivNV := gl_GetProc('glGetVertexAttribivNV');
  9276. glGetVertexAttribPointervNV := gl_GetProc('glGetVertexAttribPointervNV');
  9277. glIsProgramNV := gl_GetProc('glIsProgramNV');
  9278. glLoadProgramNV := gl_GetProc('glLoadProgramNV');
  9279. glProgramParameter4dNV := gl_GetProc('glProgramParameter4dNV');
  9280. glProgramParameter4dvNV := gl_GetProc('glProgramParameter4dvNV');
  9281. glProgramParameter4fNV := gl_GetProc('glProgramParameter4fNV');
  9282. glProgramParameter4fvNV := gl_GetProc('glProgramParameter4fvNV');
  9283. glProgramParameters4dvNV := gl_GetProc('glProgramParameters4dvNV');
  9284. glProgramParameters4fvNV := gl_GetProc('glProgramParameters4fvNV');
  9285. glRequestResidentProgramsNV := gl_GetProc('glRequestResidentProgramsNV');
  9286. glTrackMatrixNV := gl_GetProc('glTrackMatrixNV');
  9287. glVertexAttribPointerNV := gl_GetProc('glVertexAttribPointerNV');
  9288. glVertexAttrib1dNV := gl_GetProc('glVertexAttrib1dNV');
  9289. glVertexAttrib1dvNV := gl_GetProc('glVertexAttrib1dvNV');
  9290. glVertexAttrib1fNV := gl_GetProc('glVertexAttrib1fNV');
  9291. glVertexAttrib1fvNV := gl_GetProc('glVertexAttrib1fvNV');
  9292. glVertexAttrib1sNV := gl_GetProc('glVertexAttrib1sNV');
  9293. glVertexAttrib1svNV := gl_GetProc('glVertexAttrib1svNV');
  9294. glVertexAttrib2dNV := gl_GetProc('glVertexAttrib2dNV');
  9295. glVertexAttrib2dvNV := gl_GetProc('glVertexAttrib2dvNV');
  9296. glVertexAttrib2fNV := gl_GetProc('glVertexAttrib2fNV');
  9297. glVertexAttrib2fvNV := gl_GetProc('glVertexAttrib2fvNV');
  9298. glVertexAttrib2sNV := gl_GetProc('glVertexAttrib2sNV');
  9299. glVertexAttrib2svNV := gl_GetProc('glVertexAttrib2svNV');
  9300. glVertexAttrib3dNV := gl_GetProc('glVertexAttrib3dNV');
  9301. glVertexAttrib3dvNV := gl_GetProc('glVertexAttrib3dvNV');
  9302. glVertexAttrib3fNV := gl_GetProc('glVertexAttrib3fNV');
  9303. glVertexAttrib3fvNV := gl_GetProc('glVertexAttrib3fvNV');
  9304. glVertexAttrib3sNV := gl_GetProc('glVertexAttrib3sNV');
  9305. glVertexAttrib3svNV := gl_GetProc('glVertexAttrib3svNV');
  9306. glVertexAttrib4dNV := gl_GetProc('glVertexAttrib4dNV');
  9307. glVertexAttrib4dvNV := gl_GetProc('glVertexAttrib4dvNV');
  9308. glVertexAttrib4fNV := gl_GetProc('glVertexAttrib4fNV');
  9309. glVertexAttrib4fvNV := gl_GetProc('glVertexAttrib4fvNV');
  9310. glVertexAttrib4sNV := gl_GetProc('glVertexAttrib4sNV');
  9311. glVertexAttrib4svNV := gl_GetProc('glVertexAttrib4svNV');
  9312. glVertexAttrib4ubNV := gl_GetProc('glVertexAttrib4ubNV');
  9313. glVertexAttrib4ubvNV := gl_GetProc('glVertexAttrib4ubvNV');
  9314. glVertexAttribs1dvNV := gl_GetProc('glVertexAttribs1dvNV');
  9315. glVertexAttribs1fvNV := gl_GetProc('glVertexAttribs1fvNV');
  9316. glVertexAttribs1svNV := gl_GetProc('glVertexAttribs1svNV');
  9317. glVertexAttribs2dvNV := gl_GetProc('glVertexAttribs2dvNV');
  9318. glVertexAttribs2fvNV := gl_GetProc('glVertexAttribs2fvNV');
  9319. glVertexAttribs2svNV := gl_GetProc('glVertexAttribs2svNV');
  9320. glVertexAttribs3dvNV := gl_GetProc('glVertexAttribs3dvNV');
  9321. glVertexAttribs3fvNV := gl_GetProc('glVertexAttribs3fvNV');
  9322. glVertexAttribs3svNV := gl_GetProc('glVertexAttribs3svNV');
  9323. glVertexAttribs4dvNV := gl_GetProc('glVertexAttribs4dvNV');
  9324. glVertexAttribs4fvNV := gl_GetProc('glVertexAttribs4fvNV');
  9325. glVertexAttribs4svNV := gl_GetProc('glVertexAttribs4svNV');
  9326. glVertexAttribs4ubvNV := gl_GetProc('glVertexAttribs4ubvNV');
  9327. end;
  9328. {$EndIf}
  9329. {$IfDef GL_NV_video_capture}
  9330. if GL_NV_video_capture then
  9331. begin
  9332. glBeginVideoCaptureNV := gl_GetProc('glBeginVideoCaptureNV');
  9333. glBindVideoCaptureStreamBufferNV := gl_GetProc('glBindVideoCaptureStreamBufferNV');
  9334. glBindVideoCaptureStreamTextureNV := gl_GetProc('glBindVideoCaptureStreamTextureNV');
  9335. glEndVideoCaptureNV := gl_GetProc('glEndVideoCaptureNV');
  9336. glGetVideoCaptureivNV := gl_GetProc('glGetVideoCaptureivNV');
  9337. glGetVideoCaptureStreamivNV := gl_GetProc('glGetVideoCaptureStreamivNV');
  9338. glGetVideoCaptureStreamfvNV := gl_GetProc('glGetVideoCaptureStreamfvNV');
  9339. glGetVideoCaptureStreamdvNV := gl_GetProc('glGetVideoCaptureStreamdvNV');
  9340. glVideoCaptureNV := gl_GetProc('glVideoCaptureNV');
  9341. glVideoCaptureStreamParameterivNV := gl_GetProc('glVideoCaptureStreamParameterivNV');
  9342. glVideoCaptureStreamParameterfvNV := gl_GetProc('glVideoCaptureStreamParameterfvNV');
  9343. glVideoCaptureStreamParameterdvNV := gl_GetProc('glVideoCaptureStreamParameterdvNV');
  9344. end;
  9345. {$EndIf}
  9346. {$IfDef GL_NV_viewport_swizzle}
  9347. if GL_NV_viewport_swizzle then
  9348. glViewportSwizzleNV := gl_GetProc('glViewportSwizzleNV');
  9349. {$EndIf}
  9350. {$IfDef GL_OVR_multiview}
  9351. if GL_OVR_multiview then
  9352. glFramebufferTextureMultiviewOVR := gl_GetProc('glFramebufferTextureMultiviewOVR');
  9353. {$EndIf}
  9354. {$IfDef GL_PGI_misc_hints}
  9355. if GL_PGI_misc_hints then
  9356. glHintPGI := gl_GetProc('glHintPGI');
  9357. {$EndIf}
  9358. {$IfDef GL_SGIS_detail_texture}
  9359. if GL_SGIS_detail_texture then
  9360. begin
  9361. glDetailTexFuncSGIS := gl_GetProc('glDetailTexFuncSGIS');
  9362. glGetDetailTexFuncSGIS := gl_GetProc('glGetDetailTexFuncSGIS');
  9363. end;
  9364. {$EndIf}
  9365. {$IfDef GL_SGIS_fog_function}
  9366. if GL_SGIS_fog_function then
  9367. begin
  9368. glFogFuncSGIS := gl_GetProc('glFogFuncSGIS');
  9369. glGetFogFuncSGIS := gl_GetProc('glGetFogFuncSGIS');
  9370. end;
  9371. {$EndIf}
  9372. {$IfDef GL_SGIS_multisample}
  9373. if GL_SGIS_multisample then
  9374. begin
  9375. glSampleMaskSGIS := gl_GetProc('glSampleMaskSGIS');
  9376. glSamplePatternSGIS := gl_GetProc('glSamplePatternSGIS');
  9377. end;
  9378. {$EndIf}
  9379. {$IfDef GL_SGIS_pixel_texture}
  9380. if GL_SGIS_pixel_texture then
  9381. begin
  9382. glPixelTexGenParameteriSGIS := gl_GetProc('glPixelTexGenParameteriSGIS');
  9383. glPixelTexGenParameterivSGIS := gl_GetProc('glPixelTexGenParameterivSGIS');
  9384. glPixelTexGenParameterfSGIS := gl_GetProc('glPixelTexGenParameterfSGIS');
  9385. glPixelTexGenParameterfvSGIS := gl_GetProc('glPixelTexGenParameterfvSGIS');
  9386. glGetPixelTexGenParameterivSGIS := gl_GetProc('glGetPixelTexGenParameterivSGIS');
  9387. glGetPixelTexGenParameterfvSGIS := gl_GetProc('glGetPixelTexGenParameterfvSGIS');
  9388. end;
  9389. {$EndIf}
  9390. {$IfDef GL_SGIS_point_parameters}
  9391. if GL_SGIS_point_parameters then
  9392. begin
  9393. glPointParameterfSGIS := gl_GetProc('glPointParameterfSGIS');
  9394. glPointParameterfvSGIS := gl_GetProc('glPointParameterfvSGIS');
  9395. end;
  9396. {$EndIf}
  9397. {$IfDef GL_SGIS_sharpen_texture}
  9398. if GL_SGIS_sharpen_texture then
  9399. begin
  9400. glSharpenTexFuncSGIS := gl_GetProc('glSharpenTexFuncSGIS');
  9401. glGetSharpenTexFuncSGIS := gl_GetProc('glGetSharpenTexFuncSGIS');
  9402. end;
  9403. {$EndIf}
  9404. {$IfDef GL_SGIS_texture4D}
  9405. if GL_SGIS_texture4D then
  9406. begin
  9407. glTexImage4DSGIS := gl_GetProc('glTexImage4DSGIS');
  9408. glTexSubImage4DSGIS := gl_GetProc('glTexSubImage4DSGIS');
  9409. end;
  9410. {$EndIf}
  9411. {$IfDef GL_SGIS_texture_color_mask}
  9412. if GL_SGIS_texture_color_mask then
  9413. glTextureColorMaskSGIS := gl_GetProc('glTextureColorMaskSGIS');
  9414. {$EndIf}
  9415. {$IfDef GL_SGIS_texture_filter4}
  9416. if GL_SGIS_texture_filter4 then
  9417. begin
  9418. glGetTexFilterFuncSGIS := gl_GetProc('glGetTexFilterFuncSGIS');
  9419. glTexFilterFuncSGIS := gl_GetProc('glTexFilterFuncSGIS');
  9420. end;
  9421. {$EndIf}
  9422. {$IfDef GL_SGIX_async}
  9423. if GL_SGIX_async then
  9424. begin
  9425. glAsyncMarkerSGIX := gl_GetProc('glAsyncMarkerSGIX');
  9426. glFinishAsyncSGIX := gl_GetProc('glFinishAsyncSGIX');
  9427. glPollAsyncSGIX := gl_GetProc('glPollAsyncSGIX');
  9428. glGenAsyncMarkersSGIX := gl_GetProc('glGenAsyncMarkersSGIX');
  9429. glDeleteAsyncMarkersSGIX := gl_GetProc('glDeleteAsyncMarkersSGIX');
  9430. glIsAsyncMarkerSGIX := gl_GetProc('glIsAsyncMarkerSGIX');
  9431. end;
  9432. {$EndIf}
  9433. {$IfDef GL_SGIX_flush_raster}
  9434. if GL_SGIX_flush_raster then
  9435. glFlushRasterSGIX := gl_GetProc('glFlushRasterSGIX');
  9436. {$EndIf}
  9437. {$IfDef GL_SGIX_fragment_lighting}
  9438. if GL_SGIX_fragment_lighting then
  9439. begin
  9440. glFragmentColorMaterialSGIX := gl_GetProc('glFragmentColorMaterialSGIX');
  9441. glFragmentLightfSGIX := gl_GetProc('glFragmentLightfSGIX');
  9442. glFragmentLightfvSGIX := gl_GetProc('glFragmentLightfvSGIX');
  9443. glFragmentLightiSGIX := gl_GetProc('glFragmentLightiSGIX');
  9444. glFragmentLightivSGIX := gl_GetProc('glFragmentLightivSGIX');
  9445. glFragmentLightModelfSGIX := gl_GetProc('glFragmentLightModelfSGIX');
  9446. glFragmentLightModelfvSGIX := gl_GetProc('glFragmentLightModelfvSGIX');
  9447. glFragmentLightModeliSGIX := gl_GetProc('glFragmentLightModeliSGIX');
  9448. glFragmentLightModelivSGIX := gl_GetProc('glFragmentLightModelivSGIX');
  9449. glFragmentMaterialfSGIX := gl_GetProc('glFragmentMaterialfSGIX');
  9450. glFragmentMaterialfvSGIX := gl_GetProc('glFragmentMaterialfvSGIX');
  9451. glFragmentMaterialiSGIX := gl_GetProc('glFragmentMaterialiSGIX');
  9452. glFragmentMaterialivSGIX := gl_GetProc('glFragmentMaterialivSGIX');
  9453. glGetFragmentLightfvSGIX := gl_GetProc('glGetFragmentLightfvSGIX');
  9454. glGetFragmentLightivSGIX := gl_GetProc('glGetFragmentLightivSGIX');
  9455. glGetFragmentMaterialfvSGIX := gl_GetProc('glGetFragmentMaterialfvSGIX');
  9456. glGetFragmentMaterialivSGIX := gl_GetProc('glGetFragmentMaterialivSGIX');
  9457. glLightEnviSGIX := gl_GetProc('glLightEnviSGIX');
  9458. end;
  9459. {$EndIf}
  9460. {$IfDef GL_SGIX_framezoom}
  9461. if GL_SGIX_framezoom then
  9462. glFrameZoomSGIX := gl_GetProc('glFrameZoomSGIX');
  9463. {$EndIf}
  9464. {$IfDef GL_SGIX_igloo_interface}
  9465. if GL_SGIX_igloo_interface then
  9466. glIglooInterfaceSGIX := gl_GetProc('glIglooInterfaceSGIX');
  9467. {$EndIf}
  9468. {$IfDef GL_SGIX_instruments}
  9469. if GL_SGIX_instruments then
  9470. begin
  9471. glGetInstrumentsSGIX := gl_GetProc('glGetInstrumentsSGIX');
  9472. glInstrumentsBufferSGIX := gl_GetProc('glInstrumentsBufferSGIX');
  9473. glPollInstrumentsSGIX := gl_GetProc('glPollInstrumentsSGIX');
  9474. glReadInstrumentsSGIX := gl_GetProc('glReadInstrumentsSGIX');
  9475. glStartInstrumentsSGIX := gl_GetProc('glStartInstrumentsSGIX');
  9476. glStopInstrumentsSGIX := gl_GetProc('glStopInstrumentsSGIX');
  9477. end;
  9478. {$EndIf}
  9479. {$IfDef GL_SGIX_list_priority}
  9480. if GL_SGIX_list_priority then
  9481. begin
  9482. glGetListParameterfvSGIX := gl_GetProc('glGetListParameterfvSGIX');
  9483. glGetListParameterivSGIX := gl_GetProc('glGetListParameterivSGIX');
  9484. glListParameterfSGIX := gl_GetProc('glListParameterfSGIX');
  9485. glListParameterfvSGIX := gl_GetProc('glListParameterfvSGIX');
  9486. glListParameteriSGIX := gl_GetProc('glListParameteriSGIX');
  9487. glListParameterivSGIX := gl_GetProc('glListParameterivSGIX');
  9488. end;
  9489. {$EndIf}
  9490. {$IfDef GL_SGIX_pixel_texture}
  9491. if GL_SGIX_pixel_texture then
  9492. glPixelTexGenSGIX := gl_GetProc('glPixelTexGenSGIX');
  9493. {$EndIf}
  9494. {$IfDef GL_SGIX_polynomial_ffd}
  9495. if GL_SGIX_polynomial_ffd then
  9496. begin
  9497. glDeformationMap3dSGIX := gl_GetProc('glDeformationMap3dSGIX');
  9498. glDeformationMap3fSGIX := gl_GetProc('glDeformationMap3fSGIX');
  9499. glDeformSGIX := gl_GetProc('glDeformSGIX');
  9500. glLoadIdentityDeformationMapSGIX := gl_GetProc('glLoadIdentityDeformationMapSGIX');
  9501. end;
  9502. {$EndIf}
  9503. {$IfDef GL_SGIX_reference_plane}
  9504. if GL_SGIX_reference_plane then
  9505. glReferencePlaneSGIX := gl_GetProc('glReferencePlaneSGIX');
  9506. {$EndIf}
  9507. {$IfDef GL_SGIX_sprite}
  9508. if GL_SGIX_sprite then
  9509. begin
  9510. glSpriteParameterfSGIX := gl_GetProc('glSpriteParameterfSGIX');
  9511. glSpriteParameterfvSGIX := gl_GetProc('glSpriteParameterfvSGIX');
  9512. glSpriteParameteriSGIX := gl_GetProc('glSpriteParameteriSGIX');
  9513. glSpriteParameterivSGIX := gl_GetProc('glSpriteParameterivSGIX');
  9514. end;
  9515. {$EndIf}
  9516. {$IfDef GL_SGIX_tag_sample_buffer}
  9517. if GL_SGIX_tag_sample_buffer then
  9518. glTagSampleBufferSGIX := gl_GetProc('glTagSampleBufferSGIX');
  9519. {$EndIf}
  9520. {$IfDef GL_SGI_color_table}
  9521. if GL_SGI_color_table then
  9522. begin
  9523. glColorTableSGI := gl_GetProc('glColorTableSGI');
  9524. glColorTableParameterfvSGI := gl_GetProc('glColorTableParameterfvSGI');
  9525. glColorTableParameterivSGI := gl_GetProc('glColorTableParameterivSGI');
  9526. glCopyColorTableSGI := gl_GetProc('glCopyColorTableSGI');
  9527. glGetColorTableSGI := gl_GetProc('glGetColorTableSGI');
  9528. glGetColorTableParameterfvSGI := gl_GetProc('glGetColorTableParameterfvSGI');
  9529. glGetColorTableParameterivSGI := gl_GetProc('glGetColorTableParameterivSGI');
  9530. end;
  9531. {$EndIf}
  9532. {$IfDef GL_SUNX_constant_data}
  9533. if GL_SUNX_constant_data then
  9534. glFinishTextureSUNX := gl_GetProc('glFinishTextureSUNX');
  9535. {$EndIf}
  9536. {$IfDef GL_SUN_global_alpha}
  9537. if GL_SUN_global_alpha then
  9538. begin
  9539. glGlobalAlphaFactorbSUN := gl_GetProc('glGlobalAlphaFactorbSUN');
  9540. glGlobalAlphaFactorsSUN := gl_GetProc('glGlobalAlphaFactorsSUN');
  9541. glGlobalAlphaFactoriSUN := gl_GetProc('glGlobalAlphaFactoriSUN');
  9542. glGlobalAlphaFactorfSUN := gl_GetProc('glGlobalAlphaFactorfSUN');
  9543. glGlobalAlphaFactordSUN := gl_GetProc('glGlobalAlphaFactordSUN');
  9544. glGlobalAlphaFactorubSUN := gl_GetProc('glGlobalAlphaFactorubSUN');
  9545. glGlobalAlphaFactorusSUN := gl_GetProc('glGlobalAlphaFactorusSUN');
  9546. glGlobalAlphaFactoruiSUN := gl_GetProc('glGlobalAlphaFactoruiSUN');
  9547. end;
  9548. {$EndIf}
  9549. {$IfDef GL_SUN_mesh_array}
  9550. if GL_SUN_mesh_array then
  9551. glDrawMeshArraysSUN := gl_GetProc('glDrawMeshArraysSUN');
  9552. {$EndIf}
  9553. {$IfDef GL_SUN_triangle_list}
  9554. if GL_SUN_triangle_list then
  9555. begin
  9556. glReplacementCodeuiSUN := gl_GetProc('glReplacementCodeuiSUN');
  9557. glReplacementCodeusSUN := gl_GetProc('glReplacementCodeusSUN');
  9558. glReplacementCodeubSUN := gl_GetProc('glReplacementCodeubSUN');
  9559. glReplacementCodeuivSUN := gl_GetProc('glReplacementCodeuivSUN');
  9560. glReplacementCodeusvSUN := gl_GetProc('glReplacementCodeusvSUN');
  9561. glReplacementCodeubvSUN := gl_GetProc('glReplacementCodeubvSUN');
  9562. glReplacementCodePointerSUN := gl_GetProc('glReplacementCodePointerSUN');
  9563. end;
  9564. {$EndIf}
  9565. {$IfDef GL_SUN_vertex}
  9566. if GL_SUN_vertex then
  9567. begin
  9568. glColor4ubVertex2fSUN := gl_GetProc('glColor4ubVertex2fSUN');
  9569. glColor4ubVertex2fvSUN := gl_GetProc('glColor4ubVertex2fvSUN');
  9570. glColor4ubVertex3fSUN := gl_GetProc('glColor4ubVertex3fSUN');
  9571. glColor4ubVertex3fvSUN := gl_GetProc('glColor4ubVertex3fvSUN');
  9572. glColor3fVertex3fSUN := gl_GetProc('glColor3fVertex3fSUN');
  9573. glColor3fVertex3fvSUN := gl_GetProc('glColor3fVertex3fvSUN');
  9574. glNormal3fVertex3fSUN := gl_GetProc('glNormal3fVertex3fSUN');
  9575. glNormal3fVertex3fvSUN := gl_GetProc('glNormal3fVertex3fvSUN');
  9576. glColor4fNormal3fVertex3fSUN := gl_GetProc('glColor4fNormal3fVertex3fSUN');
  9577. glColor4fNormal3fVertex3fvSUN := gl_GetProc('glColor4fNormal3fVertex3fvSUN');
  9578. glTexCoord2fVertex3fSUN := gl_GetProc('glTexCoord2fVertex3fSUN');
  9579. glTexCoord2fVertex3fvSUN := gl_GetProc('glTexCoord2fVertex3fvSUN');
  9580. glTexCoord4fVertex4fSUN := gl_GetProc('glTexCoord4fVertex4fSUN');
  9581. glTexCoord4fVertex4fvSUN := gl_GetProc('glTexCoord4fVertex4fvSUN');
  9582. glTexCoord2fColor4ubVertex3fSUN := gl_GetProc('glTexCoord2fColor4ubVertex3fSUN');
  9583. glTexCoord2fColor4ubVertex3fvSUN := gl_GetProc('glTexCoord2fColor4ubVertex3fvSUN');
  9584. glTexCoord2fColor3fVertex3fSUN := gl_GetProc('glTexCoord2fColor3fVertex3fSUN');
  9585. glTexCoord2fColor3fVertex3fvSUN := gl_GetProc('glTexCoord2fColor3fVertex3fvSUN');
  9586. glTexCoord2fNormal3fVertex3fSUN := gl_GetProc('glTexCoord2fNormal3fVertex3fSUN');
  9587. glTexCoord2fNormal3fVertex3fvSUN := gl_GetProc('glTexCoord2fNormal3fVertex3fvSUN');
  9588. glTexCoord2fColor4fNormal3fVertex3fSUN := gl_GetProc('glTexCoord2fColor4fNormal3fVertex3fSUN');
  9589. glTexCoord2fColor4fNormal3fVertex3fvSUN := gl_GetProc('glTexCoord2fColor4fNormal3fVertex3fvSUN');
  9590. glTexCoord4fColor4fNormal3fVertex4fSUN := gl_GetProc('glTexCoord4fColor4fNormal3fVertex4fSUN');
  9591. glTexCoord4fColor4fNormal3fVertex4fvSUN := gl_GetProc('glTexCoord4fColor4fNormal3fVertex4fvSUN');
  9592. glReplacementCodeuiVertex3fSUN := gl_GetProc('glReplacementCodeuiVertex3fSUN');
  9593. glReplacementCodeuiVertex3fvSUN := gl_GetProc('glReplacementCodeuiVertex3fvSUN');
  9594. glReplacementCodeuiColor4ubVertex3fSUN := gl_GetProc('glReplacementCodeuiColor4ubVertex3fSUN');
  9595. glReplacementCodeuiColor4ubVertex3fvSUN := gl_GetProc('glReplacementCodeuiColor4ubVertex3fvSUN');
  9596. glReplacementCodeuiColor3fVertex3fSUN := gl_GetProc('glReplacementCodeuiColor3fVertex3fSUN');
  9597. glReplacementCodeuiColor3fVertex3fvSUN := gl_GetProc('glReplacementCodeuiColor3fVertex3fvSUN');
  9598. glReplacementCodeuiNormal3fVertex3fSUN := gl_GetProc('glReplacementCodeuiNormal3fVertex3fSUN');
  9599. glReplacementCodeuiNormal3fVertex3fvSUN := gl_GetProc('glReplacementCodeuiNormal3fVertex3fvSUN');
  9600. glReplacementCodeuiColor4fNormal3fVertex3fSUN := gl_GetProc('glReplacementCodeuiColor4fNormal3fVertex3fSUN');
  9601. glReplacementCodeuiColor4fNormal3fVertex3fvSUN := gl_GetProc('glReplacementCodeuiColor4fNormal3fVertex3fvSUN');
  9602. glReplacementCodeuiTexCoord2fVertex3fSUN := gl_GetProc('glReplacementCodeuiTexCoord2fVertex3fSUN');
  9603. glReplacementCodeuiTexCoord2fVertex3fvSUN := gl_GetProc('glReplacementCodeuiTexCoord2fVertex3fvSUN');
  9604. glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN := gl_GetProc('glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN');
  9605. glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN := gl_GetProc('glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN');
  9606. glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN := gl_GetProc('glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN');
  9607. glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN := gl_GetProc('glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN');
  9608. end;
  9609. {$EndIf}
  9610. end;
  9611. initialization
  9612. (*{$IFDEF FPC}
  9613. {$IF DEFINED(cpui386) or DEFINED(cpux86_64)}
  9614. SetExceptionMask([exInvalidOp, exDenormalized, exZeroDivide, exOverflow, exUnderflow, exPrecision]);
  9615. {$IFEND}
  9616. {$ELSE}
  9617. Set8087CW($133F);
  9618. {$ENDIF}
  9619. *)
  9620. end.