12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805 |
- //
- // The graphics engine GXScene
- //
- unit GXS.OpenGLAdapter;
- (* OpenGL adapter *)
- interface
- {$I Stage.Defines.inc}
- uses
- Winapi.OpenGL,
- Winapi.OpenGLext,
- Winapi.Windows,
- System.SysUtils,
- Stage.OpenGLTokens,
- Stage.Strings,
- Stage.Logger,
- Stage.VectorGeometry,
- Stage.VectorTypes;
- const
- {$IFDEF CROSSVCL}
- {$IF Defined(LINUX)}
- opengl32 = 'libGL.so';
- glu32 = 'libGLU.so.1';
- {$ELSEIF Defined(MACOS)}
- opengl32 = '/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib';
- glu32 = '/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib';
- {$ELSE}
- Unsupported platform
- {$ENDIF}
- {$ELSE}
- opengl32 = 'OpenGL32.dll';
- glu32 = 'GLU32.dll';
- {$ENDIF}
- type
- EOpenGLError = class(Exception);
- TGLExtensionsAndEntryPoints = class
- private
- FBuffer: string;
- FInitialized: boolean;
- FDebug: boolean;
- FDebugIds: Cardinal;
- function CheckExtension(const Extension: string): boolean;
- {$IFDEF SUPPORT_WGL}
- procedure ReadWGLExtensions;
- procedure ReadWGLImplementationProperties;
- {$ENDIF}
- function GetAddress(const ProcName: string): Pointer;
- function GetAddressNoSuffixes(const ProcName: string): Pointer;
- function GetAddressAlt(const ProcName1, ProcName2: string): Pointer;
- function GetCapAddress: Pointer;
- public
- VERSION_1_0, VERSION_1_1, VERSION_1_2, VERSION_1_3, VERSION_1_4,
- VERSION_1_5, VERSION_2_0, VERSION_2_1, VERSION_3_0, VERSION_3_1,
- VERSION_3_2, VERSION_3_3, VERSION_4_0, VERSION_4_1, VERSION_4_2,
- ARB_blend_func_extended, ARB_color_buffer_float, ARB_compatibility,
- ARB_copy_buffer, ARB_depth_buffer_float, ARB_depth_clamp,
- ARB_depth_texture, ARB_draw_buffers, ARB_draw_buffers_blend,
- ARB_draw_elements_base_vertex, ARB_draw_indirect, ARB_draw_instanced,
- ARB_explicit_attrib_location, ARB_fragment_coord_conventions,
- ARB_fragment_program, ARB_fragment_program_shadow, ARB_fragment_shader,
- ARB_framebuffer_object, ARB_framebuffer_sRGB, ARB_geometry_shader4,
- ARB_gpu_shader_fp64, ARB_gpu_shader5, ARB_half_float_pixel,
- ARB_half_float_vertex, ARB_imaging, ARB_instanced_arrays,
- ARB_map_buffer_range, ARB_matrix_palette, ARB_multisample,
- ARB_multitexture, ARB_occlusion_query, ARB_occlusion_query2,
- ARB_pixel_buffer_object, ARB_point_parameters, ARB_point_sprite,
- ARB_provoking_vertex, ARB_sample_shading, ARB_sampler_objects,
- ARB_seamless_cube_map, ARB_shader_bit_encoding, ARB_shader_subroutine,
- ARB_shader_texture_lod, ARB_shading_language_100, ARB_shadow,
- ARB_shadow_ambient, ARB_shader_objects, ARB_sync, ARB_tessellation_shader,
- ARB_texture_border_clamp, ARB_texture_buffer_object,
- ARB_texture_buffer_object_rgb32, ARB_texture_compression,
- ARB_texture_compression_rgtc, ARB_texture_cube_map,
- ARB_texture_cube_map_array, ARB_texture_env_add, ARB_texture_env_combine,
- ARB_texture_env_crossbar, ARB_texture_env_dot3, ARB_texture_float,
- ARB_texture_gather, ARB_texture_mirrored_repeat, ARB_texture_multisample,
- ARB_texture_non_power_of_two, ARB_texture_query_lod,
- ARB_texture_rectangle, ARB_texture_rg, ARB_texture_rgb10_a2ui,
- ARB_texture_swizzle, ARB_timer_query, ARB_transform_feedback2,
- ARB_transform_feedback3, ARB_transpose_matrix, ARB_uniform_buffer_object,
- ARB_vertex_array_bgra, ARB_vertex_array_object, ARB_vertex_blend,
- ARB_vertex_buffer_object, ARB_vertex_program, ARB_vertex_shader,
- ARB_vertex_type_2_10_10_10_rev, ARB_window_pos,
- ARB_texture_compression_bptc, ARB_get_program_binary,
- ARB_separate_shader_objects, ARB_shader_stencil_export, KHR_debug,
- ARB_clear_buffer_object, ARB_compute_shader, ARB_copy_image,
- ARB_debug_group, ARB_debug_label, ARB_debug_output2,
- ARB_ES3_compatibility, ARB_explicit_uniform_location,
- ARB_fragment_layer_viewport, ARB_framebuffer_no_attachments,
- ARB_internalformat_query2, ARB_invalidate_subdata,
- ARB_multi_draw_indirect, ARB_program_interface_query,
- ARB_shader_image_size, ARB_shader_storage_buffer_object,
- ARB_stencil_texturing, ARB_texture_buffer_range, ARB_texture_query_levels,
- ARB_texture_storage_multisample, ARB_texture_view,
- ARB_vertex_attrib_binding, ARB_robustness_isolation, ARB_cl_event,
- _3DFX_multisample, _3DFX_tbuffer, _3DFX_texture_compression_FXT1,
- ATI_draw_buffers, ATI_texture_compression_3dc, ATI_texture_float,
- ATI_texture_mirror_once, S3_s3tc, EXT_abgr, EXT_bgra,
- EXT_bindable_uniform, EXT_blend_color, EXT_blend_equation_separate,
- EXT_blend_func_separate, EXT_blend_logic_op, EXT_blend_minmax,
- EXT_blend_subtract, EXT_Cg_shader, EXT_clip_volume_hint,
- EXT_compiled_vertex_array, EXT_copy_texture, EXT_depth_bounds_test,
- EXT_draw_buffers2, EXT_draw_instanced, EXT_draw_range_elements,
- EXT_fog_coord, EXT_framebuffer_blit, EXT_framebuffer_multisample,
- EXT_framebuffer_object, EXT_framebuffer_sRGB, EXT_geometry_shader4,
- EXT_gpu_program_parameters, EXT_gpu_shader4, EXT_multi_draw_arrays,
- EXT_multisample, EXT_packed_depth_stencil, EXT_packed_float,
- EXT_packed_pixels, EXT_paletted_texture, EXT_pixel_buffer_object,
- EXT_polygon_offset, EXT_rescale_normal, EXT_secondary_color,
- EXT_separate_specular_color, EXT_shadow_funcs, EXT_shared_texture_palette,
- EXT_stencil_clear_tag, EXT_stencil_two_side, EXT_stencil_wrap,
- EXT_texture3D, EXT_texture_array, EXT_texture_buffer_object,
- EXT_texture_compression_latc, EXT_texture_compression_rgtc,
- EXT_texture_compression_s3tc, EXT_texture_cube_map,
- EXT_texture_edge_clamp, EXT_texture_env_add, EXT_texture_env_combine,
- EXT_texture_env_dot3, EXT_texture_filter_anisotropic, EXT_texture_integer,
- EXT_texture_lod, EXT_texture_lod_bias, EXT_texture_mirror_clamp,
- EXT_texture_object, EXT_texture_rectangle, EXT_texture_sRGB,
- EXT_texture_shared_exponent, EXT_timer_query, EXT_transform_feedback,
- EXT_vertex_array, EXT_texture_sRGB_decode, EXT_direct_state_access,
- EXT_texture_swizzle, HP_occlusion_test, IBM_rasterpos_clip,
- KTX_buffer_region, MESA_resize_buffers, NV_blend_square,
- NV_conditional_render, NV_copy_image, NV_depth_buffer_float, NV_fence,
- NV_float_buffer, NV_fog_distance, NV_geometry_program4,
- NV_light_max_exponent, NV_multisample_filter_hint, NV_occlusion_query,
- NV_point_sprite, NV_primitive_restart, NV_register_combiners,
- NV_shader_buffer_load, NV_texgen_reflection, NV_texture_compression_vtc,
- NV_texture_env_combine4, NV_texture_rectangle, NV_texture_shader,
- NV_texture_shader2, NV_texture_shader3, NV_transform_feedback,
- NV_vertex_array_range, NV_vertex_array_range2,
- NV_vertex_buffer_unified_memory, NV_vertex_program, SGI_color_matrix,
- SGIS_generate_mipmap, SGIS_multisample, SGIS_texture_border_clamp,
- SGIS_texture_color_mask, SGIS_texture_edge_clamp, SGIS_texture_lod,
- SGIX_depth_texture, SGIX_shadow, SGIX_shadow_ambient,
- AMD_vertex_shader_tessellator, WIN_swap_hint, ATI_meminfo,
- NVX_gpu_memory_info, NV_vdpau_interop, NV_path_rendering,
- GREMEDY_frame_terminator, GREMEDY_string_marker, AMDX_debug_output,
- ARB_debug_output: boolean;
- // OpenGL 1.1 core functions and procedures
- BindTexture: procedure(target: Cardinal; texture: Cardinal);stdcall;
- BlendFunc: procedure(sfactor: Cardinal; dfactor: Cardinal);stdcall;
- Clear: procedure(mask: TGLbitfield);stdcall;
- ClearColor: procedure(red, green, blue, alpha: Single);stdcall;
- ClearDepth: procedure(depth: TGLclampd);stdcall;
- ClearStencil: procedure(s: TGLint);stdcall;
- ColorMask: procedure(red, green, blue, alpha: TGLboolean);stdcall;
- CopyTexImage1D: procedure(target: Cardinal; level: TGLint;
- internalFormat: Cardinal; X, y: TGLint; Width: TGLsizei; border: TGLint);stdcall;
- CopyTexImage2D: procedure(target: Cardinal; level: TGLint;
- internalFormat: Cardinal; X, y: TGLint; Width, Height: TGLsizei;
- border: TGLint);stdcall;
- CopyTexSubImage1D: procedure(target: Cardinal; level, xoffset, X, y: TGLint;
- Width: TGLsizei);stdcall;
- CopyTexSubImage2D: procedure(target: Cardinal;
- level, xoffset, yoffset, X, y: TGLint; Width, Height: TGLsizei);stdcall;
- CullFace: procedure(mode: Cardinal);stdcall;
- DeleteTextures: procedure(n: TGLsizei; textures: PGLuint);stdcall;
- DepthFunc: procedure(func: Cardinal);stdcall;
- DepthMask: procedure(flag: TGLboolean);stdcall;
- DepthRange: procedure(zNear, zFar: TGLclampd);stdcall;
- Disable: procedure(cap: Cardinal);stdcall;
- DrawArrays: procedure(mode: Cardinal; First: TGLint; Count: TGLsizei);stdcall;
- DrawBuffer: procedure(mode: Cardinal);stdcall;
- DrawElements: procedure(mode: Cardinal; Count: TGLsizei; atype: Cardinal;
- indices: Pointer);stdcall;
- Enable: procedure(cap: Cardinal);stdcall;
- Finish: procedure();stdcall;
- Flush: procedure();stdcall;
- FrontFace: procedure(mode: Cardinal);stdcall;
- GenTextures: procedure(n: TGLsizei; textures: PGLuint);stdcall;
- GetBooleanv: procedure(pname: Cardinal; params: PGLboolean);stdcall;
- GetDoublev: procedure(pname: Cardinal; params: PGLdouble);stdcall;
- GetError: function: Cardinal;stdcall;
- GetFloatv: procedure(pname: Cardinal; params: PGLfloat);stdcall;
- GetIntegerv: procedure(pname: Cardinal; params: PGLint);stdcall;
- GetPointerv: procedure(pname: Cardinal; var params);stdcall;
- GetString: function(Name: Cardinal): PAnsiChar;stdcall;
- GetTexImage: procedure(target: Cardinal; level: TGLint;
- format, atype: Cardinal; pixels: Pointer);stdcall;
- GetTexLevelParameterfv: procedure(target: Cardinal; level: TGLint;
- pname: Cardinal; params: PGLfloat);stdcall;
- GetTexLevelParameteriv: procedure(target: Cardinal; level: TGLint;
- pname: Cardinal; params: PGLint);stdcall;
- GetTexParameterfv: procedure(target, pname: Cardinal; params: PGLfloat);stdcall;
- GetTexParameteriv: procedure(target, pname: Cardinal; params: PGLint);stdcall;
- Hint: procedure(target, mode: Cardinal);stdcall;
- IsEnabled: function(cap: Cardinal): TGLboolean;stdcall;
- IsTexture: function(texture: Cardinal): TGLboolean;stdcall;
- LineWidth: procedure(Width: TGLfloat);stdcall;
- LogicOp: procedure(opcode: Cardinal);stdcall;
- PixelStoref: procedure(pname: Cardinal; param: TGLfloat);stdcall;
- PixelStorei: procedure(pname: Cardinal; param: TGLint);stdcall;
- PointSize: procedure(size: TGLfloat);stdcall;
- PolygonMode: procedure(face, mode: Cardinal);stdcall;
- PolygonOffset: procedure(factor, units: TGLfloat);stdcall;
- ReadBuffer: procedure(mode: Cardinal);stdcall;
- ReadPixels: procedure(X, y: TGLint; Width, Height: TGLsizei;
- format, atype: Cardinal; pixels: Pointer);stdcall;
- Scissor: procedure(X, y: TGLint; Width, Height: TGLsizei);stdcall;
- StencilFunc: procedure(func: Cardinal; ref: TGLint; mask: Cardinal);stdcall;
- StencilMask: procedure(mask: Cardinal);stdcall;
- StencilOp: procedure(fail, zfail, zpass: Cardinal);stdcall;
- TexImage1D: procedure(target: Cardinal; level, internalFormat: TGLint;
- Width: TGLsizei; border: TGLint; format, atype: Cardinal;
- pixels: Pointer);stdcall;
- TexImage2D: procedure(target: Cardinal; level, internalFormat: TGLint;
- Width, Height: TGLsizei; border: TGLint; format, atype: Cardinal;
- pixels: Pointer);stdcall;
- TexParameterf: procedure(target, pname: Cardinal; param: TGLfloat);stdcall;
- TexParameterfv: procedure(target, pname: Cardinal; params: PGLfloat);stdcall;
- TexParameteri: procedure(target, pname: Cardinal; param: TGLint);stdcall;
- TexParameteriv: procedure(target, pname: Cardinal; params: PGLint);stdcall;
- TexSubImage1D: procedure(target: Cardinal; level, xoffset: TGLint;
- Width: TGLsizei; format, atype: Cardinal; pixels: Pointer);stdcall;
- TexSubImage2D: procedure(target: Cardinal; level, xoffset, yoffset: TGLint;
- Width, Height: TGLsizei; format, atype: Cardinal; pixels: Pointer);stdcall;
- Viewport: procedure(X, y: TGLint; Width, Height: TGLsizei);stdcall;
- // ------------------------------ OpenGL 1.1 deprecated
- Accum: procedure(op: Cardinal; Value: TGLfloat); stdcall;
- AlphaFunc: procedure(func: Cardinal; ref: Single); stdcall;
- AreTexturesResident: function(n: TGLsizei; textures: PGLuint;
- residences: PGLboolean): TGLboolean;stdcall;
- ArrayElement: procedure(i: TGLint); stdcall;
- Begin_: procedure(mode: Cardinal); stdcall;
- Bitmap: procedure(Width: TGLsizei; Height: TGLsizei; xorig, yorig: TGLfloat;
- xmove: TGLfloat; ymove: TGLfloat; Bitmap: Pointer); stdcall;
- CallList: procedure(list: Cardinal); stdcall;
- CallLists: procedure(n: TGLsizei; atype: Cardinal; lists: Pointer);stdcall;
- ClearAccum: procedure(red, green, blue, alpha: TGLfloat); stdcall;
- ClearIndex: procedure(c: TGLfloat); stdcall;
- ClipPlane: procedure(plane: Cardinal; equation: PGLdouble);stdcall;
- Color3b: procedure(red, green, blue: TGLbyte); stdcall;
- Color3bv: procedure(v: PGLbyte); stdcall;
- Color3d: procedure(red, green, blue: TGLdouble); stdcall;
- Color3dv: procedure(v: PGLdouble); stdcall;
- Color3f: procedure(red, green, blue: TGLfloat); stdcall;
- Color3fv: procedure(v: PGLfloat); stdcall;
- Color3i: procedure(red, green, blue: TGLint); stdcall;
- Color3iv: procedure(v: PGLint); stdcall;
- Color3s: procedure(red, green, blue: TGLshort); stdcall;
- Color3sv: procedure(v: PGLshort); stdcall;
- Color3ub: procedure(red, green, blue: TGLubyte); stdcall;
- Color3ubv: procedure(v: PGLubyte); stdcall;
- Color3ui: procedure(red, green, blue: Cardinal); stdcall;
- Color3uiv: procedure(v: PGLuint); stdcall;
- Color3us: procedure(red, green, blue: TGLushort); stdcall;
- Color3usv: procedure(v: PGLushort); stdcall;
- Color4b: procedure(red, green, blue, alpha: TGLbyte); stdcall;
- Color4bv: procedure(v: PGLbyte); stdcall;
- Color4d: procedure(red, green, blue, alpha: TGLdouble); stdcall;
- Color4dv: procedure(v: PGLdouble); stdcall;
- Color4f: procedure(red, green, blue, alpha: TGLfloat); stdcall;
- Color4fv: procedure(v: PGLfloat); stdcall;
- Color4i: procedure(red, green, blue, alpha: TGLint); stdcall;
- Color4iv: procedure(v: PGLint); stdcall;
- Color4s: procedure(red, green, blue, alpha: TGLshort); stdcall;
- Color4sv: procedure(v: TGLshort); stdcall;
- Color4ub: procedure(red, green, blue, alpha: TGLubyte); stdcall;
- Color4ubv: procedure(v: PGLubyte); stdcall;
- Color4ui: procedure(red, green, blue, alpha: Cardinal); stdcall;
- Color4uiv: procedure(v: PGLuint); stdcall;
- Color4us: procedure(red, green, blue, alpha: TGLushort); stdcall;
- Color4usv: procedure(v: PGLushort); stdcall;
- ColorMaterial: procedure(face: Cardinal; mode: Cardinal); stdcall;
- ColorPointer: procedure(size: TGLint; atype: Cardinal; stride: TGLsizei;
- Data: Pointer);stdcall;
- CopyPixels: procedure(X, y: TGLint; Width, Height: TGLsizei;
- atype: Cardinal);stdcall;
- DeleteLists: procedure(list: Cardinal; range: TGLsizei); stdcall;
- DisableClientState: procedure(aarray: Cardinal); stdcall;
- DrawPixels: procedure(Width, Height: TGLsizei; format, atype: Cardinal;
- pixels: Pointer);stdcall;
- EdgeFlag: procedure(flag: TGLboolean); stdcall;
- EdgeFlagPointer: procedure(stride: TGLsizei; Data: Pointer); stdcall;
- EdgeFlagv: procedure(flag: PGLboolean); stdcall;
- EnableClientState: procedure(aarray: Cardinal); stdcall;
- End_: procedure(); stdcall;
- EndList: procedure(); stdcall;
- EvalCoord1d: procedure(u: TGLdouble); stdcall;
- EvalCoord1dv: procedure(u: PGLdouble); stdcall;
- EvalCoord1f: procedure(u: TGLfloat); stdcall;
- EvalCoord1fv: procedure(u: PGLfloat); stdcall;
- EvalCoord2d: procedure(u: TGLdouble; v: TGLdouble);stdcall;
- EvalCoord2dv: procedure(u: PGLdouble);stdcall;
- EvalCoord2f: procedure(u, v: TGLfloat);stdcall;
- EvalCoord2fv: procedure(u: PGLfloat);stdcall;
- EvalMesh1: procedure(mode: Cardinal; i1, i2: TGLint);stdcall;
- EvalMesh2: procedure(mode: Cardinal; i1, i2, j1, j2: TGLint);stdcall;
- EvalPoint1: procedure(i: TGLint);stdcall;
- EvalPoint2: procedure(i, j: TGLint);stdcall;
- FeedbackBuffer: procedure(size: TGLsizei; atype: Cardinal;
- buffer: PGLfloat);stdcall;
- Fogf: procedure(pname: Cardinal; param: TGLfloat);stdcall;
- Fogfv: procedure(pname: Cardinal; params: PGLfloat);stdcall;
- Fogi: procedure(pname: Cardinal; param: TGLint);stdcall;
- Fogiv: procedure(pname: Cardinal; params: PGLint);stdcall;
- Frustum: procedure(left, right, bottom, top, zNear, zFar: TGLdouble);stdcall;
- GenLists: function(range: TGLsizei): Cardinal;stdcall;
- GetClipPlane: procedure(plane: Cardinal; equation: PGLdouble);stdcall;
- GetLightfv: procedure(light, pname: Cardinal; params: PGLfloat);stdcall;
- GetLightiv: procedure(light, pname: Cardinal; params: PGLint);stdcall;
- GetMapdv: procedure(target, query: Cardinal; v: PGLdouble);stdcall;
- GetMapfv: procedure(target, query: Cardinal; v: PGLfloat);stdcall;
- GetMapiv: procedure(target, query: Cardinal; v: PGLint);stdcall;
- GetMaterialfv: procedure(face, pname: Cardinal; params: PGLfloat);stdcall;
- GetMaterialiv: procedure(face, pname: Cardinal; params: PGLint);stdcall;
- GetPixelMapfv: procedure(map: Cardinal; values: PGLfloat);stdcall;
- GetPixelMapuiv: procedure(map: Cardinal; values: PGLuint);stdcall;
- GetPixelMapusv: procedure(map: Cardinal; values: PGLushort);stdcall;
- GetPolygonStipple: procedure(mask: PGLubyte);stdcall;
- GetTexEnvfv: procedure(target, pname: Cardinal; params: PGLfloat);stdcall;
- GetTexEnviv: procedure(target, pname: Cardinal; params: PGLint);stdcall;
- GetTexGendv: procedure(coord, pname: Cardinal; params: PGLdouble);stdcall;
- GetTexGenfv: procedure(coord, pname: Cardinal; params: PGLfloat);stdcall;
- GetTexGeniv: procedure(coord, pname: Cardinal; params: PGLint);stdcall;
- IndexMask: procedure(mask: Cardinal);stdcall;
- IndexPointer: procedure(atype: Cardinal; stride: TGLsizei; Data: Pointer);stdcall;
- Indexd: procedure(c: TGLdouble);stdcall;
- Indexdv: procedure(c: PGLdouble);stdcall;
- Indexf: procedure(c: TGLfloat);stdcall;
- Indexfv: procedure(c: PGLfloat);stdcall;
- Indexi: procedure(c: TGLint);stdcall;
- Indexiv: procedure(c: PGLint);stdcall;
- Indexs: procedure(c: TGLshort);stdcall;
- Indexsv: procedure(c: PGLshort);stdcall;
- Indexub: procedure(c: TGLubyte);stdcall;
- Indexubv: procedure(c: PGLubyte);stdcall;
- InitNames: procedure();stdcall;
- InterleavedArrays: procedure(format: Cardinal; stride: TGLsizei;
- Data: Pointer);stdcall;
- IsList: function(list: Cardinal): TGLboolean;stdcall;
- LightModelf: procedure(pname: Cardinal; param: TGLfloat);stdcall;
- LightModelfv: procedure(pname: Cardinal; params: PGLfloat);stdcall;
- LightModeli: procedure(pname: Cardinal; param: TGLint);stdcall;
- LightModeliv: procedure(pname: Cardinal; params: PGLint);stdcall;
- Lightf: procedure(light, pname: Cardinal; param: TGLfloat);stdcall;
- Lightfv: procedure(light, pname: Cardinal; params: PGLfloat);stdcall;
- Lighti: procedure(light, pname: Cardinal; param: TGLint);stdcall;
- Lightiv: procedure(light, pname: Cardinal; params: PGLint);stdcall;
- LineStipple: procedure(factor: TGLint; pattern: TGLushort);stdcall;
- ListBase: procedure(base: Cardinal);stdcall;
- LoadIdentity: procedure();stdcall;
- LoadMatrixd: procedure(m: PGLdouble);stdcall;
- LoadMatrixf: procedure(m: PGLfloat);stdcall;
- LoadName: procedure(Name: Cardinal);stdcall;
- Map1d: procedure(target: Cardinal; u1, u2: TGLdouble; stride, order: TGLint;
- points: PGLdouble);stdcall;
- Map1f: procedure(target: Cardinal; u1, u2: TGLfloat; stride, order: TGLint;
- points: PGLfloat);stdcall;
- Map2d: procedure(target: Cardinal; u1, u2: TGLdouble;
- ustride, uorder: TGLint; v1, v2: TGLdouble; vstride, vorder: TGLint;
- points: PGLdouble);stdcall;
- Map2f: procedure(target: Cardinal; u1, u2: TGLfloat;
- ustride, uorder: TGLint; v1, v2: TGLfloat; vstride, vorder: TGLint;
- points: PGLfloat);stdcall;
- MapGrid1d: procedure(un: TGLint; u1, u2: TGLdouble);stdcall;
- MapGrid1f: procedure(un: TGLint; u1, u2: TGLfloat);stdcall;
- MapGrid2d: procedure(un: TGLint; u1, u2: TGLdouble; vn: TGLint;
- v1, v2: TGLdouble);stdcall;
- MapGrid2f: procedure(un: TGLint; u1, u2: TGLfloat; vn: TGLint;
- v1, v2: TGLfloat);stdcall;
- Materialf: procedure(face, pname: Cardinal; param: TGLfloat);stdcall;
- Materialfv: procedure(face, pname: Cardinal; params: PGLfloat);stdcall;
- Materiali: procedure(face, pname: Cardinal; param: TGLint);stdcall;
- Materialiv: procedure(face, pname: Cardinal; params: PGLint);stdcall;
- MatrixMode: procedure(mode: Cardinal);stdcall;
- MultMatrixd: procedure(m: PGLdouble);stdcall;
- MultMatrixf: procedure(m: PGLfloat);stdcall;
- NewList: procedure(list: Cardinal; mode: Cardinal);stdcall;
- Normal3b: procedure(nx, ny, nz: TGLbyte);stdcall;
- Normal3bv: procedure(v: PGLbyte);stdcall;
- Normal3d: procedure(nx, ny, nz: TGLdouble);stdcall;
- Normal3dv: procedure(v: PGLdouble);stdcall;
- Normal3f: procedure(nx, ny, nz: TGLfloat);stdcall;
- Normal3fv: procedure(v: PGLfloat);stdcall;
- Normal3i: procedure(nx, ny, nz: TGLint);stdcall;
- Normal3iv: procedure(v: PGLint);stdcall;
- Normal3s: procedure(nx, ny, nz: TGLshort);stdcall;
- Normal3sv: procedure(v: PGLshort);stdcall;
- NormalPointer: procedure(atype: Cardinal; stride: TGLsizei; Data: Pointer);stdcall;
- Ortho: procedure(left, right, bottom, top, zNear, zFar: TGLdouble);stdcall;
- PassThrough: procedure(token: TGLfloat);stdcall;
- PixelMapfv: procedure(map: Cardinal; mapsize: TGLsizei; values: PGLfloat);stdcall;
- PixelMapuiv: procedure(map: Cardinal; mapsize: TGLsizei; values: PGLuint);stdcall;
- PixelMapusv: procedure(map: Cardinal; mapsize: TGLsizei; values: PGLushort);stdcall;
- PixelTransferf: procedure(pname: Cardinal; param: TGLfloat);stdcall;
- PixelTransferi: procedure(pname: Cardinal; param: TGLint);stdcall;
- PixelZoom: procedure(xfactor, yfactor: TGLfloat);stdcall;
- PolygonStipple: procedure(mask: PGLubyte);stdcall;
- PopAttrib: procedure();stdcall;
- PopClientAttrib: procedure();stdcall;
- PopMatrix: procedure();stdcall;
- PopName: procedure();stdcall;
- PrioritizeTextures: procedure(n: TGLsizei; textures: PGLuint;
- priorities: PSingle);stdcall;
- PushAttrib: procedure(mask: TGLbitfield);stdcall;
- PushClientAttrib: procedure(mask: TGLbitfield);stdcall;
- PushMatrix: procedure();stdcall;
- PushName: procedure(Name: Cardinal);stdcall;
- RasterPos2d: procedure(X, y: TGLdouble);stdcall;
- RasterPos2dv: procedure(v: PGLdouble);stdcall;
- RasterPos2f: procedure(X, y: TGLfloat);stdcall;
- RasterPos2fv: procedure(v: PGLfloat);stdcall;
- RasterPos2i: procedure(X, y: TGLint);stdcall;
- RasterPos2iv: procedure(v: PGLint);stdcall;
- RasterPos2s: procedure(X, y: PGLshort);stdcall;
- RasterPos2sv: procedure(v: PGLshort);stdcall;
- RasterPos3d: procedure(X, y, z: TGLdouble);stdcall;
- RasterPos3dv: procedure(v: PGLdouble);stdcall;
- RasterPos3f: procedure(X, y, z: TGLfloat);stdcall;
- RasterPos3fv: procedure(v: PGLfloat);stdcall;
- RasterPos3i: procedure(X, y, z: TGLint);stdcall;
- RasterPos3iv: procedure(v: PGLint);stdcall;
- RasterPos3s: procedure(X, y, z: TGLshort);stdcall;
- RasterPos3sv: procedure(v: PGLshort);stdcall;
- RasterPos4d: procedure(X, y, z, w: TGLdouble);stdcall;
- RasterPos4dv: procedure(v: PGLdouble);stdcall;
- RasterPos4f: procedure(X, y, z, w: TGLfloat);stdcall;
- RasterPos4fv: procedure(v: PGLfloat);stdcall;
- RasterPos4i: procedure(X, y, z, w: TGLint);stdcall;
- RasterPos4iv: procedure(v: PGLint);stdcall;
- RasterPos4s: procedure(X, y, z, w: TGLshort);stdcall;
- RasterPos4sv: procedure(v: PGLshort);stdcall;
- Rectd: procedure(x1, y1, x2, y2: TGLdouble);stdcall;
- Rectdv: procedure(v1, v2: PGLdouble);stdcall;
- Rectf: procedure(x1, y1, x2, y2: TGLfloat);stdcall;
- Rectfv: procedure(v1, v2: PGLfloat);stdcall;
- Recti: procedure(x1, y1, x2, y2: TGLint);stdcall;
- Rectiv: procedure(v1, v2: PGLint);stdcall;
- Rects: procedure(x1, y1, x2, y2: TGLshort);stdcall;
- Rectsv: procedure(v1, v2: PGLshort);stdcall;
- RenderMode: function(mode: Cardinal): TGLint;stdcall;
- Rotated: procedure(ane, X, y, z: TGLdouble);stdcall;
- Rotatef: procedure(ane, X, y, z: TGLfloat);stdcall;
- Scaled: procedure(X, y, z: TGLdouble);stdcall;
- Scalef: procedure(X, y, z: TGLfloat);stdcall;
- SelectBuffer: procedure(size: TGLsizei; buffer: PGLuint);stdcall;
- ShadeModel: procedure(mode: Cardinal);stdcall;
- TexCoord1d: procedure(s: TGLdouble);stdcall;
- TexCoord1dv: procedure(v: PGLdouble);stdcall;
- TexCoord1f: procedure(s: TGLfloat);stdcall;
- TexCoord1fv: procedure(v: PGLfloat);stdcall;
- TexCoord1i: procedure(s: TGLint);stdcall;
- TexCoord1iv: procedure(v: PGLint);stdcall;
- TexCoord1s: procedure(s: TGLshort);stdcall;
- TexCoord1sv: procedure(v: PGLshort);stdcall;
- TexCoord2d: procedure(s, t: TGLdouble);stdcall;
- TexCoord2dv: procedure(v: PGLdouble);stdcall;
- TexCoord2f: procedure(s, t: TGLfloat);stdcall;
- TexCoord2fv: procedure(v: PGLfloat);stdcall;
- TexCoord2i: procedure(s, t: TGLint);stdcall;
- TexCoord2iv: procedure(v: PGLint);stdcall;
- TexCoord2s: procedure(s, t: TGLshort);stdcall;
- TexCoord2sv: procedure(v: PGLshort);stdcall;
- TexCoord3d: procedure(s, t, r: TGLdouble);stdcall;
- TexCoord3dv: procedure(v: PGLdouble);stdcall;
- TexCoord3f: procedure(s, t, r: TGLfloat);stdcall;
- TexCoord3fv: procedure(v: PGLfloat);stdcall;
- TexCoord3i: procedure(s, t, r: TGLint);stdcall;
- TexCoord3iv: procedure(v: PGLint);stdcall;
- TexCoord3s: procedure(s, t, r: TGLshort);stdcall;
- TexCoord3sv: procedure(v: PGLshort);stdcall;
- TexCoord4d: procedure(s, t, r, q: TGLdouble);stdcall;
- TexCoord4dv: procedure(v: PGLdouble);stdcall;
- TexCoord4f: procedure(s, t, r, q: TGLfloat);stdcall;
- TexCoord4fv: procedure(v: PGLfloat);stdcall;
- TexCoord4i: procedure(s, t, r, q: TGLint);stdcall;
- TexCoord4iv: procedure(v: PGLint);stdcall;
- TexCoord4s: procedure(s, t, r, q: TGLshort);stdcall;
- TexCoord4sv: procedure(v: PGLshort);stdcall;
- TexCoordPointer: procedure(size: TGLint; atype: Cardinal; stride: TGLsizei; Data: Pointer);stdcall;
- TexEnvf: procedure(target, pname: Cardinal; param: TGLfloat);stdcall;
- TexEnvfv: procedure(target, pname: Cardinal; params: PGLfloat);stdcall;
- TexEnvi: procedure(target, pname: Cardinal; param: TGLint);stdcall;
- TexEnviv: procedure(target, pname: Cardinal; params: PGLint);stdcall;
- TexGend: procedure(coord, pname: Cardinal; param: TGLdouble);stdcall;
- TexGendv: procedure(coord, pname: Cardinal; params: PGLdouble);stdcall;
- TexGenf: procedure(coord, pname: Cardinal; param: TGLfloat);stdcall;
- TexGenfv: procedure(coord, pname: Cardinal; params: PGLfloat);stdcall;
- TexGeni: procedure(coord, pname: Cardinal; param: TGLint);stdcall;
- TexGeniv: procedure(coord, pname: Cardinal; params: PGLint);stdcall;
- Translated: procedure(X, y, z: TGLdouble);stdcall;
- Translatef: procedure(X, y, z: TGLfloat);stdcall;
- Vertex2d: procedure(X, y: TGLdouble);stdcall;
- Vertex2dv: procedure(v: PGLdouble);stdcall;
- Vertex2f: procedure(X, y: TGLfloat);stdcall;
- Vertex2fv: procedure(v: PGLfloat);stdcall;
- Vertex2i: procedure(X, y: TGLint);stdcall;
- Vertex2iv: procedure(v: PGLint);stdcall;
- Vertex2s: procedure(X, y: TGLshort);stdcall;
- Vertex2sv: procedure(v: PGLshort);stdcall;
- Vertex3d: procedure(X, y, z: TGLdouble);stdcall;
- Vertex3dv: procedure(v: PGLdouble);stdcall;
- Vertex3f: procedure(X, y, z: TGLfloat);stdcall;
- Vertex3fv: procedure(v: PGLfloat);stdcall;
- Vertex3i: procedure(X, y, z: TGLint);stdcall;
- Vertex3iv: procedure(v: PGLint);stdcall;
- Vertex3s: procedure(X, y, z: TGLshort);stdcall;
- Vertex3sv: procedure(v: PGLshort);stdcall;
- Vertex4d: procedure(X, y, z, w: TGLdouble);stdcall;
- Vertex4dv: procedure(v: PGLdouble);stdcall;
- Vertex4f: procedure(X, y, z, w: TGLfloat);stdcall;
- Vertex4fv: procedure(v: PGLfloat);stdcall;
- Vertex4i: procedure(X, y, z, w: TGLint);stdcall;
- Vertex4iv: procedure(v: PGLint);stdcall;
- Vertex4s: procedure(X, y, z, w: TGLshort);stdcall;
- Vertex4sv: procedure(v: PGLshort);stdcall;
- VertexPointer: procedure(size: TGLint; atype: Cardinal; stride: TGLsizei;
- Data: Pointer);stdcall;
- //*****************************************************************
- // --------- New core function/procedure definitions in OpenGL 1.2'}
- //*****************************************************************
- BlendColor: PFNGLBLENDCOLORPROC;
- BlendEquation: PFNGLBLENDEQUATIONPROC;
- DrawRangeElements: PFNGLDRAWRANGEELEMENTSPROC;
- TexImage3D: PFNGLTEXIMAGE3DPROC;
- TexSubImage3D: PFNGLTEXSUBIMAGE3DPROC;
- CopyTexSubImage3D: PFNGLCOPYTEXSUBIMAGE3DPROC;
- // -------- New core function/procedure definitions in OpenGL 1.4'}
- BlendFuncSeparate: PFNGLBLENDFUNCSEPARATEPROC;
- MultiDrawArrays: PFNGLMULTIDRAWARRAYSPROC;
- MultiDrawElements: PFNGLMULTIDRAWELEMENTSPROC;
- PointParameterf: PFNGLPOINTPARAMETERFPROC;
- PointParameterfv: PFNGLPOINTPARAMETERFVPROC;
- PointParameteri: PFNGLPOINTPARAMETERIPROC;
- PointParameteriv: PFNGLPOINTPARAMETERIVPROC;
- // ------------- New core function/procedure definitions in OpenGL 2.0'}
- BlendEquationSeparate: PFNGLBLENDEQUATIONSEPARATEPROC;
- DrawBuffers: PFNGLDRAWBUFFERSPROC;
- StencilOpSeparate: PFNGLSTENCILOPSEPARATEPROC;
- StencilFuncSeparate: PFNGLSTENCILFUNCSEPARATEPROC;
- StencilMaskSeparate: PFNGLSTENCILMASKSEPARATEPROC;
- // ---------------- Buffer objects
- LockArrays: PFNGLLOCKARRAYSEXTPROC; // EXT only
- UnlockArrays: PFNGLUNLOCKARRAYSEXTPROC; // EXT only
- BindBuffer: PFNGLBINDBUFFERPROC;
- DeleteBuffers: PFNGLDELETEBUFFERSPROC;
- GenBuffers: PFNGLGENBUFFERSPROC;
- IsBuffer: PFNGLISBUFFERPROC;
- BufferData: PFNGLBUFFERDATAPROC;
- BufferSubData: PFNGLBUFFERSUBDATAPROC;
- GetBufferSubData: PFNGLGETBUFFERSUBDATAPROC;
- MapBuffer: PFNGLMAPBUFFERPROC;
- UnmapBuffer: PFNGLUNMAPBUFFERPROC;
- GetBufferParameteriv: PFNGLGETBUFFERPARAMETERIVPROC;
- GetBufferPointerv: PFNGLGETBUFFERPOINTERVPROC;
- MapBufferRange: PFNGLMAPBUFFERRANGEPROC;
- FlushMappedBufferRange: PFNGLFLUSHMAPPEDBUFFERRANGEPROC;
- BindBufferRange: PFNGLBINDBUFFERRANGEPROC;
- BindBufferOffset: PFNGLBINDBUFFEROFFSETEXTPROC; // EXT + NV only
- BindBufferBase: PFNGLBINDBUFFERBASEPROC;
- TransformFeedbackAttribs: PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC; // NV only
- TransformFeedbackVaryingsNV: PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC;
- // NV only
- TransformFeedbackVaryings: PFNGLTRANSFORMFEEDBACKVARYINGSPROC;
- GetTransformFeedbackVarying: PFNGLGETTRANSFORMFEEDBACKVARYINGPROC;
- BeginTransformFeedback: PFNGLBEGINTRANSFORMFEEDBACKPROC;
- EndTransformFeedback: PFNGLENDTRANSFORMFEEDBACKPROC;
- TexBuffer: PFNGLTEXBUFFERPROC;
- ClearBufferiv: PFNGLCLEARBUFFERIVPROC;
- ClearBufferuiv: PFNGLCLEARBUFFERUIVPROC;
- ClearBufferfv: PFNGLCLEARBUFFERFVPROC;
- ClearBufferfi: PFNGLCLEARBUFFERFIPROC;
- GetStringi: PFNGLGETSTRINGIPROC;
- BindVertexArray: PFNGLBINDVERTEXARRAYPROC;
- DeleteVertexArrays: PFNGLDELETEVERTEXARRAYSPROC;
- GenVertexArrays: PFNGLGENVERTEXARRAYSPROC;
- IsVertexArray: PFNGLISVERTEXARRAYPROC;
- FlushVertexArrayRangeNV: PFNGLFLUSHVERTEXARRAYRANGENVPROC;
- VertexArrayRangeNV: PFNGLVERTEXARRAYRANGENVPROC;
- GetUniformIndices: PFNGLGETUNIFORMINDICESPROC;
- GetActiveUniformsiv: PFNGLGETACTIVEUNIFORMSIVPROC;
- GetActiveUniformName: PFNGLGETACTIVEUNIFORMNAMEPROC;
- GetUniformBlockIndex: PFNGLGETUNIFORMBLOCKINDEXPROC;
- GetActiveUniformBlockiv: PFNGLGETACTIVEUNIFORMBLOCKIVPROC;
- GetActiveUniformBlockName: PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC;
- UniformBlockBinding: PFNGLUNIFORMBLOCKBINDINGPROC;
- CopyBufferSubData: PFNGLCOPYBUFFERSUBDATAPROC;
- UniformBuffer: PFNGLUNIFORMBUFFEREXTPROC;
- GetUniformBufferSize: PFNGLGETUNIFORMBUFFERSIZEEXTPROC; // EXT only
- GetUniformOffset: PFNGLGETUNIFORMOFFSETEXTPROC; // EXT only
- PrimitiveRestartIndex: PFNGLPRIMITIVERESTARTINDEXPROC;
- DrawElementsBaseVertex: PFNGLDRAWELEMENTSBASEVERTEXPROC;
- DrawRangeElementsBaseVertex: PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC;
- DrawElementsInstancedBaseVertex: PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC;
- MultiDrawElementsBaseVertex: PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC;
- DrawArraysInstanced: PFNGLDRAWARRAYSINSTANCEDPROC;
- DrawElementsInstanced: PFNGLDRAWELEMENTSINSTANCEDPROC;
- VertexAttrib1d: PFNGLVERTEXATTRIB1DPROC;
- VertexAttrib1dv: PFNGLVERTEXATTRIB1DVPROC;
- VertexAttrib1f: PFNGLVERTEXATTRIB1FPROC;
- VertexAttrib1fv: PFNGLVERTEXATTRIB1FVPROC;
- VertexAttrib1s: PFNGLVERTEXATTRIB1SPROC;
- VertexAttrib1sv: PFNGLVERTEXATTRIB1SVPROC;
- VertexAttrib2d: PFNGLVERTEXATTRIB2DPROC;
- VertexAttrib2dv: PFNGLVERTEXATTRIB2DVPROC;
- VertexAttrib2f: PFNGLVERTEXATTRIB2FPROC;
- VertexAttrib2fv: PFNGLVERTEXATTRIB2FVPROC;
- VertexAttrib2s: PFNGLVERTEXATTRIB2SPROC;
- VertexAttrib2sv: PFNGLVERTEXATTRIB2SVPROC;
- VertexAttrib3d: PFNGLVERTEXATTRIB3DPROC;
- VertexAttrib3dv: PFNGLVERTEXATTRIB3DVPROC;
- VertexAttrib3f: PFNGLVERTEXATTRIB3FPROC;
- VertexAttrib3fv: PFNGLVERTEXATTRIB3FVPROC;
- VertexAttrib3s: PFNGLVERTEXATTRIB3SPROC;
- VertexAttrib3sv: PFNGLVERTEXATTRIB3SVPROC;
- VertexAttrib4Nbv: PFNGLVERTEXATTRIB4NBVPROC;
- VertexAttrib4Niv: PFNGLVERTEXATTRIB4NIVPROC;
- VertexAttrib4Nsv: PFNGLVERTEXATTRIB4NSVPROC;
- VertexAttrib4Nub: PFNGLVERTEXATTRIB4NUBPROC;
- VertexAttrib4Nubv: PFNGLVERTEXATTRIB4NUBVPROC;
- VertexAttrib4Nuiv: PFNGLVERTEXATTRIB4NUIVPROC;
- VertexAttrib4Nusv: PFNGLVERTEXATTRIB4NUSVPROC;
- VertexAttrib4bv: PFNGLVERTEXATTRIB4BVPROC;
- VertexAttrib4d: PFNGLVERTEXATTRIB4DPROC;
- VertexAttrib4dv: PFNGLVERTEXATTRIB4DVPROC;
- VertexAttrib4f: PFNGLVERTEXATTRIB4FPROC;
- VertexAttrib4fv: PFNGLVERTEXATTRIB4FVPROC;
- VertexAttrib4iv: PFNGLVERTEXATTRIB4IVPROC;
- VertexAttrib4s: PFNGLVERTEXATTRIB4SPROC;
- VertexAttrib4sv: PFNGLVERTEXATTRIB4SVPROC;
- VertexAttrib4ubv: PFNGLVERTEXATTRIB4UBVPROC;
- VertexAttrib4uiv: PFNGLVERTEXATTRIB4UIVPROC;
- VertexAttrib4usv: PFNGLVERTEXATTRIB4USVPROC;
- VertexAttribPointer: PFNGLVERTEXATTRIBPOINTERPROC;
- VertexAttribI1i: PFNGLVERTEXATTRIBI1IPROC;
- VertexAttribI2i: PFNGLVERTEXATTRIBI2IPROC;
- VertexAttribI3i: PFNGLVERTEXATTRIBI3IPROC;
- VertexAttribI4i: PFNGLVERTEXATTRIBI4IPROC;
- VertexAttribI1ui: PFNGLVERTEXATTRIBI1UIPROC;
- VertexAttribI2ui: PFNGLVERTEXATTRIBI2UIPROC;
- VertexAttribI3ui: PFNGLVERTEXATTRIBI3UIPROC;
- VertexAttribI4ui: PFNGLVERTEXATTRIBI4UIPROC;
- VertexAttribI1iv: PFNGLVERTEXATTRIBI1IVPROC;
- VertexAttribI2iv: PFNGLVERTEXATTRIBI2IVPROC;
- VertexAttribI3iv: PFNGLVERTEXATTRIBI3IVPROC;
- VertexAttribI4iv: PFNGLVERTEXATTRIBI4IVPROC;
- VertexAttribI1uiv: PFNGLVERTEXATTRIBI1UIVPROC;
- VertexAttribI2uiv: PFNGLVERTEXATTRIBI2UIVPROC;
- VertexAttribI3uiv: PFNGLVERTEXATTRIBI3UIVPROC;
- VertexAttribI4uiv: PFNGLVERTEXATTRIBI4UIVPROC;
- VertexAttribI4bv: PFNGLVERTEXATTRIBI4BVPROC;
- VertexAttribI4sv: PFNGLVERTEXATTRIBI4SVPROC;
- VertexAttribI4ubv: PFNGLVERTEXATTRIBI4UBVPROC;
- VertexAttribI4usv: PFNGLVERTEXATTRIBI4USVPROC;
- VertexAttribIPointer: PFNGLVERTEXATTRIBIPOINTERPROC;
- GetVertexAttribIiv: PFNGLGETVERTEXATTRIBIIVPROC;
- GetVertexAttribIuiv: PFNGLGETVERTEXATTRIBIUIVPROC;
- Uniform1ui: PFNGLUNIFORM1UIPROC;
- Uniform2ui: PFNGLUNIFORM2UIPROC;
- Uniform3ui: PFNGLUNIFORM3UIPROC;
- Uniform4ui: PFNGLUNIFORM4UIPROC;
- Uniform1uiv: PFNGLUNIFORM1UIVPROC;
- Uniform2uiv: PFNGLUNIFORM2UIVPROC;
- Uniform3uiv: PFNGLUNIFORM3UIVPROC;
- Uniform4uiv: PFNGLUNIFORM4UIVPROC;
- GetUniformuiv: PFNGLGETUNIFORMUIVPROC;
- BindFragDataLocation: PFNGLBINDFRAGDATALOCATIONPROC;
- GetFragDataLocation: PFNGLGETFRAGDATALOCATIONPROC;
- ClampColor: PFNGLCLAMPCOLORPROC;
- ColorMaski: PFNGLCOLORMASKIPROC;
- GetBooleani_v: PFNGLGETBOOLEANI_VPROC;
- GetIntegeri_v: PFNGLGETINTEGERI_VPROC;
- Enablei: PFNGLENABLEIPROC;
- Disablei: PFNGLDISABLEIPROC;
- IsEnabledi: PFNGLISENABLEDIPROC;
- EnableVertexAttribArray: PFNGLENABLEVERTEXATTRIBARRAYPROC;
- DisableVertexAttribArray: PFNGLDISABLEVERTEXATTRIBARRAYPROC;
- VertexAttribDivisor: PFNGLVERTEXATTRIBDIVISORPROC;
- ClearColorIi: PFNGLCLEARCOLORIIEXTPROC; // EXT only
- ClearColorIui: PFNGLCLEARCOLORIUIEXTPROC; // EXT only
- TexParameterIiv: PFNGLTEXPARAMETERIIVPROC;
- TexParameterIuiv: PFNGLTEXPARAMETERIUIVPROC;
- GetTexParameterIiv: PFNGLGETTEXPARAMETERIIVPROC;
- GetTexParameterIuiv: PFNGLGETTEXPARAMETERIUIVPROC;
- PatchParameteri: PFNGLPATCHPARAMETERIPROC;
- PatchParameterfv: PFNGLPATCHPARAMETERFVPROC;
- BufferAddressRangeNV: PFNGLBUFFERADDRESSRANGENVPROC;
- VertexFormatNV: PFNGLVERTEXFORMATNVPROC;
- NormalFormatNV: PFNGLNORMALFORMATNVPROC;
- ColorFormatNV: PFNGLCOLORFORMATNVPROC;
- IndexFormatNV: PFNGLINDEXFORMATNVPROC;
- TexCoordFormatNV: PFNGLTEXCOORDFORMATNVPROC;
- EdgeFlagFormatNV: PFNGLEDGEFLAGFORMATNVPROC;
- SecondaryColorFormatNV: PFNGLSECONDARYCOLORFORMATNVPROC;
- FogCoordFormatNV: PFNGLFOGCOORDFORMATNVPROC;
- VertexAttribFormatNV: PFNGLVERTEXATTRIBFORMATNVPROC;
- VertexAttribIFormatNV: PFNGLVERTEXATTRIBIFORMATNVPROC;
- GetIntegerui64i_vNV: PFNGLGETINTEGERUI64I_VNVPROC;
- GetBufferParameterui64vNV: PGNGLGETBUFFERPARAMETERUI64VNV;
- MakeBufferResidentNV: PFNGLMAKEBUFFERRESIDENTNVPROC;
- MakeBufferNonResidentNV: PFNGLMAKEBUFFERNONRESIDENTNVPROC;
- IsBufferResidentNV: PFNGLISBUFFERRESIDENTNVPROC;
- MakeNamedBufferResidentNV: PFNGLMAKENAMEDBUFFERRESIDENTNVPROC;
- MakeNamedBufferNonResidentNV: PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC;
- IsNamedBufferResidentNV: PFNGLISNAMEDBUFFERRESIDENTNVPROC;
- GetNamedBufferParameterui64vNV: PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC;
- GetIntegerui64vNV: PFNGLGETINTEGERUI64VNVPROC;
- Uniformui64NV: PFNGLUNIFORMUI64NVPROC;
- Uniformui64vNV: PFNGLUNIFORMUI64VNVPROC;
- GetUniformui64vNV: PFNGLGETUNIFORMUI64VNVPROC;
- ProgramUniformui64NV: PFNGLPROGRAMUNIFORMUI64NVPROC;
- ProgramUniformui64vNV: PFNGLPROGRAMUNIFORMUI64VNVPROC;
- ClearBufferData: PFNGLClearBufferData;
- ClearBufferSubData: PFNGLClearBufferSubData;
- ClearNamedBufferData: PFNGLClearNamedBufferData;
- ClearNamedBufferSubData: PFNGLClearNamedBufferSubData;
- InvalidateTexSubImage: PFNGLInvalidateTexSubImage;
- InvalidateTexImage: PFNGLInvalidateTexImage;
- InvalidateBufferSubData: PFNGLInvalidateBufferSubData;
- InvalidateBufferData: PFNGLInvalidateBufferData;
- InvalidateFramebuffer: PFNGLInvalidateFramebuffer;
- InvalidateSubFramebuffer: PFNGLInvalidateSubFramebuffer;
- MultiDrawArraysIndirect: PFNGLMultiDrawArraysIndirect;
- MultiDrawElementsIndirect: PFNGLMultiDrawElementsIndirect;
- BindVertexBuffer: PFNGLBindVertexBuffer;
- VertexAttribFormat: PFNGLVertexAttribFormat;
- VertexAttribIFormat: PFNGLVertexAttribIFormat;
- VertexAttribLFormat: PFNGLVertexAttribLFormat;
- VertexAttribBinding: PFNGLVertexAttribBinding;
- VertexBindingDivisor: PFNGLVertexBindingDivisor;
- VertexArrayBindVertexBuffer: PFNGLVertexArrayBindVertexBuffer;
- VertexArrayVertexAttribFormat: PFNGLVertexArrayVertexAttribFormat;
- VertexArrayVertexAttribIFormat: PFNGLVertexArrayVertexAttribIFormat;
- VertexArrayVertexAttribLFormat: PFNGLVertexArrayVertexAttribLFormat;
- VertexArrayVertexAttribBinding: PFNGLVertexArrayVertexAttribBinding;
- VertexArrayVertexBindingDivisor: PFNGLVertexArrayVertexBindingDivisor;
- // ------------------------------ Shader object
- DeleteObject: PFNGLDELETEOBJECTARBPROC; // ARB only
- GetHandle: PFNGLGETHANDLEARBPROC; // ARB only
- DetachShader: PFNGLDETACHSHADERPROC;
- CreateShader: PFNGLCREATESHADERPROC;
- DeleteShader: PFNGLDELETESHADERPROC;
- ShaderSource: PFNGLSHADERSOURCEPROC;
- CompileShader: PFNGLCOMPILESHADERPROC;
- CreateProgram: PFNGLCREATEPROGRAMPROC;
- DeleteProgram: PFNGLDELETEPROGRAMPROC;
- AttachShader: PFNGLATTACHSHADERPROC;
- LinkProgram: PFNGLLINKPROGRAMPROC;
- UseProgram: PFNGLUSEPROGRAMPROC;
- ValidateProgram: PFNGLVALIDATEPROGRAMPROC;
- Uniform1f: PFNGLUNIFORM1FPROC;
- Uniform2f: PFNGLUNIFORM2FPROC;
- Uniform3f: PFNGLUNIFORM3FPROC;
- Uniform4f: PFNGLUNIFORM4FPROC;
- Uniform1i: PFNGLUNIFORM1IPROC;
- Uniform2i: PFNGLUNIFORM2IPROC;
- Uniform3i: PFNGLUNIFORM3IPROC;
- Uniform4i: PFNGLUNIFORM4IPROC;
- Uniform1fv: PFNGLUNIFORM1FVPROC;
- Uniform2fv: PFNGLUNIFORM2FVPROC;
- Uniform3fv: PFNGLUNIFORM3FVPROC;
- Uniform4fv: PFNGLUNIFORM4FVPROC;
- Uniform1iv: PFNGLUNIFORM1IVPROC;
- Uniform2iv: PFNGLUNIFORM2IVPROC;
- Uniform3iv: PFNGLUNIFORM3IVPROC;
- Uniform4iv: PFNGLUNIFORM4IVPROC;
- UniformMatrix2fv: PFNGLUNIFORMMATRIX2FVPROC;
- UniformMatrix3fv: PFNGLUNIFORMMATRIX3FVPROC;
- UniformMatrix4fv: PFNGLUNIFORMMATRIX4FVPROC;
- GetObjectParameterfv: PFNGLGETOBJECTPARAMETERFVARBPROC; // ARB only
- GetObjectParameteriv: PFNGLGETOBJECTPARAMETERIVARBPROC; // ARB only
- GetInfoLog: PFNGLGETINFOLOGARBPROC; // ARB only
- GetAttachedObjects: PFNGLGETATTACHEDOBJECTSARBPROC; // ARB only
- GetActiveAttrib: PFNGLGETACTIVEATTRIBPROC;
- GetActiveUniform: PFNGLGETACTIVEUNIFORMPROC;
- GetAttachedShaders: PFNGLGETATTACHEDSHADERSPROC;
- GetAttribLocation: PFNGLGETATTRIBLOCATIONPROC;
- GetProgramiv: PFNGLGETPROGRAMIVPROC;
- GetProgramInfoLog: PFNGLGETPROGRAMINFOLOGPROC;
- GetShaderiv: PFNGLGETSHADERIVPROC;
- GetShaderInfoLog: PFNGLGETSHADERINFOLOGPROC;
- GetShaderSource: PFNGLGETSHADERSOURCEPROC;
- GetUniformLocation: PFNGLGETUNIFORMLOCATIONPROC;
- GetUniformfv: PFNGLGETUNIFORMFVPROC;
- GetUniformiv: PFNGLGETUNIFORMIVPROC;
- GetVertexAttribdv: PFNGLGETVERTEXATTRIBDVPROC;
- GetVertexAttribfv: PFNGLGETVERTEXATTRIBFVPROC;
- GetVertexAttribiv: PFNGLGETVERTEXATTRIBIVPROC;
- GetVertexAttribPointerv: PFNGLGETVERTEXATTRIBPOINTERVPROC;
- IsProgram: PFNGLISPROGRAMPROC;
- IsShader: PFNGLISSHADERPROC;
- BindAttribLocation: PFNGLBINDATTRIBLOCATIONPROC;
- BindFragDataLocationIndexed: PFNGLBINDFRAGDATALOCATIONINDEXEDPROC;
- GetFragDataIndex: PFNGLGETFRAGDATAINDEXPROC;
- GetVaryingLocation: PFNGLGETVARYINGLOCATIONNVPROC; // NV only
- GetActiveVarying: PFNGLGETACTIVEVARYINGNVPROC; // NV only
- ActiveVarying: PFNGLACTIVEVARYINGNVPROC; // NV only
- GetProgramBinary: PFNGLGETPROGRAMBINARYPROC;
- ProgramBinary: PFNGLPROGRAMBINARYPROC;
- UseProgramStages: PFNGLUSEPROGRAMSTAGESPROC;
- ActiveShaderProgram: PFNGLACTIVESHADERPROGRAMPROC;
- CreateShaderProgramv: PFNGLCREATESHADERPROGRAMVPROC;
- BindProgramPipeline: PFNGLBINDPROGRAMPIPELINEPROC;
- DeleteProgramPipelines: PFNGLDELETEPROGRAMPIPELINESPROC;
- GenProgramPipelines: PFNGLGENPROGRAMPIPELINESPROC;
- IsProgramPipeline: PFNGLISPROGRAMPIPELINEPROC;
- GetProgramPipelineiv: PFNGLGETPROGRAMPIPELINEIVPROC;
- ProgramUniform1i: PFNGLPROGRAMUNIFORM1IPROC;
- ProgramUniform1iv: PFNGLPROGRAMUNIFORM1IVPROC;
- ProgramUniform1f: PFNGLPROGRAMUNIFORM1FPROC;
- ProgramUniform1fv: PFNGLPROGRAMUNIFORM1FVPROC;
- ProgramUniform1d: PFNGLPROGRAMUNIFORM1DPROC;
- ProgramUniform1dv: PFNGLPROGRAMUNIFORM1DVPROC;
- ProgramUniform1ui: PFNGLPROGRAMUNIFORM1UIPROC;
- ProgramUniform1uiv: PFNGLPROGRAMUNIFORM1UIVPROC;
- ProgramUniform2i: PFNGLPROGRAMUNIFORM2IPROC;
- ProgramUniform2iv: PFNGLPROGRAMUNIFORM2IVPROC;
- ProgramUniform2f: PFNGLPROGRAMUNIFORM2FPROC;
- ProgramUniform2fv: PFNGLPROGRAMUNIFORM2FVPROC;
- ProgramUniform2d: PFNGLPROGRAMUNIFORM2DPROC;
- ProgramUniform2dv: PFNGLPROGRAMUNIFORM2DVPROC;
- ProgramUniform2ui: PFNGLPROGRAMUNIFORM2UIPROC;
- ProgramUniform2uiv: PFNGLPROGRAMUNIFORM2UIVPROC;
- ProgramUniform3i: PFNGLPROGRAMUNIFORM3IPROC;
- ProgramUniform3iv: PFNGLPROGRAMUNIFORM3IVPROC;
- ProgramUniform3f: PFNGLPROGRAMUNIFORM3FPROC;
- ProgramUniform3fv: PFNGLPROGRAMUNIFORM3FVPROC;
- ProgramUniform3d: PFNGLPROGRAMUNIFORM3DPROC;
- ProgramUniform3dv: PFNGLPROGRAMUNIFORM3DVPROC;
- ProgramUniform3ui: PFNGLPROGRAMUNIFORM3UIPROC;
- ProgramUniform3uiv: PFNGLPROGRAMUNIFORM3UIVPROC;
- ProgramUniform4i: PFNGLPROGRAMUNIFORM4IPROC;
- ProgramUniform4iv: PFNGLPROGRAMUNIFORM4IVPROC;
- ProgramUniform4f: PFNGLPROGRAMUNIFORM4FPROC;
- ProgramUniform4fv: PFNGLPROGRAMUNIFORM4FVPROC;
- ProgramUniform4d: PFNGLPROGRAMUNIFORM4DPROC;
- ProgramUniform4dv: PFNGLPROGRAMUNIFORM4DVPROC;
- ProgramUniform4ui: PFNGLPROGRAMUNIFORM4UIPROC;
- ProgramUniform4uiv: PFNGLPROGRAMUNIFORM4UIVPROC;
- ProgramUniformMatrix2fv: PFNGLPROGRAMUNIFORMMATRIX2FVPROC;
- ProgramUniformMatrix3fv: PFNGLPROGRAMUNIFORMMATRIX3FVPROC;
- ProgramUniformMatrix4fv: PFNGLPROGRAMUNIFORMMATRIX4FVPROC;
- ProgramUniformMatrix2dv: PFNGLPROGRAMUNIFORMMATRIX2DVPROC;
- ProgramUniformMatrix3dv: PFNGLPROGRAMUNIFORMMATRIX3DVPROC;
- ProgramUniformMatrix4dv: PFNGLPROGRAMUNIFORMMATRIX4DVPROC;
- ProgramUniformMatrix2x3fv: PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC;
- ProgramUniformMatrix3x2fv: PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC;
- ProgramUniformMatrix2x4fv: PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC;
- ProgramUniformMatrix4x2fv: PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC;
- ProgramUniformMatrix3x4fv: PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC;
- ProgramUniformMatrix4x3fv: PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC;
- ProgramUniformMatrix2x3dv: PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC;
- ProgramUniformMatrix3x2dv: PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC;
- ProgramUniformMatrix2x4dv: PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC;
- ProgramUniformMatrix4x2dv: PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC;
- ProgramUniformMatrix3x4dv: PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC;
- ProgramUniformMatrix4x3dv: PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC;
- ValidateProgramPipeline: PFNGLVALIDATEPROGRAMPIPELINEPROC;
- GetProgramPipelineInfoLog: PFNGLGETPROGRAMPIPELINEINFOLOGPROC;
- DispatchCompute: PFNGLDispatchCompute;
- DispatchComputeIndirect: PFNGLDispatchComputeIndirect;
- ShaderStorageBlockBinding: PFNGLShaderStorageBlockBinding;
- // ------------- Framebuffer object
- IsRenderbuffer: PFNGLISRENDERBUFFERPROC;
- BindRenderbuffer: PFNGLBINDRENDERBUFFERPROC;
- DeleteRenderbuffers: PFNGLDELETERENDERBUFFERSPROC;
- GenRenderbuffers: PFNGLGENRENDERBUFFERSPROC;
- RenderbufferStorage: PFNGLRENDERBUFFERSTORAGEPROC;
- RenderbufferStorageMultisample: PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC;
- GetRenderbufferParameteriv: PFNGLGETRENDERBUFFERPARAMETERIVPROC;
- IsFramebuffer: PFNGLISFRAMEBUFFERPROC;
- BindFramebuffer: PFNGLBINDFRAMEBUFFERPROC;
- DeleteFramebuffers: PFNGLDELETEFRAMEBUFFERSPROC;
- GenFramebuffers: PFNGLGENFRAMEBUFFERSPROC;
- CheckFramebufferStatus: PFNGLCHECKFRAMEBUFFERSTATUSPROC;
- FramebufferTexture: PFNGLFRAMEBUFFERTEXTUREPROC;
- FramebufferTexture1D: PFNGLFRAMEBUFFERTEXTURE1DPROC;
- FramebufferTexture2D: PFNGLFRAMEBUFFERTEXTURE2DPROC;
- FramebufferTexture3D: PFNGLFRAMEBUFFERTEXTURE3DPROC;
- FramebufferTextureLayer: PFNGLFRAMEBUFFERTEXTURELAYERPROC;
- FramebufferTextureFace: PFNGLFRAMEBUFFERTEXTUREFACEARBPROC; // ARB only
- FramebufferRenderbuffer: PFNGLFRAMEBUFFERRENDERBUFFERPROC;
- GetFramebufferAttachmentParameteriv: PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC;
- BlitFramebuffer: PFNGLBLITFRAMEBUFFERPROC;
- GenerateMipmap: PFNGLGENERATEMIPMAPPROC;
- FramebufferParameteri: PFNGLFramebufferParameteri;
- NamedFramebufferParameteri: PFNGLNamedFramebufferParameteri;
- GetNamedFramebufferParameteriv: PFNGLGetNamedFramebufferParameteriv;
- // ------------------------------ Queries object
- GenQueries: PFNGLGENQUERIESPROC;
- DeleteQueries: PFNGLDELETEQUERIESPROC;
- IsQuery: PFNGLISQUERYPROC;
- BeginQuery: PFNGLBEGINQUERYPROC;
- EndQuery: PFNGLENDQUERYPROC;
- GetQueryiv: PFNGLGETQUERYIVPROC;
- GetQueryObjectiv: PFNGLGETQUERYOBJECTIVPROC;
- GetQueryObjectuiv: PFNGLGETQUERYOBJECTUIVPROC;
- QueryCounter: PFNGLQUERYCOUNTERPROC;
- GetQueryObjecti64v: PFNGLGETQUERYOBJECTI64VPROC;
- GetQueryObjectui64v: PFNGLGETQUERYOBJECTUI64VPROC;
- GetInternalformati64v: PFNGLGetInternalformati64v;
- GetProgramInterfaceiv: PFNGLGetProgramInterfaceiv;
- GetProgramResourceIndex: PFNGLGetProgramResourceIndex;
- GetProgramResourceName: PFNGLGetProgramResourceName;
- GetProgramResourceiv: PFNGLGetProgramResourceiv;
- GetProgramResourceLocation: PFNGLGetProgramResourceLocation;
- GetProgramResourceLocationIndex: PFNGLGetProgramResourceLocationIndex;
- // ------------------------------ Texture & Sampler object
- // promoted to core v1.3 from GL_ARB_multitexture (#1)
- ActiveTexture: PFNGLACTIVETEXTUREPROC;
- SampleCoverage: PFNGLSAMPLECOVERAGEPROC;
- // promoted to core v1.3 from GL_ARB_texture_compression (#12)
- CompressedTexImage3D: PFNGLCOMPRESSEDTEXIMAGE3DPROC;
- CompressedTexImage2D: PFNGLCOMPRESSEDTEXIMAGE2DPROC;
- CompressedTexImage1D: PFNGLCOMPRESSEDTEXIMAGE1DPROC;
- CompressedTexSubImage3D: PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC;
- CompressedTexSubImage2D: PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC;
- CompressedTexSubImage1D: PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC;
- GetCompressedTexImage: PFNGLGETCOMPRESSEDTEXIMAGEPROC;
- ClientActiveTexture: PFNGLCLIENTACTIVETEXTUREPROC;
- MultiTexCoord1d: PFNGLMULTITEXCOORD1DPROC;
- MultiTexCoord1dV: PFNGLMULTITEXCOORD1DVPROC;
- MultiTexCoord1f: PFNGLMULTITEXCOORD1FPROC;
- MultiTexCoord1fv: PFNGLMULTITEXCOORD1FVPROC;
- MultiTexCoord1i: PFNGLMULTITEXCOORD1IPROC;
- MultiTexCoord1iv: PFNGLMULTITEXCOORD1IVPROC;
- MultiTexCoord1s: PFNGLMULTITEXCOORD1SPROC;
- MultiTexCoord1sv: PFNGLMULTITEXCOORD1SVPROC;
- MultiTexCoord2d: PFNGLMULTITEXCOORD2DPROC;
- MultiTexCoord2dv: PFNGLMULTITEXCOORD2DVPROC;
- MultiTexCoord2f: PFNGLMULTITEXCOORD2FPROC;
- MultiTexCoord2fv: PFNGLMULTITEXCOORD2FVPROC;
- MultiTexCoord2i: PFNGLMULTITEXCOORD2IPROC;
- MultiTexCoord2iv: PFNGLMULTITEXCOORD2IVPROC;
- MultiTexCoord2s: PFNGLMULTITEXCOORD2SPROC;
- MultiTexCoord2sv: PFNGLMULTITEXCOORD2SVPROC;
- MultiTexCoord3d: PFNGLMULTITEXCOORD3DPROC;
- MultiTexCoord3dv: PFNGLMULTITEXCOORD3DVPROC;
- MultiTexCoord3f: PFNGLMULTITEXCOORD3FPROC;
- MultiTexCoord3fv: PFNGLMULTITEXCOORD3FVPROC;
- MultiTexCoord3i: PFNGLMULTITEXCOORD3IPROC;
- MultiTexCoord3iv: PFNGLMULTITEXCOORD3IVPROC;
- MultiTexCoord3s: PFNGLMULTITEXCOORD3SPROC;
- MultiTexCoord3sv: PFNGLMULTITEXCOORD3SVPROC;
- MultiTexCoord4d: PFNGLMULTITEXCOORD4DPROC;
- MultiTexCoord4dv: PFNGLMULTITEXCOORD4DVPROC;
- MultiTexCoord4f: PFNGLMULTITEXCOORD4FPROC;
- MultiTexCoord4fv: PFNGLMULTITEXCOORD4FVPROC;
- MultiTexCoord4i: PFNGLMULTITEXCOORD4IPROC;
- MultiTexCoord4iv: PFNGLMULTITEXCOORD4IVPROC;
- MultiTexCoord4s: PFNGLMULTITEXCOORD4SPROC;
- MultiTexCoord4sv: PFNGLMULTITEXCOORD4SVPROC;
- GetInteger64i_v: PFNGLGETINTEGER64I_VPROC;
- GetBufferParameteri64v: PFNGLGETBUFFERPARAMETERI64VPROC;
- ProgramParameteri: PFNGLPROGRAMPARAMETERIPROC;
- ProgramString: PFNGLPROGRAMSTRINGARBPROC; // ARB only
- BindProgram: PFNGLBINDPROGRAMARBPROC; // ARB + NV only
- DeletePrograms: PFNGLDELETEPROGRAMSARBPROC; // ARB + NV only
- GenPrograms: PFNGLGENPROGRAMSARBPROC; // ARB + NV only
- ProgramEnvParameter4d: PFNGLPROGRAMENVPARAMETER4DARBPROC; // ARB only
- ProgramEnvParameter4dv: PFNGLPROGRAMENVPARAMETER4DVARBPROC; // ARB only
- ProgramEnvParameter4f: PFNGLPROGRAMENVPARAMETER4FARBPROC; // ARB only
- ProgramEnvParameter4fv: PFNGLPROGRAMENVPARAMETER4FVARBPROC; // ARB only
- ProgramLocalParameter4d: PFNGLPROGRAMLOCALPARAMETER4DARBPROC; // ARB only
- ProgramLocalParameter4dv: PFNGLPROGRAMLOCALPARAMETER4DVARBPROC; // ARB only
- ProgramLocalParameter4f: PFNGLPROGRAMLOCALPARAMETER4FARBPROC; // ARB only
- ProgramLocalParameter4fv: PFNGLPROGRAMLOCALPARAMETER4FVARBPROC; // ARB only
- GetProgramEnvParameterdv: PFNGLGETPROGRAMENVPARAMETERDVARBPROC; // ARB only
- GetProgramEnvParameterfv: PFNGLGETPROGRAMENVPARAMETERFVARBPROC; // ARB only
- GetProgramLocalParameterdv: PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC;
- // ARB only
- GetProgramLocalParameterfv: PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC;
- // ARB only
- TexImage2DMultisample: PFNGLTEXIMAGE2DMULTISAMPLEPROC;
- TexImage3DMultisample: PFNGLTEXIMAGE3DMULTISAMPLEPROC;
- GetMultisamplefv: PFNGLGETMULTISAMPLEFVPROC;
- SampleMaski: PFNGLSAMPLEMASKIPROC;
- ProvokingVertex: PFNGLPROVOKINGVERTEXPROC;
- FenceSync: PFNGLFENCESYNCPROC;
- IsSync: PFNGLISSYNCPROC;
- DeleteSync: PFNGLDELETESYNCPROC;
- ClientWaitSync: PFNGLCLIENTWAITSYNCPROC;
- WaitSync: PFNGLWAITSYNCPROC;
- GetInteger64v: PFNGLGETINTEGER64VPROC;
- GetSynciv: PFNGLGETSYNCIVPROC;
- BlendEquationi: PFNGLBLENDEQUATIONIPROC;
- BlendEquationSeparatei: PFNGLBLENDEQUATIONSEPARATEIPROC;
- BlendFunci: PFNGLBLENDFUNCIPROC;
- BlendFuncSeparatei: PFNGLBLENDFUNCSEPARATEIPROC;
- MinSampleShading: PFNGLMINSAMPLESHADINGPROC;
- GenSamplers: PFNGLGENSAMPLERSPROC;
- DeleteSamplers: PFNGLDELETESAMPLERSPROC;
- IsSampler: PFNGLISSAMPLERPROC;
- BindSampler: PFNGLBINDSAMPLERPROC;
- SamplerParameteri: PFNGLSAMPLERPARAMETERIPROC;
- SamplerParameteriv: PFNGLSAMPLERPARAMETERIVPROC;
- SamplerParameterf: PFNGLSAMPLERPARAMETERFPROC;
- SamplerParameterfv: PFNGLSAMPLERPARAMETERFVPROC;
- SamplerParameterIiv: PFNGLSAMPLERPARAMETERIIVPROC;
- SamplerParameterIuiv: PFNGLSAMPLERPARAMETERIUIVPROC;
- GetSamplerParameteriv: PFNGLGETSAMPLERPARAMETERIVPROC;
- GetSamplerParameterIiv: PFNGLGETSAMPLERPARAMETERIIVPROC;
- GetSamplerParameterfv: PFNGLGETSAMPLERPARAMETERFVPROC;
- GetSamplerParameterIfv: PFNGLGETSAMPLERPARAMETERIFVPROC;
- CopyImageSubData: PFNGLCopyImageSubData;
- TexBufferRange: PFNGLTexBufferRange;
- TextureBufferRange: PFNGLTextureBufferRange;
- TexStorage2DMultisample: PFNGLTexStorage2DMultisample;
- TexStorage3DMultisample: PFNGLTexStorage3DMultisample;
- TextureStorage2DMultisample: PFNGLTextureStorage2DMultisample;
- TextureStorage3DMultisample: PFNGLTextureStorage3DMultisample;
- BufferStorage: PFNGLBufferStorage;
- ClearTexImage: PFNGLClearTexImage;
- ClearTexSubImage: PFNGLClearTexSubImage;
- BindBuffersBase: PFNGLBindBuffersBase;
- BindBuffersRange: PFNGLBindBuffersRange;
- BindTextures: PFNGLBindTextures;
- BindSamplers: PFNGLBindSamplers;
- BindImageTextures: PFNGLBindImageTextures;
- BindVertexBuffers: PFNGLBindVertexBuffers;
- TextureView: PFNGLTextureView;
- // ------------------------------ Direct access
- ClientAttribDefault: PFNGLCLIENTATTRIBDEFAULTEXTPROC;
- PushClientAttribDefault: PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC;
- MatrixLoadf: PFNGLMATRIXLOADFEXTPROC;
- MatrixLoadd: PFNGLMATRIXLOADDEXTPROC;
- MatrixMultf: PFNGLMATRIXMULTFEXTPROC;
- MatrixMultd: PFNGLMATRIXMULTDEXTPROC;
- MatrixLoadIdentity: PFNGLMATRIXLOADIDENTITYEXTPROC;
- MatrixRotatef: PFNGLMATRIXROTATEFEXTPROC;
- MatrixRotated: PFNGLMATRIXROTATEDEXTPROC;
- MatrixScalef: PFNGLMATRIXSCALEFEXTPROC;
- MatrixScaled: PFNGLMATRIXSCALEDEXTPROC;
- MatrixTranslatef: PFNGLMATRIXTRANSLATEFEXTPROC;
- MatrixTranslated: PFNGLMATRIXTRANSLATEDEXTPROC;
- MatrixFrustum: PFNGLMATRIXFRUSTUMEXTPROC;
- MatrixOrtho: PFNGLMATRIXORTHOEXTPROC;
- MatrixPop: PFNGLMATRIXPOPEXTPROC;
- MatrixPush: PFNGLMATRIXPUSHEXTPROC;
- MatrixLoadTransposef: PFNGLMATRIXLOADTRANSPOSEFEXTPROC;
- MatrixLoadTransposed: PFNGLMATRIXLOADTRANSPOSEDEXTPROC;
- MatrixMultTransposef: PFNGLMATRIXMULTTRANSPOSEFEXTPROC;
- MatrixMultTransposed: PFNGLMATRIXMULTTRANSPOSEDEXTPROC;
- TextureParameterfv: PFNGLTEXTUREPARAMETERFVEXTPROC;
- TextureParameteri: PFNGLTEXTUREPARAMETERIEXTPROC;
- TextureParameteriv: PFNGLTEXTUREPARAMETERIVEXTPROC;
- TextureImage1D: PFNGLTEXTUREIMAGE1DEXTPROC;
- TextureImage2D: PFNGLTEXTUREIMAGE2DEXTPROC;
- TextureSubImage1D: PFNGLTEXTURESUBIMAGE1DEXTPROC;
- TextureSubImage2D: PFNGLTEXTURESUBIMAGE2DEXTPROC;
- CopyTextureImage1D: PFNGLCOPYTEXTUREIMAGE1DEXTPROC;
- CopyTextureImage2D: PFNGLCOPYTEXTUREIMAGE2DEXTPROC;
- CopyTextureSubImage1D: PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC;
- CopyTextureSubImage2D: PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC;
- GetTextureImage: PFNGLGETTEXTUREIMAGEEXTPROC;
- GetTextureParameterfv: PFNGLGETTEXTUREPARAMETERFVEXTPROC;
- GetTextureParameteriv: PFNGLGETTEXTUREPARAMETERIVEXTPROC;
- GetTextureLevelParameterfv: PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC;
- GetTextureLevelParameteriv: PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC;
- TextureImage3D: PFNGLTEXTUREIMAGE3DEXTPROC;
- TextureSubImage3D: PFNGLTEXTURESUBIMAGE3DEXTPROC;
- CopyTextureSubImage3D: PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC;
- MultiTexParameterf: PFNGLMULTITEXPARAMETERFEXTPROC;
- MultiTexParameterfv: PFNGLMULTITEXPARAMETERFVEXTPROC;
- MultiTexParameteri: PFNGLMULTITEXPARAMETERIEXTPROC;
- MultiTexParameteriv: PFNGLMULTITEXPARAMETERIVEXTPROC;
- MultiTexImage1D: PFNGLMULTITEXIMAGE1DEXTPROC;
- MultiTexImage2D: PFNGLMULTITEXIMAGE2DEXTPROC;
- MultiTexSubImage1D: PFNGLMULTITEXSUBIMAGE1DEXTPROC;
- MultiTexSubImage2D: PFNGLMULTITEXSUBIMAGE2DEXTPROC;
- CopyMultiTexImage1D: PFNGLCOPYMULTITEXIMAGE1DEXTPROC;
- CopyMultiTexImage2D: PFNGLCOPYMULTITEXIMAGE2DEXTPROC;
- CopyMultiTexSubImage1D: PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC;
- CopyMultiTexSubImage2D: PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC;
- GetMultiTexImage: PFNGLGETMULTITEXIMAGEEXTPROC;
- GetMultiTexParameterfv: PFNGLGETMULTITEXPARAMETERFVEXTPROC;
- GetMultiTexParameteriv: PFNGLGETMULTITEXPARAMETERIVEXTPROC;
- GetMultiTexLevelParameterfv: PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC;
- GetMultiTexLevelParameteriv: PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC;
- MultiTexImage3D: PFNGLMULTITEXIMAGE3DEXTPROC;
- MultiTexSubImage3D: PFNGLMULTITEXSUBIMAGE3DEXTPROC;
- CopyMultiTexSubImage3D: PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC;
- BindMultiTexture: PFNGLBINDMULTITEXTUREEXTPROC;
- EnableClientStateIndexed: PFNGLENABLECLIENTSTATEINDEXEDEXTPROC;
- DisableClientStateIndexed: PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC;
- MultiTexCoordPointer: PFNGLMULTITEXCOORDPOINTEREXTPROC;
- MultiTexEnvf: PFNGLMULTITEXENVFEXTPROC;
- MultiTexEnvfv: PFNGLMULTITEXENVFVEXTPROC;
- MultiTexEnvi: PFNGLMULTITEXENVIEXTPROC;
- MultiTexEnviv: PFNGLMULTITEXENVIVEXTPROC;
- MultiTexGend: PFNGLMULTITEXGENDEXTPROC;
- MultiTexGendv: PFNGLMULTITEXGENDVEXTPROC;
- MultiTexGenf: PFNGLMULTITEXGENFEXTPROC;
- MultiTexGenfv: PFNGLMULTITEXGENFVEXTPROC;
- MultiTexGeni: PFNGLMULTITEXGENIEXTPROC;
- MultiTexGeniv: PFNGLMULTITEXGENIVEXTPROC;
- GetMultiTexEnvfv: PFNGLGETMULTITEXENVFVEXTPROC;
- GetMultiTexEnviv: PFNGLGETMULTITEXENVIVEXTPROC;
- GetMultiTexGendv: PFNGLGETMULTITEXGENDVEXTPROC;
- GetMultiTexGenfv: PFNGLGETMULTITEXGENFVEXTPROC;
- GetMultiTexGeniv: PFNGLGETMULTITEXGENIVEXTPROC;
- GetFloatIndexedv: PFNGLGETFLOATINDEXEDVEXTPROC;
- GetDoubleIndexedv: PFNGLGETDOUBLEINDEXEDVEXTPROC;
- GetPointerIndexedv: PFNGLGETPOINTERINDEXEDVEXTPROC;
- CompressedTextureImage3D: PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC;
- CompressedTextureImage2D: PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC;
- CompressedTextureImage1D: PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC;
- CompressedTextureSubImage3D: PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC;
- CompressedTextureSubImage2D: PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC;
- CompressedTextureSubImage1D: PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC;
- GetCompressedTextureImage: PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC;
- CompressedMultiTexImage3D: PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC;
- CompressedMultiTexImage2D: PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC;
- CompressedMultiTexImage1D: PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC;
- CompressedMultiTexSubImage3D: PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC;
- CompressedMultiTexSubImage2D: PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC;
- CompressedMultiTexSubImage1D: PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC;
- GetCompressedMultiTexImage: PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC;
- NamedProgramString: PFNGLNAMEDPROGRAMSTRINGEXTPROC;
- NamedProgramLocalParameter4d: PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC;
- NamedProgramLocalParameter4dv: PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC;
- NamedProgramLocalParameter4f: PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC;
- NamedProgramLocalParameter4fv: PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC;
- GetNamedProgramLocalParameterdv: PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC;
- GetNamedProgramLocalParameterfv: PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC;
- GetNamedProgramiv: PFNGLGETNAMEDPROGRAMIVEXTPROC;
- GetNamedProgramString: PFNGLGETNAMEDPROGRAMSTRINGEXTPROC;
- NamedProgramLocalParameters4fv: PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC;
- NamedProgramLocalParameterI4i: PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC;
- NamedProgramLocalParameterI4iv: PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC;
- NamedProgramLocalParametersI4iv: PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC;
- NamedProgramLocalParameterI4ui: PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC;
- NamedProgramLocalParameterI4uiv: PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC;
- NamedProgramLocalParametersI4uiv: PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC;
- GetNamedProgramLocalParameterIiv: PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC;
- GetNamedProgramLocalParameterIuiv: PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC;
- TextureParameterIiv: PFNGLTEXTUREPARAMETERIIVEXTPROC;
- TextureParameterIuiv: PFNGLTEXTUREPARAMETERIUIVEXTPROC;
- GetTextureParameterIiv: PFNGLGETTEXTUREPARAMETERIIVEXTPROC;
- GetTextureParameterIuiv: PFNGLGETTEXTUREPARAMETERIUIVEXTPROC;
- MultiTexParameterIiv: PFNGLMULTITEXPARAMETERIIVEXTPROC;
- MultiTexParameterIuiv: PFNGLMULTITEXPARAMETERIUIVEXTPROC;
- GetMultiTexParameterIiv: PFNGLGETMULTITEXPARAMETERIIVEXTPROC;
- GetMultiTexParameterIuiv: PFNGLGETMULTITEXPARAMETERIUIVEXTPROC;
- NamedBufferData: PFNGLNAMEDBUFFERDATAEXTPROC;
- NamedBufferSubData: PFNGLNAMEDBUFFERSUBDATAEXTPROC;
- MapNamedBuffer: PFNGLMAPNAMEDBUFFEREXTPROC;
- UnmapNamedBuffer: PFNGLUNMAPNAMEDBUFFEREXTPROC;
- MapNamedBufferRange: PFNGLMAPNAMEDBUFFERRANGEEXTPROC;
- FlushMappedNamedBufferRange: PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC;
- NamedCopyBufferSubData: PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC;
- GetNamedBufferParameteriv: PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC;
- GetNamedBufferPointerv: PFNGLGETNAMEDBUFFERPOINTERVEXTPROC;
- GetNamedBufferSubData: PFNGLGETNAMEDBUFFERSUBDATAEXTPROC;
- TextureBuffer: PFNGLTEXTUREBUFFEREXTPROC;
- MultiTexBuffer: PFNGLMULTITEXBUFFEREXTPROC;
- NamedRenderbufferStorage: PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC;
- GetNamedRenderbufferParameteriv: PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC;
- CheckNamedFramebufferStatus: PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC;
- NamedFramebufferTexture1D: PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC;
- NamedFramebufferTexture2D: PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC;
- NamedFramebufferTexture3D: PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC;
- NamedFramebufferRenderbuffer: PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC;
- GetNamedFramebufferAttachmentParameteriv: PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC;
- GenerateTextureMipmap: PFNGLGENERATETEXTUREMIPMAPEXTPROC;
- GenerateMultiTexMipmap: PFNGLGENERATEMULTITEXMIPMAPEXTPROC;
- FramebufferDrawBuffer: PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC;
- FramebufferDrawBuffers: PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC;
- FramebufferReadBuffer: PFNGLFRAMEBUFFERREADBUFFEREXTPROC;
- GetFramebufferParameteriv: PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC;
- NamedRenderbufferStorageMultisample: PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC;
- NamedRenderbufferStorageMultisampleCoverage: PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC;
- NamedFramebufferTexture: PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC;
- NamedFramebufferTextureLayer: PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC;
- NamedFramebufferTextureFace: PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC;
- TextureRenderbuffer: PFNGLTEXTURERENDERBUFFEREXTPROC;
- MultiTexRenderbuffer: PFNGLMULTITEXRENDERBUFFEREXTPROC;
- // ------------------------------ Debugging
- // Special Gremedy debugger extension
- FrameTerminatorGREMEDY: PFNGLFRAMETERMINATORGREMEDYPROC;
- StringMarkerGREMEDY: PFNGLSTRINGMARKERGREMEDYPROC;
- DebugMessageEnableAMDX: procedure(category: Cardinal; severity: Cardinal;
- Count: TGLsizei; var ids: Cardinal; Enabled: boolean);
- PushDebugGroup: PFNGLPushDebugGroup;
- PopDebugGroup: PFNGLPopDebugGroup;
- ObjectLabel: PFNGLObjectLabel;
- GetObjectLabel: PFNGLGetObjectLabel;
- ObjectPtrLabel: PFNGLObjectPtrLabel;
- GetObjectPtrLabel: PFNGLGetObjectPtrLabel;
- DebugMessageCallbackAMDX: procedure(callback: TDebugProcAMD;
- userParam: Pointer);stdcall;
- DebugMessageControl: procedure(type_: Cardinal; Source: Cardinal;
- severity: Cardinal; Count: TGLsizei; var ids: Cardinal; Enabled: boolean);stdcall;
- DebugMessageInsert: procedure(Source: Cardinal; severity: Cardinal;
- id: Cardinal; length: TGLsizei; const buf: PAnsiChar);stdcall;
- DebugMessageCallback: procedure(callback: TDebugProc; userParam: Pointer);stdcall;
- GetDebugMessageLog: function(Count: Cardinal; bufSize: TGLsizei;
- var severity: Cardinal; var severities: Cardinal; var ids: Cardinal;
- var lengths: TGLsizei; messageLog: PAnsiChar): Cardinal;stdcall;
- // ------------------------------ Interrop
- CreateSyncFromCLevent: PFNGLCreateSyncFromCLevent;
- VDPAUInitNV: procedure(const vdpDevice: Pointer;
- const getProcAddress: Pointer); stdcall;
- VDPAUFiniNV: procedure(); stdcall;
- VDPAURegisterVideoSurfaceNV: function(const vdpSurface: Pointer;
- target: Cardinal; numTextureNames: TGLsizei; const textureNames: PGLuint)
- : TGLvdpauSurfaceNV;stdcall;
- VDPAURegisterOutputSurfaceNV: function(const vdpSurface: Pointer;
- target: Cardinal; numTextureNames: TGLsizei; const textureNames: PGLuint)
- : TGLvdpauSurfaceNV;stdcall;
- VDPAUIsSurfaceNV: procedure(surface: TGLvdpauSurfaceNV);stdcall;
- VDPAUUnregisterSurfaceNV: procedure(surface: TGLvdpauSurfaceNV);stdcall;
- VDPAUGetSurfaceivNV: procedure(surface: TGLvdpauSurfaceNV; pname: Cardinal;
- bufSize: TGLsizei; length: PGLsizei; values: PGLint);stdcall;
- VDPAUSurfaceAccessNV: procedure(surface: TGLvdpauSurfaceNV;
- access: Cardinal);stdcall;
- VDPAUMapSurfacesNV: procedure(numSurfaces: TGLsizei;
- const surfaces: PGLvdpauSurfaceNV);stdcall;
- VDPAUUnmapSurfacesNV: procedure(numSurface: TGLsizei;
- const surfaces: PGLvdpauSurfaceNV);stdcall;
- // ------------------------------ Path rendering
- GenPathsNV: PFNGLGENPATHSNVPROC;
- DeletePathsNV: PFNGLDELETEPATHSNVPROC;
- IsPathNV: PFNGLISPATHNVPROC;
- PathCommandsNV: PFNGLPATHCOMMANDSNVPROC;
- PathCoordsNV: PFNGLPATHCOORDSNVPROC;
- PathSubCommandsNV: PFNGLPATHSUBCOMMANDSNVPROC;
- PathSubCoordsNV: PFNGLPATHSUBCOORDSNVPROC;
- PathStringNV: PFNGLPATHSTRINGNVPROC;
- PathGlyphsNV: PFNGLPATHGLYPHSNVPROC;
- PathGlyphRangeNV: PFNGLPATHGLYPHRANGENVPROC;
- WeightPathsNV: PFNGLWEIGHTPATHSNVPROC;
- CopyPathNV: PFNGLCOPYPATHNVPROC;
- InterpolatePathsNV: PFNGLINTERPOLATEPATHSNVPROC;
- PathParameterivNV: PFNGLPATHPARAMETERIVNVPROC;
- PathParameteriNV: PFNGLPATHPARAMETERINVPROC;
- PathParameterfvNV: PFNGLPATHPARAMETERFVNVPROC;
- PathParameterfNV: PFNGLPATHPARAMETERFNVPROC;
- PathDashArrayNV: PFNGLPATHDASHARRAYNVPROC;
- PathStencilFuncNV: PFNGLPATHSTENCILFUNCNVPROC;
- StencilFillPathNV: PFNGLSTENCILFILLPATHNVPROC;
- StencilStrokePathNV: PFNGLSTENCILSTROKEPATHNVPROC;
- StencilFillPathInstancedNV: PFNGLSTENCILFILLPATHINSTANCEDNVPROC;
- StencilStrokePathInstancedNV: PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC;
- PathColorGenNV: PFNGLPATHCOLORGENNVPROC;
- PathTexGenNV: PFNGLPATHTEXGENNVPROC;
- PathFogGenNV: PFNGLPATHFOGGENNVPROC;
- CoverFillPathNV: PFNGLCOVERFILLPATHNVPROC;
- CoverStrokePathNV: PFNGLCOVERSTROKEPATHNVPROC;
- CoverFillPathInstancedNV: PFNGLCOVERFILLPATHINSTANCEDNVPROC;
- CoverStrokePathInstancedNV: PFNGLCOVERSTROKEPATHINSTANCEDNVPROC;
- GetPathParameterivNV: PFNGLGETPATHPARAMETERIVNVPROC;
- GetPathParameterfvNV: PFNGLGETPATHPARAMETERFVNVPROC;
- GetPathCommandsNV: PFNGLGETPATHCOMMANDSNVPROC;
- GetPathCoordsNV: PFNGLGETPATHCOORDSNVPROC;
- GetPathDashArrayNV: PFNGLGETPATHDASHARRAYNVPROC;
- GetPathMetricsNV: PFNGLGETPATHMETRICSNVPROC;
- GetPathMetricRangeNV: PFNGLGETPATHMETRICRANGENVPROC;
- GetPathSpacingNV: PFNGLGETPATHSPACINGNVPROC;
- GetPathColorGenivNV: PFNGLGETPATHCOLORGENIVNVPROC;
- GetPathColorGenfvNV: PFNGLGETPATHCOLORGENFVNVPROC;
- GetPathTexGenivNV: PFNGLGETPATHTEXGENIVNVPROC;
- GetPathTexGenfvNV: PFNGLGETPATHTEXGENFVNVPROC;
- IsPointInFillPathNV: PFNGLISPOINTINFILLPATHNVPROC;
- IsPointInStrokePathNV: PFNGLISPOINTINSTROKEPATHNVPROC;
- GetPathLengthNV: PFNGLGETPATHLENGTHNVPROC;
- PointAlongPathNV: PFNGLPOINTALONGPATHNVPROC;
- PathStencilDepthOffsetNV: PFNGLPATHSTENCILDEPTHOFFSETNVPROC;
- PathCoverDepthFuncNV: PFNGLPATHCOVERDEPTHFUNCNVPROC;
- {$IFDEF SUPPORT_WGL}
- // ###########################################################
- // function and procedure definitions for
- // ARB approved WGL extensions
- // ###########################################################
- // ARB approved WGL extension checks
- W_ARB_buffer_region, W_ARB_create_context, W_ARB_create_context_profile,
- W_ARB_extensions_string, W_ARB_framebuffer_sRGB, W_ARB_make_current_read,
- W_ARB_multisample, W_ARB_pbuffer, W_ARB_pixel_format,
- W_ARB_pixel_format_float, W_ARB_render_texture,
- // Vendor/EXT WGL extension checks
- W_ATI_pixel_format_float, W_EXT_framebuffer_sRGB,
- W_EXT_pixel_format_packed_float, W_EXT_swap_control, W_NV_gpu_affinity,
- W_EXT_create_context_es2_profile, W_NV_DX_interop,
- W_NV_DX_interop2: boolean;
- // WGL_buffer_region (ARB #4)
- WCreateBufferRegionARB: PFNWGLCREATEBUFFERREGIONARBPROC;
- WDeleteBufferRegionARB: PFNWGLDELETEBUFFERREGIONARBPROC;
- WSaveBufferRegionARB: PFNWGLSAVEBUFFERREGIONARBPROC;
- WRestoreBufferRegionARB: PFNWGLRESTOREBUFFERREGIONARBPROC;
- // WGL_ARB_extensions_string (ARB #8)
- WGetExtensionsStringARB: PFNWGLGETEXTENSIONSSTRINGARBPROC;
- // WGL_ARB_pixel_format (ARB #9)
- WGetPixelFormatAttribivARB: PFNWGLGETPIXELFORMATATTRIBIVARBPROC;
- WGetPixelFormatAttribfvARB: PFNWGLGETPIXELFORMATATTRIBFVARBPROC;
- WChoosePixelFormatARB: PFNWGLCHOOSEPIXELFORMATARBPROC;
- // WGL_make_current_read (ARB #10)
- WMakeContextCurrentARB: PFNWGLMAKECONTEXTCURRENTARBPROC;
- WGetCurrentReadDCARB: PFNWGLGETCURRENTREADDCARBPROC;
- // WGL_ARB_pbuffer (ARB #11)
- WCreatePbufferARB: PFNWGLCREATEPBUFFERARBPROC;
- WGetPbufferDCARB: PFNWGLGETPBUFFERDCARBPROC;
- WReleasePbufferDCARB: PFNWGLRELEASEPBUFFERDCARBPROC;
- WDestroyPbufferARB: PFNWGLDESTROYPBUFFERARBPROC;
- WQueryPbufferARB: PFNWGLQUERYPBUFFERARBPROC;
- // WGL_ARB_render_texture (ARB #20)
- WBindTexImageARB: PFNWGLBINDTEXIMAGEARBPROC;
- WReleaseTexImageARB: PFNWGLRELEASETEXIMAGEARBPROC;
- WSetPbufferAttribARB: PFNWGLSETPBUFFERATTRIBARBPROC;
- // WGL_ARB_create_context (ARB #55)
- WCreateContextAttribsARB: PFNWGLCREATECONTEXTATTRIBSARBPROC;
- // WGL_NV_gpu_affinity
- WEnumGpusNV: PFNWGLENUMGPUSNVPROC;
- WEnumGpuDevicesNV: PFNWGLENUMGPUDEVICESNVPROC;
- WCreateAffinityDCNV: PFNWGLCREATEAFFINITYDCNVPROC;
- WEnumGpusFromAffinityDCNV: PFNWGLENUMGPUSFROMAFFINITYDCNVPROC;
- WDeleteDCNV: PFNWGLDELETEDCNVPROC;
- // WGL_NV_DX_interop (EXT #407)
- WDXSetResourceShareHandleNV: PFNWGLDXSETRESOURCESHAREHANDLEPROC;
- WDXOpenDeviceNV: PFNWGLDXOPENDEVICEPROC;
- WDXCloseDeviceNV: PFNWGLDXCLOSEDEVICEPROC;
- WDXRegisterObjectNV: PFNWGLDXREGISTEROBJECTPROC;
- WDXUnregisterObjectNV: PFNWGLDXUNREGISTEROBJECTPROC;
- WDXObjectAccessNV: PFNWGLDXOBJECTACCESSPROC;
- WDXLockObjectsNV: PFNWGLDXLOCKOBJECTSPROC;
- WDXUnlockObjectsNV: PFNWGLDXUNLOCKOBJECTSNVPROC;
- // ###########################################################
- // function and procedure definitions for
- // Vendor/EXT WGL extensions
- // ###########################################################
- // WGL_EXT_swap_control (EXT #172)
- WSwapIntervalEXT: PFNWGLSWAPINTERVALEXTPROC;
- WGetSwapIntervalEXT: PFNWGLGETSWAPINTERVALEXTPROC;
- // GL_NV_vertex_array_range (EXT #190)
- WAllocateMemoryNV: PFNWGLALLOCATEMEMORYNVPROC;
- WFreeMemoryNV: PFNWGLFREEMEMORYNVPROC;
- {$ENDIF SUPPORT_WGL}
- // ------------------------------ EGL function/procedure
- {$IFDEF EGL_SUPPORT}
- OES_depth24, OES_depth32, OES_depth_texture, OES_element_index_uint,
- OES_fbo_render_mipmap, OES_get_program_binary, OES_mapbuffer,
- OES_packed_depth_stencil, OES_rgb8_rgba8, OES_standard_derivatives,
- OES_texture_3D, OES_texture_float, OES_texture_float_linear,
- OES_texture_half_float, OES_texture_half_float_linear, OES_texture_npot,
- OES_vertex_array_object, OES_vertex_half_float: boolean;
- EGetError: function: EGLint;stdcall;
- EGetDisplay: function(display_id: EGLNativeDisplayType): EGLDisplay;stdcall;
- EInitialize: function(dpy: EGLDisplay; major: pEGLint; minor: pEGLint)
- : EGLBoolean;stdcall;
- ETerminate: function(dpy: EGLDisplay): EGLBoolean;stdcall;
- EQueryString: function(dpy: EGLDisplay; name: EGLint): pchar;stdcall;
- EGetConfigs: function(dpy: EGLDisplay; configs: pEGLConfig;
- config_size: EGLint; num_config: pEGLint): EGLBoolean;stdcall;
- EChooseConfig: function(dpy: EGLDisplay; attrib_list: pEGLint;
- configs: pEGLConfig; config_size: EGLint; num_config: pEGLint)
- : EGLBoolean;stdcall;
- EGetConfigAttrib: function(dpy: EGLDisplay; config: EGLConfig;
- attribute: EGLint; Value: pEGLint): EGLBoolean;stdcall;
- ECreateWindowSurface: function(dpy: EGLDisplay; config: EGLConfig;
- win: EGLNativeWindowType; attrib_list: pEGLint): EGLSurface;stdcall;
- ECreatePbufferSurface: function(dpy: EGLDisplay; config: EGLConfig;
- attrib_list: pEGLint): EGLSurface;stdcall;
- ECreatePixmapSurface: function(dpy: EGLDisplay; config: EGLConfig;
- pixmap: EGLNativePixmapType; attrib_list: pEGLint): EGLSurface;stdcall;
- EDestroySurface: function(dpy: EGLDisplay; surface: EGLSurface): EGLBoolean;stdcall;
- EQuerySurface: function(dpy: EGLDisplay; surface: EGLSurface;
- attribute: EGLint; Value: pEGLint): EGLBoolean;stdcall;
- EBindAPI: function(api: EGLenum): EGLBoolean;stdcall;
- EQueryAPI: function: EGLenum;stdcall;
- EWaitClient: function: EGLBoolean;stdcall;
- EReleaseThread: function: EGLBoolean;stdcall;
- ECreatePbufferFromClientBuffer: function(dpy: EGLDisplay; buftype: EGLenum;
- buffer: EGLClientBuffer; config: EGLConfig; attrib_list: pEGLint)
- : EGLSurface;stdcall;
- ESurfaceAttrib: function(dpy: EGLDisplay; surface: EGLSurface;
- attribute: EGLint; Value: EGLint): EGLBoolean;stdcall; EBindTexImage: function(dpy: EGLDisplay; surface: EGLSurface;
- buffer: EGLint): EGLBoolean;stdcall;
- EReleaseTexImage: function(dpy: EGLDisplay; surface: EGLSurface;
- buffer: EGLint): EGLBoolean;stdcall;
- ESwapInterval: function(dpy: EGLDisplay; interval: EGLint): EGLBoolean;stdcall;
- ECreateContext: function(dpy: EGLDisplay; config: EGLConfig;
- share_context: EGLContext; attrib_list: pEGLint): EGLContext;stdcall;
- EDestroyContext: function(dpy: EGLDisplay; ctx: EGLContext): EGLBoolean;stdcall;
- EMakeCurrent: function(dpy: EGLDisplay; draw: EGLSurface; read: EGLSurface;
- ctx: EGLContext): EGLBoolean;stdcall;
- EGetCurrentContext: function: EGLContext;stdcall;
- EGetCurrentSurface: function(readdraw: EGLint): EGLSurface;stdcall;
- EGetCurrentDisplay: function: EGLDisplay;stdcall;
- EQueryContext: function(dpy: EGLDisplay; ctx: EGLContext; attribute: EGLint;
- Value: pEGLint): EGLBoolean;stdcall;
- EWaitGL: function: EGLBoolean;stdcall;
- EWaitNative: function(engine: EGLint): EGLBoolean;stdcall;
- ESwapBuffers: function(dpy: EGLDisplay; surface: EGLSurface): EGLBoolean;stdcall;
- ECopyBuffers: function(dpy: EGLDisplay; surface: EGLSurface;
- target: EGLNativePixmapType): EGLBoolean;stdcall;
- {$ENDIF EGL_SUPPORT}
- // ------------------------------ locate functions/procedures for OpenGL Utility (GLU) extensions'} {$ENDIF}
- // ###########################################################
- // locate functions and procedures for
- // GLU extensions
- // ###########################################################
- UNurbsCallbackDataEXT: procedure(nurb: PGLUnurbs; userData: Pointer);stdcall;
- UNewNurbsTessellatorEXT: function: PGLUnurbs;stdcall;
- UDeleteNurbsTessellatorEXT: procedure(nurb: PGLUnurbs);stdcall;
- constructor Create;
- procedure Initialize(ATemporary: boolean = False);
- procedure Close;
- procedure CheckError;
- procedure ClearError;
- property IsInitialized: boolean read FInitialized;
- property DebugMode: boolean read FDebug write FDebug;
- end; // TGLExtensionsAndEntryPoints
- // ------------------------------ Windows OpenGL (WGL) support functions
- {$IFDEF MSWINDOWS} // {$IFDEF SUPPORT_WGL}
- ///function wglGetProcAddress(ProcName: PAnsiChar): Pointer; stdcall; external opengl32;
- function wglCopyContext(p1: HGLRC; p2: HGLRC; p3: cardinal): BOOL; stdcall; external opengl32;
- function wglCreateContext(DC: HDC): HGLRC; stdcall; external opengl32;
- function wglCreateLayerContext(p1: HDC; p2: integer): HGLRC; stdcall; external opengl32;
- function wglDeleteContext(p1: HGLRC): BOOL; stdcall; external opengl32;
- ///function wglDescribeLayerPlane(p1: HDC; p2, p3: integer; p4: cardinal; var p5: TLayerPlaneDescriptor): BOOL; stdcall; external opengl32;
- function wglGetCurrentContext: HGLRC; stdcall; external opengl32;
- function wglGetCurrentDC: HDC; stdcall; external opengl32;
- ///function wglGetLayerPaletteEntries(p1: HDC; p2, p3, p4: integer; var pcr): integer; stdcall; external opengl32;
- function wglMakeCurrent(DC: HDC; p2: HGLRC): BOOL; stdcall; external opengl32;
- function wglRealizeLayerPalette(p1: HDC; p2: integer; p3: BOOL): BOOL; stdcall; external opengl32;
- ///function wglSetLayerPaletteEntries(p1: HDC; p2, p3, p4: integer; var pcr): integer; stdcall; external opengl32;
- function wglShareLists(p1, p2: HGLRC): BOOL; stdcall; external opengl32;
- function wglSwapLayerBuffers(p1: HDC; p2: cardinal): BOOL; stdcall; external opengl32;
- (*
- function wglSwapMultipleBuffers(p1: UINT; const p2: PWGLSwap): DWORD; stdcall; external opengl32;
- function wglUseFontBitmapsA(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32;
- function wglUseFontOutlinesA(p1: HDC; p2, p3, p4: DWORD; p5, p6: single;
- p7: integer; p8: PGlyphMetricsFloat): BOOL; stdcall; external opengl32;
- function wglUseFontBitmapsW(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32;
- function wglUseFontOutlinesW(p1: HDC; p2, p3, p4: DWORD; p5, p6: single;
- p7: integer; p8: PGlyphMetricsFloat): BOOL; stdcall; external opengl32;
- function wglUseFontBitmaps(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32 Name 'wglUseFontBitmapsA';
- function wglUseFontOutlines(p1: HDC; p2, p3, p4: DWORD; p5, p6: single;
- p7: integer; p8: PGlyphMetricsFloat): BOOL; stdcall; external opengl32 Name 'wglUseFontOutlinesA';
- *)
- {$ENDIF}
- function gluErrorString(errCode: Cardinal): PAnsiChar; stdcall; external glu32;
- function gluGetString(Name: Cardinal): PAnsiChar; stdcall; external glu32;
- procedure gluOrtho2D(left, right, bottom, top: TGLdouble);
- stdcall; external glu32;
- procedure gluPerspective(fovy, aspect, zNear, zFar: TGLdouble);stdcall; external glu32;
- procedure gluPickMatrix(X, y, Width, Height: TGLdouble; const Viewport: TVector4i);
- stdcall; external glu32;
- procedure gluLookAt(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz: TGLdouble);
- stdcall; external glu32;
- function gluProject(objx, objy, objz: TGLdouble; const modelMatrix: TMatrix4d;
- const projMatrix: TMatrix4d; const Viewport: TVector4i;
- winx, winy, winz: PGLdouble): TGLint;stdcall; external glu32;
- function gluUnProject(winx, winy, winz: TGLdouble; const modelMatrix: TMatrix4d;
- const projMatrix: TMatrix4d; const Viewport: TVector4i;
- objx, objy, objz: PGLdouble): TGLint;stdcall; external glu32;
- function gluScaleImage(format: Cardinal; widthin, heightin: TGLint;
- typein: Cardinal; datain: Pointer; widthout, heightout: TGLint;
- typeout: Cardinal; dataout: Pointer): TGLint; stdcall; external glu32;
- function gluBuild1DMipmaps(target: Cardinal; Components, Width: TGLint;
- format, atype: Cardinal; Data: Pointer): TGLint; stdcall; external glu32;
- function gluBuild2DMipmaps(target: Cardinal; Components, Width, Height: TGLint;
- format, atype: Cardinal; Data: Pointer): TGLint; stdcall; external glu32;
- function gluNewQuadric: PGLUquadric; stdcall; external glu32;
- procedure gluDeleteQuadric(state: PGLUquadric);stdcall; external glu32;
- procedure gluQuadricNormals(quadObject: PGLUquadric; normals: Cardinal);stdcall; external glu32;
- procedure gluQuadricTexture(quadObject: PGLUquadric; textureCoords: TGLboolean);
- stdcall; external glu32;
- procedure gluQuadricOrientation(quadObject: PGLUquadric; orientation: Cardinal);
- stdcall; external glu32;
- procedure gluQuadricDrawStyle(quadObject: PGLUquadric; drawStyle: Cardinal);
- stdcall; external glu32;
- procedure gluCylinder(quadObject: PGLUquadric;
- baseRadius, topRadius, Height: TGLdouble; slices, stacks: TGLint);
- stdcall; external glu32;
- procedure gluDisk(quadObject: PGLUquadric; innerRadius, outerRadius: TGLdouble;
- slices, loops: TGLint);
- stdcall; external glu32;
- procedure gluPartialDisk(quadObject: PGLUquadric;
- innerRadius, outerRadius: TGLdouble; slices, loops: TGLint;
- startAngle, sweepAngle: TGLdouble);
- stdcall; external glu32;
- procedure gluSphere(quadObject: PGLUquadric; radius: TGLdouble;
- slices, stacks: TGLint);
- stdcall; external glu32;
- procedure gluQuadricCallback(quadObject: PGLUquadric; which: Cardinal;
- fn: TGLUQuadricErrorProc); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl;
- {$ENDIF} external glu32;
- function gluNewTess: PGLUtesselator; stdcall; external glu32;
- procedure gluDeleteTess(tess: PGLUtesselator);
- stdcall; external glu32;
- procedure gluTessBeginPolygon(tess: PGLUtesselator; polygon_data: Pointer);
- {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl;
- {$ENDIF} external glu32;
- procedure gluTessBeginContour(tess: PGLUtesselator); stdcall; external glu32;
- procedure gluTessVertex(tess: PGLUtesselator; const coords: TVector3d;
- Data: Pointer);
- stdcall; external glu32;
- procedure gluTessEndContour(tess: PGLUtesselator); stdcall; external glu32;
- procedure gluTessEndPolygon(tess: PGLUtesselator);
- stdcall; external glu32;
- procedure gluTessProperty(tess: PGLUtesselator; which: Cardinal;
- Value: TGLdouble);stdcall; external glu32;
- procedure gluTessNormal(tess: PGLUtesselator; X, y, z: TGLdouble);stdcall; external glu32;
- procedure gluTessCallback(tess: PGLUtesselator; which: Cardinal; fn: Pointer);stdcall; external glu32;
- procedure gluGetTessProperty(tess: PGLUtesselator; which: Cardinal; Value: PGLdouble);
- stdcall; external glu32;
- function gluNewNurbsRenderer: PGLUnurbs; stdcall; external glu32;
- procedure gluDeleteNurbsRenderer(nobj: PGLUnurbs);
- stdcall; external glu32;
- procedure gluBeginSurface(nobj: PGLUnurbs);
- stdcall; external glu32;
- procedure gluBeginCurve(nobj: PGLUnurbs);
- stdcall; external glu32;
- procedure gluEndCurve(nobj: PGLUnurbs);
- stdcall; external glu32;
- procedure gluEndSurface(nobj: PGLUnurbs);
- stdcall; external glu32;
- procedure gluBeginTrim(nobj: PGLUnurbs);
- stdcall; external glu32;
- procedure gluEndTrim(nobj: PGLUnurbs);
- stdcall; external glu32;
- procedure gluPwlCurve(nobj: PGLUnurbs; Count: TGLint; points: PGLfloat; stride: TGLint; atype: Cardinal);
- stdcall; external glu32;
- procedure gluNurbsCurve(nobj: PGLUnurbs; nknots: TGLint; knot: PGLfloat;
- stride: TGLint; ctlarray: PGLfloat; order: TGLint; atype: Cardinal);
- stdcall; external glu32;
- procedure gluNurbsSurface(nobj: PGLUnurbs; sknot_count: TGLint; sknot: PGLfloat;
- tknot_count: TGLint; tknot: PGLfloat; s_stride, t_stride: TGLint;
- ctlarray: PGLfloat; sorder, torder: TGLint; atype: Cardinal);
- stdcall; external glu32;
- procedure gluLoadSamplingMatrices(nobj: PGLUnurbs; const modelMatrix: TMatrix4f;
- const projMatrix: TMatrix4f; const Viewport: TVector4i);
- stdcall; external glu32;
- procedure gluNurbsProperty(nobj: PGLUnurbs; aproperty: Cardinal; Value: TGLfloat);
- stdcall; external glu32;
- procedure gluGetNurbsProperty(nobj: PGLUnurbs; aproperty: Cardinal; Value: PGLfloat);
- stdcall; external glu32;
- procedure gluNurbsCallback(nobj: PGLUnurbs; which: Cardinal;
- fn: TGLUNurbsErrorProc);
- stdcall; external glu32;
- procedure gluBeginPolygon(tess: PGLUtesselator);
- stdcall; external glu32;
- procedure gluNextContour(tess: PGLUtesselator; atype: Cardinal);
- stdcall; external glu32;
- procedure gluEndPolygon(tess: PGLUtesselator);
- stdcall; external glu32;
- function GetProcAddressGLLib(ProcName: PAnsiChar): Pointer;
- function GetProcAddressGLS(ProcName: PAnsiChar): Pointer;
- procedure CloseOpenGL;
- function InitOpenGL: boolean;
- function InitOpenGLFromLibrary(const GLName, GLUName: string): boolean;
- function IsOpenGLInitialized: boolean;
- // compatibility routines
- procedure UnloadOpenGL;
- function LoadOpenGL: boolean;
- function LoadOpenGLFromLibrary(GLName, GLUName: string): boolean;
- function IsOpenGLLoaded: boolean;
- function IsMesaGL: boolean;
- procedure TrimAndSplitVersionString(buffer: string; var max, min: integer);
- function IsVersionMet(MajorVersion, MinorVersion, actualMajorVersion,
- actualMinorVersion: integer): boolean;
- //------------------------------------------------------------------
- implementation
- //------------------------------------------------------------------
- const
- glPrefix = 'gl';
- {$IFDEF MSWINDOWS}
- // ************** Windows specific ********************
- const
- INVALID_MODULEHANDLE = 0;
- var
- GLHandle: HINST;
- GLUHandle: HINST;
- {$IFDEF EGL_SUPPORT}
- EGLHandle: HINST;
- EGL2Handle: HINST;
- {$ENDIF}
- function GetProcAddressGLS(ProcName: PAnsiChar): Pointer;
- begin
- {$IFNDEF EGL_SUPPORT}
- Result := wglGetProcAddress(ProcName);
- {$ELSE}
- Result := getProcAddress(EGL2Handle, ProcName);
- {$ENDIF}
- end;
- {$IFDEF EGL_SUPPORT}
- function GetProcAddressEGL(ProcName: PAnsiChar): Pointer;
- begin
- Result := getProcAddress(EGLHandle, ProcName);
- end;
- {$ENDIF}
- {$ENDIF} //MSWINDOWS
- function GetProcAddressGLLib(ProcName: PAnsiChar): Pointer;
- {$IFDEF CROSSVCL}
- var
- UniProcName: string;
- {$ENDIF}
- begin
- {$IFDEF CROSSVCL}
- UniProcName := ProcName;
- Result := getProcAddress(GLHandle, PChar(UniProcName));
- {$ELSE}
- Result := getProcAddress(GLHandle, ProcName);
- {$ENDIF}
- end;
- var
- vNotInformed: boolean = True;
- procedure DebugCallBack(Source: Cardinal; type_: Cardinal; id: Cardinal;
- severity: Cardinal; length: TGLsizei; const message: PAnsiChar;
- userParam: Pointer);
- stdcall;
- begin
- {$IFDEF USE_LOGGING}
- if length > 0 then
- GLSLogger.LogDebug(string(message));
- {$ENDIF}
- end;
- procedure DebugCallBackAMD(id: Cardinal; category: Cardinal; severity: Cardinal;
- length: TGLsizei; message: PAnsiChar; userParam: Pointer);
- stdcall;
- begin
- if length > 0 then
- GLSLogger.LogDebug(string(message));
- end;
- constructor TGLExtensionsAndEntryPoints.Create;
- begin
- FInitialized := False;
- end;
- procedure glCap;stdcall;
- begin
- {$IFDEF USE_LOGGING}
- GLSLogger.LogError('Call OpenGL function with undefined entry point');
- {$ENDIF}
- Abort;
- end;
- function TGLExtensionsAndEntryPoints.GetAddress(const ProcName: string): Pointer;
- var
- vName: string;
- begin
- vName := glPrefix + ProcName;
- Result := GetProcAddressGLS(PAnsiChar(AnsiString(vName)));
- if Result = nil then
- begin
- vName := glPrefix + ProcName + 'ARB';
- Result := GetProcAddressGLS(PAnsiChar(AnsiString(vName)));
- if Result = nil then
- begin
- vName := glPrefix + ProcName;
- Result := GetProcAddressGLLib(PAnsiChar(AnsiString(vName)));
- if Result = nil then
- begin
- vName := glPrefix + ProcName + 'EXT';
- Result := GetProcAddressGLS(PAnsiChar(AnsiString(vName)));
- if Result = nil then
- begin
- vName := glPrefix + ProcName + 'NV';
- Result := GetProcAddressGLS(PAnsiChar(AnsiString(vName)));
- if Result = nil then
- begin
- vName := glPrefix + ProcName + 'ATI';
- Result := GetProcAddressGLS(PAnsiChar(AnsiString(vName)));
- if Result = nil then
- begin
- vName := glPrefix + ProcName + 'OES';
- Result := GetProcAddressGLS(PAnsiChar(AnsiString(vName)));
- if Result = nil then
- Result := @glCap;
- end;
- end;
- end;
- end;
- end;
- end;
- {$IFDEF USE_OPENGL_DEBUG}
- if Result <> @glCap then
- GLSLogger.LogDebug('Finded entry point of ' + vName)
- else
- GLSLogger.LogDebug('Can''t find entry point of ' + vName);
- {$ENDIF}
- end;
- function TGLExtensionsAndEntryPoints.GetAddressAlt(const ProcName1,
- ProcName2: string): Pointer;
- begin
- Result := GetAddress(ProcName1);
- if Result = @glCap then
- Result := GetAddress(ProcName2);
- end;
- function TGLExtensionsAndEntryPoints.GetAddressNoSuffixes
- (const ProcName: string): Pointer;
- var
- vName: string;
- begin
- vName := glPrefix + ProcName;
- Result := GetProcAddressGLS(PAnsiChar(AnsiString(vName)));
- if Result = nil then
- Result := @glCap;
- {$IFDEF USE_OPENGL_DEBUG}
- if Result <> @glCap then
- GLSLogger.LogDebug('Finded entry point of ' + vName)
- else
- GLSLogger.LogDebug('Can''t find entry point of ' + vName);
- {$ENDIF}
- end;
- function TGLExtensionsAndEntryPoints.GetCapAddress: Pointer;
- begin
- Result := @glCap;
- end;
- procedure TGLExtensionsAndEntryPoints.CheckError;
- var
- glError: Cardinal;
- Count: word;
- begin
- if FInitialized then
- try
- glError := GetError();
- if glError <> GL_NO_ERROR then
- begin
- Count := 0;
- try
- while (GetError <> GL_NO_ERROR) and (Count < 6) do
- Inc(Count);
- except
- end;
- if not(FDebug and ARB_debug_output) then
- case glError of
- GL_INVALID_ENUM:
- GLSLogger.LogError(format(strOpenGLError, ['Invalid enum']));
- GL_INVALID_VALUE:
- GLSLogger.LogError(format(strOpenGLError, ['Invalid value']));
- GL_INVALID_OPERATION:
- GLSLogger.LogError(format(strOpenGLError,
- ['Invalid Operation']));
- GL_OUT_OF_MEMORY:
- GLSLogger.LogError(format(strOpenGLError, ['Out of memory']));
- end;
- end;
- except
- GLSLogger.LogError(format(strOpenGLError, ['Exception in glGetError']));
- end;
- end;
- procedure TGLExtensionsAndEntryPoints.ClearError;
- var
- n: integer;
- begin
- n := 0;
- while (GetError <> GL_NO_ERROR) and (n < 6) do
- Inc(n);
- end;
- function TGLExtensionsAndEntryPoints.CheckExtension(const Extension
- : string): boolean;
- var
- ExtPos: integer;
- begin
- // First find the position of the extension string as substring in Buffer.
- ExtPos := Pos(Extension, FBuffer);
- Result := ExtPos > 0;
- // Now check that it isn't only a substring of another extension.
- if Result then
- Result := ((ExtPos + length(Extension) - 1) = length(FBuffer)) or
- (FBuffer[ExtPos + length(Extension)] = ' ');
- {$IFDEF USE_OPENGL_DEBUG}
- if Result then
- GLSLogger.LogDebug(Extension);
- {$ENDIF}
- end;
- procedure TGLExtensionsAndEntryPoints.Initialize(ATemporary: boolean);
- var
- i: integer;
- numExt: TGLint;
- MajorVersion, MinorVersion: integer;
- begin
- GLSLogger.LogNotice('Getting OpenGL entry points and extension');
- {$IFDEF SUPPORT_WGL}
- ReadWGLExtensions;
- ReadWGLImplementationProperties;
- {$ENDIF}
- {$IFDEF EGL_SUPPORT}
- ReadEGLExtensions;
- ReadEGLImplementationProperties;
- {$ENDIF}
- GetString := GetAddress('GetString');
- GetStringi := GetAddress('GetStringi');
- GetIntegerv := GetAddress('GetIntegerv');
- GetError := GetAddress('GetError');
- // determine OpenGL versions supported
- FBuffer := string(GetString(GL_VERSION));
- TrimAndSplitVersionString(FBuffer, MajorVersion, MinorVersion);
- VERSION_1_0 := True;
- VERSION_1_1 := IsVersionMet(1, 1, MajorVersion, MinorVersion);
- VERSION_1_2 := IsVersionMet(1, 2, MajorVersion, MinorVersion);
- VERSION_1_3 := IsVersionMet(1, 3, MajorVersion, MinorVersion);
- VERSION_1_4 := IsVersionMet(1, 4, MajorVersion, MinorVersion);
- VERSION_1_5 := IsVersionMet(1, 5, MajorVersion, MinorVersion);
- VERSION_2_0 := IsVersionMet(2, 0, MajorVersion, MinorVersion);
- VERSION_2_1 := IsVersionMet(2, 1, MajorVersion, MinorVersion);
- VERSION_3_0 := IsVersionMet(3, 0, MajorVersion, MinorVersion);
- VERSION_3_1 := IsVersionMet(3, 1, MajorVersion, MinorVersion);
- VERSION_3_2 := IsVersionMet(3, 2, MajorVersion, MinorVersion);
- VERSION_3_3 := IsVersionMet(3, 3, MajorVersion, MinorVersion);
- VERSION_4_0 := IsVersionMet(4, 0, MajorVersion, MinorVersion);
- VERSION_4_1 := IsVersionMet(4, 1, MajorVersion, MinorVersion);
- VERSION_4_2 := IsVersionMet(4, 2, MajorVersion, MinorVersion);
- if vNotInformed then
- begin
- GLSLogger.LogNotice('');
- GLSLogger.LogInfo('OpenGL rendering context information:');
- GLSLogger.LogInfo(format('Renderer : %s', [GetString(GL_RENDERER)]));
- GLSLogger.LogInfo(format('Vendor : %s', [GetString(GL_VENDOR)]));
- GLSLogger.LogInfo(format('Version : %s', [GetString(GL_VERSION)]));
- if VERSION_2_0 then
- GLSLogger.LogInfo(format('GLSL version : %s',
- [GetString(GL_SHADING_LANGUAGE_VERSION)]))
- else
- GLSLogger.LogWarning('GLSL version : not supported');
- GLSLogger.LogNotice('');
- vNotInformed := False;
- end;
- if ATemporary then
- begin
- FInitialized := True;
- exit;
- end;
- // check supported OpenGL extensions
- if VERSION_3_0 then
- begin
- FBuffer := '';
- GetIntegerv(GL_NUM_EXTENSIONS, @numExt);
- for i := 0 to numExt - 1 do
- FBuffer := FBuffer + string(GetStringi(GL_EXTENSIONS, i)) + ' ';
- end
- else
- FBuffer := string(GetString(GL_EXTENSIONS));
- // check ARB approved OpenGL extensions
- ARB_blend_func_extended := CheckExtension('GL_ARB_blend_func_extended');
- ARB_color_buffer_float := CheckExtension('GL_ARB_color_buffer_float');
- ARB_compatibility := CheckExtension('GL_ARB_compatibility');
- ARB_copy_buffer := CheckExtension('GL_ARB_copy_buffer');
- ARB_depth_buffer_float := CheckExtension('GL_ARB_depth_buffer_float');
- ARB_depth_clamp := CheckExtension('GL_ARB_depth_clamp');
- ARB_depth_texture := CheckExtension('GL_ARB_depth_texture');
- ARB_draw_buffers := CheckExtension('GL_ARB_draw_buffers');
- ARB_draw_buffers_blend := CheckExtension('GL_ARB_draw_buffers_blend');
- ARB_draw_elements_base_vertex := CheckExtension('GL_ARB_draw_elements_base_vertex');
- ARB_draw_indirect := CheckExtension('GL_ARB_draw_indirect');
- ARB_draw_instanced := CheckExtension('GL_ARB_draw_instanced');
- ARB_explicit_attrib_location := CheckExtension('GL_ARB_explicit_attrib_location');
- ARB_fragment_coord_conventions := CheckExtension('GL_ARB_fragment_coord_conventions');
- ARB_fragment_program := CheckExtension('GL_ARB_fragment_program');
- ARB_fragment_program_shadow := CheckExtension('GL_ARB_fragment_program_shadow');
- ARB_fragment_shader := CheckExtension('GL_ARB_fragment_shader');
- ARB_framebuffer_object := CheckExtension('GL_ARB_framebuffer_object');
- ARB_framebuffer_sRGB := CheckExtension('GL_ARB_framebuffer_sRGB');
- ARB_geometry_shader4 := CheckExtension('GL_ARB_geometry_shader4');
- ARB_gpu_shader_fp64 := CheckExtension('GL_ARB_gpu_shader_fp64');
- ARB_gpu_shader5 := CheckExtension('GL_ARB_gpu_shader5');
- ARB_half_float_pixel := CheckExtension('GL_ARB_half_float_pixel');
- ARB_half_float_vertex := CheckExtension('GL_ARB_half_float_vertex');
- ARB_imaging := CheckExtension('GL_ARB_imaging');
- ARB_instanced_arrays := CheckExtension('GL_ARB_instanced_arrays');
- ARB_map_buffer_range := CheckExtension('GL_ARB_map_buffer_range');
- ARB_matrix_palette := CheckExtension('GL_ARB_matrix_palette');
- ARB_multisample := CheckExtension('GL_ARB_multisample');
- // ' ' to avoid collision with WGL variant
- ARB_multitexture := CheckExtension('GL_ARB_multitexture');
- ARB_occlusion_query := CheckExtension('GL_ARB_occlusion_query');
- ARB_occlusion_query2 := CheckExtension('GL_ARB_occlusion_query2');
- ARB_pixel_buffer_object := CheckExtension('GL_ARB_pixel_buffer_object');
- ARB_point_parameters := CheckExtension('GL_ARB_point_parameters');
- ARB_point_sprite := CheckExtension('GL_ARB_point_sprite');
- ARB_provoking_vertex := CheckExtension('GL_ARB_provoking_vertex');
- ARB_sample_shading := CheckExtension('GL_ARB_sample_shading');
- ARB_sampler_objects := CheckExtension('GL_ARB_sampler_objects');
- ARB_seamless_cube_map := CheckExtension('GL_ARB_seamless_cube_map');
- ARB_shader_bit_encoding := CheckExtension('GL_ARB_shader_bit_encoding');
- ARB_shader_objects := CheckExtension('GL_ARB_shader_objects');
- ARB_shader_subroutine := CheckExtension('GL_ARB_shader_subroutine');
- ARB_shader_texture_lod := CheckExtension('GL_ARB_shader_texture_lod');
- ARB_shading_language_100 := CheckExtension('GL_ARB_shading_language_100');
- ARB_shadow := CheckExtension('GL_ARB_shadow');
- ARB_shadow_ambient := CheckExtension('GL_ARB_shadow_ambient');
- ARB_sync := CheckExtension('GL_ARB_sync');
- ARB_tessellation_shader := CheckExtension('GL_ARB_tessellation_shader');
- ARB_texture_border_clamp := CheckExtension('GL_ARB_texture_border_clamp');
- ARB_texture_buffer_object := CheckExtension('GL_ARB_texture_buffer_object');
- ARB_texture_buffer_object_rgb32 := CheckExtension('GL_ARB_texture_buffer_object_rgb32');
- ARB_texture_compression := CheckExtension('GL_ARB_texture_compression');
- ARB_texture_compression_rgtc := CheckExtension('GL_ARB_texture_compression_rgtc');
- ARB_texture_cube_map := CheckExtension('GL_ARB_texture_cube_map');
- ARB_texture_cube_map_array := CheckExtension('GL_ARB_texture_cube_map_array');
- ARB_texture_env_add := CheckExtension('GL_ARB_texture_env_add');
- ARB_texture_env_combine := CheckExtension('GL_ARB_texture_env_combine');
- ARB_texture_env_crossbar := CheckExtension('GL_ARB_texture_env_crossbar');
- ARB_texture_env_dot3 := CheckExtension('GL_ARB_texture_env_dot3');
- ARB_texture_float := CheckExtension('GL_ARB_texture_float');
- ARB_texture_gather := CheckExtension('GL_ARB_texture_gather');
- ARB_texture_mirrored_repeat := CheckExtension('GL_ARB_texture_mirrored_repeat');
- ARB_texture_multisample := CheckExtension('GL_ARB_texture_multisample');
- ARB_texture_non_power_of_two := CheckExtension('GL_ARB_texture_non_power_of_two');
- ARB_texture_query_lod := CheckExtension('GL_ARB_texture_query_lod');
- ARB_texture_rectangle := CheckExtension('GL_ARB_texture_rectangle');
- ARB_texture_rg := CheckExtension('GL_ARB_texture_rg');
- ARB_texture_rgb10_a2ui := CheckExtension('GL_ARB_texture_rgb10_a2ui');
- ARB_texture_swizzle := CheckExtension('GL_ARB_texture_swizzle');
- ARB_timer_query := CheckExtension('GL_ARB_timer_query');
- ARB_transform_feedback2 := CheckExtension('GL_ARB_transform_feedback2');
- ARB_transform_feedback3 := CheckExtension('GL_ARB_transform_feedback3');
- ARB_transpose_matrix := CheckExtension('GL_ARB_transpose_matrix');
- ARB_uniform_buffer_object := CheckExtension('GL_ARB_uniform_buffer_object');
- ARB_vertex_array_bgra := CheckExtension('GL_ARB_vertex_array_bgra');
- ARB_vertex_array_object := CheckExtension('GL_ARB_vertex_array_object');
- ARB_vertex_blend := CheckExtension('GL_ARB_vertex_blend');
- ARB_vertex_buffer_object := CheckExtension('GL_ARB_vertex_buffer_object');
- ARB_vertex_program := CheckExtension('GL_ARB_vertex_program');
- ARB_vertex_shader := CheckExtension('GL_ARB_vertex_shader');
- ARB_vertex_type_2_10_10_10_rev := CheckExtension('GL_ARB_vertex_type_2_10_10_10_rev');
- ARB_window_pos := CheckExtension('GL_ARB_window_pos');
- ARB_texture_compression_bptc := CheckExtension('GL_ARB_texture_compression_bptc');
- ARB_get_program_binary := CheckExtension('GL_ARB_get_program_binary');
- ARB_separate_shader_objects := CheckExtension('GL_ARB_separate_shader_objects');
- ARB_shader_stencil_export := CheckExtension('GL_ARB_shader_stencil_export');
- KHR_debug := CheckExtension('GL_KHR_debug');
- ARB_clear_buffer_object := CheckExtension('GL_ARB_clear_buffer_object');
- ARB_compute_shader := CheckExtension('GL_ARB_compute_shader');
- ARB_copy_image := CheckExtension('GL_ARB_copy_image');
- ARB_debug_group := CheckExtension('GL_ARB_debug_group');
- ARB_debug_label := CheckExtension('GL_ARB_debug_label');
- ARB_debug_output2 := CheckExtension('GL_ARB_debug_output2');
- ARB_ES3_compatibility := CheckExtension('GL_ARB_ES3_compatibility');
- ARB_explicit_uniform_location := CheckExtension('GL_ARB_explicit_uniform_location');
- ARB_fragment_layer_viewport := CheckExtension('GL_ARB_fragment_layer_viewport');
- ARB_framebuffer_no_attachments := CheckExtension('GL_ARB_framebuffer_no_attachments');
- ARB_internalformat_query2 := CheckExtension('GL_ARB_internalformat_query2');
- ARB_invalidate_subdata := CheckExtension('GL_ARB_invalidate_subdata');
- ARB_multi_draw_indirect := CheckExtension('GL_ARB_multi_draw_indirect');
- ARB_program_interface_query := CheckExtension('GL_ARB_program_interface_query');
- ARB_shader_image_size := CheckExtension('GL_ARB_shader_image_size');
- ARB_shader_storage_buffer_object := CheckExtension('GL_ARB_shader_storage_buffer_object');
- ARB_stencil_texturing := CheckExtension('GL_ARB_stencil_texturing');
- ARB_texture_buffer_range := CheckExtension('GL_ARB_texture_buffer_range');
- ARB_texture_query_levels := CheckExtension('GL_ARB_texture_query_levels');
- ARB_texture_storage_multisample := CheckExtension('GL_ARB_texture_storage_multisample');
- ARB_texture_view := CheckExtension('GL_ARB_texture_view');
- ARB_vertex_attrib_binding := CheckExtension('GL_ARB_vertex_attrib_binding');
- ARB_robustness_isolation := CheckExtension('GL_ARB_robustness_isolation');
- ARB_cl_event := CheckExtension('GL_ARB_cl_event');
- // check Vendor/EXT OpenGL extensions
- _3DFX_multisample := CheckExtension('GL_3DFX_multisample');
- _3DFX_tbuffer := CheckExtension('GL_3DFX_tbuffer');
- _3DFX_texture_compression_FXT1 := CheckExtension('GL_3DFX_texture_compression_FXT1');
- ATI_draw_buffers := CheckExtension('GL_ATI_draw_buffers');
- ATI_texture_compression_3dc := CheckExtension('GL_ATI_texture_compression_3dc');
- ATI_texture_float := CheckExtension('GL_ATI_texture_float');
- ATI_texture_mirror_once := CheckExtension('GL_ATI_texture_mirror_once');
- S3_s3tc := CheckExtension('GL_S3_s3tc');
- EXT_abgr := CheckExtension('GL_EXT_abgr');
- EXT_bgra := CheckExtension('GL_EXT_bgra');
- EXT_bindable_uniform := CheckExtension('GL_EXT_bindable_uniform');
- EXT_blend_color := CheckExtension('GL_EXT_blend_color');
- EXT_blend_equation_separate := CheckExtension('GL_EXT_blend_equation_separate');
- EXT_blend_func_separate := CheckExtension('GL_EXT_blend_func_separate');
- EXT_blend_logic_op := CheckExtension('GL_EXT_blend_logic_op');
- EXT_blend_minmax := CheckExtension('GL_EXT_blend_minmax');
- EXT_blend_subtract := CheckExtension('GL_EXT_blend_subtract');
- EXT_Cg_shader := CheckExtension('GL_EXT_Cg_shader');
- EXT_clip_volume_hint := CheckExtension('GL_EXT_clip_volume_hint');
- EXT_compiled_vertex_array := CheckExtension('GL_EXT_compiled_vertex_array');
- EXT_copy_texture := CheckExtension('GL_EXT_copy_texture');
- EXT_depth_bounds_test := CheckExtension('GL_EXT_depth_bounds_test');
- EXT_draw_buffers2 := CheckExtension('GL_EXT_draw_buffers2');
- EXT_draw_instanced := CheckExtension('GL_EXT_draw_instanced');
- EXT_draw_range_elements := CheckExtension('GL_EXT_draw_range_elements');
- EXT_fog_coord := CheckExtension('GL_EXT_fog_coord');
- EXT_framebuffer_blit := CheckExtension('GL_EXT_framebuffer_blit');
- EXT_framebuffer_multisample := CheckExtension('GL_EXT_framebuffer_multisample');
- EXT_framebuffer_object := CheckExtension('GL_EXT_framebuffer_object');
- EXT_framebuffer_sRGB := CheckExtension('GL_EXT_framebuffer_sRGB');
- EXT_geometry_shader4 := CheckExtension('GL_EXT_geometry_shader4');
- EXT_gpu_program_parameters := CheckExtension('GL_EXT_gpu_program_parameters');
- EXT_gpu_shader4 := CheckExtension('GL_EXT_gpu_shader4');
- EXT_multi_draw_arrays := CheckExtension('GL_EXT_multi_draw_arrays');
- EXT_multisample := CheckExtension('GL_EXT_multisample');
- EXT_packed_depth_stencil := CheckExtension('GL_EXT_packed_depth_stencil');
- EXT_packed_float := CheckExtension('GL_EXT_packed_float');
- EXT_packed_pixels := CheckExtension('GL_EXT_packed_pixels');
- EXT_paletted_texture := CheckExtension('GL_EXT_paletted_texture');
- EXT_pixel_buffer_object := CheckExtension('GL_EXT_pixel_buffer_object');
- EXT_polygon_offset := CheckExtension('GL_EXT_polygon_offset');
- EXT_rescale_normal := CheckExtension('GL_EXT_rescale_normal');
- EXT_secondary_color := CheckExtension('GL_EXT_secondary_color');
- EXT_separate_specular_color := CheckExtension('GL_EXT_separate_specular_color');
- EXT_shadow_funcs := CheckExtension('GL_EXT_shadow_funcs');
- EXT_shared_texture_palette := CheckExtension('GL_EXT_shared_texture_palette');
- EXT_stencil_clear_tag := CheckExtension('GL_EXT_stencil_clear_tag');
- EXT_stencil_two_side := CheckExtension('GL_EXT_stencil_two_side');
- EXT_stencil_wrap := CheckExtension('GL_EXT_stencil_wrap');
- EXT_texture3D := CheckExtension('GL_EXT_texture3D');
- EXT_texture_array := CheckExtension('GL_EXT_texture_array');
- EXT_texture_buffer_object := CheckExtension('GL_EXT_texture_buffer_object');
- EXT_texture_compression_latc := CheckExtension('GL_EXT_texture_compression_latc');
- EXT_texture_compression_rgtc := CheckExtension('GL_EXT_texture_compression_rgtc');
- EXT_texture_compression_s3tc := CheckExtension('GL_EXT_texture_compression_s3tc');
- EXT_texture_cube_map := CheckExtension('GL_EXT_texture_cube_map');
- EXT_texture_edge_clamp := CheckExtension('GL_EXT_texture_edge_clamp');
- EXT_texture_env_add := CheckExtension('GL_EXT_texture_env_add');
- EXT_texture_env_combine := CheckExtension('GL_EXT_texture_env_combine');
- EXT_texture_env_dot3 := CheckExtension('GL_EXT_texture_env_dot3');
- EXT_texture_filter_anisotropic :=
- CheckExtension('GL_EXT_texture_filter_anisotropic');
- EXT_texture_integer := CheckExtension('GL_EXT_texture_integer');
- EXT_texture_lod := CheckExtension('GL_EXT_texture_lod');
- EXT_texture_lod_bias := CheckExtension('GL_EXT_texture_lod_bias');
- EXT_texture_mirror_clamp := CheckExtension('GL_EXT_texture_mirror_clamp');
- EXT_texture_object := CheckExtension('GL_EXT_texture_object');
- EXT_texture_rectangle := CheckExtension('GL_EXT_texture_rectangle');
- EXT_texture_sRGB := CheckExtension('GL_EXT_texture_sRGB');
- EXT_texture_shared_exponent := CheckExtension('GL_EXT_texture_shared_exponent');
- EXT_timer_query := CheckExtension('GL_EXT_timer_query');
- EXT_transform_feedback := CheckExtension('GL_EXT_transform_feedback');
- EXT_vertex_array := CheckExtension('GL_EXT_vertex_array');
- EXT_texture_sRGB_decode := CheckExtension('GL_EXT_texture_sRGB_decode');
- EXT_direct_state_access := CheckExtension('EXT_direct_state_access');
- EXT_texture_swizzle := CheckExtension('EXT_texture_swizzle');
- HP_occlusion_test := CheckExtension('GL_HP_occlusion_test');
- IBM_rasterpos_clip := CheckExtension('GL_IBM_rasterpos_clip');
- KTX_buffer_region := CheckExtension('GL_KTX_buffer_region');
- MESA_resize_buffers := CheckExtension('GL_MESA_resize_buffers');
- NV_blend_square := CheckExtension('GL_NV_blend_square');
- NV_conditional_render := CheckExtension('GL_NV_conditional_render');
- NV_copy_image := CheckExtension('GL_NV_copy_image');
- NV_depth_buffer_float := CheckExtension('GL_NV_depth_buffer_float');
- NV_fence := CheckExtension('GL_NV_fence');
- NV_float_buffer := CheckExtension('GL_NV_float_buffer');
- NV_fog_distance := CheckExtension('GL_NV_fog_distance');
- NV_geometry_program4 := CheckExtension('GL_NV_geometry_program4');
- NV_light_max_exponent := CheckExtension('GL_NV_light_max_exponent');
- NV_multisample_filter_hint := CheckExtension('GL_NV_multisample_filter_hint');
- NV_occlusion_query := CheckExtension('GL_NV_occlusion_query');
- NV_point_sprite := CheckExtension('GL_NV_point_sprite');
- NV_primitive_restart := CheckExtension('GL_NV_primitive_restart');
- NV_register_combiners := CheckExtension('GL_NV_register_combiners');
- NV_shader_buffer_load := CheckExtension('GL_NV_shader_buffer_load');
- NV_texgen_reflection := CheckExtension('GL_NV_texgen_reflection');
- NV_texture_compression_vtc := CheckExtension('GL_NV_texture_compression_vtc');
- NV_texture_env_combine4 := CheckExtension('GL_NV_texture_env_combine4');
- NV_texture_rectangle := CheckExtension('GL_NV_texture_rectangle');
- NV_texture_shader := CheckExtension('GL_NV_texture_shader');
- NV_texture_shader2 := CheckExtension('GL_NV_texture_shader2');
- NV_texture_shader3 := CheckExtension('GL_NV_texture_shader3');
- NV_transform_feedback := CheckExtension('GL_NV_transform_feedback');
- NV_vertex_array_range := CheckExtension('GL_NV_vertex_array_range');
- NV_vertex_array_range2 := CheckExtension('GL_NV_vertex_array_range2');
- NV_vertex_buffer_unified_memory := CheckExtension('GL_NV_vertex_buffer_unified_memory');
- NV_vertex_program := CheckExtension('GL_NV_vertex_program');
- SGI_color_matrix := CheckExtension('GL_SGI_color_matrix');
- SGIS_generate_mipmap := CheckExtension('GL_SGIS_generate_mipmap');
- SGIS_multisample := CheckExtension('GL_SGIS_multisample');
- SGIS_texture_border_clamp := CheckExtension('GL_SGIS_texture_border_clamp');
- SGIS_texture_color_mask := CheckExtension('GL_SGIS_texture_color_mask');
- SGIS_texture_edge_clamp := CheckExtension('GL_SGIS_texture_edge_clamp');
- SGIS_texture_lod := CheckExtension('GL_SGIS_texture_lod');
- SGIX_depth_texture := CheckExtension('GL_SGIX_depth_texture');
- SGIX_shadow := CheckExtension('GL_SGIX_shadow');
- SGIX_shadow_ambient := CheckExtension('GL_SGIX_shadow_ambient');
- AMD_vertex_shader_tessellator := CheckExtension('GL_AMD_vertex_shader_tessellator');
- WIN_swap_hint := CheckExtension('GL_WIN_swap_hint');
- ATI_meminfo := CheckExtension('GL_ATI_meminfo');
- NVX_gpu_memory_info := CheckExtension('GL_NVX_gpu_memory_info');
- NV_vdpau_interop := CheckExtension('GL_NV_vdpau_interop');
- NV_path_rendering := CheckExtension('GL_NV_path_rendering');
- GREMEDY_frame_terminator := CheckExtension('GL_GREMEDY_frame_terminator');
- GREMEDY_string_marker := CheckExtension('GL_GREMEDY_string_marker');
- AMDX_debug_output := CheckExtension('AMDX_debug_output');
- ARB_debug_output := CheckExtension('GL_ARB_debug_output');
- BindTexture := GetAddress('BindTexture');
- BlendFunc := GetAddress('BlendFunc');
- Clear := GetAddress('Clear');
- ClearColor := GetAddress('ClearColor');
- ClearDepth := GetAddress('ClearDepth');
- ClearStencil := GetAddress('ClearStencil');
- ColorMask := GetAddress('ColorMask');
- CopyTexImage1D := GetAddress('CopyTexImage1D');
- CopyTexImage2D := GetAddress('CopyTexImage2D');
- CopyTexSubImage1D := GetAddress('CopyTexSubImage1D');
- CopyTexSubImage2D := GetAddress('CopyTexSubImage2D');
- CullFace := GetAddress('CullFace');
- DeleteTextures := GetAddress('DeleteTextures');
- DepthFunc := GetAddress('DepthFunc');
- DepthMask := GetAddress('DepthMask');
- DepthRange := GetAddress('DepthRange');
- Disable := GetAddress('Disable');
- DrawArrays := GetAddress('DrawArrays');
- DrawBuffer := GetAddress('DrawBuffer');
- DrawElements := GetAddress('DrawElements');
- Enable := GetAddress('Enable');
- Finish := GetAddress('Finish');
- Flush := GetAddress('Flush');
- FrontFace := GetAddress('FrontFace');
- GenTextures := GetAddress('GenTextures');
- GetBooleanv := GetAddress('GetBooleanv');
- GetDoublev := GetAddress('GetDoublev');
- GetFloatv := GetAddress('GetFloatv');
- GetPointerv := GetAddress('GetPointerv');
- GetString := GetAddress('GetString');
- GetTexImage := GetAddress('GetTexImage');
- GetTexLevelParameterfv := GetAddress('GetTexLevelParameterfv');
- GetTexLevelParameteriv := GetAddress('GetTexLevelParameteriv');
- GetTexParameterfv := GetAddress('GetTexParameterfv');
- GetTexParameteriv := GetAddress('GetTexParameteriv');
- Hint := GetAddress('Hint');
- IsEnabled := GetAddress('IsEnabled');
- IsTexture := GetAddress('IsTexture');
- LineWidth := GetAddress('LineWidth');
- LogicOp := GetAddress('LogicOp');
- PixelStoref := GetAddress('PixelStoref');
- PixelStorei := GetAddress('PixelStorei');
- PointSize := GetAddress('PointSize');
- PolygonMode := GetAddress('PolygonMode');
- PolygonOffset := GetAddress('PolygonOffset');
- ReadBuffer := GetAddress('ReadBuffer');
- ReadPixels := GetAddress('ReadPixels');
- Scissor := GetAddress('Scissor');
- StencilFunc := GetAddress('StencilFunc');
- StencilMask := GetAddress('StencilMask');
- StencilOp := GetAddress('StencilOp');
- TexImage1D := GetAddress('TexImage1D');
- TexImage2D := GetAddress('TexImage2D');
- TexParameterf := GetAddress('TexParameterf');
- TexParameterfv := GetAddress('TexParameterfv');
- TexParameteri := GetAddress('TexParameteri');
- TexParameteriv := GetAddress('TexParameteriv');
- TexSubImage1D := GetAddress('TexSubImage1D');
- TexSubImage2D := GetAddress('TexSubImage2D');
- Viewport := GetAddress('Viewport');
- Accum := GetAddress('Accum');
- AlphaFunc := GetAddress('AlphaFunc');
- AreTexturesResident := GetAddress('AreTexturesResident');
- ArrayElement := GetAddress('ArrayElement');
- Begin_ := GetAddress('Begin');
- Bitmap := GetAddress('Bitmap');
- CallList := GetAddress('CallList');
- CallLists := GetAddress('CallLists');
- ClearAccum := GetAddress('ClearAccum');
- ClearIndex := GetAddress('ClearIndex');
- ClipPlane := GetAddress('ClipPlane');
- Color3b := GetAddress('Color3b');
- Color3bv := GetAddress('Color3bv');
- Color3d := GetAddress('Color3d');
- Color3dv := GetAddress('Color3dv');
- Color3f := GetAddress('Color3f');
- Color3fv := GetAddress('Color3fv');
- Color3i := GetAddress('Color3i');
- Color3iv := GetAddress('Color3iv');
- Color3s := GetAddress('Color3s');
- Color3sv := GetAddress('Color3sv');
- Color3ub := GetAddress('Color3ub');
- Color3ubv := GetAddress('Color3ubv');
- Color3ui := GetAddress('Color3ui');
- Color3uiv := GetAddress('Color3uiv');
- Color3us := GetAddress('Color3us');
- Color3usv := GetAddress('Color3usv');
- Color4b := GetAddress('Color4b');
- Color4bv := GetAddress('Color4bv');
- Color4d := GetAddress('Color4d');
- Color4dv := GetAddress('Color4dv');
- Color4f := GetAddress('Color4f');
- Color4fv := GetAddress('Color4fv');
- Color4i := GetAddress('Color4i');
- Color4iv := GetAddress('Color4iv');
- Color4s := GetAddress('Color4s');
- Color4sv := GetAddress('Color4sv');
- Color4ub := GetAddress('Color4ub');
- Color4ubv := GetAddress('Color4ubv');
- Color4ui := GetAddress('Color4ui');
- Color4uiv := GetAddress('Color4uiv');
- Color4us := GetAddress('Color4us');
- Color4usv := GetAddress('Color4usv');
- ColorMaterial := GetAddress('ColorMaterial');
- ColorPointer := GetAddress('ColorPointer');
- CopyPixels := GetAddress('CopyPixels');
- DeleteLists := GetAddress('DeleteLists');
- DisableClientState := GetAddress('DisableClientState');
- DrawPixels := GetAddress('DrawPixels');
- EdgeFlag := GetAddress('EdgeFlag');
- EdgeFlagPointer := GetAddress('EdgeFlagPointer');
- EdgeFlagv := GetAddress('EdgeFlagv');
- EnableClientState := GetAddress('EnableClientState');
- End_ := GetAddress('End');
- EndList := GetAddress('EndList');
- EvalCoord1d := GetAddress('EvalCoord1d');
- EvalCoord1dv := GetAddress('EvalCoord1dv');
- EvalCoord1f := GetAddress('EvalCoord1f');
- EvalCoord1fv := GetAddress('EvalCoord1fv');
- EvalCoord2d := GetAddress('EvalCoord2d');
- EvalCoord2dv := GetAddress('EvalCoord2dv');
- EvalCoord2f := GetAddress('EvalCoord2f');
- EvalCoord2fv := GetAddress('EvalCoord2fv');
- EvalMesh1 := GetAddress('EvalMesh1');
- EvalMesh2 := GetAddress('EvalMesh2');
- EvalPoint1 := GetAddress('EvalPoint1');
- EvalPoint2 := GetAddress('EvalPoint2');
- FeedbackBuffer := GetAddress('FeedbackBuffer');
- Fogf := GetAddress('Fogf');
- Fogfv := GetAddress('Fogfv');
- Fogi := GetAddress('Fogi');
- Fogiv := GetAddress('Fogiv');
- Frustum := GetAddress('Frustum');
- GenLists := GetAddress('GenLists');
- GetClipPlane := GetAddress('GetClipPlane');
- GetLightfv := GetAddress('GetLightfv');
- GetLightiv := GetAddress('GetLightiv');
- GetMapdv := GetAddress('GetMapdv');
- GetMapfv := GetAddress('GetMapfv');
- GetMapiv := GetAddress('GetMapiv');
- GetMaterialfv := GetAddress('GetMaterialfv');
- GetMaterialiv := GetAddress('GetMaterialiv');
- GetPixelMapfv := GetAddress('GetPixelMapfv');
- GetPixelMapuiv := GetAddress('GetPixelMapuiv');
- GetPixelMapusv := GetAddress('GetPixelMapusv');
- GetPolygonStipple := GetAddress('GetPolygonStipple');
- GetTexEnvfv := GetAddress('GetTexEnvfv');
- GetTexEnviv := GetAddress('GetTexEnviv');
- GetTexGendv := GetAddress('GetTexGendv');
- GetTexGenfv := GetAddress('GetTexGenfv');
- GetTexGeniv := GetAddress('GetTexGeniv');
- IndexMask := GetAddress('IndexMask');
- IndexPointer := GetAddress('IndexPointer');
- Indexd := GetAddress('Indexd');
- Indexdv := GetAddress('Indexdv');
- Indexf := GetAddress('Indexf');
- Indexfv := GetAddress('Indexfv');
- Indexi := GetAddress('Indexi');
- Indexiv := GetAddress('Indexiv');
- Indexs := GetAddress('Indexs');
- Indexsv := GetAddress('Indexsv');
- Indexub := GetAddress('Indexub');
- Indexubv := GetAddress('Indexubv');
- InitNames := GetAddress('InitNames');
- InterleavedArrays := GetAddress('InterleavedArrays');
- IsList := GetAddress('IsList');
- LightModelf := GetAddress('LightModelf');
- LightModelfv := GetAddress('LightModelfv');
- LightModeli := GetAddress('LightModeli');
- LightModeliv := GetAddress('LightModeliv');
- Lightf := GetAddress('Lightf');
- Lightfv := GetAddress('Lightfv');
- Lighti := GetAddress('Lighti');
- Lightiv := GetAddress('Lightiv');
- LineStipple := GetAddress('LineStipple');
- ListBase := GetAddress('ListBase');
- LoadIdentity := GetAddress('LoadIdentity');
- LoadMatrixd := GetAddress('LoadMatrixd');
- LoadMatrixf := GetAddress('LoadMatrixf');
- LoadName := GetAddress('LoadName');
- Map1d := GetAddress('Map1d');
- Map1f := GetAddress('Map1f');
- Map2d := GetAddress('Map2d');
- Map2f := GetAddress('Map2f');
- MapGrid1d := GetAddress('MapGrid1d');
- MapGrid1f := GetAddress('MapGrid1f');
- MapGrid2d := GetAddress('MapGrid2d');
- MapGrid2f := GetAddress('MapGrid2f');
- Materialf := GetAddress('Materialf');
- Materialfv := GetAddress('Materialfv');
- Materiali := GetAddress('Materiali');
- Materialiv := GetAddress('Materialiv');
- MatrixMode := GetAddress('MatrixMode');
- MultMatrixd := GetAddress('MultMatrixd');
- MultMatrixf := GetAddress('MultMatrixf');
- NewList := GetAddress('NewList');
- Normal3b := GetAddress('Normal3b');
- Normal3bv := GetAddress('Normal3bv');
- Normal3d := GetAddress('Normal3d');
- Normal3dv := GetAddress('Normal3dv');
- Normal3f := GetAddress('Normal3f');
- Normal3fv := GetAddress('Normal3fv');
- Normal3i := GetAddress('Normal3i');
- Normal3iv := GetAddress('Normal3iv');
- Normal3s := GetAddress('Normal3s');
- Normal3sv := GetAddress('Normal3sv');
- NormalPointer := GetAddress('NormalPointer');
- Ortho := GetAddress('Ortho');
- PassThrough := GetAddress('PassThrough');
- PixelMapfv := GetAddress('PixelMapfv');
- PixelMapuiv := GetAddress('PixelMapuiv');
- PixelMapusv := GetAddress('PixelMapusv');
- PixelTransferf := GetAddress('PixelTransferf');
- PixelTransferi := GetAddress('PixelTransferi');
- PixelZoom := GetAddress('PixelZoom');
- PolygonStipple := GetAddress('PolygonStipple');
- PopAttrib := GetAddress('PopAttrib');
- PopClientAttrib := GetAddress('PopClientAttrib');
- PopMatrix := GetAddress('PopMatrix');
- PopName := GetAddress('PopName');
- PrioritizeTextures := GetAddress('PrioritizeTextures');
- PushAttrib := GetAddress('PushAttrib');
- PushClientAttrib := GetAddress('PushClientAttrib');
- PushMatrix := GetAddress('PushMatrix');
- PushName := GetAddress('PushName');
- RasterPos2d := GetAddress('RasterPos2d');
- RasterPos2dv := GetAddress('RasterPos2dv');
- RasterPos2f := GetAddress('RasterPos2f');
- RasterPos2fv := GetAddress('RasterPos2fv');
- RasterPos2i := GetAddress('RasterPos2i');
- RasterPos2iv := GetAddress('RasterPos2iv');
- RasterPos2s := GetAddress('RasterPos2s');
- RasterPos2sv := GetAddress('RasterPos2sv');
- RasterPos3d := GetAddress('RasterPos3d');
- RasterPos3dv := GetAddress('RasterPos3dv');
- RasterPos3f := GetAddress('RasterPos3f');
- RasterPos3fv := GetAddress('RasterPos3fv');
- RasterPos3i := GetAddress('RasterPos3i');
- RasterPos3iv := GetAddress('RasterPos3iv');
- RasterPos3s := GetAddress('RasterPos3s');
- RasterPos3sv := GetAddress('RasterPos3sv');
- RasterPos4d := GetAddress('RasterPos4d');
- RasterPos4dv := GetAddress('RasterPos4dv');
- RasterPos4f := GetAddress('RasterPos4f');
- RasterPos4fv := GetAddress('RasterPos4fv');
- RasterPos4i := GetAddress('RasterPos4i');
- RasterPos4iv := GetAddress('RasterPos4iv');
- RasterPos4s := GetAddress('RasterPos4s');
- RasterPos4sv := GetAddress('RasterPos4sv');
- Rectd := GetAddress('Rectd');
- Rectdv := GetAddress('Rectdv');
- Rectf := GetAddress('Rectf');
- Rectfv := GetAddress('Rectfv');
- Recti := GetAddress('Recti');
- Rectiv := GetAddress('Rectiv');
- Rects := GetAddress('Rects');
- Rectsv := GetAddress('Rectsv');
- RenderMode := GetAddress('RenderMode');
- Rotated := GetAddress('Rotated');
- Rotatef := GetAddress('Rotatef');
- Scaled := GetAddress('Scaled');
- Scalef := GetAddress('Scalef');
- SelectBuffer := GetAddress('SelectBuffer');
- ShadeModel := GetAddress('ShadeModel');
- TexCoord1d := GetAddress('TexCoord1d');
- TexCoord1dv := GetAddress('TexCoord1dv');
- TexCoord1f := GetAddress('TexCoord1f');
- TexCoord1fv := GetAddress('TexCoord1fv');
- TexCoord1i := GetAddress('TexCoord1i');
- TexCoord1iv := GetAddress('TexCoord1iv');
- TexCoord1s := GetAddress('TexCoord1s');
- TexCoord1sv := GetAddress('TexCoord1sv');
- TexCoord2d := GetAddress('TexCoord2d');
- TexCoord2dv := GetAddress('TexCoord2dv');
- TexCoord2f := GetAddress('TexCoord2f');
- TexCoord2fv := GetAddress('TexCoord2fv');
- TexCoord2i := GetAddress('TexCoord2i');
- TexCoord2iv := GetAddress('TexCoord2iv');
- TexCoord2s := GetAddress('TexCoord2s');
- TexCoord2sv := GetAddress('TexCoord2sv');
- TexCoord3d := GetAddress('TexCoord3d');
- TexCoord3dv := GetAddress('TexCoord3dv');
- TexCoord3f := GetAddress('TexCoord3f');
- TexCoord3fv := GetAddress('TexCoord3fv');
- TexCoord3i := GetAddress('TexCoord3i');
- TexCoord3iv := GetAddress('TexCoord3iv');
- TexCoord3s := GetAddress('TexCoord3s');
- TexCoord3sv := GetAddress('TexCoord3sv');
- TexCoord4d := GetAddress('TexCoord4d');
- TexCoord4dv := GetAddress('TexCoord4dv');
- TexCoord4f := GetAddress('TexCoord4f');
- TexCoord4fv := GetAddress('TexCoord4fv');
- TexCoord4i := GetAddress('TexCoord4i');
- TexCoord4iv := GetAddress('TexCoord4iv');
- TexCoord4s := GetAddress('TexCoord4s');
- TexCoord4sv := GetAddress('TexCoord4sv');
- TexCoordPointer := GetAddress('TexCoordPointer');
- TexEnvf := GetAddress('TexEnvf');
- TexEnvfv := GetAddress('TexEnvfv');
- TexEnvi := GetAddress('TexEnvi');
- TexEnviv := GetAddress('TexEnviv');
- TexGend := GetAddress('TexGend');
- TexGendv := GetAddress('TexGendv');
- TexGenf := GetAddress('TexGenf');
- TexGenfv := GetAddress('TexGenfv');
- TexGeni := GetAddress('TexGeni');
- TexGeniv := GetAddress('TexGeniv');
- Translated := GetAddress('Translated');
- Translatef := GetAddress('Translatef');
- Vertex2d := GetAddress('Vertex2d');
- Vertex2dv := GetAddress('Vertex2dv');
- Vertex2f := GetAddress('Vertex2f');
- Vertex2fv := GetAddress('Vertex2fv');
- Vertex2i := GetAddress('Vertex2i');
- Vertex2iv := GetAddress('Vertex2iv');
- Vertex2s := GetAddress('Vertex2s');
- Vertex2sv := GetAddress('Vertex2sv');
- Vertex3d := GetAddress('Vertex3d');
- Vertex3dv := GetAddress('Vertex3dv');
- Vertex3f := GetAddress('Vertex3f');
- Vertex3fv := GetAddress('Vertex3fv');
- Vertex3i := GetAddress('Vertex3i');
- Vertex3iv := GetAddress('Vertex3iv');
- Vertex3s := GetAddress('Vertex3s');
- Vertex3sv := GetAddress('Vertex3sv');
- Vertex4d := GetAddress('Vertex4d');
- Vertex4dv := GetAddress('Vertex4dv');
- Vertex4f := GetAddress('Vertex4f');
- Vertex4fv := GetAddress('Vertex4fv');
- Vertex4i := GetAddress('Vertex4i');
- Vertex4iv := GetAddress('Vertex4iv');
- Vertex4s := GetAddress('Vertex4s');
- Vertex4sv := GetAddress('Vertex4sv');
- VertexPointer := GetAddress('VertexPointer');
- BlendColor := GetAddress('BlendColor');
- BlendEquation := GetAddress('BlendEquation');
- DrawRangeElements := GetAddress('DrawRangeElements');
- TexImage3D := GetAddress('TexImage3D');
- TexSubImage3D := GetAddress('TexSubImage3D');
- CopyTexSubImage3D := GetAddress('CopyTexSubImage3D');
- IsRenderbuffer := GetAddress('IsRenderbuffer');
- BindRenderbuffer := GetAddress('BindRenderbuffer');
- DeleteRenderbuffers := GetAddress('DeleteRenderbuffers');
- GenRenderbuffers := GetAddress('GenRenderbuffers');
- RenderbufferStorage := GetAddress('RenderbufferStorage');
- RenderbufferStorageMultisample :=
- GetAddress('RenderbufferStorageMultisample');
- GetRenderbufferParameteriv := GetAddress('GetRenderbufferParameteriv');
- IsFramebuffer := GetAddress('IsFramebuffer');
- BindFramebuffer := GetAddress('BindFramebuffer');
- DeleteFramebuffers := GetAddress('DeleteFramebuffers');
- GenFramebuffers := GetAddress('GenFramebuffers');
- CheckFramebufferStatus := GetAddress('CheckFramebufferStatus');
- FramebufferTexture := GetAddress('FramebufferTexture');
- FramebufferTexture1D := GetAddress('FramebufferTexture1D');
- FramebufferTexture2D := GetAddress('FramebufferTexture2D');
- FramebufferTexture3D := GetAddress('FramebufferTexture3D');
- FramebufferTextureLayer := GetAddress('FramebufferTextureLayer');
- FramebufferTextureFace := GetAddress('FramebufferTextureFace');
- FramebufferRenderbuffer := GetAddress('FramebufferRenderbuffer');
- GetFramebufferAttachmentParameteriv :=
- GetAddress('GetFramebufferAttachmentParameteriv');
- BlitFramebuffer := GetAddress('BlitFramebuffer');
- GenerateMipmap := GetAddress('GenerateMipmap');
- ClearBufferiv := GetAddress('ClearBufferiv');
- ClearBufferuiv := GetAddress('ClearBufferuiv');
- ClearBufferfv := GetAddress('ClearBufferfv');
- ClearBufferfi := GetAddress('ClearBufferfi');
- BlendFuncSeparate := GetAddress('BlendFuncSeparate');
- MultiDrawArrays := GetAddress('MultiDrawArrays');
- MultiDrawElements := GetAddress('MultiDrawElements');
- PointParameterf := GetAddress('PointParameterf');
- PointParameterfv := GetAddress('PointParameterfv');
- PointParameteri := GetAddress('PointParameteri');
- PointParameteriv := GetAddress('PointParameteriv');
- LockArrays := GetAddress('LockArrays');
- UnlockArrays := GetAddress('UnlockArrays');
- BindBuffer := GetAddress('BindBuffer');
- DeleteBuffers := GetAddress('DeleteBuffers');
- GenBuffers := GetAddress('GenBuffers');
- IsBuffer := GetAddress('IsBuffer');
- BufferData := GetAddress('BufferData');
- BufferSubData := GetAddress('BufferSubData');
- GetBufferSubData := GetAddress('GetBufferSubData');
- MapBuffer := GetAddress('MapBuffer');
- UnmapBuffer := GetAddress('UnmapBuffer');
- GetBufferParameteriv := GetAddress('GetBufferParameteriv');
- GetBufferPointerv := GetAddress('GetBufferPointerv');
- MapBufferRange := GetAddress('MapBufferRange');
- FlushMappedBufferRange := GetAddress('FlushMappedBufferRange');
- BindBufferRange := GetAddress('BindBufferRange');
- BindBufferOffset := GetAddress('BindBufferOffset');
- BindBufferBase := GetAddress('BindBufferBase');
- BeginTransformFeedback := GetAddress('BeginTransformFeedback');
- EndTransformFeedback := GetAddress('EndTransformFeedback');
- TransformFeedbackVaryings := GetAddress('TransformFeedbackVaryings');
- GetTransformFeedbackVarying := GetAddress('GetTransformFeedbackVarying');
- TransformFeedbackAttribs := GetAddress('TransformFeedbackAttribs');
- TransformFeedbackVaryingsNV := GetAddressNoSuffixes('TransformFeedbackVaryingsNV');
- TexBuffer := GetAddress('TexBuffer');
- BindVertexArray := GetAddress('BindVertexArray');
- DeleteVertexArrays := GetAddress('DeleteVertexArrays');
- GenVertexArrays := GetAddress('GenVertexArrays');
- IsVertexArray := GetAddress('IsVertexArray');
- FlushVertexArrayRangeNV := GetAddressNoSuffixes('FlushVertexArrayRangeNV');
- VertexArrayRangeNV := GetAddressNoSuffixes('VertexArrayRangeNV');
- CopyBufferSubData := GetAddress('CopyBufferSubData');
- UniformBuffer := GetAddress('UniformBuffer');
- GetUniformBufferSize := GetAddress('GetUniformBufferSize');
- GetUniformOffset := GetAddress('GetUniformOffset');
- PrimitiveRestartIndex := GetAddress('PrimitiveRestartIndex');
- DrawElementsBaseVertex := GetAddress('DrawElementsBaseVertex');
- DrawRangeElementsBaseVertex := GetAddress('DrawRangeElementsBaseVertex');
- DrawElementsInstancedBaseVertex :=
- GetAddress('DrawElementsInstancedBaseVertex');
- MultiDrawElementsBaseVertex := GetAddress('MultiDrawElementsBaseVertex');
- DrawArraysInstanced := GetAddress('DrawArraysInstanced');
- DrawElementsInstanced := GetAddress('DrawElementsInstanced');
- VertexAttrib1d := GetAddress('VertexAttrib1d');
- VertexAttrib1dv := GetAddress('VertexAttrib1dv');
- VertexAttrib1f := GetAddress('VertexAttrib1f');
- VertexAttrib1fv := GetAddress('VertexAttrib1fv');
- VertexAttrib1s := GetAddress('VertexAttrib1s');
- VertexAttrib1sv := GetAddress('VertexAttrib1sv');
- VertexAttrib2d := GetAddress('VertexAttrib2d');
- VertexAttrib2dv := GetAddress('VertexAttrib2dv');
- VertexAttrib2f := GetAddress('VertexAttrib2f');
- VertexAttrib2fv := GetAddress('VertexAttrib2fv');
- VertexAttrib2s := GetAddress('VertexAttrib2s');
- VertexAttrib2sv := GetAddress('VertexAttrib2sv');
- VertexAttrib3d := GetAddress('VertexAttrib3d');
- VertexAttrib3dv := GetAddress('VertexAttrib3dv');
- VertexAttrib3f := GetAddress('VertexAttrib3f');
- VertexAttrib3fv := GetAddress('VertexAttrib3fv');
- VertexAttrib3s := GetAddress('VertexAttrib3s');
- VertexAttrib3sv := GetAddress('VertexAttrib3sv');
- VertexAttrib4Nbv := GetAddress('VertexAttrib4Nbv');
- VertexAttrib4Niv := GetAddress('VertexAttrib4Niv');
- VertexAttrib4Nsv := GetAddress('VertexAttrib4Nsv');
- VertexAttrib4Nub := GetAddress('VertexAttrib4Nub');
- VertexAttrib4Nubv := GetAddress('VertexAttrib4Nubv');
- VertexAttrib4Nuiv := GetAddress('VertexAttrib4Nuiv');
- VertexAttrib4Nusv := GetAddress('VertexAttrib4Nusv');
- VertexAttrib4bv := GetAddress('VertexAttrib4bv');
- VertexAttrib4d := GetAddress('VertexAttrib4d');
- VertexAttrib4dv := GetAddress('VertexAttrib4dv');
- VertexAttrib4f := GetAddress('VertexAttrib4f');
- VertexAttrib4fv := GetAddress('VertexAttrib4fv');
- VertexAttrib4iv := GetAddress('VertexAttrib4iv');
- VertexAttrib4s := GetAddress('VertexAttrib4s');
- VertexAttrib4sv := GetAddress('VertexAttrib4sv');
- VertexAttrib4ubv := GetAddress('VertexAttrib4ubv');
- VertexAttrib4uiv := GetAddress('VertexAttrib4uiv');
- VertexAttrib4usv := GetAddress('VertexAttrib4usv');
- VertexAttribPointer := GetAddress('VertexAttribPointer');
- VertexAttribI1i := GetAddress('VertexAttribI1i');
- VertexAttribI2i := GetAddress('VertexAttribI2i');
- VertexAttribI3i := GetAddress('VertexAttribI3i');
- VertexAttribI4i := GetAddress('VertexAttribI4i');
- VertexAttribI1ui := GetAddress('VertexAttribI1ui');
- VertexAttribI2ui := GetAddress('VertexAttribI2ui');
- VertexAttribI3ui := GetAddress('VertexAttribI3ui');
- VertexAttribI4ui := GetAddress('VertexAttribI4ui');
- VertexAttribI1iv := GetAddress('VertexAttribI1iv');
- VertexAttribI2iv := GetAddress('VertexAttribI2iv');
- VertexAttribI3iv := GetAddress('VertexAttribI3iv');
- VertexAttribI4iv := GetAddress('VertexAttribI4iv');
- VertexAttribI1uiv := GetAddress('VertexAttribI1uiv');
- VertexAttribI2uiv := GetAddress('VertexAttribI2uiv');
- VertexAttribI3uiv := GetAddress('VertexAttribI3uiv');
- VertexAttribI4uiv := GetAddress('VertexAttribI4uiv');
- VertexAttribI4bv := GetAddress('VertexAttribI4bv');
- VertexAttribI4sv := GetAddress('VertexAttribI4sv');
- VertexAttribI4ubv := GetAddress('VertexAttribI4ubv');
- VertexAttribI4usv := GetAddress('VertexAttribI4usv');
- VertexAttribIPointer := GetAddress('VertexAttribIPointer');
- GetVertexAttribIiv := GetAddress('GetVertexAttribIiv');
- GetVertexAttribIuiv := GetAddress('GetVertexAttribIuiv');
- EnableVertexAttribArray := GetAddress('EnableVertexAttribArray');
- DisableVertexAttribArray := GetAddress('DisableVertexAttribArray');
- VertexAttribDivisor := GetAddress('VertexAttribDivisor');
- GenQueries := GetAddress('GenQueries');
- DeleteQueries := GetAddress('DeleteQueries');
- IsQuery := GetAddress('IsQuery');
- BeginQuery := GetAddress('BeginQuery');
- EndQuery := GetAddress('EndQuery');
- GetQueryiv := GetAddress('GetQueryiv');
- GetQueryObjectiv := GetAddress('GetQueryObjectiv');
- GetQueryObjectuiv := GetAddress('GetQueryObjectuiv');
- QueryCounter := GetAddress('QueryCounter');
- GetQueryObjecti64v := GetAddress('GetQueryObjecti64v');
- GetQueryObjectui64v := GetAddress('GetQueryObjectui64v');
- DeleteObject := GetAddress('DeleteObject');
- GetHandle := GetAddress('GetHandle');
- DetachShader := GetAddressAlt('DetachShader', 'DetachObject');
- CreateShader := GetAddressAlt('CreateShader', 'CreateShaderObject');
- ShaderSource := GetAddress('ShaderSource');
- CompileShader := GetAddress('CompileShader');
- CreateProgram := GetAddressAlt('CreateProgram', 'CreateProgramObject');
- AttachShader := GetAddressAlt('AttachShader', 'AttachObject');
- LinkProgram := GetAddress('LinkProgram');
- UseProgram := GetAddressAlt('UseProgram', 'UseProgramObject');
- ValidateProgram := GetAddress('ValidateProgram');
- Uniform1f := GetAddress('Uniform1f');
- Uniform2f := GetAddress('Uniform2f');
- Uniform3f := GetAddress('Uniform3f');
- Uniform4f := GetAddress('Uniform4f');
- Uniform1i := GetAddress('Uniform1i');
- Uniform2i := GetAddress('Uniform2i');
- Uniform3i := GetAddress('Uniform3i');
- Uniform4i := GetAddress('Uniform4i');
- Uniform1fv := GetAddress('Uniform1fv');
- Uniform2fv := GetAddress('Uniform2fv');
- Uniform3fv := GetAddress('Uniform3fv');
- Uniform4fv := GetAddress('Uniform4fv');
- Uniform1iv := GetAddress('Uniform1iv');
- Uniform2iv := GetAddress('Uniform2iv');
- Uniform3iv := GetAddress('Uniform3iv');
- Uniform4iv := GetAddress('Uniform4iv');
- Uniform1ui := GetAddress('Uniform1ui');
- Uniform2ui := GetAddress('Uniform2ui');
- Uniform3ui := GetAddress('Uniform3ui');
- Uniform4ui := GetAddress('Uniform4ui');
- Uniform1uiv := GetAddress('Uniform1uiv');
- Uniform2uiv := GetAddress('Uniform2uiv');
- Uniform3uiv := GetAddress('Uniform3uiv');
- Uniform4uiv := GetAddress('Uniform4uiv');
- GetUniformuiv := GetAddress('GetUniformuiv');
- UniformMatrix2fv := GetAddress('UniformMatrix2fv');
- UniformMatrix3fv := GetAddress('UniformMatrix3fv');
- UniformMatrix4fv := GetAddress('UniformMatrix4fv');
- BindFragDataLocation := GetAddress('BindFragDataLocation');
- GetFragDataLocation := GetAddress('GetFragDataLocation');
- ClampColor := GetAddress('ClampColor');
- ColorMaski := GetAddress('ColorMaski');
- GetBooleani_v := GetAddress('GetBooleani_v');
- GetIntegeri_v := GetAddress('GetIntegeri_v');
- Enablei := GetAddress('Enablei');
- Disablei := GetAddress('Disablei');
- IsEnabledi := GetAddress('IsEnabledi');
- BindFragDataLocationIndexed := GetAddress('BindFragDataLocationIndexed');
- GetFragDataIndex := GetAddress('GetFragDataIndex');
- GetObjectParameterfv := GetAddress('GetObjectParameterfv');
- GetObjectParameteriv := GetAddress('GetObjectParameteriv');
- GetAttachedObjects := GetAddress('GetAttachedObjects');
- GetActiveAttrib := GetAddress('GetActiveAttrib');
- GetActiveUniform := GetAddress('GetActiveUniform');
- GetAttachedShaders := GetAddress('GetAttachedShaders');
- GetAttribLocation := GetAddress('GetAttribLocation');
- GetProgramiv := GetAddressAlt('GetProgramiv', 'GetObjectParameteriv');
- GetProgramInfoLog := GetAddress('GetProgramInfoLog');
- GetShaderiv := GetAddressAlt('GetShaderiv', 'GetObjectParameteriv');
- GetInfoLog := GetAddress('GetInfoLog');
- GetShaderInfoLog := GetAddress('GetShaderInfoLog');
- GetShaderSource := GetAddress('GetShaderSource');
- GetUniformLocation := GetAddress('GetUniformLocation');
- GetUniformfv := GetAddress('GetUniformfv');
- GetUniformiv := GetAddress('GetUniformiv');
- GetVertexAttribdv := GetAddress('GetVertexAttribdv');
- GetVertexAttribfv := GetAddress('GetVertexAttribfv');
- GetVertexAttribiv := GetAddress('GetVertexAttribiv');
- GetVertexAttribPointerv := GetAddress('GetVertexAttribPointerv');
- IsProgram := GetAddress('IsProgram');
- IsShader := GetAddress('IsShader');
- GetUniformLocation := GetAddress('GetUniformLocation');
- BindAttribLocation := GetAddress('BindAttribLocation');
- GetVaryingLocation := GetAddress('GetVaryingLocation');
- GetActiveVarying := GetAddress('GetActiveVarying');
- ActiveVarying := GetAddress('ActiveVarying');
- GetUniformIndices := GetAddress('GetUniformIndices');
- GetActiveUniformsiv := GetAddress('GetActiveUniformsiv');
- GetActiveUniformName := GetAddress('GetActiveUniformName');
- GetUniformBlockIndex := GetAddress('GetUniformBlockIndex');
- GetActiveUniformBlockiv := GetAddress('GetActiveUniformBlockiv');
- GetActiveUniformBlockName := GetAddress('GetActiveUniformBlockName');
- UniformBlockBinding := GetAddress('UniformBlockBinding');
- GetProgramBinary := GetAddress('GetProgramBinary');
- ProgramBinary := GetAddress('ProgramBinary');
- UseProgramStages := GetAddress('UseProgramStages');
- ActiveShaderProgram := GetAddress('ActiveShaderProgram');
- CreateShaderProgramv := GetAddress('CreateShaderProgramv');
- BindProgramPipeline := GetAddress('BindProgramPipeline');
- DeleteProgramPipelines := GetAddress('DeleteProgramPipelines');
- GenProgramPipelines := GetAddress('GenProgramPipelines');
- IsProgramPipeline := GetAddress('IsProgramPipeline');
- GetProgramPipelineiv := GetAddress('GetProgramPipelineiv');
- ProgramUniform1i := GetAddress('ProgramUniform1i');
- ProgramUniform1iv := GetAddress('ProgramUniform1iv');
- ProgramUniform1f := GetAddress('ProgramUniform1f');
- ProgramUniform1fv := GetAddress('ProgramUniform1fv');
- ProgramUniform1d := GetAddress('ProgramUniform1d');
- ProgramUniform1dv := GetAddress('ProgramUniform1dv');
- ProgramUniform1ui := GetAddress('ProgramUniform1ui');
- ProgramUniform1uiv := GetAddress('ProgramUniform1uiv');
- ProgramUniform2i := GetAddress('ProgramUniform2i');
- ProgramUniform2iv := GetAddress('ProgramUniform2iv');
- ProgramUniform2f := GetAddress('ProgramUniform2f');
- ProgramUniform2fv := GetAddress('ProgramUniform2fv');
- ProgramUniform2d := GetAddress('ProgramUniform2d');
- ProgramUniform2dv := GetAddress('ProgramUniform2dv');
- ProgramUniform2ui := GetAddress('ProgramUniform2ui');
- ProgramUniform2uiv := GetAddress('ProgramUniform2uiv');
- ProgramUniform3i := GetAddress('ProgramUniform3i');
- ProgramUniform3iv := GetAddress('ProgramUniform3iv');
- ProgramUniform3f := GetAddress('ProgramUniform3f');
- ProgramUniform3fv := GetAddress('ProgramUniform3fv');
- ProgramUniform3d := GetAddress('ProgramUniform3d');
- ProgramUniform3dv := GetAddress('ProgramUniform3dv');
- ProgramUniform3ui := GetAddress('ProgramUniform3ui');
- ProgramUniform3uiv := GetAddress('ProgramUniform3uiv');
- ProgramUniform4i := GetAddress('ProgramUniform4i');
- ProgramUniform4iv := GetAddress('ProgramUniform4iv');
- ProgramUniform4f := GetAddress('ProgramUniform4f');
- ProgramUniform4fv := GetAddress('ProgramUniform4fv');
- ProgramUniform4d := GetAddress('ProgramUniform4d');
- ProgramUniform4dv := GetAddress('ProgramUniform4dv');
- ProgramUniform4ui := GetAddress('ProgramUniform4ui');
- ProgramUniform4uiv := GetAddress('ProgramUniform4uiv');
- ProgramUniformMatrix2fv := GetAddress('ProgramUniformMatrix2fv');
- ProgramUniformMatrix3fv := GetAddress('ProgramUniformMatrix3fv');
- ProgramUniformMatrix4fv := GetAddress('ProgramUniformMatrix4fv');
- ProgramUniformMatrix2dv := GetAddress('ProgramUniformMatrix2dv');
- ProgramUniformMatrix3dv := GetAddress('ProgramUniformMatrix3dv');
- ProgramUniformMatrix4dv := GetAddress('ProgramUniformMatrix4dv');
- ProgramUniformMatrix2x3fv := GetAddress('ProgramUniformMatrix2x3fv');
- ProgramUniformMatrix3x2fv := GetAddress('ProgramUniformMatrix3x2fv');
- ProgramUniformMatrix2x4fv := GetAddress('ProgramUniformMatrix2x4fv');
- ProgramUniformMatrix4x2fv := GetAddress('ProgramUniformMatrix4x2fv');
- ProgramUniformMatrix3x4fv := GetAddress('ProgramUniformMatrix3x4fv');
- ProgramUniformMatrix4x3fv := GetAddress('ProgramUniformMatrix4x3fv');
- ProgramUniformMatrix2x3dv := GetAddress('ProgramUniformMatrix2x3dv');
- ProgramUniformMatrix3x2dv := GetAddress('ProgramUniformMatrix3x2dv');
- ProgramUniformMatrix2x4dv := GetAddress('ProgramUniformMatrix2x4dv');
- ProgramUniformMatrix4x2dv := GetAddress('ProgramUniformMatrix4x2dv');
- ProgramUniformMatrix3x4dv := GetAddress('ProgramUniformMatrix3x4dv');
- ProgramUniformMatrix4x3dv := GetAddress('ProgramUniformMatrix4x3dv');
- ValidateProgramPipeline := GetAddress('ValidateProgramPipeline');
- GetProgramPipelineInfoLog := GetAddress('GetProgramPipelineInfoLog');
- BlendEquationSeparate := GetAddress('BlendEquationSeparate');
- DrawBuffers := GetAddress('DrawBuffers');
- StencilOpSeparate := GetAddress('StencilOpSeparate');
- StencilFuncSeparate := GetAddress('StencilFuncSeparate');
- StencilMaskSeparate := GetAddress('StencilMaskSeparate');
- ActiveTexture := GetAddress('ActiveTexture');
- CompressedTexImage3D := GetAddress('CompressedTexImage3D');
- CompressedTexImage2D := GetAddress('CompressedTexImage2D');
- CompressedTexImage1D := GetAddress('CompressedTexImage1D');
- CompressedTexSubImage3D := GetAddress('CompressedTexSubImage3D');
- CompressedTexSubImage2D := GetAddress('CompressedTexSubImage2D');
- CompressedTexSubImage1D := GetAddress('CompressedTexSubImage1D');
- GetCompressedTexImage := GetAddress('GetCompressedTexImage');
- ClientActiveTexture := GetAddress('ClientActiveTexture');
- MultiTexCoord1d := GetAddress('MultiTexCoord1d');
- MultiTexCoord1dV := GetAddress('MultiTexCoord1dv');
- MultiTexCoord1f := GetAddress('MultiTexCoord1f');
- MultiTexCoord1fv := GetAddress('MultiTexCoord1fv');
- MultiTexCoord1i := GetAddress('MultiTexCoord1i');
- MultiTexCoord1iv := GetAddress('MultiTexCoord1iv');
- MultiTexCoord1s := GetAddress('MultiTexCoord1s');
- MultiTexCoord1sv := GetAddress('MultiTexCoord1sv');
- MultiTexCoord2d := GetAddress('MultiTexCoord2d');
- MultiTexCoord2dv := GetAddress('MultiTexCoord2dv');
- MultiTexCoord2f := GetAddress('MultiTexCoord2f');
- MultiTexCoord2fv := GetAddress('MultiTexCoord2fv');
- MultiTexCoord2i := GetAddress('MultiTexCoord2i');
- MultiTexCoord2iv := GetAddress('MultiTexCoord2iv');
- MultiTexCoord2s := GetAddress('MultiTexCoord2s');
- MultiTexCoord2sv := GetAddress('MultiTexCoord2sv');
- MultiTexCoord3d := GetAddress('MultiTexCoord3d');
- MultiTexCoord3dv := GetAddress('MultiTexCoord3dv');
- MultiTexCoord3f := GetAddress('MultiTexCoord3f');
- MultiTexCoord3fv := GetAddress('MultiTexCoord3fv');
- MultiTexCoord3i := GetAddress('MultiTexCoord3i');
- MultiTexCoord3iv := GetAddress('MultiTexCoord3iv');
- MultiTexCoord3s := GetAddress('MultiTexCoord3s');
- MultiTexCoord3sv := GetAddress('MultiTexCoord3sv');
- MultiTexCoord4d := GetAddress('MultiTexCoord4d');
- MultiTexCoord4dv := GetAddress('MultiTexCoord4dv');
- MultiTexCoord4f := GetAddress('MultiTexCoord4f');
- MultiTexCoord4fv := GetAddress('MultiTexCoord4fv');
- MultiTexCoord4i := GetAddress('MultiTexCoord4i');
- MultiTexCoord4iv := GetAddress('MultiTexCoord4iv');
- MultiTexCoord4s := GetAddress('MultiTexCoord4s');
- MultiTexCoord4sv := GetAddress('MultiTexCoord4sv');
- GetInteger64i_v := GetAddress('GetInteger64i_v');
- GetBufferParameteri64v := GetAddress('GetBufferParameteri64v');
- ProgramParameteri := GetAddress('ProgramParameteri');
- ProgramString := GetAddress('ProgramString');
- BindProgram := GetAddress('BindProgram');
- DeletePrograms := GetAddress('DeletePrograms');
- GenPrograms := GetAddress('GenPrograms');
- ProgramEnvParameter4d := GetAddress('ProgramEnvParameter4d');
- ProgramEnvParameter4dv := GetAddress('ProgramEnvParameter4dv');
- ProgramEnvParameter4f := GetAddress('ProgramEnvParameter4f');
- ProgramEnvParameter4fv := GetAddress('ProgramEnvParameter4fv');
- ProgramLocalParameter4d := GetAddress('ProgramLocalParameter4d');
- ProgramLocalParameter4dv := GetAddress('ProgramLocalParameter4dv');
- ProgramLocalParameter4f := GetAddress('ProgramLocalParameter4f');
- ProgramLocalParameter4fv := GetAddress('ProgramLocalParameter4fv');
- GetProgramEnvParameterdv := GetAddress('GetProgramEnvParameterdv');
- GetProgramEnvParameterfv := GetAddress('GetProgramEnvParameterfv');
- GetProgramLocalParameterdv := GetAddress('GetProgramLocalParameterdv');
- GetProgramLocalParameterfv := GetAddress('GetProgramLocalParameterfv');
- ClearColorIi := GetAddress('ClearColorIi');
- ClearColorIui := GetAddress('ClearColorIui');
- TexParameterIiv := GetAddress('TexParameterIiv');
- TexParameterIuiv := GetAddress('TexParameterIuiv');
- GetTexParameterIiv := GetAddress('GetTexParameterIiv');
- GetTexParameterIuiv := GetAddress('GetTexParameterIuiv');
- PatchParameteri := GetAddress('PatchParameteri');
- PatchParameterfv := GetAddress('PatchParameterfv');
- BufferAddressRangeNV := GetAddressNoSuffixes('BufferAddressRangeNV');
- VertexFormatNV := GetAddressNoSuffixes('VertexFormatNV');
- NormalFormatNV := GetAddressNoSuffixes('NormalFormatNV');
- ColorFormatNV := GetAddressNoSuffixes('ColorFormatNV');
- IndexFormatNV := GetAddressNoSuffixes('IndexFormatNV');
- TexCoordFormatNV := GetAddressNoSuffixes('TexCoordFormatNV');
- EdgeFlagFormatNV := GetAddressNoSuffixes('EdgeFlagFormatNV');
- SecondaryColorFormatNV := GetAddressNoSuffixes('SecondaryColorFormatNV');
- FogCoordFormatNV := GetAddressNoSuffixes('FogCoordFormatNV');
- VertexAttribFormatNV := GetAddressNoSuffixes('VertexAttribFormatNV');
- VertexAttribIFormatNV := GetAddressNoSuffixes('VertexAttribIFormatNV');
- GetIntegerui64i_vNV := GetAddressNoSuffixes('GetIntegerui64i_vNV');
- GetBufferParameterui64vNV := GetAddressNoSuffixes('GetBufferParameterui64vNV');
- MakeBufferResidentNV := GetAddressNoSuffixes('MakeBufferResidentNV');
- MakeBufferNonResidentNV := GetAddressNoSuffixes('MakeBufferNonResidentNV');
- IsBufferResidentNV := GetAddressNoSuffixes('IsBufferResidentNV');
- MakeNamedBufferResidentNV := GetAddressNoSuffixes('MakeNamedBufferResidentNV');
- MakeNamedBufferNonResidentNV := GetAddressNoSuffixes('MakeNamedBufferNonResidentNV');
- IsNamedBufferResidentNV := GetAddressNoSuffixes('IsNamedBufferResidentNV');
- GetNamedBufferParameterui64vNV := GetAddressNoSuffixes('GetNamedBufferParameterui64vNV');
- GetIntegerui64vNV := GetAddressNoSuffixes('GetIntegerui64vNV');
- Uniformui64NV := GetAddressNoSuffixes('Uniformui64NV');
- Uniformui64vNV := GetAddressNoSuffixes('Uniformui64vNV');
- GetUniformui64vNV := GetAddressNoSuffixes('GetUniformui64vNV');
- ProgramUniformui64NV := GetAddressNoSuffixes('ProgramUniformui64NV');
- ProgramUniformui64vNV := GetAddressNoSuffixes('ProgramUniformui64vNV');
- TexImage2DMultisample := GetAddress('TexImage2DMultisample');
- TexImage3DMultisample := GetAddress('TexImage3DMultisample');
- GetMultisamplefv := GetAddress('GetMultisamplefv');
- SampleMaski := GetAddress('SampleMaski');
- ProvokingVertex := GetAddress('ProvokingVertex');
- FenceSync := GetAddress('FenceSync');
- IsSync := GetAddress('IsSync');
- DeleteSync := GetAddress('DeleteSync');
- ClientWaitSync := GetAddress('ClientWaitSync');
- WaitSync := GetAddress('WaitSync');
- GetInteger64v := GetAddress('GetInteger64v');
- GetSynciv := GetAddress('GetSynciv');
- BlendEquationi := GetAddress('BlendEquationi');
- BlendEquationSeparatei := GetAddress('BlendEquationSeparatei');
- BlendFunci := GetAddress('BlendFunci');
- BlendFuncSeparatei := GetAddress('BlendFuncSeparatei');
- MinSampleShading := GetAddress('MinSampleShading');
- GenSamplers := GetAddress('GenSamplers');
- DeleteSamplers := GetAddress('DeleteSamplers');
- IsSampler := GetAddress('IsSampler');
- BindSampler := GetAddress('BindSampler');
- SamplerParameteri := GetAddress('SamplerParameteri');
- SamplerParameteriv := GetAddress('SamplerParameteriv');
- SamplerParameterf := GetAddress('SamplerParameterf');
- SamplerParameterfv := GetAddress('SamplerParameterfv');
- SamplerParameterIiv := GetAddress('SamplerParameterIiv');
- SamplerParameterIuiv := GetAddress('SamplerParameterIuiv');
- GetSamplerParameteriv := GetAddress('GetSamplerParameteriv');
- GetSamplerParameterIiv := GetAddress('GetSamplerParameterIiv');
- GetSamplerParameterfv := GetAddress('GetSamplerParameterfv');
- GetSamplerParameterIfv := GetAddress('GetSamplerParameterIfv');
- ClientAttribDefault := GetAddress('ClientAttribDefault');
- PushClientAttribDefault := GetAddress('PushClientAttribDefault');
- MatrixLoadf := GetAddress('MatrixLoadf');
- MatrixLoadd := GetAddress('MatrixLoadd');
- MatrixMultf := GetAddress('MatrixMultf');
- MatrixMultd := GetAddress('MatrixMultd');
- MatrixLoadIdentity := GetAddress('MatrixLoadIdentity');
- MatrixRotatef := GetAddress('MatrixRotatef');
- MatrixRotated := GetAddress('MatrixRotated');
- MatrixScalef := GetAddress('MatrixScalef');
- MatrixScaled := GetAddress('MatrixScaled');
- MatrixTranslatef := GetAddress('MatrixTranslatef');
- MatrixTranslated := GetAddress('MatrixTranslated');
- MatrixFrustum := GetAddress('MatrixFrustum');
- MatrixOrtho := GetAddress('MatrixOrtho');
- MatrixPop := GetAddress('MatrixPop');
- MatrixPush := GetAddress('MatrixPush');
- MatrixLoadTransposef := GetAddress('MatrixLoadTransposef');
- MatrixLoadTransposed := GetAddress('MatrixLoadTransposed');
- MatrixMultTransposef := GetAddress('MatrixMultTransposef');
- MatrixMultTransposed := GetAddress('MatrixMultTransposed');
- TextureParameterfv := GetAddress('TextureParameterfv');
- TextureParameteri := GetAddress('TextureParameteri');
- TextureParameteriv := GetAddress('TextureParameteriv');
- TextureImage1D := GetAddress('TextureImage1D');
- TextureImage2D := GetAddress('TextureImage2D');
- TextureSubImage1D := GetAddress('TextureSubImage1D');
- TextureSubImage2D := GetAddress('TextureSubImage2D');
- CopyTextureImage1D := GetAddress('CopyTextureImage1D');
- CopyTextureImage2D := GetAddress('CopyTextureImage2D');
- CopyTextureSubImage1D := GetAddress('CopyTextureSubImage1D');
- CopyTextureSubImage2D := GetAddress('CopyTextureSubImage2D');
- GetTextureImage := GetAddress('GetTextureImage');
- GetTextureParameterfv := GetAddress('GetTextureParameterfv');
- GetTextureParameteriv := GetAddress('GetTextureParameteriv');
- GetTextureLevelParameterfv := GetAddress('GetTextureLevelParameterfv');
- GetTextureLevelParameteriv := GetAddress('GetTextureLevelParameteriv');
- TextureImage3D := GetAddress('TextureImage3D');
- TextureSubImage3D := GetAddress('TextureSubImage3D');
- CopyTextureSubImage3D := GetAddress('CopyTextureSubImage3D');
- MultiTexParameterf := GetAddress('MultiTexParameterf');
- MultiTexParameterfv := GetAddress('MultiTexParameterfv');
- MultiTexParameteri := GetAddress('MultiTexParameteri');
- MultiTexParameteriv := GetAddress('MultiTexParameteriv');
- MultiTexImage1D := GetAddress('MultiTexImage1D');
- MultiTexImage2D := GetAddress('MultiTexImage2D');
- MultiTexSubImage1D := GetAddress('MultiTexSubImage1D');
- MultiTexSubImage2D := GetAddress('MultiTexSubImage2D');
- CopyMultiTexImage1D := GetAddress('CopyMultiTexImage1D');
- CopyMultiTexImage2D := GetAddress('CopyMultiTexImage2D');
- CopyMultiTexSubImage1D := GetAddress('CopyMultiTexSubImage1D');
- CopyMultiTexSubImage2D := GetAddress('CopyMultiTexSubImage2D');
- GetMultiTexImage := GetAddress('GetMultiTexImage');
- GetMultiTexParameterfv := GetAddress('GetMultiTexParameterfv');
- GetMultiTexParameteriv := GetAddress('GetMultiTexParameteriv');
- GetMultiTexLevelParameterfv := GetAddress('GetMultiTexLevelParameterfv');
- GetMultiTexLevelParameteriv := GetAddress('GetMultiTexLevelParameteriv');
- MultiTexImage3D := GetAddress('MultiTexImage3D');
- MultiTexSubImage3D := GetAddress('MultiTexSubImage3D');
- CopyMultiTexSubImage3D := GetAddress('CopyMultiTexSubImage3D');
- BindMultiTexture := GetAddress('BindMultiTexture');
- EnableClientStateIndexed := GetAddress('EnableClientStateIndexed');
- DisableClientStateIndexed := GetAddress('DisableClientStateIndexed');
- MultiTexCoordPointer := GetAddress('MultiTexCoordPointer');
- MultiTexEnvf := GetAddress('MultiTexEnvf');
- MultiTexEnvfv := GetAddress('MultiTexEnvfv');
- MultiTexEnvi := GetAddress('MultiTexEnvi');
- MultiTexEnviv := GetAddress('MultiTexEnviv');
- MultiTexGend := GetAddress('MultiTexGend');
- MultiTexGendv := GetAddress('MultiTexGendv');
- MultiTexGenf := GetAddress('MultiTexGenf');
- MultiTexGenfv := GetAddress('MultiTexGenfv');
- MultiTexGeni := GetAddress('MultiTexGeni');
- MultiTexGeniv := GetAddress('MultiTexGeniv');
- GetMultiTexEnvfv := GetAddress('GetMultiTexEnvfv');
- GetMultiTexEnviv := GetAddress('GetMultiTexEnviv');
- GetMultiTexGendv := GetAddress('GetMultiTexGendv');
- GetMultiTexGenfv := GetAddress('GetMultiTexGenfv');
- GetMultiTexGeniv := GetAddress('GetMultiTexGeniv');
- GetFloatIndexedv := GetAddress('GetFloatIndexedv');
- GetDoubleIndexedv := GetAddress('GetDoubleIndexedv');
- GetPointerIndexedv := GetAddress('GetPointerIndexedv');
- CompressedTextureImage3D := GetAddress('CompressedTextureImage3D');
- CompressedTextureImage2D := GetAddress('CompressedTextureImage2D');
- CompressedTextureImage1D := GetAddress('CompressedTextureImage1D');
- CompressedTextureSubImage3D := GetAddress('CompressedTextureSubImage3D');
- CompressedTextureSubImage2D := GetAddress('CompressedTextureSubImage2D');
- CompressedTextureSubImage1D := GetAddress('CompressedTextureSubImage1D');
- GetCompressedTextureImage := GetAddress('GetCompressedTextureImage');
- CompressedMultiTexImage3D := GetAddress('CompressedMultiTexImage3D');
- CompressedMultiTexImage2D := GetAddress('CompressedMultiTexImage2D');
- CompressedMultiTexImage1D := GetAddress('CompressedMultiTexImage1D');
- CompressedMultiTexSubImage3D := GetAddress('CompressedMultiTexSubImage3D');
- CompressedMultiTexSubImage2D := GetAddress('CompressedMultiTexSubImage2D');
- CompressedMultiTexSubImage1D := GetAddress('CompressedMultiTexSubImage1D');
- GetCompressedMultiTexImage := GetAddress('GetCompressedMultiTexImage');
- NamedProgramString := GetAddress('NamedProgramString');
- NamedProgramLocalParameter4d := GetAddress('NamedProgramLocalParameter4d');
- NamedProgramLocalParameter4dv := GetAddress('NamedProgramLocalParameter4dv');
- NamedProgramLocalParameter4f := GetAddress('NamedProgramLocalParameter4f');
- NamedProgramLocalParameter4fv := GetAddress('NamedProgramLocalParameter4fv');
- GetNamedProgramLocalParameterdv := GetAddress('GetNamedProgramLocalParameterdv');
- GetNamedProgramLocalParameterfv := GetAddress('GetNamedProgramLocalParameterfv');
- GetNamedProgramiv := GetAddress('GetNamedProgramiv');
- GetNamedProgramString := GetAddress('GetNamedProgramString');
- NamedProgramLocalParameters4fv := GetAddress('NamedProgramLocalParameters4fv');
- NamedProgramLocalParameterI4i := GetAddress('NamedProgramLocalParameterI4i');
- NamedProgramLocalParameterI4iv := GetAddress('NamedProgramLocalParameterI4iv');
- NamedProgramLocalParametersI4iv := GetAddress('NamedProgramLocalParametersI4iv');
- NamedProgramLocalParameterI4ui := GetAddress('NamedProgramLocalParameterI4ui');
- NamedProgramLocalParameterI4uiv := GetAddress('NamedProgramLocalParameterI4uiv');
- NamedProgramLocalParametersI4uiv := GetAddress('NamedProgramLocalParametersI4uiv');
- GetNamedProgramLocalParameterIiv := GetAddress('GetNamedProgramLocalParameterIiv');
- GetNamedProgramLocalParameterIuiv := GetAddress('GetNamedProgramLocalParameterIuiv');
- TextureParameterIiv := GetAddress('TextureParameterIiv');
- TextureParameterIuiv := GetAddress('TextureParameterIuiv');
- GetTextureParameterIiv := GetAddress('GetTextureParameterIiv');
- GetTextureParameterIuiv := GetAddress('GetTextureParameterIuiv');
- MultiTexParameterIiv := GetAddress('MultiTexParameterIiv');
- MultiTexParameterIuiv := GetAddress('MultiTexParameterIuiv');
- GetMultiTexParameterIiv := GetAddress('GetMultiTexParameterIiv');
- GetMultiTexParameterIuiv := GetAddress('GetMultiTexParameterIuiv');
- NamedBufferData := GetAddress('NamedBufferData');
- NamedBufferSubData := GetAddress('NamedBufferSubData');
- MapNamedBuffer := GetAddress('MapNamedBuffer');
- UnmapNamedBuffer := GetAddress('UnmapNamedBuffer');
- MapNamedBufferRange := GetAddress('MapNamedBufferRange');
- FlushMappedNamedBufferRange := GetAddress('FlushMappedNamedBufferRange');
- NamedCopyBufferSubData := GetAddress('NamedCopyBufferSubData');
- GetNamedBufferParameteriv := GetAddress('GetNamedBufferParameteriv');
- GetNamedBufferPointerv := GetAddress('GetNamedBufferPointerv');
- GetNamedBufferSubData := GetAddress('GetNamedBufferSubData');
- TextureBuffer := GetAddress('TextureBuffer');
- MultiTexBuffer := GetAddress('MultiTexBuffer');
- NamedRenderbufferStorage := GetAddress('NamedRenderbufferStorage');
- GetNamedRenderbufferParameteriv :=
- GetAddress('GetNamedRenderbufferParameteriv');
- CheckNamedFramebufferStatus := GetAddress('CheckNamedFramebufferStatus');
- NamedFramebufferTexture1D := GetAddress('NamedFramebufferTexture1D');
- NamedFramebufferTexture2D := GetAddress('NamedFramebufferTexture2D');
- NamedFramebufferTexture3D := GetAddress('NamedFramebufferTexture3D');
- NamedFramebufferRenderbuffer := GetAddress('NamedFramebufferRenderbuffer');
- GetNamedFramebufferAttachmentParameteriv := GetAddress('GetNamedFramebufferAttachmentParameteriv');
- GenerateTextureMipmap := GetAddress('GenerateTextureMipmap');
- GenerateMultiTexMipmap := GetAddress('GenerateMultiTexMipmap');
- FramebufferDrawBuffer := GetAddress('FramebufferDrawBuffer');
- FramebufferDrawBuffers := GetAddress('FramebufferDrawBuffers');
- FramebufferReadBuffer := GetAddress('FramebufferReadBuffer');
- GetFramebufferParameteriv := GetAddress('GetFramebufferParameteriv');
- NamedRenderbufferStorageMultisample := GetAddress('NamedRenderbufferStorageMultisample');
- NamedRenderbufferStorageMultisampleCoverage := GetAddress('NamedRenderbufferStorageMultisampleCoverage');
- NamedFramebufferTexture := GetAddress('NamedFramebufferTexture');
- NamedFramebufferTextureLayer := GetAddress('NamedFramebufferTextureLayer');
- NamedFramebufferTextureFace := GetAddress('NamedFramebufferTextureFace');
- TextureRenderbuffer := GetAddress('TextureRenderbuffer');
- MultiTexRenderbuffer := GetAddress('MultiTexRenderbuffer');
- FrameTerminatorGREMEDY := GetAddress('FrameTerminatorGREMEDY');
- StringMarkerGREMEDY := GetAddress('StringMarkerGREMEDY');
- DebugMessageEnableAMDX := GetAddressNoSuffixes('DebugMessageEnableAMDX');
- DebugMessageCallbackAMDX := GetAddressNoSuffixes('DebugMessageCallbackAMDX');
- DebugMessageControl := GetAddress('DebugMessageControl');
- DebugMessageInsert := GetAddress('DebugMessageInsert');
- DebugMessageCallback := GetAddress('DebugMessageCallback');
- GetDebugMessageLog := GetAddress('GetDebugMessageLog');
- PushDebugGroup := GetAddress('PushDebugGroup');
- PopDebugGroup := GetAddress('PopDebugGroup');
- ObjectLabel := GetAddress('ObjectLabel');
- GetObjectLabel := GetAddress('GetObjectLabel');
- ObjectPtrLabel := GetAddress('ObjectPtrLabel');
- GetObjectPtrLabel := GetAddress('GetObjectPtrLabel');
- ClearBufferData := GetAddress('ClearBufferData');
- ClearBufferSubData := GetAddress('ClearBufferSubData');
- ClearNamedBufferData := GetAddress('ClearNamedBufferData');
- ClearNamedBufferSubData := GetAddress('ClearNamedBufferSubData');
- DispatchCompute := GetAddress('DispatchCompute');
- DispatchComputeIndirect := GetAddress('DispatchComputeIndirect');
- CopyImageSubData := GetAddress('CopyImageSubData');
- FramebufferParameteri := GetAddress('FramebufferParameteri');
- NamedFramebufferParameteri := GetAddress('NamedFramebufferParameteri');
- GetNamedFramebufferParameteriv := GetAddress('GetNamedFramebufferParameteriv');
- GetInternalformati64v := GetAddress('GetInternalformati64v');
- InvalidateTexSubImage := GetAddress('InvalidateTexSubImage');
- InvalidateTexImage := GetAddress('InvalidateTexImage');
- InvalidateBufferSubData := GetAddress('InvalidateBufferSubData');
- InvalidateBufferData := GetAddress('InvalidateBufferData');
- InvalidateFramebuffer := GetAddress('InvalidateFramebuffer');
- InvalidateSubFramebuffer := GetAddress('InvalidateSubFramebuffer');
- MultiDrawArraysIndirect := GetAddress('MultiDrawArraysIndirect');
- MultiDrawElementsIndirect := GetAddress('MultiDrawElementsIndirect');
- GetProgramInterfaceiv := GetAddress('GetProgramInterfaceiv');
- GetProgramResourceIndex := GetAddress('GetProgramResourceIndex');
- GetProgramResourceName := GetAddress('GetProgramResourceName');
- GetProgramResourceiv := GetAddress('GetProgramResourceiv');
- GetProgramResourceLocation := GetAddress('GetProgramResourceLocation');
- GetProgramResourceLocationIndex := GetAddress('GetProgramResourceLocationIndex');
- ShaderStorageBlockBinding := GetAddress('ShaderStorageBlockBinding');
- TexBufferRange := GetAddress('TexBufferRange');
- TextureBufferRange := GetAddress('TextureBufferRange');
- TexStorage2DMultisample := GetAddress('TexStorage2DMultisample');
- TexStorage3DMultisample := GetAddress('TexStorage3DMultisample');
- TextureStorage2DMultisample := GetAddress('TextureStorage2DMultisample');
- TextureStorage3DMultisample := GetAddress('TextureStorage3DMultisample');
- BufferStorage := GetAddress('BufferStorage');
- ClearTexImage := GetAddress('ClearTexImage');
- ClearTexSubImage := GetAddress('ClearTexSubImage');
- BindBuffersBase := GetAddress('BindBuffersBase');
- BindBuffersRange := GetAddress('BindBuffersRange');
- BindTextures := GetAddress('BindTextures');
- BindSamplers := GetAddress('BindSamplers');
- BindImageTextures := GetAddress('BindImageTextures');
- BindVertexBuffers := GetAddress('BindVertexBuffers');
- TextureView := GetAddress('TextureView');
- BindVertexBuffer := GetAddress('BindVertexBuffer');
- VertexAttribFormat := GetAddress('VertexAttribFormat');
- VertexAttribIFormat := GetAddress('VertexAttribIFormat');
- VertexAttribLFormat := GetAddress('VertexAttribLFormat');
- VertexAttribBinding := GetAddress('VertexAttribBinding');
- VertexBindingDivisor := GetAddress('VertexBindingDivisor');
- VertexArrayBindVertexBuffer := GetAddress('VertexArrayBindVertexBuffer');
- VertexArrayVertexAttribFormat := GetAddress('VertexArrayVertexAttribFormat');
- VertexArrayVertexAttribIFormat := GetAddress('VertexArrayVertexAttribIFormat');
- VertexArrayVertexAttribLFormat := GetAddress('VertexArrayVertexAttribLFormat');
- VertexArrayVertexAttribBinding := GetAddress('VertexArrayVertexAttribBinding');
- VertexArrayVertexBindingDivisor := GetAddress('VertexArrayVertexBindingDivisor');
- CreateSyncFromCLevent := GetAddress('CreateSyncFromCLevent');
- GenPathsNV := GetAddressNoSuffixes('GenPathsNV');
- DeletePathsNV := GetAddressNoSuffixes('DeletePathsNV');
- IsPathNV := GetAddressNoSuffixes('IsPathNV');
- PathCommandsNV := GetAddressNoSuffixes('PathCommandsNV');
- PathCoordsNV := GetAddressNoSuffixes('PathCoordsNV');
- PathSubCommandsNV := GetAddressNoSuffixes('PathSubCommandsNV');
- PathSubCoordsNV := GetAddressNoSuffixes('PathSubCoordsNV');
- PathStringNV := GetAddressNoSuffixes('PathStringNV');
- PathGlyphsNV := GetAddressNoSuffixes('PathGlyphsNV');
- PathGlyphRangeNV := GetAddressNoSuffixes('PathGlyphRangeNV');
- WeightPathsNV := GetAddressNoSuffixes('WeightPathsNV');
- CopyPathNV := GetAddressNoSuffixes('CopyPathNV');
- InterpolatePathsNV := GetAddressNoSuffixes('InterpolatePathsNV');
- PathParameterivNV := GetAddressNoSuffixes('PathParameterivNV');
- PathParameteriNV := GetAddressNoSuffixes('PathParameteriNV');
- PathParameterfvNV := GetAddressNoSuffixes('PathParameterfvNV');
- PathParameterfNV := GetAddressNoSuffixes('PathParameterfNV');
- PathDashArrayNV := GetAddressNoSuffixes('PathDashArrayNV');
- PathStencilFuncNV := GetAddressNoSuffixes('PathStencilFuncNV');
- StencilFillPathNV := GetAddressNoSuffixes('StencilFillPathNV');
- StencilStrokePathNV := GetAddressNoSuffixes('StencilStrokePathNV');
- StencilFillPathInstancedNV := GetAddressNoSuffixes('StencilFillPathInstancedNV');
- StencilStrokePathInstancedNV := GetAddressNoSuffixes('StencilStrokePathInstancedNV');
- PathColorGenNV := GetAddressNoSuffixes('PathColorGenNV');
- PathTexGenNV := GetAddressNoSuffixes('PathTexGenNV');
- PathFogGenNV := GetAddressNoSuffixes('PathFogGenNV');
- CoverFillPathNV := GetAddressNoSuffixes('CoverFillPathNV');
- CoverStrokePathNV := GetAddressNoSuffixes('CoverStrokePathNV');
- CoverFillPathInstancedNV := GetAddressNoSuffixes('CoverFillPathInstancedNV');
- CoverStrokePathInstancedNV := GetAddressNoSuffixes('CoverStrokePathInstancedNV');
- GetPathParameterivNV := GetAddressNoSuffixes('GetPathParameterivNV');
- GetPathParameterfvNV := GetAddressNoSuffixes('GetPathParameterfvNV');
- GetPathCommandsNV := GetAddressNoSuffixes('GetPathCommandsNV');
- GetPathCoordsNV := GetAddressNoSuffixes('GetPathCoordsNV');
- GetPathDashArrayNV := GetAddressNoSuffixes('GetPathDashArrayNV');
- GetPathMetricsNV := GetAddressNoSuffixes('GetPathMetricsNV');
- GetPathMetricRangeNV := GetAddressNoSuffixes('GetPathMetricRangeNV');
- GetPathSpacingNV := GetAddressNoSuffixes('GetPathSpacingNV');
- GetPathColorGenivNV := GetAddressNoSuffixes('GetPathColorGenivNV');
- GetPathColorGenfvNV := GetAddressNoSuffixes('GetPathColorGenfvNV');
- GetPathTexGenivNV := GetAddressNoSuffixes('GetPathTexGenivNV');
- GetPathTexGenfvNV := GetAddressNoSuffixes('GetPathTexGenfvNV');
- IsPointInFillPathNV := GetAddressNoSuffixes('IsPointInFillPathNV');
- IsPointInStrokePathNV := GetAddressNoSuffixes('IsPointInStrokePathNV');
- GetPathLengthNV := GetAddressNoSuffixes('GetPathLengthNV');
- PointAlongPathNV := GetAddressNoSuffixes('PointAlongPathNV');
- PathStencilDepthOffsetNV := GetAddressNoSuffixes('PathStencilDepthOffsetNV');
- PathCoverDepthFuncNV := GetAddressNoSuffixes('PathCoverDepthFuncNV');
- if FDebug then
- if ARB_debug_output then
- begin
- DebugMessageCallback(DebugCallBack, nil);
- DebugMessageControl(GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, 0,
- FDebugIds, True);
- Enable(GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB);
- end
- else if AMDX_debug_output then
- begin
- DebugMessageCallbackAMDX(DebugCallBackAMD, nil);
- DebugMessageEnableAMDX(0, 0, 0, FDebugIds, True);
- end
- else
- FDebug := False;
- SetLength(FBuffer, 0);
- FInitialized := True;
- end;
- procedure TGLExtensionsAndEntryPoints.Close;
- begin
- if FDebug then
- if ARB_debug_output then
- begin
- DebugMessageCallback(nil, nil);
- DebugMessageControl(GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, 0,
- FDebugIds, False);
- end
- else if AMDX_debug_output then
- begin
- DebugMessageCallbackAMDX(nil, nil);
- DebugMessageEnableAMDX(0, 0, 0, FDebugIds, False);
- end;
- VERSION_1_0 := False;
- VERSION_1_1 := False;
- VERSION_1_2 := False;
- VERSION_1_3 := False;
- VERSION_1_4 := False;
- VERSION_1_5 := False;
- VERSION_2_0 := False;
- VERSION_2_1 := False;
- VERSION_3_0 := False;
- VERSION_3_1 := False;
- VERSION_3_2 := False;
- VERSION_3_3 := False;
- VERSION_4_0 := False;
- VERSION_4_1 := False;
- ARB_blend_func_extended := False;
- ARB_color_buffer_float := False;
- ARB_compatibility := False;
- ARB_copy_buffer := False;
- ARB_depth_buffer_float := False;
- ARB_depth_clamp := False;
- ARB_depth_texture := False;
- ARB_draw_buffers := False;
- ARB_draw_buffers_blend := False;
- ARB_draw_elements_base_vertex := False;
- ARB_draw_indirect := False;
- ARB_draw_instanced := False;
- ARB_explicit_attrib_location := False;
- ARB_fragment_coord_conventions := False;
- ARB_fragment_program := False;
- ARB_fragment_program_shadow := False;
- ARB_fragment_shader := False;
- ARB_framebuffer_object := False;
- ARB_framebuffer_sRGB := False;
- ARB_geometry_shader4 := False;
- ARB_gpu_shader_fp64 := False;
- ARB_gpu_shader5 := False;
- ARB_half_float_pixel := False;
- ARB_half_float_vertex := False;
- ARB_imaging := False;
- ARB_instanced_arrays := False;
- ARB_map_buffer_range := False;
- ARB_matrix_palette := False;
- ARB_multisample := False;
- // ' ' to avoid collision with WGL variant
- ARB_multitexture := False;
- ARB_occlusion_query := False;
- ARB_occlusion_query2 := False;
- ARB_pixel_buffer_object := False;
- ARB_point_parameters := False;
- ARB_point_sprite := False;
- ARB_provoking_vertex := False;
- ARB_sample_shading := False;
- ARB_sampler_objects := False;
- ARB_seamless_cube_map := False;
- ARB_shader_bit_encoding := False;
- ARB_shader_objects := False;
- ARB_shader_subroutine := False;
- ARB_shader_texture_lod := False;
- ARB_shading_language_100 := False;
- ARB_shadow := False;
- ARB_shadow_ambient := False;
- ARB_sync := False;
- ARB_tessellation_shader := False;
- ARB_texture_border_clamp := False;
- ARB_texture_buffer_object := False;
- ARB_texture_buffer_object_rgb32 := False;
- ARB_texture_compression := False;
- ARB_texture_compression_rgtc := False;
- ARB_texture_cube_map := False;
- ARB_texture_cube_map_array := False;
- ARB_texture_env_add := False;
- ARB_texture_env_combine := False;
- ARB_texture_env_crossbar := False;
- ARB_texture_env_dot3 := False;
- ARB_texture_float := False;
- ARB_texture_gather := False;
- ARB_texture_mirrored_repeat := False;
- ARB_texture_multisample := False;
- ARB_texture_non_power_of_two := False;
- ARB_texture_query_lod := False;
- ARB_texture_rectangle := False;
- ARB_texture_rg := False;
- ARB_texture_rgb10_a2ui := False;
- ARB_texture_swizzle := False;
- ARB_timer_query := False;
- ARB_transform_feedback2 := False;
- ARB_transform_feedback3 := False;
- ARB_transpose_matrix := False;
- ARB_uniform_buffer_object := False;
- ARB_vertex_array_bgra := False;
- ARB_vertex_array_object := False;
- ARB_vertex_blend := False;
- ARB_vertex_buffer_object := False;
- ARB_vertex_program := False;
- ARB_vertex_shader := False;
- ARB_vertex_type_2_10_10_10_rev := False;
- ARB_window_pos := False;
- ARB_texture_compression_bptc := False;
- ARB_get_program_binary := False;
- ARB_separate_shader_objects := False;
- ARB_shader_stencil_export := False;
- KHR_debug := False;
- ARB_clear_buffer_object := False;
- ARB_compute_shader := False;
- ARB_copy_image := False;
- ARB_debug_group := False;
- ARB_debug_label := False;
- ARB_debug_output2 := False;
- ARB_ES3_compatibility := False;
- ARB_explicit_uniform_location := False;
- ARB_fragment_layer_viewport := False;
- ARB_framebuffer_no_attachments := False;
- ARB_internalformat_query2 := False;
- ARB_invalidate_subdata := False;
- ARB_multi_draw_indirect := False;
- ARB_program_interface_query := False;
- ARB_shader_image_size := False;
- ARB_shader_storage_buffer_object := False;
- ARB_stencil_texturing := False;
- ARB_texture_buffer_range := False;
- ARB_texture_query_levels := False;
- ARB_texture_storage_multisample := False;
- ARB_texture_view := False;
- ARB_vertex_attrib_binding := False;
- ARB_robustness_isolation := False;
- ARB_cl_event := False;
- // check Vendor/EXT OpenGL extensions
- _3DFX_multisample := False;
- _3DFX_tbuffer := False;
- _3DFX_texture_compression_FXT1 := False;
- ATI_draw_buffers := False;
- ATI_texture_compression_3dc := False;
- ATI_texture_float := False;
- ATI_texture_mirror_once := False;
- S3_s3tc := False;
- EXT_abgr := False;
- EXT_bgra := False;
- EXT_bindable_uniform := False;
- EXT_blend_color := False;
- EXT_blend_equation_separate := False;
- EXT_blend_func_separate := False;
- EXT_blend_logic_op := False;
- EXT_blend_minmax := False;
- EXT_blend_subtract := False;
- EXT_Cg_shader := False;
- EXT_clip_volume_hint := False;
- EXT_compiled_vertex_array := False;
- EXT_copy_texture := False;
- EXT_depth_bounds_test := False;
- EXT_draw_buffers2 := False;
- EXT_draw_instanced := False;
- EXT_draw_range_elements := False;
- EXT_fog_coord := False;
- EXT_framebuffer_blit := False;
- EXT_framebuffer_multisample := False;
- EXT_framebuffer_object := False;
- EXT_framebuffer_sRGB := False;
- EXT_geometry_shader4 := False;
- EXT_gpu_program_parameters := False;
- EXT_gpu_shader4 := False;
- EXT_multi_draw_arrays := False;
- EXT_multisample := False;
- EXT_packed_depth_stencil := False;
- EXT_packed_float := False;
- EXT_packed_pixels := False;
- EXT_paletted_texture := False;
- EXT_pixel_buffer_object := False;
- EXT_polygon_offset := False;
- EXT_rescale_normal := False;
- EXT_secondary_color := False;
- EXT_separate_specular_color := False;
- EXT_shadow_funcs := False;
- EXT_shared_texture_palette := False;
- EXT_stencil_clear_tag := False;
- EXT_stencil_two_side := False;
- EXT_stencil_wrap := False;
- EXT_texture3D := False;
- EXT_texture_array := False;
- EXT_texture_buffer_object := False;
- EXT_texture_compression_latc := False;
- EXT_texture_compression_rgtc := False;
- EXT_texture_compression_s3tc := False;
- EXT_texture_cube_map := False;
- EXT_texture_edge_clamp := False;
- EXT_texture_env_add := False;
- EXT_texture_env_combine := False;
- EXT_texture_env_dot3 := False;
- EXT_texture_filter_anisotropic := False;
- EXT_texture_integer := False;
- EXT_texture_lod := False;
- EXT_texture_lod_bias := False;
- EXT_texture_mirror_clamp := False;
- EXT_texture_object := False;
- EXT_texture_rectangle := False;
- EXT_texture_sRGB := False;
- EXT_texture_shared_exponent := False;
- EXT_timer_query := False;
- EXT_transform_feedback := False;
- EXT_vertex_array := False;
- EXT_texture_sRGB_decode := False;
- EXT_direct_state_access := False;
- EXT_texture_swizzle := False;
- HP_occlusion_test := False;
- IBM_rasterpos_clip := False;
- KTX_buffer_region := False;
- MESA_resize_buffers := False;
- NV_blend_square := False;
- NV_conditional_render := False;
- NV_copy_image := False;
- NV_depth_buffer_float := False;
- NV_fence := False;
- NV_float_buffer := False;
- NV_fog_distance := False;
- NV_geometry_program4 := False;
- NV_light_max_exponent := False;
- NV_multisample_filter_hint := False;
- NV_occlusion_query := False;
- NV_point_sprite := False;
- NV_primitive_restart := False;
- NV_register_combiners := False;
- NV_shader_buffer_load := False;
- NV_texgen_reflection := False;
- NV_texture_compression_vtc := False;
- NV_texture_env_combine4 := False;
- NV_texture_rectangle := False;
- NV_texture_shader := False;
- NV_texture_shader2 := False;
- NV_texture_shader3 := False;
- NV_transform_feedback := False;
- NV_vertex_array_range := False;
- NV_vertex_array_range2 := False;
- NV_vertex_buffer_unified_memory := False;
- NV_vertex_program := False;
- SGI_color_matrix := False;
- SGIS_generate_mipmap := False;
- SGIS_multisample := False;
- SGIS_texture_border_clamp := False;
- SGIS_texture_color_mask := False;
- SGIS_texture_edge_clamp := False;
- SGIS_texture_lod := False;
- SGIX_depth_texture := False;
- SGIX_shadow := False;
- SGIX_shadow_ambient := False;
- AMD_vertex_shader_tessellator := False;
- WIN_swap_hint := False;
- ATI_meminfo := False;
- NVX_gpu_memory_info := False;
- NV_vdpau_interop := False;
- NV_path_rendering := False;
- GREMEDY_frame_terminator := False;
- GREMEDY_string_marker := False;
- ARB_debug_output := False;
- BindTexture := GetCapAddress();
- BlendFunc := GetCapAddress();
- Clear := GetCapAddress();
- ClearColor := GetCapAddress();
- ClearDepth := GetCapAddress();
- ClearStencil := GetCapAddress();
- ColorMask := GetCapAddress();
- CopyTexImage1D := GetCapAddress();
- CopyTexImage2D := GetCapAddress();
- CopyTexSubImage1D := GetCapAddress();
- CopyTexSubImage2D := GetCapAddress();
- CullFace := GetCapAddress();
- DeleteTextures := GetCapAddress();
- DepthFunc := GetCapAddress();
- DepthMask := GetCapAddress();
- DepthRange := GetCapAddress();
- Disable := GetCapAddress();
- DrawArrays := GetCapAddress();
- DrawBuffer := GetCapAddress();
- DrawElements := GetCapAddress();
- Enable := GetCapAddress();
- Finish := GetCapAddress();
- Flush := GetCapAddress();
- FrontFace := GetCapAddress();
- GenTextures := GetCapAddress();
- GetBooleanv := GetCapAddress();
- GetDoublev := GetCapAddress();
- GetError := GetCapAddress();
- GetFloatv := GetCapAddress();
- GetPointerv := GetCapAddress();
- GetString := GetCapAddress();
- GetTexImage := GetCapAddress();
- GetTexLevelParameterfv := GetCapAddress();
- GetTexLevelParameteriv := GetCapAddress();
- GetTexParameterfv := GetCapAddress();
- GetTexParameteriv := GetCapAddress();
- Hint := GetCapAddress();
- IsEnabled := GetCapAddress();
- IsTexture := GetCapAddress();
- LineWidth := GetCapAddress();
- LogicOp := GetCapAddress();
- PixelStoref := GetCapAddress();
- PixelStorei := GetCapAddress();
- PointSize := GetCapAddress();
- PolygonMode := GetCapAddress();
- PolygonOffset := GetCapAddress();
- ReadBuffer := GetCapAddress();
- ReadPixels := GetCapAddress();
- Scissor := GetCapAddress();
- StencilFunc := GetCapAddress();
- StencilMask := GetCapAddress();
- StencilOp := GetCapAddress();
- TexImage1D := GetCapAddress();
- TexImage2D := GetCapAddress();
- TexParameterf := GetCapAddress();
- TexParameterfv := GetCapAddress();
- TexParameteri := GetCapAddress();
- TexParameteriv := GetCapAddress();
- TexSubImage1D := GetCapAddress();
- TexSubImage2D := GetCapAddress();
- Viewport := GetCapAddress();
- Accum := GetCapAddress();
- AlphaFunc := GetCapAddress();
- AreTexturesResident := GetCapAddress();
- ArrayElement := GetCapAddress();
- Begin_ := GetCapAddress();
- Bitmap := GetCapAddress();
- CallList := GetCapAddress();
- CallLists := GetCapAddress();
- ClearAccum := GetCapAddress();
- ClearIndex := GetCapAddress();
- ClipPlane := GetCapAddress();
- Color3b := GetCapAddress();
- Color3bv := GetCapAddress();
- Color3d := GetCapAddress();
- Color3dv := GetCapAddress();
- Color3f := GetCapAddress();
- Color3fv := GetCapAddress();
- Color3i := GetCapAddress();
- Color3iv := GetCapAddress();
- Color3s := GetCapAddress();
- Color3sv := GetCapAddress();
- Color3ub := GetCapAddress();
- Color3ubv := GetCapAddress();
- Color3ui := GetCapAddress();
- Color3uiv := GetCapAddress();
- Color3us := GetCapAddress();
- Color3usv := GetCapAddress();
- Color4b := GetCapAddress();
- Color4bv := GetCapAddress();
- Color4d := GetCapAddress();
- Color4dv := GetCapAddress();
- Color4f := GetCapAddress();
- Color4fv := GetCapAddress();
- Color4i := GetCapAddress();
- Color4iv := GetCapAddress();
- Color4s := GetCapAddress();
- Color4sv := GetCapAddress();
- Color4ub := GetCapAddress();
- Color4ubv := GetCapAddress();
- Color4ui := GetCapAddress();
- Color4uiv := GetCapAddress();
- Color4us := GetCapAddress();
- Color4usv := GetCapAddress();
- ColorMaterial := GetCapAddress();
- ColorPointer := GetCapAddress();
- CopyPixels := GetCapAddress();
- DeleteLists := GetCapAddress();
- DisableClientState := GetCapAddress();
- DrawPixels := GetCapAddress();
- EdgeFlag := GetCapAddress();
- EdgeFlagPointer := GetCapAddress();
- EdgeFlagv := GetCapAddress();
- EnableClientState := GetCapAddress();
- End_ := GetCapAddress();
- EndList := GetCapAddress();
- EvalCoord1d := GetCapAddress();
- EvalCoord1dv := GetCapAddress();
- EvalCoord1f := GetCapAddress();
- EvalCoord1fv := GetCapAddress();
- EvalCoord2d := GetCapAddress();
- EvalCoord2dv := GetCapAddress();
- EvalCoord2f := GetCapAddress();
- EvalCoord2fv := GetCapAddress();
- EvalMesh1 := GetCapAddress();
- EvalMesh2 := GetCapAddress();
- EvalPoint1 := GetCapAddress();
- EvalPoint2 := GetCapAddress();
- FeedbackBuffer := GetCapAddress();
- Fogf := GetCapAddress();
- Fogfv := GetCapAddress();
- Fogi := GetCapAddress();
- Fogiv := GetCapAddress();
- Frustum := GetCapAddress();
- GenLists := GetCapAddress();
- GetClipPlane := GetCapAddress();
- GetLightfv := GetCapAddress();
- GetLightiv := GetCapAddress();
- GetMapdv := GetCapAddress();
- GetMapfv := GetCapAddress();
- GetMapiv := GetCapAddress();
- GetMaterialfv := GetCapAddress();
- GetMaterialiv := GetCapAddress();
- GetPixelMapfv := GetCapAddress();
- GetPixelMapuiv := GetCapAddress();
- GetPixelMapusv := GetCapAddress();
- GetPolygonStipple := GetCapAddress();
- GetTexEnvfv := GetCapAddress();
- GetTexEnviv := GetCapAddress();
- GetTexGendv := GetCapAddress();
- GetTexGenfv := GetCapAddress();
- GetTexGeniv := GetCapAddress();
- IndexMask := GetCapAddress();
- IndexPointer := GetCapAddress();
- Indexd := GetCapAddress();
- Indexdv := GetCapAddress();
- Indexf := GetCapAddress();
- Indexfv := GetCapAddress();
- Indexi := GetCapAddress();
- Indexiv := GetCapAddress();
- Indexs := GetCapAddress();
- Indexsv := GetCapAddress();
- Indexub := GetCapAddress();
- Indexubv := GetCapAddress();
- InitNames := GetCapAddress();
- InterleavedArrays := GetCapAddress();
- IsList := GetCapAddress();
- LightModelf := GetCapAddress();
- LightModelfv := GetCapAddress();
- LightModeli := GetCapAddress();
- LightModeliv := GetCapAddress();
- Lightf := GetCapAddress();
- Lightfv := GetCapAddress();
- Lighti := GetCapAddress();
- Lightiv := GetCapAddress();
- LineStipple := GetCapAddress();
- ListBase := GetCapAddress();
- LoadIdentity := GetCapAddress();
- LoadMatrixd := GetCapAddress();
- LoadMatrixf := GetCapAddress();
- LoadName := GetCapAddress();
- Map1d := GetCapAddress();
- Map1f := GetCapAddress();
- Map2d := GetCapAddress();
- Map2f := GetCapAddress();
- MapGrid1d := GetCapAddress();
- MapGrid1f := GetCapAddress();
- MapGrid2d := GetCapAddress();
- MapGrid2f := GetCapAddress();
- Materialf := GetCapAddress();
- Materialfv := GetCapAddress();
- Materiali := GetCapAddress();
- Materialiv := GetCapAddress();
- MatrixMode := GetCapAddress();
- MultMatrixd := GetCapAddress();
- MultMatrixf := GetCapAddress();
- NewList := GetCapAddress();
- Normal3b := GetCapAddress();
- Normal3bv := GetCapAddress();
- Normal3d := GetCapAddress();
- Normal3dv := GetCapAddress();
- Normal3f := GetCapAddress();
- Normal3fv := GetCapAddress();
- Normal3i := GetCapAddress();
- Normal3iv := GetCapAddress();
- Normal3s := GetCapAddress();
- Normal3sv := GetCapAddress();
- NormalPointer := GetCapAddress();
- Ortho := GetCapAddress();
- PassThrough := GetCapAddress();
- PixelMapfv := GetCapAddress();
- PixelMapuiv := GetCapAddress();
- PixelMapusv := GetCapAddress();
- PixelTransferf := GetCapAddress();
- PixelTransferi := GetCapAddress();
- PixelZoom := GetCapAddress();
- PolygonStipple := GetCapAddress();
- PopAttrib := GetCapAddress();
- PopClientAttrib := GetCapAddress();
- PopMatrix := GetCapAddress();
- PopName := GetCapAddress();
- PrioritizeTextures := GetCapAddress();
- PushAttrib := GetCapAddress();
- PushClientAttrib := GetCapAddress();
- PushMatrix := GetCapAddress();
- PushName := GetCapAddress();
- RasterPos2d := GetCapAddress();
- RasterPos2dv := GetCapAddress();
- RasterPos2f := GetCapAddress();
- RasterPos2fv := GetCapAddress();
- RasterPos2i := GetCapAddress();
- RasterPos2iv := GetCapAddress();
- RasterPos2s := GetCapAddress();
- RasterPos2sv := GetCapAddress();
- RasterPos3d := GetCapAddress();
- RasterPos3dv := GetCapAddress();
- RasterPos3f := GetCapAddress();
- RasterPos3fv := GetCapAddress();
- RasterPos3i := GetCapAddress();
- RasterPos3iv := GetCapAddress();
- RasterPos3s := GetCapAddress();
- RasterPos3sv := GetCapAddress();
- RasterPos4d := GetCapAddress();
- RasterPos4dv := GetCapAddress();
- RasterPos4f := GetCapAddress();
- RasterPos4fv := GetCapAddress();
- RasterPos4i := GetCapAddress();
- RasterPos4iv := GetCapAddress();
- RasterPos4s := GetCapAddress();
- RasterPos4sv := GetCapAddress();
- Rectd := GetCapAddress();
- Rectdv := GetCapAddress();
- Rectf := GetCapAddress();
- Rectfv := GetCapAddress();
- Recti := GetCapAddress();
- Rectiv := GetCapAddress();
- Rects := GetCapAddress();
- Rectsv := GetCapAddress();
- RenderMode := GetCapAddress();
- Rotated := GetCapAddress();
- Rotatef := GetCapAddress();
- Scaled := GetCapAddress();
- Scalef := GetCapAddress();
- SelectBuffer := GetCapAddress();
- ShadeModel := GetCapAddress();
- TexCoord1d := GetCapAddress();
- TexCoord1dv := GetCapAddress();
- TexCoord1f := GetCapAddress();
- TexCoord1fv := GetCapAddress();
- TexCoord1i := GetCapAddress();
- TexCoord1iv := GetCapAddress();
- TexCoord1s := GetCapAddress();
- TexCoord1sv := GetCapAddress();
- TexCoord2d := GetCapAddress();
- TexCoord2dv := GetCapAddress();
- TexCoord2f := GetCapAddress();
- TexCoord2fv := GetCapAddress();
- TexCoord2i := GetCapAddress();
- TexCoord2iv := GetCapAddress();
- TexCoord2s := GetCapAddress();
- TexCoord2sv := GetCapAddress();
- TexCoord3d := GetCapAddress();
- TexCoord3dv := GetCapAddress();
- TexCoord3f := GetCapAddress();
- TexCoord3fv := GetCapAddress();
- TexCoord3i := GetCapAddress();
- TexCoord3iv := GetCapAddress();
- TexCoord3s := GetCapAddress();
- TexCoord3sv := GetCapAddress();
- TexCoord4d := GetCapAddress();
- TexCoord4dv := GetCapAddress();
- TexCoord4f := GetCapAddress();
- TexCoord4fv := GetCapAddress();
- TexCoord4i := GetCapAddress();
- TexCoord4iv := GetCapAddress();
- TexCoord4s := GetCapAddress();
- TexCoord4sv := GetCapAddress();
- TexCoordPointer := GetCapAddress();
- TexEnvf := GetCapAddress();
- TexEnvfv := GetCapAddress();
- TexEnvi := GetCapAddress();
- TexEnviv := GetCapAddress();
- TexGend := GetCapAddress();
- TexGendv := GetCapAddress();
- TexGenf := GetCapAddress();
- TexGenfv := GetCapAddress();
- TexGeni := GetCapAddress();
- TexGeniv := GetCapAddress();
- Translated := GetCapAddress();
- Translatef := GetCapAddress();
- Vertex2d := GetCapAddress();
- Vertex2dv := GetCapAddress();
- Vertex2f := GetCapAddress();
- Vertex2fv := GetCapAddress();
- Vertex2i := GetCapAddress();
- Vertex2iv := GetCapAddress();
- Vertex2s := GetCapAddress();
- Vertex2sv := GetCapAddress();
- Vertex3d := GetCapAddress();
- Vertex3dv := GetCapAddress();
- Vertex3f := GetCapAddress();
- Vertex3fv := GetCapAddress();
- Vertex3i := GetCapAddress();
- Vertex3iv := GetCapAddress();
- Vertex3s := GetCapAddress();
- Vertex3sv := GetCapAddress();
- Vertex4d := GetCapAddress();
- Vertex4dv := GetCapAddress();
- Vertex4f := GetCapAddress();
- Vertex4fv := GetCapAddress();
- Vertex4i := GetCapAddress();
- Vertex4iv := GetCapAddress();
- Vertex4s := GetCapAddress();
- Vertex4sv := GetCapAddress();
- VertexPointer := GetCapAddress();
- BlendColor := GetCapAddress();
- BlendEquation := GetCapAddress();
- DrawRangeElements := GetCapAddress();
- TexImage3D := GetCapAddress();
- TexSubImage3D := GetCapAddress();
- CopyTexSubImage3D := GetCapAddress();
- IsRenderbuffer := GetCapAddress();
- BindRenderbuffer := GetCapAddress();
- DeleteRenderbuffers := GetCapAddress();
- GenRenderbuffers := GetCapAddress();
- RenderbufferStorage := GetCapAddress();
- RenderbufferStorageMultisample := GetCapAddress();
- GetRenderbufferParameteriv := GetCapAddress();
- IsFramebuffer := GetCapAddress();
- BindFramebuffer := GetCapAddress();
- DeleteFramebuffers := GetCapAddress();
- GenFramebuffers := GetCapAddress();
- CheckFramebufferStatus := GetCapAddress();
- FramebufferTexture := GetCapAddress();
- FramebufferTexture1D := GetCapAddress();
- FramebufferTexture2D := GetCapAddress();
- FramebufferTexture3D := GetCapAddress();
- FramebufferTextureLayer := GetCapAddress();
- FramebufferTextureFace := GetCapAddress();
- FramebufferRenderbuffer := GetCapAddress();
- GetFramebufferAttachmentParameteriv := GetCapAddress();
- BlitFramebuffer := GetCapAddress();
- GenerateMipmap := GetCapAddress();
- ClearBufferiv := GetCapAddress();
- ClearBufferuiv := GetCapAddress();
- ClearBufferfv := GetCapAddress();
- ClearBufferfi := GetCapAddress();
- LockArrays := GetCapAddress();
- UnlockArrays := GetCapAddress();
- BindBuffer := GetCapAddress();
- DeleteBuffers := GetCapAddress();
- GenBuffers := GetCapAddress();
- IsBuffer := GetCapAddress();
- BufferData := GetCapAddress();
- BufferSubData := GetCapAddress();
- GetBufferSubData := GetCapAddress();
- MapBuffer := GetCapAddress();
- UnmapBuffer := GetCapAddress();
- GetBufferParameteriv := GetCapAddress();
- GetBufferPointerv := GetCapAddress();
- MapBufferRange := GetCapAddress();
- FlushMappedBufferRange := GetCapAddress();
- BindBufferRange := GetCapAddress();
- BindBufferOffset := GetCapAddress();
- BindBufferBase := GetCapAddress();
- BeginTransformFeedback := GetCapAddress();
- EndTransformFeedback := GetCapAddress();
- TransformFeedbackVaryings := GetCapAddress();
- GetTransformFeedbackVarying := GetCapAddress();
- TransformFeedbackAttribs := GetCapAddress();
- TransformFeedbackVaryingsNV := GetCapAddress();
- TexBuffer := GetCapAddress();
- BindVertexArray := GetCapAddress();
- DeleteVertexArrays := GetCapAddress();
- GenVertexArrays := GetCapAddress();
- IsVertexArray := GetCapAddress();
- FlushVertexArrayRangeNV := GetCapAddress();
- VertexArrayRangeNV := GetCapAddress();
- CopyBufferSubData := GetCapAddress();
- UniformBuffer := GetCapAddress();
- GetUniformBufferSize := GetCapAddress();
- GetUniformOffset := GetCapAddress();
- PrimitiveRestartIndex := GetCapAddress();
- DrawElementsBaseVertex := GetCapAddress();
- DrawRangeElementsBaseVertex := GetCapAddress();
- DrawElementsInstancedBaseVertex := GetCapAddress();
- MultiDrawElementsBaseVertex := GetCapAddress();
- DrawArraysInstanced := GetCapAddress();
- DrawElementsInstanced := GetCapAddress();
- VertexAttrib1d := GetCapAddress();
- VertexAttrib1dv := GetCapAddress();
- VertexAttrib1f := GetCapAddress();
- VertexAttrib1fv := GetCapAddress();
- VertexAttrib1s := GetCapAddress();
- VertexAttrib1sv := GetCapAddress();
- VertexAttrib2d := GetCapAddress();
- VertexAttrib2dv := GetCapAddress();
- VertexAttrib2f := GetCapAddress();
- VertexAttrib2fv := GetCapAddress();
- VertexAttrib2s := GetCapAddress();
- VertexAttrib2sv := GetCapAddress();
- VertexAttrib3d := GetCapAddress();
- VertexAttrib3dv := GetCapAddress();
- VertexAttrib3f := GetCapAddress();
- VertexAttrib3fv := GetCapAddress();
- VertexAttrib3s := GetCapAddress();
- VertexAttrib3sv := GetCapAddress();
- VertexAttrib4Nbv := GetCapAddress();
- VertexAttrib4Niv := GetCapAddress();
- VertexAttrib4Nsv := GetCapAddress();
- VertexAttrib4Nub := GetCapAddress();
- VertexAttrib4Nubv := GetCapAddress();
- VertexAttrib4Nuiv := GetCapAddress();
- VertexAttrib4Nusv := GetCapAddress();
- VertexAttrib4bv := GetCapAddress();
- VertexAttrib4d := GetCapAddress();
- VertexAttrib4dv := GetCapAddress();
- VertexAttrib4f := GetCapAddress();
- VertexAttrib4fv := GetCapAddress();
- VertexAttrib4iv := GetCapAddress();
- VertexAttrib4s := GetCapAddress();
- VertexAttrib4sv := GetCapAddress();
- VertexAttrib4ubv := GetCapAddress();
- VertexAttrib4uiv := GetCapAddress();
- VertexAttrib4usv := GetCapAddress();
- VertexAttribPointer := GetCapAddress();
- VertexAttribI1i := GetCapAddress();
- VertexAttribI2i := GetCapAddress();
- VertexAttribI3i := GetCapAddress();
- VertexAttribI4i := GetCapAddress();
- VertexAttribI1ui := GetCapAddress();
- VertexAttribI2ui := GetCapAddress();
- VertexAttribI3ui := GetCapAddress();
- VertexAttribI4ui := GetCapAddress();
- VertexAttribI1iv := GetCapAddress();
- VertexAttribI2iv := GetCapAddress();
- VertexAttribI3iv := GetCapAddress();
- VertexAttribI4iv := GetCapAddress();
- VertexAttribI1uiv := GetCapAddress();
- VertexAttribI2uiv := GetCapAddress();
- VertexAttribI3uiv := GetCapAddress();
- VertexAttribI4uiv := GetCapAddress();
- VertexAttribI4bv := GetCapAddress();
- VertexAttribI4sv := GetCapAddress();
- VertexAttribI4ubv := GetCapAddress();
- VertexAttribI4usv := GetCapAddress();
- VertexAttribIPointer := GetCapAddress();
- GetVertexAttribIiv := GetCapAddress();
- GetVertexAttribIuiv := GetCapAddress();
- EnableVertexAttribArray := GetCapAddress();
- DisableVertexAttribArray := GetCapAddress();
- VertexAttribDivisor := GetCapAddress();
- GenQueries := GetCapAddress();
- DeleteQueries := GetCapAddress();
- IsQuery := GetCapAddress();
- BeginQuery := GetCapAddress();
- EndQuery := GetCapAddress();
- GetQueryiv := GetCapAddress();
- GetQueryObjectiv := GetCapAddress();
- GetQueryObjectuiv := GetCapAddress();
- QueryCounter := GetCapAddress();
- GetQueryObjecti64v := GetCapAddress();
- GetQueryObjectui64v := GetCapAddress();
- DeleteObject := GetCapAddress();
- GetHandle := GetCapAddress();
- DetachShader := GetCapAddress();
- CreateShader := GetCapAddress();
- ShaderSource := GetCapAddress();
- CompileShader := GetCapAddress();
- CreateProgram := GetCapAddress();
- AttachShader := GetCapAddress();
- LinkProgram := GetCapAddress();
- UseProgram := GetCapAddress();
- ValidateProgram := GetCapAddress();
- Uniform1f := GetCapAddress();
- Uniform2f := GetCapAddress();
- Uniform3f := GetCapAddress();
- Uniform4f := GetCapAddress();
- Uniform1i := GetCapAddress();
- Uniform2i := GetCapAddress();
- Uniform3i := GetCapAddress();
- Uniform4i := GetCapAddress();
- Uniform1fv := GetCapAddress();
- Uniform2fv := GetCapAddress();
- Uniform3fv := GetCapAddress();
- Uniform4fv := GetCapAddress();
- Uniform1iv := GetCapAddress();
- Uniform2iv := GetCapAddress();
- Uniform3iv := GetCapAddress();
- Uniform4iv := GetCapAddress();
- Uniform1ui := GetCapAddress();
- Uniform2ui := GetCapAddress();
- Uniform3ui := GetCapAddress();
- Uniform4ui := GetCapAddress();
- Uniform1uiv := GetCapAddress();
- Uniform2uiv := GetCapAddress();
- Uniform3uiv := GetCapAddress();
- Uniform4uiv := GetCapAddress();
- GetUniformuiv := GetCapAddress();
- UniformMatrix2fv := GetCapAddress();
- UniformMatrix3fv := GetCapAddress();
- UniformMatrix4fv := GetCapAddress();
- BindFragDataLocation := GetCapAddress();
- GetFragDataLocation := GetCapAddress();
- ClampColor := GetCapAddress();
- ColorMaski := GetCapAddress();
- GetBooleani_v := GetCapAddress();
- GetIntegeri_v := GetCapAddress();
- Enablei := GetCapAddress();
- Disablei := GetCapAddress();
- IsEnabledi := GetCapAddress();
- BindFragDataLocationIndexed := GetCapAddress();
- GetFragDataIndex := GetCapAddress();
- GetObjectParameterfv := GetCapAddress();
- GetObjectParameteriv := GetCapAddress();
- GetAttachedObjects := GetCapAddress();
- GetActiveAttrib := GetCapAddress();
- GetActiveUniform := GetCapAddress();
- GetAttachedShaders := GetCapAddress();
- GetAttribLocation := GetCapAddress();
- GetProgramiv := GetCapAddress();
- GetProgramInfoLog := GetCapAddress();
- GetShaderiv := GetCapAddress();
- GetInfoLog := GetCapAddress();
- GetShaderInfoLog := GetCapAddress();
- GetShaderSource := GetCapAddress();
- GetUniformLocation := GetCapAddress();
- GetUniformfv := GetCapAddress();
- GetUniformiv := GetCapAddress();
- GetVertexAttribdv := GetCapAddress();
- GetVertexAttribfv := GetCapAddress();
- GetVertexAttribiv := GetCapAddress();
- GetVertexAttribPointerv := GetCapAddress();
- IsProgram := GetCapAddress();
- IsShader := GetCapAddress();
- GetUniformLocation := GetCapAddress();
- BindAttribLocation := GetCapAddress();
- GetVaryingLocation := GetCapAddress();
- GetActiveVarying := GetCapAddress();
- ActiveVarying := GetCapAddress();
- GetUniformIndices := GetCapAddress();
- GetActiveUniformsiv := GetCapAddress();
- GetActiveUniformName := GetCapAddress();
- GetUniformBlockIndex := GetCapAddress();
- GetActiveUniformBlockiv := GetCapAddress();
- GetActiveUniformBlockName := GetCapAddress();
- UniformBlockBinding := GetCapAddress();
- GetProgramBinary := GetCapAddress();
- ProgramBinary := GetCapAddress();
- UseProgramStages := GetCapAddress();
- ActiveShaderProgram := GetCapAddress();
- CreateShaderProgramv := GetCapAddress();
- BindProgramPipeline := GetCapAddress();
- DeleteProgramPipelines := GetCapAddress();
- GenProgramPipelines := GetCapAddress();
- IsProgramPipeline := GetCapAddress();
- GetProgramPipelineiv := GetCapAddress();
- ProgramUniform1i := GetCapAddress();
- ProgramUniform1iv := GetCapAddress();
- ProgramUniform1f := GetCapAddress();
- ProgramUniform1fv := GetCapAddress();
- ProgramUniform1d := GetCapAddress();
- ProgramUniform1dv := GetCapAddress();
- ProgramUniform1ui := GetCapAddress();
- ProgramUniform1uiv := GetCapAddress();
- ProgramUniform2i := GetCapAddress();
- ProgramUniform2iv := GetCapAddress();
- ProgramUniform2f := GetCapAddress();
- ProgramUniform2fv := GetCapAddress();
- ProgramUniform2d := GetCapAddress();
- ProgramUniform2dv := GetCapAddress();
- ProgramUniform2ui := GetCapAddress();
- ProgramUniform2uiv := GetCapAddress();
- ProgramUniform3i := GetCapAddress();
- ProgramUniform3iv := GetCapAddress();
- ProgramUniform3f := GetCapAddress();
- ProgramUniform3fv := GetCapAddress();
- ProgramUniform3d := GetCapAddress();
- ProgramUniform3dv := GetCapAddress();
- ProgramUniform3ui := GetCapAddress();
- ProgramUniform3uiv := GetCapAddress();
- ProgramUniform4i := GetCapAddress();
- ProgramUniform4iv := GetCapAddress();
- ProgramUniform4f := GetCapAddress();
- ProgramUniform4fv := GetCapAddress();
- ProgramUniform4d := GetCapAddress();
- ProgramUniform4dv := GetCapAddress();
- ProgramUniform4ui := GetCapAddress();
- ProgramUniform4uiv := GetCapAddress();
- ProgramUniformMatrix2fv := GetCapAddress();
- ProgramUniformMatrix3fv := GetCapAddress();
- ProgramUniformMatrix4fv := GetCapAddress();
- ProgramUniformMatrix2dv := GetCapAddress();
- ProgramUniformMatrix3dv := GetCapAddress();
- ProgramUniformMatrix4dv := GetCapAddress();
- ProgramUniformMatrix2x3fv := GetCapAddress();
- ProgramUniformMatrix3x2fv := GetCapAddress();
- ProgramUniformMatrix2x4fv := GetCapAddress();
- ProgramUniformMatrix4x2fv := GetCapAddress();
- ProgramUniformMatrix3x4fv := GetCapAddress();
- ProgramUniformMatrix4x3fv := GetCapAddress();
- ProgramUniformMatrix2x3dv := GetCapAddress();
- ProgramUniformMatrix3x2dv := GetCapAddress();
- ProgramUniformMatrix2x4dv := GetCapAddress();
- ProgramUniformMatrix4x2dv := GetCapAddress();
- ProgramUniformMatrix3x4dv := GetCapAddress();
- ProgramUniformMatrix4x3dv := GetCapAddress();
- ValidateProgramPipeline := GetCapAddress();
- GetProgramPipelineInfoLog := GetCapAddress();
- DrawBuffers := GetCapAddress();
- ActiveTexture := GetCapAddress();
- CompressedTexImage3D := GetCapAddress();
- CompressedTexImage2D := GetCapAddress();
- CompressedTexImage1D := GetCapAddress();
- CompressedTexSubImage3D := GetCapAddress();
- CompressedTexSubImage2D := GetCapAddress();
- CompressedTexSubImage1D := GetCapAddress();
- GetCompressedTexImage := GetCapAddress();
- ClientActiveTexture := GetCapAddress();
- MultiTexCoord1d := GetCapAddress();
- MultiTexCoord1dV := GetCapAddress();
- MultiTexCoord1f := GetCapAddress();
- MultiTexCoord1fv := GetCapAddress();
- MultiTexCoord1i := GetCapAddress();
- MultiTexCoord1iv := GetCapAddress();
- MultiTexCoord1s := GetCapAddress();
- MultiTexCoord1sv := GetCapAddress();
- MultiTexCoord2d := GetCapAddress();
- MultiTexCoord2dv := GetCapAddress();
- MultiTexCoord2f := GetCapAddress();
- MultiTexCoord2fv := GetCapAddress();
- MultiTexCoord2i := GetCapAddress();
- MultiTexCoord2iv := GetCapAddress();
- MultiTexCoord2s := GetCapAddress();
- MultiTexCoord2sv := GetCapAddress();
- MultiTexCoord3d := GetCapAddress();
- MultiTexCoord3dv := GetCapAddress();
- MultiTexCoord3f := GetCapAddress();
- MultiTexCoord3fv := GetCapAddress();
- MultiTexCoord3i := GetCapAddress();
- MultiTexCoord3iv := GetCapAddress();
- MultiTexCoord3s := GetCapAddress();
- MultiTexCoord3sv := GetCapAddress();
- MultiTexCoord4d := GetCapAddress();
- MultiTexCoord4dv := GetCapAddress();
- MultiTexCoord4f := GetCapAddress();
- MultiTexCoord4fv := GetCapAddress();
- MultiTexCoord4i := GetCapAddress();
- MultiTexCoord4iv := GetCapAddress();
- MultiTexCoord4s := GetCapAddress();
- MultiTexCoord4sv := GetCapAddress();
- GetInteger64i_v := GetCapAddress();
- GetBufferParameteri64v := GetCapAddress();
- ProgramParameteri := GetCapAddress();
- ProgramString := GetCapAddress();
- BindProgram := GetCapAddress();
- DeletePrograms := GetCapAddress();
- GenPrograms := GetCapAddress();
- ProgramEnvParameter4d := GetCapAddress();
- ProgramEnvParameter4dv := GetCapAddress();
- ProgramEnvParameter4f := GetCapAddress();
- ProgramEnvParameter4fv := GetCapAddress();
- ProgramLocalParameter4d := GetCapAddress();
- ProgramLocalParameter4dv := GetCapAddress();
- ProgramLocalParameter4f := GetCapAddress();
- ProgramLocalParameter4fv := GetCapAddress();
- GetProgramEnvParameterdv := GetCapAddress();
- GetProgramEnvParameterfv := GetCapAddress();
- GetProgramLocalParameterdv := GetCapAddress();
- GetProgramLocalParameterfv := GetCapAddress();
- ClearColorIi := GetCapAddress();
- ClearColorIui := GetCapAddress();
- TexParameterIiv := GetCapAddress();
- TexParameterIuiv := GetCapAddress();
- GetTexParameterIiv := GetCapAddress();
- GetTexParameterIuiv := GetCapAddress();
- PatchParameteri := GetCapAddress();
- PatchParameterfv := GetCapAddress();
- BufferAddressRangeNV := GetCapAddress();
- VertexFormatNV := GetCapAddress();
- NormalFormatNV := GetCapAddress();
- ColorFormatNV := GetCapAddress();
- IndexFormatNV := GetCapAddress();
- TexCoordFormatNV := GetCapAddress();
- EdgeFlagFormatNV := GetCapAddress();
- SecondaryColorFormatNV := GetCapAddress();
- FogCoordFormatNV := GetCapAddress();
- VertexAttribFormatNV := GetCapAddress();
- VertexAttribIFormatNV := GetCapAddress();
- GetIntegerui64i_vNV := GetCapAddress();
- GetBufferParameterui64vNV := GetCapAddress();
- MakeBufferResidentNV := GetCapAddress();
- MakeBufferNonResidentNV := GetCapAddress();
- IsBufferResidentNV := GetCapAddress();
- MakeNamedBufferResidentNV := GetCapAddress();
- MakeNamedBufferNonResidentNV := GetCapAddress();
- IsNamedBufferResidentNV := GetCapAddress();
- GetNamedBufferParameterui64vNV := GetCapAddress();
- GetIntegerui64vNV := GetCapAddress();
- Uniformui64NV := GetCapAddress();
- Uniformui64vNV := GetCapAddress();
- GetUniformui64vNV := GetCapAddress();
- ProgramUniformui64NV := GetCapAddress();
- ProgramUniformui64vNV := GetCapAddress();
- TexImage2DMultisample := GetCapAddress();
- TexImage3DMultisample := GetCapAddress();
- GetMultisamplefv := GetCapAddress();
- SampleMaski := GetCapAddress();
- ProvokingVertex := GetCapAddress();
- FenceSync := GetCapAddress();
- IsSync := GetCapAddress();
- DeleteSync := GetCapAddress();
- ClientWaitSync := GetCapAddress();
- WaitSync := GetCapAddress();
- GetInteger64v := GetCapAddress();
- GetSynciv := GetCapAddress();
- BlendEquationi := GetCapAddress();
- BlendEquationSeparatei := GetCapAddress();
- BlendFunci := GetCapAddress();
- BlendFuncSeparatei := GetCapAddress();
- MinSampleShading := GetCapAddress();
- GenSamplers := GetCapAddress();
- DeleteSamplers := GetCapAddress();
- IsSampler := GetCapAddress();
- BindSampler := GetCapAddress();
- SamplerParameteri := GetCapAddress();
- SamplerParameteriv := GetCapAddress();
- SamplerParameterf := GetCapAddress();
- SamplerParameterfv := GetCapAddress();
- SamplerParameterIiv := GetCapAddress();
- SamplerParameterIuiv := GetCapAddress();
- GetSamplerParameteriv := GetCapAddress();
- GetSamplerParameterIiv := GetCapAddress();
- GetSamplerParameterfv := GetCapAddress();
- GetSamplerParameterIfv := GetCapAddress();
- ClientAttribDefault := GetCapAddress();
- PushClientAttribDefault := GetCapAddress();
- MatrixLoadf := GetCapAddress();
- MatrixLoadd := GetCapAddress();
- MatrixMultf := GetCapAddress();
- MatrixMultd := GetCapAddress();
- MatrixLoadIdentity := GetCapAddress();
- MatrixRotatef := GetCapAddress();
- MatrixRotated := GetCapAddress();
- MatrixScalef := GetCapAddress();
- MatrixScaled := GetCapAddress();
- MatrixTranslatef := GetCapAddress();
- MatrixTranslated := GetCapAddress();
- MatrixFrustum := GetCapAddress();
- MatrixOrtho := GetCapAddress();
- MatrixPop := GetCapAddress();
- MatrixPush := GetCapAddress();
- MatrixLoadTransposef := GetCapAddress();
- MatrixLoadTransposed := GetCapAddress();
- MatrixMultTransposef := GetCapAddress();
- MatrixMultTransposed := GetCapAddress();
- TextureParameterfv := GetCapAddress();
- TextureParameteri := GetCapAddress();
- TextureParameteriv := GetCapAddress();
- TextureImage1D := GetCapAddress();
- TextureImage2D := GetCapAddress();
- TextureSubImage1D := GetCapAddress();
- TextureSubImage2D := GetCapAddress();
- CopyTextureImage1D := GetCapAddress();
- CopyTextureImage2D := GetCapAddress();
- CopyTextureSubImage1D := GetCapAddress();
- CopyTextureSubImage2D := GetCapAddress();
- GetTextureImage := GetCapAddress();
- GetTextureParameterfv := GetCapAddress();
- GetTextureParameteriv := GetCapAddress();
- GetTextureLevelParameterfv := GetCapAddress();
- GetTextureLevelParameteriv := GetCapAddress();
- TextureImage3D := GetCapAddress();
- TextureSubImage3D := GetCapAddress();
- CopyTextureSubImage3D := GetCapAddress();
- MultiTexParameterf := GetCapAddress();
- MultiTexParameterfv := GetCapAddress();
- MultiTexParameteri := GetCapAddress();
- MultiTexParameteriv := GetCapAddress();
- MultiTexImage1D := GetCapAddress();
- MultiTexImage2D := GetCapAddress();
- MultiTexSubImage1D := GetCapAddress();
- MultiTexSubImage2D := GetCapAddress();
- CopyMultiTexImage1D := GetCapAddress();
- CopyMultiTexImage2D := GetCapAddress();
- CopyMultiTexSubImage1D := GetCapAddress();
- CopyMultiTexSubImage2D := GetCapAddress();
- GetMultiTexImage := GetCapAddress();
- GetMultiTexParameterfv := GetCapAddress();
- GetMultiTexParameteriv := GetCapAddress();
- GetMultiTexLevelParameterfv := GetCapAddress();
- GetMultiTexLevelParameteriv := GetCapAddress();
- MultiTexImage3D := GetCapAddress();
- MultiTexSubImage3D := GetCapAddress();
- CopyMultiTexSubImage3D := GetCapAddress();
- BindMultiTexture := GetCapAddress();
- EnableClientStateIndexed := GetCapAddress();
- DisableClientStateIndexed := GetCapAddress();
- MultiTexCoordPointer := GetCapAddress();
- MultiTexEnvf := GetCapAddress();
- MultiTexEnvfv := GetCapAddress();
- MultiTexEnvi := GetCapAddress();
- MultiTexEnviv := GetCapAddress();
- MultiTexGend := GetCapAddress();
- MultiTexGendv := GetCapAddress();
- MultiTexGenf := GetCapAddress();
- MultiTexGenfv := GetCapAddress();
- MultiTexGeni := GetCapAddress();
- MultiTexGeniv := GetCapAddress();
- GetMultiTexEnvfv := GetCapAddress();
- GetMultiTexEnviv := GetCapAddress();
- GetMultiTexGendv := GetCapAddress();
- GetMultiTexGenfv := GetCapAddress();
- GetMultiTexGeniv := GetCapAddress();
- GetFloatIndexedv := GetCapAddress();
- GetDoubleIndexedv := GetCapAddress();
- GetPointerIndexedv := GetCapAddress();
- CompressedTextureImage3D := GetCapAddress();
- CompressedTextureImage2D := GetCapAddress();
- CompressedTextureImage1D := GetCapAddress();
- CompressedTextureSubImage3D := GetCapAddress();
- CompressedTextureSubImage2D := GetCapAddress();
- CompressedTextureSubImage1D := GetCapAddress();
- GetCompressedTextureImage := GetCapAddress();
- CompressedMultiTexImage3D := GetCapAddress();
- CompressedMultiTexImage2D := GetCapAddress();
- CompressedMultiTexImage1D := GetCapAddress();
- CompressedMultiTexSubImage3D := GetCapAddress();
- CompressedMultiTexSubImage2D := GetCapAddress();
- CompressedMultiTexSubImage1D := GetCapAddress();
- GetCompressedMultiTexImage := GetCapAddress();
- NamedProgramString := GetCapAddress();
- NamedProgramLocalParameter4d := GetCapAddress();
- NamedProgramLocalParameter4dv := GetCapAddress();
- NamedProgramLocalParameter4f := GetCapAddress();
- NamedProgramLocalParameter4fv := GetCapAddress();
- GetNamedProgramLocalParameterdv := GetCapAddress();
- GetNamedProgramLocalParameterfv := GetCapAddress();
- GetNamedProgramiv := GetCapAddress();
- GetNamedProgramString := GetCapAddress();
- NamedProgramLocalParameters4fv := GetCapAddress();
- NamedProgramLocalParameterI4i := GetCapAddress();
- NamedProgramLocalParameterI4iv := GetCapAddress();
- NamedProgramLocalParametersI4iv := GetCapAddress();
- NamedProgramLocalParameterI4ui := GetCapAddress();
- NamedProgramLocalParameterI4uiv := GetCapAddress();
- NamedProgramLocalParametersI4uiv := GetCapAddress();
- GetNamedProgramLocalParameterIiv := GetCapAddress();
- GetNamedProgramLocalParameterIuiv := GetCapAddress();
- TextureParameterIiv := GetCapAddress();
- TextureParameterIuiv := GetCapAddress();
- GetTextureParameterIiv := GetCapAddress();
- GetTextureParameterIuiv := GetCapAddress();
- MultiTexParameterIiv := GetCapAddress();
- MultiTexParameterIuiv := GetCapAddress();
- GetMultiTexParameterIiv := GetCapAddress();
- GetMultiTexParameterIuiv := GetCapAddress();
- NamedBufferData := GetCapAddress();
- NamedBufferSubData := GetCapAddress();
- MapNamedBuffer := GetCapAddress();
- UnmapNamedBuffer := GetCapAddress();
- MapNamedBufferRange := GetCapAddress();
- FlushMappedNamedBufferRange := GetCapAddress();
- NamedCopyBufferSubData := GetCapAddress();
- GetNamedBufferParameteriv := GetCapAddress();
- GetNamedBufferPointerv := GetCapAddress();
- GetNamedBufferSubData := GetCapAddress();
- TextureBuffer := GetCapAddress();
- MultiTexBuffer := GetCapAddress();
- NamedRenderbufferStorage := GetCapAddress();
- GetNamedRenderbufferParameteriv := GetCapAddress();
- CheckNamedFramebufferStatus := GetCapAddress();
- NamedFramebufferTexture1D := GetCapAddress();
- NamedFramebufferTexture2D := GetCapAddress();
- NamedFramebufferTexture3D := GetCapAddress();
- NamedFramebufferRenderbuffer := GetCapAddress();
- GetNamedFramebufferAttachmentParameteriv := GetCapAddress();
- GenerateTextureMipmap := GetCapAddress();
- GenerateMultiTexMipmap := GetCapAddress();
- FramebufferDrawBuffer := GetCapAddress();
- FramebufferDrawBuffers := GetCapAddress();
- FramebufferReadBuffer := GetCapAddress();
- GetFramebufferParameteriv := GetCapAddress();
- NamedRenderbufferStorageMultisample := GetCapAddress();
- NamedRenderbufferStorageMultisampleCoverage := GetCapAddress();
- NamedFramebufferTexture := GetCapAddress();
- NamedFramebufferTextureLayer := GetCapAddress();
- NamedFramebufferTextureFace := GetCapAddress();
- TextureRenderbuffer := GetCapAddress();
- MultiTexRenderbuffer := GetCapAddress();
- FrameTerminatorGREMEDY := GetCapAddress();
- StringMarkerGREMEDY := GetCapAddress();
- DebugMessageControl := GetCapAddress();
- DebugMessageInsert := GetCapAddress();
- DebugMessageCallback := GetCapAddress();
- GetDebugMessageLog := GetCapAddress();
- PushDebugGroup := GetCapAddress();
- PopDebugGroup := GetCapAddress();
- ObjectLabel := GetCapAddress();
- GetObjectLabel := GetCapAddress();
- ObjectPtrLabel := GetCapAddress();
- GetObjectPtrLabel := GetCapAddress();
- ClearBufferData := GetCapAddress();
- ClearBufferSubData := GetCapAddress();
- ClearNamedBufferData := GetCapAddress();
- ClearNamedBufferSubData := GetCapAddress();
- DispatchCompute := GetCapAddress();
- DispatchComputeIndirect := GetCapAddress();
- CopyImageSubData := GetCapAddress();
- FramebufferParameteri := GetCapAddress();
- NamedFramebufferParameteri := GetCapAddress();
- GetNamedFramebufferParameteriv := GetCapAddress();
- GetInternalformati64v := GetCapAddress();
- InvalidateTexSubImage := GetCapAddress();
- InvalidateTexImage := GetCapAddress();
- InvalidateBufferSubData := GetCapAddress();
- InvalidateBufferData := GetCapAddress();
- InvalidateFramebuffer := GetCapAddress();
- InvalidateSubFramebuffer := GetCapAddress();
- MultiDrawArraysIndirect := GetCapAddress();
- MultiDrawElementsIndirect := GetCapAddress();
- GetProgramInterfaceiv := GetCapAddress();
- GetProgramResourceIndex := GetCapAddress();
- GetProgramResourceName := GetCapAddress();
- GetProgramResourceiv := GetCapAddress();
- GetProgramResourceLocation := GetCapAddress();
- GetProgramResourceLocationIndex := GetCapAddress();
- ShaderStorageBlockBinding := GetCapAddress();
- TexBufferRange := GetCapAddress();
- TextureBufferRange := GetCapAddress();
- TexStorage2DMultisample := GetCapAddress();
- TexStorage3DMultisample := GetCapAddress();
- TextureStorage2DMultisample := GetCapAddress();
- TextureStorage3DMultisample := GetCapAddress();
- BufferStorage := GetCapAddress();
- ClearTexImage := GetCapAddress();
- ClearTexSubImage := GetCapAddress();
- BindBuffersBase := GetCapAddress();
- BindBuffersRange := GetCapAddress();
- BindTextures := GetCapAddress();
- BindSamplers := GetCapAddress();
- BindImageTextures := GetCapAddress();
- BindVertexBuffers := GetCapAddress();
- TextureView := GetCapAddress();
- BindVertexBuffer := GetCapAddress();
- VertexAttribFormat := GetCapAddress();
- VertexAttribIFormat := GetCapAddress();
- VertexAttribLFormat := GetCapAddress();
- VertexAttribBinding := GetCapAddress();
- VertexBindingDivisor := GetCapAddress();
- VertexArrayBindVertexBuffer := GetCapAddress();
- VertexArrayVertexAttribFormat := GetCapAddress();
- VertexArrayVertexAttribIFormat := GetCapAddress();
- VertexArrayVertexAttribLFormat := GetCapAddress();
- VertexArrayVertexAttribBinding := GetCapAddress();
- VertexArrayVertexBindingDivisor := GetCapAddress();
- CreateSyncFromCLevent := GetCapAddress();
- GenPathsNV := GetCapAddress();
- DeletePathsNV := GetCapAddress();
- IsPathNV := GetCapAddress();
- PathCommandsNV := GetCapAddress();
- PathCoordsNV := GetCapAddress();
- PathSubCommandsNV := GetCapAddress();
- PathSubCoordsNV := GetCapAddress();
- PathStringNV := GetCapAddress();
- PathGlyphsNV := GetCapAddress();
- PathGlyphRangeNV := GetCapAddress();
- WeightPathsNV := GetCapAddress();
- CopyPathNV := GetCapAddress();
- InterpolatePathsNV := GetCapAddress();
- PathParameterivNV := GetCapAddress();
- PathParameteriNV := GetCapAddress();
- PathParameterfvNV := GetCapAddress();
- PathParameterfNV := GetCapAddress();
- PathDashArrayNV := GetCapAddress();
- PathStencilFuncNV := GetCapAddress();
- StencilFillPathNV := GetCapAddress();
- StencilStrokePathNV := GetCapAddress();
- StencilFillPathInstancedNV := GetCapAddress();
- StencilStrokePathInstancedNV := GetCapAddress();
- PathColorGenNV := GetCapAddress();
- PathTexGenNV := GetCapAddress();
- PathFogGenNV := GetCapAddress();
- CoverFillPathNV := GetCapAddress();
- CoverStrokePathNV := GetCapAddress();
- CoverFillPathInstancedNV := GetCapAddress();
- CoverStrokePathInstancedNV := GetCapAddress();
- GetPathParameterivNV := GetCapAddress();
- GetPathParameterfvNV := GetCapAddress();
- GetPathCommandsNV := GetCapAddress();
- GetPathCoordsNV := GetCapAddress();
- GetPathDashArrayNV := GetCapAddress();
- GetPathMetricsNV := GetCapAddress();
- GetPathMetricRangeNV := GetCapAddress();
- GetPathSpacingNV := GetCapAddress();
- GetPathColorGenivNV := GetCapAddress();
- GetPathColorGenfvNV := GetCapAddress();
- GetPathTexGenivNV := GetCapAddress();
- GetPathTexGenfvNV := GetCapAddress();
- IsPointInFillPathNV := GetCapAddress();
- IsPointInStrokePathNV := GetCapAddress();
- GetPathLengthNV := GetCapAddress();
- PointAlongPathNV := GetCapAddress();
- PathStencilDepthOffsetNV := GetCapAddress();
- PathCoverDepthFuncNV := GetCapAddress();
- FInitialized := False;
- end;
- {$IFDEF SUPPORT_WGL}
- // ReadWGLImplementationProperties
- procedure TGLExtensionsAndEntryPoints.ReadWGLImplementationProperties;
- begin
- // ARB wgl extensions
- if Assigned(WGetExtensionsStringARB) then
- FBuffer := string(WGetExtensionsStringARB(wglGetCurrentDC))
- else
- FBuffer := '';
- W_ARB_buffer_region := CheckExtension('WGL_ARB_buffer_region');
- W_ARB_create_context := CheckExtension('WGL_ARB_create_context');
- W_ARB_create_context_profile :=
- CheckExtension('WGL_ARB_create_context_profile');
- W_ARB_extensions_string := CheckExtension('WGL_ARB_extensions_string');
- W_ARB_framebuffer_sRGB := CheckExtension('WGL_ARB_framebuffer_sRGB');
- W_ARB_make_current_read := CheckExtension('WGL_ARB_make_current_read');
- W_ARB_multisample := CheckExtension('WGL_ARB_multisample');
- W_ARB_pbuffer := CheckExtension('WGL_ARB_pbuffer');
- W_ARB_pixel_format := CheckExtension('WGL_ARB_pixel_format');
- W_ARB_pixel_format_float := CheckExtension('WGL_ARB_pixel_format_float');
- W_ARB_render_texture := CheckExtension('WGL_ARB_render_texture');
- // Vendor/EXT wgl extensions
- W_ATI_pixel_format_float := CheckExtension('WGL_ATI_pixel_format_float');
- W_EXT_framebuffer_sRGB := CheckExtension('WGL_EXT_framebuffer_sRGB');
- W_EXT_pixel_format_packed_float :=
- CheckExtension('WGL_EXT_pixel_format_packed_float');
- W_EXT_swap_control := CheckExtension('WGL_EXT_swap_control');
- W_NV_gpu_affinity := CheckExtension('WGL_NV_gpu_affinity');
- W_NV_DX_interop := CheckExtension('WGL_NV_DX_interop');
- W_NV_DX_interop2 := CheckExtension('WGL_NV_DX_interop2');
- W_EXT_create_context_es2_profile :=
- CheckExtension('WGL_EXT_create_context_es2_profile');
- end;
- procedure TGLExtensionsAndEntryPoints.ReadWGLExtensions;
- begin
- // ARB wgl extensions
- // ###########################################################
- // locating functions and procedures for
- // ARB approved WGL extensions
- // ###########################################################
- // WGL_buffer_region (ARB #4)
- WCreateBufferRegionARB := GetProcAddressGLS('wglCreateBufferRegionARB');
- WDeleteBufferRegionARB := GetProcAddressGLS('wglDeleteBufferRegionARB');
- WSaveBufferRegionARB := GetProcAddressGLS('wglSaveBufferRegionARB');
- WRestoreBufferRegionARB := GetProcAddressGLS('wglRestoreBufferRegionARB');
- // WGL_ARB_extensions_string (ARB #8)
- WGetExtensionsStringARB := GetProcAddressGLS('wglGetExtensionsStringARB');
- // WGL_ARB_pixel_format (ARB #9)
- WGetPixelFormatAttribivARB :=
- GetProcAddressGLS('wglGetPixelFormatAttribivARB');
- WGetPixelFormatAttribfvARB :=
- GetProcAddressGLS('wglGetPixelFormatAttribfvARB');
- WChoosePixelFormatARB := GetProcAddressGLS('wglChoosePixelFormatARB');
- // WGL_make_current_read (ARB #10)
- WMakeContextCurrentARB := GetProcAddressGLS('wglMakeContextCurrentARB');
- WGetCurrentReadDCARB := GetProcAddressGLS('wglGetCurrentReadDCARB');
- // WGL_ARB_pbuffer (ARB #11)
- WCreatePbufferARB := GetProcAddressGLS('wglCreatePbufferARB');
- WGetPbufferDCARB := GetProcAddressGLS('wglGetPbufferDCARB');
- WReleasePbufferDCARB := GetProcAddressGLS('wglReleasePbufferDCARB');
- WDestroyPbufferARB := GetProcAddressGLS('wglDestroyPbufferARB');
- WQueryPbufferARB := GetProcAddressGLS('wglQueryPbufferARB');
- // WGL_ARB_render_texture (ARB #20)
- WBindTexImageARB := GetProcAddressGLS('wglBindTexImageARB');
- WReleaseTexImageARB := GetProcAddressGLS('wglReleaseTexImageARB');
- WSetPbufferAttribARB := GetProcAddressGLS('wglSetPbufferAttribARB');
- // WGL_ARB_create_context (ARB #55)
- WCreateContextAttribsARB := GetProcAddressGLS('wglCreateContextAttribsARB');
- // ###########################################################
- // locating functions and procedures for
- // Vendor/EXT WGL extensions
- // ###########################################################
- // WGL_EXT_swap_control (EXT #172)
- WSwapIntervalEXT := GetProcAddressGLS('wglSwapIntervalEXT');
- WGetSwapIntervalEXT := GetProcAddressGLS('wglGetSwapIntervalEXT');
- // GL_NV_vertex_array_range (EXT #190)
- WAllocateMemoryNV := GetProcAddressGLS('wglAllocateMemoryNV');
- WFreeMemoryNV := GetProcAddressGLS('wglFreeMemoryNV');
- // WGL_NV_gpu_affinity
- WEnumGpusNV := GetProcAddressGLS('wglEnumGpusNV');
- WEnumGpuDevicesNV := GetProcAddressGLS('wglEnumGpuDevicesNV');
- WCreateAffinityDCNV := GetProcAddressGLS('wglCreateAffinityDCNV');
- WEnumGpusFromAffinityDCNV := GetProcAddressGLS('wglEnumGpusFromAffinityDCNV');
- WDeleteDCNV := GetProcAddressGLS('wglDeleteDCNV');
- // WGL_NV_DX_interop
- WDXSetResourceShareHandleNV :=
- GetProcAddressGLS('wglDXSetResourceShareHandleNV');
- WDXOpenDeviceNV := GetProcAddressGLS('wglDXOpenDeviceNV');
- WDXCloseDeviceNV := GetProcAddressGLS('wglDXCloseDeviceNV');
- WDXRegisterObjectNV := GetProcAddressGLS('wglDXRegisterObjectNV');
- WDXUnregisterObjectNV := GetProcAddressGLS('wglDXUnregisterObjectNV');
- WDXObjectAccessNV := GetProcAddressGLS('wglDXObjectAccessNV');
- WDXLockObjectsNV := GetProcAddressGLS('wglDXLockObjectsNV');
- WDXUnlockObjectsNV := GetProcAddressGLS('wglDXUnlockObjectsNV');
- end;
- {$ENDIF}
- procedure TrimAndSplitVersionString(buffer: string; var max, min: integer);
- // Peels out the X.Y form from the given Buffer which must contain a version string like "text Minor.Major.Build text"
- // at least however "Major.Minor".
- var
- Separator: integer;
- begin
- try
- // There must be at least one dot to separate major and minor version number.
- Separator := Pos('.', buffer);
- // At least one number must be before and one after the dot.
- if (Separator > 1) and (Separator < length(buffer)) and
- (AnsiChar(buffer[Separator - 1]) in ['0' .. '9']) and
- (AnsiChar(buffer[Separator + 1]) in ['0' .. '9']) then
- begin
- // OK, it's a valid version string. Now remove unnecessary parts.
- Dec(Separator);
- // Find last non-numeric character before version number.
- while (Separator > 0) and (AnsiChar(buffer[Separator]) in ['0' .. '9']) do
- Dec(Separator);
- // Delete leading characters which do not belong to the version string.
- Delete(buffer, 1, Separator);
- Separator := Pos('.', buffer) + 1;
- // Find first non-numeric character after version number
- while (Separator <= length(buffer)) and
- (AnsiChar(buffer[Separator]) in ['0' .. '9']) do
- Inc(Separator);
- // delete trailing characters not belonging to the version string
- Delete(buffer, Separator, 255);
- // Now translate the numbers.
- Separator := Pos('.', buffer);
- // This is necessary because the buffer length might have changed.
- max := StrToInt(Copy(buffer, 1, Separator - 1));
- min := StrToInt(Copy(buffer, Separator + 1, 255));
- end
- else
- Abort;
- except
- min := 0;
- max := 0;
- end;
- end;
- function IsVersionMet(MajorVersion, MinorVersion, actualMajorVersion,
- actualMinorVersion: integer): boolean;
- begin
- Result := (actualMajorVersion > MajorVersion) or
- ((actualMajorVersion = MajorVersion) and
- (actualMinorVersion >= MinorVersion));
- end;
- function InitOpenGL: boolean;
- begin
- if (GLHandle = INVALID_MODULEHANDLE) or (GLUHandle = INVALID_MODULEHANDLE)
- then
- Result := InitOpenGLFromLibrary(opengl32, glu32)
- else
- Result := True;
- end;
- function InitOpenGLFromLibrary(const GLName, GLUName: string): boolean;
- begin
- Result := False;
- CloseOpenGL;
- GLHandle := LoadLibrary(pchar(GLName));
- GLUHandle := LoadLibrary(pchar(GLUName));
- if (GLHandle <> INVALID_MODULEHANDLE) and (GLUHandle <> INVALID_MODULEHANDLE)
- then
- begin
- Result := True;
- end
- else
- CloseOpenGL;
- end;
- function IsOpenGLInitialized: boolean;
- begin
- Result := (GLHandle <> INVALID_MODULEHANDLE);
- end;
- procedure CloseOpenGL;
- begin
- if GLHandle <> INVALID_MODULEHANDLE then
- begin
- FreeLibrary(GLHandle);
- GLHandle := INVALID_MODULEHANDLE;
- end;
- if GLUHandle <> INVALID_MODULEHANDLE then
- begin
- FreeLibrary(GLUHandle);
- GLUHandle := INVALID_MODULEHANDLE;
- end;
- end;
- procedure UnloadOpenGL;
- begin
- CloseOpenGL;
- end;
- function LoadOpenGL: boolean;
- begin
- Result := InitOpenGL;
- end;
- function LoadOpenGLFromLibrary(GLName, GLUName: string): boolean;
- begin
- Result := InitOpenGLFromLibrary(GLName, GLUName);
- end;
- function IsOpenGLLoaded: boolean;
- begin
- Result := IsOpenGLInitialized();
- end;
- function IsMesaGL: boolean;
- begin
- Result := GetProcAddressGLS('glResizeBuffersMESA') <> nil;
- end;
- initialization //-------------------------------------------------------------
- {$IFNDEF CROSSVCL}
- Set8087CW($133F);
- {$ENDIF}
- finalization //---------------------------------------------------------------
- CloseOpenGL;
- end.
|